shadcn.io is not affiliated with official shadcn/ui
Microservice Versions Changelog Block for Vue
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 Vue with Ark 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
- API Versioning Matrix ChangelogAPIs and integrations
- Environment Promotion Ladder ChangelogDeploys and rollouts
- ≠≠Environment Config Diff ChangelogData and config
- Lanes With Gates Release TrainDeploys and rollouts
- Dependency Updates ChangelogPackages and versions
- Release Pins Service Health DashboardIncidents and uptime