Frameworks

Aprende a controlar PrivacyKit desde JavaScript e integrarlo en los frameworks más populares. Incluye soporte de TypeScript y orientación práctica para React, Vue, Angular, Svelte y Next.js.

Índice


Controla PrivacyKit desde JavaScript

Usa window.PrivacyKit para leer el consentimiento, comprobar expresiones de consentimiento, abrir diálogos y escuchar cambios de consentimiento. Esto es útil cuando tu aplicación necesita control programático, como en React, Vue o JavaScript puro.

JavaScript
const api = window.PrivacyKit;

api.onReady(() => {
  const consent = window.PrivacyKit.readConsent();
  const initialState = consent ? JSON.stringify(consent, null, 2) : "";
  console.log(initialState);
});

api.onConsentChanged((consent) => {
  const updatedState = consent ? JSON.stringify(consent, null, 2) : "";
  console.log(updatedState);
});

function handleOpenConsentDialogBtnClick() {
  api.openConsentDialog();
}

function handleOpenPrivacyPolicyDialogBtnClick() {
  api.openPrivacyPolicyDialog();
}

function handleToggleComplianceMonitorBtnClick() {
  api.toggleComplianceMonitor();
}

Soporte de TypeScript

Mejora la experiencia de desarrollo con autocompletado, seguridad de tipos y soporte nativo para los web components de PrivacyKit.

tsconfig.json

En las herramientas modernas (Next.js / Vite / TypeScript 5+), los archivos .d.ts fuera de src deben incluirse explícitamente para que el compilador los detecte.

{
  "include": ["src", "types/**/*.d.ts"]
}

Notas por framework

Instrucciones específicas para integrar los custom elements de PrivacyKit.

  • React: Incluye el archivo de definiciones de TypeScript para usar los web components de PrivacyKit como elementos nativos dentro de JSX.
  • Vue 3: configura compilerOptions.isCustomElement para las etiquetas de PrivacyKit.
  • Angular: añade CUSTOM_ELEMENTS_SCHEMA donde uses custom elements.
  • Svelte: sin configuración adicional en tiempo de ejecución.
Nota para Next.js
  • <consent-dialog> funciona en Server Components — colócalo directamente en tu layout.
  • Para usar la API de JS (onConsentChanged, onReady, etc.), llámala dentro de useEffect en un componente 'use client'.