import React from 'react' import * as RadixMenu from '@radix-ui/react-dropdown-menu' import Block from '../Primitives/Block/Block' import PrimitiveText from '../Primitives/PrimitiveText/PrimitiveText' import type { MultiSelectV2TokensType } from './multiSelectV2.tokens' import { MultiSelectV2Size, MultiSelectV2Variant, type MultiSelectV2GroupType, type MultiSelectV2ItemType, } from './multiSelectV2.types' import MultiSelectV2MenuItem from './MultiSelectV2MenuItem' export type MultiSelectV2MenuItemsProps = { filteredItems: MultiSelectV2GroupType[] allItemsFlat: MultiSelectV2ItemType[] selected: string[] onSelect: (value: string) => void maxSelections?: number tokens: MultiSelectV2TokensType size: MultiSelectV2Size variant: MultiSelectV2Variant focusIdentityEnabled?: boolean } const MultiSelectV2MenuItems = ({ filteredItems, allItemsFlat, selected, onSelect, maxSelections, tokens, size, variant, focusIdentityEnabled, }: MultiSelectV2MenuItemsProps) => ( {filteredItems.map((group, groupId) => { const groupStartIndex = filteredItems .slice(0, groupId) .reduce((acc, g) => acc + g.items.length, 0) return ( {group.groupLabel && ( {group.groupLabel} )} {group.items.map((item, itemIndex) => ( ))} {groupId !== filteredItems.length - 1 && group.showSeparator && ( )} ) })} ) MultiSelectV2MenuItems.displayName = 'MultiSelectV2MenuItems' export default MultiSelectV2MenuItems