{"version":3,"file":"Filler.cjs","sources":["../../../../../../packages/vue-components/vc-virtual-list/src/Filler.tsx"],"sourcesContent":["import type { CSSProperties, FunctionalComponent, PropType } from 'vue';\nimport { classNames } from '@antdv/utils';\nimport ResizeObserver from '../../vc-resize-observer/src/index';\n\ninterface FillerProps {\n  prefixCls?: string;\n  /** Virtual filler height. Should be `count * itemMinHeight` */\n  height: number;\n  /** Set offset of visible items. Should be the top of start item position */\n  offset?: number;\n  onInnerResize?: () => void;\n}\n\nconst Filter: FunctionalComponent<FillerProps> = (\n  { height, offset, prefixCls, onInnerResize },\n  { slots },\n) => {\n  let outerStyle = {};\n\n  let innerStyle: CSSProperties = {\n    display: 'flex',\n    flexDirection: 'column',\n  };\n\n  if (offset !== undefined) {\n    outerStyle = { height: `${height}px`, position: 'relative', overflow: 'hidden' };\n\n    innerStyle = {\n      ...innerStyle,\n      transform: `translateY(${offset}px)`,\n      position: 'absolute',\n      left: 0,\n      right: 0,\n      top: 0,\n    };\n  }\n\n  return (\n    <div style={outerStyle}>\n      <ResizeObserver\n        onResize={({ offsetHeight }) => {\n          if (offsetHeight && onInnerResize)\n            onInnerResize();\n        }}\n      >\n        <div\n          style={innerStyle}\n          class={classNames({\n            [`${prefixCls}-holder-inner`]: prefixCls,\n          })}\n        >\n          {slots.default?.()}\n        </div>\n      </ResizeObserver>\n    </div>\n  );\n};\n\nFilter.displayName = 'Filter';\nFilter.inheritAttrs = false;\nFilter.props = {\n  prefixCls: String,\n  /** Virtual filler height. Should be `count * itemMinHeight` */\n  height: Number,\n  /** Set offset of visible items. Should be the top of start item position */\n  offset: Number,\n  onInnerResize: Function as PropType<() => void>,\n};\n\nexport default Filter;\n"],"names":["Filter","height","offset","prefixCls","onInnerResize","slots","outerStyle","innerStyle","display","flexDirection","undefined","position","overflow","transform","left","right","top","_createVNode","ResizeObserver","onResize","offsetHeight","default","classNames","displayName","inheritAttrs","props","String","Number","Function"],"mappings":";;;;;;;;;AAaA,MAAMA,SAA2CA,CAC/C;AAAA,EAAEC,MAAAA;AAAAA,EAAQC,MAAAA;AAAAA,EAAQC,SAAAA;AAAAA,EAAWC,aAAAA;AAAc,CAC3C,EAAA;AAAA,EAAEC,KAAAA;AAAM,CACL,KAAA;AACH,EAAA,IAAIC,aAAa,EAAC,CAAA;AAElB,EAAA,IAAIC,UAA4B,GAAA;AAAA,IAC9BC,OAAS,EAAA,MAAA;AAAA,IACTC,aAAe,EAAA,QAAA;AAAA,GACjB,CAAA;AAEA,EAAA,IAAIP,WAAWQ,KAAW,CAAA,EAAA;AACxBJ,IAAa,UAAA,GAAA;AAAA,MAAEL,MAAAA,EAAS,GAAEA,MAAO,CAAA,EAAA,CAAA;AAAA,MAAKU,QAAU,EAAA,UAAA;AAAA,MAAYC,QAAU,EAAA,QAAA;AAAA,KAAS,CAAA;AAE/EL,IAAa,UAAA,GAAA;AAAA,MACX,GAAGA,UAAAA;AAAAA,MACHM,SAAAA,EAAY,cAAaX,MAAO,CAAA,GAAA,CAAA;AAAA,MAChCS,QAAU,EAAA,UAAA;AAAA,MACVG,IAAM,EAAA,CAAA;AAAA,MACNC,KAAO,EAAA,CAAA;AAAA,MACPC,GAAK,EAAA,CAAA;AAAA,KACP,CAAA;AAAA,GACF;AAEA,EAAA,OAAAC,gBAAA,KAAA,EAAA;AAAA,IAAA,OACcX,EAAAA,UAAAA;AAAAA,GAAU,EAAAW,CAAAA,eAAAA,CAAAC,aAAA,EAAA;AAAA,IAAA,YAERC,CAAC;AAAA,MAAEC,YAAAA;AAAAA,KAAmB,KAAA;AAC9B,MAAA,IAAIA,YAAgBhB,IAAAA,aAAAA;AAClBA,QAAc,aAAA,EAAA,CAAA;AAAA,KAClB;AAAA,GAAC,EAAA;AAAA,IAAAiB,SAAAA,MAAA;;AAAA,MAAA,OAAA,CAAAJ,gBAAA,KAAA,EAAA;AAAA,QAAA,OAGQV,EAAAA,UAAAA;AAAAA,QAAU,SACVe,iBAAW,CAAA;AAAA,UAChB,CAAE,CAAA,EAAEnB,SAAU,CAAA,aAAA,CAAc,GAAGA,SAAAA;AAAAA,SAChC,CAAA;AAAA,SAAC,CAEDE,CAAAA,EAAAA,GAAAA,KAAAA,CAAMgB,OAANhB,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAK5B,EAAA;AAEAL,MAAAA,CAAOuB,WAAc,GAAA,QAAA,CAAA;AACrBvB,MAAAA,CAAOwB,YAAe,GAAA,KAAA,CAAA;AACtBxB,MAAAA,CAAOyB,KAAQ,GAAA;AAAA,EACbtB,SAAWuB,EAAAA,MAAAA;AAAAA;AAAAA,EAEXzB,MAAQ0B,EAAAA,MAAAA;AAAAA;AAAAA,EAERzB,MAAQyB,EAAAA,MAAAA;AAAAA,EACRvB,aAAewB,EAAAA,QAAAA;AACjB,CAAA;;;;"}