Opsi gaya ini berlaku untuk widget siap pakai yang dirender oleh komponen React
ThunderPhoneWidget dan metode CDN ThunderPhone.mount(). Jika Anda memerlukan UI yang sepenuhnya kustom, gunakan hook headless.Tema
Proptheme mengontrol skema warna widget. Prop ini menerapkan class tp--light atau tp--dark ke elemen akar widget:
Kedua tema menggunakan desain bilah bergaya glassmorphism dengan blur latar belakang dan transparansi halus.
Properti Kustom CSS
Widget mengekspos properti kustom CSS (variabel) yang dapat Anda timpa untuk mengubah warna tanpa menyentuh setiap class. Properti ini ditentukan oleh class tema (.tp--light atau .tp--dark) yang diterapkan pada root .tp-widget:
Menimpa Properti Kustom
Atur warna aksen melalui propprimaryColor:
.tp-widget.tp--light / .tp-widget.tp--dark) agar aturan Anda memiliki prioritas lebih tinggi daripada class tema yang menentukan default, terlepas dari urutan stylesheet:
Kelas CSS
Semua kelas widget diawali dengantp- untuk menghindari konflik dengan gaya yang sudah ada.
Contoh
Aksen Kustom melalui Prop
Cara paling sederhana untuk memberi identitas merek pada widget:Warna Kustom melalui CSS
Timpa properti kustom untuk kontrol warna penuh. Ingat bahwa aksen berasal dari propprimaryColor, bukan CSS:
Ukuran Kustom
Buat widget lebih besar atau lebih kecil dengan menyesuaikan dimensi bilah, tombol, dan teks:Sembunyikan Label Teks
Semua teks widget berada di.tp-meta. Sembunyikan seluruhnya agar hanya waveform dan tombol yang tersisa:
Label saat idle berada di
.tp-name/.tp-sub, bukan .tp-status — menyembunyikan .tp-status saja tetap menampilkan judul saat widget idle.Override Khusus Tema
Targetkan tema tertentu dengan kelas tema:Pembatasan Cakupan dengan className
Saat menggunakan komponen React, teruskan propclassName untuk membatasi cakupan override Anda ke instance widget tertentu:
primaryColor (CSS tidak dapat menimpa --tp-accent — properti ini ditetapkan secara inline).
UI Sepenuhnya Kustom
Jika override CSS belum cukup, hook headless memberi Anda kontrol penuh. Anda menyediakan semua HTML dan styling, sementarauseThunderPhone menangani sesi suara. Hook ini juga menyediakan audioLevelRef untuk membuat visualisasi reaktif terhadap audio seperti waveform.