Skip to main content
Widgetul este redat ca o bară cu efect de sticlă, cu teme deschise și întunecate integrate. Personalizarea este disponibilă la trei niveluri: proprietăți pentru opțiuni comune, proprietăți personalizate CSS pentru teme și suprascrieri de clase CSS pentru control complet.
Aceste opțiuni de stilizare se aplică widgetului predefinit redat de componenta React ThunderPhoneWidget și de metoda CDN ThunderPhone.mount(). Dacă aveți nevoie de o interfață complet personalizată, utilizați în schimb hookul headless.

Teme

Proprietatea theme controlează schema de culori a widgetului. Aceasta aplică o clasă tp--light sau tp--dark rădăcinii widgetului:
Ambele teme folosesc designul de bară cu efect de sticlă, cu estomparea fundalului și transparență subtilă.

Proprietăți personalizate CSS

Widgetul expune proprietăți personalizate CSS (variabile) pe care le puteți suprascrie pentru a modifica culorile fără a modifica clase individuale. Acestea sunt definite de clasa de temă (.tp--light sau .tp--dark) aplicată rădăcinii .tp-widget:

Suprascrierea proprietăților personalizate

Setați culoarea de accent prin proprietatea primaryColor:
--tp-accent este setată ca stil inline din proprietatea primaryColor, astfel încât suprascrierile din foile de stil pentru --tp-accent nu au efect. Modificați culoarea de accent folosind proprietatea. Orice altă proprietate personalizată poate fi suprascrisă în CSS.
Suprascrieți celelalte proprietăți personalizate cu CSS. Utilizați un selector cu două clase (.tp-widget.tp--light / .tp-widget.tp--dark) pentru ca regula dumneavoastră să aibă prioritate față de clasa de temă care definește valorile implicite, indiferent de ordinea foilor de stil:

Clase CSS

Toate clasele widgetului au prefixul tp- pentru a evita conflictele cu stilurile dumneavoastră existente.

Exemple

Accent personalizat prin proprietăți

Cea mai simplă modalitate de a personaliza widgetul cu identitatea de brand:

Culori personalizate prin CSS

Suprascrieți proprietățile personalizate pentru control complet asupra culorilor. Rețineți că accentul provine din proprietatea primaryColor, nu din CSS:

Dimensiune personalizată

Măriți sau micșorați widgetul ajustând dimensiunile barei, butoanelor și textului:

Ascundeți etichetele text

Tot textul widgetului se află în .tp-meta. Ascundeți-l complet pentru a păstra doar forma de undă și butoanele:
Sau ascundeți elemente individuale:
Eticheta pentru starea inactivă se află în .tp-name/.tp-sub, nu în .tp-status — ascunderea doar a .tp-status afișează în continuare titlul când widgetul este inactiv.

Suprascrieri specifice temei

Vizați o anumită temă folosind clasa temei:

Limitarea domeniului cu className

Când utilizați componenta React, transmiteți o proprietate className pentru a limita suprascrierile la o anumită instanță de widget:
Apoi vizați acea clasă în CSS:
Astfel, puteți avea mai multe instanțe de widget pe aceeași pagină, cu stiluri diferite. Oferiți fiecărei instanțe propriul accent prin proprietatea primaryColor (CSS nu poate suprascrie --tp-accent — acesta este setat inline).

Interfață complet personalizată

Dacă suprascrierile CSS nu sunt suficiente, hookul headless vă oferă control complet. Furnizați tot HTML-ul și stilizarea, în timp ce useThunderPhone gestionează sesiunea vocală. Hookul oferă și audioLevelRef pentru crearea de vizualizări reactive la sunet, cum ar fi formele de undă.
Hookul headless este alegerea potrivită când aveți nevoie de animații reactive la sunet, machete personalizate sau integrare într-o bibliotecă de componente existentă. Suprascrierile CSS și proprietățile personalizate sunt mai potrivite pentru ajustări rapide ale temei.