Ces options de style s’appliquent au widget préconfiguré rendu par le composant React
ThunderPhoneWidget et la méthode CDN ThunderPhone.mount(). Si vous avez besoin d’une interface utilisateur entièrement personnalisée, utilisez plutôt le hook headless.Thèmes
La proptheme contrôle le jeu de couleurs du widget. Elle applique une classe tp--light ou tp--dark à la racine du widget :
Les deux thèmes utilisent le design de barre glassmorphique avec un flou d’arrière-plan et une transparence subtile.
Propriétés personnalisées CSS
Le widget expose des propriétés personnalisées CSS (variables) que vous pouvez remplacer pour modifier les couleurs sans toucher aux classes individuelles. Elles sont définies par la classe de thème (.tp--light ou .tp--dark) appliquée à la racine .tp-widget :
Remplacer des propriétés personnalisées
Définissez la couleur d’accentuation via la propprimaryColor :
.tp-widget.tp--light / .tp-widget.tp--dark) afin que votre règle l’emporte sur la classe de thème qui définit les valeurs par défaut, quel que soit l’ordre de la feuille de style :
Classes CSS
Toutes les classes du widget sont préfixées partp- afin d’éviter les conflits avec vos styles existants.
Exemples
Accent personnalisée via les props
La manière la plus simple de personnaliser l’image de marque du widget :Couleurs personnalisées via CSS
Remplacez les propriétés personnalisées pour contrôler entièrement les couleurs. N’oubliez pas que l’accent provient de la propprimaryColor, et non du CSS :
Taille personnalisée
Agrandissez ou réduisez le widget en ajustant les dimensions de la barre, des boutons et du texte :Masquer les libellés textuels
Tout le texte du widget se trouve dans.tp-meta. Masquez-le entièrement pour ne conserver que la forme d’onde et les boutons :
Le libellé inactif se trouve dans
.tp-name/.tp-sub, et non dans .tp-status — masquer uniquement .tp-status affiche toujours le titre lorsque le widget est inactif.Remplacements spécifiques au thème
Ciblez un thème spécifique avec la classe de thème :Délimitation avec className
Lorsque vous utilisez le composant React, transmettez une propclassName pour limiter vos remplacements à une instance spécifique du widget :
primaryColor (le CSS ne peut pas remplacer --tp-accent — il est défini en ligne).
Interface utilisateur entièrement personnalisée
Si les remplacements CSS ne suffisent pas, le hook headless vous donne un contrôle total. Vous fournissez tout le HTML et le style, tandis queuseThunderPhone gère la session vocale. Le hook fournit également audioLevelRef pour créer des visualisations réactives à l’audio, comme des formes d’onde.