{"version":3,"file":"MenuVirtualList.mjs","names":[],"sources":["../../../src/base-ui/virtual/MenuVirtualList.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode } from 'react';\n\nimport type { VirtualListProps } from './type';\nimport { useMenuVirtualList } from './useMenuVirtualList';\nimport { VirtualScrollArea, type VirtualScrollAreaProps } from './VirtualScrollArea';\n\nexport interface MenuVirtualListProps\n  extends\n    Omit<VirtualScrollAreaProps, 'viewport' | 'viewportProps' | 'virtualizerRef'>,\n    Pick<VirtualListProps, 'getItemLabel' | 'keepMounted'> {\n  children: ReactNode;\n}\n\nexport const MenuVirtualList = ({\n  children,\n  getItemLabel,\n  keepMounted,\n  ...rest\n}: MenuVirtualListProps) => {\n  const { keepMountedIndices, viewportProps, viewportRef, virtualChildren, virtualizerRef } =\n    useMenuVirtualList({ children, enabled: true, getItemLabel, keepMounted });\n\n  return (\n    <VirtualScrollArea\n      {...rest}\n      keepMounted={keepMountedIndices}\n      viewportProps={{ ref: viewportRef, ...viewportProps }}\n      virtualizerRef={virtualizerRef}\n    >\n      {virtualChildren}\n    </VirtualScrollArea>\n  );\n};\n\nMenuVirtualList.displayName = 'MenuVirtualList';\n"],"mappings":";;;;;AAeA,MAAa,mBAAmB,EAC9B,UACA,cACA,aACA,GAAG,WACuB;CAC1B,MAAM,EAAE,oBAAoB,eAAe,aAAa,iBAAiB,mBACvE,mBAAmB;EAAE;EAAU,SAAS;EAAM;EAAc;CAAY,CAAC;CAE3E,OACE,oBAAC,mBAAD;EACE,GAAI;EACJ,aAAa;EACb,eAAe;GAAE,KAAK;GAAa,GAAG;EAAc;EACpC;EAEf,UAAA;CACgB,CAAA;AAEvB;AAEA,gBAAgB,cAAc"}