Measured entry

8bitcn-button

buttonskeuomorphism

A pixel-styled wrapper around the shadcn Button, distributed as a shadcn registry component with a companion retro stylesheet. It depends on the project alias, the base shadcn button, the shared cn helper, React, class-variance-authority, radix-ui, Tailwind utility classes, and a Google-hosted font import.

Specimen
Harness screenshot of 8bitcn-button at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of 8bitcn-button at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of 8bitcn-button 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 8bitcn-button
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical1
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal32.2 KB (97.6 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 763ms
error during build:
[vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-c6443ed9e2a6/src/cut/components/ui/8bit/button.tsx".

Verdict

Do not publish this as a working standalone component. The build fails because the imported base button is absent, and the bare case also lacks the shared utility helper. It needs a shadcn-style setup before it can compile, so teams unwilling to provide that foundation should avoid it.

Use it if

  • Your app already uses shadcn conventions and you want a pixel-art treatment without replacing the underlying button API.
  • You need the usual button variants, sizes, and asChild composition while keeping a deliberately blocky visual style.
  • Your team is comfortable loading the retro typeface from Google Fonts or adapting the included stylesheet to self-host it.

Skip it if

  • You need a drop-in standalone button with no project aliases or shadcn foundation.
  • Your build cannot allow a stylesheet to fetch a font from Google.
  • Your interface uses rounded, restrained controls that would clash with layered pixel borders and press movement.
  • You want a verified build from the registry item without supplying its missing base button dependency.

Install

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

In a non-shadcn project, add a compatible base Button, a cn class-merging helper, matching alias resolution, Tailwind styling, class-variance-authority, radix-ui, and the supplied retro stylesheet. Also decide whether to permit the 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.

License
MIT
Record published
2026-08-15

Alternatives

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.