Menubar

Persistent horizontal command surface on bits-ui Menubar. Hover across triggers to pass focus; open content zoom-fades in from the top edge.

Usage

Inverted

Pass variant="inverted" on each menu’s content for a dark surface over a light app — Bloom’s signature menu identity.

Menubar.Sub nests another content surface that opens to the side on hover or keyboard focus.

Checkbox item

Menubar.CheckboxItem binds to a boolean and toggles in place; the indicator slot renders a check when checked.

Radio item

Wrap Menubar.RadioItem in a Menubar.RadioGroup with a bound value to enforce single-select.

Inherits bits-ui Menubar.Root props via spread. Renders as a horizontal pill bar (rounded-(--radius-control)) with border.

PropTypeDescription
string (bindable)The id of the menu currently open, if any.
'ltr' | 'rtl'Reading direction — affects submenu side.
booleanArrow-key focus wraps at the ends when true.
stringMerged onto the bar container via tailwind-merge.
PropTypeDescription
'default' | 'inverted'Surface treatment. Inverted swaps popover/accent CSS vars to render dark on light (and light on dark) — Bloom’s signature menu identity.
'top' | 'right' | 'bottom' | 'left'Preferred anchor side relative to the trigger.
numberDistance in px from the bar edge.
numberCross-axis offset so menus stack flush with the trigger.
ComponentProps<Menubar.Portal>Forwarded to the internal portal.