Interactive wide SVG chart for dates + values. Fully keyboard accessible (≥ 4.8.42): Tab focuses the chart and activates the latest point, ←/→ step through points with the crosshair and tooltip following, Home/End jump to the ends, Esc clears — and screen readers hear each keyboard-selected point. A visually-hidden data table (srTable, on by default; ≥ 4.8.45) exposes every point to screen readers. Pass series instead of data for multiple lines (≥ 4.8.46) — shared crosshair, stacked tooltip, palette-cycled colors. Use curve="step" for prices held between samples. Pass ranges with TIME_SERIES_PRESETS or custom durationMs filters, or filter data yourself and omit ranges.
PropsTimeSeriesChartProps
Prop
Type
data?
TimeSeriesPoint[]
* Multiple index-aligned series (same dates by position). Takes precedence
—
* over `data`. Each series gets a line + crosshair dot; the tooltip and SR
—
* table stack all series at the active point. Area fill and the latest-value
Pair range with onRangeChange when the parent owns filter state — e.g. alongside a store selector in toolbarLeft.
Price history
16,352
Time series chart
Date
Value
Sep 22, 2026
16,966
Sep 29, 2026
16,791
Oct 6, 2026
16,735
Oct 13, 2026
16,607
Oct 20, 2026
16,525
Oct 27, 2026
16,350
Nov 3, 2026
16,490
Nov 10, 2026
16,317
Nov 17, 2026
16,277
Nov 24, 2026
16,343
Dec 1, 2026
16,316
Dec 8, 2026
16,484
Dec 15, 2026
16,352
time-series-controlled
Custom ranges (Norwegian)
TIME_SERIES_PRESETS ships English labels. For Norwegian UI, pass your own ranges and set locale="nb-NO" for axis/tooltip formatting.
Prishistorikk
16 352 ,-
Time series chart
Date
Value
22. sep. 2026
16 966 ,-
29. sep. 2026
16 791 ,-
6. okt. 2026
16 735 ,-
13. okt. 2026
16 607 ,-
20. okt. 2026
16 525 ,-
27. okt. 2026
16 350 ,-
3. nov. 2026
16 490 ,-
10. nov. 2026
16 317 ,-
17. nov. 2026
16 277 ,-
24. nov. 2026
16 343 ,-
1. des. 2026
16 316 ,-
8. des. 2026
16 484 ,-
15. des. 2026
16 352 ,-
time-series-ranges
valuePrefix / valueSuffix
Quick affixes for tooltip, Y-axis, and latest-value badge — without a custom formatValue. Ignored when formatValue is set. For decimal unit rates, prefer formatChartDecimal via formatValue.
56 $/gal
Time series chart
Date
Value
Mar 23, 2026
58 $/gal
Apr 6, 2026
57 $/gal
Apr 13, 2026
56 $/gal
time-series-value-affix
formatValue
formatValue formats Y-axis ticks, the latest-value badge, and the default tooltip. It is independent of locale (dates only). Use formatChartDecimal for unit rates like $/gal.
56.4 $/gal
Time series chart
Date
Value
Mar 23, 2026
58.2 $/gal
Apr 6, 2026
57.0 $/gal
Apr 13, 2026
56.4 $/gal
time-series-format-value
Custom tooltip
13,800
Time series chart
Date
Value
Mar 23, 2026
13,999
Apr 6, 2026
14,250
Apr 13, 2026
13,800
time-series-tooltip
Multiple series — shared crosshair, stacked tooltip
DieselPetrolElectric
Fuel prices by type
Date
Diesel
Petrol
Electric
Mar 23, 2026
13,999 kr
11,479 kr
7,699 kr
Apr 6, 2026
14,250 kr
11,685 kr
7,838 kr
Apr 13, 2026
13,800 kr
11,316 kr
7,590 kr
time-series-multi
Type
Shape
TimeSeriesPoint
{ date, value, label?, meta? } — date accepts Date, ISO string, or timestamp
TimeSeriesSeries
{ label, points, color? } — pass an array as series for multi-line charts (≥ 4.8.46); omit color to cycle --chart-1…5
TimeSeriesRange
{ value, label, durationMs?, disabled? } — omit durationMs for all time
Compact inline SVG trend. Add curve="step", fill, and interactive for price-style micro charts — common in DataTable cells. Interactive sparklines (≥ 4.8.43) get a tooltip and keyboard navigation (Tab, ←/→, Home/End, Esc) with screen-reader announcements; pass formatValue and ariaLabel for meaningful output. The SVG is clipped to its viewBox so stroke bleed at small sizes (e.g. 84×26) is prevented.
PropsSparklineProps
Prop
Type
data
number[]
width?
number
height?
number
w?
number
h?
number
color?
string
curve?
'linear' | 'step'
fill?
boolean
* Fill the container width instead of a fixed `width` (measured with a
—
* ResizeObserver, plotted in pixels so dots stay round). `height` still
—
* applies. Off by default — Sparkline stays a fixed micro-chart for table
Area/line chart for simple dashboards. Static and decorative by default; add interactive (≥ 4.8.43) for a crosshair, tooltip, and full keyboard navigation (Tab, ←/→, Home/End, Esc) with screen-reader announcements plus a visually-hidden data table (srTable; ≥ 4.8.45). Pass labeled points ({ value, label }) so tooltips, announcements, and the table name each point; plain number arrays keep working. Fluid width with round markers at any size (≥ 4.8.47 — plotted in real pixels, not a stretched viewBox). Use TimeSeriesChart when you need dates, ranges, or axes.
PropsAreaChartProps
Prop
Type
data
number[] | AreaChartPoint[]
height?
number
* Hover/keyboard interactivity
crosshair, tooltip, arrow-key navigation,
* and screen-reader announcements. Off by default — the static chart stays
Vertical bars with optional yellow accent on one series. Values render above each bar; pass formatValue to format them. Add interactive (≥ 4.8.44) for focusable bars: Tab reaches the chart, ←/→ move between bars, Home/End jump, Esc dismisses — each bar announces its label and value to screen readers, and hover or focus shows a tooltip. Bar-height transitions respect prefers-reduced-motion. For multiple series (≥ 4.8.49), pass series + categories for grouped bars, or add stacked for stacked bars — palette-cycled with a legend.
PropsBarChartProps
Prop
Type
data?
BarChartDatum[]
series?
BarChartSeries[]
categories?
string[]
stacked?
boolean
height?
number
* Focusable bars/columns with tooltips
Tab reaches the chart, ←/→ move
* between targets (roving tabindex), Home/End jump, Esc dismisses. Each
Donut chart with segment legend and percentages. Segment colors are optional (≥ 4.8.44) — omitted colors cycle the --chart-1…5 palette (also exported as CHART_SERIES_COLORS). Add interactive for a focusable legend: Tab reaches it, ↑/↓ move between rows, hover or focus highlights the arc, dims the others, and reveals the raw value — each row announces label, value, and share to screen readers. Add fluid (≥ 4.8.48) to scale the ring down to fit narrow containers (capped at size, stays circular; legend wraps below).
Radial dial for a single metric — disk %, load, quota (≥ 4.8.50). A 270° arc fills from bottom-left clockwise. Set tone (default/success/warning/error, token-backed like Meter) to signal thresholds, min/max for a custom range, and formatValue for the centered number. Exposes role=meter with the aria value range; the arc animation respects prefers-reduced-motion. Add fluid to scale it to the container. Complements the linear Meter.
Horizontal stacked proportion bar (≥ 4.15.0) — one rounded bar showing parts of a whole, with in-bar percentage labels and a two-column legend below. Segment colors default to SEGMENT_BAR_COLORS (yellow-on-noir intensity scale). Add interactive for focusable segments with tooltips and keyboard navigation (←/→, Home/End, Esc).
Calendar activity heatmap (≥ 4.8.51) — GitHub-contributions style. Pass data of { date, value }; cells are laid out as week columns × weekday rows and bucketed into four intensity levels (a yellow-on-noir scale, overridable via colors). Hover a cell for a date + value tooltip; the grid is aria-hidden with a visually-hidden data table as the screen-reader surface. Set weekStartsOn, startDate/endDate, formatValue/formatDate, and showLegend as needed.