Skip to content
Logic2BUI

Search docs

Search components and documentation

New
Menu

Navigation Menu

A collection of links and dropdown panels for site or app navigation.

Installation

npx logic2b@next add navigation-menu

Usage

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

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 to aria-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.

View JSON

NavigationMenu

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & { viewport?: boolean }
PropTypeRequiredDefaultDescription
viewportbooleanNotrue—

NavigationMenuList

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.List>

NavigationMenuItem

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Item>

NavigationMenuContent

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Content>

NavigationMenuTrigger

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>
Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Link>

NavigationMenuIndicator

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>

NavigationMenuViewport

Component
Props: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>

navigationMenuTriggerStyle

Utility
(props?: ClassProp | undefined): string

Accessibility contract

Machine-readable behavior and consumer responsibilities for navigation-menu.

View JSON
Support
Primitive-managed
Pattern
navigation
Radix Navigation Menu
Keyboard interactions for navigation-menu
KeysBehavior
Enter SpaceActivate the focused control.
ArrowUp ArrowDown ArrowLeft ArrowRightMove within the composite control.
EscapeClose 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.