DropdownMenu
Menu primitives for contextual actions.
Quick Preview
Composition
Use this public composition when building DropdownMenu:
DropdownMenu
├── DropdownMenuTrigger
└── DropdownMenuContent
├── DropdownMenuLabel
├── DropdownMenuItem
└── DropdownMenuSeparatorUsage
<DropdownMenu>
<DropdownMenuTrigger render={<Button />}>Actions</DropdownMenuTrigger>
<DropdownMenuContent><DropdownMenuItem>Rename</DropdownMenuItem></DropdownMenuContent>
</DropdownMenu>Examples
Sizes and Destructive Items
Use menu size for density and item variant="destructive" for dangerous actions.
Props
| Prop/API | Type | Default | Description |
|---|---|---|---|
size | `"sm" | "md" | "lg"` |
variant on item | `"default" | "destructive"` | "default" |
className | string | - | Local layout or spacing overrides. |
| native/root props | React component props | - | Passed through to the underlying root or primitive. |
Accessibility
- Preserve the documented DropdownMenu composition so labels, triggers, content, and controls remain connected.
- Provide visible labels or accessible names for interactive controls.
- Preserve the component-provided focus, keyboard, disabled, and invalid-state behavior.
- Do not communicate state with color alone; include text, icons, or helper copy.