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

テーマ切替

stimeo--theme

light/dark/system の選択を永続化し、ルートへ適用する。

stimeo--theme コントローラは light / dark / system の選択を localStorage に永続化し、system のあいだは OS の prefers-color-scheme に追従し、実効テーマをルートへ書き込んで利用側 CSS に渡します — 配色は持たず、状態フックだけを提供します。正規契約は 3 値の radiogroup で(system を提供するなら必ずこちら)、各選択肢は role="radio" + aria-checked +ロービング tabindex を持ち、矢印キーで移動・選択します(APG radio)。単一ボタン(aria-pressed)の 2 値構成は light↔dark 専用で、system は押下/非押下のトグルでは表現できないため扱いません。実効テーマ(light/dark)を data-theme と color-scheme で target(既定 html)へ付与し、フォーカスは移動せず、matchMedia を監視して system が OS 変更に追従します。stimeo--theme:change を発火し、matchMedia リスナは disconnect(Turbo 遷移含む)で解除します。初回描画の FOUC 対策は <head> の小さなインラインスニペットで行い、本コントローラの責務ではありません。ライブラリは挙動のみを提供し、配色は data-theme を見るこの Playground の CSS が持ちます。

実行中

プレビュー

このボックスだけローカルにテーマ適用されます — ページ自体は変わりません。

キーボード操作

キー動作
→ / ↓ 次のテーマ選択肢へ移動して選択する(radiogroup)。
← / ↑ 前のテーマ選択肢へ移動して選択する。
Home / End 最初 / 最後の選択肢を選択する。
Enter / Space フォーカス中の選択肢を実行する(単一ボタンでは切替)。