これらのスタイリングオプションは、
ThunderPhoneWidget ReactコンポーネントおよびThunderPhone.mount() CDNメソッドで表示されるビルド済みウィジェットに適用されます。完全にカスタムなUIが必要な場合は、代わりにヘッドレスフックを使用してください。テーマ
theme propはウィジェットの配色を制御します。ウィジェットのルートにtp--lightまたはtp--darkクラスを適用します。
どちらのテーマも、背景ぼかしと控えめな透明感を備えたグラスモーフィズムのバーデザインを使用します。
CSS カスタムプロパティ
このウィジェットは、個別のクラスに手を加えずに色を変更できる、オーバーライド可能な CSS カスタムプロパティ(変数)を公開しています。これらは、.tp-widget ルートに適用されるテーマクラス(.tp--light または .tp--dark)で定義されます。
カスタムプロパティのオーバーライド
アクセントカラーはprimaryColor プロパティで設定します。
.tp-widget.tp--light / .tp-widget.tp--dark)を使用してください。
CSS クラス
すべてのウィジェットクラスには、既存のスタイルとの競合を避けるためtp- プレフィックスが付いています。
例
Props によるカスタムアクセント
ウィジェットをブランドに合わせる最も簡単な方法:CSS によるカスタムカラー
カスタムプロパティを上書きして、カラーを完全に制御します。アクセントは CSS ではなくprimaryColor props から設定される点に注意してください:
カスタムサイズ
バー、ボタン、テキストのサイズを調整して、ウィジェットを大きくまたは小さくします:テキストラベルを非表示にする
ウィジェットのすべてのテキストは.tp-meta に含まれています。波形とボタンだけを残すには、これを完全に非表示にします:
アイドル時のラベルは
.tp-status ではなく .tp-name/.tp-sub にあります。.tp-status のみを非表示にしても、ウィジェットがアイドル状態のときはタイトルが表示されます。テーマ固有の上書き
テーマクラスを使用して、特定のテーマを対象にします:className によるスコープ設定
React コンポーネントを使用する場合は、className props を渡して、上書きを特定のウィジェットインスタンスに限定します:
primaryColor props を使用して、それぞれに独自のアクセントを設定します(--tp-accent はインラインで設定されるため、CSS では上書きできません)。
完全にカスタムな UI
CSS の上書きだけでは不十分な場合、ヘッドレスフック を使用すると完全に制御できます。すべての HTML とスタイリングを用意し、useThunderPhone が音声セッションを処理します。このフックは、波形のようなオーディオ反応型ビジュアライゼーションを構築するための audioLevelRef も提供します。