セグメントゲージカードSegmentedGaugeCardExperimental

支出、進捗、リスクなどを複数セグメントの半円ゲージで示すカードです。

プレビュー

データ

対象: 成長投資

状態とバリエーション

標準表示

標準のセグメントゲージカードです。

支出内訳

選択セグメント

確認中の範囲セグメントを強調します。

支出内訳

凡例なし

親ビュー側で詳細を持つ場合は凡例行を隠せます。

支出内訳

コンパクト

小さなカード向けの密度です。

支出内訳

プロパティ

表は横にスクロールできます
プロパティ初期値説明
segmentsSegmentedGaugeCardSegment[]-半円アークに表示するゲージセグメントです。
value / valueLabelnumber / ReactNode-現在値とゲージ中央に表示するラベルです。
centerLabelReactNode-中央値の下に表示するラベルです。
delta / deltaDescriptionReactNode-カードヘッダーに表示する補助指標と説明です。
targetValue / targetLabelnumber / ReactNode-任意の目標マーカーとツールチップ用ラベルです。
selectedIndexnumber-確認中のセグメントを強調します。
maxnumber-セグメントと目標値の正規化に使う最大値です。
showLegendbooleantrueゲージ下にセグメント凡例を表示します。
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)

使い方

const segments = [
    { label: "基礎費", value: 35, rangeLabel: "固定費" },
    { label: "成長投資", value: 45, rangeLabel: "追加投資" },
    { label: "運用費", value: 20, rangeLabel: "運用余力" },
];

<SegmentedGaugeCard segments={segments} value={82} targetValue={90} max={100} />
<SegmentedGaugeCard segments={segments} selectedIndex={1} />
<SegmentedGaugeCard segments={segments} variant="compact" showLegend={false} />