Navigation Menu

A site navigation menu built on Base UI with triggers that open rich dropdown panels in a shared viewport, plus link items. Mirrors the shadcn navigation menu.

src/registry/ui/navigation-menu.tsx/r/navigation-menu.json

Installation#

bash
npx shadcn@latest add @minidev/navigation-menu

MiniDev UI is in the shadcn registry directory, so the short form works with no setup. Older CLI versions can use the full URL: npx shadcn@latest add https://ui.minidev.pro/r/navigation-menu.json

Usage#

tsx
import { NavigationMenu } from "@/components/ui/navigation-menu"

export function Example() {
  return (
    <NavigationMenu>
      <NavigationMenuList>
        <NavigationMenuItem>
          <NavigationMenuTrigger>Product</NavigationMenuTrigger>
          <NavigationMenuContent>
            <div className="grid w-80 gap-1 p-2">
              <NavigationMenuLink href="#">AI chat</NavigationMenuLink>
              <NavigationMenuLink href="#">Billing</NavigationMenuLink>
              <NavigationMenuLink href="#">Admin</NavigationMenuLink>
            </div>
          </NavigationMenuContent>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuTrigger>Resources</NavigationMenuTrigger>
          <NavigationMenuContent>
            <div className="grid w-64 gap-1 p-2">
              <NavigationMenuLink href="#">Docs</NavigationMenuLink>
              <NavigationMenuLink href="#">Gallery</NavigationMenuLink>
            </div>
          </NavigationMenuContent>
        </NavigationMenuItem>
      </NavigationMenuList>
      <NavigationMenuViewport />
    </NavigationMenu>
  )
}

API reference#

Also accepts every prop of Nav.Root props, passed through to the root element.

Dependencies#

npm

@base-ui/react

Built from

No other MiniDev files

Examples#

All navigation components

Learn more