Skip to content

Menubar

Default

Usage

tsx
import { Menubar, MenubarMenu, MenubarGroup, MenubarPortal, MenubarRadioGroup, MenubarTrigger, MenubarContent, MenubarItem, MenubarCheckboxItem, MenubarRadioItem, MenubarLabel, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubTrigger, MenubarSubContent } from '@tryvienna/ui'

<Menubar>
  <MenubarMenu>
    <MenubarTrigger>File</MenubarTrigger>
    <MenubarContent>
      <MenubarItem>
        New Tab <MenubarShortcut>Cmd+T</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        New Window <MenubarShortcut>Cmd+N</MenubarShortcut>
      </MenubarItem>
      <MenubarItem disabled>New Incognito Window</MenubarItem>
      <MenubarSeparator />
      <MenubarSub>
        <MenubarSubTrigger>Share</MenubarSubTrigger>
        <MenubarSubContent>
          <MenubarItem>Email Link</MenubarItem>
          <MenubarItem>Messages</MenubarItem>
          <MenubarItem>Notes</MenubarItem>
        </MenubarSubContent>
      </MenubarSub>
      <MenubarSeparator />
      <MenubarItem>
        Print... <MenubarShortcut>Cmd+P</MenubarShortcut>
      </MenubarItem>
    </MenubarContent>
  </MenubarMenu>
  <MenubarMenu>
    <MenubarTrigger>Edit</MenubarTrigger>
    <MenubarContent>
      <MenubarItem>
        Undo <MenubarShortcut>Cmd+Z</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        Redo <MenubarShortcut>Cmd+Shift+Z</MenubarShortcut>
      </MenubarItem>
      <MenubarSeparator />
      <MenubarItem>
        Cut <MenubarShortcut>Cmd+X</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        Copy <MenubarShortcut>Cmd+C</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        Paste <MenubarShortcut>Cmd+V</MenubarShortcut>
      </MenubarItem>
      <MenubarSeparator />
      <MenubarItem>
        Select All <MenubarShortcut>Cmd+A</MenubarShortcut>
      </MenubarItem>
    </MenubarContent>
  </MenubarMenu>
  <MenubarMenu>
    <MenubarTrigger>View</MenubarTrigger>
    <MenubarContent>
      <MenubarCheckboxItem checked={showBookmarks} onCheckedChange={setShowBookmarks}>
        Always Show Bookmarks Bar
      </MenubarCheckboxItem>
      <MenubarCheckboxItem checked={showFullUrls} onCheckedChange={setShowFullUrls}>
        Always Show Full URLs
      </MenubarCheckboxItem>
      <MenubarSeparator />
      <MenubarItem inset>
        Reload <MenubarShortcut>Cmd+R</MenubarShortcut>
      </MenubarItem>
      <MenubarItem inset disabled>
        Force Reload <MenubarShortcut>Cmd+Shift+R</MenubarShortcut>
      </MenubarItem>
      <MenubarSeparator />
      <MenubarItem inset>Toggle Fullscreen</MenubarItem>
      <MenubarItem inset>Hide Sidebar</MenubarItem>
    </MenubarContent>
  </MenubarMenu>
  <MenubarMenu>
    <MenubarTrigger>Profiles</MenubarTrigger>
    <MenubarContent>
      <MenubarRadioGroup value={profile} onValueChange={setProfile}>
        <MenubarRadioItem value="andy">Andy</MenubarRadioItem>
        <MenubarRadioItem value="benoit">Benoit</MenubarRadioItem>
        <MenubarRadioItem value="luis">Luis</MenubarRadioItem>
      </MenubarRadioGroup>
      <MenubarSeparator />
      <MenubarItem inset>Edit...</MenubarItem>
      <MenubarSeparator />
      <MenubarItem inset>Add Profile...</MenubarItem>
    </MenubarContent>
  </MenubarMenu>
</Menubar>

Examples

Default

Default
tsx
<Menubar>
  <MenubarMenu>
    <MenubarTrigger>File</MenubarTrigger>
    <MenubarContent>
      <MenubarItem>
        New Tab <MenubarShortcut>Cmd+T</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        New Window <MenubarShortcut>Cmd+N</MenubarShortcut>
      </MenubarItem>
      <MenubarItem disabled>New Incognito Window</MenubarItem>
      <MenubarSeparator />
      <MenubarSub>
        <MenubarSubTrigger>Share</MenubarSubTrigger>
        <MenubarSubContent>
          <MenubarItem>Email Link</MenubarItem>
          <MenubarItem>Messages</MenubarItem>
          <MenubarItem>Notes</MenubarItem>
        </MenubarSubContent>
      </MenubarSub>
      <MenubarSeparator />
      <MenubarItem>
        Print... <MenubarShortcut>Cmd+P</MenubarShortcut>
      </MenubarItem>
    </MenubarContent>
  </MenubarMenu>
  <MenubarMenu>
    <MenubarTrigger>Edit</MenubarTrigger>
    <MenubarContent>
      <MenubarItem>
        Undo <MenubarShortcut>Cmd+Z</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        Redo <MenubarShortcut>Cmd+Shift+Z</MenubarShortcut>
      </MenubarItem>
      <MenubarSeparator />
      <MenubarItem>
        Cut <MenubarShortcut>Cmd+X</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        Copy <MenubarShortcut>Cmd+C</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>
        Paste <MenubarShortcut>Cmd+V</MenubarShortcut>
      </MenubarItem>
      <MenubarSeparator />
      <MenubarItem>
        Select All <MenubarShortcut>Cmd+A</MenubarShortcut>
      </MenubarItem>
    </MenubarContent>
  </MenubarMenu>
  <MenubarMenu>
    <MenubarTrigger>View</MenubarTrigger>
    <MenubarContent>
      <MenubarCheckboxItem checked={showBookmarks} onCheckedChange={setShowBookmarks}>
        Always Show Bookmarks Bar
      </MenubarCheckboxItem>
      <MenubarCheckboxItem checked={showFullUrls} onCheckedChange={setShowFullUrls}>
        Always Show Full URLs
      </MenubarCheckboxItem>
      <MenubarSeparator />
      <MenubarItem inset>
        Reload <MenubarShortcut>Cmd+R</MenubarShortcut>
      </MenubarItem>
      <MenubarItem inset disabled>
        Force Reload <MenubarShortcut>Cmd+Shift+R</MenubarShortcut>
      </MenubarItem>
      <MenubarSeparator />
      <MenubarItem inset>Toggle Fullscreen</MenubarItem>
      <MenubarItem inset>Hide Sidebar</MenubarItem>
    </MenubarContent>
  </MenubarMenu>
  <MenubarMenu>
    <MenubarTrigger>Profiles</MenubarTrigger>
    <MenubarContent>
      <MenubarRadioGroup value={profile} onValueChange={setProfile}>
        <MenubarRadioItem value="andy">Andy</MenubarRadioItem>
        <MenubarRadioItem value="benoit">Benoit</MenubarRadioItem>
        <MenubarRadioItem value="luis">Luis</MenubarRadioItem>
      </MenubarRadioGroup>
      <MenubarSeparator />
      <MenubarItem inset>Edit...</MenubarItem>
      <MenubarSeparator />
      <MenubarItem inset>Add Profile...</MenubarItem>
    </MenubarContent>
  </MenubarMenu>
</Menubar>

API Reference

Also accepts all props from MenubarPrimitive.Root.

Also accepts all props from MenubarPrimitive.Menu.

Also accepts all props from MenubarPrimitive.Group.

Also accepts all props from MenubarPrimitive.Portal.

Also accepts all props from MenubarPrimitive.RadioGroup.

Also accepts all props from MenubarPrimitive.Trigger.

PropTypeDefaultDescription
align"center" | "start" | "end"start
alignOffsetnumber-4
sideOffsetnumber8

Also accepts all props from MenubarPrimitive.Content.

PropTypeDefaultDescription
insetboolean | undefined-
variant"default" | "destructive"default

Also accepts all props from MenubarPrimitive.Item.

PropTypeDefaultDescription
checkedCheckedState | undefined-

Also accepts all props from MenubarPrimitive.CheckboxItem.

Also accepts all props from MenubarPrimitive.RadioItem.

PropTypeDefaultDescription
insetboolean | undefined-

Also accepts all props from MenubarPrimitive.Label.

Also accepts all props from MenubarPrimitive.Separator.

Also accepts all props from span.

Also accepts all props from MenubarPrimitive.Sub.

PropTypeDefaultDescription
insetboolean | undefined-

Also accepts all props from MenubarPrimitive.SubTrigger.

Also accepts all props from MenubarPrimitive.SubContent.

Data Attributes

Componentdata-slot
Menubar"menubar"
MenubarMenu"menubar-menu"
MenubarGroup"menubar-group"
MenubarPortal"menubar-portal"
MenubarRadioGroup"menubar-radio-group"
MenubarTrigger"menubar-trigger"
MenubarContent"menubar-content"
MenubarItem"menubar-item"
MenubarCheckboxItem"menubar-checkbox-item"
MenubarRadioItem"menubar-radio-item"
MenubarLabel"menubar-label"
MenubarSeparator"menubar-separator"
MenubarShortcut"menubar-shortcut"
MenubarSub"menubar-sub"
MenubarSubTrigger"menubar-sub-trigger"
MenubarSubContent"menubar-sub-content"