Measured entry
8bitcn-theme-selector
A shadcn registry theme picker for Next.js that ships a dropdown, theme context, URL and cookie synchronization, an 8bit Select wrapper, and global theme CSS. It depends on React, Next.js navigation, nuqs, path aliases, and the base shadcn Select primitive.



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.5 KB build, 65.4 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.32s error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-bd18b291539c/src/components/ui/8bit/select.tsx".
Verdict
Do not publish this as working yet. The build fails because the 8bit Select wrapper imports a base local Select module that was not installed. It needs a shadcn-style setup, and teams unwilling to repair that registry dependency should avoid it.
Use it if
- You already use the 8bitcn theme classes and want visitors to switch among them.
- Your Next.js app should persist a theme in a cookie and expose the choice in a shareable query string.
- You are comfortable installing and maintaining the registry's supporting Select primitive and global CSS.
Skip it if
- You need a drop-in component that builds without shadcn registry dependencies.
- Your app is not on Next.js and you do not want to replace its navigation and URL-state integration.
- You do not want a selector that mutates global document classes and writes a preference cookie.
- You only need a light and dark toggle rather than the supplied retro theme catalog.
Install
| Declared dependencies | nuqs, 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 |
A non-shadcn project must add the base Select primitive and its UI dependencies, configure the source path alias, install nuqs, include the registry's global theme styles, and mount its theme provider. It must also supply Next.js navigation support or rewrite the URL synchronization for its router.
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 select pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hextaui-native-selectminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.6KB
- Bare
- fail
- Prov
- NO
- 8bitcn-difficulty-selectskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 32.7KB
- Bare
- fail
- Prov
- NO
- hextaui-checkboxminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 35.8KB
- Bare
- fail
- Prov
- NO
- hextaui-radio-groupminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 40.3KB
- Bare
- fail
- Prov
- NO
- ruixen-tag-cloud-selectunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 58.8KB
- Bare
- fail
- Prov
- NO
- tripled-animated-select-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 60.4KB
- Bare
- fail
- Prov
- NO