Tinyrack

Progress

サイズと意味のあるステータス軸を持つ確定・不確定のタスク進行状況です。

主なプロパティ

プロパティ既定値
variantneutral, info, success, warning, dangerneutral
uiSizemd, lgmd
partsRoot, Label, Track, Indicator, Valuecompound API

インストール

pnpm add @tinyrack/ui

長い行はコード領域を横にスクロールして確認できます。

スタイル

@import '@tinyrack/ui/components/progress.css';

長い行はコード領域を横にスクロールして確認できます。

インポート

import { TRProgress } from '@tinyrack/ui/components/progress';

長い行はコード領域を横にスクロールして確認できます。

プレイグラウンド

使用方法

サイズ パーマリンク

周囲のレイアウトに合うトラックの太さを選んでください。サイズはタスクの重要度を表しません。

セマンティックバリアント パーマリンク

タスクの意味に合わせて `variant` を設定してください。Progress は数値だけから状態を推測しません。

カスタム範囲とフォーマット パーマリンク

視覚的な塗り、表示値、アクセシブルな値テキストはすべて同じ 0–64 GB の範囲を共有します。

API

Base UI が値のセマンティクスを提供します。不確定プログレスには null を渡して aria-valuenow を省略します。視差効果を減らす設定では、動くインジケーターが無効になります。

Root のプロパティ

prop既定値用途
valuenumber | null必須現在値。null は不確定プログレス
minnumber0範囲の最小値
maxnumber100範囲の最大値
formatIntl.NumberFormatOptionsValue と既定のアクセシブルな値テキストを整形
localeIntl.LocalesArgument実行時ロケールIntl.NumberFormat のロケール
getAriaValueText(formattedValue, value) => string組み込みaria-valuetext をカスタマイズ
uiSizemd | lgmdトラックの太さ
variantneutral | info | success | warning | dangerneutral意味に応じた塗りの色
renderBase UI render prop<div>動作を維持しながらルート要素を置換

TRProgressStatus'indeterminate' | 'progressing' | 'complete' です。Root とすべての part は対応するネイティブ prop、classNamestyleref も受け取ります。

パーツ

part既定の要素用途
Rootdivアクセシブルな progressbar と範囲コンテキスト
Labelspan表示されるアクセシブルな名前
Trackdiv範囲全体の面
Indicatordiv確定の塗りまたは不確定のモーション
Valuespan整形された表示値

トークン

CSS token既定値用途
--tr-progress-background--tinyrack-surface-mutedトラックの表面
--tr-progress-fill意味に応じた variant 色インジケーターの塗り
--tr-progress-heightサイズレシピトラックの太さ
--tr-progress-radius--tinyrack-radius-fullトラックの角丸
--tr-progress-duration--tinyrack-duration-normal確定した幅の遷移時間
--tr-progress-easing--tinyrack-ease-out確定した遷移の easing
--tr-progress-indeterminate-duration--tinyrack-duration-loading不確定アニメーションの周期
--tr-progress-indeterminate-easing--tinyrack-ease-linear不確定アニメーションの easing
--tr-progress-indeterminate-width40%動くインジケーターの幅