import type { ReactNode } from 'react'
import * as RadixMenu from '@radix-ui/react-dropdown-menu'
import { ChevronRight } from 'lucide-react'
import Block from '../Primitives/Block/Block'
import PrimitiveText from '../Primitives/PrimitiveText/PrimitiveText'
import { useResponsiveTokens } from '../../hooks/useResponsiveTokens'
import type { MultiSelectV2TokensType } from './multiSelectV2.tokens'
import type { MultiSelectV2ItemType } from './multiSelectV2.types'
// eslint-disable-next-line import-x/no-cycle -- intentional recursion: SubMenu renders MenuItem which renders SubMenu
import MultiSelectV2MenuItem from './MultiSelectV2MenuItem'
const MenuItemSlot = ({ slot }: { slot: ReactNode }) => (
{slot}
)
type MultiSelectV2SubMenuProps = {
item: MultiSelectV2ItemType
onSelect: (value: string) => void
selected: string[]
maxSelections?: number
focusIdentityEnabled?: boolean
}
const MultiSelectV2SubMenu = ({
item,
onSelect,
selected,
maxSelections,
focusIdentityEnabled,
}: MultiSelectV2SubMenuProps) => {
const multiSelectTokens =
useResponsiveTokens('MULTI_SELECT_V2')
return (
{item.slot1 && }
{item.label}
{item.slot2 && }
{item.slot3 && }
{item.slot4 && }
{item.subMenu?.map((subItem, subIdx) => (
))}
)
}
export default MultiSelectV2SubMenu