Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Service Dependency Map Changelog Block for React

A three-column graph of one service's blast radius: what it depends on, the chosen service in the middle, what uses it, joined by curves in one SVG, with a warning glyph on each edge a release breaks and a toggle group to pick the service.

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 dependency map for React with Base UI, written for Tangleless, a fictional service-ownership tool. A toggle group at the end of the header picks the service (Orders, Billing, Search). A framed figure draws three columns: "Depends on" at the start, the chosen service in the middle as a dark chip with its next version, and "Used by" at the end, joined by curves in one SVG. Which services sit in each column comes from a typed adjacency; the services that break when the release ships are marked on their edge with a warning glyph, say what breaks in words ("Breaks: reads legacyTotal") and are counted in the figure's caption ("3 downstream services affected"). The figure always has room for four services a side, so choosing another service redraws the curves without moving the page. On a phone and a tablet the SVG is gone and the three columns become three labelled lists. It's built from Toggle Group, Guides and a custom SVG, with CSS transitions for the entrance and your theme's tokens for every colour. For release notes of platform teams, ownership dashboards and "who does this break" explainers. The services and their dependencies are example data.

FAQ

How do I change the services and their edges?

Edit FOCI at the top of the file. Each entry is a service you can pick: its name, the next version, a change clause for the caption, and two typed lists, dependsOn and usedBy, of links (id, a note, and breaking for an edge the release breaks). The curves, the glyphs, the column counts and the "3 downstream services affected" line are all computed from those lists. A side can hold up to four services; raise SLOTS for more.

How is a breaking edge shown without colour?

Three ways, none of them a colour: its curve is heavier, a round chip with a warning glyph sits on it, and the service's own box has a foreground outline, a glyph and the words "Breaks: …" in its note. Screen readers hear "Breaking change" on those services, and the caption says how many there are.

Is the SVG accessible?

The SVG and the chips are decoration, hidden from assistive technology: every fact in the drawing is in the three lists as text, in reading order (Depends on, Changing, Used by). The figure keeps its left-to-right layout in a right-to-left page, since the columns are a picture of direction, while text inside the boxes follows the page.

How does the service toggle work?

It is a single-choice Toggle Group: the arrow keys move between Orders, Billing and Search and Space or Enter picks one; pressing the chosen item again does nothing, so a service is always shown. The caption is a polite live region, so the new count is read when you switch.

How does it fit on a phone?

Below the lg breakpoint the curves are dropped and each column becomes a labelled list stacked in reading order, with the chosen service as a dark chip between the two lists. Nothing scrolls sideways at 320 pixels.

What moves, and what happens with reduced motion?

The header and the figure fade up once on load, with CSS transitions. With reduced motion they are off and the block simply appears. Choosing another service redraws the curves at once, with no animation.

  • Pro

    Dependency Graph Changelog

    Packages and versions

    An app's dependency tree with a three-way filter (All, Outdated, Vulnerable): each row shows a package, the version it has and the one it could have, an Update available badge or a vulnerability count, and a band of three counts sits above.

  • Pro

    Breaking Changes Changelog

    APIs and integrations

    A framed table of four breaking calls: the old call in a del row, the new in an ins row, who it affects and the day to migrate by, with a codemod command in a terminal strip and a Copy button.

  • Pro

    API Changes Changelog

    APIs and integrations

    A band of ruled rows listing changed API endpoints, each with its method, path, one line on what changed, a kind (Added, Changed, Removed) and its version, filtered by HTTP method with a toggle group that sums up what is showing.

  • Pro

    Monorepo Packages Changelog

    Packages and versions

    One release as a workspace tree: the facts at the start, and past a divider a tree of packages with each version bump, its kind as an icon and a word, and the packages that were bumped only because something they depend on changed.

  • Pro

    An API-version compatibility table that ends the block: a button group picks the API version you run, and each connector shows Works, Needs update or Retired on it and on the latest version.

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