@magicfeedback/popup-sdk 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -217,6 +217,15 @@ interface DeepdotsInitParams {
217
217
  * en vez de cambiar los defaults que comparten todos los clientes.
218
218
  */
219
219
  surveyCss?: string;
220
+ /**
221
+ * Nonce de la Content-Security-Policy de la página, para hosts con una CSP estricta
222
+ * (`style-src 'nonce-…'` sin `'unsafe-inline'`). El popup lo pone en cada `<style>` que
223
+ * inyecta en el `<head>` (hoja del survey, spinner, responsive, `surveyCss`, `@font-face`);
224
+ * sin él el navegador las bloquea y el survey sale sin estilos. Debe ser el MISMO nonce de
225
+ * la cabecera CSP de esa respuesta (en Angular, el token `CSP_NONCE`). Solo web: en React
226
+ * Native el survey vive en su propio WebView y no le afecta la CSP del host.
227
+ */
228
+ cspNonce?: string;
220
229
  }
221
230
  /**
222
231
  * Options for configuring survey triggers
@@ -314,6 +323,12 @@ interface PopupRenderOptions {
314
323
  * (`formData.lang[0]`) en cuanto este carga, y ambos los pisa `actions.*.label` de la API.
315
324
  */
316
325
  language?: string;
326
+ /**
327
+ * Nonce de la Content-Security-Policy del host (`DeepdotsInitParams.cspNonce`). Se pone en
328
+ * cada `<style>` que inyecta el popup DOM; sin él, una CSP con `style-src 'nonce-…'` bloquea
329
+ * la hoja del survey. No aplica a React Native (el survey vive en su propio WebView).
330
+ */
331
+ cspNonce?: string;
317
332
  }
318
333
  interface PopupRenderer {
319
334
  /** Preparar recursos si aplica */
@@ -393,7 +408,6 @@ declare class DeepdotsPopups {
393
408
  private renderer;
394
409
  /** Logger para el output de debug. Default `console`; el host puede inyectar el suyo en init(). */
395
410
  private logger;
396
- private popupContainer;
397
411
  private popupDefinitions;
398
412
  private popupsLoaded;
399
413
  /**
@@ -418,6 +432,7 @@ declare class DeepdotsPopups {
418
432
  private showProgressBar;
419
433
  /** CSS del host inyectado al final de los estilos del popup. */
420
434
  private surveyCss;
435
+ private cspNonce;
421
436
  /** Identidad + sesión (Fase 1 tracking). Null hasta init(). */
422
437
  private tracking;
423
438
  /** Capa de analytics (canal separado del feedback). Null hasta init(). */
@@ -730,8 +745,6 @@ declare class DeepdotsPopups {
730
745
  on(eventType: DeepdotsEventType, listener: EventListener): void;
731
746
  /** Remove an event listener */
732
747
  off(eventType: DeepdotsEventType, listener: EventListener): void;
733
- /** Setup popup container element */
734
- private setupPopupContainer;
735
748
  /** Render the popup UI */
736
749
  private renderPopup;
737
750
  /** Hide the popup */
@@ -217,6 +217,15 @@ interface DeepdotsInitParams {
217
217
  * en vez de cambiar los defaults que comparten todos los clientes.
218
218
  */
219
219
  surveyCss?: string;
220
+ /**
221
+ * Nonce de la Content-Security-Policy de la página, para hosts con una CSP estricta
222
+ * (`style-src 'nonce-…'` sin `'unsafe-inline'`). El popup lo pone en cada `<style>` que
223
+ * inyecta en el `<head>` (hoja del survey, spinner, responsive, `surveyCss`, `@font-face`);
224
+ * sin él el navegador las bloquea y el survey sale sin estilos. Debe ser el MISMO nonce de
225
+ * la cabecera CSP de esa respuesta (en Angular, el token `CSP_NONCE`). Solo web: en React
226
+ * Native el survey vive en su propio WebView y no le afecta la CSP del host.
227
+ */
228
+ cspNonce?: string;
220
229
  }
221
230
  /**
222
231
  * Options for configuring survey triggers
@@ -314,6 +323,12 @@ interface PopupRenderOptions {
314
323
  * (`formData.lang[0]`) en cuanto este carga, y ambos los pisa `actions.*.label` de la API.
315
324
  */
316
325
  language?: string;
326
+ /**
327
+ * Nonce de la Content-Security-Policy del host (`DeepdotsInitParams.cspNonce`). Se pone en
328
+ * cada `<style>` que inyecta el popup DOM; sin él, una CSP con `style-src 'nonce-…'` bloquea
329
+ * la hoja del survey. No aplica a React Native (el survey vive en su propio WebView).
330
+ */
331
+ cspNonce?: string;
317
332
  }
318
333
  interface PopupRenderer {
319
334
  /** Preparar recursos si aplica */
@@ -393,7 +408,6 @@ declare class DeepdotsPopups {
393
408
  private renderer;
394
409
  /** Logger para el output de debug. Default `console`; el host puede inyectar el suyo en init(). */
395
410
  private logger;
396
- private popupContainer;
397
411
  private popupDefinitions;
398
412
  private popupsLoaded;
399
413
  /**
@@ -418,6 +432,7 @@ declare class DeepdotsPopups {
418
432
  private showProgressBar;
419
433
  /** CSS del host inyectado al final de los estilos del popup. */
420
434
  private surveyCss;
435
+ private cspNonce;
421
436
  /** Identidad + sesión (Fase 1 tracking). Null hasta init(). */
422
437
  private tracking;
423
438
  /** Capa de analytics (canal separado del feedback). Null hasta init(). */
@@ -730,8 +745,6 @@ declare class DeepdotsPopups {
730
745
  on(eventType: DeepdotsEventType, listener: EventListener): void;
731
746
  /** Remove an event listener */
732
747
  off(eventType: DeepdotsEventType, listener: EventListener): void;
733
- /** Setup popup container element */
734
- private setupPopupContainer;
735
748
  /** Render the popup UI */
736
749
  private renderPopup;
737
750
  /** Hide the popup */