Menu
A dropdown menu component built on Base UI Menu primitive with support for items, groups, radio groups, checkboxes, and nested submenus.Compound Components
Menu.Root
The root container that manages menu state.Controlled open state. When provided, the menu becomes controlled.
Uncontrolled default open state.
Callback fired when the open state changes.
Menu.Trigger
The trigger element that opens the menu.Additional CSS classes to apply.
Merge props onto the child element instead of rendering a button.
Menu.Portal
Portals the menu content to the end of the document body.Whether to keep the menu mounted in the DOM when closed.
The container element to portal into. Defaults to
document.body.Menu.Positioner
Positions the menu relative to the trigger.The side of the trigger to position the menu.
The alignment of the menu relative to the trigger.
The distance in pixels from the trigger.
The offset in pixels along the alignment axis.
collisionPadding
number | { top?: number; right?: number; bottom?: number; left?: number }
default:"8"
The padding in pixels from the viewport edges.
Whether the menu should stick to the trigger on scroll.
Menu.Popup
The menu popup container with list styles.Additional CSS classes to apply. Default: Surface overlay background with shadow.
- Min-width: 220px
- Max-height: 320px (LIST_MAX_HEIGHT)
- Vertical scrolling when content overflows
Menu.Arrow
Optional arrow pointing to the trigger.Additional CSS classes to apply. Default:
"fill-surface-overlay"MenuItem
A clickable menu item.Callback fired when the item is selected.
Whether the item is disabled.
Whether to close the menu when this item is selected.
Additional CSS classes to apply.
MenuPrefix
Leading content for a menu item (icon, avatar, etc.).Additional CSS classes to apply.
MenuSuffix
Trailing content for a menu item (shortcut, badge, chevron, etc.).Additional CSS classes to apply.
MenuSeparator
Visual separator between menu sections.Additional CSS classes to apply.
MenuGroup
Groups related menu items.Additional CSS classes to apply.
MenuGroupLabel
Label for a menu group.Additional CSS classes to apply. Default: Small subtle text with padding.
MenuEmpty
Empty state message when menu has no items.Additional CSS classes to apply.
Menu.RadioGroup
Groups radio items with single selection.The currently selected value.
Callback fired when the selection changes.
Menu.RadioItem
A radio menu item with indicator.The value of this radio item.
Whether the item is disabled.
Additional CSS classes to apply.
Menu.CheckboxItem
A checkbox menu item with indicator.The checked state.
Callback fired when the checked state changes.
Whether the item is disabled.
Additional CSS classes to apply.
Menu.SubmenuRoot
Root container for a submenu.Controlled open state.
Uncontrolled default open state.
Callback fired when the submenu open state changes.
Menu.SubmenuTrigger
Trigger for opening a submenu.Additional CSS classes to apply.