Measured entry
8bitcn-dropdown-menu
A pixel-styled skin for a shadcn dropdown menu, shipped as a registry component plus a retro stylesheet. It wraps the existing shadcn/Radix menu primitives, uses class-variance-authority and the shared cn helper, expects Tailwind theme utilities, and imports Press Start 2P from Google Fonts.



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 | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 62.1 KB (127.6 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 796ms error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-d3313f029f7b/src/cut/components/ui/8bit/dropdown-menu.tsx".
Verdict
A sound choice for an established shadcn app with an intentional arcade aesthetic. It builds and mounts cleanly, and the wrapper preserves the base menu's useful composition model. The dependency cost and externally loaded font make it a poor default for a small or privacy-sensitive interface.
Use it if
- Your product already uses shadcn dropdown primitives and needs a consistent retro menu treatment.
- You need labels, separators, shortcuts, checkbox items, and nested menus behind the same pixel-styled surface.
- Loading the retro font from Google Fonts fits your deployment and privacy policy.
Skip it if
- Your interface calls for a restrained or platform-native menu rather than a conspicuous retro treatment.
- You do not want to maintain shadcn aliases, Tailwind theme tokens, and a base dropdown component.
- Your content security or privacy policy forbids the stylesheet's Google Fonts import.
- Client bundle cost is tight enough that this menu's relatively heavy dependency footprint is hard to justify.
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 Radix dropdown primitive, class-variance-authority, clsx, tailwind-merge, a cn utility, Tailwind theme tokens, and the base shadcn dropdown implementation. Configure the @ path alias, include the retro stylesheet, and self-host or replace the Google font when external font loading is unsuitable.
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/TheOrcDev/8bitcn-uiAlternatives
Other published entries for the dropdown pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tripled-context-menu-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 61.1KB
- Bare
- pass
- Prov
- NO
- shadcn-dropdown-menuunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 44.4KB
- Bare
- fail
- Prov
- NO
- originui-comp-131minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.1KB
- Bare
- fail
- Prov
- NO
- neobrutalism-dropdown-menubrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 58.5KB
- Bare
- fail
- Prov
- NO
- shadcn-context-menuunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 58.7KB
- Bare
- fail
- Prov
- NO
- neobrutalism-context-menubrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 58.8KB
- Bare
- fail
- Prov
- NO