Filler.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  10. var _vcResizeObserver = _interopRequireDefault(require("../vc-resize-observer"));
  11. const Filter = (_ref, _ref2) => {
  12. let {
  13. height,
  14. offset,
  15. prefixCls,
  16. onInnerResize
  17. } = _ref;
  18. let {
  19. slots
  20. } = _ref2;
  21. var _a;
  22. let outerStyle = {};
  23. let innerStyle = {
  24. display: 'flex',
  25. flexDirection: 'column'
  26. };
  27. if (offset !== undefined) {
  28. outerStyle = {
  29. height: `${height}px`,
  30. position: 'relative',
  31. overflow: 'hidden'
  32. };
  33. innerStyle = (0, _extends2.default)((0, _extends2.default)({}, innerStyle), {
  34. transform: `translateY(${offset}px)`,
  35. position: 'absolute',
  36. left: 0,
  37. right: 0,
  38. top: 0
  39. });
  40. }
  41. return (0, _vue.createVNode)("div", {
  42. "style": outerStyle
  43. }, [(0, _vue.createVNode)(_vcResizeObserver.default, {
  44. "onResize": _ref3 => {
  45. let {
  46. offsetHeight
  47. } = _ref3;
  48. if (offsetHeight && onInnerResize) {
  49. onInnerResize();
  50. }
  51. }
  52. }, {
  53. default: () => [(0, _vue.createVNode)("div", {
  54. "style": innerStyle,
  55. "class": (0, _classNames.default)({
  56. [`${prefixCls}-holder-inner`]: prefixCls
  57. })
  58. }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)])]
  59. })]);
  60. };
  61. Filter.displayName = 'Filter';
  62. Filter.inheritAttrs = false;
  63. Filter.props = {
  64. prefixCls: String,
  65. /** Virtual filler height. Should be `count * itemMinHeight` */
  66. height: Number,
  67. /** Set offset of visible items. Should be the top of start item position */
  68. offset: Number,
  69. onInnerResize: Function
  70. };
  71. var _default = exports.default = Filter;