Skip to main content
Widget se vykresluje jako panel ve stylu glassmorphism s vestavěnými světlými a tmavými motivy. Přizpůsobení je dostupné na třech úrovních: props pro běžné možnosti, vlastní vlastnosti CSS pro motivy a přepsání tříd CSS pro úplnou kontrolu.
Tyto možnosti stylování platí pro předpřipravený widget vykreslovaný komponentou React ThunderPhoneWidget a metodou CDN ThunderPhone.mount(). Pokud potřebujete zcela vlastní uživatelské rozhraní, použijte místo toho headless hook.

Motivy

Prop theme ovládá barevné schéma widgetu. Na kořen widgetu aplikuje třídu tp--light nebo tp--dark:
Oba motivy používají panel ve stylu glassmorphism s rozostřením pozadí a jemnou průhledností.

Vlastní vlastnosti CSS

Widget zpřístupňuje vlastní vlastnosti CSS (proměnné), které můžete přepsat a změnit tak barvy bez úprav jednotlivých tříd. Jsou definovány třídou motivu (.tp--light nebo .tp--dark) použitou na kořenovém prvku .tp-widget:

Přepsání vlastních vlastností

Nastavte barvu akcentu pomocí parametru primaryColor:
--tp-accent se nastavuje jako inline styl z parametru primaryColor, takže přepsání --tp-accent ve stylesheetu nemá žádný účinek. Změňte akcent pomocí parametru. Každou další vlastní vlastnost můžete přepsat v CSS.
Ostatní vlastní vlastnosti přepište pomocí CSS. Použijte selektor se dvěma třídami (.tp-widget.tp--light / .tp-widget.tp--dark), aby vaše pravidlo mělo přednost před třídou motivu definující výchozí hodnoty bez ohledu na pořadí stylesheetů:

Třídy CSS

Všechny třídy widgetu mají předponu tp-, aby nedocházelo ke konfliktům s vašimi stávajícími styly.

Příklady

Vlastní zvýrazňující barva pomocí props

Nejjednodušší způsob, jak widget přizpůsobit vaší značce:

Vlastní barvy pomocí CSS

Přepište vlastní vlastnosti pro úplnou kontrolu nad barvami. Nezapomeňte, že zvýrazňující barva pochází z propu primaryColor, nikoli z CSS:

Vlastní velikost

Zvětšete nebo zmenšete widget úpravou rozměrů lišty, tlačítek a textu:

Skrytí textových popisků

Veškerý text widgetu je v .tp-meta. Skryjte jej celý, pokud chcete ponechat jen průběh zvuku a tlačítka:
Nebo skryjte jednotlivé části:
Popisek v nečinném stavu je v .tp-name/.tp-sub, nikoli v .tp-status — skrytím samotného .tp-status se při nečinnosti widgetu stále zobrazí název.

Přepsání specifická pro motiv

Cílení na konkrétní motiv pomocí třídy motivu:

Vymezení pomocí className

Při použití komponenty React předejte prop className, abyste omezili přepsání na konkrétní instanci widgetu:
Poté na tuto třídu zacilte v CSS:
Díky tomu můžete mít na stejné stránce více instancí widgetu s různými styly. Každé instanci nastavte vlastní zvýrazňující barvu prostřednictvím propu primaryColor (CSS nemůže přepsat --tp-accent — nastavuje se inline).

Zcela vlastní uživatelské rozhraní

Pokud přepsání CSS nestačí, headless hook vám poskytne úplnou kontrolu. Dodáte veškeré HTML a stylování, zatímco useThunderPhone spravuje hlasovou relaci. Hook také poskytuje audioLevelRef pro vytváření vizualizací reagujících na zvuk, například průběhů zvuku.
Headless hook je správnou volbou, když potřebujete animace reagující na zvuk, vlastní rozvržení nebo integraci do existující knihovny komponent. Přepsání CSS a vlastní vlastnosti jsou vhodnější pro rychlé úpravy motivu.