Menubar
A desktop-style menu bar: File, Edit, View…
Import
import { Menubar } from "@tarve/core";Usage
import { Menubar } from "@tarve/core";
let openMenu: string | undefined;
<Menubar
openMenu={openMenu}
menus={[
{
value: "file",
label: "File",
items: [
{ value: "new", label: "New", shortcut: "Ctrl+N" },
{ value: "open", label: "Open…", shortcut: "Ctrl+O" },
],
},
{ value: "edit", label: "Edit", items: [{ value: "undo", label: "Undo", shortcut: "Ctrl+Z" }] },
]}
onOpenMenuChange={(value) => {
openMenu = value;
}}
onSelect={(menu, item) => console.log(menu, item)}
/>Props
| Prop | Type | Default |
|---|---|---|
menus required | MenubarMenu[] | — |
onOpenMenuChange | (value: string | undefined) => void | — |
onSelect | (menuValue: string, itemValue: string) => void | — |
openMenu | string | — |
Common props
Shared by every component. See descriptions →
childrenhighlightidkeymotionFromonHighlightonPasteonTransitionEndrovingGroupstyleTypes
interface MenubarMenu {
value: string;
label: string;
disabled?: boolean;
items: MenubarItem[];
}