Skip to content

Navigation Menu

A collection of links for navigating websites, with animated popup panels.

Install

Bash
npx @madeui/cli add navigation-menu

Usage

TSX
import {
  NavigationMenu,
  NavigationMenuContent,
  NavigationMenuItem,
  NavigationMenuLink,
  NavigationMenuList,
  NavigationMenuTrigger,
} from '@/components/ui/navigation-menu';

Composition

TSX
<NavigationMenu>
  <NavigationMenuList>
    <NavigationMenuItem>
      <NavigationMenuTrigger />
      <NavigationMenuContent />
    </NavigationMenuItem>
    <NavigationMenuItem>
      <NavigationMenuLink />
    </NavigationMenuItem>
  </NavigationMenuList>
</NavigationMenu>

A plain link item with no trigger or popup. active highlights the current page.

API reference

Built on Base UI Navigation Menu. NavigationMenu renders the shared popup (positioner + popup + viewport) itself — the popup morphs between panels as you move across triggers. All props are forwarded to the underlying Base UI parts; see the Base UI Navigation Menu API reference.

PropTypeDefaultDescription
align'start' | 'center' | 'end''start'Popup alignment relative to the active trigger.
styleStyleXStyles—StyleX styles merged last — always win over the component’s own styles.

NavigationMenuLink supports render for framework link components (e.g. render={<Link href="…" />}) and highlights when active.

Was this page helpful?