shadcn.io is not affiliated with official shadcn/ui
Stats Summary Changelog Block for React
A year of releases as three counters (New, Improved, Fixed) and twelve month columns; focusing a column reads that month's releases into a polite status line.
Installation
Overview
A release statistics summary for React with Base UI, written for Tallyleaf, a fictional release analytics tool. Under a centred headline a band of three counters (New, Improved and Fixed) counts up once as it scrolls into view, and each counter doubles as the key to the chart below it: the twelve month columns, October 2025 to September 2026, stack the same three tones and stand as tall as that month's changes against the busiest month. Focusing or pressing a column reads that month's releases into a polite status line under the chart: the month, its release and change counts, and each release with its version, day and title. Every month's readout sits unseen under the live one, so the frame keeps its height whichever column you choose. It's built from Counting Number, Guides and native buttons in a list, with CSS transitions for the entrance and your theme's tokens for every colour. For release analytics pages, year-end changelog roundups and any product that wants to show its pace. The product, versions and counts are example data, and every number is computed from the one typed list of releases.
FAQ
How do I change the releases?
Edit RELEASES at the top of the file: each release has a version, an ISO date, a title and how many changes were added, improved and fixed. The three counters, the column heights, the segments and the readout are all computed from that list, so nothing else needs retyping. MONTHS lists the twelve columns; a month with no release shows an empty column.
How does a keyboard or screen reader use the columns?
Each column is a real button in a list with a full name such as "March 2026: 4 releases, 11 changes", and the open one is marked pressed. Tab moves between months and focusing a month opens it, so its releases are read out through a polite status line without a click. The drawn bars are hidden from assistive technology, because the same facts are in the name and in the line.
How are the three kinds told apart without colour?
By tone and by place: New is the darkest segment, Improved the middle one and Fixed the lightest, always stacked in that order, and the counters above wear the same three squares as a key. The kind names are in the counters and in the readout line ("6 new, 9 improved, 16 fixed"), so nothing depends on seeing the tones.
Why doesn't the frame move when I pick another month?
Every month's readout is stacked unseen in the same grid cell as the live one, so the frame is always as tall as the busiest month. The columns keep a fixed height, and the status line is the only part that changes.
Related
- Pro
Year in Review Changelog
Metrics and chartsA year of releases behind a split divider: the total in large digits with a Changes or Releases switch, and four quarter rows with their headline release and a bar scaled to the busiest.
- Pro
Monthly Digest Changelog
Filters and browsingMonth pills with entry counts above a framed panel that groups the month's entries by type, with a Copy button that puts the whole digest on the clipboard as plain text.
- Pro
Weekly Update Changelog
Lists and timelinesOne week as five columns, Monday to Friday, on shared hairlines, with a kind filter that dims the changes you are not looking for.
- Pro
Changelog Summary About
TimelinesA release summary for a release-notes tool: a segmented bar of what changed since launch (added, improved, fixed) with counts, a filter by type and the latest four releases as rows.
- Pro
Release Timeline Changelog
Lists and timelinesA release timeline for an API client: a compact header with a Subscribe link, then the latest four releases on a hairline rail with dots, each with its version, date, type tags, a linked title and its notes, and View all releases at the foot.
- Pro
Small Multiples Sparkline Stats
SparklinesSix measures of a stationery shop as aligned sparkline rows in one framed panel on a shared month axis, with a guide that reads all six at the month under your pointer.