Skip to content
Nana UI

Menu

View .md Download

A menu / navigation list. Lays out nana-menu-item (and nana-menu-label) children, manages roving-tabindex keyboard navigation, and bubbles nana-select when an item is chosen.

Actions Edit Delete
Terminal window
npm install @nana-tec/ui-components
import "@nana-tec/ui-components/menu";
<nana-menu style="max-width:220px">
<nana-menu-label>Actions</nana-menu-label>
<nana-menu-item>Edit</nana-menu-item>
<nana-menu-item>Delete</nana-menu-item>
</nana-menu>

Menu items support shortcut, active, selected, destructive, submenu, and prefix icons.

Actions Copy Paste Share Delete
Home Docs Pricing

Properties

PropertyAttributeTypeDefaultDescription
borderedbooleanfalsePanel look — border + shadow (e.g. inside a dropdown)
orientationMenuOrientation'vertical'Layout direction
variantMenuVariant | undefinedPanel flavour — sets the frosted-glass popover look

Events

EventDescription
nana-selectBubbled from a chosen item (`detail.value`)

Slots

SlotDescription
(default)`nana-menu-item` / `nana-menu-label` children

CSS parts

PartDescription
::part(menu)The list container

CSS custom properties

PropertyDescription
--nana-menu-bgBackground
--nana-menu-paddingInner padding
EventTypeDescription
nana-selectCustomEventBubbled from a chosen item (detail.value)
SlotDescription
(default)nana-menu-item / nana-menu-label children
VariableDefaultDescription
--nana-menu-bgBackground
--nana-menu-paddingInner padding
PartDescription
menuThe list container
  • Keyboard accessible
  • Screen-reader labels
  • Focus-visible states
  • ARIA roles and states
  • WCAG 2.2 AA contrast
Explore Menu interactively Every state, prop, and edge case — with live controls — in Storybook.
View in Storybook