STAT: Single-figure statistic widgets
VARIANTS: Number | Donut
Consolidated entry for statistic display. Number is the label-above-value widget; Donut is the percentage ring used for comparison figures.
COMPONENT: Stat
VARIANTS: default | inline | lg | chip + .stat-row grouping
Label-above-value statistic widget. Used on school/course/career detail pages for key facts.
<div class="stat"><span class="stat-label">Students</span><span class="stat-value">2,100</span></div>
Use .stat-row-bordered to add a top border + 12px padding (common in detail-page summary sections).
Key facts for this provider, shown above the bordered stat row.
Label and value side-by-side instead of stacked. Lighter weight label (medium, not bold; not uppercase). Useful for compact list contexts.
Use .stat-lg to make values larger (heading-5 size). For detail-page hero summaries.
Chip (.stat-chip): bordered tile with tinted icon square — quick-fact grids on profile pages.
<div class="stat stat-chip"><span class="stat-icon">…</span><span>label + value</span></div>
COMPONENT: Donut Stat — read-only percentage ring with centred value text
VARIANTS: blue (default) | magenta | orange | green · default (72px) | sm (44px)
A conic-gradient ring driven by donut_stat_controller.js, which sets
--donut-value as a percent string (e.g. "92%") from the
data-donut-stat-value-value attribute — mirroring the progress bar's
--progress-value mechanism. The numeric value is always duplicated as
visible text inside .donut-stat-value; no inline styles are needed
in the HTML.
Colors: blue = School series (default), magenta = England comparison, orange/green = accents.
<div class="donut-stat" data-controller="donut-stat" data-donut-stat-value-value="92" role="img" aria-label="School: 92%"><span class="donut-stat-value">92%</span></div>
Small (.donut-stat-sm): 44px ring for inline catchment rows — pair with text on the right.
<div class="donut-stat donut-stat-sm donut-stat-magenta" data-controller="donut-stat" data-donut-stat-value-value="70" role="img" aria-label="70%"><span class="donut-stat-value">70%</span></div>