Measured entry
8bitcn-enemy-health-display
A retro enemy status card that renders a name, optional level and health text, plus a segmented Radix progress bar. It ships as several registry files with a retro stylesheet and Google font import, and relies on Tailwind utilities, class-variance-authority, Radix Progress, path aliases, and a shadcn-style cn helper.



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 | 1 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 30.2 KB (95.6 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
CONSOLE
Invalid prop `value` of value `NaN` supplied to `Progress`. The `value` prop must be: - a positive number - less than the value passed to `max` (or 100 if no `max` prop is set)
BARE BUILD
✗ Build failed in 46.56s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/ui/8bit/enemy-health-display.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A focused game HUD primitive with useful variants, but it needs a shadcn-style setup and some cleanup before production. The supplied empty demo produces an invalid progress value, and the progress bar lacks an accessible name. Use it as a themed starting point, not a finished drop-in.
Use it if
- You need a game HUD element with configurable enemy data and a pixel-art treatment.
- Your app already has shadcn-style aliases, utility classes, and the expected cn helper.
- You are prepared to supply valid current and maximum health values and add an accessible label to the progress bar.
Skip it if
- You need a standalone drop-in component with no project scaffolding or supporting files.
- Your accessibility bar requires the progress indicator to be correctly named without modification.
- You cannot load the external retro font or do not want the component to make a font request.
- You need safe behavior when maximum health is zero or required health data is absent.
Install
| Declared dependencies | none declared |
|---|---|
| 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 Tailwind styling, class-variance-authority, Radix Progress, a cn class-merging helper, and aliases matching the source imports. Copy the health bar, progress component, and retro stylesheet together, configure the font import, then pass valid health data and label the progress element for assistive technology.
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 card pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tailark-veil-content-1minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- tailark-veil-content-2minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- tailark-mist-content-3minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 24.1KB
- Bare
- pass
- Prov
- NO
- neobrutalism-cardbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- pass
- Prov
- NO
- neobrutalism-ncardbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- pass
- Prov
- NO
- reui-icon-stackminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.1KB
- Bare
- pass
- Prov
- NO