Menubar
A horizontal menu bar with multiple dropdown menus, supporting hover-switch between open menus.
bun x bosia@latest add menubarA horizontal menu bar with multiple dropdown menus. Click to open a menu, then hover between triggers to switch. Handles click-outside and Escape to close.
Preview
Props
MenubarContent
| Prop | Type | Default |
|---|---|---|
align |
"start" | "end" | "center" |
"start" |
class |
string |
"" |
Sub-components
Menubar— root bar, manages active menu stateMenubarMenu— per-menu group, provides menu contextMenubarTrigger— click to open; hover-switches when another menu is activeMenubarContent— dropdown panel (align:"start"|"end"|"center")MenubarItem— action item, auto-closes menu on clickMenubarSeparator— divider between itemsMenubarLabel— non-interactive section headerMenubarShortcut— keyboard shortcut displayMenubarSub— wrapper for a nested sub-menuMenubarSubTrigger— item that opens a sub-menu (shows›chevron)MenubarSubContent— sub-menu panel, flies out to the right
Usage
<script lang="ts">
import {
Menubar,
MenubarMenu,
MenubarTrigger,
MenubarContent,
MenubarItem,
MenubarSeparator,
MenubarLabel,
MenubarShortcut,
MenubarSub,
MenubarSubTrigger,
MenubarSubContent,
} from "$lib/components/ui/menubar";
</script>
<Menubar>
<MenubarMenu>
<MenubarTrigger>File</MenubarTrigger>
<MenubarContent>
<MenubarItem>
New File
<MenubarShortcut>⌘N</MenubarShortcut>
</MenubarItem>
<MenubarSeparator />
<MenubarItem>Save</MenubarItem>
</MenubarContent>
</MenubarMenu>
<MenubarMenu>
<MenubarTrigger>Edit</MenubarTrigger>
<MenubarContent>
<MenubarLabel>Actions</MenubarLabel>
<MenubarItem>Undo</MenubarItem>
<MenubarItem>Redo</MenubarItem>
</MenubarContent>
</MenubarMenu>
</Menubar>