コンポーネント
← すべてのコンポーネント

空状態の監視

stimeo--empty-state

リストが空になったら空表示を出し、1 件でも入ったら隠す。

stimeo--empty-state コントローラは MutationObserver でリストを監視し、項目数 0 ↔ 1+ の境界でリストと空プレースホルダを切り替えます。Turbo Stream の行に対して件数監視を手書きする手間を肩代わりします。リストの要素子(または itemSelector に一致する子)を数え、list / empty ターゲットの hidden を切り替え、コントローラ要素に data-empty / data-count を反映し、境界を越えると stimeo--empty-state:change を発火します。announce を付けると(作者が未設定の場合)empty ターゲットを polite なライブリージョンにします。ライブラリは挙動のみで、プレースホルダの見た目や文言は利用側が持ちます。状態は DOM から都度判定する(モジュールスコープ状態なし)ため、connect で Turbo Stream 差し込み後も再同期し、observer は disconnect(Turbo 遷移含む)で切断します。

実行中
  • 項目 1
  • 項目 2