Diese Styling-Optionen gelten für das vorgefertigte Widget, das von der React-Komponente
ThunderPhoneWidget und der CDN-Methode ThunderPhone.mount() gerendert wird. Wenn Sie eine vollständig benutzerdefinierte Benutzeroberfläche benötigen, verwenden Sie stattdessen den Headless-Hook.Designs
Die Proptheme steuert das Farbschema des Widgets. Sie wendet eine Klasse tp--light oder tp--dark auf das Widget-Stammelement an:
Beide Designs verwenden das Glassmorphismus-Leistendesign mit Hintergrundunschärfe und dezenter Transparenz.
CSS-Benutzerdefinierte Eigenschaften
Das Widget stellt CSS-Benutzerdefinierte Eigenschaften (Variablen) bereit, die Sie überschreiben können, um Farben zu ändern, ohne einzelne Klassen anzupassen. Sie werden durch die auf das.tp-widget-Stammelement angewendete Theme-Klasse (.tp--light oder .tp--dark) definiert:
Benutzerdefinierte Eigenschaften überschreiben
Legen Sie die Akzentfarbe über die PropprimaryColor fest:
.tp-widget.tp--light / .tp-widget.tp--dark), damit Ihre Regel unabhängig von der Reihenfolge im Stylesheet Vorrang vor der Theme-Klasse hat, die die Standardwerte definiert:
CSS-Klassen
Alle Widget-Klassen sind mittp- vorangestellt, um Konflikte mit Ihren bestehenden Stilen zu vermeiden.
Beispiele
Benutzerdefinierte Akzentfarbe über Props
Die einfachste Möglichkeit, das Widget an Ihre Marke anzupassen:Benutzerdefinierte Farben über CSS
Überschreiben Sie die benutzerdefinierten Eigenschaften, um die Farben vollständig zu steuern. Beachten Sie, dass die Akzentfarbe aus dem PropprimaryColor und nicht aus CSS stammt:
Benutzerdefinierte Größe
Vergrößern oder verkleinern Sie das Widget, indem Sie die Abmessungen von Leiste, Schaltflächen und Text anpassen:Textbeschriftungen ausblenden
Der gesamte Text des Widgets befindet sich in.tp-meta. Blenden Sie ihn vollständig aus, um nur die Wellenform und Schaltflächen beizubehalten:
Die Beschriftung im Leerlauf befindet sich in
.tp-name/.tp-sub, nicht in .tp-status — wenn Sie nur .tp-status ausblenden, wird der Titel weiterhin angezeigt, wenn sich das Widget im Leerlauf befindet.Themenspezifische Überschreibungen
Richten Sie sich mit der Themenklasse an ein bestimmtes Theme:Eingrenzung mit className
Wenn Sie die React-Komponente verwenden, übergeben Sie einclassName-Prop, um Ihre Überschreibungen auf eine bestimmte Widget-Instanz einzugrenzen:
primaryColor-Prop eine eigene Akzentfarbe (CSS kann --tp-accent nicht überschreiben — sie wird inline festgelegt).
Vollständig benutzerdefinierte Benutzeroberfläche
Wenn CSS-Überschreibungen nicht ausreichen, bietet Ihnen der Headless Hook volle Kontrolle. Sie stellen das gesamte HTML und Styling bereit, währenduseThunderPhone die Sprachsitzung verwaltet. Der Hook stellt außerdem audioLevelRef bereit, um audio-reaktive Visualisierungen wie Wellenformen zu erstellen.