Measured entry

shadcn-menubar

navbarunclassified

A copy-in React and TypeScript menubar wrapper built on Radix UI primitives. It ships as source rather than a packaged widget, with styled exports for menus, submenus, checkbox and radio items, labels, separators, shortcuts, and destructive actions. It depends on Radix UI, Lucide icons, Tailwind theme utilities, and a local cn helper.

Specimen
Harness screenshot of shadcn-menubar at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of shadcn-menubar at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of shadcn-menubar at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

Measured

Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.

Harness measurements recorded for shadcn-menubar
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal58.8 KB (124.2 KB build, 65.4 KB baseline)
Bare modeFAIL
Provider requiredNO
Demo usedwritten from the component source API

What the harness recorded

BARE BUILD

✗ Build failed in 4.14s
error during build:
[vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/ui/menubar.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'

Verdict

A solid choice for shadcn-based application chrome, with broad menu composition and dependable Radix foundations. It needs a shadcn-style setup and does not mount in a bare project because the local utility import and styling conventions are required.

Use it if

  • You need a desktop-style command bar with nested menus and keyboard-oriented Radix behavior.
  • Your app already follows shadcn conventions and you want editable source that matches its theme tokens.
  • You need checkbox, radio, disabled, inset, shortcut, and destructive menu-item variants in one component family.

Skip it if

  • Your interface is primarily touch-first, where a persistent desktop menubar is a poor navigation pattern.
  • You want a self-contained package that works without Tailwind tokens, path aliases, or local utility helpers.
  • You only need a simple dropdown and do not want the broader menubar API or added client dependency.

Install

Installation record for shadcn-menubar
Declared dependenciesradix-ui
Missing on installnone
Bare installfails once the shadcn-style helpers are removed, so it needs that setup
Providerno provider required in the harness

A non-shadcn project must add Radix UI and Lucide React, provide the cn class-merging helper and matching import alias, configure Tailwind with the referenced color, shadow, radius, state, and animation utilities, and map the theme tokens used by the classes.

Source and credit

This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.

Author repository

github.com/shadcn-ui/ui
License
MIT
Record published
2026-08-13

Alternatives

Other published entries for the navbar pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.