這些樣式選項適用於由
ThunderPhoneWidget React 元件和 ThunderPhone.mount() CDN 方法呈現的預建小工具。如果你需要完全自訂的 UI,請改用無介面 hook。主題
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 自訂顏色
覆寫自訂屬性以完整控制顏色。請記得,強調色來自primaryColor prop,而不是 CSS:
自訂尺寸
調整列、按鈕與文字尺寸,讓小工具變大或變小:隱藏文字標籤
小工具的所有文字都位於.tp-meta。完全隱藏它,只保留波形與按鈕:
閒置標籤位於
.tp-name/.tp-sub,而不是 .tp-status——僅隱藏 .tp-status 時,小工具閒置期間仍會顯示標題。特定主題覆寫
使用主題 class 鎖定特定主題:使用 className 設定範圍
使用 React 元件時,傳入className prop,將覆寫設定限定在特定小工具執行個體:
primaryColor prop 為每個執行個體設定專屬強調色(CSS 無法覆寫 --tp-accent——它會以 inline 方式設定)。
完全自訂 UI
如果 CSS 覆寫不足,無介面 hook 可讓你完全掌控。你提供所有 HTML 與樣式,而useThunderPhone 負責處理語音工作階段。此 hook 也提供 audioLevelRef,可用於建立波形等會隨音訊反應的視覺效果。
