Accessible navigation menu component built on Radix UI primitives, providing animated dropdown menus with keyboard navigation support and smooth enter/exit transitions. ## Key Components | Export | Type | Description | |---|---|---| | `NavigationMenu` | Component | Root wrapper with viewport auto-included | | `NavigationMenuList` | Component | Horizontal list container for menu items | | `NavigationMenuItem` | Component | Individual menu item wrapper (Radix primitive) | | `NavigationMenuTrigger` | Component | Clickable trigger with animated `ChevronDown` icon | | `NavigationMenuContent` | Component | Animated dropdown content panel with slide transitions | | `NavigationMenuLink` | Component | Accessible link element (Radix primitive) | | `NavigationMenuViewport` | Component | Floating viewport that renders active content | | `NavigationMenuIndicator` | Component | Animated arrow indicator pointing to active item | | `navigationMenuTriggerStyle` | `cva` function | Reusable CVA style for standalone trigger-styled links | ## Usage Example ```typescript import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, } from "@/components/ui/navigation-menu" export function SiteNav() { return ( Products
  • OpenFrame
  • Mingo AI
{/* Standalone link using trigger styling */} Docs
) } ``` > **Note:** `NavigationMenuViewport` is automatically rendered inside `NavigationMenu` — no need to add it manually. Use `navigationMenuTriggerStyle()` to style plain links with the same appearance as trigger buttons. **Source:** [`navigation-menu.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/navigation-menu.tsx)