Te opcje stylizacji dotyczą gotowego widżetu renderowanego przez komponent React
ThunderPhoneWidget oraz metodę CDN ThunderPhone.mount(). Jeśli potrzebujesz całkowicie niestandardowego interfejsu, użyj zamiast tego hooka headless.Motywy
Właściwośćtheme kontroluje schemat kolorów widżetu. Stosuje klasę tp--light lub tp--dark do głównego elementu widżetu:
Oba motywy wykorzystują stylistykę paska glassmorphism z rozmyciem tła i subtelną przezroczystością.
Niestandardowe właściwości CSS
Widżet udostępnia niestandardowe właściwości CSS (zmienne), które możesz zastąpić, aby zmienić kolory bez modyfikowania poszczególnych klas. Są one definiowane przez klasę motywu (.tp--light lub .tp--dark) zastosowaną do głównego elementu .tp-widget:
Zastępowanie niestandardowych właściwości
Ustaw kolor akcentu za pomocą właściwościprimaryColor:
.tp-widget.tp--light / .tp-widget.tp--dark), aby Twoja reguła miała wyższy priorytet niż klasa motywu definiująca wartości domyślne, niezależnie od kolejności arkuszy stylów:
Klasy CSS
Wszystkie klasy widżetu mają prefikstp-, aby uniknąć konfliktów z istniejącymi stylami.
Przykłady
Niestandardowy akcent za pomocą propsów
Najprostszy sposób na dostosowanie widżetu do marki:Niestandardowe kolory za pomocą CSS
Zastąp właściwości niestandardowe, aby uzyskać pełną kontrolę nad kolorami. Pamiętaj, że kolor akcentu pochodzi z propaprimaryColor, a nie z CSS:
Niestandardowy rozmiar
Powiększ lub pomniejsz widżet, dostosowując wymiary paska, przycisków i tekstu:Ukrywanie etykiet tekstowych
Cały tekst widżetu znajduje się w.tp-meta. Ukryj go całkowicie, aby pozostawić tylko przebieg fali i przyciski:
Etykieta stanu bezczynności znajduje się w
.tp-name/.tp-sub, a nie w .tp-status — ukrycie samego .tp-status nadal wyświetla tytuł, gdy widżet jest w stanie bezczynności.Zastąpienia specyficzne dla motywu
Wybierz konkretny motyw za pomocą klasy motywu:Zakresowanie za pomocą className
Podczas korzystania z komponentu React przekaż propclassName, aby ograniczyć zastąpienia do konkretnej instancji widżetu:
primaryColor (CSS nie może zastąpić --tp-accent — jest ustawiany inline).
W pełni niestandardowy interfejs
Jeśli zastąpienia CSS nie wystarczają, headless hook zapewnia pełną kontrolę. Udostępniasz cały HTML i stylowanie, auseThunderPhone obsługuje sesję głosową. Hook udostępnia również audioLevelRef do tworzenia wizualizacji reagujących na dźwięk, takich jak przebiegi fali.