bearnie

Menubar

A visually persistent menu common in desktop applications that provides quick access to a consistent set of commands.

Installation

npx bearnie add menubar
npx bearnie add menubar

Usage

import {
  Menubar,
  MenubarContent,
  MenubarMegaItem,
  MenubarItem,
  MenubarMenu,
  MenubarSeparator,
  MenubarShortcut,
  MenubarTrigger,
} from "@/components/bearnie/menubar"
<Menubar>
  <MenubarMenu>
    <MenubarTrigger>File</MenubarTrigger>
    <MenubarContent>
      <MenubarItem>
        New Tab <MenubarShortcut>⌘T</MenubarShortcut>
      </MenubarItem>
      <MenubarItem>New Window</MenubarItem>
      <MenubarSeparator />
      <MenubarItem>Print</MenubarItem>
    </MenubarContent>
  </MenubarMenu>
</Menubar>

Examples

Checkbox

Use MenubarCheckboxItem for toggleable options.

Radio

Use MenubarRadioGroup and MenubarRadioItem for single-select options.

Icons

Use MenubarMegaItem variant="simple" in a regular MenubarContent when you just want a compact icon list without the larger mega-menu layout.

Use MenubarSub, MenubarSubTrigger, and MenubarSubContent for nested menus.

Mega menu

Use variant="mega" on MenubarContent with MenubarMegaItem when one trigger needs grouped navigation links and descriptions.

Props

PropTypeDefaultDescription
classstring-Additional CSS classes
PropTypeDefaultDescription
classstring-Additional CSS classes
PropTypeDefaultDescription
align”start” | “center” | “end""start”Alignment of the content
sideOffsetnumber4Offset from the trigger
variant”default” | “mega""default”Switches between compact dropdown and wider mega-menu styling
classstring-Additional CSS classes
PropTypeDefaultDescription
insetbooleanfalseAdds left padding for alignment
disabledbooleanfalseDisables the item
classstring-Additional CSS classes
PropTypeDefaultDescription
checkedbooleanfalseInitial checked state
disabledbooleanfalseDisables the item
classstring-Additional CSS classes
PropTypeDefaultDescription
valuestring-Initial selected value
classstring-Additional CSS classes
PropTypeDefaultDescription
valuestring-Value of the radio item
disabledbooleanfalseDisables the item
classstring-Additional CSS classes
PropTypeDefaultDescription
titlestring-Main heading text for the mega-menu entry
descriptionstring-Optional supporting description text
hrefstring-Renders the entry as a link when provided
disabledbooleanfalseDisables the item
variant”default” | “simple""default”Uses either stacked description rows or a simple inline icon/list layout
classstring-Additional CSS classes