sashigane
コンポーネント

List

項目を縦に並べる。区切り線も付けられる

行頭の記号は既定で出しません

素の ul の点や数字は初期化で消えます。戻すのは選んだときだけにしています—— 並べたものが文章とは限らないためです(ラベルの一覧、設定の行)。

<List>…</List>                      {/* 記号なし */}
<List marker="bullet">…</List>      {/* 点 */}
<List ordered marker="number">…</List>  {/* 数字 */}

順序があるリストには ordered を付けてください

ordered を付けると ol になります。見た目ではなくマークアップが変わるので、 読み上げが「1番目の項目」のように順序を伝えられるようになります。

数字が見えているだけでは足りません。 marker="number" は見た目だけを変え、 ordered はマークアップを変えます。順序のあるリストには両方付けてください。

区切り線は各項目の上辺に引かれます

先頭の項目だけ線が付きません。 リストの上端に線が残ると、外側に枠があるように 見えてしまうためです。

線を付けると項目どうしの余白は詰まります——線が区切りの役目を担うので、 余白と二重にしません。

<List separated>
  <ListItem separated>設定の行</ListItem>
  <ListItem separated>線で区切られています</ListItem>
</List>

枠から項目へは自動で降りません

separated は枠と項目の両方に書きます。li は枠の直下とは限らず、 間に何かを挟んだときに静かにずれるためです。

項目の中は自由です

ListItem は li を作るだけです。リンクにしたいときは中にリンクを置いてください—— li そのものを差し替えると、並びの意味が壊れます。

3つの状態

通常・空・エッジケースの3つは、どのコンポーネントにも必ずあります。

通常default.tsx

通常。行頭の記号は既定で出さない。

  • 印の無い並び
  • 枠は縦に並べて間を空けるだけ
  • 点の付いた並び
  • 文章の中で使う
  1. 順序のある並び
  2. 読み上げも順序を伝えます

空empty.tsx

空。項目が無いとき。

  • まだ何もありません

エッジケースedge.tsx

エッジケース。線で区切るときと、項目の中身が長いとき。

  • 設定の行
  • 線で区切られています
  • 最初の項目だけ上に線がありません
  • 項目の中身が長いとき。折り返しても印の位置は動かず、2行目以降は印の右側に揃います。 Supercalifragilisticexpialidocious のような長い語も枠を破りません。

props

Prop

Type

型と説明はコンポーネントのソースから抽出しています。既定値は出していません——cva の defaultVariants は 署名に現れないので、表に出すと「引数のデフォルトが書かれているものだけ」になり、嘘になります。

On this page