Components
Navigation Menu
A collection of links for navigating websites.
Installation
pnpm dlx shadcn@latest add https://basecn.dev/r/navigation-menu.json
Examples
With Arrow
Migrating from Radix UI
Common Migration Steps
All components share several migration patterns when moving from Radix UI to Base UI. Before proceeding with component-specific changes, review the essential migration patterns.
Familiarizing yourself with these patterns will make the component-specific migration steps much clearer.
Remove the viewport
prop
Before:
import { NavigationMenu } from "@/components/ui/navigation-menu";
<NavigationMenu viewport={false} />
After:
import { NavigationMenu } from "@/components/ui/navigation-menu";
<NavigationMenu />
Add Positioner and Popup components
Before:
import {
NavigationMenu,
NavigationMenuList,
} from "@/components/ui/navigation-menu";
<NavigationMenu>
<NavigationMenuList>...</NavigationMenuList>
</NavigationMenu>
After:
import {
NavigationMenu,
NavigationMenuPositioner,
NavigationMenuPopup,
} from "@/components/ui/navigation-menu";
<NavigationMenu>
<NavigationMenuList>...</NavigationMenuList>
<NavigationMenuPositioner>
<NavigationMenuPopup />
</NavigationMenuPositioner>
</NavigationMenu>
Add Arrow for Popup (optional)
If you want to add an arrow to the popup, you can add the NavigationMenuArrow
component inside the NavigationMenuPopup
component.
import {
NavigationMenu,
NavigationMenuPositioner,
NavigationMenuPopup,
} from "@/components/ui/navigation-menu";
<NavigationMenu>
<NavigationMenuList>...</NavigationMenuList>
<NavigationMenuPositioner>
<NavigationMenuPopup />
<NavigationMenuPopup>
<NavigationMenuArrow />
</NavigationMenuPopup>
</NavigationMenuPositioner>
</NavigationMenu>