Chord diagram
ProFlows between a handful of groups in both directions, such as plan changes or traffic between pages. Focus a group to keep only its ribbons and read them.
pnpm dlx shadcn@latest add @caliper/chord-diagram| From | Free | Starter | Team | Business | Churned |
|---|---|---|---|---|---|
| Free | 0 | 420 | 140 | 12 | 260 |
| Starter | 40 | 0 | 310 | 28 | 190 |
| Team | 8 | 90 | 0 | 160 | 120 |
| Business | 0 | 6 | 44 | 0 | 30 |
| Churned | 60 | 24 | 10 | 2 | 0 |
When to use #
Use it for
- Movement between four to eight states.
- Seeing which pairs exchange the most.
Skip it when
- Flows in one direction through stages; use the Sankey.
- Many groups; the ribbons become noise.
Installation #
pnpm dlx shadcn@latest add @caliper/chord-diagram
Adds its 3 files to components/ui/, each with its own stylesheet, and installs their packages. Pro installs with your access token, set up once per project. See Pro access. The first part also adds Caliper UI’s tokens; import them once as in Installation.
Usage #
Import it from your copy of the source. The example behind the preview comes with the source. It is built from chordLayout and ChordDiagram.
import { chordLayout, ChordDiagram } from "@/components/ui/chord-diagram"
The worked example comes with Pro
The 20-line example behind the preview opens here with a Pro or Team licence.
API reference #
chordLayout
component
No props of its own; it accepts the native props of its root element.
ChordDiagram
component
Accessibility #
It exposes group and status semantics, with aria-label and aria-busy kept in step with state. Changes that matter are announced through a live region.
Motion #
It declares no animation in its component source. Any transition comes from its stylesheet, which uses the duration tokens that collapse to instant under prefers-reduced-motion.