Dropdown

react-fancy
Registry JSON
Why
Native <select> is unstyleable; popover-based dropdowns are a portal + focus-trap + click-outside puzzle that every team solves slightly wrong. You almost always end up rewriting it the third time you need a slightly fancier menu (icons, badges, dividers, submenus).
What
Composable menu surface with Dropdown.Trigger + Dropdown.Menu + Dropdown.Item. Handles portal mounting, click-outside, escape, focus return, and roving tabindex. Items take icons, badges, and disabled states; agents can bind to item handlers via stable id props.
How
Drop a <Dropdown> wrapper, mark the open affordance with Dropdown.Trigger, and list Dropdown.Item children with onSelect handlers. For multi-select or persistent menus, use the controlled open + onOpenChange form.