Navigation
Import the main NavigationMenu component and use its sub-components as properties. Use NavigationMenu for product-level section navigation where a selected item reveals a matching content panel.
Basic Usage
import { NavigationMenu } from '@editora/ui-react';
function PrimaryNavigation() {
return (
<NavigationMenu.Root
selected={0}
orientation="horizontal"
variant="soft"
size="md"
radius={12}
elevation="low"
>
<NavigationMenu.List>
<NavigationMenu.Item>
<NavigationMenu.Trigger>Overview</NavigationMenu.Trigger>
<NavigationMenu.Content>Overview content</NavigationMenu.Content>
</NavigationMenu.Item>
<NavigationMenu.Item>
<NavigationMenu.Trigger>Analytics</NavigationMenu.Trigger>
<NavigationMenu.Content>Analytics content</NavigationMenu.Content>
</NavigationMenu.Item>
<NavigationMenu.Item>
<NavigationMenu.Trigger>Reports</NavigationMenu.Trigger>
<NavigationMenu.Content>Reports content</NavigationMenu.Content>
</NavigationMenu.Item>
</NavigationMenu.List>
<NavigationMenu.Indicator />
<NavigationMenu.Viewport />
</NavigationMenu.Root>
);
}
Composed Sub-Components
All NavigationMenu sub-components are available as properties on the main NavigationMenu component:
NavigationMenu.Root- Root container for the navigation menuNavigationMenu.List- Container for navigation itemsNavigationMenu.Item- Individual navigation itemNavigationMenu.Trigger- Trigger element for dropdown contentNavigationMenu.Content- Content area for each navigation itemNavigationMenu.Indicator- Visual indicator for selected itemNavigationMenu.Viewport- Viewport for dropdown content
Props
| Prop | Type | Description |
|---|---|---|
selected | number | Selected item index |
orientation | 'horizontal' | 'vertical' | Layout direction |
activation | 'automatic' | 'manual' | Focus activation model |
variant | 'surface' | 'soft' | 'solid' | 'outline' | 'flat' | 'contrast' | Surface treatment |
size | 'sm' | 'md' | 'lg' | '1' | '2' | '3' | Control scale |
radius | number | string | Corner radius |
elevation | 'none' | 'low' | 'high' | Surface depth |
tone | 'default' | 'neutral' | 'info' | 'success' | 'warning' | 'danger' | Accent tone |
loop | boolean | Loop focus navigation |
collapsible | boolean | Allow deselecting the active item |
headless | boolean | Remove default visuals |
onChange | (detail: NavigationMenuChangeDetail) => void | Full change detail callback |
onSelect | (selected: number) => void | Selected index callback |