Measured entry

8bitcn-progress

progressskeuomorphismmotion on file

A Radix progress primitive wrapped in a pixel-art frame, with a standard fill and a retro segmented variant. It ships as registry source plus a retro stylesheet, and relies on Radix Progress, class-variance-authority, Tailwind theme classes, a local cn utility, and a Google-hosted display font.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of 8bitcn-progress at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of 8bitcn-progress at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of 8bitcn-progress 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-progress
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious1
Axe moderate0
Axe minor0
Gzip marginal29.9 KB (95.3 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 55.23s
error during build:
[vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/ui/8bit/progress.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'

Verdict

A characterful fit for retro interfaces, and it builds and renders cleanly inside the expected stack. It needs a shadcn-style setup, and the shipped progressbar lacks an accessible name, so add labeling before production use.

Use it if

  • You want a game-like progress bar that fits an existing pixel-art interface.
  • Your app already uses shadcn conventions, Tailwind theme tokens, and the local cn helper.
  • You need both a continuous fill and a discrete segmented presentation from one component.

Skip it if

  • You need an accessible drop-in component without adding an explicit label or aria-label.
  • Your design system avoids remote font imports or pixel-style typography.
  • You want a dependency-light progress indicator without Radix and class-variance-authority.
  • Your project does not use shadcn-style path aliases and utility classes, and you do not want to adapt the source.

Install

Installation record for 8bitcn-progress
Declared dependencies@radix-ui/react-progress
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, install Radix Progress and class-variance-authority, provide or replace the cn helper and path aliases, add the required Tailwind theme utilities, copy the retro stylesheet, and decide whether to keep its external font import. Supply an accessible name at each use.

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-14

Alternatives

Other published entries for the progress pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.