Docs/Components/Navigation
Menubar
React example follows below.
ts
import { Menubar, type MenubarMenu } from "@grassroot/ui-react"; const menus: MenubarMenu[] = [ { label: "File", items: [{ label: "New service", shortcut: "⌘N" }] }, { label: "Edit", items: [{ label: "Undo", shortcut: "⌘Z" }] },]; <Menubar menus={menus} />ts
<script setup lang="ts">import { Menubar } from "@grassroot/ui-vue"; const menus: MenubarMenu[] = [ { label: "File", items: [{ label: "New service", shortcut: "⌘N" }] }, { label: "Edit", items: [{ label: "Undo", shortcut: "⌘Z" }] },];</script> <template> <Menubar :menus="menus" /></template>ts
import { Component } from "@angular/core";import { GrassrootMenubar } from "@grassroot/ui-angular"; @Component({ selector: "app-example", standalone: true, imports: [GrassrootMenubar], template: ` <grassroot-menubar [menus]="menus" /> `,})export class ExampleComponent { readonly menus: MenubarMenu[] = [ { label: "File", items: [{ label: "New service", shortcut: "⌘N" }] }, { label: "Edit", items: [{ label: "Undo", shortcut: "⌘Z" }] }, ];}ts
<script lang="ts"> import { Menubar } from "@grassroot/ui-svelte"; const menus: MenubarMenu[] = [ { label: "File", items: [{ label: "New service", shortcut: "⌘N" }] }, { label: "Edit", items: [{ label: "Undo", shortcut: "⌘Z" }] }, ];</script> <Menubar menus={menus} />ts
import { Menubar } from "@grassroot/ui-solid"; const menus: MenubarMenu[] = [ { label: "File", items: [{ label: "New service", shortcut: "⌘N" }] }, { label: "Edit", items: [{ label: "Undo", shortcut: "⌘Z" }] },]; export function Example() { return ( <> <Menubar menus={menus} /> </> );}Installation
bash
pnpm dlx grassroot add ui/menubarbash
npx grassroot@latest add ui/menubarbash
yarn dlx grassroot add ui/menubarbash
bunx grassroot add ui/menubarAPI Reference
| Prop | Type | Default |
|---|---|---|
menusrequired | MenubarMenu[] | — |
defaultOpenOpen the menu at this index initially (handy for stories). | number | undefined | — |
className | string | undefined | — |