Krizaka UI
Krizaka UI
Composants

Chart card

The frame of a chart: title, one line of insight, the chart, a footer, and the actions menu (view as table, download, copy) — used everywhere a chart is shown.

WebBêtaGraphiques

Web uniquement — React, depuis @krizaka/charts/card. Bêta : son API peut encore changer à une version mineure.

Pourquoi il est là. The one frame of every chart of Orazaka's dashboard and usage pages (#253).

Quand l’utiliser

  • Every chart of a dashboard or a usage page: the same frame, the same hierarchy, the same actions.
  • A chart that needs a period switch or a filter beside its actions menu.

Quand ne pas l’utiliser

  • A figure with its trend.À la place : KPI stat
  • A chart that sits inside running text.À la place : Sparkline
  • On React Native: the native charts draw their own frame.

Installation

Installer

npm install @krizaka/charts

Importer

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

Exemples

Jobs per day

Stacked bars by outcome, an insight, a footer and the actions menu.

Jobs per day

195 jobs · +24 % vs the week before

Bar chart, 2 × 8 (Oct 3 – Oct 10). Completed: from 12 to 41, lowest 9 (Oct 5), highest 41 (Oct 10), up 242%. Failed: from 1 to 2, lowest 0 (Oct 4), highest 3 (Oct 7), up 100%.

Jobs per day — data
DayCompletedFailed
Oct 3121
Oct 4180
Oct 592
Oct 6221
Oct 7313
Oct 8270
Oct 9351
Oct 10412

Read from your own jobs — nothing estimated.

What you made

A donut whose legend chips carry values and filter the ring.

What you made

195 jobs, most of them images

Jobs by kind, last 7 days.

Donut chart, 4. Images 96 (49%), Video 41 (21%), Audio 33 (17%), Text 25 (13%). Total 195.

What you made — data
KindJobs%
Images9649%
Video4121%
Audio3317%
Text2513%
Total195100%

Sparse and empty

The time axis zoomed on the active period, and a calm empty state.

Jobs per day

100 jobs on Sep 28

Bar chart, 7 (Sep 22 – Sep 28). Jobs: from 0 to 100, lowest 0 (Sep 22), highest 100 (Sep 28).

Jobs per day — data
CategoryJobs
Sep 220
Sep 230
Sep 240
Sep 250
Sep 260
Sep 270
Sep 28100

Failed jobs

Nothing failed yet

No data for this period yet.

No data for this period yet.

Before and after

The same chart bare, then in a ChartCard.

Before

Jobs per day

Bar chart, 7 (Mon – Sun). Jobs: from 12 to 35, lowest 9 (Wed), highest 35 (Sun), up 192%.

Jobs per day — data
CategoryJobs
Mon12
Tue18
Wed9
Thu22
Fri31
Sat27
Sun35

After

Jobs per day

154 jobs · busiest on Sunday

Bar chart, 7 (Mon – Sun). Jobs: from 12 to 35, lowest 9 (Wed), highest 35 (Sun), up 192%.

Jobs per day — data
CategoryJobs
Mon12
Tue18
Wed9
Thu22
Fri31
Sat27
Sun35

Source: your own jobs.

Props

The frame of a chart: title, insight, actions, chart, footer — used everywhere a chart is shown.

PropTypeDéfautDescription
childrenrequisReactNode—The chart (LineChart, BarChart, DonutChart…), without its own title.
titlerequisstring—What the chart shows, in a few words (a heading and the chart's accessible name).
actionsReactNode—Controls beside the actions menu: a period switch, a filter.
classNamestring—A class on the card (layout: grid placement).
descriptionReactNode—The period, the unit, the source — under the insight.
footerReactNode—A line under the chart: the source, the freshness, a link.
idstring—The id of the card.
insightReactNode—One line that says what the chart shows: “100 jobs · +100 % vs last week”. Written by the app, from its data.

Accessibilité

  • The chart keeps its data table in the page, its written summary and its keyboard walk inside the card.
  • The actions menu is a real menu: arrow keys, Escape, focus returned to the ⋯ button; the table opens in a sheet with a focus trap.
  • Legend chips are toggle buttons (aria-pressed); the last visible series cannot be switched off.

Bonnes pratiques

  • Write the insight from the data, in one line: the figure first, then the change (100 jobs · +100 % vs last week).
  • Leave the chart without a title: the card hands it its own, which stays the chart's accessible name.
  • Zoom the time axis on the period that has data with autoRange rather than drawing empty days.
  • Keep the footer for the source and the freshness; never a second insight.

Générée depuis le code de @krizaka/ui 3.19.0 : son meta.ts, ses exemples et ses types.Modifier cette documentation sur GitHub

Sur cette page