NavigationMenu

9 parts

A collection of navigation links and disclosure menus, typically used for the primary site header. NavigationMenuRoot owns the open state and hover/click timing for the whole menu, rendering as a <nav> landmark and providing context to every list, item, trigger, content, viewport, and indicator beneath it. Reach for it over a generic dropdown when you need keyboard-accessible, animatable mega-menu panels that share a single active state.

Demo

Loading demo…

Anatomy

Import the parts and compose them. Each part forwards attributes to its underlying element.

vue
import {
  NavigationMenuRoot,
  NavigationMenuSub,
  NavigationMenuList,
  NavigationMenuItem,
  NavigationMenuTrigger,
  NavigationMenuLink,
  NavigationMenuContent,
  NavigationMenuViewport,
  NavigationMenuIndicator,
} from '@robonen/primitives/menus/navigation-menu';

<NavigationMenuRoot>
  <NavigationMenuSub />
  <NavigationMenuList />
  <NavigationMenuItem />
  <NavigationMenuTrigger />
  <NavigationMenuLink />
  <NavigationMenuContent />
  <NavigationMenuViewport />
  <NavigationMenuIndicator />
</NavigationMenuRoot>

API Reference