Skip to content
RefineUI

Menu

Action menu dropdown with list items.

Overview

Machine-readable contract from Component Spec.

component: menuexport: Menuversion: 1attributes: data-refineui=menu

Anatomy

Partdata-refineui
rootmenu-root
dividermenu-divider
itemmenu-item
popovermenu-popover
sectionmenu-section

States

ScopeCategoryValues
componentpseudofocus-visible
componentcomponentdata-state: open, closed, default, hover, pressed, active, disabled
componentenvironmentforced-colors, dir

Accessibility

SlotElementRole
menudivmenu
menu-itemdivmenuitem

Keyboard

KeyActionNative
Escapeclose
Enteractivatetrue
Spaceactivatetrue

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import { Menu, MenuPopover, MenuList, MenuItem, MenuDivider, MenuSection } from "@refineui/react";
<Menu>
<MenuPopover>
<MenuList>
<MenuItem onSelect={() => handleNew()}>
New File
</MenuItem>
<MenuItem onSelect={() => handleOpen()}>
Open
</MenuItem>
<MenuDivider />
<MenuItem state="disabled">
Save (disabled)
</MenuItem>
</MenuList>
</MenuPopover>
</Menu>
<Menu>
<MenuPopover>
<MenuList>
<MenuSection>
<MenuItem
startIcon={<Icon />}
endIcon={<Badge />}
description="Description text"
shortcut="⌘N"
>
Menu Item
</MenuItem>
<MenuSubTrigger>Submenu</MenuSubTrigger>
<MenuSubContent>
<MenuItem>Submenu Item</MenuItem>
</MenuSubContent>
</MenuSection>
</MenuList>
</MenuPopover>
</Menu>
PropDefaultTypeDescription
positioningMenuPositioningPositioning configuration.

Popover container for the menu.

List container for menu items.

PropDefaultTypeDescription
descriptionReactNodeSecondary description text.
shortcutReactNodeKeyboard shortcut hint.
startIconReactNodeLeading icon.
endIconReactNodeTrailing icon.
state"default""default" | "hover" | "pressed" | "active" | "disabled"Visual state.

Groups related menu items.

Visual separator between items.

Submenu trigger item (shows chevron).

PropDefaultTypeDescription
descriptionReactNodeSecondary description text.
startIconReactNodeLeading icon.
state"default""default" | "hover" | "pressed" | "active" | "disabled"Visual state.

Submenu panel.