NavigationMenu
Site-level navigation with flyout content panels
Accessibility
- Use concise, descriptive labels so navigation items are understandable when announced out of context.
- Preserve the expected keyboard model and expose current or selected state where relevant.
- Keep the opening control labeled, ensure focus moves predictably on open and close, and expose the popup type truthfully.
Styled quick start
Copy this entrypoint first. It includes the imports required to get the component on screen.
svelte
<script lang="ts">
import '@dryui/ui/themes/default.css';
import '@dryui/ui/themes/dark.css';
import { NavigationMenu } from '@dryui/ui';
</script>
<NavigationMenu.Root>
<NavigationMenu.List>...</NavigationMenu.List>
<NavigationMenu.Item>...</NavigationMenu.Item>
<NavigationMenu.Trigger>...</NavigationMenu.Trigger>
<NavigationMenu.Content>...</NavigationMenu.Content>
<NavigationMenu.Link>...</NavigationMenu.Link>
</NavigationMenu.Root> Import options
Root package
ts
import { NavigationMenu } from '@dryui/ui' Per-component subpath
ts
import { NavigationMenu } from '@dryui/ui/navigation-menu' API
Props, CSS variables, and the public data attributes you can target when styling.
| Prop | Type | Description | Default | Required | Bindable |
|---|---|---|---|---|---|
NavigationMenu.Root | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
NavigationMenu.List | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
NavigationMenu.Item | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
NavigationMenu.Trigger | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
NavigationMenu.Content | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
NavigationMenu.Link | |||||
| active | boolean | — | false | — | — |
| children | Snippet | Content rendered inside the component. | — | ✓ | — |