shadcn.io is not affiliated with official shadcn/ui
Version Comparison Matrix Changelog Block for React
A framed feature table across three versions with a check, a half circle or a dash in each cell, grouped by category, and an Only what changed switch that keeps the height.
Installation
Overview
A version comparison matrix for React with Base UI, written for Tiergrid, a fictional plan-and-version site. A start-aligned header counts from the data how many features changed between v2.0, v3.0 and v4.0 and carries an "Only what changed" switch at its end. Under it an inset frame with + marks on its corners holds one table: a column per version, each headed by its number and release date, and the features in three groups, each under a heading row. A cell is a check for included, a half-filled circle for partial and a dash for not included, with the same word for a screen reader, and a legend in the frame's foot says them aloud. A feature that changed takes a heavier weight and a bar at its start edge. The switch hides every feature that is the same in all three versions, and the frame keeps its height. It's built from Guides and Switch, with CSS transitions for the entrance and your theme's tokens for every colour. For pricing and release pages. The features are example data.
FAQ
How do I change the features and versions?
Edit VERSIONS for the columns and GROUPS for the rows. A feature has a name and one support level per version (YES, PART or NO) in the order of the versions. "Changed" means the levels are not all the same, and the counts, the legend line and the switch's results are computed from that.
What does the switch do, and why does the block keep its height?
"Only what changed" hides every feature that reads the same in all three versions, and any group that ends up empty. A polite line in the foot says how many features show. The table sits over an unseen copy of the full one, so the frame never changes size when you flip the switch.
How are the three levels told apart without colour?
By shape: a check, a half-filled circle and a dash. Each also carries its word for a screen reader (Included, Partial, Not included), and the legend in the foot says them in plain text.
Is it a real table?
Yes: a native table with a caption, scope on every header, the feature as the row header and each group's name as a row-group header. The region around it has a name and takes focus, so the keyboard can scroll it sideways.
Related
- Pro
API Versioning Matrix Changelog
APIs and integrationsA framed table of API versions with a status badge (Current, Supported, Deprecated, End of life), release and support-end days and a check or minus per capability, with a toggle group that rings one capability's column and says which versions have it.
- Pro
Release Range Comparison Changelog
Filters and browsingA split with two release selects, a count of what changed between them as New, Improved, Fixed and Breaking, and the releases in the range as an ordered list.
- Pro
Flag Environment Matrix Changelog
Deploys and rolloutsA flag by environment table with a rollout share, a shape and a word in each cell, and a user id field that buckets the user and marks where they are in or out.
- ≠≠Pro
Environment Config Diff Changelog
Data and configA staging against production table in a fixed-height scroll region with grouped settings, masked secrets, a result as a shape and a word, and a Mismatches only switch.
- Pro
Impact Badges Changelog
Lists and timelinesSeven fixes with an impact meter of one to four rising bars and a word, a band that counts each level, and a Sort by Select that reorders the rows by impact or by date.
- Pro
Plugin Updates Changelog
Packages and versionsA checklist table of plugin updates: a checkbox per row, old and new versions in mono, a compatibility badge, a disabled row that says why, a polite count of what is selected and an Update button that flips the rows to Updated with a stated demo result.