Demo
La carpeta demo/ contiene dos páginas HTML de prueba.
demo/index.html (widget)
Sitio de cliente de ejemplo que carga ../dist/widget-loader.js (hay que ejecutar antes npm run build). Define window.WhaticketWidgetConfig con un token de prueba, un title, position: "right" y las opciones fullscreen y draggable, leídas de sessionStorage (demoFullscreen, demoDraggable).
Controles de la página:
| Control | Efecto |
|---|---|
| Selector de fullscreen y casilla de arrastrable + botón de aplicar | Guarda los valores en sessionStorage y recarga la página |
| Botón de login | Llama window.WhaticketWidget.init({ externalId, username, email, phone, fullName }) con datos de ejemplo |
| Botón de logout | Llama window.WhaticketWidget.destroy() |
Como el snippet no trae user, el widget no se monta al cargar (si la conexión exige autenticación) hasta pulsar login. Hay además una línea comentada con un script alternativo servido desde jsDelivr.
Los tokens que aparecen en la demo son valores de prueba del repositorio; el widget solo funciona si corresponden a una conexión Web Chat conectada y el origin de la página está en allowedDomains (ver Seguridad y orígenes).
demo/frame-crm.html (iframe SSO del CRM)
No usa el widget: incrusta el CRM del frontend (http://localhost:4200/whaticket/chat) en un iframe y simula el sitio anfitrión que le envía CRM_AUTH por postMessage. Muestra a la derecha un panel con los eventos recibidos y solo acepta mensajes cuyo event.origin coincide con CRM_ORIGIN (http://localhost:4200). El protocolo está descrito en Modo iframe (Frame Bridge).