GitHub 560+

Navigation Menu

A collection of links for navigating websites.

Installation

npx shadcn@latest add @fulldev/navigation-menu

Usage

---
import {
  NavigationMenu,
  NavigationMenuContent,
  NavigationMenuItem,
  NavigationMenuLink,
  NavigationMenuList,
  NavigationMenuTrigger,
} from "@/components/ui/navigation-menu"
---
<NavigationMenu>
  <NavigationMenuList>
    <NavigationMenuItem value="item-one">
      <NavigationMenuTrigger>Item One</NavigationMenuTrigger>
      <NavigationMenuContent>
        <NavigationMenuLink href="/docs/">Link</NavigationMenuLink>
      </NavigationMenuContent>
    </NavigationMenuItem>
  </NavigationMenuList>
</NavigationMenu>

Composition

Use the following composition to build a NavigationMenu:

NavigationMenu
├── NavigationMenuList
│   ├── NavigationMenuItem
│   │   ├── NavigationMenuTrigger
│   │   └── NavigationMenuContent
│   │       ├── NavigationMenuLink
│   │       └── NavigationMenuLink
│   └── NavigationMenuItem
│       └── NavigationMenuLink
└── NavigationMenuIndicator

Notes

  • Use NavigationMenuTrigger for items that open richer panels and NavigationMenuLink for direct navigation targets.
  • NavigationMenuLink accepts active when the current route should be visually highlighted.
  • Keep the content panel layout inside NavigationMenuContent simple and list-like so keyboard navigation stays predictable.

API Reference

See the GitHub source code for more information on props. See the data-slot docs for more information on interactivity.