import { cloneElement, isValidElement } from 'react' import * as DropdownMenu from '@radix-ui/react-dropdown-menu' import clsx from 'clsx' export default function Dropdown({ trigger, items = [], align = 'end', contentClassName, disabled = false, }) { const triggerNode = isValidElement(trigger) && disabled ? cloneElement(trigger, { disabled: true, 'aria-disabled': true, }) : trigger return ( {triggerNode} {items.map((item) => { if (item.type === 'separator') { return } const Icon = item.icon return ( {Icon ? : null} {item.label} ) })} ) }