Personalizar tema¶
Hay dos niveles de personalización:
- Remoto (recomendado): editas en el Admin SPA → cambios se propagan sin redeploy del sitio.
- Local: override en
Zengine.init({ theme: {...} }). Tiene prioridad sobre el remoto.
Tokens disponibles¶
Zengine.init({
tenantId: '...',
widgetId: '...',
theme: {
colors: {
primary: '#005FCC',
primaryHover: '#0048A6',
onPrimary: '#FFFFFF',
surface: '#FFFFFF',
surfaceVariant: '#F5F7FA',
onSurface: '#1A1F2E',
border: '#E1E5EA',
success: '#16A34A',
danger: '#DC2626',
bubbleUserBg: '#005FCC',
bubbleUserFg: '#FFFFFF',
bubbleBotBg: '#F0F2F5',
bubbleBotFg: '#1A1F2E'
},
typography: {
fontFamily: 'Inter, system-ui, sans-serif',
fontSize: 14
},
radius: {
button: 9999, // burbuja redonda
panel: 16,
bubble: 12
},
layout: {
width: 380,
height: 600,
offset: { right: 24, bottom: 24 }
},
avatar: 'https://cdn.zen.zervizdev.com/tenants/iplacex/avatar.png'
}
});
Dark mode¶
El widget respeta prefers-color-scheme por defecto. Para forzar:
CSS overrides (avanzado)¶
El widget vive dentro de Shadow DOM para aislamiento. Si necesitas overrides finos, usa custom properties:
No inyectes
<style>global esperando alcanzar el interior del Shadow DOM — no funcionará. Sólo las custom properties cruzan el shadow boundary.
Reusar i18n¶
Sobreescribe strings: