Krizaka UI
Krizaka UI
Components

KPI stat

A key figure with its change against the previous period and a sparkline of the period, on the kit's Stat.

WebBetaCharts

Web only — React, from @krizaka/charts/card. Beta: its API may still change in a minor version.

Why it is here. Orazaka's dashboard head: jobs, success rate, time to a result, spend (#253).

When to use

  • The head of a dashboard: jobs, success rate, time to a result, spend.
  • Anywhere a figure needs its direction and its shape at a glance.

When not to use

  • A chart the reader will explore.Use instead: Line chart
  • A value against a limit.Use instead: Gauge

Installation

Install

npm install @krizaka/charts

Import

import { KpiStat } from "@krizaka/charts/card";

Examples

A dashboard row

Four figures in a StatGrid, with sparklines and trends.

Jobs

195

+24% vs previous periodlast 8 days

Jobs

Sparkline, 8 (1 – 8). Jobs: from 12 to 41, lowest 9 (3), highest 41 (8), up 242%.

Jobs — data
CategoryJobs
112
218
39
422
531
627
735
841

Success rate

94%

+3% vs previous periodcompleted / all

Median time

3.2 min

-24% vs previous periodto a result

Median time

Sparkline, 8 (1 – 8). Median time: from 4.2 min to 3.2 min, lowest 3.2 min (8), highest 5.1 min (3), down 24%.

Median time — data
CategoryMedian time
14.2 min
24.6 min
35.1 min
44.4 min
53.9 min
63.7 min
73.5 min
83.2 min

Credits spent

1,240

+13% vs previous periodthis period

One figure

A rise in latency is bad: good=down.

Time to a result

48 sec

+55% vs previous periodmedian, last 7 days

Time to a result

Sparkline, 7 (1 – 7). Time to a result: from 31 sec to 48 sec, lowest 29 sec (2), highest 48 sec (7), up 55%.

Time to a result — data
CategoryTime to a result
131 sec
229 sec
335 sec
438 sec
541 sec
644 sec
748 sec

Props

A key figure, its change against the previous period and the shape of the period.

PropTypeDefaultDescription
labelrequiredstring—What the figure is (“Jobs”).
valuerequirednumber—The figure for the period.
brandBrandId—The brand whose palette the charts use. Without it, a chart follows a .brand-<id> ancestor, else Krizaka. Set it when the app loads a brand stylesheet on :root (@krizaka/tokens/brands/orazaka.css).
categoriesreadonly unknown[]—The labels of data (dates), for the sparkline's summary and table.
colorSeriesColor—The sparkline's colour. Default: the brand's.
datareadonly (number | null)[]—The shape of the period, oldest first (null for a gap). Without it, no sparkline.
formatValueFormat—How it is written. Default "number".
good"up" | "down"upWhich direction is good news. Default "up"; "down" for latency, failures, spend.
hintReactNode—A line under the value: the period, the comparison.
labelsChartLabelsInput—The words, translated: the buttons, the states, the written summary.
localeLocale—The locale of every figure and date ("fr-FR"). Default "en-US".
previousnumber—The same figure for the previous period: the trend is computed from it.
trendLabelReactNode—Your own words for the change instead of “+12 % vs previous period”.
variant"area" | "line" | "bar"areabar for discrete counts (jobs per day), area (default) or line.

Accessibility

  • The change is written (+24 % vs previous period), never colour or arrow alone.
  • The sparkline has its own accessible summary; the figure is read as text.

Best practices

  • Pass previous and the trend is computed and written in words; the arrow is only decoration.
  • Use good=down for latency, failures and spend: the arrow's colour says whether the change is good news.
  • Put several in a StatGrid of the kit: they wrap with the width.

Generated from the code of @krizaka/ui 3.19.0: its meta.ts, its examples and its types.Edit this documentation on GitHub

On this page