Tag
分類・キーワードラベルを示す、ピル形状の非インタラクティブなローファイ・プレースホルダーです。fandhe_frontend_wireframe_ui::tag の Rust API は label(必須のタグ文言)・size(Size 5 段)・primary(強調・反転色バリアント)・remove(削除「×」アイコンスロット、Option<Node>。見た目のみで対話操作は行わない)を受け取ります。
視覚的な参照元は blocks.pm の Tag 部品です。本ページは blocks.pm のスクリーンショットや外観・プロパティ構成をそのまま取り込みません(詳細は docs/design/wireframe-ui-architecture.md §2)。参照したい場合は外部リンク先を直接確認してください。
実際に操作可能なタグ入力・削除機能が必要な場合は、Themes の Tag / Tags Input、または Primitives の Tags Input を使用してください。
Demo
既定(Md)
draft強調(Primary)
重要削除アイコン付き(remove)
removable強調 + 削除アイコン付き
urgentSm / Lg
小サイズ 大サイズ複数タグの横並び
design frontend wireframe引数表
| 引数 | 型 | 既定値 | 説明 |
|---|---|---|---|
| label | &str | - | 必須のタグ文言。 |
| size | Size | Size::Md | サイズ段階(xs〜xl)。フォントサイズに反映される。 |
| primary | Primary | Primary(false) | true のとき強調(反転色)バリアントにする。 |
| remove | Option<Node> | None | Some(icon::x(size)) を渡すと削除「×」パートを出力する(見た目のみ、対話操作は行わない)。 |
原案差分メモ
- API は §6 から独立設計:
docs/design/wireframe-ui-architecture.md§6 の汎用変換規約(Size軸 + 強調 bool + テキスト + 表示状態 bool)から独立設計しており、blocks.pm の Tag 部品の Figma プロパティ構成をそのまま転写したものではありません。 - スクリーンショット非掲載: イシュー #2602 で参照スクリーンショット(
docs/design/reference-screenshots/wireframe-*.png)の取り込みは不採用が確定しているため、blocks.pm への外部リンクで代替しています。 - 削除「×」は §11.4 の
Option<Node>スロット規約に従う: 設計文書 §11.4 はtagをアイコン差し替え(instance swap)スロット規約の標準適用先として明示的に列挙しています。Link 部品(link.rs)のtrailingと同型のremove: Option<Node>として受け取り、呼び出し側がSome(icon::x(size))を渡したときのみ削除パートを出力します。 - ピル形状・グレースケール反転:
border-radius: 999pxの固定ピル形状とし(--fw-wire-radius〔角丸カード等向けの小さい値〕は使わない)、primaryの反転時は削除アイコンの色を--fw-wire-ink-mutedではなく--fw-wire-fill(明るいトークン)へ切り替えています。暗地上でink-mutedを使うとコントラスト不足になるためで、Annotation 部品(イシュー #2617)と同じ判断軸です(設計文書 §3「黒塗り二値を強制せず読みやすさ優先」)。 - 非インタラクティブ: 削除「×」は
<button>にせず、見た目だけの表示専用パートです。role/aria-*/tabindex/実際の削除操作は一切実装しません。