RadarChart

data-display

SVG radar/spider chart with configurable dimensions (3-8 axes), concentric grid, data polygon with fill and stroke, axis labels with values, and optional center overall score. Teal palette from Stitch Aetheris Observatory design system.

Import

typescript
import { RadarChart } from "packages/ui/src";

Props

RadarChartProps

PropTypeRequired
dimensionsRadarDimension[]Yes
titlestringNo
overallScorenumberNo
sizenumberNo

Examples

Data Visualization

Radar Chart

Pure SVG radar/spider chart — no external charting library. Supports 3-8 dimensions with concentric grid, data polygon, axis labels, and optional center score. Fourth pipeline-generated component via Stitch Aetheris Observatory design system.

Behavioral Profile Radar

5-dimension analysis from the Stitch “Aetheris Observatory” design. Teal palette (#44e5c2 / #00c9a7) on dark surface.

Life Liquidity Score

Dimension Breakdown

Financial Health
85
Physical Wellness
72
Mental Clarity
90
Social Capital
65
Protection Coverage
78

Team Capabilities

6-dimension skill radar — demonstrates variable axis count.

Engineering Team

Skill Analysis

Frontend
92
Backend
78
DevOps
65
Design
88
Testing
70
Documentation
55

Project Health

4-dimension project quality radar — demonstrates minimal axis count.

CMS-aiChemist

Pipeline Story

1

Brain Query

NotebookLM recommended “Behavioral Profile Radar” as next component

2

Stitch Design

Generated “Aetheris Observatory” design system with 5-dimension radar

3

Token Extraction

16 radarChart tokens added — teal palette, grid, fill, stroke, dots, labels

4

Component Build

Pure SVG RadarChart.tsx — no Chart.js dependency, BEM CSS, token-driven

5

Deploy

Built, tested, drift-checked, deployed to cms.chem.dev/radar

Metadata

Component Metadata
Familydata-display
FrameworksNext.js, Astro/EmDash
DescriptionSVG radar/spider chart with configurable dimensions (3-8 axes), concentric grid, data polygon with fill and stroke, axis labels with values, and optional center overall score. Teal palette from Stitch Aetheris Observatory design system.
PropsRadarChartProps (dimensions: RadarDimension[], title?: string, overallScore?: number, size?: number)
Statesdefault, hover
A11y
  • SVG is aria-hidden
  • Title is visible text heading
  • Score values in labels are visible text
Responsive
  • max-width 320px SVG, scales with container
  • Labels adjust text-anchor by position
Motion
  • Fill opacity transition 300ms ease
Token Dependencies
  • components.radarChart.background
  • components.radarChart.borderRadius
  • components.radarChart.gridColor
  • components.radarChart.gridStrokeWidth
  • components.radarChart.axisColor
  • components.radarChart.fillColor
  • components.radarChart.fillOpacity
  • components.radarChart.strokeColor
  • components.radarChart.strokeWidth
  • components.radarChart.dotColor
  • components.radarChart.dotRadius
  • components.radarChart.labelColor
  • components.radarChart.valueColor
  • components.radarChart.titleColor
  • components.radarChart.scoreColor
  • components.radarChart.scoreBgColor
Content Slotsdimensions[].label (string), title (string)
CMS Bindings
  • Dimension data from CMS JSON field
  • Title from CMS string field
Test Cases
  • Renders all dimension labels
  • Renders title when provided
  • Renders overall score in center
  • Clamps values to 0-100
  • Passes className through