Installation
npx logic2b@next add navigation-menuUsage
import {
NavigationMenu,
NavigationMenuContent,
NavigationMenuItem,
NavigationMenuLink,
NavigationMenuList,
NavigationMenuTrigger,
} from "@/components/ui/navigation-menu"
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuTrigger>Components</NavigationMenuTrigger>
<NavigationMenuContent>
<NavigationMenuLink href="/docs">Docs</NavigationMenuLink>
</NavigationMenuContent>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
Examples
Link bar
Inline dropdown
Accessibility
Built on Radix Navigation Menu.
- Triggers are keyboard focusable; Enter/Space and the arrow keys open and move through the menu.
- Esc closes an open panel and restores focus to its trigger.
- The active link is marked with
data-active(mapped toaria-current) so screen readers announce the current page. - Content panels are labelled by their trigger for correct announcement.
Live playground
Edit the component props and inspect the exact JSX before copying it. The preview loads only when this section enters the viewport.
Generated JSX
<NavigationMenu
aria-label="Product navigation"
>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuTrigger>Platform</NavigationMenuTrigger>
<NavigationMenuContent
className="w-64"
>
<NavigationMenuLink
href="#registry"
>Registry</NavigationMenuLink>
<NavigationMenuLink
href="#tokens"
>Design tokens</NavigationMenuLink>
</NavigationMenuContent>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuLink
href="#docs"
>Documentation</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>API reference
Generated from the public TypeScript exports in src/ui/navigation-menu.tsx.
NavigationMenu
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & { viewport?: boolean }| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
viewport | boolean | No | true | — |
NavigationMenuList
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.List>NavigationMenuItem
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Item>NavigationMenuContent
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Content>NavigationMenuTrigger
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>NavigationMenuLink
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Link>NavigationMenuIndicator
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>NavigationMenuViewport
ComponentProps: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>navigationMenuTriggerStyle
Utility(props?: ClassProp | undefined): stringAccessibility contract
Machine-readable behavior and consumer responsibilities for navigation-menu.
- Support
- Primitive-managed
- Pattern
- navigation
- Radix Navigation Menu
| Keys | Behavior |
|---|---|
| Enter Space | Activate the focused control. |
| ArrowUp ArrowDown ArrowLeft ArrowRight | Move within the composite control. |
| Escape | Close the open surface and restore focus. |
Built-in semantics
- Keyboard-focusable triggers manage expanded content; active links can expose aria-current.
Consumer responsibilities
- Wrap the component in a labelled nav landmark when multiple navigation regions exist.