Filler.js 2.2 KB

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