Measured entry

kibo-contribution-graph

chartminimal-flat

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.

Specimen
Harness screenshot of kibo-contribution-graph at 375 pixels wide
Harness screenshot at 375 pixels wide. This viewport scrolled sideways.
Harness screenshot of kibo-contribution-graph at 768 pixels wide
Harness screenshot at 768 pixels wide. This viewport scrolled sideways.
Harness screenshot of kibo-contribution-graph 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 kibo-contribution-graph
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowflagged at 375, 768
Axe critical0
Axe serious1
Axe moderate0
Axe minor0
Gzip marginal33.2 KB (98.7 KB build, 65.5 KB baseline)
Bare modeOK
Provider requiredNO
Demo usedwritten 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

Installation record for kibo-contribution-graph
Declared dependenciesdate-fns, clsx, tailwind-merge
Missing on installnone
Bare installbuilds and mounts without the shadcn-style helpers
Providerno 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.

License
MIT
Record published
2026-08-17

Alternatives

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.