Skip to content
shadcn.io

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.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

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.

Does it work in a right-to-left layout?

Yes. The table mirrors, the sticky column sticks to the start edge, and versions stay left-to-right in code elements with dir="ltr", so "v2.5.0" is never reordered. The counts are wrapped so "4 of 6" keeps its order.

What moves, and what happens with reduced motion?

The header and the table fade up once on load, with CSS transitions. With reduced motion they are off and the block simply appears. Switching the filter swaps the rows at once.

  • Pro

    API Versioning Matrix Changelog

    APIs and integrations

    A 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

    A promotion ladder of four stages as rows with a rollout bar, time in stage and a Collapsible that lists each stage's gates.

  • Pro

    A 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 rollouts

    A 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 versions

    A 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

    A 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.