{"version":3,"file":"Item.cjs","sources":["../../../../../../packages/vue-components/vc-virtual-list/src/Item.tsx"],"sourcesContent":["import type { FunctionalComponent, PropType } from 'vue';\nimport { flattenChildren } from '@antdv/utils';\nimport { cloneVNode } from 'vue';\n\nexport interface ItemProps {\n  setRef: (element: HTMLElement) => void;\n}\n\nconst Item: FunctionalComponent<ItemProps> = ({ setRef }, { slots }) => {\n  const children = flattenChildren(slots.default?.());\n\n  return children && children.length\n    ? cloneVNode(children[0], {\n        ref: setRef as any,\n      })\n    : children;\n};\nItem.props = {\n  setRef: {\n    type: Function as PropType<(element: HTMLElement) => void>,\n    default: () => {},\n  },\n};\n\nexport default Item;\n"],"names":["Item","setRef","slots","children","flattenChildren","default","length","cloneVNode","ref","props","type","Function"],"mappings":";;;;;;;;AAQA,MAAMA,OAAuCA,CAAC;AAAA,EAAEC,MAAAA;AAAO,CAAG,EAAA;AAAA,EAAEC,KAAAA;AAAM,CAAM,KAAA;AAPxE,EAAA,IAAA,EAAA,CAAA;AAQE,EAAA,MAAMC,QAAWC,GAAAA,qBAAAA,CAAAA,CAAgBF,EAAMG,GAAAA,KAAAA,CAAAA,OAAAA,KAANH,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAElD,EAAA,OAAOC,YAAYA,QAASG,CAAAA,MAAAA,GACxBC,cAAWJ,CAAAA,QAAAA,CAAS,CAAC,CAAG,EAAA;AAAA,IACtBK,GAAKP,EAAAA,MAAAA;AAAAA,GACN,CACDE,GAAAA,QAAAA,CAAAA;AACN,EAAA;AACAH,IAAAA,CAAKS,KAAQ,GAAA;AAAA,EACXR,MAAQ,EAAA;AAAA,IACNS,IAAMC,EAAAA,QAAAA;AAAAA,IACNN,SAASA,MAAM;AAAA,KAAC;AAAA,GAClB;AACF,CAAA;;;;"}