minflow

Menus

Menubar

What separates a menubar from a row of dropdowns is exactly one rule: once any menu is open, pointing at a sibling switches to it without a second click. That behaviour is the reason to reach for this component at all, so the open menu is tracked by the bar rather than by each menu, and hover only takes over while something is already expanded - which keeps the row from being a minefield when it is closed.

npx shadcn@latest add @minflow/menubar

Where to use it

  • Editors, canvases, and desktop-class tools with a stable set of top-level menus.
  • When the same commands need to be findable in the same place every time, whether or not anything is selected.
  • Not on mobile, and not for two menus - at that size a pair of dropdowns is honest and a menubar is pretence.

Variations

Application menus

The standard File / Edit / View row. Open one and the rest of the bar becomes hover-navigable.