Measured entry
kibo-contribution-graph
A client-side React compound component for a GitHub-style activity calendar. It ships as registry source built from an SVG calendar, blocks, footer, count, and legend. It uses date-fns for calendar math, Tailwind utility and theme-token classes for styling, plus a shared cn helper backed by clsx and tailwind-merge.



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, 768 |
| Axe critical | 0 |
| Axe serious | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 33.2 KB (98.7 KB build, 65.5 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
A solid, composable activity heatmap that builds and mounts cleanly, but it is not ready to drop into an accessibility-sensitive responsive UI. Its calendar overflows narrower layouts and the horizontal scroll region lacks keyboard access, so budget for an accessibility patch and deliberate container behavior.
Use it if
- You need a year-like activity heatmap with month labels, a total, and an intensity legend.
- You want composable render hooks for custom blocks, totals, or legend entries.
- Your layout can accommodate horizontal scrolling when the calendar is wider than its container.
Skip it if
- The chart must fit narrow and medium-width screens without horizontal overflow.
- A keyboard-accessible scroll region is required without patching the component.
- You need each day's value exposed to assistive technology without extending the block markup.
Install
| Declared dependencies | date-fns, clsx, tailwind-merge |
|---|---|
| Missing on install | none |
| Bare install | builds and mounts without the shadcn-style helpers |
| Provider | no provider required in the harness |
Add date-fns, clsx, and tailwind-merge, provide the cn utility, and configure Tailwind theme tokens for muted colors and borders. Support the client-component directive, then make the scrollable calendar keyboard focusable and give it an accessible label.
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 chart pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tripled-holographic-wall-shadcnuiholographic
- Renders
- YES
- A11y
- 0
- Gzip
- 58.6KB
- Bare
- pass
- Prov
- NO
- hextaui-emptyminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.4KB
- Bare
- fail
- Prov
- NO
- ruixen-variable-textunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 70.6KB
- Bare
- fail
- Prov
- NO
- neobrutalism-chartbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 99.9KB
- Bare
- fail
- Prov
- NO
- shadcn-chartunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 99.9KB
- Bare
- fail
- Prov
- NO
- 8bitcn-chartskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 127.7KB
- Bare
- fail
- Prov
- NO