Skip to main content
Widgetten gengives som en glassmorfisk bjælke med indbyggede lyse og mørke temaer. Tilpasning er tilgængelig på tre niveauer: props til almindelige indstillinger, brugerdefinerede CSS-egenskaber til tematisering og CSS-klasseoverstyringer til fuld kontrol.
Disse stylingmuligheder gælder for den færdigbyggede widget, der gengives af React-komponenten ThunderPhoneWidget og CDN-metoden ThunderPhone.mount(). Hvis du har brug for en helt tilpasset brugerflade, skal du i stedet bruge headless-hooken.

Temaer

Proppen theme styrer widgettens farveskema. Den anvender en klasse, enten tp--light eller tp--dark, på widgettens rod:
Begge temaer bruger det glassmorfiske bjælkedesign med sløring af baggrunden og diskret gennemsigtighed.

Brugerdefinerede CSS-egenskaber

Widgetten eksponerer brugerdefinerede CSS-egenskaber (variabler), som du kan tilsidesætte for at ændre farver uden at ændre individuelle klasser. De defineres af temaklassen (.tp--light eller .tp--dark), der anvendes på roden .tp-widget:

Tilsidesættelse af brugerdefinerede egenskaber

Angiv fremhævningsfarven via propen primaryColor:
--tp-accent angives som en inline-stil fra propen primaryColor, så tilsidesættelser af --tp-accent i stylesheets ikke har nogen effekt. Skift fremhævningsfarven med propen. Alle andre brugerdefinerede egenskaber kan tilsidesættes i CSS.
Tilsidesæt de øvrige brugerdefinerede egenskaber med CSS. Brug en selector med to klasser (.tp-widget.tp--light / .tp-widget.tp--dark), så din regel vejer tungere end temaklassen, der definerer standardværdierne, uanset rækkefølgen i stylesheets:

CSS-klasser

Alle widgetklasser er præfikset med tp- for at undgå konflikter med dine eksisterende typografier.

Eksempler

Tilpasset accent via props

Den nemmeste måde at tilpasse widgetten til dit brand:

Tilpassede farver via CSS

Overskriv de brugerdefinerede egenskaber for fuld kontrol over farverne. Husk, at accentfarven kommer fra proppen primaryColor, ikke CSS:

Tilpasset størrelse

Gør widgetten større eller mindre ved at justere dimensionerne for bjælken, knapperne og teksten:

Skjul tekstetiketterne

Al widgettens tekst findes i .tp-meta. Skjul den helt for kun at beholde bølgeformen og knapperne:
Eller skjul enkelte dele:
Etiketten i inaktiv tilstand findes i .tp-name/.tp-sub, ikke .tp-status — hvis du kun skjuler .tp-status, vises titlen stadig, når widgetten er inaktiv.

Tema-specifikke overskrivninger

Vælg et bestemt tema med temaklassen:

Afgrænsning med className

Når du bruger React-komponenten, skal du angive en className-prop for at afgrænse dine overskrivninger til en bestemt widgetinstans:
Målret derefter denne klasse i din CSS:
Det gør det muligt at have flere widgetinstanser på samme side med forskellige stilarter. Giv hver instans sin egen accentfarve via dens primaryColor-prop (CSS kan ikke overskrive --tp-accent — den angives inline).

Fuldt tilpasset brugergrænseflade

Hvis CSS-overskrivninger ikke er nok, giver den headless hook dig fuld kontrol. Du leverer al HTML og styling, mens useThunderPhone håndterer stemmesessionen. Hooken giver også audioLevelRef til at bygge lydreaktive visualiseringer som bølgeformer.
Den headless hook er det rigtige valg, når du har brug for lydreaktive animationer, tilpassede layouts eller integration i et eksisterende komponentbibliotek. CSS-overskrivninger og brugerdefinerede egenskaber er bedre til hurtige temaændringer.