Measured entry
kibo-pill
A source-distributed React pill family for labels, status dots, deltas, avatars, icon actions, and grouped faces. It arrives through a shadcn registry and composes the local Avatar, Badge, and Button primitives, the shared cn helper, Tailwind classes, and Lucide icons rather than shipping as a standalone package.



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 | flagged at 375 |
| Axe critical | 1 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 35.8 KB (101.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 1.10s error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-81e966ac0927/src/components/ui/badge.tsx".
Verdict
A useful, editable pill toolkit for an existing shadcn codebase, with broad variants and a clean compositional API. It needs a shadcn-style setup, and adoption should include responsive wrapper fixes plus explicit avatar alternative text before release.
Use it if
- Your app already uses shadcn primitives and needs one consistent API for status, identity, trend, and action pills.
- You want source code that can be restyled locally instead of a fixed third-party package.
- Your team can supply meaningful alternative text for avatar images and test each composition with real content.
Skip it if
- You need a drop-in component for plain React without shadcn registry primitives, path aliases, or Tailwind utilities.
- Your narrow layouts cannot accommodate or adapt the provided fixed-width demo composition, which overflowed in the compact viewport.
- You cannot audit avatar usage for alternative text; the tested demo exposed a critical image accessibility failure.
- You only need a basic text badge and do not want the added icon, avatar, button, and primitive dependency surface.
Install
| Declared dependencies | lucide-react, 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 Tailwind and the cn utility, install Lucide React plus the Radix-backed Avatar and Button requirements, and recreate compatible Avatar, Badge, and Button primitives. Include class-variance-authority for the Badge implementation, configure the source path alias, and ensure image props provide alternative text.
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/shadcnblocks/kiboAlternatives
Other published entries for the badge pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- neu-badgeneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.5KB
- Bare
- pass
- Prov
- NO
- clay-badgeclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- ruixen-load-rippleunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- kibo-listminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 42.4KB
- Bare
- pass
- Prov
- NO
- ruixen-blurred-stagger-textunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 58.1KB
- Bare
- pass
- Prov
- NO
- tripled-auto-revealing-heading-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.3KB
- Bare
- pass
- Prov
- NO