Skip to main content
Widgeten vises som en glassmorfisk linje med innebygde lyse og mørke temaer. Tilpasning er tilgjengelig på tre nivåer: props for vanlige alternativer, egendefinerte CSS-egenskaper for temastyring og overstyringer av CSS-klasser for full kontroll.
Disse stilalternativene gjelder den forhåndsbygde widgeten som vises av React-komponenten ThunderPhoneWidget og CDN-metoden ThunderPhone.mount(). Hvis du trenger et helt tilpasset brukergrensesnitt, bruker du headless-hooken i stedet.

Temaer

Propen theme styrer widgetens fargeskjema. Den legger til klassen tp--light eller tp--dark på widgetens rotelement:
Begge temaene bruker den glassmorfiske linjedesignen med bakgrunnsuskarphet og diskret gjennomsiktighet.

Egendefinerte CSS-egenskaper

Widgeten eksponerer egendefinerte CSS-egenskaper (variabler) som du kan overstyre for å endre farger uten å endre enkeltklasser. De defineres av temaklassen (.tp--light eller .tp--dark) som brukes på roten .tp-widget:

Overstyre egendefinerte egenskaper

Angi aksentfargen via propen primaryColor:
--tp-accent angis som en inline-stil fra propen primaryColor, så overstyringer av --tp-accent i stilark har ingen effekt. Endre aksentfargen med propen. Alle andre egendefinerte egenskaper kan overstyres i CSS.
Overstyr de andre egendefinerte egenskapene med CSS. Bruk en selektor med to klasser (.tp-widget.tp--light / .tp-widget.tp--dark) slik at regelen din veier tyngre enn temaklassen som definerer standardverdiene, uavhengig av rekkefølgen i stilarket:

CSS-klasser

Alle widgetklasser har prefikset tp- for å unngå konflikter med de eksisterende stilene dine.

Eksempler

Egendefinert aksent via props

Den enkleste måten å tilpasse widgeten til merkevaren din på:

Egendefinerte farger via CSS

Overstyr de egendefinerte egenskapene for full kontroll over fargene. Husk at aksentfargen kommer fra prop-en primaryColor, ikke CSS:

Egendefinert størrelse

Gjør widgeten større eller mindre ved å justere dimensjonene for linjen, knappene og teksten:

Skjul tekstetikettene

All teksten i widgeten ligger i .tp-meta. Skjul den helt for å beholde bare bølgeformen og knappene:
Eller skjul enkeltområder:
Etiketten når widgeten er inaktiv ligger i .tp-name/.tp-sub, ikke .tp-status — hvis du bare skjuler .tp-status, vises tittelen fortsatt når widgeten er inaktiv.

Temaspesifikke overstyringer

Målrett et bestemt tema med temaklassen:

Avgrensing med className

Når du bruker React-komponenten, kan du sende inn en className-prop for å avgrense overstyringene dine til en bestemt widgetinstans:
Målrett deretter denne klassen i CSS-en din:
Dette lar deg ha flere widgetinstanser på samme side med ulike stiler. Gi hver instans sin egen aksentfarge via primaryColor-prop-en (CSS kan ikke overstyre --tp-accent — den angis inline).

Fullstendig egendefinert UI

Hvis CSS-overstyringer ikke er nok, gir headless-hooken deg full kontroll. Du angir all HTML og styling, mens useThunderPhone håndterer stemmeøkten. Hooken gir også audioLevelRef for å bygge lydreaktive visualiseringer som bølgeformer.
Headless-hooken er riktig valg når du trenger lydreaktive animasjoner, egendefinerte oppsett eller integrasjon med et eksisterende komponentbibliotek. CSS-overstyringer og egendefinerte egenskaper er bedre for raske temajusteringer.