Menubar
Horizontal menu bar with dropdown menus
New
Open
Save
Undo
Redo
Toggle sidebar
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 { Menubar } from '@dryui/ui';
</script>
<Menubar.Root>
<Menubar.Menu>...</Menubar.Menu>
<Menubar.Trigger>...</Menubar.Trigger>
<Menubar.Content>...</Menubar.Content>
<Menubar.Item>...</Menubar.Item>
<Menubar.Separator>...</Menubar.Separator>
<Menubar.Label>...</Menubar.Label>
</Menubar.Root> Import options
Root package
ts
import { Menubar } from '@dryui/ui' Per-component subpath
ts
import { Menubar } from '@dryui/ui/menubar' API
Props, CSS variables, and the public data attributes you can target when styling.
| Prop | Type | Description | Default | Required | Bindable |
|---|---|---|---|---|---|
Menubar.Root | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
Menubar.Menu | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
Menubar.Trigger | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
Menubar.Content | |||||
| placement | bottombottom-startbottom-end | — | 'bottom-start' | — | — |
| offset | number | — | 4 | — | — |
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
Menubar.Item | |||||
| disabled | boolean | Prevents interaction and applies disabled styling. | — | — | — |
| onSelect | () => void | Callback fired when the item is selected. | — | — | — |
| children | Snippet | Content rendered inside the component. | — | ✓ | — |
Menubar.Separator | |||||
Menubar.Label | |||||
| children | Snippet | Content rendered inside the component. | — | ✓ | — |