Skip to content
Zuno UI
Explore components
EXPLORE
Actions
Forms
Layout
Navigation
Data display
Feedback
Overlays
RESOURCES
Components/DropdownMenu

DropdownMenu

An action menu anchored to a trigger; keyboard navigable and rendered in a portal.

Base UI reference ↗

Installation

Run it from the root of a project already set up with zunoui init.

npx zunoui@latest add dropdown-menu

Dependencies

What add dropdown-menu installs alongside the component. The CLI skips any you already have in a compatible version.

ZUNO registry

  • @zuno/utils

npm

Examples

2 examples · 1 component
dropdown-menu

Action menu

Label, actions and a separator; keyboard navigable.

dropdown-menu
Redesign 2026
Mobile app

In a table row

Required composition: the row menu opens in the correct theme over the table.

API reference

Keeps the props, events and refs of the matching Base UI primitive, plus ZUNO's styles.

PropTypeDefault
DropdownMenu

Root; accepts open, defaultOpen and onOpenChange.

——
DropdownMenuTrigger

Opens the menu; use render to reuse a Button.

button—
DropdownMenuContent

Portaled popup; side, align and sideOffset adjust its position.

div—
DropdownMenuItem

An action; accepts onClick and disabled.

div—
DropdownMenuLabel

Heading for a group.

div—
DropdownMenuSeparator

Divides groups of actions.

div—

States

The states that apply to this component and their visual treatment.

StateTreatment
ClosedOnly the trigger is visible.
OpenPortaled popup in the active theme; focus on the first item.
Highlighted itemArrow keys and the pointer highlight the active item.
Disabled itemdisabled skips the item in the focus order.
On closeEscape closes it and returns focus to the trigger.

Accessibility

Opens with Enter, Space or an arrow key; arrow keys move focus between items and Escape closes it, returning focus to the trigger.

The popup uses theme tokens, so it keeps Light/Dark even when opened over a table row or another surface. Give an icon-only trigger an aria-label.