テーマスタジオ
テーマスタジオはインタラクティブなツールです:プリセットを選び、トークンごとに色を変え、リアルタイムにプレビューし、最後にそのまま使える SCSS ファイルをエクスポートします。
主要テキスト·通常テキスト·補助テキスト
編集したトークンはプレビュー領域にのみ適用されます(ConfigProvider と同じ仕組み)。エクスポートされたファイルにはダークモード適用も含まれます。
使い方
- プリセットを選ぶ:上部のドロップダウンで 5 セットの内蔵カラーパレット(青花瓷 / 松花绿 / 朱砂 / 水墨 / 藤黄)を切り替えます。プリセットは自身が宣言するトークンだけを上書きし、それ以外は現在の値を保ちます。
- トークンを変える:各トークングループにカラーピッカーと hex テキストボックスがあり、両者は同期します。「デフォルトチェーンに追従」と印されたオプショントークン(例:
--lh-selected-color)は空のままにするとスタイルシートのデフォルトの派生関係に従います。 - プレビュー:プレビュー領域はリアルな lh-ui コンポーネントで描画され、トークンは局所的な CSS 変数として注入されます(
LhConfigProviderと同じ機構)。プレビュー領域自身にだけ作用し、サイトには影響しません。明 / 暗を切り替えて暗色対応の効果を確認できます。 - エクスポート:コピーまたはダウンロードした SCSS テキストには
:rootトークンブロックと[data-theme='dark']暗色ブロックが含まれます。暗色のロジックは share のプリセット機構と完全に同源です(濃いメインカラーのプリセットは暗色で自動的にメインカラーを明るくしないと、ボタンと背景が一体になってしまうため)。
エクスポートテキス トの構造
/* lh-ui カスタムテーマ —— テーマスタジオが生成(2026-01-01) */
@use '@lh-ui/share/styles/index.scss';
:root {
--lh-primary-color: #2B4C7C;
/* ... */
}
[data-theme='dark'],
.dark {
--lh-primary-color-bg: color-mix(in srgb, var(--lh-primary-color) 25%, transparent);
/* ... */
}
@useが全量のトークン基準を読み込み、:rootブロックは変更したトークンだけを上書きします。- 暗色ブロックは
buildPresetDarkVarsが推導し、プレビュー領域で見たものと完全に一致します。
注意事項
<style> 要素にしか書けないプリセット変数を適用する時は <style> 要素(特異性 0,1,0)に書き、「documentElement」のインライン style には書かないでください —— インラインの特異性 1,0,0,0 はすべてのスタイルシートより高く、var-dark.scss の暗色変数の全区間を圧倒し、暗色モードの配色が歪みます。ライブラリ内の useLhPresetTheme も本サイトの FOUC 防止スクリプトも この約束に従っています。
浅いメインカラーのプリセット(松花绿 など)では --lh-color-on-primary(メインカラーを地色にする時に墨色の文字にする)と --lh-selected-color(選択状態の文字を別途濃くする)を明示的に宣言する必要があります。そうでないと白い文字が浅いメインカラーの上で AA コントラストに達しません。内蔵プリセットはすでに処理済みで、カスタマイズする時は自分で確認してください。
本ページのツールは lh-ui-plus の ThemeStudio から移植され、トークンのデフォルト値、グループ分け、暗色の推導ロジックはすべて一致しています。エクスポートした SCSS は 2 つのライブラリで共通に使えます(トークン定義は共有層 @lh-ui/share/styles/theme/common/var.scss にあります)。