Installation
Usage
Component API
DropdownMenu
The root dropdown menu component built on Radix UI. Props:open- Control menu open stateonOpenChange- Callback when open state changesdefaultOpen- Initial open statemodal- Whether menu is modal (default:true)
DropdownMenuTrigger
The element that opens the dropdown menu. Props:asChild- Compose with child element
DropdownMenuContent
The menu content container. Props:side- Placement side (default:"bottom")align- Alignment (default:"start")sideOffset- Offset from trigger (default:4)
DropdownMenuItem
An individual menu item. Props:inset- Add left padding (for alignment with checkboxes)variant-"default"or"destructive"disabled- Disable the itemonSelect- Callback when selected
DropdownMenuCheckboxItem
A checkbox menu item. Props:checked- Checked state (boolean or"indeterminate")onCheckedChange- Callback when checked state changes
DropdownMenuRadioGroup
Groups radio items together. Props:value- Selected valueonValueChange- Callback when value changes
DropdownMenuRadioItem
A radio menu item. Props:value- Item value
DropdownMenuSub
Nests a submenu inside a menu item.DropdownMenuSubTrigger
Triggers a submenu. Props:inset- Add left padding
DropdownMenuLabel
A non-interactive label. Props:inset- Add left padding
DropdownMenuSeparator
Visual separator between items.DropdownMenuShortcut
Displays keyboard shortcuts.Examples
Basic
A simple dropdown menu with labels and separators:Submenu
Nest secondary actions in a submenu:Shortcuts
Add keyboard shortcuts to menu items:With Icons
Combine icons with labels:Checkboxes
Use checkbox items for toggles:Radio Group
Use radio items for exclusive choices:Destructive
Usevariant="destructive" for irreversible actions:
Avatar Trigger
Trigger dropdown from an avatar:Accessibility
- Built on Radix UI for full accessibility
- Keyboard navigation with arrow keys
- Focus management
- Screen reader compatible
- ARIA labels and roles
- Type-ahead search