import { forwardRef } from "react"; /** * Menu * * size: "sm" | (default) * search: boolean - renders a search input above the item list * searchProps: object - forwarded to the search (value, onChange, placeholder, etc.) * items: MenuItem[] * * MenuItem shape: * label: string | ReactNode * type: "button" | "checkbox" (default: "button") * icon: ReactNode - leading icon; add aria-hidden="true" if decorative * selected: boolean - shows check icon (button) or checked state (checkbox) * disabled: boolean * onClick: function - button items * onChange: function - checkbox items * itemProps: object - forwarded to the ); } function CheckboxItem({ item }) { const { label, selected, disabled, onChange, itemProps = {} } = item; return ( ); } // Internal check icon - always decorative (aria-label is on the wrapper span) const CheckIcon = () => ( );