kaze風
Progress
処理の進捗状況を視覚的に表示するプログレスバーコンポーネント。サイズ・カラー・ラベル対応。
プレビュー
サイズ
カラー
ラベル付き
アップロード中...72%
使いどころ
使う場面
- アップロード、書き出し、セットアップなど、終わりに向かって進む作業の進み具合
- value と max で割合を出す。showValue を付けると % を表示する
- ステップ数が決まっている手順の全体像は Stepper と併用してよい
使わない場面
- 容量の使用量や予算の消化など、上限に対する現在の量。Meter を使う(Progress は終われば満タンになる、Meter は範囲内のどこにあるかを示す)
- 終わりが分からない読み込み。Skeleton を使う
- 複数ステップの現在地。Stepper を使う
- 数値の比較や内訳。BarChart、CategoryBar を使う
使い方
<Progress value={72} label="アップロード中..." showValue />
<Progress value={45} tone="warning" size="lg" />プロパティ
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
value必須 | number | なし | 進捗値(0〜100) |
max | number | なし | 最大値 |
label | string | なし | バーの上に表示するラベルテキスト |
showValue | boolean | false | パーセンテージ値を表示するかどうか |
tone | "default" | "positive" | "negative" | "warning" | "info" | "default" | バーの意味色(旧 color) |
size | "sm" | "md" | "lg" | "md" | プログレスバーの高さ |
型と必須かどうかはソースの型定義から自動で生成しています。表にない HTML 標準の属性(className や aria-* など)も、ルート要素にそのまま渡せます。
アクセシビリティ
- role="progressbar" と aria-valuenow / aria-valuemin(0) / aria-valuemax が付く。aria-label には label が使われる
- label を省くと名前のない進捗バーになる。画面上の見出しで足りない場合も label を渡す
- 値の更新ごとに読み上げられるわけではない。完了や失敗は Toast や Alert でも伝える
文言
- label は何の進み具合かを書く(「画像をアップロード中」「データを書き出し中」)
- 完了後は Progress を残さず、結果の文言に置き換える