Skip to main content
Widgeten renderas som en glassmorfisk stapel med inbyggda ljusa och mörka teman. Anpassning är möjlig på tre nivåer: props för vanliga alternativ, anpassade CSS-egenskaper för teman och åsidosättningar av CSS-klasser för full kontroll.
Dessa stilalternativ gäller den förbyggda widgeten som renderas av React-komponenten ThunderPhoneWidget och CDN-metoden ThunderPhone.mount(). Om du behöver ett helt anpassat användargränssnitt använder du i stället headless-hooken.

Teman

Propen theme styr widgetens färgschema. Den tillämpar klassen tp--light eller tp--dark på widgetens rotelement:
Båda teman använder den glassmorfiska stapeldesignen med oskärpa i bakgrunden och diskret transparens.

Anpassade CSS-egenskaper

Widgeten exponerar anpassade CSS-egenskaper (variabler) som du kan åsidosätta för att ändra färger utan att röra enskilda klasser. De definieras av temaklassen (.tp--light eller .tp--dark) som tillämpas på roten .tp-widget:

Åsidosätta anpassade egenskaper

Ange accentfärgen via propen primaryColor:
--tp-accent anges som en inline-stil från propen primaryColor, så åsidosättningar av --tp-accent i formatmallar har ingen effekt. Ändra accentfärgen med propen. Alla andra anpassade egenskaper kan åsidosättas i CSS.
Åsidosätt de andra anpassade egenskaperna med CSS. Använd en väljare med två klasser (.tp-widget.tp--light / .tp-widget.tp--dark) så att din regel har högre prioritet än temaklassen som definierar standardvärdena, oavsett ordningen i formatmallen:

CSS-klasser

Alla widgetklasser har prefixet tp- för att undvika konflikter med dina befintliga stilar.

Exempel

Anpassad accentfärg via props

Det enklaste sättet att varumärkesanpassa widgeten:

Anpassade färger via CSS

Åsidosätt de anpassade egenskaperna för full kontroll över färgerna. Kom ihåg att accentfärgen kommer från propen primaryColor, inte från CSS:

Anpassad storlek

Gör widgeten större eller mindre genom att justera måtten för fältet, knapparna och texten:

Dölj textetiketterna

All text i widgeten finns i .tp-meta. Dölj den helt om du bara vill behålla vågformen och knapparna:
Eller dölj enskilda delar:
Etiketten i viloläge finns i .tp-name/.tp-sub, inte i .tp-status — om du bara döljer .tp-status visas titeln fortfarande när widgeten är i viloläge.

Åsidosättningar för specifika teman

Rikta in dig på ett specifikt tema med temaklassen:

Avgränsning med className

När du använder React-komponenten skickar du en className-prop för att begränsa dina åsidosättningar till en specifik widgetinstans:
Rikta sedan in dig på den klassen i din CSS:
Detta gör att du kan ha flera widgetinstanser på samma sida med olika stilar. Ge varje instans en egen accentfärg via dess primaryColor-prop (CSS kan inte åsidosätta --tp-accent — den anges inline).

Helt anpassat gränssnitt

Om CSS-åsidosättningar inte räcker ger den headless-hooken dig full kontroll. Du tillhandahåller all HTML och styling medan useThunderPhone hanterar röstsessionen. Hooken tillhandahåller även audioLevelRef för att bygga ljudreaktiva visualiseringar som vågformer.
Headless-hooken är rätt val när du behöver ljudreaktiva animationer, anpassade layouter eller integrering i ett befintligt komponentbibliotek. CSS-åsidosättningar och anpassade egenskaper är bättre för snabba temaändringar.