Skip to content
RefineUI

Navigation Menu

Top-level responsive header navigation menu.

Overview

Machine-readable contract from Component Spec.

component: navigation-menuexport: NavigationMenuversion: 1attributes: data-refineui=navigation-menu

Anatomy

Partdata-refineui
rootnavigation-menu
contentnavigation-menu-content
content_panelnavigation-menu-content-panel
indicatornavigation-menu-indicator
itemnavigation-menu-item
linknavigation-menu-link
listnavigation-menu-list
triggernavigation-menu-trigger

States

ScopeCategoryValues
componentpseudofocus-visible
componentcomponentdata-state: open, closed
componentenvironmentforced-colors, dir

Accessibility

SlotElementRoleRequired attributes
navigation-menu-triggerbuttonaria-expanded: required=true, type: boolean; aria-controls: required=true, type: string
navigation-menu-contentdivregion

Keyboard

KeyActionNative
Escapeclose
Enteractivatetrue
Spaceactivatetrue

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import {
NavigationMenu,
NavigationMenuList,
NavigationMenuItem,
NavigationMenuTrigger,
NavigationMenuContent,
NavigationMenuLink
} from "@refineui/react";
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuLink href="/" active>
Home
</NavigationMenuLink>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuTrigger>Products</NavigationMenuTrigger>
<NavigationMenuContent>
<NavigationMenuLink href="/products/web">Web</NavigationMenuLink>
<NavigationMenuLink href="/products/mobile">Mobile</NavigationMenuLink>
</NavigationMenuContent>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuLink href="/about">About</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
PropDefaultTypeDescription
valuestringControlled open item value (empty string = closed).
defaultValuestringUncontrolled initial open item.
onValueChange(value: string) => voidEvent handler when open item changes.
delayDurationnumberDelay (ms) before opening on pointer enter.
skipDelayDurationnumberDelay when moving between items while open.
aria-label"Main"stringAccessible name for the navigation landmark.

List of navigation items.

PropDefaultTypeDescription
valuestringStable id for open state (auto-generated when omitted).

Trigger button for dropdown content.

Dropdown panel content.

PropDefaultTypeDescription
activefalsebooleanMarks the current page (`aria-current="page"`).

Active item indicator (visual underline).