Ці параметри стилізації застосовуються до готового віджета, який відображається React-компонентом
ThunderPhoneWidget і CDN-методом ThunderPhone.mount(). Якщо вам потрібен повністю користувацький інтерфейс, натомість використовуйте headless hook.Теми
Пропсtheme керує колірною схемою віджета. Він застосовує клас tp--light або tp--dark до кореневого елемента віджета:
Обидві теми використовують дизайн скляної панелі з розмиванням фону та делікатною прозорістю.
Користувацькі властивості CSS
Віджет надає користувацькі властивості CSS (змінні), які можна перевизначити, щоб змінити кольори без редагування окремих класів. Вони визначаються класом теми (.tp--light або .tp--dark), застосованим до кореневого елемента .tp-widget:
Перевизначення користувацьких властивостей
Установіть акцентний колір через пропprimaryColor:
.tp-widget.tp--light / .tp-widget.tp--dark), щоб ваше правило мало вищий пріоритет, ніж клас теми, що визначає типові значення, незалежно від порядку таблиць стилів:
CSS-класи
Усі класи віджета мають префіксtp-, щоб уникнути конфліктів із вашими наявними стилями.
Приклади
Власний акцент через props
Найпростіший спосіб брендувати віджет:Власні кольори через CSS
Перевизначте користувацькі властивості для повного контролю над кольорами. Пам’ятайте, що акцент задається через propprimaryColor, а не через CSS:
Власний розмір
Збільште або зменште віджет, налаштувавши розміри панелі, кнопок і тексту:Приховати текстові мітки
Увесь текст віджета міститься в.tp-meta. Повністю приховайте його, щоб залишити лише форму хвилі та кнопки:
Мітки в режимі очікування містяться в
.tp-name/.tp-sub, а не в .tp-status — якщо приховати лише .tp-status, заголовок усе одно відображатиметься, коли віджет перебуває в режимі очікування.Перевизначення для певної теми
Застосуйте клас теми для націлювання на конкретну тему:Обмеження областю дії за допомогою className
Під час використання React-компонента передайте propclassName, щоб обмежити дію перевизначень конкретним екземпляром віджета:
primaryColor (CSS не може перевизначити --tp-accent — його задано inline).
Повністю власний UI
Якщо перевизначень CSS недостатньо, headless hook надає вам повний контроль. Ви надаєте весь HTML і стилізацію, аuseThunderPhone керує голосовою сесією. Hook також надає audioLevelRef для створення візуалізацій, що реагують на звук, наприклад форм хвилі.