Measured entry
originui-comp-100
A client-side hamburger toggle whose SVG strokes morph into a close icon while its accessible label and expanded state update. It ships as a shadcn registry component and relies on React state, the companion registry Button, Tailwind utility variants, and that button's styling helpers.



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.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | flagged at 375 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 31.9 KB (97.4 KB build, 65.5 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 1.67s error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-d3763aaf9d34/src/components/ui/button.tsx".
Verdict
A focused, accessible menu toggle that builds and mounts cleanly, including outside a shadcn scaffold. It is a good fit when the companion Button and Tailwind conventions already match the project, but it provides no menu behavior beyond its own visual state.
Use it if
- You need a compact trigger for opening and closing a navigation drawer or menu.
- Your interface already uses Tailwind and a shadcn-compatible Button primitive.
- You want the trigger to expose its toggled state and purpose to assistive technology.
Skip it if
- You need a complete menu or drawer, since this component only manages and displays the trigger state.
- Your styling pipeline does not support Tailwind group state variants and arbitrary transition values.
- You want a dependency-free icon button without a shared Button abstraction.
Install
| Declared dependencies | radix-ui, clsx, tailwind-merge |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add the registry Button and its variant and class-merging helpers, install the Radix slot and supporting class utilities, configure Tailwind for the state and transition classes, and replace the registry import alias with a local path.
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/origin-space/originuiAlternatives
Other published entries for the button pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- neu-buttonneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.8KB
- Bare
- pass
- Prov
- NO
- clay-buttonclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- tripled-animated-radio-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glow-link-buttonliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 58.9KB
- Bare
- pass
- Prov
- NO
- tripled-mood-gradient-button-shadcnuigradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 59.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glass-ai-cardliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 59.5KB
- Bare
- pass
- Prov
- NO