Estas opciones de estilo se aplican al widget prediseñado que renderizan el componente React
ThunderPhoneWidget y el método CDN ThunderPhone.mount(). Si necesitas una interfaz completamente personalizada, usa el hook headless.Temas
La proptheme controla el esquema de colores del widget. Aplica una clase tp--light o tp--dark a la raíz del widget:
Ambos temas usan el diseño de barra con efecto vidrio, desenfoque de fondo y transparencia sutil.
Propiedades personalizadas de CSS
El widget expone propiedades personalizadas de CSS (variables) que puedes sobrescribir para cambiar colores sin modificar clases individuales. Se definen mediante la clase de tema (.tp--light o .tp--dark) aplicada a la raíz .tp-widget:
Sobrescribir propiedades personalizadas
Establece el color de acento mediante la propprimaryColor:
.tp-widget.tp--light / .tp-widget.tp--dark) para que tu regla tenga prioridad sobre la clase de tema que define los valores predeterminados, independientemente del orden de las hojas de estilos:
Clases de CSS
Todas las clases del widget tienen el prefijotp- para evitar conflictos con tus estilos existentes.
Ejemplos
Color de acento personalizado mediante props
La forma más sencilla de aplicar tu marca al widget:Colores personalizados mediante CSS
Sobrescribe las propiedades personalizadas para tener control total sobre los colores. Recuerda que el acento proviene de la propprimaryColor, no de CSS:
Tamaño personalizado
Haz que el widget sea más grande o más pequeño ajustando las dimensiones de la barra, los botones y el texto:Ocultar las etiquetas de texto
Todo el texto del widget está en.tp-meta. Ocúltalo por completo para conservar solo la forma de onda y los botones:
La etiqueta inactiva está en
.tp-name/.tp-sub, no en .tp-status — ocultar solo .tp-status sigue mostrando el título cuando el widget está inactivo.Sobrescrituras específicas del tema
Aplica estilos a un tema específico mediante la clase del tema:Alcance con className
Al usar el componente React, pasa una propclassName para limitar tus sobrescrituras a una instancia específica del widget:
primaryColor (CSS no puede sobrescribir --tp-accent — se establece en línea).
Interfaz de usuario totalmente personalizada
Si las sobrescrituras de CSS no son suficientes, el hook sin interfaz te brinda control total. Tú proporcionas todo el HTML y los estilos, mientras queuseThunderPhone gestiona la sesión de voz. El hook también proporciona audioLevelRef para crear visualizaciones reactivas al audio, como formas de onda.