Skip to content
fandhe-frontendcore v0.4.3
GitHub

Chart

fandhe-frontend-wireframe-ui の棒グラフ配置イメージプレースホルダーです。<svg>/<canvas> を一切使わず div の入れ子だけで組み立てる、非インタラクティブな表示専用部品です。API は chart(values, orientation, size) の 3 引数(詳細は下の引数表を参照)です。

実データを描画するグラフが必要な場合は Bar Chart(Themes) や Charts(Themes) を検討してください。参照元(blocks.pm)のスクリーンショットは掲載しません(ライセンス保留、docs/design/wireframe-ui-architecture.md §2/§7 参照)。

Demo

縦棒(既定サイズ)

横棒

丸めの例(42 → 40)

MAX_BARS(12)を超える入力は先頭 12 本だけを描画する

Sm / Lg

引数表

引数型既定値説明
values&[u8]-棒 1 本につき 1 値。先頭 MAX_BARS(12)本だけを描画し、各値は 100 超は 100 へクランプしたのち 5 刻みへ量子化(四捨五入相当)してから固定 class を付与する。
orientationOrientationOrientation::HorizontalVertical は棒が上へ伸びる縦棒、Horizontal(既定)は右へ伸びる横棒。
sizeSizeSize::Mdサイズ段階(xs〜xl)。太さ・間隔・プロット領域の高さに反映される。

原案差分メモ

  • API は独自設計: docs/design/wireframe-ui-architecture.md §2/§7 により、blocks.pm の Figma プロパティ(種別列挙・系列数など)は書き写していません。§4/§6 の汎用変換規約と、クレート内の既存パターン(progress の 5 刻み量子化、grid::MAX_COLUMNS の資源有界化、props::Orientation の再利用)から独自に設計しました。
  • props::Orientation の再利用: divider/stack/slider に続く 4 例目の消費者です。部品ローカルの ChartKind 等は新設していません。
  • 5 刻み量子化: 棒 1 本の値は 0〜100 へクランプしたのち 5 刻みへ量子化(四捨五入相当)し、固定 class(fw-wire-chart-value-<q>、21 種)を付与します。style="--…: 42%" のような属性値の動的組み立てや data-value の出力は行いません。
  • MAX_BARS(12)による資源有界化: grid::MAX_COLUMNS と同じ値を採用し、超過分は先頭 12 本だけを描画します(panic しません)。
  • text 引数を持たない: 軸ラベル・凡例・タイトルは発明していません。動的入力は u8 列だけで固定 class 集合へ量子化されるため、既定エスケープ(REQ-1)の対象となる動的文字列は本部品に構造的に存在しません(crates/wireframe-ui/tests/chart.rs 冒頭コメント参照)。
  • SVG/canvas を使わない: div の入れ子だけで anatomy を組み立てます(プロット領域 + 棒 N 本)。
  • グレースケール配色: ColorPalette には依存せず、--fw-wire-ink-muted 系の単色で棒を塗ります。
  • スコープ外: 折れ線・面・円・散布などの種別、凡例、軸ラベル、タイトル、複数系列(グループ化・積み上げ棒)は対象外です。
  • 非対話: role/aria-*/tabindex/style/on*/<svg>/<canvas> は一切出力しません(同文書 §7 の非対話制約)。