shadcn.io is not affiliated with official shadcn/ui
Microservice Versions Changelog Block for React
A version matrix of six services by Dev, Staging and Production, rail to rail with hairlines between cells, a heavier Production column, a down arrow and a count for a service that trails, and a toggle group that narrows it to the services that drifted.
Installation
Overview
A version matrix for React with Base UI, written for Hubmesh, a fictional service-orchestration tool. The header counts from the data ("4 of 6 services run one version everywhere") and a toggle group at its end chooses All services or Drifted only, each with its count. Under it a table runs rail to rail with hairlines between its cells: six services down the side, Dev, Staging and Production across, and each cell the version in mono. Production is the heavier column, with a tint and a bolder weight, because it is the one that counts; a service whose production trails its newest build carries a down arrow and "2 behind" in that cell, so the drift is a shape and a word, never a colour. The service names stay in view while the table scrolls sideways on a phone, in a labelled region the keyboard can reach. It's built from Guides, Toggle Group and a native table, with CSS transitions for the entrance and your theme's tokens for every colour. For environment overviews, release checklists and changelogs that say what is running where. The services and versions are example data.
FAQ
How do I change the services and versions?
Edit SERVICES at the top of the file. A service is a name, a role, the version in each environment and its releases (every build, oldest first). The headline's count, the filter counts and the "2 behind" are all computed: a service is in sync when its three versions match, and "behind" is how many builds production trails the build in Dev. Add an environment by adding a column to VersionTable and Row.
How is drift shown without colour?
Production is the heavier column for every row, and a service that trails gets a down arrow and a count ("2 behind") inside its Production cell. Nothing relies on red or amber, so the matrix reads the same in a greyscale or high-contrast theme.
What does Drifted only do to the table?
It hides the services that match everywhere and says how many it hid. The block keeps its height: an unseen copy of the whole table sits in the same grid cell, so nothing below moves when you switch. Pressing the chosen item again does nothing, so the table is never empty, and a polite line says how many services are showing.
Is it a real table, and how does it scroll on a phone?
Yes: a native table with a caption, column headers with scope and each service name as its row header. Below sm the roles beside the names are dropped and the table scrolls sideways inside a section that has a name and a focus ring, so a keyboard user can scroll it; the first column is sticky, so you always know which service you are reading.
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
Environment Promotion Ladder Changelog
Deploys and rolloutsA promotion ladder of four stages as rows with a rollout bar, time in stage and a Collapsible that lists each stage's gates.
- ≠≠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
Lanes With Gates Release Train
Deploys and rolloutsA release-train table: a lane per train, a column per station (Dev, Staging, Canary, Production), each cell a gate shape and word with a hover card of its checks, and the departure time at the end of the lane.
- Pro
Dependency Updates Changelog
Packages and versionsA table of eight dependency updates in two groups, Production and Dev: package, old and new version, the kind of bump and a three-pip risk, with sortable heads that reorder the rows inside each group.
- Pro
Release Pins Service Health Dashboard
Incidents and uptimeA health board for a hosting product: four service lanes of thirty daily cells, with a row of release pins above them that open a card of what shipped, and the month's uptime at the end of each lane.