Radial Bar
Progress of one or several items as concentric rings over a track — goals, quotas, completion. Drawn as SVG by the component, rendered on the server and themed by the design tokens.
Part of @tectra-ng/charts (npm install @tectra-ng/charts, also included in tectra-ng).
Basic
One ring per item, from the outside in, each filled up to its share of max (100). The centre shows the average under totalLabel; hover a ring to see its own share.
| Category | Value | Share |
|---|---|---|
| Design | 92 | 92% |
| Build | 68 | 68% |
| Review | 45 | 45% |
| Release | 20 | 20% |
Single
A single item fills one ring and always shows its share in the centre. Its own max sets the full ring; hole widens the centre.
| Category | Value | Share |
|---|---|---|
| Storage used | 640 | 64% |
Horseshoe
startAngle and endAngle turn the rings into any arc — here a horseshoe open at the bottom. The chart fits the arc into its box.
| Category | Value | Share |
|---|---|---|
| Revenue | 84 | 84% |
| New clients | 61 | 61% |
| Retention | 93 | 93% |
Center
centerValue="value" puts the value instead of the share in the centre, formatted by valueFormat. Each item has its own max; legendValues adds the value and the share to the legend.
| Category | Value | Share |
|---|---|---|
| Steps | 7.4K | 74.2% |
| Active minutes | 38 | 63.3% |
| Floors | 9 | 90% |
Legend
The stat legend shows the values in large type with the share under them and replaces the tooltip. A click on a legend item hides its ring.
| Category | Value | Share |
|---|---|---|
| Platform | 76 | 76% |
| Mobile | 58 | 58% |
| Web | 89 | 89% |
Events
barClick reports the clicked ring with its value and share; barToggle reports legend changes.
| Category | Value | Share |
|---|---|---|
| Tests | 96 | 96% |
| Docs | 70 | 70% |
| Translations | 35 | 35% |
Click a ring or a legend item.
Loading and empty
loading keeps the size with a skeleton; empty items (or only null values) show "No data".
Live
New items redraw in place — every ring slides to its new length and the centre follows.
| Category | Value | Share |
|---|---|---|
| Move | 15 | 15% |
| Exercise | 44 | 44% |
| Stand | 76 | 76% |
Accessibility
Tab to the chart: the arrow keys walk the rings, Home / End jump to the outer and inner ring, Escape clears the focus. Each ring is announced with its value and share; screen readers also get a summary and a hidden data table.
| Category | Value | Share |
|---|---|---|
| Videos | 80 | 80% |
| Quizzes | 55 | 55% |
| Project | 30 | 30% |
Design tokens
dt sets the ring thickness (share of each slot), the track colour, the centre text and the palette of one chart.
| Category | Value | Share |
|---|---|---|
| Done | 72 | 72% |
| In review | 18 | 18% |
Pass through
pt reaches the parts — track, bar, center, legend, plot, tooltip and more. Here the track is dotted.
| Category | Value | Share |
|---|---|---|
| Marketing | 64 | 64% |
| Hiring | 41 | 41% |
Unstyled
unstyled removes the tectra styles: no tokens, no motion — the rings, the round ends, the tooltip and the keyboard stay, ready for your own CSS.
| Category | Value | Share |
|---|---|---|
| A | 70 | 70% |
| B | 35 | 35% |