ゲージチャートGaugeChartExperimental

スコアや進捗、容量を示す半円ゲージです。

プレビュー

データ

状態とバリエーション

標準表示

スコアや進捗の現在値を半円で示す、SSOT 登録済みの標準バリエーションです。

コンパクト

狭いカードやサイドパネルで高さを抑える SSOT 登録済みバリエーションです。

容量レンジ

最大値を変更して、容量や上限付きの使用量を示す状態です。

最小値あり

最小値が 0 ではない範囲でも、現在値を正規化して表示できます。

警告色

負荷や注意が必要な状態を warning カラーで示します。

高リスク

高リスクや危険域に近い値を destructive カラーで示します。

プロパティ

表は横にスクロールできます
プロパティ初期値説明
valuenumber-半円ゲージに表示する現在値です。
minnumber0正規化に使う最小値です。
maxnumber100正規化に使う最大値です。
variant"compact" | "default""default"チャートサイズを切り替える SSOT 登録済みバリエーションです。
colorChartColor-アクティブな円弧のトークンカラーです。未指定時は primary を使います。
labelReactNode-値の下に表示する補足ラベルです。
valueLabelReactNode-ゲージ内に表示する任意の表示値です。
formatValue(value: number) => ReactNode-ゲージとツールチップ範囲に表示する値を整形します。関数propのため Client Component からのみ渡すこと(Server Component から渡すと next build が落ちる)。RSC 安全な整形には valueFormat を使う。
valueFormat"number" | "compact" | "integer" | Intl.NumberFormatOptions-シリアライズ可能な数値フォーマット=formatValue の RSC 安全な代替。formatValue 指定時は無視。en-US ロケール固定で整形。(#338)
rangeLabelReactNode"Range"ツールチップとアクセシビリティテキストで min/max 範囲の前に表示するラベルです。

使い方

import { GaugeChart } from "@gunjo/ui";

<GaugeChart value={82} label="スコア" valueLabel="82%" formatValue={(value) => `${value}%`} rangeLabel="範囲" />
<GaugeChart value={420} max={500} label="容量" />
<GaugeChart value={64} variant="compact" color="success" />
<GaugeChart value={260} max={500} color="warning" formatValue={(value) => `${value}GB`} />