Measured entry
8bitcn-sheet
A retro-styled wrapper around the shadcn Sheet, shipped as a registry component plus a small theme stylesheet. It reuses the base Sheet API, replaces the content surface with pixel-like borders and a custom close icon, and depends on Radix Dialog, class variance authority, the shadcn utility helper, Tailwind classes, and a Google-hosted font.



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 | 43.8 KB (109.3 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 834ms error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-4f969b442345/src/cut/components/ui/8bit/sheet.tsx".
Verdict
A dependable themed Sheet that builds, mounts, stays within the tested viewports, and presents no detected accessibility issues. Choose it for a committed retro visual language; otherwise the extra styling and bundle cost are hard to justify over the base shadcn Sheet.
Use it if
- Your interface already uses shadcn conventions and needs a side panel that matches a retro game or pixel-art theme.
- You want the familiar Sheet composition API with support for panels entering from any edge.
- You are comfortable loading the Press Start font from Google Fonts or hosting an equivalent font yourself.
Skip it if
- Your product uses a restrained or typography-led design system where the pixel borders and retro font would feel out of place.
- You need a self-contained drawer with no shadcn path aliases, base Sheet component, or Tailwind setup.
- You cannot allow a stylesheet to fetch a font from an external service.
- You want to minimize bundle overhead for what is primarily a visual variation of an existing primitive.
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 a compatible base Sheet built on Radix Dialog, class variance authority, the cn utility backed by clsx and tailwind-merge, Tailwind theme and animation utilities, and matching path aliases. Copy the retro stylesheet, then decide whether to permit its Google Fonts import or replace it with a locally hosted font.
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 sheet pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hextaui-popoverminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 52.9KB
- Bare
- pass
- Prov
- NO
- shadcn-sheetunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 26.3KB
- Bare
- fail
- Prov
- NO
- neobrutalism-nsheetbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 40.5KB
- Bare
- fail
- Prov
- NO
- neobrutalism-sheetbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 40.5KB
- Bare
- fail
- Prov
- NO
- 8bitcn-resizableskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 40.8KB
- Bare
- fail
- Prov
- NO
- hextaui-sheetminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 43.8KB
- Bare
- fail
- Prov
- NO