Lompat ke isi
CirccaHIG

Komponen / Grafik & jadwal

DonutChart

Donut berangka tengah untuk komposisi satu populasi menurut status (Bersih · Peringatan · Menahan), dengan legenda daftar "3 · 50%". ProgressRing untuk satu nilai: ring KPI dan mini ring kualitas data.
React · BetaFigma · siapFigmaSumber

Import

tsx
import { DonutChart, ProgressRing } from '@divistant/circca-react';

Props · DonutChart

Dirender sebagai <div role="group" aria-label={label}>. Donut aria-hidden; legenda (atau tabel sr-only bila legend={false}) membawa angka.
PropTipeDefaultKeterangan
dataChartDatum[]—Segmen searah jarum jam dari jam 12: { label, value, tone?, valueLabel?, id? }. Tanpa tone → dataviz/cat-* berurutan.
labelstring—Nama grafik untuk pembaca layar dan judul tabel data: "Status orang di PE".
centerValueReactNode—Angka besar di tengah (Display/Page title).
centerLabelReactNode—Keterangan angka tengah (Footnote/Default fg/muted): "belum bersih".
sizenumber140Diameter maksimum (px); menyusut mengikuti wadah.
thicknessnumber24Tebal cincin (px).
gapnumber0,04 rad × jari-jariCelah antarsegmen (px). 0 = tanpa celah. Segmen tunggal tanpa celah.
legendbooleantrueLegenda daftar di kanan (ChartLegend layout list).
formatValue(datum, total) => ReactNode"3 · 50%"Teks nilai legenda.
emptyLabelReactNode"Belum ada data"Teks tengah saat semua nilai 0.
classNamestring—Kelas tambahan (digabung aman dengan tailwind-merge).

Props · ProgressRing

Tanpa caption: role="img" aria-label="<label> <persen>". Dengan showLabel/note: teks terlihat + persen sr-only.
PropTipeDefaultKeterangan
valuenumber—Nilai saat ini (dipotong ke 0…max).
maxnumber100Target/populasi: value={3} max={5}.
toneChartTone'accent'accent (KPI), warning (belum lengkap), success (lengkap), atau cat-*.
size'sm' | 'md' | number'sm'sm = 40 px tebal 6; md = 64 px tebal 7; angka = px.
thicknessnumber—Tebal cincin (px); bawaan mengikuti size.
labelstring—Apa yang diukur: "Rekening". Membentuk nama aksesibel "Rekening 60%".
showValuebooleanfalsePersen di tengah (Footnote/Medium). Cocok untuk md.
valueLabelReactNode—Pengganti persen di tengah, mis. "5/6".
showLabelbooleanfalseTampilkan label di bawah cincin.
noteReactNode—Catatan di bawah label: "3/5 · sisa 2", "5/5 ✓".
noteTone'muted' | 'success' | 'warning' | 'danger''muted'Warna catatan (*/fg).
decorativebooleanfalsearia-hidden bila angka sudah ada di teks sekitar (ring KpiCard).

Sumber

Kode komponen ada di packages/react/src/components/donut-chart. Gaya hanya memakai kelas token Circca HIG — tidak ada warna, spasi, atau radius mentah.

Esc
↑↓ pilih↵ buka12 hasil