@consentera/consent-sdk 2.0.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.
- package/CHANGELOG.md +245 -0
- package/LICENSE +21 -0
- package/README.md +489 -0
- package/dist/consentera-consent.cjs +4919 -0
- package/dist/consentera-consent.cjs.map +1 -0
- package/dist/consentera-consent.min.js +2 -0
- package/dist/consentera-consent.min.js.map +1 -0
- package/dist/consentera-consent.mjs +4864 -0
- package/dist/consentera-consent.mjs.map +1 -0
- package/dist/react/index.cjs +2731 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.mjs +2724 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/types/consent/CallbackHandler.d.ts +246 -0
- package/dist/types/consent/ConsentManager.d.ts +128 -0
- package/dist/types/consent/ConsentSession.d.ts +127 -0
- package/dist/types/consent/ConsentValidator.d.ts +63 -0
- package/dist/types/consent/artifactRead.d.ts +48 -0
- package/dist/types/consent/consentPopup.d.ts +115 -0
- package/dist/types/core/ConsentEraClient.d.ts +106 -0
- package/dist/types/core/ConsenteraConsent.d.ts +163 -0
- package/dist/types/core/errors.d.ts +108 -0
- package/dist/types/core/http.d.ts +176 -0
- package/dist/types/core/version.d.ts +36 -0
- package/dist/types/df/DFConfigClient.d.ts +59 -0
- package/dist/types/gcm/ConsentModeBridge.d.ts +54 -0
- package/dist/types/gpp/GPPManager.d.ts +62 -0
- package/dist/types/index.d.mts +5 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/principal/PrincipalClient.d.ts +34 -0
- package/dist/types/react/ConsentEraProvider.d.ts +58 -0
- package/dist/types/react/ConsentGate.d.ts +40 -0
- package/dist/types/react/index.d.mts +4 -0
- package/dist/types/react/index.d.ts +10 -0
- package/dist/types/react/useConsentEra.d.ts +65 -0
- package/dist/types/react/useConsentValidation.d.ts +23 -0
- package/dist/types/storage/ConsentStorage.d.ts +39 -0
- package/dist/types/tcf/TCFManager.d.ts +46 -0
- package/dist/types/types/consent-lifecycle.d.ts +804 -0
- package/dist/types/types/index.d.ts +311 -0
- package/dist/types/ui/ConsentBanner.d.ts +22 -0
- package/dist/types/ui/PreferenceCenter.d.ts +24 -0
- package/dist/types/utils/EventEmitter.d.ts +32 -0
- package/dist/types/utils/Logger.d.ts +16 -0
- package/dist/types/utils/browserStorage.d.ts +35 -0
- package/dist/types/utils/context.d.ts +81 -0
- package/dist/types/utils/helpers.d.ts +48 -0
- package/package.json +132 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consentera-consent.cjs","sources":["../src/utils/browserStorage.ts","../src/storage/ConsentStorage.ts","../src/ui/ConsentBanner.ts","../src/ui/PreferenceCenter.ts","../src/tcf/TCFManager.ts","../src/gpp/GPPManager.ts","../src/utils/EventEmitter.ts","../src/utils/Logger.ts","../src/utils/helpers.ts","../src/core/errors.ts","../src/core/version.ts","../src/core/http.ts","../src/core/ConsenteraConsent.ts","../src/consent/artifactRead.ts","../src/consent/consentPopup.ts","../src/consent/ConsentSession.ts","../src/utils/context.ts","../src/consent/ConsentValidator.ts","../src/consent/ConsentManager.ts","../src/consent/CallbackHandler.ts","../src/df/DFConfigClient.ts","../src/principal/PrincipalClient.ts","../src/core/ConsentEraClient.ts","../src/gcm/ConsentModeBridge.ts","../src/index.ts"],"names":["escapeHtml","sanitizeUrl"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Consentera={})}(this,function(e){"use strict";const t={local:new Map,session:new Map},n={session:e=>`consentera_session_${e}`,callback:e=>`consentera_callback_${e}`,pendingSync:"consentera_pending_sync",deviceId:"consentera_device_id"};function s(e){try{if("undefined"==typeof window)return null;const t="local"===e?window.localStorage:window.sessionStorage,n="__consentera_probe__";return t.setItem(n,"1"),t.removeItem(n),t}catch{return null}}function i(e,n){const i=s(e);if(!i)return t[e].get(n)??null;try{return i.getItem(n)}catch{return t[e].get(n)??null}}function r(e,n,i){const r=s(e);if(r)try{return r.setItem(n,i),!0}catch{}return t[e].set(n,i),!1}function o(e,n){const i=s(e);if(i)try{i.removeItem(n)}catch{}t[e].delete(n)}class a{config;key;constructor(e){this.config={type:"cookie",cookieName:"consentera_consent",cookieExpiry:365,cookiePath:"/",secure:"undefined"==typeof location||"https:"===location.protocol,sameSite:"Lax",...e},this.key=this.config.cookieName}save(e){const t=JSON.stringify(e);switch(this.config.type){case"cookie":return this.setCookie(t);case"localStorage":return r("local",this.key,t);case"sessionStorage":return r("session",this.key,t);default:return!1}}get(){let e=null;switch(this.config.type){case"cookie":e=this.getCookie();break;case"localStorage":e=i("local",this.key);break;case"sessionStorage":e=i("session",this.key)}if(!e)return null;try{return JSON.parse(e)}catch{return null}}exists(){return null!==this.get()}clear(){switch(this.config.type){case"cookie":this.deleteCookie();break;case"localStorage":o("local",this.key);break;case"sessionStorage":o("session",this.key)}}setCookie(e){const{cookieExpiry:t,cookiePath:n,cookieDomain:s,secure:i,sameSite:r}=this.config;let o=`${encodeURIComponent(this.key)}=${encodeURIComponent(e)}`;if(t){const e=new Date;e.setTime(e.getTime()+24*t*60*60*1e3),o+=`; expires=${e.toUTCString()}`}n&&(o+=`; path=${n}`),s&&(o+=`; domain=${s}`),i&&(o+="; secure"),r&&(o+=`; samesite=${r}`);if(new Blob([o]).size>4096)return!1;if("undefined"==typeof document)return!1;try{document.cookie=o}catch{return!1}return null!==this.getCookie()}getCookie(){if("undefined"==typeof document)return null;const e=encodeURIComponent(this.key)+"=",t=document.cookie.split(";");for(let n of t)if(n=n.trim(),0===n.indexOf(e))return decodeURIComponent(n.substring(e.length));return null}deleteCookie(){if("undefined"==typeof document)return;const{cookiePath:e,cookieDomain:t}=this.config;let n=`${encodeURIComponent(this.key)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT`;e&&(n+=`; path=${e}`),t&&(n+=`; domain=${t}`),document.cookie=n}}function c(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function d(e){try{const t=new URL(e,window.location.origin);if(["http:","https:","mailto:"].includes(t.protocol))return t.href}catch{}return"#"}class l{config;theme;sdk;container=null;isVisible=!1;constructor(e,t,n){this.config=e,this.theme=t,this.sdk=n}show(){this.isVisible||(this.createBanner(),this.isVisible=!0)}hide(){this.isVisible&&this.container&&(this.container.classList.add("consentera-banner--closing"),setTimeout(()=>{this.container?.remove(),this.container=null,this.isVisible=!1},300))}createBanner(){this.container=document.createElement("div"),this.container.id="consentera-consent-banner",this.container.className=`consentera-banner consentera-banner--${this.theme.position||"bottom"}`,this.container.setAttribute("role","dialog"),this.container.setAttribute("aria-modal","true"),this.container.setAttribute("aria-labelledby","consentera-banner-title"),this.injectStyles(),this.container.innerHTML=this.getBannerHTML(),this.attachEventListeners(),document.body.appendChild(this.container),requestAnimationFrame(()=>{this.container?.classList.add("consentera-banner--visible")})}getBannerHTML(){const{banner:e}=this.config;return`\n <div class="consentera-banner__content">\n ${this.theme.showLogo?`\n <div class="consentera-banner__logo">\n ${this.theme.logoUrl?`<img src="${d(this.theme.logoUrl)}" alt="Logo" />`:this.getDefaultLogo()}\n </div>\n `:""}\n\n <div class="consentera-banner__text">\n <h2 id="consentera-banner-title" class="consentera-banner__title">\n ${c(e.title||"We value your privacy")}\n </h2>\n <p class="consentera-banner__description">\n ${c(e.description||"We use cookies to enhance your experience.")}\n </p>\n ${e.showPrivacyPolicy&&e.privacyPolicyUrl?`\n <a href="${d(e.privacyPolicyUrl)}" target="_blank" rel="noopener" class="consentera-banner__link">\n Privacy Policy\n </a>\n `:""}\n </div>\n\n <div class="consentera-banner__actions">\n ${e.showCustomize?`\n <button type="button" class="consentera-btn consentera-btn--secondary" data-action="customize">\n ${c(e.customizeText||"Customize")}\n </button>\n `:""}\n ${e.showRejectAll?`\n <button type="button" class="consentera-btn consentera-btn--secondary" data-action="reject">\n ${c(e.rejectAllText||"Reject All")}\n </button>\n `:""}\n <button type="button" class="consentera-btn consentera-btn--primary" data-action="accept">\n ${c(e.acceptAllText||"Accept All")}\n </button>\n </div>\n </div>\n `}getDefaultLogo(){return`\n <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n <rect width="32" height="32" rx="8" fill="${this.theme.primaryColor||"#2563eb"}"/>\n <path d="M16 6L24 10V16C24 21.52 20.6 26.74 16 28C11.4 26.74 8 21.52 8 16V10L16 6Z"\n stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n <path d="M12 16L14.5 18.5L20 13"\n stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n </svg>\n `}attachEventListeners(){this.container&&(this.container.addEventListener("click",e=>{const t=e.target.dataset.action;if(t)switch(t){case"accept":this.sdk.acceptAll();break;case"reject":this.sdk.rejectAll();break;case"customize":this.hide(),this.sdk.showPreferences()}}),document.addEventListener("keydown",this.handleKeyDown.bind(this)))}handleKeyDown(e){"Escape"===e.key&&this.isVisible}injectStyles(){if(document.getElementById("consentera-consent-styles"))return;const e=document.createElement("style");e.id="consentera-consent-styles",e.textContent=this.getStyles(),document.head.appendChild(e)}getStyles(){const{primaryColor:e,backgroundColor:t,textColor:n,borderRadius:s,fontFamily:i}=this.theme;return`\n .consentera-banner {\n position: fixed;\n left: 0;\n right: 0;\n z-index: 999999;\n font-family: ${i||'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'};\n opacity: 0;\n transform: translateY(100%);\n transition: opacity 0.3s ease, transform 0.3s ease;\n }\n\n .consentera-banner--bottom {\n bottom: 0;\n }\n\n .consentera-banner--top {\n top: 0;\n transform: translateY(-100%);\n }\n\n .consentera-banner--visible {\n opacity: 1;\n transform: translateY(0);\n }\n\n .consentera-banner--closing {\n opacity: 0;\n transform: translateY(100%);\n }\n\n .consentera-banner--top.consentera-banner--closing {\n transform: translateY(-100%);\n }\n\n .consentera-banner__content {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 20px 24px;\n background: ${t||"#ffffff"};\n color: ${n||"#1f2937"};\n box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);\n border-radius: ${s||"0"} ${s||"0"} 0 0;\n }\n\n .consentera-banner--top .consentera-banner__content {\n border-radius: 0 0 ${s||"0"} ${s||"0"};\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);\n }\n\n .consentera-banner__logo {\n flex-shrink: 0;\n }\n\n .consentera-banner__logo img,\n .consentera-banner__logo svg {\n width: 48px;\n height: 48px;\n object-fit: contain;\n }\n\n .consentera-banner__text {\n flex: 1;\n min-width: 0;\n }\n\n .consentera-banner__title {\n margin: 0 0 4px 0;\n font-size: 16px;\n font-weight: 600;\n color: ${n||"#1f2937"};\n }\n\n .consentera-banner__description {\n margin: 0;\n font-size: 14px;\n color: ${n||"#6b7280"};\n line-height: 1.5;\n }\n\n .consentera-banner__link {\n display: inline-block;\n margin-top: 8px;\n font-size: 13px;\n color: ${e||"#2563eb"};\n text-decoration: underline;\n }\n\n .consentera-banner__actions {\n display: flex;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .consentera-btn {\n padding: 10px 20px;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n white-space: nowrap;\n }\n\n .consentera-btn--primary {\n background: ${e||"#2563eb"};\n color: #ffffff;\n }\n\n .consentera-btn--primary:hover {\n opacity: 0.9;\n }\n\n .consentera-btn--secondary {\n background: transparent;\n color: ${n||"#4b5563"};\n border: 1px solid ${n||"#d1d5db"};\n }\n\n .consentera-btn--secondary:hover {\n background: rgba(0, 0, 0, 0.05);\n }\n\n @media (max-width: 768px) {\n .consentera-banner__content {\n flex-direction: column;\n text-align: center;\n padding: 16px;\n gap: 16px;\n }\n\n .consentera-banner__actions {\n width: 100%;\n flex-direction: column;\n }\n\n .consentera-btn {\n width: 100%;\n }\n }\n\n /* Accessibility */\n .consentera-btn:focus {\n outline: 2px solid ${e||"#2563eb"};\n outline-offset: 2px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .consentera-banner {\n transition: none;\n }\n }\n `}destroy(){document.removeEventListener("keydown",this.handleKeyDown.bind(this)),this.container?.remove(),this.container=null,this.isVisible=!1}}function u(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function h(e){try{const t=new URL(e,window.location.origin);if(["http:","https:","mailto:"].includes(t.protocol))return t.href}catch{}return"#"}class p{config;theme;sdk;container=null;overlay=null;isVisible=!1;preferences;constructor(e,t,n){this.config=e,this.theme=t,this.sdk=n,this.preferences=n.getPreferences()}show(){this.isVisible||(this.preferences=this.sdk.getPreferences(),this.createPreferenceCenter(),this.isVisible=!0)}hide(){this.isVisible&&(this.container?.classList.add("consentera-preferences--closing"),this.overlay?.classList.add("consentera-overlay--closing"),setTimeout(()=>{this.container?.remove(),this.overlay?.remove(),this.container=null,this.overlay=null,this.isVisible=!1},300))}createPreferenceCenter(){this.overlay=document.createElement("div"),this.overlay.className="consentera-overlay",this.overlay.addEventListener("click",()=>this.hide()),this.container=document.createElement("div"),this.container.id="consentera-preference-center",this.container.className="consentera-preferences",this.container.setAttribute("role","dialog"),this.container.setAttribute("aria-modal","true"),this.container.setAttribute("aria-labelledby","consentera-preferences-title"),this.injectStyles(),this.container.innerHTML=this.getPreferenceCenterHTML(),this.attachEventListeners(),document.body.appendChild(this.overlay),document.body.appendChild(this.container),requestAnimationFrame(()=>{this.overlay?.classList.add("consentera-overlay--visible"),this.container?.classList.add("consentera-preferences--visible")}),this.container.querySelector(".consentera-preferences__close")?.focus()}getPreferenceCenterHTML(){const{banner:e,purposes:t}=this.config;return`\n <div class="consentera-preferences__header">\n <h2 id="consentera-preferences-title" class="consentera-preferences__title">\n Cookie Preferences\n </h2>\n <button type="button" class="consentera-preferences__close" data-action="close" aria-label="Close">\n <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\n <path d="M18 6L6 18M6 6l12 12"/>\n </svg>\n </button>\n </div>\n\n <div class="consentera-preferences__body">\n <p class="consentera-preferences__description">\n We use cookies and similar technologies to personalize content, analyze traffic, and improve your experience.\n You can choose which categories of cookies you allow below.\n </p>\n\n <div class="consentera-preferences__purposes">\n ${t.map(e=>`\n <div class="consentera-purpose">\n <div class="consentera-purpose__header">\n <div class="consentera-purpose__info">\n <h3 class="consentera-purpose__name">${u(e.name)}</h3>\n ${e.required?'<span class="consentera-purpose__required">Always Active</span>':""}\n </div>\n <label class="consentera-toggle">\n <input type="checkbox"\n id="purpose-${e.id}"\n data-purpose="${e.id}"\n ${e.required?"checked disabled":""}\n ${this.preferences[e.id]?"checked":""}\n />\n <span class="consentera-toggle__slider"></span>\n </label>\n </div>\n <p class="consentera-purpose__description">${u(e.description)}</p>\n ${e.cookies&&e.cookies.length>0?`\n <details class="consentera-purpose__cookies">\n <summary>View cookies (${e.cookies.length})</summary>\n <table class="consentera-cookies-table">\n <thead>\n <tr>\n <th>Cookie</th>\n <th>Provider</th>\n <th>Purpose</th>\n <th>Expiry</th>\n </tr>\n </thead>\n <tbody>\n ${e.cookies.map(e=>`\n <tr>\n <td>${u(e.name)}</td>\n <td>${u(e.provider)}</td>\n <td>${u(e.purpose)}</td>\n <td>${u(e.expiry)}</td>\n </tr>\n `).join("")}\n </tbody>\n </table>\n </details>\n `:""}\n </div>\n `).join("")}\n </div>\n </div>\n\n <div class="consentera-preferences__footer">\n <div class="consentera-preferences__links">\n ${e.privacyPolicyUrl?`\n <a href="${h(e.privacyPolicyUrl)}" target="_blank" rel="noopener">Privacy Policy</a>\n `:""}\n ${e.cookiePolicyUrl?`\n <a href="${h(e.cookiePolicyUrl)}" target="_blank" rel="noopener">Cookie Policy</a>\n `:""}\n </div>\n <div class="consentera-preferences__actions">\n <button type="button" class="consentera-btn consentera-btn--secondary" data-action="reject">\n ${e.rejectAllText||"Reject All"}\n </button>\n <button type="button" class="consentera-btn consentera-btn--secondary" data-action="accept">\n ${e.acceptAllText||"Accept All"}\n </button>\n <button type="button" class="consentera-btn consentera-btn--primary" data-action="save">\n ${e.saveText||"Save Preferences"}\n </button>\n </div>\n </div>\n `}attachEventListeners(){this.container&&(this.container.addEventListener("click",e=>{const t=e.target,n=t.dataset.action||t.closest("[data-action]")?.getAttribute("data-action");if(n)switch(n){case"close":this.hide();break;case"accept":this.sdk.acceptAll(),this.hide();break;case"reject":this.sdk.rejectAll(),this.hide();break;case"save":this.savePreferences()}}),this.container.querySelectorAll("input[data-purpose]").forEach(e=>{e.addEventListener("change",e=>{const t=e.target,n=t.dataset.purpose;this.preferences[n]=t.checked})}),document.addEventListener("keydown",this.handleKeyDown.bind(this)))}handleKeyDown(e){"Escape"===e.key&&this.isVisible&&this.hide()}savePreferences(){this.sdk.savePreferences(this.preferences),this.hide()}injectStyles(){if(document.getElementById("consentera-preferences-styles"))return;const e=document.createElement("style");e.id="consentera-preferences-styles",e.textContent=this.getStyles(),document.head.appendChild(e)}getStyles(){const{primaryColor:e,backgroundColor:t,textColor:n,borderRadius:s}=this.theme;return`\n .consentera-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 999998;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .consentera-overlay--visible {\n opacity: 1;\n }\n\n .consentera-overlay--closing {\n opacity: 0;\n }\n\n .consentera-preferences {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.95);\n width: 90%;\n max-width: 640px;\n max-height: 85vh;\n background: ${t||"#ffffff"};\n border-radius: ${s||"12px"};\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);\n z-index: 999999;\n display: flex;\n flex-direction: column;\n opacity: 0;\n transition: opacity 0.3s ease, transform 0.3s ease;\n }\n\n .consentera-preferences--visible {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n\n .consentera-preferences--closing {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.95);\n }\n\n .consentera-preferences__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid #e5e7eb;\n }\n\n .consentera-preferences__title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: ${n||"#1f2937"};\n }\n\n .consentera-preferences__close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: ${n||"#6b7280"};\n border-radius: 4px;\n }\n\n .consentera-preferences__close:hover {\n background: rgba(0, 0, 0, 0.05);\n }\n\n .consentera-preferences__body {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .consentera-preferences__description {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: ${n||"#6b7280"};\n line-height: 1.5;\n }\n\n .consentera-preferences__purposes {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .consentera-purpose {\n padding: 16px;\n background: #f9fafb;\n border-radius: 8px;\n }\n\n .consentera-purpose__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n\n .consentera-purpose__info {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .consentera-purpose__name {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: ${n||"#1f2937"};\n }\n\n .consentera-purpose__required {\n font-size: 11px;\n padding: 2px 6px;\n background: ${e||"#2563eb"};\n color: white;\n border-radius: 4px;\n font-weight: 500;\n }\n\n .consentera-purpose__description {\n margin: 0;\n font-size: 13px;\n color: ${n||"#6b7280"};\n line-height: 1.5;\n }\n\n .consentera-purpose__cookies {\n margin-top: 12px;\n }\n\n .consentera-purpose__cookies summary {\n font-size: 12px;\n color: ${e||"#2563eb"};\n cursor: pointer;\n }\n\n .consentera-cookies-table {\n width: 100%;\n margin-top: 8px;\n font-size: 12px;\n border-collapse: collapse;\n }\n\n .consentera-cookies-table th,\n .consentera-cookies-table td {\n padding: 8px;\n text-align: left;\n border-bottom: 1px solid #e5e7eb;\n }\n\n .consentera-cookies-table th {\n font-weight: 600;\n color: ${n||"#374151"};\n }\n\n .consentera-cookies-table td {\n color: ${n||"#6b7280"};\n }\n\n .consentera-toggle {\n position: relative;\n display: inline-block;\n width: 48px;\n height: 26px;\n }\n\n .consentera-toggle input {\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .consentera-toggle__slider {\n position: absolute;\n cursor: pointer;\n inset: 0;\n background: #d1d5db;\n border-radius: 26px;\n transition: 0.3s;\n }\n\n .consentera-toggle__slider::before {\n position: absolute;\n content: "";\n height: 20px;\n width: 20px;\n left: 3px;\n bottom: 3px;\n background: white;\n border-radius: 50%;\n transition: 0.3s;\n }\n\n .consentera-toggle input:checked + .consentera-toggle__slider {\n background: ${e||"#2563eb"};\n }\n\n .consentera-toggle input:checked + .consentera-toggle__slider::before {\n transform: translateX(22px);\n }\n\n .consentera-toggle input:disabled + .consentera-toggle__slider {\n opacity: 0.7;\n cursor: not-allowed;\n }\n\n .consentera-preferences__footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n border-top: 1px solid #e5e7eb;\n gap: 16px;\n }\n\n .consentera-preferences__links {\n display: flex;\n gap: 16px;\n }\n\n .consentera-preferences__links a {\n font-size: 13px;\n color: ${e||"#2563eb"};\n text-decoration: underline;\n }\n\n .consentera-preferences__actions {\n display: flex;\n gap: 8px;\n }\n\n @media (max-width: 640px) {\n .consentera-preferences {\n width: 100%;\n height: 100%;\n max-height: 100%;\n border-radius: 0;\n }\n\n .consentera-preferences__footer {\n flex-direction: column;\n }\n\n .consentera-preferences__actions {\n width: 100%;\n flex-direction: column;\n }\n\n .consentera-btn {\n width: 100%;\n }\n }\n `}destroy(){document.removeEventListener("keydown",this.handleKeyDown.bind(this)),this.container?.remove(),this.overlay?.remove(),this.container=null,this.overlay=null,this.isVisible=!1}}class g{config;tcfData=null;constructor(e){this.config={cmpId:123,cmpVersion:1,publisherCountryCode:"IN",gdprApplies:!0,...e}}async init(){this.createTCFApiStub(),this.tcfData=this.getDefaultTCFData()}createTCFApiStub(){"undefined"!=typeof window&&(window.__tcfapi=(e,t,n,s)=>{"ping"===e?n({gdprApplies:this.config.gdprApplies,cmpLoaded:!0,cmpStatus:"loaded",displayStatus:"visible",apiVersion:"2.2",cmpVersion:this.config.cmpVersion,cmpId:this.config.cmpId,gvlVersion:100,tcfPolicyVersion:4}):"getTCData"===e?n(this.tcfData,!0):"addEventListener"===e?n({...this.tcfData,eventStatus:"tcloaded",listenerId:Math.random()},!0):"removeEventListener"===e&&n(!0)},window.__tcfapi.gdprApplies=this.config.gdprApplies,window.__tcfapi.cmpLoaded=!0)}getDefaultTCFData(){return{cmpId:this.config.cmpId,cmpVersion:this.config.cmpVersion,gdprApplies:this.config.gdprApplies,tcString:"",tcfPolicyVersion:4,isServiceSpecific:!0,useNonStandardStacks:!1,purposeOneTreatment:!1,publisherCC:this.config.publisherCountryCode,vendorConsents:{},vendorLegitimateInterests:{},purposeConsents:{},purposeLegitimateInterests:{},specialFeatureOptins:{},publisherRestrictions:[]}}async updateConsent(e){this.tcfData&&(this.tcfData.purposeConsents={1:e.essential,2:e.advertising,3:e.personalization,4:e.advertising,5:e.personalization,6:e.personalization,7:e.analytics,8:e.analytics,9:e.analytics,10:e.functional},this.tcfData.tcString=this.generateTCString(),this.dispatchTCFEvent("useractioncomplete"))}generateTCString(){const e={version:2,created:Date.now(),lastUpdated:Date.now(),cmpId:this.config.cmpId,cmpVersion:this.config.cmpVersion,purposeConsents:this.tcfData?.purposeConsents||{}};return btoa(JSON.stringify(e))}dispatchTCFEvent(e){if("undefined"==typeof window)return;const t=new CustomEvent("tcfapi",{detail:{...this.tcfData,eventStatus:e}});window.dispatchEvent(t)}getTCFData(){return this.tcfData}getTCString(){return this.tcfData?.tcString||""}destroy(){"undefined"!=typeof window&&delete window.__tcfapi,this.tcfData=null}}class f{config;gppData=null;constructor(e){this.config={sections:["tcfeuv2","uspv1"],...e}}async init(){this.createGPPApiStub(),this.gppData=this.getDefaultGPPData()}createGPPApiStub(){if("undefined"==typeof window)return;const e=[],t="loaded",n="visible";window.__gpp=(s,i,r)=>{switch(s){case"ping":i({gppVersion:"1.1",cmpStatus:t,cmpDisplayStatus:n,supportedAPIs:this.config.sections,cmpId:123,sectionList:this.gppData?.sectionIds||[],applicableSections:this.gppData?.applicableSections||[],gppString:this.gppData?.gppString||""});break;case"getSection":this.gppData&&i({sectionId:r,sectionData:this.getSectionData(r)});break;case"getField":i(this.getFieldValue(r));break;case"hasSection":i(this.gppData?.sectionIds.includes(r)||!1);break;case"addEventListener":e.push({callback:i,listenerId:Math.random()}),i({eventName:"listenerRegistered",listenerId:e.length-1,data:this.gppData?.gppString||"",pingData:{gppVersion:"1.1",cmpStatus:t,cmpDisplayStatus:n}});break;case"removeEventListener":{const t=e.findIndex(e=>e.listenerId===r);t>-1?(e.splice(t,1),i(!0)):i(!1);break}default:i(null)}},window.__gpp.version="1.1"}getDefaultGPPData(){return{gppString:"",sectionIds:[],applicableSections:[]}}getSectionData(e){switch(e){case 2:return{Version:2,Created:Math.floor(Date.now()/100),LastUpdated:Math.floor(Date.now()/100),CmpId:123,CmpVersion:1,ConsentScreen:1,ConsentLanguage:"EN"};case 6:return{Version:1,Notice:"Y",OptOutSale:"N",LspaCovered:"Y"};default:return null}}getFieldValue(e){return null}async updateConsent(e){this.gppData&&(this.gppData.gppString=this.buildGPPString(e),this.gppData.sectionIds=this.determineSections(e),this.gppData.applicableSections=this.gppData.sectionIds,this.dispatchGPPEvent("signalStatus"))}buildGPPString(e){const t=[];return this.config.sections?.includes("tcfeuv2")&&t.push({id:2,purposes:{1:e.essential,2:e.advertising,3:e.personalization,4:e.advertising,7:e.analytics,10:e.functional}}),this.config.sections?.includes("uspv1")&&t.push({id:6,notice:!0,optOut:!e.thirdParty,lspaCovered:!0}),this.encodeGPPString(t)}encodeGPPString(e){const t={version:1,sectionIds:e.map(e=>e.id)};return btoa(JSON.stringify({header:t,sections:e}))}determineSections(e){const t=[];return this.config.sections?.includes("tcfeuv2")&&t.push(2),this.config.sections?.includes("uspv1")&&t.push(6),t}dispatchGPPEvent(e){if("undefined"==typeof window)return;const t=new CustomEvent("gpp",{detail:{eventName:e,data:this.gppData?.gppString||"",pingData:{gppVersion:"1.1",cmpStatus:"loaded",applicableSections:this.gppData?.applicableSections||[]}}});window.dispatchEvent(t)}getGPPData(){return this.gppData}getGPPString(){return this.gppData?.gppString||""}destroy(){"undefined"!=typeof window&&delete window.__gpp,this.gppData=null}}class m{events=new Map;on(e,t){this.events.has(e)||this.events.set(e,new Set),this.events.get(e).add(t)}off(e,t){const n=this.events.get(e);n&&n.delete(t)}emit(e,...t){const n=this.events.get(e);n&&n.forEach(e=>{try{e(...t)}catch(e){}})}once(e,t){const n=(...s)=>{this.off(e,n),t(...s)};this.on(e,n)}removeAllListeners(e){e?this.events.delete(e):this.events.clear()}}class y{level;prefix="[ConsentEra]";constructor(e="info"){this.level=e}shouldLog(e){const t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(...e){this.shouldLog("debug")}info(...e){this.shouldLog("info")}warn(...e){this.shouldLog("warn")}error(...e){this.shouldLog("error")}setLevel(e){this.level=e}}function _(){return`consent_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,15)}`}function b(){const e=navigator.userAgent.toLowerCase();let t,n,s="desktop";return/mobile|android|iphone|ipod|blackberry|iemobile|opera mini/i.test(e)?s="mobile":/tablet|ipad|playbook|silk/i.test(e)&&(s="tablet"),/windows/i.test(e)?t="Windows":/macintosh|mac os x/i.test(e)?t="macOS":/linux/i.test(e)?t="Linux":/android/i.test(e)?t="Android":/iphone|ipad|ipod/i.test(e)&&(t="iOS"),/chrome/i.test(e)&&!/edge|edg/i.test(e)?n="Chrome":/firefox/i.test(e)?n="Firefox":/safari/i.test(e)&&!/chrome/i.test(e)?n="Safari":/edge|edg/i.test(e)?n="Edge":/msie|trident/i.test(e)&&(n="IE"),{type:s,os:t,browser:n}}const w={VALIDATION_ERROR:"validation",INVALID_REQUEST_BODY:"validation",INVALID_JSON:"validation",INVALID_UUID:"validation",BAD_REQUEST:"validation",MISSING_REQUIRED_FIELD:"validation",MISSING_TENANT_ID:"validation",INVALID_TENANT_ID:"validation",INVALID_DATE_OF_BIRTH:"validation",INVALID_IDENTIFIER_FORMAT:"validation",DATA_PRINCIPAL_REF_REFUSED:"identity",UNKNOWN_IDENTIFIER_FIELD:"identity",IDENTIFIER_REQUIRED:"identity",IDENTITY_MISMATCH:"identity",GUARDIAN_REQUIRED:"guardian",GUARDIAN_CONSENT_REQUIRED:"guardian",GUARDIAN_TOKEN_REQUIRED:"guardian",GUARDIAN_EVIDENCE_MISSING:"guardian",GUARDIAN_IDENTITY_NOT_VERIFIED:"guardian",GUARDIAN_ADULT_NOT_VERIFIED:"guardian",GUARDIAN_VERIFICATION_METHOD_INVALID:"guardian",AGE_REQUIRED:"guardian",UNAUTHORIZED:"auth",INVALID_CREDENTIALS:"auth",TOKEN_MISSING:"auth",TOKEN_INVALID:"auth",TOKEN_EXPIRED:"auth",TOKEN_MALFORMED:"auth",TOKEN_REVOKED:"auth",SESSION_NOT_FOUND:"auth",SESSION_EXPIRED:"auth",SESSION_REVOKED:"auth",FORBIDDEN:"permission",TENANT_MISMATCH:"permission",TENANT_SUSPENDED:"permission",ACCOUNT_DISABLED:"permission",PRIVILEGE_ESCALATION:"permission",SCHEME_NOT_CONFIGURED:"permission",CSRF_TOKEN_MISSING:"permission",CSRF_TOKEN_INVALID:"permission",NOT_FOUND:"not_found",USER_NOT_FOUND:"not_found",CONFLICT:"conflict",IDEMPOTENCY_KEY_REUSE:"conflict",RATE_LIMIT_EXCEEDED:"rate_limit",INTERNAL_ERROR:"server",INTERNAL_SERVER_ERROR:"server",DATABASE_ERROR:"server"};function v(e,t=Date.now()){if(!e)return;const n=e.trim();if(/^\d+$/.test(n)){const e=Number(n);return Number.isFinite(e)?Math.max(0,1e3*e):void 0}const s=Date.parse(n);return Number.isNaN(s)?void 0:Math.max(0,s-t)}class k extends Error{kind;code;status;requestId;responseBody;retryable;retryAfterMs;constructor(e){super(e.message,void 0===e.cause?void 0:{cause:e.cause}),this.name=new.target.name,this.kind=e.kind,this.code=e.code,this.status=e.status??0,this.requestId=e.requestId,this.responseBody=e.responseBody,this.retryable=e.retryable??!1,this.retryAfterMs=e.retryAfterMs,Object.setPrototypeOf(this,new.target.prototype)}get statusCode(){return this.status}toString(){const e=[this.name,this.code??this.kind];return this.status&&e.push(String(this.status)),this.requestId&&e.push(`req=${this.requestId}`),`${e.join(" ")}: ${this.message}`}}class C extends k{}class E extends k{}class x extends k{}class S extends k{}class I extends k{}class A extends k{}class D extends k{}class T extends k{}class P extends k{}class $ extends k{}class R extends k{}class N extends k{}const L={config:C,auth:E,permission:x,validation:S,identity:I,guardian:A,not_found:D,conflict:T,rate_limit:P,server:$,network:R,timeout:N,cancelled:k,unknown:k};function M(e){const{code:t,message:n}=function(e){if(!e||"object"!=typeof e)return{};const t=e,n=t.error&&"object"==typeof t.error?t.error:t;return{code:"string"==typeof n.code?n.code:void 0,message:"string"==typeof n.message?n.message:void 0}}(e.body),s=t&&w[t]||(401===(i=e.status)?"auth":403===i?"permission":404===i?"not_found":409===i?"conflict":429===i?"rate_limit":i>=500?"server":i>=400?"validation":"unknown");var i;const r=429===e.status||e.status>=500;return o={kind:s,code:t,status:e.status,requestId:e.requestId,responseBody:e.body,retryable:r,retryAfterMs:e.retryAfterMs,message:n||`${e.method} ${e.path} failed: ${e.status}${e.statusText?` ${e.statusText}`:""}`},new L[o.kind](o);var o}function O(e,t){return new R({kind:"network",message:e,status:0,retryable:!0,cause:t})}function U(e,t){return new N({kind:"timeout",message:e,status:0,retryable:!0,cause:t})}function K(e,t){return new k({kind:"cancelled",message:e,status:0,retryable:!1,cause:t})}function q(e,t){return new C({kind:"config",message:e,status:0,code:t,retryable:!1})}const V=k,B="2.0.0",F=`js/${B}`;function j(e){const t="undefined"!=typeof process&&process.versions?.node?`node ${process.versions.node}`:"unknown";return`ConsenteraSDK/${B} (web; ${t})`}const G={attempts:3,baseDelayMs:250,maxDelayMs:4e3};function z(){return"undefined"!=typeof window}function H(e){return!!e&&(e.startsWith("tiq_live_")||e.startsWith("tiq_test_"))}function W(e){return!!e&&e.startsWith("tiq_pub_")}function Y(e){if(z()&&e.apiKey&&!e.unsafeAllowSecretKeyInBrowser)throw q("Consentera: `apiKey` is a SECRET and this SDK is running in a browser, where every visitor can read the bundle. "+e.fix+" "+(H(e.apiKey)?`The key supplied starts with "${e.apiKey.slice(0,9)}" — rotate it, it is now in a bundle. `:"")+"If you are certain this code never reaches a browser (a test harness with a jsdom window, a server-side render that only looks like one), set `unsafeAllowSecretKeyInBrowser: true` and every request will warn.","SECRET_KEY_IN_BROWSER")}function J(){const e="undefined"!=typeof globalThis?globalThis.crypto:void 0;if(e&&"function"==typeof e.randomUUID)return e.randomUUID();if(e&&"function"==typeof e.getRandomValues){const t=e.getRandomValues(new Uint8Array(16));return Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}return`nc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function X(e,t){return new Promise((n,s)=>{if(t?.aborted)return void s(K("request cancelled"));const i=setTimeout(()=>{t?.removeEventListener("abort",r),n()},e),r=()=>{clearTimeout(i),s(K("request cancelled"))};t?.addEventListener("abort",r,{once:!0})})}function Q(e,t,n=Math.random){const s=Math.min(t.maxDelayMs,t.baseDelayMs*2**e);return Math.floor(n()*s)}class Z{config;logger;constructor(e,t){this.config=e,this.logger=t}updateConfig(e){this.config={...this.config,...e}}authHeadersFor(e,t){const{apiKey:n,siteKey:s,unsafeAllowSecretKeyInBrowser:i}=this.config,r=z();if(t)return{};if("session"===e)return{};if("public"===e)return s?{"X-API-Key":s}:{};if(r&&!i)throw q("Consentera: this call needs a Data Fiduciary credential, which is a SECRET and must never be in a browser bundle. Set `proxyEndpoint` to your own server route (it holds the tiq_live_/tiq_test_ key and forwards the call), or run this call server-side. A public site key (tiq_pub_) cannot authorise it: the lifecycle roads are server-to-server. A site key opens only the public read roads and the session-scoped render/submit, and only for the origins in its allowed_domains.","SECRET_KEY_IN_BROWSER");if(n)return r&&i&&this.logger.warn("Consentera: SENDING A SECRET KEY FROM A BROWSER because unsafeAllowSecretKeyInBrowser is set. Every visitor to this page can read it. Rotate the key and move to proxyEndpoint."),{"X-API-Key":n};if(W(s))throw q("Consentera: a site key (tiq_pub_) was supplied for a Data Fiduciary lifecycle road. Those roads are server-to-server; a site key opens only the public read roads and the session-scoped render/submit, so this call would be refused 403. Use `proxyEndpoint`, or a secret key server-side.","SITE_KEY_ON_DF_ROAD");throw q("Consentera: no credential for a Data Fiduciary road. Set `proxyEndpoint` (browser) or `apiKey` (server).","NO_CREDENTIAL")}urlFor(e,t){const{proxyEndpoint:n,apiEndpoint:s}=this.config,i=!!n,r=i?n:s,o=this.config.apiPathPrefix??"/api/v1/public";if("/api/v1/public"!==o&&"/api/v1/cookie-consent"!==o)throw q("Consentera: unsupported transport API plane.");let a=i?`${r}${e}`:`${r}${o}${e}`;if(t){const e=new URLSearchParams;for(const[n,s]of Object.entries(t))null!=s&&e.set(n,String(s));const n=e.toString();n&&(a+=`?${n}`)}return{url:a,viaProxy:i}}async request(e,t,n,s={}){const i=s.road??"df",{url:r,viaProxy:o}=this.urlFor(t,s.query),a={...G,...this.config.retry,...s.retry},c=s.timeoutMs??this.config.timeoutMs??1e4,d=this.config.fetchImpl??globalThis.fetch;if("function"!=typeof d)throw q("Consentera: no fetch implementation available in this environment.");const l={Accept:"application/json","X-Consentera-SDK":F,...z()?{}:{"User-Agent":j()},...this.authHeadersFor(i,o)};!o&&"session"!==i&&this.config.tenantId&&(l["X-Tenant-Id"]=this.config.tenantId),void 0!==n&&(l["Content-Type"]="application/json"),"GET"!==e&&(l["Idempotency-Key"]=s.idempotencyKey??J());const u="function"==typeof this.config.customHeaders?this.config.customHeaders():this.config.customHeaders;Object.assign(l,u,s.headers);let h=n;if(void 0!==n&&this.config.beforeSend){const s=this.config.beforeSend({method:e,path:t,body:n});if(null==s)throw q(`Consentera: beforeSend refused ${e} ${t}. Nothing was sent.`,"BEFORE_SEND_REFUSED");h=s}const p=void 0===h?void 0:JSON.stringify(h);let g;for(let n=0;n<a.attempts;n++){if(s.signal?.aborted)throw K("request cancelled before attempt");const i=Date.now();let o=!1;const u=new AbortController,h=setTimeout(()=>{o=!0,u.abort()},c),f=()=>u.abort();s.signal?.addEventListener("abort",f,{once:!0});try{const n=await d(r,{method:e,headers:l,body:p,signal:u.signal}),o=Date.now()-i,a=n.headers?.get?.("X-Request-Id")??void 0;if(n.ok){this.logger.debug(`${e} ${t} -> ${n.status} (${o}ms)`,{requestId:a});const i=e=>s.raw?{status:n.status,body:e,requestId:a,retryAfterMs:v(n.headers?.get?.("Retry-After"))}:e;if(204===n.status)return i(void 0);const r=await n.text();if(!r)return i(void 0);try{return i(JSON.parse(r))}catch{throw M({status:n.status,body:r,requestId:a,method:e,path:t,statusText:"response body is not JSON"})}}const c=await n.text();let h=c;try{h=JSON.parse(c)}catch{}const f=v(n.headers?.get?.("Retry-After"));g=M({status:n.status,statusText:n.statusText,body:h,requestId:a,retryAfterMs:f,method:e,path:t}),this.logger.debug(`${e} ${t} -> ${n.status} ${g.code??""} (${o}ms)`,{requestId:a})}catch(n){if(n instanceof k){if(!n.retryable)throw n;g=n}else if(o)g=U(`${e} ${t} timed out after ${c}ms`,n);else{if(s.signal?.aborted)throw K(`${e} ${t} cancelled`,n);g=O(`${e} ${t}: ${n?.message??"network error"}`,n)}}finally{clearTimeout(h),s.signal?.removeEventListener("abort",f)}if(!g.retryable||n===a.attempts-1)throw g;if(void 0!==a.maxRetryAfterMs&&void 0!==g.retryAfterMs&&g.retryAfterMs>a.maxRetryAfterMs)throw g;const m=g.retryAfterMs??Q(n,a);this.logger.debug(`${e} ${t} retry ${n+1}/${a.attempts-1} in ${m}ms (${g.code??g.kind})`),await X(m,s.signal)}throw g??O(`${e} ${t} failed`)}}class ee extends m{config;storage;banner=null;preferenceCenter=null;tcfManager=null;gppManager=null;logger;initialized=!1;initPromise=null;destroyed=!1;remoteConfig=null;remotePolicyVersion="";ageGateEnabled=!1;ageGatePrompt;pendingIsAdult=null;deviceId;constructor(e){if(super(),Y({apiKey:e.apiKey,unsafeAllowSecretKeyInBrowser:e.unsafeAllowSecretKeyInBrowser,fix:'The cookie-consent plane needs no secret at all — use a public site key (`siteKey: "tiq_pub_…"`), which is what it reads. Keep the tiq_live_/tiq_test_ key on your own server.'}),"string"!=typeof e.apiEndpoint||""===e.apiEndpoint.trim())throw q("Consentera: `apiEndpoint` is required — there is no default server. Set it to your Consentera API origin (the SDK calls `${apiEndpoint}/api/v1/cookie-consent/*`); with the script-tag build, set `data-api-endpoint`.","ENDPOINT_REQUIRED");this.config=this.mergeDefaults(e),this.logger=new y(e.apiKey?"info":"debug"),this.storage=new a(this.config.storage),this.deviceId=this.getOrCreateDeviceId(),this.config.autoShow&&this.init().then(()=>{this.hasConsent()||this.showBanner()}).catch(e=>{this.logger.error("Consentera: auto-init failed; no banner will be shown.",e),this.emit("error",e),this.config.callbacks?.onError?.(e)})}mergeDefaults(e){return{autoShow:!0,language:"en",region:"IN",regulations:["DPDP"],theme:{position:"bottom",type:"banner",primaryColor:"#2563eb",backgroundColor:"#ffffff",textColor:"#1f2937",borderRadius:"8px",showLogo:!0},storage:{type:"cookie",cookieName:"consentera_consent",cookieExpiry:365,cookiePath:"/",sameSite:"Lax"},...e}}getOrCreateDeviceId(){const e="consentera_device_id";try{let t=window.localStorage.getItem(e);return t||(t=_(),window.localStorage.setItem(e,t)),t}catch{return _()}}setAgeDeclaration(e){this.pendingIsAdult=e}isAgeGateEnabled(){return this.ageGateEnabled}getAgeGatePrompt(){return this.ageGatePrompt}init(){return this.initialized?(this.logger.warn("ConsentEra Consent SDK already initialized"),Promise.resolve()):(this.initPromise||(this.initPromise=this.doInit().finally(()=>{this.initPromise=null})),this.initPromise)}async doInit(){try{this.logger.info("Initializing ConsentEra Consent SDK...");const e=await this.fetchConfig();if(this.destroyed)return;if(this.remoteConfig=e,this.config.tcf?.enabled&&(this.tcfManager=new g(this.config.tcf),await this.tcfManager.init()),this.config.gpp?.enabled&&(this.gppManager=new f(this.config.gpp),await this.gppManager.init()),this.destroyed)return;this.banner=new l(this.remoteConfig,this.config.theme,this),this.preferenceCenter=new p(this.remoteConfig,this.config.theme,this),this.initialized=!0,this.emit("ready"),this.config.callbacks?.onReady?.(),this.logger.info("ConsentEra Consent SDK initialized successfully")}catch(e){throw this.logger.error("Failed to initialize SDK:",e),this.config.callbacks?.onError?.(e),e}}authHeaders(){const e={"X-Tenant-Id":this.config.tenantId},t=this.config.siteKey||this.config.apiKey;return t&&(z()&&!this.config.siteKey&&H(this.config.apiKey)&&this.logger.warn("Consentera: SENDING A SECRET KEY FROM A BROWSER because unsafeAllowSecretKeyInBrowser is set. Every visitor to this page can read it. The cookie-consent plane needs only a public site key — rotate this one."),e["X-API-Key"]=t),e}async fetchConfig(){try{const e=await fetch(`${this.config.apiEndpoint}/api/v1/cookie-consent/config`,{headers:{...this.authHeaders(),"Accept-Language":this.config.language||"en"}});if(!e.ok)throw new Error(`Failed to fetch config: ${e.statusText}`);const t=await e.json();return this.remotePolicyVersion=t.policy_version,this.ageGateEnabled=t.age_gate_enabled,this.ageGatePrompt=t.age_gate_prompt,function(e,t){const n=[...e.categories].sort((e,t)=>e.sort_order-t.sort_order).map(e=>({id:e.key,name:e.name,description:e.description,required:e.mandatory,defaultEnabled:e.mandatory,category:te(e.key)})),s=e.banner?.messaging||{},i={title:s.title,description:s.description,acceptAllText:s.accept_text,rejectAllText:s.reject_text,customizeText:s.customize_text,saveText:s.save_text,showRejectAll:e.ui_options?.reject_all??!0,showCustomize:e.ui_options?.customize??!0,showPrivacyPolicy:!0,purposes:n};return{tenantId:e.tenant_id,banner:i,purposes:n,theme:t.theme,regulations:t.regulations||["DPDP"],languages:[e.language_code]}}(t,this.config)}catch(e){throw this.logger.error("Consentera: the tenant consent configuration could not be loaded.",e),e instanceof Error?e:new Error(String(e))}}showBanner(){this.initialized?(this.banner?.show(),this.emit("banner_shown"),this.config.callbacks?.onBannerShown?.()):this.logger.warn("SDK not initialized. Call init() first.")}hideBanner(){this.banner?.hide(),this.emit("banner_closed"),this.config.callbacks?.onBannerClosed?.()}showPreferences(){this.initialized?(this.preferenceCenter?.show(),this.emit("preferences_opened")):this.logger.warn("SDK not initialized. Call init() first.")}hidePreferences(){this.preferenceCenter?.hide()}async acceptAll(){return this.emit("accept_all"),this.saveConsent({essential:!0,functional:!0,analytics:!0,marketing:!0,personalization:!0,advertising:!0,thirdParty:!0})}async rejectAll(){return this.emit("reject_all"),this.saveConsent({essential:!0,functional:!1,analytics:!1,marketing:!1,personalization:!1,advertising:!1,thirdParty:!1})}async savePreferences(e){return this.emit("preferences_saved",e),this.saveConsent(e)}async saveConsent(e){try{const t=this.buildSelections(e),n=(await this.syncConsent(t)).effective_selections??t,s=this.buildConsentData(n);return this.storage.save(s),this.tcfManager&&await this.tcfManager.updateConsent(this.selectionsToPreferences(n)),this.gppManager&&await this.gppManager.updateConsent(this.selectionsToPreferences(n)),this.hideBanner(),this.hidePreferences(),this.emit("consent_given",s),this.config.callbacks?.onConsentGiven?.(s),this.config.callbacks?.onPreferencesUpdated?.(this.selectionsToPreferences(n)),{success:!0,consentId:s.consentId}}catch(e){return this.logger.error("Failed to save consent:",e),{success:!1,error:e.message}}}buildSelections(e){const t={};for(const n of this.remoteConfig?.purposes||[])t[n.id]=n.required||!!e[n.id];return t}selectionsToPreferences(e){const t={essential:!0,functional:!1,analytics:!1,marketing:!1,personalization:!1,advertising:!1,thirdParty:!1};for(const[n,s]of Object.entries(e))t[n]=s;return t}buildConsentData(e){const t=(this.remoteConfig?.purposes||[]).map(t=>({id:t.id,name:t.name,description:t.description,category:t.category,required:t.required,consented:t.required||!!e[t.id],legalBasis:t.required?"legitimate_interest":"consent"}));return{consentId:_(),timestamp:(new Date).toISOString(),version:this.remotePolicyVersion||"1.0",purposes:t,legalBasis:"consent",regulation:this.config.regulations?.[0]||"DPDP",metadata:{userAgent:navigator.userAgent,pageUrl:window.location.href,referrer:document.referrer,device:b()}}}async syncConsent(e){try{const t={device_id:this.deviceId,policy_version:this.remotePolicyVersion,selections:e,affirmative_action:{type:"button",ui_event_id:_(),captured_at:(new Date).toISOString()}};this.ageGateEnabled&&null!==this.pendingIsAdult&&(t.age_declaration={is_adult:this.pendingIsAdult});const n=new Z({apiEndpoint:this.config.apiEndpoint,apiPathPrefix:"/api/v1/cookie-consent",retry:{maxRetryAfterMs:5e3}},this.logger);return await n.request("POST","/preferences",t,{road:"public",headers:this.authHeaders()})}catch(e){throw this.logger.error("Consentera: consent sync failed — the decision was not recorded.",{message:e?.message}),this.emit("sync_failed",e),this.config.callbacks?.onSyncFailed?.(e),e}}getConsent(){return this.storage.get()}hasConsent(){return this.storage.exists()}async withdrawConsent(e){try{const t=this.getConsent();if(!t)return{success:!1,error:"No consent found"};const n={};for(const s of this.remoteConfig?.purposes||[]){if(s.required){n[s.id]=!0;continue}if(!e||e.includes(s.id))n[s.id]=!1;else{const e=t.purposes.find(e=>e.id===s.id)?.consented??!1;n[s.id]=e}}const s=(await this.syncConsent(n)).effective_selections??n,i=this.buildConsentData(s);return this.storage.save(i),this.tcfManager&&await this.tcfManager.updateConsent(this.selectionsToPreferences(s)),this.gppManager&&await this.gppManager.updateConsent(this.selectionsToPreferences(s)),this.emit("consent_withdrawn",e||[]),this.config.callbacks?.onConsentWithdrawn?.(e||[]),{success:!0,consentId:i.consentId}}catch(e){return{success:!1,error:e.message}}}isConsentGiven(e){const t=this.getConsent();if(!t)return!1;const n=t.purposes.find(t=>t.id===e);return n?.consented||!1}getPreferences(){const e=this.getConsent();if(!e)return{essential:!0,functional:!1,analytics:!1,marketing:!1,personalization:!1,advertising:!1,thirdParty:!1};const t={essential:!0};return e.purposes.forEach(e=>{t[e.id]=e.consented}),t}setLanguage(e){this.config.language=e}destroy(){this.destroyed=!0,this.banner?.destroy(),this.preferenceCenter?.destroy(),this.tcfManager?.destroy(),this.gppManager?.destroy(),this.removeAllListeners(),this.initialized=!1}}function te(e){const t=e.toLowerCase();return t.includes("essential")||t.includes("necess")||t.includes("strict")||t.includes("security")?"essential":t.includes("analyt")?"analytics":t.includes("market")||t.includes("advertis")?"marketing":t.includes("function")||t.includes("prefer")?"functional":t.includes("personal")?"personalization":"third_party"}function ne(e){return`/consent/artifacts/${encodeURIComponent(e)}`}async function se(e,t,n={}){const s=await e("GET",ne(t),void 0,{session_id:n.sessionId||void 0},{raw:!0,signal:n.signal,timeoutMs:n.timeoutMs});if(200===s.status&&s.body&&"object"==typeof s.body)return{state:"recorded",artifact:s.body,requestId:s.requestId};if(202===s.status&&s.body&&"object"==typeof s.body){const e=s.body,t="number"==typeof e.retry_after&&e.retry_after>=0?1e3*e.retry_after:void 0;return{state:"pending",pending:e,retryAfterMs:s.retryAfterMs??t??1e3,requestId:s.requestId}}throw M({status:s.status,statusText:"not an artifact read answer (expected 200 or 202 with a JSON body)",body:s.body,requestId:s.requestId,method:"GET",path:ne(t)})}const ie=new Set(["consentera:submitted","consentera:declined"]),re=new Set(["granted","partial","denied"]);function oe(e,t){if(!t.origin||e.origin!==t.origin)return null;if(void 0!==t.source&&e.source!==t.source)return null;const n=e.data;if(!n||"object"!=typeof n||"string"!=typeof n.type||!ie.has(n.type))return null;const s="string"==typeof n.session_id&&n.session_id?n.session_id:void 0,i="string"==typeof n.sessionId&&n.sessionId?n.sessionId:void 0;if(s&&i&&s!==i)return null;const r=s??i;if(!r||r!==t.sessionId)return null;const o="string"==typeof n.redirectUrl&&n.redirectUrl?n.redirectUrl:void 0,a=function(e){if("string"!=typeof e||!e)return null;try{return new URL(e,"https://collect.invalid").searchParams}catch{return null}}(o),c=n.choices&&"object"==typeof n.choices?n.choices:void 0,d=n.type,l="string"==typeof n.status&&re.has(n.status)?n.status:function(e,t){const n=e?.get("status");if(n&&re.has(n))return n;const s=Object.values(t??{}),i=s.filter(Boolean).length;return 0===i?"denied":i<s.length?"partial":"granted"}(a,"consentera:declined"===d?void 0:c);return{outcome:"decided",type:d,session_id:r,artifact_id:"string"==typeof n.artifact_id&&n.artifact_id?n.artifact_id:a?.get("artifact_id")??"",status:l,pending:!0===n.pending||"1"===a?.get("pending"),...o?{redirect_url:o}:{},...c?{choices:c}:{}}}function ae(e,t={}){if("undefined"==typeof window||"undefined"==typeof document)throw new Error("openConsentPopup can only be used in browser environments");const n=function(e,t){if(!e)return null;let n;try{n=new URL(e,t)}catch{return`the session's callback_url (${e}) is not a URL`}return"https:"!==n.protocol&&"http:"!==n.protocol?`the session's callback_url is an app link (${n.protocol}//…). /collect then posts its decision to its own origin, which this page is not, so the popup would never hear it. Use redirectToConsent, or create the session with a callback_url on this page’s origin.`:n.origin!==t?`/collect posts the decision to the callback's origin (${n.origin}), and this page is ${t}. The browser drops a message addressed to another origin, so the popup would never hear it. Create the session with a callback_url on this page’s origin.`:null}(t.callbackUrl,window.location.origin);if(n)return Promise.reject(q(`Consentera: ${n}`,"CALLBACK_ORIGIN_MISMATCH"));let s;try{s=new URL(e.consent_url,window.location.href).origin}catch{return Promise.reject(q("Consentera: consent_url is not a URL.","CONSENT_URL_INVALID"))}const i=t.timeoutMs??6e5,r=t.title??"Your consent choices",o=t.container??document.body;return new Promise((t,n)=>{const a=document.activeElement,c=document.documentElement.style.overflow,d=document.createElement("div");d.dataset.consenteraPopup="true",d.style.cssText="position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(15,23,42,.6)";const l=document.createElement("div");l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-label",r),l.style.cssText="display:flex;flex-direction:column;width:100%;max-width:680px;height:min(780px,100%);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.35)";const u=document.createElement("div");u.style.cssText="display:flex;justify-content:flex-end;padding:8px;border-bottom:1px solid #e5e7eb";const h=document.createElement("button");h.type="button",h.textContent="Close",h.setAttribute("aria-label",`Close — ${r}`),h.style.cssText="font:inherit;font-size:14px;padding:8px 14px;min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;cursor:pointer";const p=document.createElement("iframe");p.title=r,p.src=e.consent_url,p.style.cssText="flex:1;width:100%;border:0;background:#fff",u.append(h),l.append(u,p),d.append(l),o.append(d),document.documentElement.style.overflow="hidden",h.focus();let g=!1;const f=e=>{g||(g=!0,clearTimeout(b),window.removeEventListener("message",y),document.removeEventListener("keydown",_,!0),d.remove(),document.documentElement.style.overflow=c,a&&"function"==typeof a.focus&&a.focus(),e())},m=()=>f(()=>t({outcome:"dismissed",session_id:e.consent_session_id})),y=n=>{const i=oe(n,{origin:s,sessionId:e.consent_session_id,source:p.contentWindow});i&&f(()=>t(i))},_=e=>{"Escape"===e.key&&(e.preventDefault(),m())},b=setTimeout(()=>f(()=>n(new Error(`Consentera: the consent dialog had no decision within ${i}ms. The session is still valid — verify it server-side, or reopen it.`))),i);h.addEventListener("click",m),window.addEventListener("message",y),document.addEventListener("keydown",_,!0)})}class ce{request;config;logger;callbackUrls=new Map;constructor(e,t,n){this.request=e,this.config=t,this.logger=n}async createSession(e,t){const s=e.callback_url||this.config.callbackUrl,i=s?function(){const e="undefined"!=typeof globalThis?globalThis.crypto:void 0;if(!e||"function"!=typeof e.getRandomValues)throw q("Consentera: no crypto.getRandomValues here, so no unguessable callback state can be made. This SDK will not fall back to Math.random for it.","NO_SECURE_RANDOM");return Array.from(e.getRandomValues(new Uint8Array(32)),e=>e.toString(16).padStart(2,"0")).join("")}():void 0,o={ui_mode:e.ui_mode||"redirect",callback_url:s&&i?de(s,i):void 0};e.data_principal&&Object.keys(e.data_principal).length>0&&(o.data_principal=e.data_principal),e.data_principal_id&&(o.data_principal_id=e.data_principal_id),e.age&&e.age.date_of_birth&&(o.age={date_of_birth:e.age.date_of_birth});const a=e.language||this.config.language;a&&(o.language=a),e.session_ref&&(o.session_ref=e.session_ref),e.notice_internal_name&&(o.notice_internal_name=e.notice_internal_name),void 0!==e.notice_version_number&&(o.notice_version_number=e.notice_version_number),e.customer_token&&(o.customer_token=e.customer_token),e.guardian_email&&(o.guardian_email=e.guardian_email),e.guardian_phone&&(o.guardian_phone=e.guardian_phone),e.guardian_relationship&&(o.guardian_relationship=e.guardian_relationship);const c=await this.request("POST","/consent/sessions",o,void 0,{idempotencyKey:t?.idempotencyKey??J(),signal:t?.signal,timeoutMs:t?.timeoutMs});return r("session",n.session(c.consent_session_id),JSON.stringify({session_id:c.consent_session_id,...i?{state:i}:{},notice_hash:c.notice_hash,data_principal_id:c.data_principal_id,created_at:(new Date).toISOString()}))||this.logger.warn('Consentera: browser storage is unavailable, so the callback handshake cannot survive a page navigation. Use ui_mode "popup", or verify the artifact server-side.'),"string"==typeof o.callback_url&&o.callback_url&&this.callbackUrls.set(c.consent_session_id,o.callback_url),this.logger.info("Consent session created",{session_id:c.consent_session_id}),c}redirectToConsent(e){if("undefined"==typeof window)throw new Error("redirectToConsent can only be used in browser environments");window.location.href=e.consent_url}openConsentPopup(e,t){return ae(e,{...t,callbackUrl:t?.callbackUrl??this.callbackUrls.get(e.consent_session_id)??this.config.callbackUrl})}async getArtifact(e,t){return se(this.request,e,t)}}function de(e,t){let n;try{n=new URL(e)}catch{throw q(`Consentera: callback_url must be an absolute URL (the platform refuses anything else); got ${JSON.stringify(e.slice(0,80))}`,"INVALID_CALLBACK_URL")}if(n.searchParams.has("state"))throw q("Consentera: callback_url already carries a `state` parameter. This SDK puts its own callback state there to bind the return to this browser; use a different parameter name for yours.","CALLBACK_STATE_RESERVED");return n.searchParams.set("state",t),n.toString()}function le(e){try{const t=new URL(e);return`${t.origin}${t.pathname}`}catch{return}}function ue(e,t="minimal"){if("none"===t)return;if("undefined"==typeof window)return{user_agent:"Consentera SDK (SSR)",platform:"web"};const n=navigator.userAgent;let s="Unknown",i="",r="Unknown",o="",a="desktop";n.includes("Chrome")&&!n.includes("Edg")?(s="Chrome",i=n.match(/Chrome\/([\d.]+)/)?.[1]||""):n.includes("Safari")&&!n.includes("Chrome")?(s="Safari",i=n.match(/Version\/([\d.]+)/)?.[1]||""):n.includes("Firefox")?(s="Firefox",i=n.match(/Firefox\/([\d.]+)/)?.[1]||""):n.includes("Edg")&&(s="Edge",i=n.match(/Edg\/([\d.]+)/)?.[1]||""),n.includes("Windows")?(r="Windows",o=n.match(/Windows NT ([\d.]+)/)?.[1]||""):n.includes("Mac OS X")?(r="macOS",o=n.match(/Mac OS X ([\d_.]+)/)?.[1]?.replace(/_/g,".")||""):n.includes("Android")?(r="Android",o=n.match(/Android ([\d.]+)/)?.[1]||""):n.includes("iPhone")||n.includes("iPad")?(r="iOS",o=n.match(/OS ([\d_]+)/)?.[1]?.replace(/_/g,".")||""):n.includes("Linux")&&(r="Linux"),/Mobi|Android.*Mobile|iPhone/.test(n)?a="mobile":/iPad|Android(?!.*Mobile)|Tablet/.test(n)&&(a="tablet");const c={platform:"web",device_type:a,browser_name:s,os_name:r,session_id:e};return"minimal"===t?c:{...c,user_agent:n,screen_resolution:`${window.screen.width}x${window.screen.height}`,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,browser_version:i,os_version:o,page_url:le(window.location.href),referrer:document.referrer?le(document.referrer):void 0}}function he(e,t="button"){return{type:t,ui_event_id:e,captured_at:(new Date).toISOString()}}function pe(e){if("data_principal_id"in e&&e.data_principal_id)return{data_principal_id:e.data_principal_id};const t=e.data_principal_identifiers;if(!t||0===Object.keys(t).length)throw new Error("Consentera: name the Data Principal with data_principal_id, or with data_principal_identifiers carrying the identifier fields of this organisation's integration key. data_principal_ref is refused by the API.");return{data_principal_identifiers:t}}class ge{request;logger;constructor(e,t){this.request=e,this.logger=t}async check(e,t,n){const s={...pe(e),purpose_code:t},i=await this.request("POST","/consent/validate",s,void 0,{signal:n?.signal,timeoutMs:n?.timeoutMs});return this.logger.debug("Consent validated",{namedBy:"data_principal_id"in e?"data_principal_id":"data_principal_identifiers",purpose:t,decision:i.decision}),i}async checkBulk(e,t,n){const s={...pe(e),purpose_codes:t},i=await this.request("POST","/consent/validate/bulk",s,void 0,{signal:n?.signal,timeoutMs:n?.timeoutMs});return this.logger.debug("Bulk consent validated",{namedBy:"data_principal_id"in e?"data_principal_id":"data_principal_identifiers",purposes:t.length,results:i.results?.map(e=>`${e.purpose_code}:${e.decision}`)}),i}async isAllowed(e,t,n){return"ALLOW"===(await this.check(e,t,n)).decision}async areAllowed(e,t){const n=await this.checkBulk(e,t),s=new Map;for(const e of n.results||[])s.set(e.purpose_code??e.purpose_id,"ALLOW"===e.decision);return s}}class fe{request;logger;onChanged;contextMode;constructor(e,t,n){this.request=e,this.logger=t,this.contextMode=n?.contextMode??"minimal"}context(){return ue(void 0,this.contextMode)}mutation(e){return{idempotencyKey:e?.idempotencyKey??J(),signal:e?.signal,timeoutMs:e?.timeoutMs}}emitChanged(e,t,n){try{this.onChanged?.({dataPrincipalId:e,changes:t,source:n})}catch(e){this.logger.warn("consent.changed listener threw",{error:String(e)})}}async getUpdateContext(e,t){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e))throw new Error("Consentera: getUpdateContext takes a data_principal_id (a uuid), not an identifier. This road deliberately accepts no identifiers — a query string is written verbatim into access logs, browser history and Referer headers. Resolve the id once with validate.check({ data_principal_identifiers: … }, purpose) and pass the data_principal_id from its response.");const n={data_principal_id:e};return t?.language_code&&(n.language_code=t.language_code),this.request("GET","/consent/update/context",void 0,n)}async update(e,t,n,s="btn_save_preferences",i){const r={data_principal_id:e,notice_version_id:n.noticeVersionId,notice_hash:n.noticeHash,language_code:n.languageCode||"en",updates:t,affirmative_action:he(s),client_context:this.context()};await this.request("POST","/consent/update",r,void 0,this.mutation(i)),this.logger.info("Consent updated",{dataPrincipal:e,updates:t.map(e=>`${e.purpose_id}:${e.new_status}`)}),this.emitChanged(e,t.map(e=>({purpose_id:e.purpose_id,status:e.new_status})),"update")}async grant(e,t,n,s="btn_grant_consent",i){const r=t.map(e=>({purpose_id:e,new_status:"granted"}));return this.update(e,r,n,s,i)}async deny(e,t,n,s="btn_deny_consent",i){const r=t.map(e=>({purpose_id:e,new_status:"denied"}));return this.update(e,r,n,s,i)}async getWithdrawalContext(e){return this.request("GET","/consent/withdrawal/context",void 0,{data_principal_id:e})}async withdraw(e,t,n,s="btn_withdraw_consent",i){const r={data_principal_id:e,purposes:t,reason:n,affirmative_action:he(s),client_context:this.context()};await this.request("POST","/consent/withdraw",r,void 0,this.mutation(i)),this.logger.info("Consent withdrawn",{dataPrincipal:e,purposes:t}),this.emitChanged(e,t.map(e=>({purpose_id:e,status:"withdrawn"})),"withdraw")}async withdrawBulk(e,t,n,s="btn_withdraw_all",i){const r={data_principal_id:e,purposes:t,reason:n,affirmative_action:he(s),client_context:this.context()};await this.request("POST","/consent/withdraw/bulk",r,void 0,this.mutation(i)),this.logger.info("Bulk consent withdrawn",{dataPrincipal:e,purposes:t.length}),this.emitChanged(e,t.map(e=>({purpose_id:e,status:"withdrawn"})),"withdraw_bulk")}async getWithdrawalAnalytics(){return this.request("GET","/consent/withdrawal/analytics")}async getRenewalContext(e){return this.request("GET","/consent/renewal/context",void 0,{data_principal_id:e})}async renew(e,t,n,s="btn_renew_consent",i){const r={data_principal_id:e,purpose_ids:t,notice_hash:n,captured_at:he(s).captured_at,client_context:this.context()},o=await this.request("POST","/consent/renew",r,void 0,{...this.mutation(i),raw:!0});return this.logger.info("Consent renewed",{dataPrincipal:e,purposes:t}),this.emitChanged(e,o.body.renewed_consents.map(e=>({purpose_id:e.purpose_id,status:"granted"})),"renew"),o}async renewBulk(e,t,n,s="btn_renew_all",i){const r={data_principal_id:e,renewals:t.map(e=>({purpose_id:e})),notice_hash:n,captured_at:he(s).captured_at,client_context:this.context()},o=await this.request("POST","/consent/renew/bulk",r,void 0,{...this.mutation(i),raw:!0});return this.logger.info("Bulk consent renewed",{dataPrincipal:e,purposes:o.body.success_count}),o.body.renewed_consents.length>0&&this.emitChanged(e,o.body.renewed_consents.map(e=>({purpose_id:e.purpose_id,status:"granted"})),"renew"),o}}const me=new Set(["granted","partial","denied"]);function ye(e){return e&&me.has(e)?e:"unknown"}class _e{logger;request;options;constructor(e,t,n={}){this.logger=e,this.request=t,this.options=n}readCallbackParams(e){let t;if(e)t="string"==typeof e?new URLSearchParams(e):e;else{if("undefined"==typeof window)throw new Error("readCallbackParams requires searchParams in non-browser environments");t=new URLSearchParams(window.location.search)}return{session_id:t.get("session_id")||t.get("consent_session_id")||"",artifact_id:t.get("artifact_id")||t.get("consent_artifact_id")||void 0,raw_status:t.get("status")||"",claimed_status:ye(t.get("status")),pending:"1"===t.get("pending"),state:t.get("state")||void 0,sig:t.get("sig")||void 0,error:t.get("error")||void 0}}async parseCallback(e){const t=this.readCallbackParams(e),s={session_id:t.session_id,artifact_id:t.artifact_id,claimed_status:t.claimed_status,claimed_pending:t.pending,status:"unverified"};if(t.error)return this.finish({...s,status:"error",error:t.error,reason:"the platform returned an error"});if(!t.session_id)return this.finish({...s,status:"unverified",reason:"the callback names no session"});const r=i("session",n.session(t.session_id));if(!r)return this.finish({...s,reason:"no session was stored in this browser for that id — the session was created elsewhere, the tab was replaced, or the callback was not produced by this flow"});let a;try{a=JSON.parse(r)}catch{return o("session",n.session(t.session_id)),this.finish({...s,reason:"the stored session record could not be parsed"})}if(o("session",n.session(t.session_id)),a.session_id&&a.session_id!==t.session_id)return this.finish({...s,reason:"the stored session id does not match the callback"});if(!a.state)return this.finish({...s,reason:"the stored session has no callback state: it was created without a callback_url, or by an SDK version that bound the callback to the server challengeNonce (which the platform never returns). Read the consent back through your backend instead."});if(!t.state)return this.finish({...s,reason:"the callback carries no state, and the session was created with one"});if(!be(a.state,t.state))return this.finish({...s,reason:"the callback state does not match the stored session"});let c="absent";if(t.sig){if(!this.options.verifySignature)return this.finish({...s,signature:"unverifiable",reason:"the callback is signed and no verifier is configured. The signing key is your callback_signing_secret, which must not be in a browser: set `verifyCallbackSignature` to call your own server, which uses verifyCallbackSignature(secret, …) from this package."});let e=!1;try{e=await this.options.verifySignature({sessionId:t.session_id,artifactId:t.artifact_id??"",status:t.raw_status,sig:t.sig})}catch(e){return this.finish({...s,signature:"unverifiable",reason:`the signature verifier threw: ${String(e)}`})}if(!e)return this.finish({...s,signature:"invalid",reason:"the callback signature did not verify"});c="verified"}return"denied"===t.claimed_status?this.finish({...s,status:"denied",signature:c}):"unknown"===t.claimed_status?this.finish({...s,signature:c,reason:`the callback status ${JSON.stringify(t.raw_status)} is not a status the platform issues (granted | partial | denied). Read the consent back through your backend.`}):t.artifact_id?this.request?this.confirmArtifact(s,t.artifact_id,t.session_id,a.data_principal_id,c):this.finish({...s,signature:c,reason:"no transport available to confirm the artifact. Construct the handler through ConsentEraClient so it can call GET /consent/artifacts/{id}."}):this.finish({...s,signature:c,reason:"the callback claims success but names no artifact"})}async confirmArtifact(e,t,n,s,i){const r=this.options.artifactWaitMs??15e3,o=Date.now()+r;for(;;){let r;try{r=await se(this.request,t,{sessionId:n})}catch(s){const r=s instanceof k?s.toString():String(s);return s instanceof k&&(404===s.status||"not_found"===s.kind)?this.finish({...e,signature:i,reason:`the platform has no artifact ${t} for session ${n}: it was never issued for this session, or will never be written. A forged or mismatched artifact_id reads exactly like this. (${r})`}):this.finish({...e,signature:i,reason:`the artifact could not be confirmed: ${r}`})}if("recorded"===r.state){const n=r.artifact;return n.artifact_id&&n.artifact_id!==t?this.finish({...e,signature:i,reason:"the platform returned a different artifact than the one read"}):s?n.data_principal_id!==s?this.finish({...e,signature:i,reason:"the artifact names a different Data Principal from this browser's session — it is not this consent"}):this.finish({...e,status:"completed",artifact:n,signature:i}):this.finish({...e,signature:i,reason:"the stored session names no data_principal_id, so the artifact cannot be tied to the person this session was created for. Create the session with this SDK version, or confirm the artifact server-side."})}const a=o-Date.now();if(a<=0||r.retryAfterMs>a)return this.finish({...e,status:"pending",signature:i,retryAfterMs:r.retryAfterMs,reason:`the platform says the consent was recorded and its artifact is still being written (${r.pending.reason||"pending"}); read it again in ${r.retryAfterMs}ms. This is NOT a failure and NOT a consent that did not happen.`});await new Promise(e=>setTimeout(e,r.retryAfterMs))}}isCallback(e){const t=new URLSearchParams(e||("undefined"!=typeof window?window.location.search:""));return t.has("session_id")||t.has("consent_session_id")}finish(e){return e.session_id&&r("session",n.callback(e.session_id),JSON.stringify(e)),"completed"===e.status?this.logger.info("Consent callback verified",{session_id:e.session_id,status:e.status}):"pending"===e.status?this.logger.info("Consent callback verified; artifact not readable yet",{session_id:e.session_id,status:e.status}):this.logger.warn("Consent callback NOT verified",{session_id:e.session_id,status:e.status,reason:e.reason}),e}}function be(e,t){if(e.length!==t.length)return!1;let n=0;for(let s=0;s<e.length;s++)n|=e.charCodeAt(s)^t.charCodeAt(s);return 0===n}class we{request;logger;cachedConfig=null;constructor(e,t){this.request=e,this.logger=t}async getConfig(e){if(this.cachedConfig)return this.cachedConfig;const t={};e&&(t.language_code=e);const n=await this.request("GET","/df/config",void 0,t,{road:"public"});return this.cachedConfig=n,this.logger.info("DF config loaded",{tenant:n.tenant_name,purposes:n.purposes?.length}),n}async getPurposes(){const e=await this.request("GET","/df/purposes",void 0,void 0,{road:"public"});return Array.isArray(e)?e:e.purposes||[]}async getNoticePurposes(e,t){const n={};return e&&(n.notice_internal_name=e),t&&(n.language_code=t),this.request("GET","/df/notice/purposes",void 0,n,{road:"public"})}async getNoticeTemplate(e,t,n){const s={notice:e};t&&(s.notice_language=t),n&&(s.template_language=n);const i=await this.request("GET","/df/notice/template",void 0,s,{road:"public"});return this.logger.info("Notice template loaded",{notice:e,language:t}),i.data??i}async getSessionWidgetTemplate(e){return this.request("GET",`/consent/sessions/${encodeURIComponent(e)}/widget-template`,void 0,void 0,{road:"session"})}clearCache(){this.cachedConfig=null}}class ve{request;logger;constructor(e,t,n){this.request=e,this.logger=n}async getPortalToken(e,t){const n={data_principal_ref:e,redirect_path:t},s=await this.request("POST","/df/principal-token",n);return this.logger.info("Principal portal token generated",{dataPrincipal:e,expires_in:s.expires_in}),s}async getPortalUrl(e,t){return(await this.getPortalToken(e,t)).redirect_url}async openPortal(e,t){if("undefined"==typeof window)throw new Error("openPortal can only be used in browser environments");const n=await this.getPortalUrl(e,t);window.open(n,"_blank","noopener,noreferrer"),this.logger.info("Principal portal opened",{dataPrincipal:e})}}const ke=["analytics_storage","ad_storage","ad_user_data","ad_personalization"];function Ce(){const e=globalThis;return"function"==typeof e.gtag?e.gtag:(e.dataLayer=e.dataLayer||[],function(...t){e.dataLayer.push(t)})}class Ee{mapping;state={};constructor(e){this.mapping=e}sendDefault(e=500){const t={wait_for_update:e};for(const e of ke)this.mapping[e]?.length&&(t[e]="denied");Ce()("consent","default",t)}apply(e){this.state={...e},this.push()}onChanged(e){for(const t of e.changes)this.state[t.purpose_id]="granted"===t.status;this.push()}push(){const e={};for(const t of ke){const n=this.mapping[t];n?.length&&(e[t]=n.every(e=>!0===this.state[e])?"granted":"denied")}Ce()("consent","update",e)}}if("undefined"!=typeof window){const e=document.currentScript;if("true"===e?.dataset?.autoInit){const t=e.dataset.siteKey,n=e.dataset.apiKey,s=e.dataset.tenantId,i=e.dataset.apiEndpoint??"";if((t||n)&&s)try{window.ConsentEra=new ee({...t?{siteKey:t}:{apiKey:n},tenantId:s,apiEndpoint:i,autoShow:!0})}catch(e){}}}"undefined"!=typeof window&&(window.Consentera=ee,window.ConsentEraConsent=ee),e.CallbackHandler=_e,e.ConsentBanner=l,e.ConsentEraApiError=V,e.ConsentEraClient=class extends m{config;logger;transport;session;validate;manage;callback;df;principal;consent;constructor(e){if(super(),!e.apiEndpoint&&!e.proxyEndpoint)throw q("Consentera: set `proxyEndpoint` (your own server route — required in a browser for consent lifecycle roads) or `apiEndpoint` (server-side use).","ENDPOINT_REQUIRED");if(!e.tenantId&&!e.proxyEndpoint)throw q("Consentera: tenantId is required with `apiEndpoint`. (Behind `proxyEndpoint` it is optional: your server supplies the tenant.)","TENANT_ID_REQUIRED");Y({apiKey:e.apiKey,unsafeAllowSecretKeyInBrowser:e.unsafeAllowSecretKeyInBrowser,fix:'Move the key to your own server and point the SDK at it with `proxyEndpoint: "/api/consentera"`; the browser then sends no credential at all.'}),this.config=e,this.logger=new y(e.debug?"debug":"info"),this.transport=new Z({tenantId:e.tenantId,apiEndpoint:e.apiEndpoint,proxyEndpoint:e.proxyEndpoint,apiKey:e.apiKey,siteKey:e.siteKey,customHeaders:e.customHeaders,unsafeAllowSecretKeyInBrowser:e.unsafeAllowSecretKeyInBrowser,timeoutMs:e.timeoutMs,retry:e.retry,beforeSend:e.beforeSend,fetchImpl:e.fetchImpl},this.logger);const t=this.request.bind(this);this.session=new ce(t,e,this.logger),this.validate=new ge(t,this.logger),this.manage=new fe(t,this.logger,{contextMode:e.collectContext??"minimal"}),this.manage.onChanged=e=>this.emit("consent.changed",e),this.callback=new _e(this.logger,t,{verifySignature:e.verifyCallbackSignature,artifactWaitMs:e.artifactWaitMs}),this.df=new we(t,this.logger),this.principal=new ve(t,e,this.logger),this.consent={createSession:this.session.createSession.bind(this.session),redirectToConsent:this.session.redirectToConsent.bind(this.session),openConsentPopup:this.session.openConsentPopup.bind(this.session),getArtifact:this.session.getArtifact.bind(this.session),validate:this.validate.check.bind(this.validate),validateBulk:this.validate.checkBulk.bind(this.validate),isAllowed:this.validate.isAllowed.bind(this.validate),areAllowed:this.validate.areAllowed.bind(this.validate),handleCallback:this.callback.parseCallback.bind(this.callback),isCallback:this.callback.isCallback.bind(this.callback),getContext:this.manage.getUpdateContext.bind(this.manage),update:this.manage.update.bind(this.manage),grant:this.manage.grant.bind(this.manage),deny:this.manage.deny.bind(this.manage),getWithdrawalContext:this.manage.getWithdrawalContext.bind(this.manage),withdraw:this.manage.withdraw.bind(this.manage),withdrawBulk:this.manage.withdrawBulk.bind(this.manage),getRenewalContext:this.manage.getRenewalContext.bind(this.manage),renew:this.manage.renew.bind(this.manage),renewBulk:this.manage.renewBulk.bind(this.manage)},this.logger.info("Consentera client initialised",{mode:e.proxyEndpoint?"proxy":"direct",tenantId:e.tenantId})}async request(e,t,n,s,i={}){try{return await this.transport.request(e,t,n,{...i,query:{...s,...i.query}})}catch(e){throw e instanceof k&&this.emit("error",e),e}}static buildClientContext=ue;static buildAffirmativeAction=he;getConfig(){const e={...this.config};return e.apiKey&&(e.apiKey=`${e.apiKey.slice(0,9)}…`),e}},e.ConsentEraConsent=ee,e.ConsentManager=fe,e.ConsentModeBridge=Ee,e.ConsentSession=ce,e.ConsentStorage=a,e.ConsentValidator=ge,e.ConsenteraAuthError=E,e.ConsenteraConfigError=C,e.ConsenteraConflictError=T,e.ConsenteraError=k,e.ConsenteraGuardianError=A,e.ConsenteraIdentityError=I,e.ConsenteraNetworkError=R,e.ConsenteraNotFoundError=D,e.ConsenteraPermissionError=x,e.ConsenteraRateLimitError=P,e.ConsenteraServerError=$,e.ConsenteraTimeoutError=N,e.ConsenteraValidationError=S,e.DEFAULT_RETRY=G,e.DEFAULT_TIMEOUT_MS=1e4,e.DFConfigClient=we,e.GPPManager=f,e.HttpTransport=Z,e.PreferenceCenter=p,e.PrincipalClient=ve,e.SDK_HEADER_VALUE=F,e.SDK_NAME="consent-sdk-js",e.SDK_PLATFORM="web",e.SDK_VERSION=B,e.TCFManager=g,e.buildClientContext=ue,e.claimedCallbackStatus=ye,e.default=ee,e.installConsentModeBridge=function(e,t){const n=new Ee(t);return n.sendDefault(),e.on("consent.changed",e=>n.onChanged(e)),n},e.isBrowser=z,e.isSecretKey=H,e.isSiteKey=W,e.newRequestId=J,e.parseRetryAfterMs=v,e.principalBody=pe,e.readDecisionMessage=oe,e.readStored=i,e.removeStored=o,e.storageAvailable=function(e){return null!==s(e)},e.storageKeys=n,e.verifyCallbackSignature=async function(e,t){if(!e||!t.sig)return!1;const n=function(){const e=globalThis.crypto?.subtle;if(e)return e;try{const e=require("node:crypto");return e?.webcrypto?.subtle}catch{return}}();if(!n)throw q("Consentera: no SubtleCrypto available, so the callback signature cannot be verified here. Verify it on a runtime that has WebCrypto (Node 20+, any modern browser) — but note the signing key is your callback_signing_secret and must not be in a browser.","NO_SUBTLE_CRYPTO");const s=new TextEncoder,i=await n.importKey("raw",s.encode(e),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),r=`${t.sessionId}|${t.artifactId}|${t.status}`,o=await n.sign("HMAC",i,s.encode(r));return be(Array.from(new Uint8Array(o),e=>e.toString(16).padStart(2,"0")).join(""),t.sig.toLowerCase())},e.writeStored=r,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
|
+
//# sourceMappingURL=consentera-consent.min.js.map
|