@redacto.io/consent-sdk-js 1.0.0-beta.1 → 1.1.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/dist/redacto.d.mts +48 -3
- package/dist/redacto.d.ts +48 -3
- package/dist/redacto.global.js +2 -2
- package/dist/redacto.global.js.map +1 -1
- package/dist/redacto.js +541 -152
- package/dist/redacto.mjs +541 -152
- package/package.json +1 -1
package/dist/redacto.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var RedactoConsent=(()=>{var Se=Object.defineProperty;var vt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var St=Object.prototype.hasOwnProperty;var Et=(n,e)=>{for(var t in e)Se(n,t,{get:e[t],enumerable:!0})},wt=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ct(e))!St.call(n,r)&&r!==t&&Se(n,r,{get:()=>e[r],enumerable:!(o=vt(e,r))||o.enumerable});return n};var kt=n=>wt(Se({},"__esModule",{value:!0}),n);var Ft={};Et(Ft,{default:()=>Bt,destroy:()=>Ae,digilockerCallback:()=>mt,init:()=>gt,inline:()=>ft});var re=class{constructor(e){this.listeners=new Set;this.state={...e}}getState(){return this.state}setState(e){let t=this.state;this.state={...this.state,...e},this.listeners.forEach(o=>o(this.state,t))}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}destroy(){this.listeners.clear()}};function s(n,e,...t){let o=document.createElement(n);return e&&_t(o,e),$e(o,t),o}function R(n,e,...t){let o=document.createElementNS("http://www.w3.org/2000/svg",n);if(e)for(let[r,i]of Object.entries(e))i==null||i===!1||(r==="style"&&typeof i=="object"?ge(o,i):o.setAttribute(r,String(i)));return $e(o,t),o}function _t(n,e){for(let[t,o]of Object.entries(e))if(!(o==null||o===!1))if(t==="style"&&typeof o=="object")ge(n,o);else if(t==="className")n.className=o;else if(t==="dataset"&&typeof o=="object")Object.assign(n.dataset,o);else if(t.startsWith("on")&&typeof o=="function"){let r=t.slice(2).toLowerCase();n.addEventListener(r,o)}else t==="checked"||t==="disabled"||t==="readOnly"?n[t]=o:n.setAttribute(t,String(o))}var Tt=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","fontWeight","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom"]);function ge(n,e){for(let[t,o]of Object.entries(e)){if(o==null)continue;let r=typeof o=="number"&&!Tt.has(t)?`${o}px`:String(o);n.style[t]=r}}function $e(n,e){for(let t of e)t==null||t===!1||(typeof t=="string"?n.appendChild(document.createTextNode(t)):n.appendChild(t))}function Z(n){for(;n.firstChild;)n.removeChild(n.firstChild)}function fe(n){let e=window.matchMedia(n),t=e.matches,o=new Set,r=i=>{t=i.matches,o.forEach(a=>a(t))};return e.addEventListener("change",r),{get matches(){return t},subscribe(i){o.add(i)},destroy(){e.removeEventListener("change",r),o.clear()}}}var ee=class extends Error{};ee.prototype.name="InvalidTokenError";function Rt(n){return decodeURIComponent(atob(n).replace(/(.)/g,(e,t)=>{let o=t.charCodeAt(0).toString(16).toUpperCase();return o.length<2&&(o="0"+o),"%"+o}))}function Pt(n){let e=n.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return Rt(e)}catch{return atob(e)}}function Ne(n,e){if(typeof n!="string")throw new ee("Invalid token specified: must be a string");e||(e={});let t=e.header===!0?0:1,o=n.split(".")[t];if(typeof o!="string")throw new ee(`Invalid token specified: missing part #${t+1}`);let r;try{r=Pt(o)}catch(i){throw new ee(`Invalid token specified: invalid base64 for part #${t+1} (${i.message})`)}try{return JSON.parse(r)}catch(i){throw new ee(`Invalid token specified: invalid json for part #${t+1} (${i.message})`)}}function Y(n){try{return Ne(n)}catch(e){return console.warn("Failed to decode JWT token:",e),null}}var me=new Map,It=300*1e3;function ze(n){let e=me.get(n);return e&&Date.now()-e.timestamp<e.ttl?e.data:(e&&me.delete(n),null)}function Oe(n,e,t=It){me.set(n,{data:e,timestamp:Date.now(),ttl:t})}function Ge(){me.clear()}var se="https://api.redacto.io/consent",qe="https://api.redacto.tech/consent",je=async({noticeId:n,accessToken:e,baseUrl:t,language:o="en",specific_uuid:r,validate_against:i="all",include_fully_consented_data:a=!1,signal:c})=>{if(!n||!e||!i)throw new Error("noticeId and accessToken are required");let d=Y(e);if(!d)throw new Error("Invalid access token");let{organisation_uuid:l,workspace_uuid:u}=d;if(!l||!u)throw new Error("Invalid token: missing organization or workspace UUID");let p=t||se,x=`${e}-${n}-${i}-${o}-${r||""}-${a}`;if(i==="all"&&!r){let m=ze(x);if(m)return m}let y=new URL(`${p}/public/organisations/${l}/workspaces/${u}/notices/${n}`);r&&y.searchParams.append("specific_uuid",r),y.searchParams.append("validate_against",i),a&&y.searchParams.append("include_fully_consented_data","true");let f=await fetch(y.toString(),{method:"GET",headers:{Authorization:`Bearer ${e}`,"Accept-Language":o},signal:c});if(!f.ok){let m=`Failed to fetch consent content: ${f.status} ${f.statusText}`;f.status===401?m="Unauthorized: Invalid or expired token":f.status===403?m="Forbidden: Access denied":f.status===404?m="Notice not found":f.status===409?m="User has already provided consent":f.status>=500&&(m="Server error: Please try again later");let S=new Error(m);throw S.status=f.status,S}let b=await f.json();return i==="all"&&!r&&Oe(x,b),b},We=async({org_uuid:n,workspace_uuid:e,notice_uuid:t,baseUrl:o,language:r="en",specific_uuid:i})=>{let a=o||qe,c=new URL(`${a}/public/organisations/${n}/workspaces/${e}/notices/get-notice/${t}`);i&&c.searchParams.append("specific_uuid",i);let d=await fetch(c.toString(),{method:"GET",headers:{"Content-Type":"application/json"}});if(d.status===401){let l=new Error("Unauthorized");throw l.status=401,l}if(d.status===409){let l=new Error("User has already provided consent");throw l.status=409,l}if(!d.ok)throw new Error(`Failed to fetch consent content: ${d.statusText}`);return await d.json()},Ke=async({accessToken:n,baseUrl:e,ledgerBaseUrl:t,noticeUuid:o,purposes:r,declined:i,meta_data:a,guardianVerificationReference:c,selfDeclaredAdult:d,signal:l})=>{if(!o||!n||!Array.isArray(r))throw new Error("noticeUuid, accessToken, and purposes array are required");let u=Y(n);if(!u)throw new Error("Invalid access token");let{organisation_uuid:p,workspace_uuid:x}=u;if(!p||!x)throw new Error("Invalid token: missing organization or workspace UUID");let y=t||e||se,f=r.map(S=>{if(!S.uuid)throw new Error("Invalid purpose data: missing uuid");let T=(S.data_elements||[]).filter(w=>w.enabled).map(w=>({uuid:w.uuid,selected:w.required?!0:!!w.selected}));return{purpose_uuid:S.uuid,selected:!!S.selected,data_elements:T.length>0?T:void 0}}),b={notice_uuid:o,purposes:f,select_all_mandatory:!1,source:"WEB",declined:!!i,meta_data:a?{specific_uuid:a.specific_uuid,minor_age:a.minor_age}:void 0,guardian_verification_reference:c,self_declared_adult:d},m=await fetch(`${y}/public/organisations/${p}/workspaces/${x}/submit-consent`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify(b),signal:l});if(!m.ok){let S=`Failed to submit consent: ${m.status} ${m.statusText}`;if(m.status===400)try{S=(await m.json()).message||"Invalid request data"}catch{S="Invalid request data"}else m.status===401?S="Unauthorized: Invalid or expired token":m.status===403?S="Forbidden: Access denied":m.status===404?S="Notice not found":m.status>=500&&(S="Server error: Please try again later");let T=new Error(S);throw T.status=m.status,T}Ge()},Qe=async({org_uuid:n,workspace_uuid:e,accessToken:t,baseUrl:o,ledgerBaseUrl:r,noticeUuid:i,purposes:a,declined:c,meta_data:d})=>{var x,y;let l=r||o||qe,u={notice_uuid:i,purposes:a.map(f=>{if(!f.uuid)throw new Error("Invalid purpose data: missing uuid");let b=f.data_elements.filter(m=>m.enabled).map(m=>({uuid:m.uuid,selected:m.required?!0:!!m.selected}));return{purpose_uuid:f.uuid,selected:!!f.selected,data_elements:b.length>0?b:void 0}}),select_all_mandatory:!1,source:"WEB",declined:c,meta_data:d},p=await fetch(`${l}/public/organisations/${n}/workspaces/${e}/submit-consent`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify(u)});if(!p.ok){let f;try{f=await p.json()}catch{f={message:p.statusText}}if(p.status===409){let m=new Error(((x=f.detail)==null?void 0:x.message)||f.message||"User has already provided consent");throw m.status=409,m.code=f.code||409,m}let b=new Error(((y=f.detail)==null?void 0:y.message)||f.message||`Failed to submit consent event: ${p.statusText}`);throw b.status=p.status,b.code=f.code,b}},Ye=async({accessToken:n,baseUrl:e,noticeUuid:t,language:o,signal:r})=>{if(!n||!t||!o)throw new Error("accessToken, noticeUuid, and language are required");let i=Y(n);if(!i)throw new Error("Invalid access token");let{organisation_uuid:a,workspace_uuid:c}=i;if(!a||!c)throw new Error("Invalid token: missing organization or workspace UUID");let l=`${e||se}/public/organisations/${a}/workspaces/${c}/notices/${t}/audio/${o}`,u=await fetch(l,{method:"GET",headers:{Authorization:`Bearer ${n}`,Accept:"application/json"},signal:r});if(!u.ok){let p=`Failed to fetch TTS audio URLs: ${u.status} ${u.statusText}`;u.status===401?p="Unauthorized: Invalid or expired token":u.status===403?p="Forbidden: Access denied":u.status===404?p="Notice or audio not found":u.status>=500&&(p="Server error: Please try again later");let x=new Error(p);throw x.status=u.status,x}return await u.json()},Je=async({accessToken:n,baseUrl:e,guardianName:t,guardianContact:o,guardianRelationship:r,frontendCallbackUrl:i,metadata:a,signal:c})=>{var m;if(!n)throw new Error("accessToken is required");if(!(t!=null&&t.trim()))throw new Error("Guardian name is required");if(!(o!=null&&o.trim()))throw new Error("Guardian contact is required");if(!(r!=null&&r.trim()))throw new Error("Guardian relationship is required");let d=Y(n);if(!d)throw new Error("Invalid access token");let{organisation_uuid:l,workspace_uuid:u}=d;if(!l||!u)throw new Error("Invalid token: missing organization or workspace UUID");let p=e||se,x={guardian_name:t.trim(),guardian_contact:o.trim(),guardian_relationship:r.trim()};i&&(x.frontend_callback_url=i),a&&(x.metadata=a);let y=await fetch(`${p}/public/organisations/${l}/workspaces/${u}/guardian/initiate-verification`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify(x),signal:c});if(!y.ok){let S=`Failed to initiate verification: ${y.status} ${y.statusText}`;if(y.status===400)try{S=(await y.json()).message||"Invalid request data"}catch{S="Invalid request data"}else if(y.status===401)S="Unauthorized: Invalid or expired token";else if(y.status===404)S="Organization or workspace not found";else if(y.status===422)try{S=(await y.json()).message||"Validation error: Please check your input"}catch{S="Validation error: Please check your input"}else y.status>=500&&(S="Server error: Please try again later");let T=new Error(S);throw T.status=y.status,T}let f=await y.json(),b=f.detail||f;if(b.already_verified)return{success:!0,guardian_info_uuid:b.guardian_info_uuid,already_verified:!0,verification_reference:b.verification_reference};if(!b.session_token||!b.digilocker_redirect_url)throw new Error("Invalid response: missing session_token or digilocker_redirect_url");return{success:(m=b.success)!=null?m:!0,guardian_info_uuid:b.guardian_info_uuid,already_verified:!1,session_token:b.session_token,digilocker_redirect_url:b.digilocker_redirect_url,expires_at:b.expires_at}},ye=async({accessToken:n,baseUrl:e,sessionToken:t,signal:o})=>{var p,x,y,f,b,m,S,T;if(!n||!t)throw new Error("accessToken and sessionToken are required");let r=Y(n);if(!r)throw new Error("Invalid access token");let{organisation_uuid:i,workspace_uuid:a}=r;if(!i||!a)throw new Error("Invalid token: missing organization or workspace UUID");let d=await fetch(`${e||se}/public/organisations/${i}/workspaces/${a}/guardian/verify-status`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({session_token:t}),signal:o});if(!d.ok){let w=`Failed to check verification status: ${d.status} ${d.statusText}`;if(d.status===400)try{let D=await d.json();w=D.message||((p=D.detail)==null?void 0:p.message)||"Invalid session token"}catch{w="Invalid session token"}else d.status===401?w="Unauthorized: Invalid or expired token":d.status===404?w="Verification session not found or expired. Please restart the verification process.":d.status===410?w="Verification session has expired. Please restart the verification process.":d.status>=500&&(w="Server error: Please try again later");let M=new Error(w);throw M.status=d.status,M}let l=await d.json(),u=l.detail||l;return{status:(x=u.status)!=null?x:"in_progress",guardian_info_uuid:(y=u.guardian_info_uuid)!=null?y:null,verification_reference:(f=u.verification_reference)!=null?f:null,guardian_details:(b=u.guardian_details)!=null?b:null,error:(m=u.error)!=null?m:null,error_code:(S=u.error_code)!=null?S:null,can_retry:(T=u.can_retry)!=null?T:!0}};var Ee=async({accessToken:n,ledgerBaseUrl:e,organisationUuid:t,workspaceUuid:o,noticeUuid:r,signal:i})=>{if(!n||!e||!t||!o||!r)return null;try{let a=await fetch(`${e}/public/organisations/${t}/workspaces/${o}/notices/${r}/check-consent`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:"{}",signal:i});if(!a.ok)return null;let c=await a.json(),d=c&&typeof c=="object"&&"detail"in c&&c.detail?c.detail:c;return!d||!Array.isArray(d.purposes)?null:d}catch{return null}},Xe=async({accessToken:n,ledgerBaseUrl:e,noticeUuid:t,signal:o})=>{if(!n||!e||!t)return null;let r=Y(n);if(!r)return null;let{organisation_uuid:i,workspace_uuid:a}=r;return!i||!a?null:Ee({accessToken:n,ledgerBaseUrl:e,organisationUuid:i,workspaceUuid:a,noticeUuid:t,signal:o})},Ze=n=>n.consented&&n.all_mandatory_active,et=(n,e)=>{var a,c;let t=new Map(n.purposes.map(d=>[d.uuid,d]));if(!n.purposes.some(d=>(d.status||"INACTIVE")!=="INACTIVE"))return null;let r={};for(let d of e){let l=t.get(d.uuid),u=(l==null?void 0:l.status)||"INACTIVE",p=new Map(((l==null?void 0:l.data_elements)||[]).map(y=>[y.uuid,y.selected])),x={};for(let y of d.data_elements)x[y.uuid]={selected:(a=p.get(y.uuid))!=null?a:!1,enabled:y.enabled,required:y.required};r[d.uuid]={selected:(c=l==null?void 0:l.selected)!=null?c:!1,status:u,needs_reconsent:u!=="ACTIVE",data_elements:x}}return{reconsent_required:e.some(d=>{var l;return(((l=r[d.uuid])==null?void 0:l.status)||"INACTIVE")!=="ACTIVE"}),purpose_selections:r}};var we="redacto-consent-checkbox-styles",At=`
|
|
1
|
+
"use strict";var RedactoConsent=(()=>{var Le=Object.defineProperty;var qt=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var Wt=Object.prototype.hasOwnProperty;var Kt=(n,e)=>{for(var t in e)Le(n,t,{get:e[t],enumerable:!0})},Qt=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of jt(e))!Wt.call(n,r)&&r!==t&&Le(n,r,{get:()=>e[r],enumerable:!(o=qt(e,r))||o.enumerable});return n};var Yt=n=>Qt(Le({},"__esModule",{value:!0}),n);var go={};Kt(go,{default:()=>po,destroy:()=>qe,digilockerCallback:()=>Vt,init:()=>Nt,inline:()=>Ot});var ae=class{constructor(e){this.listeners=new Set;this.state={...e}}getState(){return this.state}setState(e){let t=this.state;this.state={...this.state,...e},this.listeners.forEach(o=>o(this.state,t))}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}destroy(){this.listeners.clear()}};function s(n,e,...t){let o=document.createElement(n);return e&&Xt(o,e),et(o,t),o}function A(n,e,...t){let o=document.createElementNS("http://www.w3.org/2000/svg",n);if(e)for(let[r,i]of Object.entries(e))i==null||i===!1||(r==="style"&&typeof i=="object"?me(o,i):o.setAttribute(r,String(i)));return et(o,t),o}function Xt(n,e){for(let[t,o]of Object.entries(e))if(!(o==null||o===!1))if(t==="style"&&typeof o=="object")me(n,o);else if(t==="className")n.className=o;else if(t==="dataset"&&typeof o=="object")Object.assign(n.dataset,o);else if(t.startsWith("on")&&typeof o=="function"){let r=t.slice(2).toLowerCase();n.addEventListener(r,o)}else t==="checked"||t==="disabled"||t==="readOnly"?n[t]=o:n.setAttribute(t,String(o))}var Jt=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","fontWeight","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom"]);function me(n,e){for(let[t,o]of Object.entries(e)){if(o==null)continue;let r=typeof o=="number"&&!Jt.has(t)?`${o}px`:String(o);n.style[t]=r}}function et(n,e){for(let t of e)t==null||t===!1||(typeof t=="string"?n.appendChild(document.createTextNode(t)):n.appendChild(t))}function Z(n){for(;n.firstChild;)n.removeChild(n.firstChild)}function be(n){let e=window.matchMedia(n),t=e.matches,o=new Set,r=i=>{t=i.matches,o.forEach(a=>a(t))};return e.addEventListener("change",r),{get matches(){return t},subscribe(i){o.add(i)},destroy(){e.removeEventListener("change",r),o.clear()}}}var xe=new Map,Zt=300*1e3;function tt(n){let e=xe.get(n);return e&&Date.now()-e.timestamp<e.ttl?e.data:(e&&xe.delete(n),null)}function ot(n,e,t=Zt){xe.set(n,{data:e,timestamp:Date.now(),ttl:t})}function nt(){xe.clear()}var ee=class extends Error{};ee.prototype.name="InvalidTokenError";function eo(n){return decodeURIComponent(atob(n).replace(/(.)/g,(e,t)=>{let o=t.charCodeAt(0).toString(16).toUpperCase();return o.length<2&&(o="0"+o),"%"+o}))}function to(n){let e=n.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return eo(e)}catch{return atob(e)}}function it(n,e){if(typeof n!="string")throw new ee("Invalid token specified: must be a string");e||(e={});let t=e.header===!0?0:1,o=n.split(".")[t];if(typeof o!="string")throw new ee(`Invalid token specified: missing part #${t+1}`);let r;try{r=to(o)}catch(i){throw new ee(`Invalid token specified: invalid base64 for part #${t+1} (${i.message})`)}try{return JSON.parse(r)}catch(i){throw new ee(`Invalid token specified: invalid json for part #${t+1} (${i.message})`)}}function te(n){try{return it(n)}catch(e){return console.warn("Failed to decode JWT token:",e),null}}var oo="X-Consent-Token",no=n=>{var u,d,l,p,c,f;let e=(u=n.token)==null?void 0:u.trim();if(!e)return null;let t=(d=n.organisationUuid)==null?void 0:d.trim(),o=(l=n.workspaceUuid)==null?void 0:l.trim(),r=(p=n.sandboxUcic)==null?void 0:p.trim(),i=(c=n.sandboxEmail)==null?void 0:c.trim(),a=(f=n.sandboxMobile)==null?void 0:f.trim();if(!t||!o)throw new Error("Sandbox mode requires organisationUuid and workspaceUuid");if(!r&&!i&&!a)throw new Error("Sandbox mode requires a UCIC, email, or mobile");return{token:e,ucic:r,email:i,mobile:a,organisationUuid:t,workspaceUuid:o}},ye=(n,e)=>{let t=no(e);if(t)return{organisationUuid:t.organisationUuid,workspaceUuid:t.workspaceUuid,sandbox:t};let o=n?te(n):null;if(!o)throw new Error("Invalid access token");let{organisation_uuid:r,workspace_uuid:i}=o;if(!r||!i)throw new Error("Invalid token: missing organization or workspace UUID");return{organisationUuid:r,workspaceUuid:i,sandbox:null}},Ce=(n,e)=>e?{[oo]:e.token}:{Authorization:`Bearer ${n}`},Ie=n=>{let e={};return n.ucic&&(e.org_user_id=n.ucic),n.email&&(e.primary_email=n.email),n.mobile&&(e.primary_mobile=n.mobile),e},Me=n=>Ie(n);var De=new Map([["english","en"],["assamese","as"],["bengali","bn"],["bodo","brx"],["dogri","doi"],["goan konkani","gom"],["gujarati","gu"],["hindi","hi"],["kannada","kn"],["kashmiri","ks"],["maithili","mai"],["malayalam","ml"],["manipuri","mni-Mtei"],["marathi","mr"],["nepali","ne"],["odia","or"],["punjabi","pa"],["sanskrit","sa"],["santali","sat"],["sindhi","sd"],["tamil","ta"],["telugu","te"],["urdu","ur"]]),rt=new Map([...De.values()].map(n=>[n.toLowerCase(),n]));function de(n){var o,r;if(!n)return;let e=n.trim();if(!e)return;let t=e.toLowerCase();return(r=(o=rt.get(t))!=null?o:De.get(t))!=null?r:e}function ve(n,e,t){let o=e||"en",r=de(n);if(!r)return o;for(let i of Object.keys(t||{}))if(de(i)===r)return i;return o}var ce="https://api.redacto.io/consent",at="https://api.redacto.tech/consent",st=async({noticeId:n,accessToken:e,baseUrl:t,language:o="en",specific_uuid:r,validate_against:i="all",include_fully_consented_data:a=!1,signal:u,...d})=>{if(!n||!i)throw new Error("noticeId is required");if(!e&&!d.token)throw new Error("accessToken or token is required");let{organisationUuid:l,workspaceUuid:p,sandbox:c}=ye(e,d),f=t||ce,y=`${c?`sandbox:${c.organisationUuid}:${c.workspaceUuid}:${c.ucic||c.email||c.mobile}`:e}-${n}-${i}-${o}-${r||""}-${a}`;if(i==="all"&&!r){let k=tt(y);if(k)return k}let m=new URL(`${f}/public/organisations/${l}/workspaces/${p}/notices/${n}`);if(r&&m.searchParams.append("specific_uuid",r),m.searchParams.append("validate_against",i),a&&m.searchParams.append("include_fully_consented_data","true"),c)for(let[k,S]of Object.entries(Me(c)))S&&m.searchParams.append(k,S);let v=await fetch(m.toString(),{method:"GET",headers:{...Ce(e,c),"Accept-Language":o},signal:u});if(!v.ok){let k=`Failed to fetch consent content: ${v.status} ${v.statusText}`;v.status===401?k="Unauthorized: Invalid or expired token":v.status===403?k="Forbidden: Access denied":v.status===404?k="Notice not found":v.status===409?k="User has already provided consent":v.status>=500&&(k="Server error: Please try again later");let S=new Error(k);throw S.status=v.status,S}let E=await v.json();return i==="all"&&!r&&ot(y,E),E},lt=async({org_uuid:n,workspace_uuid:e,notice_uuid:t,accessToken:o,baseUrl:r,language:i="en",specific_uuid:a})=>{let d=`${r||at}/public/organisations/${n}/workspaces/${e}/notices`,l=new URL(o?`${d}/${t}`:`${d}/get-notice/${t}`);a&&l.searchParams.append("specific_uuid",a);let p=await fetch(l.toString(),{method:"GET",headers:{"Content-Type":"application/json","Accept-Language":i,...o?{Authorization:`Bearer ${o}`}:{}}});if(p.status===401){let c=new Error("Unauthorized");throw c.status=401,c}if(p.status===409){let c=new Error("User has already provided consent");throw c.status=409,c}if(!p.ok)throw new Error(`Failed to fetch consent content: ${p.statusText}`);return await p.json()},dt=async({accessToken:n,baseUrl:e,ledgerBaseUrl:t,noticeUuid:o,purposes:r,declined:i,meta_data:a,guardianVerificationReference:u,selfDeclaredAdult:d,language:l,signal:p,...c})=>{if(!o||!Array.isArray(r))throw new Error("noticeUuid and purposes array are required");if(!n&&!c.token)throw new Error("accessToken or token is required");let{organisationUuid:f,workspaceUuid:b,sandbox:y}=ye(n,c),m=(y?null:t)||e||ce,v=r.map(T=>{if(!T.uuid)throw new Error("Invalid purpose data: missing uuid");let L=(T.data_elements||[]).filter(x=>x.enabled).map(x=>({uuid:x.uuid,selected:x.required?!0:!!x.selected}));return{purpose_uuid:T.uuid,selected:!!T.selected,data_elements:L.length>0?L:void 0}}),E={notice_uuid:o,purposes:v,select_all_mandatory:!1,source:"WEB",declined:!!i,meta_data:a?{specific_uuid:a.specific_uuid,minor_age:a.minor_age}:void 0,guardian_verification_reference:u,self_declared_adult:d,language:de(l)},k=y?{...E,...Ie(y)}:E,S=await fetch(`${m}/public/organisations/${f}/workspaces/${b}/submit-consent`,{method:"POST",headers:{...Ce(n,y),"Content-Type":"application/json"},body:JSON.stringify(k),signal:p});if(!S.ok){let T=`Failed to submit consent: ${S.status} ${S.statusText}`;if(S.status===400)try{T=(await S.json()).message||"Invalid request data"}catch{T="Invalid request data"}else S.status===401?T="Unauthorized: Invalid or expired token":S.status===403?T="Forbidden: Access denied":S.status===404?T="Notice not found":S.status>=500&&(T="Server error: Please try again later");let L=new Error(T);throw L.status=S.status,L}nt()},ct=async({org_uuid:n,workspace_uuid:e,accessToken:t,baseUrl:o,ledgerBaseUrl:r,noticeUuid:i,purposes:a,declined:u,meta_data:d,language:l})=>{var b,y;let p=r||o||at,c={notice_uuid:i,purposes:a.map(m=>{if(!m.uuid)throw new Error("Invalid purpose data: missing uuid");let v=m.data_elements.filter(E=>E.enabled).map(E=>({uuid:E.uuid,selected:E.required?!0:!!E.selected}));return{purpose_uuid:m.uuid,selected:!!m.selected,data_elements:v.length>0?v:void 0}}),select_all_mandatory:!1,source:"WEB",declined:u,meta_data:d,language:de(l)},f=await fetch(`${p}/public/organisations/${n}/workspaces/${e}/submit-consent`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify(c)});if(!f.ok){let m;try{m=await f.json()}catch{m={message:f.statusText}}if(f.status===409){let E=new Error(((b=m.detail)==null?void 0:b.message)||m.message||"User has already provided consent");throw E.status=409,E.code=m.code||409,E}let v=new Error(((y=m.detail)==null?void 0:y.message)||m.message||`Failed to submit consent event: ${f.statusText}`);throw v.status=f.status,v.code=m.code,v}},ut=async({accessToken:n,baseUrl:e,ledgerBaseUrl:t,noticeUuid:o,language:r,signal:i,...a})=>{if(!n&&!a.token||!o||!r)throw new Error("accessToken (or token), noticeUuid, and language are required");let{organisationUuid:u,workspaceUuid:d,sandbox:l}=ye(n,a),p=(l?null:t)||e||ce,c=new URL(`${p}/public/organisations/${u}/workspaces/${d}/notices/${o}/audio/${r}`);if(l)for(let[b,y]of Object.entries(Me(l)))y&&c.searchParams.append(b,y);let f=await fetch(c.toString(),{method:"GET",headers:{...Ce(n,l),Accept:"application/json"},signal:i});if(!f.ok){let b=`Failed to fetch TTS audio URLs: ${f.status} ${f.statusText}`;f.status===401?b="Unauthorized: Invalid or expired token":f.status===403?b="Forbidden: Access denied":f.status===404?b="Notice or audio not found":f.status>=500&&(b="Server error: Please try again later");let y=new Error(b);throw y.status=f.status,y}return await f.json()},pt=async({accessToken:n,baseUrl:e,guardianName:t,guardianContact:o,guardianRelationship:r,frontendCallbackUrl:i,metadata:a,signal:u})=>{var v;if(!n)throw new Error("accessToken is required");if(!(t!=null&&t.trim()))throw new Error("Guardian name is required");if(!(o!=null&&o.trim()))throw new Error("Guardian contact is required");if(!(r!=null&&r.trim()))throw new Error("Guardian relationship is required");let d=te(n);if(!d)throw new Error("Invalid access token");let{organisation_uuid:l,workspace_uuid:p}=d;if(!l||!p)throw new Error("Invalid token: missing organization or workspace UUID");let c=e||ce,f={guardian_name:t.trim(),guardian_contact:o.trim(),guardian_relationship:r.trim()};i&&(f.frontend_callback_url=i),a&&(f.metadata=a);let b=await fetch(`${c}/public/organisations/${l}/workspaces/${p}/guardian/initiate-verification`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify(f),signal:u});if(!b.ok){let E=`Failed to initiate verification: ${b.status} ${b.statusText}`;if(b.status===400)try{E=(await b.json()).message||"Invalid request data"}catch{E="Invalid request data"}else if(b.status===401)E="Unauthorized: Invalid or expired token";else if(b.status===404)E="Organization or workspace not found";else if(b.status===422)try{E=(await b.json()).message||"Validation error: Please check your input"}catch{E="Validation error: Please check your input"}else b.status>=500&&(E="Server error: Please try again later");let k=new Error(E);throw k.status=b.status,k}let y=await b.json(),m=y.detail||y;if(m.already_verified)return{success:!0,guardian_info_uuid:m.guardian_info_uuid,already_verified:!0,verification_reference:m.verification_reference};if(!m.session_token||!m.digilocker_redirect_url)throw new Error("Invalid response: missing session_token or digilocker_redirect_url");return{success:(v=m.success)!=null?v:!0,guardian_info_uuid:m.guardian_info_uuid,already_verified:!1,session_token:m.session_token,digilocker_redirect_url:m.digilocker_redirect_url,expires_at:m.expires_at}},Ee=async({accessToken:n,baseUrl:e,sessionToken:t,signal:o})=>{var c,f,b,y,m,v,E,k;if(!n||!t)throw new Error("accessToken and sessionToken are required");let r=te(n);if(!r)throw new Error("Invalid access token");let{organisation_uuid:i,workspace_uuid:a}=r;if(!i||!a)throw new Error("Invalid token: missing organization or workspace UUID");let d=await fetch(`${e||ce}/public/organisations/${i}/workspaces/${a}/guardian/verify-status`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({session_token:t}),signal:o});if(!d.ok){let S=`Failed to check verification status: ${d.status} ${d.statusText}`;if(d.status===400)try{let L=await d.json();S=L.message||((c=L.detail)==null?void 0:c.message)||"Invalid session token"}catch{S="Invalid session token"}else d.status===401?S="Unauthorized: Invalid or expired token":d.status===404?S="Verification session not found or expired. Please restart the verification process.":d.status===410?S="Verification session has expired. Please restart the verification process.":d.status>=500&&(S="Server error: Please try again later");let T=new Error(S);throw T.status=d.status,T}let l=await d.json(),p=l.detail||l;return{status:(f=p.status)!=null?f:"in_progress",guardian_info_uuid:(b=p.guardian_info_uuid)!=null?b:null,verification_reference:(y=p.verification_reference)!=null?y:null,guardian_details:(m=p.guardian_details)!=null?m:null,error:(v=p.error)!=null?v:null,error_code:(E=p.error_code)!=null?E:null,can_retry:(k=p.can_retry)!=null?k:!0}};var Be=async({accessToken:n,ledgerBaseUrl:e,organisationUuid:t,workspaceUuid:o,noticeUuid:r,signal:i})=>{if(!n||!e||!t||!o||!r)return null;try{let a=await fetch(`${e}/public/organisations/${t}/workspaces/${o}/notices/${r}/check-consent`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:"{}",signal:i});if(!a.ok)return null;let u=await a.json(),d=u&&typeof u=="object"&&"detail"in u&&u.detail?u.detail:u;return!d||!Array.isArray(d.purposes)?null:d}catch{return null}},gt=async({accessToken:n,ledgerBaseUrl:e,noticeUuid:t,signal:o})=>{if(!n||!e||!t)return null;let r=te(n);if(!r)return null;let{organisation_uuid:i,workspace_uuid:a}=r;return!i||!a?null:Be({accessToken:n,ledgerBaseUrl:e,organisationUuid:i,workspaceUuid:a,noticeUuid:t,signal:o})},ht=n=>n.consented&&n.all_mandatory_active,ft=(n,e)=>{var a,u;let t=new Map(n.purposes.map(d=>[d.uuid,d]));if(!n.purposes.some(d=>(d.status||"INACTIVE")!=="INACTIVE"))return null;let r={};for(let d of e){let l=t.get(d.uuid),p=(l==null?void 0:l.status)||"INACTIVE",c=new Map(((l==null?void 0:l.data_elements)||[]).map(b=>[b.uuid,b.selected])),f={};for(let b of d.data_elements)f[b.uuid]={selected:(a=c.get(b.uuid))!=null?a:!1,enabled:b.enabled,required:b.required};r[d.uuid]={selected:(u=l==null?void 0:l.selected)!=null?u:!1,status:p,needs_reconsent:p!=="ACTIVE",data_elements:f}}return{reconsent_required:e.some(d=>{var l;return(((l=r[d.uuid])==null?void 0:l.status)||"INACTIVE")!=="ACTIVE"}),purpose_selections:r}};var Ue="redacto-consent-checkbox-styles",io=`
|
|
2
2
|
/* Redacto Consent SDK Checkbox Styles */
|
|
3
3
|
.redacto-checkbox-large {
|
|
4
4
|
appearance: none !important;
|
|
@@ -128,6 +128,6 @@
|
|
|
128
128
|
.redacto-dl-retry-btn:hover {
|
|
129
129
|
background-color: #2563eb !important;
|
|
130
130
|
}
|
|
131
|
-
`,ae=n=>{if(typeof document=="undefined"||(n instanceof Document?n.getElementById(we):n.querySelector(`#${we}`)))return;let t=document.createElement("style");t.id=we,t.textContent=At,n instanceof Document?n.head.appendChild(t):n.appendChild(t)};var g={overlay:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:999,animation:"overlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1)",pointerEvents:"all",margin:0,padding:0,boxSizing:"border-box"},modal:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"700px",borderRadius:"8px",backgroundColor:"#ffffff",boxShadow:"4px 0px 4px 0px #00000040",border:"none",display:"flex",flexDirection:"column",maxHeight:"90vh",zIndex:1e3,margin:0,padding:0,boxSizing:"border-box",textAlign:"left",fontFamily:"inherit"},content:{margin:"22px",display:"flex",flexDirection:"column",flexGrow:1,overflow:"hidden",minHeight:0,boxSizing:"border-box",textAlign:"left"},topSection:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"10px",paddingBottom:"15px",borderBottom:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box",textAlign:"left"},topLeft:{display:"flex",alignItems:"center",gap:"10px",flex:"1 1 0",minWidth:0,margin:0,padding:0,boxSizing:"border-box"},logo:{height:"32px",width:"auto",maxWidth:"140px",objectFit:"contain",flexShrink:0,margin:0,padding:0,display:"block"},title:{fontSize:"18px",fontWeight:700,lineHeight:"150%",letterSpacing:"0.2px",verticalAlign:"middle",color:"#101828",flex:"1 1 auto",minWidth:0,wordBreak:"normal",overflowWrap:"anywhere",margin:0,padding:0,textAlign:"left"},topRight:{borderRadius:"8px",padding:"3px 9px",border:"1px solid #d0d5dd",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,fontWeight:400,fontSize:"12px",lineHeight:"150%",letterSpacing:"0.2px",verticalAlign:"middle",color:"#344054",gap:"5px",margin:0,boxSizing:"border-box",textAlign:"left",cursor:"pointer",backgroundColor:"#ffffff"},middleSection:{margin:"0px",display:"flex",flexDirection:"column",gap:"12px",flexGrow:1,overflowY:"auto",minHeight:0,paddingRight:"15px",boxSizing:"border-box",textAlign:"left"},privacyText:{fontSize:"16px",fontWeight:400,lineHeight:"150%",color:"#344054",margin:0,padding:0,textAlign:"left"},link:{color:"#4f87ff",textDecoration:"none",margin:0,padding:0,boxSizing:"border-box"},subTitle:{fontWeight:600,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",color:"#101828",margin:0,padding:0,textAlign:"left"},optionsContainer:{display:"flex",flexDirection:"column",gap:"10px",margin:0,padding:0,boxSizing:"border-box"},optionItem:{display:"flex",justifyContent:"space-between",alignItems:"center",margin:0,padding:0,boxSizing:"border-box"},optionLeft:{display:"flex",gap:"12px",alignItems:"center",cursor:"pointer",margin:0,padding:0,boxSizing:"border-box"},optionTextContainer:{display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box"},optionTitle:{fontWeight:500,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",color:"#101828",margin:0,padding:0,textAlign:"left"},optionDescription:{fontWeight:400,fontSize:"12px",lineHeight:"150%",letterSpacing:"0.2px",color:"#475467",verticalAlign:"middle",margin:0,padding:0,textAlign:"left"},checkboxLarge:{height:"20px",width:"20px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},dataElementsContainer:{marginLeft:"27px",display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box",paddingLeft:"22px"},dataElementItem:{display:"flex",alignItems:"center",gap:"10px",justifyContent:"space-between",margin:0,padding:0,boxSizing:"border-box",minHeight:"24px"},dataElementText:{fontWeight:400,fontSize:"14px",lineHeight:"150%",letterSpacing:"0.2px",color:"#344054",margin:0,padding:0,textAlign:"left"},checkboxSmall:{height:"16px",width:"16px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},bottomSection:{display:"flex",justifyContent:"space-between",gap:"29px",paddingTop:"15px",borderTop:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box"},button:{width:"100%",borderRadius:"8px",padding:"9px 45px",fontWeight:400,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",cursor:"pointer",margin:0,boxSizing:"border-box",textAlign:"center"},acceptButton:{backgroundColor:"#4f87ff",border:"none",color:"#ffffff"},cancelButton:{border:"1px solid #d0d5dd",backgroundColor:"#ffffff",color:"#000000"},languageSelectorContainer:{position:"relative",margin:0,padding:0,boxSizing:"border-box"},languageDropdown:{position:"absolute",top:"100%",right:0,backgroundColor:"#ffffff",border:"1px solid #d0d5dd",borderRadius:"4px",boxShadow:"0px 2px 4px rgba(0, 0, 0, 0.1)",zIndex:10,width:"max-content",maxHeight:"200px",overflowY:"auto",marginTop:"4px",padding:0,boxSizing:"border-box",textAlign:"left"},languageItem:{padding:"8px 12px",cursor:"pointer",fontSize:"12px",color:"#344054",backgroundColor:"#ffffff",borderBottom:"1px solid #e5e7eb",margin:0,boxSizing:"border-box",textAlign:"left"},selectedLanguageItem:{backgroundColor:"#f3f4f6",fontWeight:600},loadingContainer:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"2rem",minHeight:"200px",margin:0,boxSizing:"border-box"},loadingSpinner:{width:"40px",height:"40px",border:"4px solid #f3f3f3",borderTop:"4px solid #3498db",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"1rem",boxSizing:"border-box"}};function ke(n,e){var P,B;let{selectedPurposes:t,collapsedPurposes:o,selectedDataElements:r,initialDataElementSelections:i={},settings:a,isMobile:c,isAlreadyConsented:d,getTranslatedText:l,onPurposeToggle:u,onPurposeCollapse:p,onDataElementToggle:x}=e,y=new Map,f=new Map,b=new Map,m=new Map,S=new Map,T=new Map,w=new Map,M=(a==null?void 0:a.headingColor)||"#323B4B",D=(a==null?void 0:a.textColor)||"#344054",h=(a==null?void 0:a.font)||"inherit",v=s("div",{style:g.optionsContainer});for(let C of n){let L=s("div"),k=R("svg",{width:"7",height:"12",viewBox:"0 0 7 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:M,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:o[C.uuid]?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.3s ease"},"aria-hidden":"true"},R("path",{d:"M1 1L6 6L1 11"}));m.set(C.uuid,k);let H=s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",marginLeft:"5px"}},k),A=s("h2",{id:`purpose-name-${C.uuid}`,style:{...g.optionTitle,fontSize:c?"14px":"16px",color:M,fontFamily:h}});A.textContent=l("purposes.name",C.name,C.uuid),S.set(C.uuid,A);let N=s("h3",{id:`purpose-description-${C.uuid}`,style:{...g.optionDescription,fontSize:c?"11px":"12px",color:D,fontFamily:h}});N.textContent=l("purposes.description",C.description,C.uuid),T.set(C.uuid,N);let O=s("div",{style:g.optionTextContainer},A,N),V=s("div",{style:g.optionLeft,role:"button",tabIndex:"0","aria-expanded":String(!o[C.uuid]),"aria-controls":`purpose-${C.uuid}`,"aria-label":`${o[C.uuid]?"Expand":"Collapse"} ${l("purposes.name",C.name,C.uuid)} details`,onClick:()=>p(C.uuid),onKeydown:E=>{(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),p(C.uuid))}},H,O);f.set(C.uuid,V);let z;if(d)z=tt(20,`Already consented to ${l("purposes.name",C.name,C.uuid)}`),ge(z,{marginLeft:"12px"});else{let E=s("input",{className:"redacto-checkbox-large",type:"checkbox",checked:t[C.uuid]||!1,"aria-label":`Select all data elements for ${l("purposes.name",C.name,C.uuid)}`,onChange:()=>u(C.uuid)});y.set(C.uuid,E),z=E}let j=s("div",{style:g.optionItem},V,z),G=s("div",{id:`purpose-${C.uuid}`,style:g.dataElementsContainer});if(((P=C.data_elements)==null?void 0:P.length)>0)for(let E of C.data_elements){let _=`${C.uuid}-${E.uuid}`,I=s("span",{id:`data-element-${C.uuid}-${E.uuid}`,style:{...g.dataElementText,fontSize:c?"12px":"14px",color:D,fontFamily:h}});if(I.textContent=l("data_elements.name",E.name,E.uuid),w.set(_,I),E.required){let q=s("span",{style:{color:"red",marginLeft:"4px"},"aria-label":"required"});q.textContent="*",I.appendChild(q)}let U;if(d)i[_]||!1?U=tt(16,`Consented to ${l("data_elements.name",E.name,E.uuid)}`):U=s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",border:"2px solid #d0d5dd",backgroundColor:"transparent"},"aria-label":`Not consented to ${l("data_elements.name",E.name,E.uuid)}`});else{let q=s("input",{className:"redacto-checkbox-small",type:"checkbox",checked:r[_]||!1,"aria-label":`Select ${l("data_elements.name",E.name,E.uuid)}${E.required?" (required)":""}`,onChange:()=>x(E.uuid,C.uuid)});y.set(_,q),U=q}let $=s("div",{style:g.dataElementItem},I,U);G.appendChild($)}b.set(C.uuid,G),G.style.display=!o[C.uuid]&&((B=C.data_elements)==null?void 0:B.length)>0?"flex":"none",L.appendChild(j),L.appendChild(G),v.appendChild(L)}return{container:v,checkboxes:y,collapseButtons:f,dataElementContainers:b,chevrons:m,titleElements:S,descriptionElements:T,dataElementLabels:w}}function tt(n,e){let t=n===20?12:10,o=n===20?"2":"1.5",r=n===20?"M4 6L5.5 7.5L8.5 4.5":"M3 5L4.5 6.5L7.5 3.5",i=R("svg",{width:String(t),height:String(t),viewBox:`0 0 ${t} ${t}`,fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},R("path",{d:r,stroke:"white","stroke-width":o,"stroke-linecap":"round","stroke-linejoin":"round"}));return s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:`${n}px`,height:`${n}px`,borderRadius:"50%",backgroundColor:"#10B981"},"aria-label":e},i)}var Mt={English:"English",Assamese:"\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE (Assamese)",Bengali:"\u09AC\u09BE\u0982\u09B2\u09BE (Bengali)",Bodo:"\u092C\u0921\u093C\u094B (Bodo)",Dogri:"\u0921\u094B\u0917\u0930\u0940 (Dogri)","Goan Konkani":"\u0915\u094B\u0902\u0915\u0923\u0940 (Goan Konkani)",Gujarati:"\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0 (Gujarati)",Hindi:"\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)",Kannada:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1 (Kannada)",Kashmiri:"\u0643\u0672\u0634\u064F\u0631 (Kashmiri)",Maithili:"\u092E\u0948\u0925\u093F\u0932\u0940 (Maithili)",Malayalam:"\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02 (Malayalam)",Manipuri:"\uABC3\uABE9\uABC7\uABE9\uABC2\uABE3\uABDF (Manipuri)",Marathi:"\u092E\u0930\u093E\u0920\u0940 (Marathi)",Nepali:"\u0928\u0947\u092A\u093E\u0932\u0940 (Nepali)",Odia:"\u0B13\u0B21\u0B3C\u0B3F\u0B06 (Odia)",Punjabi:"\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40 (Punjabi)",Sanskrit:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D (Sanskrit)",Santali:"\u1C65\u1C5F\u1C71\u1C5B\u1C5F\u1C72\u1C64 (Santali)",Sindhi:"\u0633\u0646\u068C\u064A (Sindhi)",Tamil:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD (Tamil)",Telugu:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41 (Telugu)",Urdu:"\u0627\u0631\u062F\u0648 (Urdu)"},_e=n=>{var e;return(e=Mt[n])!=null?e:n};function ot(n){var w,M,D,h;let{languages:e,selectedLanguage:t,settings:o,onSelect:r,dropdownContainer:i}=n,a=!1,c=s("span");c.textContent=_e(t);let d=R("svg",{width:"8",height:"5",viewBox:"0 0 8 5",fill:"none",xmlns:"http://www.w3.org/2000/svg"},R("path",{d:"M1 1L4 4L7 1",stroke:((M=(w=o==null?void 0:o.button)==null?void 0:w.language)==null?void 0:M.textColor)||"#344054","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),l={...g.topRight};(D=o==null?void 0:o.button)!=null&&D.language&&(l.backgroundColor=o.button.language.backgroundColor,l.color=o.button.language.textColor);let u=s("div",{style:l,role:"button",tabIndex:"0","aria-haspopup":"listbox","aria-expanded":"false","aria-label":`Language selector, current: ${_e(t)}`,onClick:()=>m(),onKeydown:v=>{v.key==="Enter"||v.key===" "?(v.preventDefault(),m()):v.key==="Escape"&&T()}},c,d),p=s("div",{style:{position:"fixed",backgroundColor:"#ffffff",border:"1px solid #d0d5dd",borderRadius:"4px",boxShadow:"0px 4px 12px rgba(0, 0, 0, 0.15)",zIndex:2147483647,minWidth:"140px",maxHeight:"200px",overflowY:"auto",padding:0,boxSizing:"border-box",textAlign:"left",display:"none"},role:"listbox","aria-label":"Select language"});for(let v of e){let P=v===t,B=P?{...g.languageItem,...g.selectedLanguageItem}:{...g.languageItem};(h=o==null?void 0:o.button)!=null&&h.language&&(P&&o.button.language.selectedBackgroundColor&&(B.backgroundColor=o.button.language.selectedBackgroundColor),P&&o.button.language.selectedTextColor&&(B.color=o.button.language.selectedTextColor));let C=s("div",{style:B,role:"option","aria-selected":String(P),onClick:()=>{r(v),T()},onMouseenter:L=>{L.target.style.backgroundColor="#f3f4f6"},onMouseleave:L=>{L.target.style.backgroundColor=P?"#f3f4f6":"#ffffff"}});C.textContent=_e(v),p.appendChild(C)}let x=s("div",{style:g.languageSelectorContainer},u);i.appendChild(p);function y(){let v=u.getBoundingClientRect();p.style.top=`${v.bottom+4}px`,p.style.right=`${window.innerWidth-v.right}px`,p.style.left="auto"}let f=v=>{var B,C;let P=(C=(B=v.composedPath)==null?void 0:B.call(v))!=null?C:[];if(!(P.includes(x)||P.includes(p))){if(P.length===0){let L=v.target;if(x.contains(L)||p.contains(L))return}T()}},b=()=>{a&&y()};function m(){a?T():S()}function S(){a=!0,y(),p.style.display="block",u.setAttribute("aria-expanded","true"),setTimeout(()=>{document.addEventListener("click",f)},0),window.addEventListener("scroll",b,!0),window.addEventListener("resize",b)}function T(){a=!1,p.style.display="none",u.setAttribute("aria-expanded","false"),document.removeEventListener("click",f),window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b)}return{container:x,button:u,dropdown:p,buttonText:c}}function le(n,e){let t=o=>{var r;if(o.key==="Escape"){o.preventDefault(),e();return}if(o.key==="Tab"){let i=n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),a=Array.from(i).filter(p=>!p.hasAttribute("disabled")&&p.offsetParent!==null);if(a.length===0){o.preventDefault();return}let c=a[0],d=a[a.length-1],u=(r=n.getRootNode().activeElement)!=null?r:document.activeElement;o.shiftKey?u===c&&(o.preventDefault(),d.focus()):u===d&&(o.preventDefault(),c.focus())}};return document.addEventListener("keydown",t),requestAnimationFrame(()=>{let o=n.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');o==null||o.focus()}),()=>{document.removeEventListener("keydown",t)}}var Te="redacto_consent_sdk_state";var Re=()=>typeof window!="undefined"&&typeof window.sessionStorage!="undefined",Pe=n=>{if(!Re()){console.warn("SessionStorage not available - state not persisted");return}try{let e={...n,timestamp:new Date().toISOString()};sessionStorage.setItem(Te,JSON.stringify(e))}catch(e){console.error("Failed to save consent state:",e)}},de=()=>{if(!Re())return null;try{let n=sessionStorage.getItem(Te);if(!n)return null;let e=JSON.parse(n);return Date.now()-new Date(e.timestamp).getTime()>18e5?(te(),null):e}catch(n){return console.error("Failed to get consent state:",n),null}},te=()=>{if(Re())try{sessionStorage.removeItem(Te)}catch(n){console.error("Failed to clear consent state:",n)}},nt=n=>{let e=de();e&&Pe({...e,...n,timestamp:new Date().toISOString()})};var it=[{audioKey:"grievance_text_audio_url",elementId:"dpo-grievance-text"},{audioKey:"grievance_anchor_text_audio_url",elementId:"dpo-grievance-link"},{audioKey:"grievance_email_connector_text_audio_url",elementId:"dpo-grievance-email-connector"},{audioKey:"grievance_email_audio_url",elementId:"dpo-grievance-email"},{audioKey:"dp_board_text_audio_url",elementId:"dpo-dp-board-text"},{audioKey:"dp_board_anchor_text_audio_url",elementId:"dpo-dp-board-link"},{audioKey:"dpo_text_audio_url",elementId:"dpo-dpo-text"},{audioKey:"dpo_anchor_text_audio_url",elementId:"dpo-dpo-link"}];var be=class{constructor(e,t){this.audioUrls=null;this.audioSequence=[];this.elementIdSequence=[];this.currentAudio=null;this.currentIndex=0;this._isPlaying=!1;this._isPaused=!1;this._isAvailable=!1;this.highlightedElementId=null;this.abortController=null;this.onStateChange=e,this.root=t}get isPlaying(){return this._isPlaying}get isPaused(){return this._isPaused}get isAvailable(){return this._isAvailable}async fetchAudioUrls(e){var t;this.stopInternal(),this._isAvailable=!1,this.audioUrls=null,this.audioSequence=[],this.elementIdSequence=[],this.onStateChange(),(t=this.abortController)==null||t.abort(),this.abortController=new AbortController;try{let o=await Ye({accessToken:e.accessToken,baseUrl:e.baseUrl,noticeUuid:e.noticeUuid,language:e.language,signal:this.abortController.signal});this.audioUrls=o.detail,this.buildSequences(e.content),this._isAvailable=this.audioSequence.length>0,this.onStateChange()}catch(o){o.name!=="AbortError"&&(this._isAvailable=!1,this.audioUrls=null,this.audioSequence=[],this.elementIdSequence=[],this.onStateChange())}}buildSequences(e){var a,c;if(!this.audioUrls)return;let t=this.audioUrls,o=[],r=[],i=(d,l)=>{d&&(o.push(d),r.push(l))};i(t.notice_banner_heading_audio_url,"privacy-notice-title"),i(t.notice_text_audio_url,"privacy-notice-text"),i(t.privacy_policy_prefix_text_audio_url,"privacy-policy-text"),i(t.privacy_policy_anchor_text_audio_url,"privacy-policy-link"),i(t.purpose_section_heading_audio_url,"purpose-section-heading");for(let d of e.purposes){let l=(a=t.purposes_audio)==null?void 0:a[d.uuid];l&&(i(l.name_audio_url,`purpose-name-${d.uuid}`),i(l.description_audio_url,`purpose-description-${d.uuid}`));for(let u of d.data_elements){let p=(c=t.data_elements_audio)==null?void 0:c[u.uuid];p&&i(p.name_audio_url,`data-element-${d.uuid}-${u.uuid}`)}}if(i(t.additional_text_audio_url,"additional-text"),i(t.privacy_center_anchor_text_audio_url,"privacy-center-link"),t.dpo_info_audio)for(let d of it){let l=t.dpo_info_audio[d.audioKey];i(l,d.elementId)}i(t.confirm_button_text_audio_url,"confirm-button-text"),i(t.decline_button_text_audio_url,"decline-button-text"),this.audioSequence=o,this.elementIdSequence=r}toggle(){this._isPlaying?this.pause():this.play()}play(){if(this.audioSequence.length!==0)if(this._isPaused&&this.currentAudio)this.currentAudio.play().then(()=>{this._isPlaying=!0,this._isPaused=!1,this.onStateChange()}).catch(()=>{});else{let e=this._isPlaying?this.currentIndex:0;this.playNextAudio(e)}}pause(){this.currentAudio&&this._isPlaying&&(this.currentAudio.pause(),this._isPlaying=!1,this._isPaused=!0,this.onStateChange())}stop(){this.stopInternal(),this.onStateChange()}stopInternal(){this.currentAudio&&(this.currentAudio.pause(),this.currentAudio.currentTime=0,this.currentAudio=null),this._isPlaying=!1,this._isPaused=!1,this.currentIndex=0,this.removeHighlights(),this.highlightedElementId=null}destroy(){var e;(e=this.abortController)==null||e.abort(),this.stop()}playNextAudio(e){if(e>=this.audioSequence.length){this.stop();return}this.currentAudio&&(this.currentAudio.pause(),this.currentAudio=null);let t=new Audio(this.audioSequence[e]);this.currentAudio=t,this.currentIndex=e,this._isPlaying=!0,this._isPaused=!1;let o=this.elementIdSequence[e];o&&this.highlightElement(o),t.onended=()=>this.playNextAudio(e+1),t.onerror=()=>{console.warn(`Failed to load audio at index ${e}`),this.playNextAudio(e+1)},t.play().catch(r=>{console.warn(`Failed to play audio at index ${e}:`,r),this._isPlaying=!1,this.onStateChange()}),this.onStateChange()}highlightElement(e){this.removeHighlights(),this.highlightedElementId=e,setTimeout(()=>{let t="getElementById"in this.root?this.root.getElementById(e):this.root.querySelector(`#${CSS.escape(e)}`);if(t){t.classList.add("redacto-tts-highlight");let o=t.getBoundingClientRect();o.top>=0&&o.left>=0&&o.bottom<=window.innerHeight&&o.right<=window.innerWidth||t.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}},50)}removeHighlights(){this.root.querySelectorAll(".redacto-tts-highlight").forEach(e=>{e.classList.remove("redacto-tts-highlight")})}};function rt(n){let{settings:e,colors:t,isMobile:o,logoUrl:r,onYes:i,onNo:a,onClose:c}=n,d=(e==null?void 0:e.headingColor)||"#101828",l=t.text,u=t.font,p=s("img",{src:r,style:g.logo,alt:"Redacto Logo"}),x=s("h2",{id:"age-verification-title",style:{...g.title,fontSize:o?"16px":"18px",color:d,fontFamily:u}});x.textContent="Age Verification Required";let y=s("div",{style:g.topLeft},p,x),f=s("button",{style:{background:"none",border:"none",color:d,cursor:"pointer",padding:o?"2px":"4px",display:"flex",alignItems:"center",justifyContent:"center"},type:"button","aria-label":"Close modal",onClick:c}),b=R("svg",{width:o?"18":"20",height:o?"18":"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},R("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}));f.appendChild(b);let m=s("div",{style:{...g.topSection,color:l,fontFamily:u}},y,f),S=s("p",{style:{...g.privacyText,fontSize:o?"14px":"16px",color:l,fontFamily:u,marginBottom:"16px"}});S.textContent="To proceed with this consent form, we need to verify your age.";let T=s("p",{style:{...g.subTitle,color:l,fontFamily:u,marginBottom:"24px",textAlign:"left"}});T.textContent="Are you 18 years of age or older?";let w=s("div",{style:{...g.middleSection,color:l,fontFamily:u}},S,T),M={...g.button,fontSize:o?"14px":"16px",padding:o?"10px 20px":"9px 45px"},D=s("button",{style:{...M,...g.acceptButton,backgroundColor:t.acceptBg,color:t.acceptText,borderRadius:t.borderRadius},type:"button","aria-label":"Confirm that I am 18 years of age or older",onClick:i});D.textContent="Yes, I am 18 or older";let h=s("button",{style:{...M,...g.cancelButton,backgroundColor:t.declineBg,color:t.declineText,borderColor:t.declineBorder,borderRadius:t.borderRadius},type:"button","aria-label":"Indicate that I am under 18 years of age",onClick:a});h.textContent="No, I am under 18";let v=s("div",{style:{...g.bottomSection,color:l,fontFamily:u}},D,h);return{container:s("div",{style:g.content},m,w,v)}}var Ie=[{value:"Father",label:"Father"},{value:"Mother",label:"Mother"},{value:"Legal Guardian",label:"Legal Guardian"},{value:"Grandparent",label:"Grandparent"}];function at(n){var Ve;let{formData:e,settings:t,colors:o,isMobile:r,logoUrl:i,isSubmitting:a,onSubmit:c,onCancel:d,onFieldChange:l}=n,u=(t==null?void 0:t.headingColor)||"#101828",p=o.text,x=o.declineBorder,y=(t==null?void 0:t.backgroundColor)||"#ffffff",f=o.borderRadius,b=o.font,m=o.acceptBg,S={width:"100%",padding:"10px 12px",border:`1px solid ${x}`,borderRadius:f,fontSize:"13px",fontFamily:b,color:p,backgroundColor:y,marginBottom:"2px",boxSizing:"border-box",outline:"none"},T={color:"#DC2626",fontSize:"11px",marginTop:"4px",marginBottom:"0px",display:"none"},w={fontSize:"13px",fontWeight:500,color:p,fontFamily:b,marginBottom:"4px",display:"block"},M={fontSize:"11px",color:"#667085",marginTop:"2px",marginBottom:"0px",lineHeight:"1.4"},D=s("img",{src:i,style:g.logo,alt:"Logo"}),h=s("h2",{id:"guardian-form-title",style:{...g.title,fontSize:"16px",fontWeight:600,color:u,fontFamily:b}});h.textContent="Guardian Verification";let v=s("div",{style:g.topLeft},D,h),P=s("div",{style:{...g.topSection,color:p,fontFamily:b}},v),B=s("p",{style:{...g.privacyText,fontSize:"13px",lineHeight:"1.5",color:p,fontFamily:b,marginBottom:"12px"}});B.textContent="Since you are under the age of consent, a legal guardian must verify their identity via DigiLocker before you can proceed.";let C=R("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#2563EB","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},R("circle",{cx:"12",cy:"12",r:"10"}),R("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),R("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"}));C.style.cssText="flex-shrink:0;margin-top:1px";let L=s("span");L.textContent="The guardian's name will be matched against their DigiLocker identity document (e.g. Aadhaar). Please enter the name exactly as it appears on the document.";let k=s("div",{style:{display:"flex",alignItems:"flex-start",gap:"8px",padding:"10px 12px",backgroundColor:"#EFF6FF",border:"1px solid #BFDBFE",borderRadius:f,marginBottom:"16px",fontSize:"12px",lineHeight:"1.5",color:"#1E40AF"}},C,L),H=s("label",{for:"guardianName",style:w});H.innerHTML=`Guardian's Full Name <span style="color:#DC2626">*</span>`;let A=s("input",{id:"guardianName",type:"text",style:S,value:e.guardianName,placeholder:"e.g. Rajesh Kumar",autoComplete:"name","aria-describedby":"guardianName-hint",onInput:F=>l("guardianName",F.target.value)}),N=s("p",{id:"guardianName-hint",style:M});N.textContent="Enter the full name as per government ID (Aadhaar, PAN, etc.)";let O=s("div",{style:T,role:"alert"}),V=s("div",null,H,A,N,O),z=s("label",{for:"guardianContact",style:w});z.innerHTML=`Guardian's Phone Number <span style="color:#DC2626">*</span>`;let j=s("input",{id:"guardianContact",type:"tel",inputMode:"tel",style:S,value:e.guardianContact,placeholder:"e.g. 9876543210",autoComplete:"tel","aria-describedby":"guardianContact-hint",onInput:F=>l("guardianContact",F.target.value)}),G=s("p",{id:"guardianContact-hint",style:M});G.textContent="Mobile number linked to guardian's Aadhaar";let E=s("div",{style:T,role:"alert"}),_=s("div",null,z,j,G,E),I=s("label",{id:"guardianRelationship-label",style:w});I.innerHTML='Relationship <span style="color:#DC2626">*</span>';let U=(Ve=Ie.find(F=>F.value===e.guardianRelationship))==null?void 0:Ve.label,$=R("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#667085","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},R("polyline",{points:"6 9 12 15 18 9"}));$.style.cssText="flex-shrink:0;margin-left:8px;transition:transform 0.2s";let q=s("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}});q.textContent=U||"Select relationship";let K=s("div",{role:"combobox","aria-expanded":"false","aria-haspopup":"listbox","aria-labelledby":"guardianRelationship-label",tabIndex:"0",style:{...S,color:U?p:"#9CA3AF",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between",userSelect:"none",transition:"border-color 0.15s, box-shadow 0.15s"}},q,$),Q=s("div",{id:"guardianRelationship-listbox",role:"listbox","aria-labelledby":"guardianRelationship-label",style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,backgroundColor:y,border:`1px solid ${x}`,borderRadius:f,boxShadow:"0 4px 12px rgba(0,0,0,0.1), 0 1px 3px rgba(0,0,0,0.06)",zIndex:50,overflow:"hidden",padding:"4px 0",maxHeight:"220px",overflowY:"auto",display:"none"}});for(let F=0;F<Ie.length;F++){let oe=Ie[F],ne=e.guardianRelationship===oe.value,he=s("div",{id:`guardianRelationship-option-${F}`,role:"option","aria-selected":String(ne),style:{padding:"9px 12px",fontSize:"13px",fontFamily:b,color:ne?m:p,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.1s"},onClick:()=>{l("guardianRelationship",oe.value),q.textContent=oe.label,K.style.color=p,pe()},onMouseenter:ie=>{ie.target.style.backgroundColor="#F3F4F6"},onMouseleave:ie=>{ie.target.style.backgroundColor="transparent"}}),Ue=s("span");if(Ue.textContent=oe.label,he.appendChild(Ue),ne){let ie=R("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:m,"stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},R("polyline",{points:"20 6 9 17 4 12"}));ie.style.flexShrink="0",he.appendChild(ie)}Q.appendChild(he)}let ue=!1,X=s("div",{style:{position:"relative"}}),Me=F=>{X.contains(F.target)||pe()};function Le(){ue=!0,Q.style.display="block",K.setAttribute("aria-expanded","true"),$.style.transform="rotate(180deg)",K.style.borderColor=m,K.style.boxShadow=`0 0 0 1px ${m}`;let F=X.getBoundingClientRect(),oe=window.innerHeight-F.bottom,ne=220;oe<ne&&F.top>ne?(Q.style.top="auto",Q.style.bottom="calc(100% + 4px)",Q.style.boxShadow="0 -4px 12px rgba(0,0,0,0.1), 0 -1px 3px rgba(0,0,0,0.06)"):(Q.style.top="calc(100% + 4px)",Q.style.bottom="auto",Q.style.boxShadow="0 4px 12px rgba(0,0,0,0.1), 0 1px 3px rgba(0,0,0,0.06)"),requestAnimationFrame(()=>{Q.scrollIntoView({behavior:"smooth",block:"nearest"})}),setTimeout(()=>document.addEventListener("mousedown",Me),0)}function pe(){ue=!1,Q.style.display="none",K.setAttribute("aria-expanded","false"),$.style.transform="rotate(0deg)",K.style.borderColor=x,K.style.boxShadow="none",document.removeEventListener("mousedown",Me)}K.addEventListener("click",()=>{ue?pe():Le()}),K.addEventListener("keydown",F=>{F.key==="Enter"||F.key===" "||F.key==="ArrowDown"?(F.preventDefault(),ue||Le()):(F.key==="Escape"||F.key==="Tab")&&pe()});let De=s("div",{style:T,role:"alert"});X.appendChild(I),X.appendChild(K),X.appendChild(Q),X.appendChild(De);let Be=s("div",{role:"alert",style:{color:"#DC2626",fontSize:"13px",marginTop:"16px",padding:"12px",borderRadius:"6px",border:"1px solid #FCA5A5",backgroundColor:"#FEF2F2",textAlign:"center",display:"none"}}),yt=s("div",{style:{display:"flex",flexDirection:"column",gap:"14px"}},V,_,X),bt=s("div",{style:{...g.middleSection,overflow:"visible",color:p,fontFamily:b}},B,k,yt,Be),Fe={...g.button,fontSize:r?"14px":"16px",padding:r?"10px 20px":"9px 45px"},Ce=s("button",{style:{...Fe,...g.acceptButton,backgroundColor:o.acceptBg,color:o.acceptText,borderRadius:o.borderRadius},type:"button",disabled:a,"aria-label":a?"Verifying guardian identity":"Proceed to guardian verification",onClick:c});Ce.textContent=a?"Verifying...":"Verify via DigiLocker";let He=s("button",{style:{...Fe,...g.cancelButton,backgroundColor:o.declineBg,color:o.declineText,borderColor:o.declineBorder,borderRadius:o.borderRadius},type:"button","aria-label":"Cancel",onClick:d});He.textContent="Cancel";let xt=s("div",{style:{...g.bottomSection,paddingTop:"12px",color:p,fontFamily:b}},Ce,He);return{container:s("div",{style:{...g.content,overflow:"visible"}},P,bt,xt),nameInput:A,contactInput:j,relationshipDisplay:K,nameError:O,contactError:E,relationshipError:De,submitBtn:Ce,generalError:Be}}function st(n){let e={};return n.guardianName.trim()||(e.guardianName="Guardian name is required"),n.guardianContact.trim()||(e.guardianContact="Guardian contact is required"),n.guardianRelationship.trim()||(e.guardianRelationship="Relationship to guardian is required"),e}function lt(n,e){switch(n){case"GUARDIAN_UNDER_18":return"The guardian must be 18 years or older. Please provide details of a different guardian.";case"TOKEN_FAILED":return"DigiLocker verification could not be completed. Please try again.";case"DIGILOCKER_AUTH_FAILED":return"DigiLocker authorization was cancelled or failed. Please try again.";case"NO_AUTH_CODE":return"DigiLocker did not return an authorization code. Please try again.";case"SESSION_EXPIRED":return"Verification session has expired. Please try again.";default:return e||"Verification failed. Please try again."}}function dt(n){let{settings:e,colors:t,isMobile:o,logoUrl:r,isInitiating:i,isPolling:a,isComplete:c,isAutoTransitioning:d,error:l,errorCode:u,canRetry:p,onContinue:x,onBack:y}=n,f=(e==null?void 0:e.headingColor)||"#101828",b=t.text,m=t.font,S=t.acceptBg,T=s("img",{src:r,style:g.logo,alt:"Logo"}),w=s("h2",{id:"verification-title",style:{...g.title,fontSize:"16px",fontWeight:600,color:f,fontFamily:m}});w.textContent="Guardian Verification";let M=s("div",{style:g.topLeft},T,w),D=s("div",{style:{...g.topSection,color:b,fontFamily:m}},M),h=s("div",{style:{...g.middleSection,color:b,fontFamily:m,textAlign:"center"}});if(c&&!l){let k=s("div",{style:{width:"64px",height:"64px",borderRadius:"50%",backgroundColor:"#D1FAE5",display:"flex",alignItems:"center",justifyContent:"center"}}),H=R("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"#059669","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},R("polyline",{points:"20 6 9 17 4 12"}));k.appendChild(H);let A=s("p",{style:{color:f,fontFamily:m,fontSize:"16px",fontWeight:600,lineHeight:"1.5",marginTop:"12px",marginBottom:"24px"}});A.textContent="Verification Completed";let N=s("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:"1"}},k,A);h.appendChild(N)}else if((i||a)&&!l){let k=s("div",{style:{width:"48px",height:"48px",border:"4px solid #e5e7eb",borderTopColor:S,borderRadius:"50%",animation:"spin 1s linear infinite",margin:"24px auto"}}),H=s("div",{style:{color:"#059669",fontSize:"14px",marginTop:"16px",padding:"12px",borderRadius:"6px",border:"1px solid #A7F3D0",backgroundColor:"#D1FAE5",textAlign:"center"}});H.textContent=i?"Opening DigiLocker in a new tab...":"Please complete the verification in the DigiLocker tab. This page will update automatically when verification is complete.",h.appendChild(k),h.appendChild(H)}if(l){let k=s("div",{style:{width:"64px",height:"64px",borderRadius:"50%",backgroundColor:"#fee2e2",display:"flex",alignItems:"center",justifyContent:"center",margin:"24px auto"}}),H=R("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"#dc2626","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},R("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),R("line",{x1:"6",y1:"6",x2:"18",y2:"18"}));k.appendChild(H);let A=s("p",{style:{...g.privacyText,color:b,fontFamily:m,fontSize:"14px",lineHeight:"1.5",marginBottom:"12px"}});A.textContent="Verification failed";let N=s("div",{style:{color:"#DC2626",fontSize:"14px",marginTop:"16px",padding:"12px",borderRadius:"6px",border:"1px solid #FCA5A5",backgroundColor:"#FEF2F2",textAlign:"center"}});N.textContent=l,h.appendChild(k),h.appendChild(A),h.appendChild(N)}let v={...g.button,fontSize:o?"14px":"16px",padding:o?"10px 20px":"9px 45px"},P=s("div",{style:{...g.bottomSection,paddingTop:"12px",display:"flex",gap:"12px",justifyContent:"center",color:b,fontFamily:m}}),B={backgroundColor:t.acceptBg,color:t.acceptText,borderRadius:t.borderRadius},C={backgroundColor:t.declineBg,color:t.declineText,borderColor:t.declineBorder,borderRadius:t.borderRadius};if(!d)if(c&&!l){let k=s("button",{style:{...v,...B},type:"button","aria-label":"Continue to consent form",onClick:x});k.textContent="Continue",P.appendChild(k)}else if(l&&p){let k=s("button",{style:{...v,...g.acceptButton,...B},type:"button","aria-label":u==="GUARDIAN_UNDER_18"?"Change guardian details":"Try verification again",onClick:()=>y(u==="GUARDIAN_UNDER_18")});k.textContent=u==="GUARDIAN_UNDER_18"?"Change Guardian":"Try Again",P.appendChild(k)}else if(l){let k=s("button",{style:{...v,...g.cancelButton,...C},type:"button","aria-label":"Go back",onClick:()=>y(!1)});k.textContent="Go Back",P.appendChild(k)}else{let k=s("button",{style:{...v,...g.cancelButton,...C},type:"button","aria-label":"Cancel verification",onClick:()=>y(!1)});k.textContent="Cancel",P.appendChild(k)}return{container:s("div",{style:g.content},D,h,P)}}function ct(n,e){var r,i,a,c,d,l,u,p;let t=(e==null?void 0:e.primary_color)||"#4f87ff",o=(e==null?void 0:e.secondary_color)||"#4f87ff";return{acceptBg:((i=(r=n==null?void 0:n.button)==null?void 0:r.accept)==null?void 0:i.backgroundColor)||t,acceptText:((c=(a=n==null?void 0:n.button)==null?void 0:a.accept)==null?void 0:c.textColor)||"#ffffff",declineBg:((l=(d=n==null?void 0:n.button)==null?void 0:d.decline)==null?void 0:l.backgroundColor)||"#ffffff",declineText:((p=(u=n==null?void 0:n.button)==null?void 0:u.decline)==null?void 0:p.textColor)||"#000000",declineBorder:(n==null?void 0:n.borderColor)||"#d0d5dd",link:(n==null?void 0:n.link)||o,heading:(n==null?void 0:n.headingColor)||"#323B4B",text:(n==null?void 0:n.textColor)||"#344054",font:(n==null?void 0:n.font)||"inherit",borderRadius:(n==null?void 0:n.borderRadius)||"8px",primaryColor:t,secondaryColor:o}}var xe=class{constructor(e){this.hostEl=null;this.shadowRoot=null;this.previousBodyOverflow=null;this.previousHtmlOverflow=null;this.overlayEl=null;this.modalEl=null;this.purposeRefs=null;this.alreadyConsentedPurposeRefs=null;this.langSelectorRefs=null;this.keyboardCleanup=null;this.abortController=null;this.unsubscribe=null;this.ttsManager=null;this.guardianFormRefs=null;this.statusPollTimeout=null;this.popupCheckInterval=null;this.verificationPopup=null;this.verificationSessionToken=null;this.visibilityChangeHandler=null;this.acceptBtn=null;this.declineBtn=null;this.middleSection=null;this.errorEl=null;this.noticeTitleEl=null;this.noticeTextEl=null;this.purposeHeadingEl=null;this.additionalTextEl=null;this.privacyPolicyLinkEl=null;this.privacyCenterLinkEl=null;this.ttsButton=null;this.options=e,this.store=new re({isLoading:!0,isSubmitting:!1,isSubmittingAccept:!1,isSubmittingDecline:!1,content:null,selectedPurposes:{},selectedDataElements:{},initialDataElementSelections:{},collapsedPurposes:{},hasAlreadyConsented:!1,isFullyConsentedReviewMode:!1,selectedLanguage:e.language||"en",errorMessage:null,fetchError:null,needsConsentPurposes:[],alreadyConsentedPurposes:[],isMinorFlow:!1,selfDeclaredAdult:!1,showAgeVerification:!1,showGuardianForm:!1,showVerificationScreen:!1,verificationReference:null,isVerificationComplete:!1,isInitiatingVerification:!1,isPollingStatus:!1,verificationError:null,verificationErrorCode:null,canRetryVerification:!1,guardianFormData:{guardianName:"",guardianContact:"",guardianRelationship:""}}),this.mediaQuery=fe("(max-width: 768px)")}async init(){this.unsubscribe=this.store.subscribe((e,t)=>{this.handleStateChange(e,t)}),this.mediaQuery.subscribe(()=>this.rebuildUI()),this.renderOverlayWithLoading(),await this.fetchNotice()}destroy(){var e,t,o,r;(e=this.abortController)==null||e.abort(),(t=this.keyboardCleanup)==null||t.call(this),(o=this.unsubscribe)==null||o.call(this),this.mediaQuery.destroy(),(r=this.ttsManager)==null||r.destroy(),this.stopPolling(),this.store.destroy(),this.hostEl&&this.hostEl.parentNode&&this.hostEl.parentNode.removeChild(this.hostEl),this.previousBodyOverflow!==null&&(document.body.style.overflow=this.previousBodyOverflow,this.previousBodyOverflow=null),this.previousHtmlOverflow!==null&&(document.documentElement.style.overflow=this.previousHtmlOverflow,this.previousHtmlOverflow=null),this.hostEl=null,this.shadowRoot=null,this.overlayEl=null,this.modalEl=null,this.purposeRefs=null,this.langSelectorRefs=null}async fetchNotice(){var e,t,o,r;this.abortController=new AbortController,this.store.setState({isLoading:!0,fetchError:null});try{let i=await je({noticeId:this.options.noticeId,accessToken:this.options.accessToken,refreshToken:this.options.refreshToken,baseUrl:this.options.baseUrl,language:this.options.language,specific_uuid:this.options.applicationId,validate_against:this.options.validateAgainst||"all",include_fully_consented_data:this.options.includeFullyConsentedData,signal:this.abortController.signal}),a=i.detail.active_config,c=i.detail.purpose_selections,d=i.detail.reconsent_required,l=!1;if(this.options.ledgerBaseUrl&&!this.options.applicationId){let h=await Xe({accessToken:this.options.accessToken,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:this.options.noticeId,signal:this.abortController.signal});if(h){let v=et(h,a.purposes);d=(e=v==null?void 0:v.reconsent_required)!=null?e:!1,c=v==null?void 0:v.purpose_selections,l=!!v}}let u={},p={},x={},y={},f=[],b=[],m=!1;if(c&&(d||l))for(let h of a.purposes){let v=c[h.uuid];if(u[h.uuid]=!0,v&&v.selected&&!v.needs_reconsent){b.push(h),p[h.uuid]=!0;for(let P of h.data_elements){let B=`${h.uuid}-${P.uuid}`,C=(t=v.data_elements)==null?void 0:t[P.uuid],L=(C==null?void 0:C.selected)||!1;x[B]=L,y[B]=L}}else{f.push(h),p[h.uuid]=!1;for(let P of h.data_elements)x[`${h.uuid}-${P.uuid}`]=!1}}else{f=a.purposes;for(let h of a.purposes){u[h.uuid]=!0,p[h.uuid]=!1;for(let v of h.data_elements)x[`${h.uuid}-${v.uuid}`]=!1}}this.options.includeFullyConsentedData&&f.length===0&&b.length>0&&(m=!0);let S=this.options.language||"en";a.default_language&&(S=a.default_language);let T=!1,w=!1,M={},D=null;if(i.detail.is_minor){T=!0;let h=de();h!=null&&h.noticeId&&h.noticeId!==this.options.noticeId?te():(h==null?void 0:h.flowState)==="digilocker-pending"&&h.sessionToken?(M={showVerificationScreen:!0,isPollingStatus:!0},D=h.sessionToken):(h==null?void 0:h.verificationResult)==="verified"&&h.verificationReference?(M={showVerificationScreen:!0,isVerificationComplete:!0,verificationReference:h.verificationReference},te()):(h==null?void 0:h.verificationResult)==="failed"||(h==null?void 0:h.verificationResult)==="expired"?(M={showVerificationScreen:!0,verificationError:h.verificationResult==="expired"?"Verification session has expired. Please try again.":"Verification failed. Please try again.",canRetryVerification:!0},te()):w=!0}this.store.setState({content:i,isLoading:!1,selectedLanguage:S,collapsedPurposes:u,selectedPurposes:p,selectedDataElements:x,initialDataElementSelections:y,needsConsentPurposes:f,alreadyConsentedPurposes:b,isFullyConsentedReviewMode:m,isMinorFlow:T,showAgeVerification:w,...M}),D&&this.startStatusPolling(D)}catch(i){if(i.name==="AbortError")return;let a=i;a.status===409?(this.store.setState({hasAlreadyConsented:!0,isLoading:!1}),this.options.onAccept()):(this.store.setState({fetchError:a,isLoading:!1}),(r=(o=this.options).onError)==null||r.call(o,a))}}handleStateChange(e,t){if(t.isLoading&&!e.isLoading&&e.content){this.rebuildUI();return}if(e.hasAlreadyConsented&&!t.hasAlreadyConsented){this.destroy();return}if(e.fetchError&&!t.fetchError){this.renderError(e.fetchError.message);return}if(e.showAgeVerification!==t.showAgeVerification||e.showGuardianForm!==t.showGuardianForm||e.showVerificationScreen!==t.showVerificationScreen){this.rebuildUI();return}if(e.showVerificationScreen&&(e.isVerificationComplete!==t.isVerificationComplete||e.verificationError!==t.verificationError||e.isPollingStatus!==t.isPollingStatus||e.isInitiatingVerification!==t.isInitiatingVerification)){this.rebuildUI();return}(e.selectedPurposes!==t.selectedPurposes||e.selectedDataElements!==t.selectedDataElements)&&this.updateCheckboxes(e),e.collapsedPurposes!==t.collapsedPurposes&&this.updateCollapseState(e),e.errorMessage!==t.errorMessage&&this.updateErrorMessage(e),(e.isSubmittingAccept!==t.isSubmittingAccept||e.isSubmittingDecline!==t.isSubmittingDecline)&&this.updateButtonStates(e)}renderOverlayWithLoading(){this.hostEl=document.createElement("div"),this.hostEl.setAttribute("data-redacto-consent",""),this.hostEl.style.position="fixed",this.hostEl.style.top="0",this.hostEl.style.left="0",this.hostEl.style.width="0",this.hostEl.style.height="0",this.hostEl.style.zIndex="2147483646",document.body.appendChild(this.hostEl),this.shadowRoot=this.hostEl.attachShadow({mode:"open"}),this.previousBodyOverflow=document.body.style.overflow,this.previousHtmlOverflow=document.documentElement.style.overflow,document.body.style.overflow="hidden",document.documentElement.style.overflow="hidden",ae(this.shadowRoot),this.ttsManager=new be(()=>this.updateTTSButton(),this.shadowRoot),this.options.blockUI!==!1&&(this.overlayEl=s("div",{style:g.overlay,role:"presentation"}),this.shadowRoot.appendChild(this.overlayEl));let t=this.options.settings,o={...g.modal};t!=null&&t.backgroundColor&&(o.backgroundColor=t.backgroundColor),t!=null&&t.borderRadius&&(o.borderRadius=t.borderRadius),t!=null&&t.borderColor&&(o.border=`1px solid ${t.borderColor}`),t!=null&&t.font&&(o.fontFamily=t.font),this.mediaQuery.matches&&(o.width="90%",o.maxWidth="90%"),this.modalEl=s("div",{style:o,role:"dialog","aria-modal":"true","aria-label":"Privacy consent"});let r=s("div",{style:g.loadingContainer},s("div",{style:g.loadingSpinner}),s("p",{style:{...g.privacyText,color:(t==null?void 0:t.textColor)||"#344054"}},"Loading...")),i=s("div",{style:g.content},r);this.modalEl.appendChild(i),this.shadowRoot.appendChild(this.modalEl)}rebuildUI(){var H,A,N,O,V,z,j,G;let e=this.store.getState();if(!e.content||!this.modalEl)return;let t=e.content.detail.active_config,o=this.options.settings,r=this.mediaQuery.matches,i=ct(o,t);if(e.showAgeVerification){Z(this.modalEl);let E=rt({settings:o,colors:i,isMobile:r,logoUrl:t.logo_url,onYes:()=>this.handleAgeVerificationYes(),onNo:()=>this.handleAgeVerificationNo(),onClose:()=>this.handleDecline()});this.modalEl.appendChild(E.container),(H=this.keyboardCleanup)==null||H.call(this),this.keyboardCleanup=le(this.modalEl,()=>this.handleDecline());return}if(e.showGuardianForm){Z(this.modalEl),this.guardianFormRefs=at({formData:e.guardianFormData,settings:o,colors:i,isMobile:r,logoUrl:t.logo_url,isSubmitting:e.isInitiatingVerification,onSubmit:()=>this.handleGuardianFormSubmit(),onCancel:()=>this.handleDecline(),onFieldChange:(E,_)=>{let I=this.store.getState();this.store.setState({guardianFormData:{...I.guardianFormData,[E]:_}})}}),this.modalEl.appendChild(this.guardianFormRefs.container),(A=this.keyboardCleanup)==null||A.call(this),this.keyboardCleanup=le(this.modalEl,()=>this.handleDecline());return}if(e.showVerificationScreen){Z(this.modalEl);let E=dt({settings:o,colors:i,isMobile:r,logoUrl:t.logo_url,isInitiating:e.isInitiatingVerification,isPolling:e.isPollingStatus,isComplete:e.isVerificationComplete,error:e.verificationError,errorCode:e.verificationErrorCode,canRetry:e.canRetryVerification,onContinue:()=>this.handleVerificationContinue(),onBack:_=>{_?this.handleChangeGuardian():e.verificationError&&e.canRetryVerification?this.handleVerificationRetry():this.handleDecline()}});this.modalEl.appendChild(E.container),(N=this.keyboardCleanup)==null||N.call(this),this.keyboardCleanup=le(this.modalEl,()=>{});return}Z(this.modalEl);let a=(o==null?void 0:o.headingColor)||"#101828",c=i.text,d=i.link,l=i.font,u=t.logo_url?s("img",{src:t.logo_url,style:{...g.logo,maxWidth:r?"96px":"140px",maxHeight:r?"28px":"32px"},alt:"Logo"}):null;this.noticeTitleEl=s("span",{id:"privacy-notice-title",style:{...g.title,color:a,fontFamily:l,fontSize:r?"16px":"18px"}}),this.noticeTitleEl.textContent=this.getTranslatedText("notice_banner_heading",t.notice_banner_heading),(O=this.langSelectorRefs)!=null&&O.dropdown&&this.shadowRoot&&this.langSelectorRefs.dropdown.parentNode===this.shadowRoot&&this.shadowRoot.removeChild(this.langSelectorRefs.dropdown);let p=Object.keys(t.supported_languages_and_translations||{}),x=[t.default_language||"English",...p.filter(E=>E!==t.default_language)];this.langSelectorRefs=ot({languages:x,selectedLanguage:e.selectedLanguage,settings:o,onSelect:E=>this.handleLanguageSelect(E),dropdownContainer:this.shadowRoot});let y=((z=(V=o==null?void 0:o.button)==null?void 0:V.language)==null?void 0:z.textColor)||"currentColor",f=R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:y,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},R("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),R("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"}));this.ttsButton=s("button",{style:{...g.topRight,display:"none",padding:"3px 9px",alignItems:"center",justifyContent:"center"},type:"button","aria-label":"Start audio playback",title:"Start Talkback",onClick:()=>{var E;return(E=this.ttsManager)==null?void 0:E.toggle()}}),this.ttsButton.appendChild(f),(j=this.ttsManager)==null||j.fetchAudioUrls({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,noticeUuid:t.notice_uuid,language:this.getLanguageCode(e.selectedLanguage),content:t});let b=s("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},this.ttsButton,this.langSelectorRefs.container),m;if(r){let E=s("div",{style:{display:"flex",alignItems:"center",gap:"10px",width:"100%"}},...u?[u]:[],s("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center"}},b));m=s("div",{style:{...g.topSection,flexDirection:"column",alignItems:"stretch",flexWrap:"nowrap"}},E,this.noticeTitleEl)}else{let E=s("div",{style:g.topLeft},u,this.noticeTitleEl);m=s("div",{style:g.topSection},E,b)}this.middleSection=s("div",{style:g.middleSection});let S={...g.privacyText,color:c,fontFamily:l,fontSize:r?"14px":"16px"},T=s("span",{id:"privacy-notice-text"});T.textContent=this.getTranslatedText("notice_text",t.notice_text);let w=this.getTranslatedText("privacy_policy_prefix_text",t.privacy_policy_prefix_text),M=this.getTranslatedText("privacy_policy_anchor_text",t.privacy_policy_anchor_text);this.privacyPolicyLinkEl=s("a",{id:"privacy-policy-link",href:t.privacy_policy_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l},"aria-label":"Privacy Policy (opens in new tab)"}),this.privacyPolicyLinkEl.textContent=M;let D=s("span",{id:"privacy-policy-text"},`${w} `,this.privacyPolicyLinkEl),h=s("p",{style:S},T,s("br"),D);if(this.purposeHeadingEl=s("h2",{id:"purpose-section-heading",style:{...g.subTitle,color:a,fontFamily:l}}),this.purposeHeadingEl.textContent=this.getTranslatedText("purpose_section_heading",t.purpose_section_heading),this.middleSection.appendChild(h),this.middleSection.appendChild(this.purposeHeadingEl),e.needsConsentPurposes.length>0&&(this.purposeRefs=ke(e.needsConsentPurposes,{selectedPurposes:e.selectedPurposes,collapsedPurposes:e.collapsedPurposes,selectedDataElements:e.selectedDataElements,settings:o,isMobile:r,isAlreadyConsented:!1,getTranslatedText:(E,_,I)=>this.getTranslatedText(E,_,I),onPurposeToggle:E=>this.handlePurposeCheckboxChange(E),onPurposeCollapse:E=>this.togglePurposeCollapse(E),onDataElementToggle:(E,_)=>this.handleDataElementCheckboxChange(E,_)}),this.middleSection.appendChild(this.purposeRefs.container)),e.alreadyConsentedPurposes.length>0&&(this.alreadyConsentedPurposeRefs=ke(e.alreadyConsentedPurposes,{selectedPurposes:e.selectedPurposes,collapsedPurposes:e.collapsedPurposes,selectedDataElements:e.selectedDataElements,initialDataElementSelections:e.initialDataElementSelections,settings:o,isMobile:r,isAlreadyConsented:!0,getTranslatedText:(E,_,I)=>this.getTranslatedText(E,_,I),onPurposeToggle:()=>{},onPurposeCollapse:E=>this.togglePurposeCollapse(E),onDataElementToggle:()=>{}}),this.middleSection.appendChild(this.alreadyConsentedPurposeRefs.container)),t.privacy_center_url||t.dpo_info){let E=s("div",{style:{...S,fontSize:r?"13px":"14px",lineHeight:"1.4",borderTop:"1px solid rgba(152, 162, 179, 0.3)",paddingTop:"12px",marginTop:"12px"}}),_=s("p",{style:{margin:"0",opacity:"0.6"}});if(t.privacy_center_url){if(t.additional_text){let U=s("span",{id:"additional-text"});U.textContent=this.getTranslatedText("additional_text",t.additional_text),_.appendChild(U),_.appendChild(document.createTextNode(" "))}let I=this.getTranslatedText("privacy_center_anchor_text",t.privacy_center_anchor_text||"Privacy Center");this.privacyCenterLinkEl=s("a",{id:"privacy-center-link",href:t.privacy_center_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}}),this.privacyCenterLinkEl.textContent=I,_.appendChild(this.privacyCenterLinkEl),_.appendChild(document.createTextNode("."))}if(t.dpo_info){let I=t.dpo_info;if(t.privacy_center_url&&_.appendChild(s("br")),I.grievance_text){let U=s("span",{id:"dpo-grievance-text"});if(U.textContent=this.getTranslatedDpoText("grievance_text",I.grievance_text),_.appendChild(U),_.appendChild(document.createTextNode(" ")),I.grievance_url){let $=s("a",{id:"dpo-grievance-link",href:I.grievance_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}});$.textContent=this.getTranslatedDpoText("grievance_anchor_text",I.grievance_anchor_text),_.appendChild($)}if(I.grievance_email){_.appendChild(document.createTextNode(" "));let $=s("span",{id:"dpo-grievance-email-connector"});$.textContent=this.getTranslatedDpoText("grievance_email_connector_text",I.grievance_email_connector_text||"or email to"),_.appendChild($),_.appendChild(document.createTextNode(" "));let q=s("a",{id:"dpo-grievance-email",href:`mailto:${I.grievance_email}`,style:{...g.link,color:d,fontFamily:l}});q.textContent=I.grievance_email,_.appendChild(q)}}if(I.dp_board_text){_.appendChild(s("br"));let U=s("span",{id:"dpo-dp-board-text"});if(U.textContent=this.getTranslatedDpoText("dp_board_text",I.dp_board_text),_.appendChild(U),_.appendChild(document.createTextNode(" ")),I.dp_board_url){let $=s("a",{id:"dpo-dp-board-link",href:I.dp_board_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}});$.textContent=this.getTranslatedDpoText("dp_board_anchor_text",I.dp_board_anchor_text),_.appendChild($)}}if(I.dpo_text){_.appendChild(s("br"));let U=s("span",{id:"dpo-dpo-text"});if(U.textContent=this.getTranslatedDpoText("dpo_text",I.dpo_text),_.appendChild(U),_.appendChild(document.createTextNode(" ")),I.dpo_url){let $=s("a",{id:"dpo-dpo-link",href:I.dpo_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}});$.textContent=this.getTranslatedDpoText("dpo_anchor_text",I.dpo_anchor_text),_.appendChild($)}}}E.appendChild(_),this.middleSection.appendChild(E)}this.errorEl=s("div",{role:"alert",style:{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"12px",borderRadius:"6px",fontSize:"14px",border:"1px solid #FCA5A5",display:"none"}});let v=e.isFullyConsentedReviewMode?this.options.reviewModeButtonText||"Continue":this.getTranslatedText("confirm_button_text",t.confirm_button_text),P={...g.button,...g.acceptButton,backgroundColor:i.acceptBg,color:i.acceptText,borderRadius:i.borderRadius,fontSize:r?"14px":"16px",padding:r?"10px 20px":"9px 45px"};this.acceptBtn=s("button",{id:"confirm-button-text",style:P,type:"button",onClick:()=>this.handleAccept()}),this.acceptBtn.textContent=v;let B=this.getTranslatedText("decline_button_text",t.decline_button_text),C={...g.button,...g.cancelButton,backgroundColor:i.declineBg,color:i.declineText,borderColor:i.declineBorder,borderRadius:i.borderRadius,fontSize:r?"14px":"16px",padding:r?"10px 20px":"9px 45px"};this.declineBtn=s("button",{id:"decline-button-text",style:C,type:"button",onClick:()=>this.handleDecline()}),e.isFullyConsentedReviewMode||(this.declineBtn.textContent=B);let L=s("div",{style:g.bottomSection});e.isFullyConsentedReviewMode?L.appendChild(this.acceptBtn):(L.appendChild(this.acceptBtn),L.appendChild(this.declineBtn));let k=s("div",{style:g.content},m,this.errorEl,this.middleSection,L);this.modalEl.appendChild(k),this.updateAcceptButtonState(e),(G=this.keyboardCleanup)==null||G.call(this),this.keyboardCleanup=le(this.modalEl,()=>this.handleDecline())}getLanguageCode(e){var o,r;let t=(o=this.store.getState().content)==null?void 0:o.detail.active_config;return!t||e==="English"||e==="en"||e==="EN"?"English":(r=t.supported_languages_and_translations)!=null&&r[e]?e:t.default_language==="en"||t.default_language==="EN"?"English":t.default_language||"English"}getTranslatedDpoText(e,t){var l;let o=this.store.getState(),r=(l=o.content)==null?void 0:l.detail.active_config;if(!r)return t;let i=o.selectedLanguage;if(i==="English"||i==="en"||i==="EN")return t;let a=r.supported_languages_and_translations;if(!a)return t;let c=a[i];if(!(c!=null&&c.dpo_info))return t;let d=c.dpo_info[e];return typeof d=="string"&&d?d:t}renderError(e){if(!this.modalEl)return;Z(this.modalEl);let t=s("div",{style:{...g.content,alignItems:"center",justifyContent:"center"}},s("div",{role:"alert",style:{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"16px",borderRadius:"8px",fontSize:"14px",border:"1px solid #FCA5A5",textAlign:"center",maxWidth:"400px"}},e));this.modalEl.appendChild(t)}getTranslatedText(e,t,o){var u,p,x;let r=this.store.getState(),i=(u=r.content)==null?void 0:u.detail.active_config;if(!i)return t;let a=r.selectedLanguage;if(a==="English"||a==="en"||a==="EN")return e==="privacy_policy_anchor_text"&&i.privacy_policy_anchor_text?i.privacy_policy_anchor_text:t;let c=i.supported_languages_and_translations;if(!c)return t;let d=c[a];if(!d)return t;if(o){if(e==="purposes.name"||e==="purposes.description"){let y=(p=d.purposes)==null?void 0:p[o];return y?typeof y=="string"?e==="purposes.name"?y:t:e==="purposes.name"?y.name||t:y.description||t:t}if(e.startsWith("data_elements."))return((x=d.data_elements)==null?void 0:x[o])||t}let l=d[e];return typeof l=="string"&&l?l:t}handleLanguageSelect(e){this.store.setState({selectedLanguage:e}),this.rebuildUI()}togglePurposeCollapse(e){let t=this.store.getState();this.store.setState({collapsedPurposes:{...t.collapsedPurposes,[e]:!t.collapsedPurposes[e]}})}handlePurposeCheckboxChange(e){var c;let t=this.store.getState(),o=(c=t.content)==null?void 0:c.detail.active_config;if(!o)return;let r=o.purposes.find(d=>d.uuid===e);if(!r)return;let i=!t.selectedPurposes[e],a={...t.selectedDataElements};for(let d of r.data_elements)a[`${e}-${d.uuid}`]=i;this.store.setState({selectedPurposes:{...t.selectedPurposes,[e]:i},selectedDataElements:a})}handleDataElementCheckboxChange(e,t){var u;let o=this.store.getState(),r=(u=o.content)==null?void 0:u.detail.active_config;if(!r)return;let i=r.purposes.find(p=>p.uuid===t);if(!i)return;let a=`${t}-${e}`,c={...o.selectedDataElements,[a]:!o.selectedDataElements[a]},d=i.data_elements.filter(p=>p.required),l;d.length>0?l=d.every(p=>c[`${t}-${p.uuid}`]):l=i.data_elements.some(p=>c[`${t}-${p.uuid}`]),this.store.setState({selectedDataElements:c,selectedPurposes:{...o.selectedPurposes,[t]:l}})}async handleAccept(){var o,r,i;let e=this.store.getState();if(e.isSubmitting)return;if(e.isFullyConsentedReviewMode){this.options.onAccept(),this.destroy();return}if(e.isMinorFlow&&!e.verificationReference&&!e.selfDeclaredAdult){this.store.setState({errorMessage:"Guardian verification is required before consent can be submitted."});return}let t=(o=e.content)==null?void 0:o.detail.active_config;if(t){this.abortController=new AbortController,this.store.setState({isSubmitting:!0,isSubmittingAccept:!0,errorMessage:null});try{let a=t.purposes.map(c=>{let d=c.data_elements.filter(l=>l.enabled).map(l=>({uuid:l.uuid,name:l.name,enabled:l.enabled,required:l.required,selected:e.selectedDataElements[`${c.uuid}-${l.uuid}`]||!1}));return{uuid:c.uuid,name:c.name,description:c.description,selected:e.selectedPurposes[c.uuid]||!1,data_elements:d}});await Ke({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:e.content.detail.uuid,purposes:a,declined:!1,meta_data:this.options.applicationId?{specific_uuid:this.options.applicationId}:void 0,guardianVerificationReference:e.verificationReference||void 0,selfDeclaredAdult:e.selfDeclaredAdult||void 0,signal:this.abortController.signal}),this.options.onAccept(),this.destroy()}catch(a){if(a.name==="AbortError")return;let c=a,d=c.status===409?"You have already provided consent.":c.status&&c.status>=500?"Server error: Please try again later.":c.message||"Failed to submit consent.";this.store.setState({errorMessage:d,isSubmitting:!1,isSubmittingAccept:!1}),(i=(r=this.options).onError)==null||i.call(r,c)}}}handleDecline(){this.store.getState().isSubmitting||(this.stopPolling(),te(),this.options.onDecline(),this.destroy())}updateCheckboxes(e){if(this.purposeRefs)for(let[t,o]of this.purposeRefs.checkboxes)t in e.selectedPurposes?o.checked=e.selectedPurposes[t]||!1:o.checked=e.selectedDataElements[t]||!1;this.updateAcceptButtonState(e)}areAllRequiredChecked(e){var o,r;let t=(o=e.content)==null?void 0:o.detail.active_config;return(r=t==null?void 0:t.purposes)!=null&&r.length?t.purposes.every(i=>{let a=i.data_elements.filter(c=>c.required&&c.enabled);return a.length===0?!0:a.every(c=>e.selectedDataElements[`${i.uuid}-${c.uuid}`])}):!1}updateAcceptButtonState(e){if(!this.acceptBtn||e.isFullyConsentedReviewMode)return;let o=!this.areAllRequiredChecked(e)||e.isSubmittingAccept||e.isSubmittingDecline;this.acceptBtn.disabled=o,this.acceptBtn.style.opacity=o?"0.5":"1",this.acceptBtn.style.cursor=o?"not-allowed":"pointer"}updateCollapseState(e){let t=o=>{var r,i;if(o)for(let[a,c]of o.dataElementContainers){let d=(r=e.content)==null?void 0:r.detail.active_config,l=d==null?void 0:d.purposes.find(y=>y.uuid===a),u=e.collapsedPurposes[a];c.style.display=!u&&((i=l==null?void 0:l.data_elements)!=null&&i.length)?"flex":"none";let p=o.chevrons.get(a);p&&(p.style.transform=u?"rotate(0deg)":"rotate(90deg)");let x=o.collapseButtons.get(a);x&&x.setAttribute("aria-expanded",String(!u))}};t(this.purposeRefs),t(this.alreadyConsentedPurposeRefs)}updateErrorMessage(e){this.errorEl&&(e.errorMessage?(this.errorEl.textContent=e.errorMessage,this.errorEl.style.display="block"):this.errorEl.style.display="none")}handleAgeVerificationYes(){this.store.setState({isMinorFlow:!1,selfDeclaredAdult:!0,showAgeVerification:!1})}handleAgeVerificationNo(){this.store.setState({showAgeVerification:!1,showGuardianForm:!0})}async handleGuardianFormSubmit(){let e=this.store.getState(),t=st(e.guardianFormData);if(Object.keys(t).length>0){this.guardianFormRefs&&(t.guardianName&&(this.guardianFormRefs.nameError.textContent=t.guardianName,this.guardianFormRefs.nameError.style.display="block"),t.guardianContact&&(this.guardianFormRefs.contactError.textContent=t.guardianContact,this.guardianFormRefs.contactError.style.display="block"),t.guardianRelationship&&(this.guardianFormRefs.relationshipError.textContent=t.guardianRelationship,this.guardianFormRefs.relationshipError.style.display="block"));return}this.store.setState({isInitiatingVerification:!0});let o=this.options.digilockerMode||"redirect",r=o==="popup"?new URL(this.options.digilockerCallbackUrl||"/digilocker-callback",window.location.origin).href:void 0;try{let i=await Je({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,guardianName:e.guardianFormData.guardianName,guardianContact:e.guardianFormData.guardianContact,guardianRelationship:e.guardianFormData.guardianRelationship,frontendCallbackUrl:r});if(i.already_verified&&i.verification_reference){this.store.setState({verificationReference:i.verification_reference,showGuardianForm:!1,showVerificationScreen:!0,isInitiatingVerification:!1,isVerificationComplete:!0}),setTimeout(()=>{this.store.setState({showVerificationScreen:!1,isVerificationComplete:!1})},1e3);return}if(Pe({flowState:"digilocker-pending",sessionToken:i.session_token,guardianInfoUuid:i.guardian_info_uuid,selectedPurposes:e.selectedPurposes,selectedDataElements:e.selectedDataElements,timestamp:new Date().toISOString(),originalUrl:window.location.href,noticeId:this.options.noticeId,baseUrl:this.options.baseUrl}),this.store.setState({showGuardianForm:!1,showVerificationScreen:!0,isInitiatingVerification:!0,isPollingStatus:!1}),o==="popup"&&i.digilocker_redirect_url){let a=window.open(i.digilocker_redirect_url,"digilocker_verification","width=600,height=700,scrollbars=yes,resizable=yes");if(a)this.verificationPopup=a,this.startPopupMonitoring(a);else{this.store.setState({isInitiatingVerification:!1,verificationError:"Popup blocked. Please allow popups for this site.",canRetryVerification:!0});return}}else if(i.digilocker_redirect_url){let a=window.open(i.digilocker_redirect_url,"_blank");if(!a){this.store.setState({isInitiatingVerification:!1,verificationError:"Unable to open DigiLocker. Please allow popups.",canRetryVerification:!0});return}try{a.opener=null}catch{}}this.store.setState({isInitiatingVerification:!1,isPollingStatus:!0}),this.startStatusPolling(i.session_token)}catch(i){this.store.setState({isInitiatingVerification:!1});let a=i;this.guardianFormRefs&&(this.guardianFormRefs.generalError.textContent=a.message||"Failed to initiate verification.",this.guardianFormRefs.generalError.style.display="block")}}startStatusPolling(e){this.verificationSessionToken=e;let t=0,o=0,r=!1,i=40,a=3,c=3e3,d=async()=>{var l;if(!r){if(t++,t>i){this.stopPolling(),this.store.setState({verificationError:"Verification is taking longer than expected. Please try again.",verificationErrorCode:"SESSION_EXPIRED",canRetryVerification:!0,isPollingStatus:!1});return}try{let u=await ye({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,sessionToken:e});if(o=0,u.status==="verified"){this.stopPolling();let p=u.verification_reference||((l=u.guardian_details)==null?void 0:l.verification_reference);if(!p){this.store.setState({verificationError:"Verification completed but no reference received. Please try again.",canRetryVerification:!0,isPollingStatus:!1});return}this.store.setState({verificationReference:p,isVerificationComplete:!0,isPollingStatus:!1}),te();return}if(u.status==="failed"||u.status==="expired"){this.stopPolling(),this.store.setState({verificationError:lt(u.error_code,u.error),verificationErrorCode:u.error_code,canRetryVerification:u.can_retry,isPollingStatus:!1});return}r||(this.statusPollTimeout=setTimeout(d,c))}catch(u){let p=u;if(p.status===404||p.status===410){this.stopPolling(),this.store.setState({verificationError:"Verification session not found or expired.",verificationErrorCode:"SESSION_EXPIRED",canRetryVerification:!0,isPollingStatus:!1});return}if(o++,o>=a){this.stopPolling(),this.store.setState({verificationError:p.message||"Unable to check verification status.",canRetryVerification:!0,isPollingStatus:!1});return}this.statusPollTimeout=setTimeout(d,c)}}};this.visibilityChangeHandler=()=>{document.hidden?(r=!0,this.statusPollTimeout&&(clearTimeout(this.statusPollTimeout),this.statusPollTimeout=null)):(r=!1,d())},document.addEventListener("visibilitychange",this.visibilityChangeHandler),this.statusPollTimeout=setTimeout(d,c)}stopPolling(){var e;this.statusPollTimeout&&(clearTimeout(this.statusPollTimeout),this.statusPollTimeout=null),this.popupCheckInterval&&(clearInterval(this.popupCheckInterval),this.popupCheckInterval=null),this.visibilityChangeHandler&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=null),(e=this.verificationPopup)==null||e.close(),this.verificationPopup=null}startPopupMonitoring(e){this.popupCheckInterval=setInterval(()=>{e.closed&&this.popupCheckInterval&&(clearInterval(this.popupCheckInterval),this.popupCheckInterval=null)},500)}handleVerificationContinue(){this.store.setState({showVerificationScreen:!1,isVerificationComplete:!1})}handleVerificationRetry(){this.store.setState({showVerificationScreen:!1,showGuardianForm:!0,verificationError:null,verificationErrorCode:null,canRetryVerification:!1,isVerificationComplete:!1})}handleChangeGuardian(){this.store.setState({showVerificationScreen:!1,showGuardianForm:!0,verificationError:null,verificationErrorCode:null,canRetryVerification:!1,isVerificationComplete:!1,guardianFormData:{guardianName:"",guardianContact:"",guardianRelationship:""}})}updateTTSButton(){var t,o,r;if(!this.ttsButton||!this.ttsManager)return;if(!this.ttsManager.isAvailable){this.ttsButton.style.display="none";return}this.ttsButton.style.display="flex",Z(this.ttsButton);let e=((r=(o=(t=this.options.settings)==null?void 0:t.button)==null?void 0:o.language)==null?void 0:r.textColor)||"currentColor";if(this.ttsManager.isPlaying){let i=R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:e,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},R("rect",{x:"6",y:"4",width:"4",height:"16"}),R("rect",{x:"14",y:"4",width:"4",height:"16"}));this.ttsButton.appendChild(i),this.ttsButton.setAttribute("aria-label","Pause audio playback"),this.ttsButton.setAttribute("title","Pause Talkback")}else{let i=R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:e,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},R("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),R("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"}));this.ttsButton.appendChild(i),this.ttsButton.setAttribute("aria-label",this.ttsManager.isPaused?"Resume audio playback":"Start audio playback"),this.ttsButton.setAttribute("title",this.ttsManager.isPaused?"Resume Talkback":"Start Talkback")}}updateButtonStates(e){var t;if(this.acceptBtn)if(e.isSubmittingAccept)this.acceptBtn.textContent="Submitting...",this.acceptBtn.disabled=!0,this.acceptBtn.style.opacity="0.7",this.acceptBtn.style.cursor="not-allowed";else{let o=(t=e.content)==null?void 0:t.detail.active_config;this.acceptBtn.textContent=e.isFullyConsentedReviewMode?this.options.reviewModeButtonText||"Continue":this.getTranslatedText("confirm_button_text",(o==null?void 0:o.confirm_button_text)||"Accept"),this.acceptBtn.disabled=!1,this.acceptBtn.style.opacity="1",this.acceptBtn.style.cursor="pointer"}this.declineBtn&&(this.declineBtn.disabled=e.isSubmitting,this.declineBtn.style.opacity=e.isSubmitting?"0.7":"1",this.declineBtn.style.cursor=e.isSubmitting?"not-allowed":"pointer")}};var W={optionItem:{display:"flex",justifyContent:"space-between",alignItems:"center",margin:0,padding:0,boxSizing:"border-box"},optionLeft:{display:"flex",gap:"12px",alignItems:"center",cursor:"pointer",margin:0,padding:0,boxSizing:"border-box"},optionTextContainer:{display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box"},optionTitle:{fontWeight:500,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",color:"#101828",margin:0,padding:0,textAlign:"left"},optionDescription:{fontWeight:400,fontSize:"12px",lineHeight:"150%",letterSpacing:"0.2px",color:"#475467",verticalAlign:"middle",margin:0,padding:0,textAlign:"left"},checkboxLarge:{height:"20px",width:"20px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},dataElementsContainer:{marginLeft:"27px",display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box",paddingLeft:"22px"},dataElementItem:{display:"flex",alignItems:"center",gap:"10px",justifyContent:"space-between",margin:0,padding:0,boxSizing:"border-box",minHeight:"24px"},dataElementText:{fontWeight:400,fontSize:"14px",lineHeight:"150%",letterSpacing:"0.2px",color:"#344054",margin:0,padding:0,textAlign:"left"},checkboxSmall:{height:"16px",width:"16px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},loadingContainer:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"2rem",minHeight:"200px",margin:0,boxSizing:"border-box"},loadingSpinner:{width:"40px",height:"40px",border:"4px solid #f3f3f3",borderTop:"4px solid #3498db",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"1rem",boxSizing:"border-box"}};function ut(n,e){var D;let{selectedPurposes:t,collapsedPurposes:o,selectedDataElements:r,settings:i,isMobile:a,getTranslatedText:c,onPurposeToggle:d,onPurposeCollapse:l,onDataElementToggle:u}=e,p=new Map,x=new Map,y=new Map,f=new Map,b=new Map,m=new Map,S=new Map,T=(i==null?void 0:i.headingColor)||"#101828",w=(i==null?void 0:i.textColor)||"#344054",M=s("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}});for(let h of n){let v=s("div"),P=R("svg",{width:"7",height:"12",viewBox:"0 0 7 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:(i==null?void 0:i.headingColor)||"#323B4B","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:o[h.uuid]?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.3s ease"},"aria-hidden":"true"},R("path",{d:"M1 1L6 6L1 11"}));f.set(h.uuid,P);let B=s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",marginLeft:"5px"}},P),C=s("h2",{style:{...W.optionTitle,fontSize:a?"14px":"16px",color:T}});C.textContent=c("purposes.name",h.name,h.uuid),b.set(h.uuid,C);let L=s("h3",{style:{...W.optionDescription,fontSize:a?"11px":"12px",color:w}});L.textContent=c("purposes.description",h.description,h.uuid),m.set(h.uuid,L);let k=s("div",{style:W.optionTextContainer},C,L),H=s("div",{style:W.optionLeft,role:"button",tabIndex:"0","aria-expanded":String(!o[h.uuid]),"aria-controls":`purpose-${h.uuid}`,"aria-label":`${o[h.uuid]?"Expand":"Collapse"} ${c("purposes.name",h.name,h.uuid)} details`,onClick:()=>l(h.uuid),onKeydown:V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),l(h.uuid))}},B,k);x.set(h.uuid,H);let A=s("input",{type:"checkbox",checked:t[h.uuid]||!1,"aria-label":`Select all data elements for ${c("purposes.name",h.name,h.uuid)}`,onChange:()=>d(h.uuid)});p.set(h.uuid,A);let N=s("div",{style:W.optionItem},H,A),O=s("div",{id:`purpose-${h.uuid}`,style:W.dataElementsContainer});if(h.data_elements&&h.data_elements.length>0)for(let V of h.data_elements){let z=`${h.uuid}-${V.uuid}`,j=s("span",{style:{...W.dataElementText,fontSize:a?"12px":"14px",color:w}});if(j.textContent=c("data_elements.name",V.name,V.uuid),S.set(z,j),V.required){let _=s("span",{style:{color:"red",marginLeft:"4px"},"aria-label":"required"});_.textContent="*",j.appendChild(_)}let G=s("input",{type:"checkbox",checked:r[z]||!1,"aria-label":`Select ${c("data_elements.name",V.name,V.uuid)}${V.required?" (required)":""}`,onChange:()=>u(V.uuid,h.uuid)});p.set(z,G);let E=s("div",{style:W.dataElementItem},j,G);O.appendChild(E)}y.set(h.uuid,O),!o[h.uuid]&&((D=h.data_elements)==null?void 0:D.length)>0?O.style.display="flex":O.style.display="none",v.appendChild(N),v.appendChild(O),M.appendChild(v)}return{container:M,checkboxes:p,collapseButtons:x,dataElementContainers:y,chevrons:f,titleElements:b,descriptionElements:m,dataElementLabels:S}}var ve=class{constructor(e){this.targetEl=null;this.hostEl=null;this.shadowRoot=null;this.rootEl=null;this.purposeRefs=null;this.errorEl=null;this.hasSubmitted=!1;this.hasCheckedLedgerConsent=!1;this.unsubscribe=null;this.abortController=null;this.options=e,this.store=new re({content:null,isLoading:!0,isSubmitting:!1,selectedLanguage:e.language||"en",collapsedPurposes:{},selectedPurposes:{},selectedDataElements:{},hasAlreadyConsented:!1,isCheckingConsent:!1,fetchError:null,errorMessage:null}),this.mediaQuery=fe("(max-width: 768px)")}async init(){if(this.abortController=new AbortController,typeof this.options.target=="string"){if(this.targetEl=document.querySelector(this.options.target),!this.targetEl)throw new Error(`Target element not found: ${this.options.target}`)}else this.targetEl=this.options.target;this.hostEl=document.createElement("div"),this.hostEl.setAttribute("data-redacto-consent-inline",""),this.hostEl.style.display="block",this.targetEl.appendChild(this.hostEl),this.shadowRoot=this.hostEl.attachShadow({mode:"open"}),ae(this.shadowRoot),this.unsubscribe=this.store.subscribe((e,t)=>{this.handleStateChange(e,t)}),this.mediaQuery.subscribe(()=>this.rebuildUI()),this.renderLoading(),await this.fetchNotice()}destroy(){var e,t;(e=this.abortController)==null||e.abort(),(t=this.unsubscribe)==null||t.call(this),this.mediaQuery.destroy(),this.store.destroy(),this.hostEl&&this.hostEl.parentNode&&this.hostEl.parentNode.removeChild(this.hostEl),this.hostEl=null,this.shadowRoot=null,this.rootEl=null,this.purposeRefs=null}updateToken(e){if(this.options={...this.options,accessToken:e},this.shouldCheckLedgerConsent()){this.checkLedgerConsent();return}this.tryAutoSubmit()}isDestroyed(){var e;return!!((e=this.abortController)!=null&&e.signal.aborted)}async fetchNotice(){var e,t,o,r;this.store.setState({isLoading:!0,fetchError:null});try{let i=await We({org_uuid:this.options.org_uuid,workspace_uuid:this.options.workspace_uuid,notice_uuid:this.options.notice_uuid,baseUrl:this.options.baseUrl,language:this.options.language,specific_uuid:this.options.applicationId});if(this.isDestroyed())return;let a=i.detail.active_config,c={},d={},l={};for(let u of a.purposes){c[u.uuid]=!0,d[u.uuid]=!1;for(let p of u.data_elements)l[`${u.uuid}-${p.uuid}`]=!1}this.checkLedgerConsent(),this.store.setState({content:a,isLoading:!1,selectedLanguage:a.default_language||this.options.language||"en",collapsedPurposes:c,selectedPurposes:d,selectedDataElements:l})}catch(i){if(this.isDestroyed())return;let a=i;a.status===409?(this.store.setState({hasAlreadyConsented:!0,isLoading:!1}),(t=(e=this.options).onAccept)==null||t.call(e)):(this.store.setState({fetchError:a,isLoading:!1}),(r=(o=this.options).onError)==null||r.call(o,a))}}shouldCheckLedgerConsent(){return!!this.options.ledgerBaseUrl&&!this.options.applicationId&&!!this.options.accessToken&&!this.hasCheckedLedgerConsent}async checkLedgerConsent(){var e,t,o;if(this.shouldCheckLedgerConsent()){this.hasCheckedLedgerConsent=!0,this.store.setState({isCheckingConsent:!0});try{let r=await Ee({accessToken:this.options.accessToken,ledgerBaseUrl:this.options.ledgerBaseUrl,organisationUuid:this.options.org_uuid,workspaceUuid:this.options.workspace_uuid,noticeUuid:this.options.notice_uuid,signal:(e=this.abortController)==null?void 0:e.signal});if(this.isDestroyed())return;r&&Ze(r)&&(this.store.setState({hasAlreadyConsented:!0}),(o=(t=this.options).onAccept)==null||o.call(t))}finally{this.isDestroyed()||(this.store.setState({isCheckingConsent:!1}),this.tryAutoSubmit())}}}handleStateChange(e,t){if(t.isLoading&&!e.isLoading&&e.content&&this.rebuildUI(),e.hasAlreadyConsented||e.fetchError){this.rootEl&&this.shadowRoot&&this.rootEl.parentNode===this.shadowRoot&&(this.shadowRoot.removeChild(this.rootEl),this.rootEl=null);return}(e.selectedPurposes!==t.selectedPurposes||e.selectedDataElements!==t.selectedDataElements)&&(this.updateCheckboxes(e),this.notifyValidation(e),this.tryAutoSubmit()),e.collapsedPurposes!==t.collapsedPurposes&&this.updateCollapseState(e),e.errorMessage!==t.errorMessage&&this.updateErrorMessage(e)}renderLoading(){var t;if(!this.shadowRoot)return;let e=((t=this.options.settings)==null?void 0:t.textColor)||"#344054";this.rootEl=s("div",{style:W.loadingContainer},s("div",{style:W.loadingSpinner}),s("p",{style:{fontSize:"16px",fontWeight:400,color:e}},"Loading...")),this.shadowRoot.appendChild(this.rootEl)}rebuildUI(){let e=this.store.getState();!e.content||!this.shadowRoot||(this.rootEl&&this.rootEl.parentNode===this.shadowRoot&&this.shadowRoot.removeChild(this.rootEl),this.errorEl=s("div",{role:"alert",style:{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"12px",borderRadius:"6px",fontSize:"14px",border:"1px solid #FCA5A5",display:e.errorMessage?"block":"none"}}),e.errorMessage&&(this.errorEl.textContent=e.errorMessage),this.purposeRefs=ut(e.content.purposes,{selectedPurposes:e.selectedPurposes,collapsedPurposes:e.collapsedPurposes,selectedDataElements:e.selectedDataElements,settings:this.options.settings,isMobile:this.mediaQuery.matches,getTranslatedText:(t,o,r)=>this.getTranslatedText(t,o,r),onPurposeToggle:t=>this.handlePurposeCheckboxChange(t),onPurposeCollapse:t=>this.togglePurposeCollapse(t),onDataElementToggle:(t,o)=>this.handleDataElementCheckboxChange(t,o)}),this.rootEl=s("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},this.errorEl,this.purposeRefs.container),this.shadowRoot.appendChild(this.rootEl),this.notifyValidation(e))}getTranslatedText(e,t,o){var u,p;let r=this.store.getState(),i=r.content;if(!i)return t;let a=r.selectedLanguage;if(a==="English"||a==="en"||a==="EN")return e==="privacy_policy_anchor_text"&&i.privacy_policy_anchor_text?i.privacy_policy_anchor_text:t;let c=i.supported_languages_and_translations;if(!c)return t;let d=c[a];if(!d)return t;if(o){if(e==="purposes.name"||e==="purposes.description"){let x=(u=d.purposes)==null?void 0:u[o];return x?typeof x=="string"?e==="purposes.name"?x:t:e==="purposes.name"?x.name||t:x.description||t:t}if(e.startsWith("data_elements."))return((p=d.data_elements)==null?void 0:p[o])||t}let l=d[e];return typeof l=="string"&&l?l:t}togglePurposeCollapse(e){let t=this.store.getState();this.store.setState({collapsedPurposes:{...t.collapsedPurposes,[e]:!t.collapsedPurposes[e]}})}handlePurposeCheckboxChange(e){let t=this.store.getState(),o=t.content;if(!o)return;let r=o.purposes.find(c=>c.uuid===e);if(!r)return;let i=!t.selectedPurposes[e],a={...t.selectedDataElements};for(let c of r.data_elements)a[`${e}-${c.uuid}`]=i;this.store.setState({selectedPurposes:{...t.selectedPurposes,[e]:i},selectedDataElements:a})}handleDataElementCheckboxChange(e,t){let o=this.store.getState(),r=o.content;if(!r)return;let i=r.purposes.find(p=>p.uuid===t);if(!i)return;let a=`${t}-${e}`,c=!o.selectedDataElements[a],d={...o.selectedDataElements,[a]:c},l=i.data_elements.filter(p=>p.required),u;l.length>0?u=l.every(p=>d[`${t}-${p.uuid}`]):u=i.data_elements.some(p=>d[`${t}-${p.uuid}`]),this.store.setState({selectedDataElements:d,selectedPurposes:{...o.selectedPurposes,[t]:u}})}updateCheckboxes(e){if(this.purposeRefs)for(let[t,o]of this.purposeRefs.checkboxes)t in e.selectedPurposes?o.checked=e.selectedPurposes[t]||!1:o.checked=e.selectedDataElements[t]||!1}updateCollapseState(e){var t;if(this.purposeRefs)for(let[o,r]of this.purposeRefs.dataElementContainers){let i=this.store.getState().content,a=i==null?void 0:i.purposes.find(u=>u.uuid===o),c=e.collapsedPurposes[o];r.style.display=!c&&((t=a==null?void 0:a.data_elements)!=null&&t.length)?"flex":"none";let d=this.purposeRefs.chevrons.get(o);d&&(d.style.transform=c?"rotate(0deg)":"rotate(90deg)");let l=this.purposeRefs.collapseButtons.get(o);l&&l.setAttribute("aria-expanded",String(!c))}}updateErrorMessage(e){this.errorEl&&(e.errorMessage?(this.errorEl.textContent=e.errorMessage,this.errorEl.style.display="block"):this.errorEl.style.display="none")}areAllRequiredElementsChecked(){let e=this.store.getState(),t=e.content;return t?t.purposes.every(o=>o.data_elements.filter(i=>i.required).every(i=>e.selectedDataElements[`${o.uuid}-${i.uuid}`])):!1}notifyValidation(e){var o,r;let t=this.areAllRequiredElementsChecked();(r=(o=this.options).onValidationChange)==null||r.call(o,t)}async tryAutoSubmit(){var o,r;if(this.isDestroyed())return;let e=this.store.getState(),t=this.options.accessToken;if(t&&e.content&&this.areAllRequiredElementsChecked()&&!e.isSubmitting&&!e.isCheckingConsent&&!e.hasAlreadyConsented&&!this.hasSubmitted){this.hasSubmitted=!0;try{await this.handleSubmit(t)}catch(i){this.hasSubmitted=!1,(r=(o=this.options).onError)==null||r.call(o,i)}}}async handleSubmit(e){var r,i;let t=this.store.getState(),o=t.content;if(!e||!o)throw this.store.setState({errorMessage:"Unable to submit consent. Please try again."}),new Error("Access token or content not available");try{this.store.setState({isSubmitting:!0,errorMessage:null}),await Qe({org_uuid:this.options.org_uuid,workspace_uuid:this.options.workspace_uuid,accessToken:e,baseUrl:this.options.baseUrl,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:o.notice_uuid,purposes:o.purposes.map(a=>{let c=a.data_elements.some(u=>u.required&&(t.selectedDataElements[`${a.uuid}-${u.uuid}`]||!1)),d=a.data_elements.some(u=>t.selectedDataElements[`${a.uuid}-${u.uuid}`]||!1),l=t.selectedPurposes[a.uuid]||c||d;return{...a,selected:l,data_elements:a.data_elements.map(u=>({...u,selected:t.selectedDataElements[`${a.uuid}-${u.uuid}`]||!1}))}}),declined:!1,meta_data:this.options.applicationId?{specific_uuid:this.options.applicationId}:void 0}),(i=(r=this.options).onAccept)==null||i.call(r),this.hasSubmitted=!1}catch(a){let c=a,d=c.status===500?"An error occurred while submitting your consent. Please try again later.":c.message||"Failed to submit consent. Please try again.";throw this.store.setState({errorMessage:d}),this.hasSubmitted=!1,a}finally{this.store.setState({isSubmitting:!1})}}};function pt(n){switch(n){case"GUARDIAN_UNDER_18":return"Guardian verification failed: The guardian must be 18 years or older.";case"SESSION_EXPIRED":return"Verification session has expired. Please restart the verification process.";case"TOKEN_FAILED":return"DigiLocker authentication failed. Please try again.";case"DIGILOCKER_AUTH_FAILED":return"DigiLocker authorization was cancelled or failed. Please try again.";case"NO_AUTH_CODE":return"Missing authorization code from DigiLocker. Please try again.";default:return"Verification failed. Please try again."}}function ht(n){var M,D,h;ae(document);let e=new URLSearchParams(window.location.search),t=e.get("session_token"),o=e.get("status"),r=e.get("verification_reference"),i=e.get("error_code"),a=de(),c=(a==null?void 0:a.originalUrl)||"/",d=a==null?void 0:a.baseUrl,l=a==null?void 0:a.sessionToken,u=t||l,p=n.baseUrl||d,x=!1;try{x=window.self!==window.top}catch{x=!0}let y=s("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"200px",padding:"32px",fontFamily:"system-ui, -apple-system, sans-serif"}}),f=s("p",{style:{fontSize:"16px",fontWeight:600,color:"#101828",textAlign:"center"}});f.textContent="Processing verification...";let b=s("div",{style:{width:"40px",height:"40px",border:"4px solid #f3f3f3",borderTop:"4px solid #3498db",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"16px"}});y.appendChild(b),y.appendChild(f),document.body.appendChild(y);let m=(v,P)=>{nt({verificationResult:v,verificationReference:P,flowState:v==="verified"?"consent-form":"error"}),f.textContent=v==="verified"?"Verification successful! Redirecting...":"Verification failed. Redirecting...",b.style.display="none",setTimeout(()=>{window.location.href=c},1500)};if(o==="verified"&&r){if(x&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:"verified",verificationReference:r},window.location.origin),f.textContent="Verification successful!",b.style.display="none";return}(M=n.onSuccess)==null||M.call(n,r),m("verified",r);return}if(o==="failed"||o==="expired"){let v=pt(i);if(x&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:o,errorCode:i,error:v},window.location.origin),f.textContent=v,f.style.color="#DC2626",b.style.display="none";return}(D=n.onError)==null||D.call(n,new Error(v),i||void 0),m(o);return}if(!u){f.textContent="No verification session found.",f.style.color="#DC2626",b.style.display="none",(h=n.onError)==null||h.call(n,new Error("No session token available"));return}let S=0,T=3,w=async()=>{var v,P,B,C,L;try{let k=await ye({accessToken:n.accessToken,baseUrl:p,sessionToken:u});if(k.status==="verified"){let A=k.verification_reference||((v=k.guardian_details)==null?void 0:v.verification_reference);if(x&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:"verified",verificationReference:A},window.location.origin),f.textContent="Verification successful!",b.style.display="none";return}A&&((P=n.onSuccess)==null||P.call(n,A)),m("verified",A||void 0);return}if(k.status==="failed"||k.status==="expired"){let A=Lt(k.error_code,k.error);if(x&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:k.status,errorCode:k.error_code,error:A},window.location.origin),f.textContent=A,f.style.color="#DC2626",b.style.display="none";return}(B=n.onError)==null||B.call(n,new Error(A),k.error_code||void 0),m(k.status);return}if(S++,S>T){let A="Verification is taking too long. Please return to the original page.";f.textContent=A,f.style.color="#DC2626",b.style.display="none",(C=n.onError)==null||C.call(n,new Error(A)),m("failed");return}let H=3e3*Math.pow(2,S-1);f.textContent="Still processing... Please wait.",setTimeout(w,H)}catch(k){if(S++,S>T){let A=k.message||"Failed to check verification status.";f.textContent=A,f.style.color="#DC2626",b.style.display="none",(L=n.onError)==null||L.call(n,k),m("failed");return}let H=3e3*Math.pow(2,S-1);setTimeout(w,H)}};setTimeout(w,3e3)}function Lt(n,e){return pt(n)||e||"Verification failed. Please try again."}var ce=null,J=null;function gt(n){Ae(),ce=new xe(n),ce.init().catch(e=>{var t;(t=n.onError)==null||t.call(n,e)})}function ft(n){J&&(J.destroy(),J=null),J=new ve(n),J.init().catch(e=>{var t;(t=n.onError)==null||t.call(n,e)})}function Ae(){ce&&(ce.destroy(),ce=null),J&&(J.destroy(),J=null)}function mt(n){ht(n)}var Dt={init:gt,inline:ft,destroy:Ae,digilockerCallback:mt,version:"0.1.0"},Bt=Dt;return kt(Ft);})();
|
|
131
|
+
`,se=n=>{if(typeof document=="undefined"||(n instanceof Document?n.getElementById(Ue):n.querySelector(`#${Ue}`)))return;let t=document.createElement("style");t.id=Ue,t.textContent=io,n instanceof Document?n.head.appendChild(t):n.appendChild(t)};var g={overlay:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:999,animation:"overlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1)",pointerEvents:"all",margin:0,padding:0,boxSizing:"border-box"},modal:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"700px",borderRadius:"8px",backgroundColor:"#ffffff",boxShadow:"4px 0px 4px 0px #00000040",border:"none",display:"flex",flexDirection:"column",maxHeight:"90vh",zIndex:1e3,margin:0,padding:0,boxSizing:"border-box",textAlign:"left",fontFamily:"inherit"},content:{margin:"22px",display:"flex",flexDirection:"column",flexGrow:1,overflow:"hidden",minHeight:0,boxSizing:"border-box",textAlign:"left"},topSection:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"10px",paddingBottom:"15px",borderBottom:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box",textAlign:"left"},topLeft:{display:"flex",alignItems:"center",gap:"10px",flex:"1 1 0",minWidth:0,margin:0,padding:0,boxSizing:"border-box"},headerStack:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:"10px",paddingBottom:"15px",borderBottom:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box",textAlign:"left"},logoRow:{display:"flex",alignItems:"center",width:"100%",margin:0,padding:0,boxSizing:"border-box"},headerRow:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",width:"100%",margin:0,padding:0,boxSizing:"border-box"},logo:{height:"32px",width:"auto",maxWidth:"140px",objectFit:"contain",flexShrink:0,margin:0,padding:0,display:"block"},title:{fontSize:"18px",fontWeight:700,lineHeight:"150%",letterSpacing:"0.2px",verticalAlign:"middle",color:"#101828",flex:"1 1 auto",minWidth:0,wordBreak:"normal",overflowWrap:"anywhere",margin:0,padding:0,textAlign:"left"},topRight:{borderRadius:"8px",padding:"3px 9px",border:"1px solid #d0d5dd",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,fontWeight:400,fontSize:"12px",lineHeight:"150%",letterSpacing:"0.2px",verticalAlign:"middle",color:"#344054",gap:"5px",margin:0,boxSizing:"border-box",textAlign:"left",cursor:"pointer",backgroundColor:"#ffffff"},middleSection:{margin:"0px",display:"flex",flexDirection:"column",gap:"12px",flexGrow:1,overflowY:"auto",minHeight:0,paddingRight:"15px",boxSizing:"border-box",textAlign:"left"},privacyText:{fontSize:"16px",fontWeight:400,lineHeight:"150%",color:"#344054",margin:0,padding:0,textAlign:"left"},link:{color:"#4f87ff",textDecoration:"none",margin:0,padding:0,boxSizing:"border-box"},subTitle:{fontWeight:600,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",color:"#101828",margin:0,padding:0,textAlign:"left"},optionsContainer:{display:"flex",flexDirection:"column",gap:"10px",margin:0,padding:0,boxSizing:"border-box"},optionItem:{display:"flex",justifyContent:"space-between",alignItems:"center",margin:0,padding:0,boxSizing:"border-box"},optionLeft:{display:"flex",gap:"12px",alignItems:"center",cursor:"pointer",margin:0,padding:0,boxSizing:"border-box"},optionTextContainer:{display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box"},optionTitle:{fontWeight:500,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",color:"#101828",margin:0,padding:0,textAlign:"left"},optionDescription:{fontWeight:400,fontSize:"12px",lineHeight:"150%",letterSpacing:"0.2px",color:"#475467",verticalAlign:"middle",margin:0,padding:0,textAlign:"left"},checkboxLarge:{height:"20px",width:"20px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},dataElementsContainer:{marginLeft:"27px",display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box",paddingLeft:"22px"},dataElementItem:{display:"flex",alignItems:"center",gap:"10px",justifyContent:"space-between",margin:0,padding:0,boxSizing:"border-box",minHeight:"24px"},dataElementText:{fontWeight:400,fontSize:"14px",lineHeight:"150%",letterSpacing:"0.2px",color:"#344054",margin:0,padding:0,textAlign:"left"},checkboxSmall:{height:"16px",width:"16px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},bottomSection:{display:"flex",justifyContent:"space-between",gap:"29px",paddingTop:"15px",borderTop:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box"},actionButtonRow:{display:"flex",flexDirection:"row",alignItems:"center",gap:"12px",paddingTop:"15px",borderTop:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box"},actionButtonStack:{display:"flex",flexDirection:"column",gap:"12px",paddingTop:"15px",borderTop:"none",backgroundColor:"#ffffff",margin:0,boxSizing:"border-box"},button:{width:"100%",borderRadius:"8px",padding:"9px 45px",fontWeight:400,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",cursor:"pointer",margin:0,boxSizing:"border-box",textAlign:"center"},acceptButton:{backgroundColor:"#4f87ff",border:"none",color:"#ffffff"},cancelButton:{border:"1px solid #d0d5dd",backgroundColor:"#ffffff",color:"#000000"},languageSelectorContainer:{position:"relative",flexShrink:0,margin:0,padding:0,boxSizing:"border-box"},languageDropdown:{position:"absolute",top:"100%",right:0,backgroundColor:"#ffffff",border:"1px solid #d0d5dd",borderRadius:"4px",boxShadow:"0px 2px 4px rgba(0, 0, 0, 0.1)",zIndex:10,width:"max-content",maxHeight:"200px",overflowY:"auto",marginTop:"4px",padding:0,boxSizing:"border-box",textAlign:"left"},languageItem:{padding:"8px 12px",cursor:"pointer",fontSize:"12px",color:"#344054",backgroundColor:"#ffffff",borderBottom:"1px solid #e5e7eb",margin:0,boxSizing:"border-box",textAlign:"left"},selectedLanguageItem:{backgroundColor:"#f3f4f6",fontWeight:600},loadingContainer:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"2rem",minHeight:"200px",margin:0,boxSizing:"border-box"},loadingSpinner:{width:"40px",height:"40px",border:"4px solid #f3f3f3",borderTop:"4px solid #3498db",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"1rem",boxSizing:"border-box"}};var mt="left",Fe="Accept All",He="Accept Selected",bt="Decline",Se="accept-all-button-text",we="confirm-button-text",_e="decline-button-text",xt="Submitting...",yt={left:"flex-start",center:"center",right:"flex-end"},Ct="*",vt="required",ro="red",ao="4px",Et={color:ro,marginLeft:ao},St=[{audioKey:"grievance_text_audio_url",elementId:"dpo-grievance-text"},{audioKey:"grievance_anchor_text_audio_url",elementId:"dpo-grievance-link"},{audioKey:"grievance_email_connector_text_audio_url",elementId:"dpo-grievance-email-connector"},{audioKey:"grievance_email_audio_url",elementId:"dpo-grievance-email"},{audioKey:"dp_board_text_audio_url",elementId:"dpo-dp-board-text"},{audioKey:"dp_board_anchor_text_audio_url",elementId:"dpo-dp-board-link"},{audioKey:"dpo_text_audio_url",elementId:"dpo-dpo-text"},{audioKey:"dpo_anchor_text_audio_url",elementId:"dpo-dpo-link"}];function le(n=vt){return s("span",{style:Et,"aria-label":n},Ct)}function ke(n){return n.data_elements.some(e=>e.required)}function Ne(n,e){var w,B;let{selectedPurposes:t,collapsedPurposes:o,selectedDataElements:r,initialDataElementSelections:i={},settings:a,isMobile:u,isAlreadyConsented:d,getTranslatedText:l,onPurposeToggle:p,onPurposeCollapse:c,onDataElementToggle:f}=e,b=new Map,y=new Map,m=new Map,v=new Map,E=new Map,k=new Map,S=new Map,T=(a==null?void 0:a.headingColor)||"#323B4B",L=(a==null?void 0:a.textColor)||"#344054",x=(a==null?void 0:a.font)||"inherit",h=s("div",{style:g.optionsContainer});for(let C of n){let U=s("div"),_=A("svg",{width:"7",height:"12",viewBox:"0 0 7 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:T,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:o[C.uuid]?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.3s ease"},"aria-hidden":"true"},A("path",{d:"M1 1L6 6L1 11"}));v.set(C.uuid,_);let O=s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",marginLeft:"5px"}},_),M=s("h2",{id:`purpose-name-${C.uuid}`,style:{...g.optionTitle,fontSize:u?"14px":"16px",color:T,fontFamily:x}});M.textContent=l("purposes.name",C.name,C.uuid),ke(C)&&M.appendChild(le()),E.set(C.uuid,M);let H=s("h3",{id:`purpose-description-${C.uuid}`,style:{...g.optionDescription,fontSize:u?"11px":"12px",color:L,fontFamily:x}});H.textContent=l("purposes.description",C.description,C.uuid),k.set(C.uuid,H);let q=s("div",{style:g.optionTextContainer},M,H),V=s("div",{style:g.optionLeft,role:"button",tabIndex:"0","aria-expanded":String(!o[C.uuid]),"aria-controls":`purpose-${C.uuid}`,"aria-label":`${o[C.uuid]?"Expand":"Collapse"} ${l("purposes.name",C.name,C.uuid)} details`,onClick:()=>c(C.uuid),onKeydown:D=>{(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),c(C.uuid))}},O,q);y.set(C.uuid,V);let z;if(d)z=wt(20,`Already consented to ${l("purposes.name",C.name,C.uuid)}`),me(z,{marginLeft:"12px"});else{let D=s("input",{className:"redacto-checkbox-large",type:"checkbox",checked:t[C.uuid]||!1,"aria-label":`Select all data elements for ${l("purposes.name",C.name,C.uuid)}`,onChange:()=>p(C.uuid)});b.set(C.uuid,D),z=D}let j=s("div",{style:g.optionItem},V,z),G=s("div",{id:`purpose-${C.uuid}`,style:g.dataElementsContainer});if(((w=C.data_elements)==null?void 0:w.length)>0)for(let D of C.data_elements){let X=`${C.uuid}-${D.uuid}`,K=s("span",{id:`data-element-${C.uuid}-${D.uuid}`,style:{...g.dataElementText,fontSize:u?"12px":"14px",color:L,fontFamily:x}});K.textContent=l("data_elements.name",D.name,D.uuid),S.set(X,K),D.required&&K.appendChild(le());let Q;if(d)i[X]||!1?Q=wt(16,`Consented to ${l("data_elements.name",D.name,D.uuid)}`):Q=s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",border:"2px solid #d0d5dd",backgroundColor:"transparent"},"aria-label":`Not consented to ${l("data_elements.name",D.name,D.uuid)}`});else{let R=s("input",{className:"redacto-checkbox-small",type:"checkbox",checked:r[X]||!1,"aria-label":`Select ${l("data_elements.name",D.name,D.uuid)}${D.required?" (required)":""}`,onChange:()=>f(D.uuid,C.uuid)});b.set(X,R),Q=R}let I=s("div",{style:g.dataElementItem},K,Q);G.appendChild(I)}m.set(C.uuid,G),G.style.display=!o[C.uuid]&&((B=C.data_elements)==null?void 0:B.length)>0?"flex":"none",U.appendChild(j),U.appendChild(G),h.appendChild(U)}return{container:h,checkboxes:b,collapseButtons:y,dataElementContainers:m,chevrons:v,titleElements:E,descriptionElements:k,dataElementLabels:S}}function wt(n,e){let t=n===20?12:10,o=n===20?"2":"1.5",r=n===20?"M4 6L5.5 7.5L8.5 4.5":"M3 5L4.5 6.5L7.5 3.5",i=A("svg",{width:String(t),height:String(t),viewBox:`0 0 ${t} ${t}`,fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},A("path",{d:r,stroke:"white","stroke-width":o,"stroke-linecap":"round","stroke-linejoin":"round"}));return s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:`${n}px`,height:`${n}px`,borderRadius:"50%",backgroundColor:"#10B981"},"aria-label":e},i)}var so={English:"English",Assamese:"\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE (Assamese)",Bengali:"\u09AC\u09BE\u0982\u09B2\u09BE (Bengali)",Bodo:"\u092C\u0921\u093C\u094B (Bodo)",Dogri:"\u0921\u094B\u0917\u0930\u0940 (Dogri)","Goan Konkani":"\u0915\u094B\u0902\u0915\u0923\u0940 (Goan Konkani)",Gujarati:"\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0 (Gujarati)",Hindi:"\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)",Kannada:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1 (Kannada)",Kashmiri:"\u0643\u0672\u0634\u064F\u0631 (Kashmiri)",Maithili:"\u092E\u0948\u0925\u093F\u0932\u0940 (Maithili)",Malayalam:"\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02 (Malayalam)",Manipuri:"\uABC3\uABE9\uABC7\uABE9\uABC2\uABE3\uABDF (Manipuri)",Marathi:"\u092E\u0930\u093E\u0920\u0940 (Marathi)",Nepali:"\u0928\u0947\u092A\u093E\u0932\u0940 (Nepali)",Odia:"\u0B13\u0B21\u0B3C\u0B3F\u0B06 (Odia)",Punjabi:"\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40 (Punjabi)",Sanskrit:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D (Sanskrit)",Santali:"\u1C65\u1C5F\u1C71\u1C5B\u1C5F\u1C72\u1C64 (Santali)",Sindhi:"\u0633\u0646\u068C\u064A (Sindhi)",Tamil:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD (Tamil)",Telugu:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41 (Telugu)",Urdu:"\u0627\u0631\u062F\u0648 (Urdu)"},Oe=n=>{var e;return(e=so[n])!=null?e:n};function _t(n){var S,T,L,x;let{languages:e,selectedLanguage:t,settings:o,onSelect:r,dropdownContainer:i}=n,a=!1,u=s("span");u.textContent=Oe(t);let d=A("svg",{width:"8",height:"5",viewBox:"0 0 8 5",fill:"none",xmlns:"http://www.w3.org/2000/svg"},A("path",{d:"M1 1L4 4L7 1",stroke:((T=(S=o==null?void 0:o.button)==null?void 0:S.language)==null?void 0:T.textColor)||"#344054","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),l={...g.topRight};(L=o==null?void 0:o.button)!=null&&L.language&&(l.backgroundColor=o.button.language.backgroundColor,l.color=o.button.language.textColor);let p=s("div",{style:l,role:"button",tabIndex:"0","aria-haspopup":"listbox","aria-expanded":"false","aria-label":`Language selector, current: ${Oe(t)}`,onClick:()=>v(),onKeydown:h=>{h.key==="Enter"||h.key===" "?(h.preventDefault(),v()):h.key==="Escape"&&k()}},u,d),c=s("div",{style:{position:"fixed",backgroundColor:"#ffffff",border:"1px solid #d0d5dd",borderRadius:"4px",boxShadow:"0px 4px 12px rgba(0, 0, 0, 0.15)",zIndex:2147483647,minWidth:"140px",maxHeight:"200px",overflowY:"auto",padding:0,boxSizing:"border-box",textAlign:"left",display:"none"},role:"listbox","aria-label":"Select language"});for(let h of e){let w=h===t,B=w?{...g.languageItem,...g.selectedLanguageItem}:{...g.languageItem};(x=o==null?void 0:o.button)!=null&&x.language&&(w&&o.button.language.selectedBackgroundColor&&(B.backgroundColor=o.button.language.selectedBackgroundColor),w&&o.button.language.selectedTextColor&&(B.color=o.button.language.selectedTextColor));let C=s("div",{style:B,role:"option","aria-selected":String(w),onClick:()=>{r(h),k()},onMouseenter:U=>{U.target.style.backgroundColor="#f3f4f6"},onMouseleave:U=>{U.target.style.backgroundColor=w?"#f3f4f6":"#ffffff"}});C.textContent=Oe(h),c.appendChild(C)}let f=s("div",{style:g.languageSelectorContainer},p);i.appendChild(c);function b(){let h=p.getBoundingClientRect();c.style.top=`${h.bottom+4}px`,c.style.right=`${window.innerWidth-h.right}px`,c.style.left="auto"}let y=h=>{var B,C;let w=(C=(B=h.composedPath)==null?void 0:B.call(h))!=null?C:[];if(!(w.includes(f)||w.includes(c))){if(w.length===0){let U=h.target;if(f.contains(U)||c.contains(U))return}k()}},m=()=>{a&&b()};function v(){a?k():E()}function E(){a=!0,b(),c.style.display="block",p.setAttribute("aria-expanded","true"),setTimeout(()=>{document.addEventListener("click",y)},0),window.addEventListener("scroll",m,!0),window.addEventListener("resize",m)}function k(){a=!1,c.style.display="none",p.setAttribute("aria-expanded","false"),document.removeEventListener("click",y),window.removeEventListener("scroll",m,!0),window.removeEventListener("resize",m)}return{container:f,button:p,dropdown:c,buttonText:u}}function ue(n,e){let t=o=>{var r;if(o.key==="Escape"){o.preventDefault(),e();return}if(o.key==="Tab"){let i=n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),a=Array.from(i).filter(c=>!c.hasAttribute("disabled")&&c.offsetParent!==null);if(a.length===0){o.preventDefault();return}let u=a[0],d=a[a.length-1],p=(r=n.getRootNode().activeElement)!=null?r:document.activeElement;o.shiftKey?p===u&&(o.preventDefault(),d.focus()):p===d&&(o.preventDefault(),u.focus())}};return document.addEventListener("keydown",t),requestAnimationFrame(()=>{let o=n.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');o==null||o.focus()}),()=>{document.removeEventListener("keydown",t)}}var Ve="redacto_consent_sdk_state";var $e=()=>typeof window!="undefined"&&typeof window.sessionStorage!="undefined",ze=n=>{if(!$e()){console.warn("SessionStorage not available - state not persisted");return}try{let e={...n,timestamp:new Date().toISOString()};sessionStorage.setItem(Ve,JSON.stringify(e))}catch(e){console.error("Failed to save consent state:",e)}},pe=()=>{if(!$e())return null;try{let n=sessionStorage.getItem(Ve);if(!n)return null;let e=JSON.parse(n);return Date.now()-new Date(e.timestamp).getTime()>18e5?(oe(),null):e}catch(n){return console.error("Failed to get consent state:",n),null}},oe=()=>{if($e())try{sessionStorage.removeItem(Ve)}catch(n){console.error("Failed to clear consent state:",n)}},kt=n=>{let e=pe();e&&ze({...e,...n,timestamp:new Date().toISOString()})};var Te=class{constructor(e,t){this.audioUrls=null;this.audioSequence=[];this.elementIdSequence=[];this.currentAudio=null;this.currentIndex=0;this._isPlaying=!1;this._isPaused=!1;this._isAvailable=!1;this.highlightedElementId=null;this.abortController=null;this.onStateChange=e,this.root=t}get isPlaying(){return this._isPlaying}get isPaused(){return this._isPaused}get isAvailable(){return this._isAvailable}async fetchAudioUrls(e){var t;this.stopInternal(),this._isAvailable=!1,this.audioUrls=null,this.audioSequence=[],this.elementIdSequence=[],this.onStateChange(),(t=this.abortController)==null||t.abort(),this.abortController=new AbortController;try{let o=await ut({accessToken:e.accessToken,baseUrl:e.baseUrl,ledgerBaseUrl:e.ledgerBaseUrl,noticeUuid:e.noticeUuid,language:e.language,signal:this.abortController.signal,token:e.token,sandboxUcic:e.sandboxUcic,sandboxEmail:e.sandboxEmail,sandboxMobile:e.sandboxMobile,organisationUuid:e.organisationUuid,workspaceUuid:e.workspaceUuid});this.audioUrls=o.detail,this.buildSequences(e.content),this._isAvailable=this.audioSequence.length>0,this.onStateChange()}catch(o){o.name!=="AbortError"&&(this._isAvailable=!1,this.audioUrls=null,this.audioSequence=[],this.elementIdSequence=[],this.onStateChange())}}buildSequences(e){var a,u;if(!this.audioUrls)return;let t=this.audioUrls,o=[],r=[],i=(d,l)=>{d&&(o.push(d),r.push(l))};i(t.notice_banner_heading_audio_url,"privacy-notice-title"),i(t.notice_text_audio_url,"privacy-notice-text"),i(t.privacy_policy_prefix_text_audio_url,"privacy-policy-text"),i(t.privacy_policy_anchor_text_audio_url,"privacy-policy-link"),i(t.purpose_section_heading_audio_url,"purpose-section-heading");for(let d of e.purposes){let l=(a=t.purposes_audio)==null?void 0:a[d.uuid];l&&(i(l.name_audio_url,`purpose-name-${d.uuid}`),i(l.description_audio_url,`purpose-description-${d.uuid}`));for(let p of d.data_elements){let c=(u=t.data_elements_audio)==null?void 0:u[p.uuid];c&&i(c.name_audio_url,`data-element-${d.uuid}-${p.uuid}`)}}if(i(t.additional_text_audio_url,"additional-text"),i(t.privacy_center_anchor_text_audio_url,"privacy-center-link"),t.dpo_info_audio)for(let d of St){let l=t.dpo_info_audio[d.audioKey];i(l,d.elementId)}i(t.accept_all_button_text_audio_url,Se),i(t.confirm_button_text_audio_url,we),i(t.decline_button_text_audio_url,_e),this.audioSequence=o,this.elementIdSequence=r}toggle(){this._isPlaying?this.pause():this.play()}play(){if(this.audioSequence.length!==0)if(this._isPaused&&this.currentAudio)this.currentAudio.play().then(()=>{this._isPlaying=!0,this._isPaused=!1,this.onStateChange()}).catch(()=>{});else{let e=this._isPlaying?this.currentIndex:0;this.playNextAudio(e)}}pause(){this.currentAudio&&this._isPlaying&&(this.currentAudio.pause(),this._isPlaying=!1,this._isPaused=!0,this.onStateChange())}stop(){this.stopInternal(),this.onStateChange()}stopInternal(){this.currentAudio&&(this.currentAudio.pause(),this.currentAudio.currentTime=0,this.currentAudio=null),this._isPlaying=!1,this._isPaused=!1,this.currentIndex=0,this.removeHighlights(),this.highlightedElementId=null}destroy(){var e;(e=this.abortController)==null||e.abort(),this.stop()}playNextAudio(e){if(e>=this.audioSequence.length){this.stop();return}this.currentAudio&&(this.currentAudio.pause(),this.currentAudio=null);let t=new Audio(this.audioSequence[e]);this.currentAudio=t,this.currentIndex=e,this._isPlaying=!0,this._isPaused=!1;let o=this.elementIdSequence[e];o&&this.highlightElement(o),t.onended=()=>this.playNextAudio(e+1),t.onerror=()=>{console.warn(`Failed to load audio at index ${e}`),this.playNextAudio(e+1)},t.play().catch(r=>{console.warn(`Failed to play audio at index ${e}:`,r),this._isPlaying=!1,this.onStateChange()}),this.onStateChange()}highlightElement(e){this.removeHighlights(),this.highlightedElementId=e,setTimeout(()=>{let t="getElementById"in this.root?this.root.getElementById(e):this.root.querySelector(`#${CSS.escape(e)}`);if(t){t.classList.add("redacto-tts-highlight");let o=t.getBoundingClientRect();o.top>=0&&o.left>=0&&o.bottom<=window.innerHeight&&o.right<=window.innerWidth||t.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}},50)}removeHighlights(){this.root.querySelectorAll(".redacto-tts-highlight").forEach(e=>{e.classList.remove("redacto-tts-highlight")})}};function Tt(n){let{settings:e,colors:t,isMobile:o,logoUrl:r,onYes:i,onNo:a,onClose:u}=n,d=(e==null?void 0:e.headingColor)||"#101828",l=t.text,p=t.font,c=s("img",{src:r,style:g.logo,alt:"Redacto Logo"}),f=s("h2",{id:"age-verification-title",style:{...g.title,fontSize:o?"16px":"18px",color:d,fontFamily:p}});f.textContent="Age Verification Required";let b=s("div",{style:g.topLeft},c,f),y=s("button",{style:{background:"none",border:"none",color:d,cursor:"pointer",padding:o?"2px":"4px",display:"flex",alignItems:"center",justifyContent:"center"},type:"button","aria-label":"Close modal",onClick:u}),m=A("svg",{width:o?"18":"20",height:o?"18":"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},A("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}));y.appendChild(m);let v=s("div",{style:{...g.topSection,color:l,fontFamily:p}},b,y),E=s("p",{style:{...g.privacyText,fontSize:o?"14px":"16px",color:l,fontFamily:p,marginBottom:"16px"}});E.textContent="To proceed with this consent form, we need to verify your age.";let k=s("p",{style:{...g.subTitle,color:l,fontFamily:p,marginBottom:"24px",textAlign:"left"}});k.textContent="Are you 18 years of age or older?";let S=s("div",{style:{...g.middleSection,color:l,fontFamily:p}},E,k),T={...g.button,fontSize:o?"14px":"16px",padding:o?"10px 20px":"9px 45px"},L=s("button",{style:{...T,...g.acceptButton,backgroundColor:t.acceptBg,color:t.acceptText,borderRadius:t.borderRadius},type:"button","aria-label":"Confirm that I am 18 years of age or older",onClick:i});L.textContent="Yes, I am 18 or older";let x=s("button",{style:{...T,...g.cancelButton,backgroundColor:t.declineBg,color:t.declineText,borderColor:t.declineBorder,borderRadius:t.borderRadius},type:"button","aria-label":"Indicate that I am under 18 years of age",onClick:a});x.textContent="No, I am under 18";let h=s("div",{style:{...g.bottomSection,color:l,fontFamily:p}},L,x);return{container:s("div",{style:g.content},v,S,h)}}var Ge=[{value:"Father",label:"Father"},{value:"Mother",label:"Mother"},{value:"Legal Guardian",label:"Legal Guardian"},{value:"Grandparent",label:"Grandparent"}];function Rt(n){var Je;let{formData:e,settings:t,colors:o,isMobile:r,logoUrl:i,isSubmitting:a,onSubmit:u,onCancel:d,onFieldChange:l}=n,p=(t==null?void 0:t.headingColor)||"#101828",c=o.text,f=o.declineBorder,b=(t==null?void 0:t.backgroundColor)||"#ffffff",y=o.borderRadius,m=o.font,v=o.acceptBg,E={width:"100%",padding:"10px 12px",border:`1px solid ${f}`,borderRadius:y,fontSize:"13px",fontFamily:m,color:c,backgroundColor:b,marginBottom:"2px",boxSizing:"border-box",outline:"none"},k={color:"#DC2626",fontSize:"11px",marginTop:"4px",marginBottom:"0px",display:"none"},S={fontSize:"13px",fontWeight:500,color:c,fontFamily:m,marginBottom:"4px",display:"block"},T={fontSize:"11px",color:"#667085",marginTop:"2px",marginBottom:"0px",lineHeight:"1.4"},L=s("img",{src:i,style:g.logo,alt:"Logo"}),x=s("h2",{id:"guardian-form-title",style:{...g.title,fontSize:"16px",fontWeight:600,color:p,fontFamily:m}});x.textContent="Guardian Verification";let h=s("div",{style:g.topLeft},L,x),w=s("div",{style:{...g.topSection,color:c,fontFamily:m}},h),B=s("p",{style:{...g.privacyText,fontSize:"13px",lineHeight:"1.5",color:c,fontFamily:m,marginBottom:"12px"}});B.textContent="Since you are under the age of consent, a legal guardian must verify their identity via DigiLocker before you can proceed.";let C=A("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#2563EB","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},A("circle",{cx:"12",cy:"12",r:"10"}),A("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),A("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"}));C.style.cssText="flex-shrink:0;margin-top:1px";let U=s("span");U.textContent="The guardian's name will be matched against their DigiLocker identity document (e.g. Aadhaar). Please enter the name exactly as it appears on the document.";let _=s("div",{style:{display:"flex",alignItems:"flex-start",gap:"8px",padding:"10px 12px",backgroundColor:"#EFF6FF",border:"1px solid #BFDBFE",borderRadius:y,marginBottom:"16px",fontSize:"12px",lineHeight:"1.5",color:"#1E40AF"}},C,U),O=s("label",{for:"guardianName",style:S});O.innerHTML=`Guardian's Full Name <span style="color:#DC2626">*</span>`;let M=s("input",{id:"guardianName",type:"text",style:E,value:e.guardianName,placeholder:"e.g. Rajesh Kumar",autoComplete:"name","aria-describedby":"guardianName-hint",onInput:N=>l("guardianName",N.target.value)}),H=s("p",{id:"guardianName-hint",style:T});H.textContent="Enter the full name as per government ID (Aadhaar, PAN, etc.)";let q=s("div",{style:k,role:"alert"}),V=s("div",null,O,M,H,q),z=s("label",{for:"guardianContact",style:S});z.innerHTML=`Guardian's Phone Number <span style="color:#DC2626">*</span>`;let j=s("input",{id:"guardianContact",type:"tel",inputMode:"tel",style:E,value:e.guardianContact,placeholder:"e.g. 9876543210",autoComplete:"tel","aria-describedby":"guardianContact-hint",onInput:N=>l("guardianContact",N.target.value)}),G=s("p",{id:"guardianContact-hint",style:T});G.textContent="Mobile number linked to guardian's Aadhaar";let D=s("div",{style:k,role:"alert"}),X=s("div",null,z,j,G,D),K=s("label",{id:"guardianRelationship-label",style:S});K.innerHTML='Relationship <span style="color:#DC2626">*</span>';let Q=(Je=Ge.find(N=>N.value===e.guardianRelationship))==null?void 0:Je.label,I=A("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#667085","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},A("polyline",{points:"6 9 12 15 18 9"}));I.style.cssText="flex-shrink:0;margin-left:8px;transition:transform 0.2s";let R=s("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}});R.textContent=Q||"Select relationship";let P=s("div",{role:"combobox","aria-expanded":"false","aria-haspopup":"listbox","aria-labelledby":"guardianRelationship-label",tabIndex:"0",style:{...E,color:Q?c:"#9CA3AF",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between",userSelect:"none",transition:"border-color 0.15s, box-shadow 0.15s"}},R,I),F=s("div",{id:"guardianRelationship-listbox",role:"listbox","aria-labelledby":"guardianRelationship-label",style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,backgroundColor:b,border:`1px solid ${f}`,borderRadius:y,boxShadow:"0 4px 12px rgba(0,0,0,0.1), 0 1px 3px rgba(0,0,0,0.06)",zIndex:50,overflow:"hidden",padding:"4px 0",maxHeight:"220px",overflowY:"auto",display:"none"}});for(let N=0;N<Ge.length;N++){let ne=Ge[N],ie=e.guardianRelationship===ne.value,fe=s("div",{id:`guardianRelationship-option-${N}`,role:"option","aria-selected":String(ie),style:{padding:"9px 12px",fontSize:"13px",fontFamily:m,color:ie?v:c,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.1s"},onClick:()=>{l("guardianRelationship",ne.value),R.textContent=ne.label,P.style.color=c,he()},onMouseenter:re=>{re.target.style.backgroundColor="#F3F4F6"},onMouseleave:re=>{re.target.style.backgroundColor="transparent"}}),Ze=s("span");if(Ze.textContent=ne.label,fe.appendChild(Ze),ie){let re=A("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:v,"stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},A("polyline",{points:"20 6 9 17 4 12"}));re.style.flexShrink="0",fe.appendChild(re)}F.appendChild(fe)}let $=!1,Y=s("div",{style:{position:"relative"}}),je=N=>{Y.contains(N.target)||he()};function We(){$=!0,F.style.display="block",P.setAttribute("aria-expanded","true"),I.style.transform="rotate(180deg)",P.style.borderColor=v,P.style.boxShadow=`0 0 0 1px ${v}`;let N=Y.getBoundingClientRect(),ne=window.innerHeight-N.bottom,ie=220;ne<ie&&N.top>ie?(F.style.top="auto",F.style.bottom="calc(100% + 4px)",F.style.boxShadow="0 -4px 12px rgba(0,0,0,0.1), 0 -1px 3px rgba(0,0,0,0.06)"):(F.style.top="calc(100% + 4px)",F.style.bottom="auto",F.style.boxShadow="0 4px 12px rgba(0,0,0,0.1), 0 1px 3px rgba(0,0,0,0.06)"),requestAnimationFrame(()=>{F.scrollIntoView({behavior:"smooth",block:"nearest"})}),setTimeout(()=>document.addEventListener("mousedown",je),0)}function he(){$=!1,F.style.display="none",P.setAttribute("aria-expanded","false"),I.style.transform="rotate(0deg)",P.style.borderColor=f,P.style.boxShadow="none",document.removeEventListener("mousedown",je)}P.addEventListener("click",()=>{$?he():We()}),P.addEventListener("keydown",N=>{N.key==="Enter"||N.key===" "||N.key==="ArrowDown"?(N.preventDefault(),$||We()):(N.key==="Escape"||N.key==="Tab")&&he()});let Ke=s("div",{style:k,role:"alert"});Y.appendChild(K),Y.appendChild(P),Y.appendChild(F),Y.appendChild(Ke);let Qe=s("div",{role:"alert",style:{color:"#DC2626",fontSize:"13px",marginTop:"16px",padding:"12px",borderRadius:"6px",border:"1px solid #FCA5A5",backgroundColor:"#FEF2F2",textAlign:"center",display:"none"}}),$t=s("div",{style:{display:"flex",flexDirection:"column",gap:"14px"}},V,X,Y),zt=s("div",{style:{...g.middleSection,overflow:"visible",color:c,fontFamily:m}},B,_,$t,Qe),Ye={...g.button,fontSize:r?"14px":"16px",padding:r?"10px 20px":"9px 45px"},Ae=s("button",{style:{...Ye,...g.acceptButton,backgroundColor:o.acceptBg,color:o.acceptText,borderRadius:o.borderRadius},type:"button",disabled:a,"aria-label":a?"Verifying guardian identity":"Proceed to guardian verification",onClick:u});Ae.textContent=a?"Verifying...":"Verify via DigiLocker";let Xe=s("button",{style:{...Ye,...g.cancelButton,backgroundColor:o.declineBg,color:o.declineText,borderColor:o.declineBorder,borderRadius:o.borderRadius},type:"button","aria-label":"Cancel",onClick:d});Xe.textContent="Cancel";let Gt=s("div",{style:{...g.bottomSection,paddingTop:"12px",color:c,fontFamily:m}},Ae,Xe);return{container:s("div",{style:{...g.content,overflow:"visible"}},w,zt,Gt),nameInput:M,contactInput:j,relationshipDisplay:P,nameError:q,contactError:D,relationshipError:Ke,submitBtn:Ae,generalError:Qe}}function Pt(n){let e={};return n.guardianName.trim()||(e.guardianName="Guardian name is required"),n.guardianContact.trim()||(e.guardianContact="Guardian contact is required"),n.guardianRelationship.trim()||(e.guardianRelationship="Relationship to guardian is required"),e}function At(n,e){switch(n){case"GUARDIAN_UNDER_18":return"The guardian must be 18 years or older. Please provide details of a different guardian.";case"TOKEN_FAILED":return"DigiLocker verification could not be completed. Please try again.";case"DIGILOCKER_AUTH_FAILED":return"DigiLocker authorization was cancelled or failed. Please try again.";case"NO_AUTH_CODE":return"DigiLocker did not return an authorization code. Please try again.";case"SESSION_EXPIRED":return"Verification session has expired. Please try again.";default:return e||"Verification failed. Please try again."}}function Lt(n){let{settings:e,colors:t,isMobile:o,logoUrl:r,isInitiating:i,isPolling:a,isComplete:u,isAutoTransitioning:d,error:l,errorCode:p,canRetry:c,onContinue:f,onBack:b}=n,y=(e==null?void 0:e.headingColor)||"#101828",m=t.text,v=t.font,E=t.acceptBg,k=s("img",{src:r,style:g.logo,alt:"Logo"}),S=s("h2",{id:"verification-title",style:{...g.title,fontSize:"16px",fontWeight:600,color:y,fontFamily:v}});S.textContent="Guardian Verification";let T=s("div",{style:g.topLeft},k,S),L=s("div",{style:{...g.topSection,color:m,fontFamily:v}},T),x=s("div",{style:{...g.middleSection,color:m,fontFamily:v,textAlign:"center"}});if(u&&!l){let _=s("div",{style:{width:"64px",height:"64px",borderRadius:"50%",backgroundColor:"#D1FAE5",display:"flex",alignItems:"center",justifyContent:"center"}}),O=A("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"#059669","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},A("polyline",{points:"20 6 9 17 4 12"}));_.appendChild(O);let M=s("p",{style:{color:y,fontFamily:v,fontSize:"16px",fontWeight:600,lineHeight:"1.5",marginTop:"12px",marginBottom:"24px"}});M.textContent="Verification Completed";let H=s("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:"1"}},_,M);x.appendChild(H)}else if((i||a)&&!l){let _=s("div",{style:{width:"48px",height:"48px",border:"4px solid #e5e7eb",borderTopColor:E,borderRadius:"50%",animation:"spin 1s linear infinite",margin:"24px auto"}}),O=s("div",{style:{color:"#059669",fontSize:"14px",marginTop:"16px",padding:"12px",borderRadius:"6px",border:"1px solid #A7F3D0",backgroundColor:"#D1FAE5",textAlign:"center"}});O.textContent=i?"Opening DigiLocker in a new tab...":"Please complete the verification in the DigiLocker tab. This page will update automatically when verification is complete.",x.appendChild(_),x.appendChild(O)}if(l){let _=s("div",{style:{width:"64px",height:"64px",borderRadius:"50%",backgroundColor:"#fee2e2",display:"flex",alignItems:"center",justifyContent:"center",margin:"24px auto"}}),O=A("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"#dc2626","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},A("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),A("line",{x1:"6",y1:"6",x2:"18",y2:"18"}));_.appendChild(O);let M=s("p",{style:{...g.privacyText,color:m,fontFamily:v,fontSize:"14px",lineHeight:"1.5",marginBottom:"12px"}});M.textContent="Verification failed";let H=s("div",{style:{color:"#DC2626",fontSize:"14px",marginTop:"16px",padding:"12px",borderRadius:"6px",border:"1px solid #FCA5A5",backgroundColor:"#FEF2F2",textAlign:"center"}});H.textContent=l,x.appendChild(_),x.appendChild(M),x.appendChild(H)}let h={...g.button,fontSize:o?"14px":"16px",padding:o?"10px 20px":"9px 45px"},w=s("div",{style:{...g.bottomSection,paddingTop:"12px",display:"flex",gap:"12px",justifyContent:"center",color:m,fontFamily:v}}),B={backgroundColor:t.acceptBg,color:t.acceptText,borderRadius:t.borderRadius},C={backgroundColor:t.declineBg,color:t.declineText,borderColor:t.declineBorder,borderRadius:t.borderRadius};if(!d)if(u&&!l){let _=s("button",{style:{...h,...B},type:"button","aria-label":"Continue to consent form",onClick:f});_.textContent="Continue",w.appendChild(_)}else if(l&&c){let _=s("button",{style:{...h,...g.acceptButton,...B},type:"button","aria-label":p==="GUARDIAN_UNDER_18"?"Change guardian details":"Try verification again",onClick:()=>b(p==="GUARDIAN_UNDER_18")});_.textContent=p==="GUARDIAN_UNDER_18"?"Change Guardian":"Try Again",w.appendChild(_)}else if(l){let _=s("button",{style:{...h,...g.cancelButton,...C},type:"button","aria-label":"Go back",onClick:()=>b(!1)});_.textContent="Go Back",w.appendChild(_)}else{let _=s("button",{style:{...h,...g.cancelButton,...C},type:"button","aria-label":"Cancel verification",onClick:()=>b(!1)});_.textContent="Cancel",w.appendChild(_)}return{container:s("div",{style:g.content},L,x,w)}}function It(n,e){var r,i,a,u,d,l,p,c,f,b,y,m;let t=(e==null?void 0:e.primary_color)||"#4f87ff",o=(e==null?void 0:e.secondary_color)||"#4f87ff";return{acceptBg:((i=(r=n==null?void 0:n.button)==null?void 0:r.accept)==null?void 0:i.backgroundColor)||t,acceptText:((u=(a=n==null?void 0:n.button)==null?void 0:a.accept)==null?void 0:u.textColor)||"#ffffff",acceptShortcutBg:((l=(d=n==null?void 0:n.button)==null?void 0:d.acceptAll)==null?void 0:l.backgroundColor)||"#ffffff",acceptShortcutText:((c=(p=n==null?void 0:n.button)==null?void 0:p.acceptAll)==null?void 0:c.textColor)||t,acceptShortcutBorder:t,declineBg:((b=(f=n==null?void 0:n.button)==null?void 0:f.decline)==null?void 0:b.backgroundColor)||"#ffffff",declineText:((m=(y=n==null?void 0:n.button)==null?void 0:y.decline)==null?void 0:m.textColor)||"#000000",declineBorder:(n==null?void 0:n.borderColor)||"#d0d5dd",link:(n==null?void 0:n.link)||o,heading:(n==null?void 0:n.headingColor)||"#323B4B",text:(n==null?void 0:n.textColor)||"#344054",font:(n==null?void 0:n.font)||"inherit",borderRadius:(n==null?void 0:n.borderRadius)||"8px",primaryColor:t,secondaryColor:o}}var lo=(n,e)=>`${n}-${e}`,Mt=(n,e,t)=>{if(e==="selected")return t;let o={},r={};return n.forEach(i=>{o[i.uuid]=!0,i.data_elements.forEach(a=>{r[lo(i.uuid,a.uuid)]=a.enabled})}),{selectedPurposes:o,selectedDataElements:r}};function Dt(n){return n==="center"||n==="right"?n:mt}function Bt(n){return yt[n]}var Re=class{constructor(e){this.hostEl=null;this.shadowRoot=null;this.previousBodyOverflow=null;this.previousHtmlOverflow=null;this.overlayEl=null;this.modalEl=null;this.purposeRefs=null;this.alreadyConsentedPurposeRefs=null;this.langSelectorRefs=null;this.keyboardCleanup=null;this.abortController=null;this.unsubscribe=null;this.ttsManager=null;this.guardianFormRefs=null;this.statusPollTimeout=null;this.popupCheckInterval=null;this.verificationPopup=null;this.verificationSessionToken=null;this.visibilityChangeHandler=null;this.acceptBtn=null;this.acceptAllBtn=null;this.declineBtn=null;this.middleSection=null;this.errorEl=null;this.noticeTitleEl=null;this.noticeTextEl=null;this.purposeHeadingEl=null;this.additionalTextEl=null;this.privacyPolicyLinkEl=null;this.privacyCenterLinkEl=null;this.ttsButton=null;this.options=e,this.store=new ae({isLoading:!0,isSubmitting:!1,isSubmittingAccept:!1,isSubmittingDecline:!1,content:null,selectedPurposes:{},selectedDataElements:{},initialDataElementSelections:{},collapsedPurposes:{},hasAlreadyConsented:!1,isFullyConsentedReviewMode:!1,selectedLanguage:e.language||"en",errorMessage:null,fetchError:null,needsConsentPurposes:[],alreadyConsentedPurposes:[],isMinorFlow:!1,selfDeclaredAdult:!1,showAgeVerification:!1,showGuardianForm:!1,showVerificationScreen:!1,verificationReference:null,isVerificationComplete:!1,isInitiatingVerification:!1,isPollingStatus:!1,verificationError:null,verificationErrorCode:null,canRetryVerification:!1,guardianFormData:{guardianName:"",guardianContact:"",guardianRelationship:""}}),this.mediaQuery=be("(max-width: 768px)")}async init(){this.unsubscribe=this.store.subscribe((e,t)=>{this.handleStateChange(e,t)}),this.mediaQuery.subscribe(()=>this.rebuildUI()),this.renderOverlayWithLoading(),await this.fetchNotice()}destroy(){var e,t,o,r;(e=this.abortController)==null||e.abort(),(t=this.keyboardCleanup)==null||t.call(this),(o=this.unsubscribe)==null||o.call(this),this.mediaQuery.destroy(),(r=this.ttsManager)==null||r.destroy(),this.stopPolling(),this.store.destroy(),this.hostEl&&this.hostEl.parentNode&&this.hostEl.parentNode.removeChild(this.hostEl),this.previousBodyOverflow!==null&&(document.body.style.overflow=this.previousBodyOverflow,this.previousBodyOverflow=null),this.previousHtmlOverflow!==null&&(document.documentElement.style.overflow=this.previousHtmlOverflow,this.previousHtmlOverflow=null),this.hostEl=null,this.shadowRoot=null,this.overlayEl=null,this.modalEl=null,this.purposeRefs=null,this.langSelectorRefs=null}sandboxParams(){var r;let e=(r=this.options.sandboxSubject)==null?void 0:r.trim(),t=e!=null&&e.includes("@")?e:void 0,o=e&&!e.includes("@")?e:void 0;return{token:this.options.token,sandboxUcic:this.options.ucic||this.options.sandboxUcic,sandboxEmail:this.options.email||this.options.sandboxEmail||t,sandboxMobile:this.options.mobile||this.options.sandboxMobile||o,organisationUuid:this.options.organisationUuid,workspaceUuid:this.options.workspaceUuid}}async fetchNotice(){var e,t,o,r;this.abortController=new AbortController,this.store.setState({isLoading:!0,fetchError:null});try{let i=this.options.ledgerBaseUrl&&!this.options.applicationId&&!this.options.token?this.options.ledgerBaseUrl:this.options.baseUrl,a=await st({noticeId:this.options.noticeId,accessToken:this.options.accessToken,refreshToken:this.options.refreshToken,baseUrl:i,language:this.options.language,specific_uuid:this.options.applicationId,validate_against:this.options.validateAgainst||"all",include_fully_consented_data:this.options.includeFullyConsentedData,signal:this.abortController.signal,...this.sandboxParams()}),u=a.detail.active_config,d=a.detail.purpose_selections,l=a.detail.reconsent_required,p=!1;if(this.options.ledgerBaseUrl&&!this.options.applicationId){let h=await gt({accessToken:this.options.accessToken,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:this.options.noticeId,signal:this.abortController.signal});if(h){let w=ft(h,u.purposes);l=(e=w==null?void 0:w.reconsent_required)!=null?e:!1,d=w==null?void 0:w.purpose_selections,p=!!w}}let c={},f={},b={},y={},m=[],v=[],E=!1;if(d&&(l||p))for(let h of u.purposes){let w=d[h.uuid];if(c[h.uuid]=!0,w&&w.selected&&!w.needs_reconsent){v.push(h),f[h.uuid]=!0;for(let B of h.data_elements){let C=`${h.uuid}-${B.uuid}`,U=(t=w.data_elements)==null?void 0:t[B.uuid],_=(U==null?void 0:U.selected)||!1;b[C]=_,y[C]=_}}else{m.push(h),f[h.uuid]=!1;for(let B of h.data_elements)b[`${h.uuid}-${B.uuid}`]=!1}}else{m=u.purposes;for(let h of u.purposes){c[h.uuid]=!0,f[h.uuid]=!1;for(let w of h.data_elements)b[`${h.uuid}-${w.uuid}`]=!1}}this.options.includeFullyConsentedData&&m.length===0&&v.length>0&&(E=!0);let k=ve(this.options.language,u.default_language,u.supported_languages_and_translations),S=!1,T=!1,L={},x=null;if(a.detail.is_minor){S=!0;let h=pe();h!=null&&h.noticeId&&h.noticeId!==this.options.noticeId?oe():(h==null?void 0:h.flowState)==="digilocker-pending"&&h.sessionToken?(L={showVerificationScreen:!0,isPollingStatus:!0},x=h.sessionToken):(h==null?void 0:h.verificationResult)==="verified"&&h.verificationReference?(L={showVerificationScreen:!0,isVerificationComplete:!0,verificationReference:h.verificationReference},oe()):(h==null?void 0:h.verificationResult)==="failed"||(h==null?void 0:h.verificationResult)==="expired"?(L={showVerificationScreen:!0,verificationError:h.verificationResult==="expired"?"Verification session has expired. Please try again.":"Verification failed. Please try again.",canRetryVerification:!0},oe()):T=!0}this.store.setState({content:a,isLoading:!1,selectedLanguage:k,collapsedPurposes:c,selectedPurposes:f,selectedDataElements:b,initialDataElementSelections:y,needsConsentPurposes:m,alreadyConsentedPurposes:v,isFullyConsentedReviewMode:E,isMinorFlow:S,showAgeVerification:T,...L}),x&&this.startStatusPolling(x)}catch(i){if(i.name==="AbortError")return;let a=i;a.status===409?(this.store.setState({hasAlreadyConsented:!0,isLoading:!1}),this.options.onAccept()):(this.store.setState({fetchError:a,isLoading:!1}),(r=(o=this.options).onError)==null||r.call(o,a))}}handleStateChange(e,t){if(t.isLoading&&!e.isLoading&&e.content){this.rebuildUI();return}if(e.hasAlreadyConsented&&!t.hasAlreadyConsented){this.destroy();return}if(e.fetchError&&!t.fetchError){this.renderError(e.fetchError.message);return}if(e.showAgeVerification!==t.showAgeVerification||e.showGuardianForm!==t.showGuardianForm||e.showVerificationScreen!==t.showVerificationScreen){this.rebuildUI();return}if(e.showVerificationScreen&&(e.isVerificationComplete!==t.isVerificationComplete||e.verificationError!==t.verificationError||e.isPollingStatus!==t.isPollingStatus||e.isInitiatingVerification!==t.isInitiatingVerification)){this.rebuildUI();return}(e.selectedPurposes!==t.selectedPurposes||e.selectedDataElements!==t.selectedDataElements)&&this.updateCheckboxes(e),e.collapsedPurposes!==t.collapsedPurposes&&this.updateCollapseState(e),e.errorMessage!==t.errorMessage&&this.updateErrorMessage(e),(e.isSubmittingAccept!==t.isSubmittingAccept||e.isSubmittingDecline!==t.isSubmittingDecline)&&this.updateButtonStates(e)}renderOverlayWithLoading(){this.hostEl=document.createElement("div"),this.hostEl.setAttribute("data-redacto-consent",""),this.hostEl.style.position="fixed",this.hostEl.style.top="0",this.hostEl.style.left="0",this.hostEl.style.width="0",this.hostEl.style.height="0",this.hostEl.style.zIndex="2147483646",document.body.appendChild(this.hostEl),this.shadowRoot=this.hostEl.attachShadow({mode:"open"}),this.previousBodyOverflow=document.body.style.overflow,this.previousHtmlOverflow=document.documentElement.style.overflow,document.body.style.overflow="hidden",document.documentElement.style.overflow="hidden",se(this.shadowRoot),this.ttsManager=new Te(()=>this.updateTTSButton(),this.shadowRoot),this.options.blockUI!==!1&&(this.overlayEl=s("div",{style:g.overlay,role:"presentation"}),this.shadowRoot.appendChild(this.overlayEl));let t=this.options.settings,o={...g.modal};t!=null&&t.backgroundColor&&(o.backgroundColor=t.backgroundColor),t!=null&&t.borderRadius&&(o.borderRadius=t.borderRadius),t!=null&&t.borderColor&&(o.border=`1px solid ${t.borderColor}`),t!=null&&t.font&&(o.fontFamily=t.font),this.mediaQuery.matches&&(o.width="90%",o.maxWidth="90%"),this.modalEl=s("div",{style:o,role:"dialog","aria-modal":"true","aria-label":"Privacy consent"});let r=s("div",{style:g.loadingContainer},s("div",{style:g.loadingSpinner}),s("p",{style:{...g.privacyText,color:(t==null?void 0:t.textColor)||"#344054"}},"Loading...")),i=s("div",{style:g.content},r);this.modalEl.appendChild(i),this.shadowRoot.appendChild(this.modalEl)}rebuildUI(){var V,z,j,G,D,X,K,Q;let e=this.store.getState();if(!e.content||!this.modalEl)return;let t=e.content.detail.active_config,o=this.options.settings,r=this.mediaQuery.matches,i=It(o,t);if(e.showAgeVerification){Z(this.modalEl);let I=Tt({settings:o,colors:i,isMobile:r,logoUrl:t.logo_url,onYes:()=>this.handleAgeVerificationYes(),onNo:()=>this.handleAgeVerificationNo(),onClose:()=>this.handleDecline()});this.modalEl.appendChild(I.container),(V=this.keyboardCleanup)==null||V.call(this),this.keyboardCleanup=ue(this.modalEl,()=>this.handleDecline());return}if(e.showGuardianForm){Z(this.modalEl),this.guardianFormRefs=Rt({formData:e.guardianFormData,settings:o,colors:i,isMobile:r,logoUrl:t.logo_url,isSubmitting:e.isInitiatingVerification,onSubmit:()=>this.handleGuardianFormSubmit(),onCancel:()=>this.handleDecline(),onFieldChange:(I,R)=>{let P=this.store.getState();this.store.setState({guardianFormData:{...P.guardianFormData,[I]:R}})}}),this.modalEl.appendChild(this.guardianFormRefs.container),(z=this.keyboardCleanup)==null||z.call(this),this.keyboardCleanup=ue(this.modalEl,()=>this.handleDecline());return}if(e.showVerificationScreen){Z(this.modalEl);let I=Lt({settings:o,colors:i,isMobile:r,logoUrl:t.logo_url,isInitiating:e.isInitiatingVerification,isPolling:e.isPollingStatus,isComplete:e.isVerificationComplete,error:e.verificationError,errorCode:e.verificationErrorCode,canRetry:e.canRetryVerification,onContinue:()=>this.handleVerificationContinue(),onBack:R=>{R?this.handleChangeGuardian():e.verificationError&&e.canRetryVerification?this.handleVerificationRetry():this.handleDecline()}});this.modalEl.appendChild(I.container),(j=this.keyboardCleanup)==null||j.call(this),this.keyboardCleanup=ue(this.modalEl,()=>{});return}Z(this.modalEl);let a=(o==null?void 0:o.headingColor)||"#101828",u=i.text,d=i.link,l=i.font,p=t.logo_url?s("img",{src:t.logo_url,style:{...g.logo,maxWidth:r?"96px":"140px",maxHeight:r?"28px":"32px"},alt:"Logo"}):null;this.noticeTitleEl=s("span",{id:"privacy-notice-title",style:{...g.title,color:a,fontFamily:l,fontSize:r?"16px":"18px"}}),this.noticeTitleEl.textContent=this.getTranslatedText("notice_banner_heading",t.notice_banner_heading),(G=this.langSelectorRefs)!=null&&G.dropdown&&this.shadowRoot&&this.langSelectorRefs.dropdown.parentNode===this.shadowRoot&&this.shadowRoot.removeChild(this.langSelectorRefs.dropdown);let c=Object.keys(t.supported_languages_and_translations||{}),f=[t.default_language||"English",...c.filter(I=>I!==t.default_language)];this.langSelectorRefs=_t({languages:f,selectedLanguage:e.selectedLanguage,settings:o,onSelect:I=>this.handleLanguageSelect(I),dropdownContainer:this.shadowRoot});let b=((X=(D=o==null?void 0:o.button)==null?void 0:D.language)==null?void 0:X.textColor)||"currentColor",y=A("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:b,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},A("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),A("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"}));this.ttsButton=s("button",{style:{...g.topRight,display:"none",padding:"3px 9px",alignItems:"center",justifyContent:"center"},type:"button","aria-label":"Start audio playback",title:"Start Talkback",onClick:()=>{var I;return(I=this.ttsManager)==null?void 0:I.toggle()}}),this.ttsButton.appendChild(y),(K=this.ttsManager)==null||K.fetchAudioUrls({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:t.notice_uuid,language:this.getLanguageCode(e.selectedLanguage),content:t,...this.sandboxParams()});let m=s("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},this.ttsButton,this.langSelectorRefs.container),v=Dt(t.logo_position),E=[];p&&E.push(s("div",{style:{...g.logoRow,justifyContent:Bt(v)}},p)),E.push(s("div",{style:g.headerRow},this.noticeTitleEl,m));let k=s("div",{style:{...g.headerStack,gap:r?"12px":"10px"}},...E);this.middleSection=s("div",{style:g.middleSection});let S={...g.privacyText,color:u,fontFamily:l,fontSize:r?"14px":"16px"},T=s("span",{id:"privacy-notice-text"});T.textContent=this.getTranslatedText("notice_text",t.notice_text);let L=this.getTranslatedText("privacy_policy_prefix_text",t.privacy_policy_prefix_text),x=this.getTranslatedText("privacy_policy_anchor_text",t.privacy_policy_anchor_text);this.privacyPolicyLinkEl=s("a",{id:"privacy-policy-link",href:t.privacy_policy_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l},"aria-label":"Privacy Policy (opens in new tab)"}),this.privacyPolicyLinkEl.textContent=x;let h=s("span",{id:"privacy-policy-text"},`${L} `,this.privacyPolicyLinkEl),w=s("p",{style:S},T,s("br"),h);if(this.purposeHeadingEl=s("h2",{id:"purpose-section-heading",style:{...g.subTitle,color:a,fontFamily:l}}),this.purposeHeadingEl.textContent=this.getTranslatedText("purpose_section_heading",t.purpose_section_heading),this.middleSection.appendChild(w),this.middleSection.appendChild(this.purposeHeadingEl),e.needsConsentPurposes.length>0&&(this.purposeRefs=Ne(e.needsConsentPurposes,{selectedPurposes:e.selectedPurposes,collapsedPurposes:e.collapsedPurposes,selectedDataElements:e.selectedDataElements,settings:o,isMobile:r,isAlreadyConsented:!1,getTranslatedText:(I,R,P)=>this.getTranslatedText(I,R,P),onPurposeToggle:I=>this.handlePurposeCheckboxChange(I),onPurposeCollapse:I=>this.togglePurposeCollapse(I),onDataElementToggle:(I,R)=>this.handleDataElementCheckboxChange(I,R)}),this.middleSection.appendChild(this.purposeRefs.container)),e.alreadyConsentedPurposes.length>0&&(this.alreadyConsentedPurposeRefs=Ne(e.alreadyConsentedPurposes,{selectedPurposes:e.selectedPurposes,collapsedPurposes:e.collapsedPurposes,selectedDataElements:e.selectedDataElements,initialDataElementSelections:e.initialDataElementSelections,settings:o,isMobile:r,isAlreadyConsented:!0,getTranslatedText:(I,R,P)=>this.getTranslatedText(I,R,P),onPurposeToggle:()=>{},onPurposeCollapse:I=>this.togglePurposeCollapse(I),onDataElementToggle:()=>{}}),this.middleSection.appendChild(this.alreadyConsentedPurposeRefs.container)),t.privacy_center_url||t.dpo_info){let I=s("div",{style:{...S,fontSize:r?"13px":"14px",lineHeight:"1.4",borderTop:"1px solid rgba(152, 162, 179, 0.3)",paddingTop:"12px",marginTop:"12px"}}),R=s("p",{style:{margin:"0",opacity:"0.6"}});if(t.privacy_center_url){if(t.additional_text){let F=s("span",{id:"additional-text"});F.textContent=this.getTranslatedText("additional_text",t.additional_text),R.appendChild(F),R.appendChild(document.createTextNode(" "))}let P=this.getTranslatedText("privacy_center_anchor_text",t.privacy_center_anchor_text||"Privacy Center");this.privacyCenterLinkEl=s("a",{id:"privacy-center-link",href:t.privacy_center_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}}),this.privacyCenterLinkEl.textContent=P,R.appendChild(this.privacyCenterLinkEl),R.appendChild(document.createTextNode("."))}if(t.dpo_info){let P=t.dpo_info;if(t.privacy_center_url&&R.appendChild(s("br")),P.grievance_text){let F=s("span",{id:"dpo-grievance-text"});if(F.textContent=this.getTranslatedDpoText("grievance_text",P.grievance_text),R.appendChild(F),R.appendChild(document.createTextNode(" ")),P.grievance_url){let $=s("a",{id:"dpo-grievance-link",href:P.grievance_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}});$.textContent=this.getTranslatedDpoText("grievance_anchor_text",P.grievance_anchor_text),R.appendChild($)}if(P.grievance_email){R.appendChild(document.createTextNode(" "));let $=s("span",{id:"dpo-grievance-email-connector"});$.textContent=this.getTranslatedDpoText("grievance_email_connector_text",P.grievance_email_connector_text||"or email to"),R.appendChild($),R.appendChild(document.createTextNode(" "));let Y=s("a",{id:"dpo-grievance-email",href:`mailto:${P.grievance_email}`,style:{...g.link,color:d,fontFamily:l}});Y.textContent=P.grievance_email,R.appendChild(Y)}}if(P.dp_board_text){R.appendChild(s("br"));let F=s("span",{id:"dpo-dp-board-text"});if(F.textContent=this.getTranslatedDpoText("dp_board_text",P.dp_board_text),R.appendChild(F),R.appendChild(document.createTextNode(" ")),P.dp_board_url){let $=s("a",{id:"dpo-dp-board-link",href:P.dp_board_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}});$.textContent=this.getTranslatedDpoText("dp_board_anchor_text",P.dp_board_anchor_text),R.appendChild($)}}if(P.dpo_text){R.appendChild(s("br"));let F=s("span",{id:"dpo-dpo-text"});if(F.textContent=this.getTranslatedDpoText("dpo_text",P.dpo_text),R.appendChild(F),R.appendChild(document.createTextNode(" ")),P.dpo_url){let $=s("a",{id:"dpo-dpo-link",href:P.dpo_url,target:"_blank",rel:"noopener noreferrer",style:{...g.link,color:d,fontFamily:l}});$.textContent=this.getTranslatedDpoText("dpo_anchor_text",P.dpo_anchor_text),R.appendChild($)}}}I.appendChild(R),this.middleSection.appendChild(I)}this.errorEl=s("div",{role:"alert",style:{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"12px",borderRadius:"6px",fontSize:"14px",border:"1px solid #FCA5A5",display:"none"}});let B=e.isFullyConsentedReviewMode?this.options.reviewModeButtonText||"Continue":this.getTranslatedText("confirm_button_text",t.confirm_button_text||He),C={fontSize:r?"14px":"16px",padding:e.isFullyConsentedReviewMode?r?"10px 20px":"9px 45px":"9px 20px",width:e.isFullyConsentedReviewMode||r?"100%":"auto",whiteSpace:"normal",wordBreak:"break-word"},U={...g.button,...e.isFullyConsentedReviewMode?{...g.acceptButton,backgroundColor:i.acceptBg,color:i.acceptText}:{...g.cancelButton,backgroundColor:"#ffffff",color:i.acceptShortcutText,borderColor:i.acceptShortcutBorder},borderRadius:i.borderRadius,...C};this.acceptBtn=s("button",{id:we,style:U,type:"button",onClick:()=>this.handleAccept("selected")}),this.acceptBtn.textContent=B;let _={...g.button,...g.acceptButton,backgroundColor:i.acceptBg,color:i.acceptText,borderRadius:i.borderRadius,...C};this.acceptAllBtn=s("button",{id:Se,style:_,type:"button",onClick:()=>this.handleAccept("all")}),this.acceptAllBtn.textContent=this.getTranslatedText("accept_all_button_text",t.accept_all_button_text||Fe);let O=this.getTranslatedText("decline_button_text",t.decline_button_text||bt),M={...g.button,...g.cancelButton,backgroundColor:i.declineBg,color:i.declineText,borderColor:i.declineBorder,borderRadius:i.borderRadius,...C,marginRight:e.isFullyConsentedReviewMode||r?"0":"auto"};this.declineBtn=s("button",{id:_e,style:M,type:"button",onClick:()=>this.handleDecline()}),e.isFullyConsentedReviewMode||(this.declineBtn.textContent=O);let H=s("div",{style:e.isFullyConsentedReviewMode?g.bottomSection:r?g.actionButtonStack:g.actionButtonRow});e.isFullyConsentedReviewMode?H.appendChild(this.acceptBtn):r?(H.appendChild(this.acceptAllBtn),H.appendChild(this.acceptBtn),H.appendChild(this.declineBtn)):(H.appendChild(this.declineBtn),H.appendChild(this.acceptBtn),H.appendChild(this.acceptAllBtn));let q=s("div",{style:g.content},k,this.errorEl,this.middleSection,H);this.modalEl.appendChild(q),this.updateAcceptButtonState(e),(Q=this.keyboardCleanup)==null||Q.call(this),this.keyboardCleanup=ue(this.modalEl,()=>this.handleDecline())}getLanguageCode(e){var o,r;let t=(o=this.store.getState().content)==null?void 0:o.detail.active_config;return!t||e==="English"||e==="en"||e==="EN"?"English":(r=t.supported_languages_and_translations)!=null&&r[e]?e:t.default_language==="en"||t.default_language==="EN"?"English":t.default_language||"English"}getTranslatedDpoText(e,t){var l;let o=this.store.getState(),r=(l=o.content)==null?void 0:l.detail.active_config;if(!r)return t;let i=o.selectedLanguage;if(i==="English"||i==="en"||i==="EN")return t;let a=r.supported_languages_and_translations;if(!a)return t;let u=a[i];if(!(u!=null&&u.dpo_info))return t;let d=u.dpo_info[e];return typeof d=="string"&&d?d:t}renderError(e){if(!this.modalEl)return;Z(this.modalEl);let t=s("div",{style:{...g.content,alignItems:"center",justifyContent:"center"}},s("div",{role:"alert",style:{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"16px",borderRadius:"8px",fontSize:"14px",border:"1px solid #FCA5A5",textAlign:"center",maxWidth:"400px"}},e));this.modalEl.appendChild(t)}getTranslatedText(e,t,o){var p,c,f;let r=this.store.getState(),i=(p=r.content)==null?void 0:p.detail.active_config;if(!i)return t;let a=r.selectedLanguage;if(a==="English"||a==="en"||a==="EN")return e==="privacy_policy_anchor_text"&&i.privacy_policy_anchor_text?i.privacy_policy_anchor_text:t;let u=i.supported_languages_and_translations;if(!u)return t;let d=u[a];if(!d)return t;if(o){if(e==="purposes.name"||e==="purposes.description"){let b=(c=d.purposes)==null?void 0:c[o];return b?typeof b=="string"?e==="purposes.name"?b:t:e==="purposes.name"?b.name||t:b.description||t:t}if(e.startsWith("data_elements."))return((f=d.data_elements)==null?void 0:f[o])||t}let l=d[e];return typeof l=="string"&&l?l:t}handleLanguageSelect(e){this.store.setState({selectedLanguage:e}),this.rebuildUI()}togglePurposeCollapse(e){let t=this.store.getState();this.store.setState({collapsedPurposes:{...t.collapsedPurposes,[e]:!t.collapsedPurposes[e]}})}handlePurposeCheckboxChange(e){var u;let t=this.store.getState(),o=(u=t.content)==null?void 0:u.detail.active_config;if(!o)return;let r=o.purposes.find(d=>d.uuid===e);if(!r)return;let i=!t.selectedPurposes[e],a={...t.selectedDataElements};for(let d of r.data_elements)a[`${e}-${d.uuid}`]=i;this.store.setState({selectedPurposes:{...t.selectedPurposes,[e]:i},selectedDataElements:a})}handleDataElementCheckboxChange(e,t){var p;let o=this.store.getState(),r=(p=o.content)==null?void 0:p.detail.active_config;if(!r)return;let i=r.purposes.find(c=>c.uuid===t);if(!i)return;let a=`${t}-${e}`,u={...o.selectedDataElements,[a]:!o.selectedDataElements[a]},d=i.data_elements.filter(c=>c.required),l;d.length>0?l=d.every(c=>u[`${t}-${c.uuid}`]):l=i.data_elements.some(c=>u[`${t}-${c.uuid}`]),this.store.setState({selectedDataElements:u,selectedPurposes:{...o.selectedPurposes,[t]:l}})}async handleAccept(e="selected"){var i,a,u;let t=this.store.getState();if(t.isSubmitting)return;if(t.isFullyConsentedReviewMode){this.options.onAccept(),this.destroy();return}if(t.isMinorFlow&&!t.verificationReference&&!t.selfDeclaredAdult){this.store.setState({errorMessage:"Guardian verification is required before consent can be submitted."});return}let o=(i=t.content)==null?void 0:i.detail.active_config;if(!o)return;this.abortController=new AbortController,this.store.setState({isSubmitting:!0,isSubmittingAccept:!0,errorMessage:null});let r=Mt(o.purposes,e,{selectedPurposes:t.selectedPurposes,selectedDataElements:t.selectedDataElements});e!=="selected"&&this.store.setState({selectedPurposes:r.selectedPurposes,selectedDataElements:r.selectedDataElements});try{let d=o.purposes.map(l=>{let p=l.data_elements.filter(c=>c.enabled).map(c=>({uuid:c.uuid,name:c.name,enabled:c.enabled,required:c.required,selected:r.selectedDataElements[`${l.uuid}-${c.uuid}`]||!1}));return{uuid:l.uuid,name:l.name,description:l.description,selected:r.selectedPurposes[l.uuid]||!1,data_elements:p}});await dt({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:t.content.detail.uuid,purposes:d,declined:!1,meta_data:this.options.applicationId?{specific_uuid:this.options.applicationId}:void 0,guardianVerificationReference:t.verificationReference||void 0,selfDeclaredAdult:t.selfDeclaredAdult||void 0,language:t.selectedLanguage,signal:this.abortController.signal,...this.sandboxParams()}),this.options.onAccept(),this.destroy()}catch(d){if(d.name==="AbortError")return;let l=d,p=l.status===409?"You have already provided consent.":l.status&&l.status>=500?"Server error: Please try again later.":l.message||"Failed to submit consent.";this.store.setState({errorMessage:p,isSubmitting:!1,isSubmittingAccept:!1}),(u=(a=this.options).onError)==null||u.call(a,l)}}handleDecline(){this.store.getState().isSubmitting||(this.stopPolling(),oe(),this.options.onDecline(),this.destroy())}updateCheckboxes(e){if(this.purposeRefs)for(let[t,o]of this.purposeRefs.checkboxes)t in e.selectedPurposes?o.checked=e.selectedPurposes[t]||!1:o.checked=e.selectedDataElements[t]||!1;this.updateAcceptButtonState(e)}areAllRequiredChecked(e){var o,r;let t=(o=e.content)==null?void 0:o.detail.active_config;return(r=t==null?void 0:t.purposes)!=null&&r.length?t.purposes.every(i=>{let a=i.data_elements.filter(u=>u.required&&u.enabled);return a.length===0?!0:a.every(u=>e.selectedDataElements[`${i.uuid}-${u.uuid}`])}):!1}updateAcceptButtonState(e){if(!this.acceptBtn||e.isFullyConsentedReviewMode)return;let t=e.isSubmittingAccept||e.isSubmittingDecline,o=this.areAllRequiredChecked(e),r=(i,a)=>{i&&(i.disabled=a,i.style.opacity=a?"0.5":"1",i.style.cursor=a?"not-allowed":"pointer")};r(this.acceptBtn,!o||t),r(this.acceptAllBtn,t)}updateCollapseState(e){let t=o=>{var r,i;if(o)for(let[a,u]of o.dataElementContainers){let d=(r=e.content)==null?void 0:r.detail.active_config,l=d==null?void 0:d.purposes.find(b=>b.uuid===a),p=e.collapsedPurposes[a];u.style.display=!p&&((i=l==null?void 0:l.data_elements)!=null&&i.length)?"flex":"none";let c=o.chevrons.get(a);c&&(c.style.transform=p?"rotate(0deg)":"rotate(90deg)");let f=o.collapseButtons.get(a);f&&f.setAttribute("aria-expanded",String(!p))}};t(this.purposeRefs),t(this.alreadyConsentedPurposeRefs)}updateErrorMessage(e){this.errorEl&&(e.errorMessage?(this.errorEl.textContent=e.errorMessage,this.errorEl.style.display="block"):this.errorEl.style.display="none")}handleAgeVerificationYes(){this.store.setState({isMinorFlow:!1,selfDeclaredAdult:!0,showAgeVerification:!1})}handleAgeVerificationNo(){this.store.setState({showAgeVerification:!1,showGuardianForm:!0})}async handleGuardianFormSubmit(){let e=this.store.getState(),t=Pt(e.guardianFormData);if(Object.keys(t).length>0){this.guardianFormRefs&&(t.guardianName&&(this.guardianFormRefs.nameError.textContent=t.guardianName,this.guardianFormRefs.nameError.style.display="block"),t.guardianContact&&(this.guardianFormRefs.contactError.textContent=t.guardianContact,this.guardianFormRefs.contactError.style.display="block"),t.guardianRelationship&&(this.guardianFormRefs.relationshipError.textContent=t.guardianRelationship,this.guardianFormRefs.relationshipError.style.display="block"));return}this.store.setState({isInitiatingVerification:!0});let o=this.options.digilockerMode||"redirect",r=o==="popup"?new URL(this.options.digilockerCallbackUrl||"/digilocker-callback",window.location.origin).href:void 0;try{let i=await pt({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,guardianName:e.guardianFormData.guardianName,guardianContact:e.guardianFormData.guardianContact,guardianRelationship:e.guardianFormData.guardianRelationship,frontendCallbackUrl:r});if(i.already_verified&&i.verification_reference){this.store.setState({verificationReference:i.verification_reference,showGuardianForm:!1,showVerificationScreen:!0,isInitiatingVerification:!1,isVerificationComplete:!0}),setTimeout(()=>{this.store.setState({showVerificationScreen:!1,isVerificationComplete:!1})},1e3);return}if(ze({flowState:"digilocker-pending",sessionToken:i.session_token,guardianInfoUuid:i.guardian_info_uuid,selectedPurposes:e.selectedPurposes,selectedDataElements:e.selectedDataElements,timestamp:new Date().toISOString(),originalUrl:window.location.href,noticeId:this.options.noticeId,baseUrl:this.options.baseUrl}),this.store.setState({showGuardianForm:!1,showVerificationScreen:!0,isInitiatingVerification:!0,isPollingStatus:!1}),o==="popup"&&i.digilocker_redirect_url){let a=window.open(i.digilocker_redirect_url,"digilocker_verification","width=600,height=700,scrollbars=yes,resizable=yes");if(a)this.verificationPopup=a,this.startPopupMonitoring(a);else{this.store.setState({isInitiatingVerification:!1,verificationError:"Popup blocked. Please allow popups for this site.",canRetryVerification:!0});return}}else if(i.digilocker_redirect_url){let a=window.open(i.digilocker_redirect_url,"_blank");if(!a){this.store.setState({isInitiatingVerification:!1,verificationError:"Unable to open DigiLocker. Please allow popups.",canRetryVerification:!0});return}try{a.opener=null}catch{}}this.store.setState({isInitiatingVerification:!1,isPollingStatus:!0}),this.startStatusPolling(i.session_token)}catch(i){this.store.setState({isInitiatingVerification:!1});let a=i;this.guardianFormRefs&&(this.guardianFormRefs.generalError.textContent=a.message||"Failed to initiate verification.",this.guardianFormRefs.generalError.style.display="block")}}startStatusPolling(e){this.verificationSessionToken=e;let t=0,o=0,r=!1,i=40,a=3,u=3e3,d=async()=>{var l;if(!r){if(t++,t>i){this.stopPolling(),this.store.setState({verificationError:"Verification is taking longer than expected. Please try again.",verificationErrorCode:"SESSION_EXPIRED",canRetryVerification:!0,isPollingStatus:!1});return}try{let p=await Ee({accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,sessionToken:e});if(o=0,p.status==="verified"){this.stopPolling();let c=p.verification_reference||((l=p.guardian_details)==null?void 0:l.verification_reference);if(!c){this.store.setState({verificationError:"Verification completed but no reference received. Please try again.",canRetryVerification:!0,isPollingStatus:!1});return}this.store.setState({verificationReference:c,isVerificationComplete:!0,isPollingStatus:!1}),oe();return}if(p.status==="failed"||p.status==="expired"){this.stopPolling(),this.store.setState({verificationError:At(p.error_code,p.error),verificationErrorCode:p.error_code,canRetryVerification:p.can_retry,isPollingStatus:!1});return}r||(this.statusPollTimeout=setTimeout(d,u))}catch(p){let c=p;if(c.status===404||c.status===410){this.stopPolling(),this.store.setState({verificationError:"Verification session not found or expired.",verificationErrorCode:"SESSION_EXPIRED",canRetryVerification:!0,isPollingStatus:!1});return}if(o++,o>=a){this.stopPolling(),this.store.setState({verificationError:c.message||"Unable to check verification status.",canRetryVerification:!0,isPollingStatus:!1});return}this.statusPollTimeout=setTimeout(d,u)}}};this.visibilityChangeHandler=()=>{document.hidden?(r=!0,this.statusPollTimeout&&(clearTimeout(this.statusPollTimeout),this.statusPollTimeout=null)):(r=!1,d())},document.addEventListener("visibilitychange",this.visibilityChangeHandler),this.statusPollTimeout=setTimeout(d,u)}stopPolling(){var e;this.statusPollTimeout&&(clearTimeout(this.statusPollTimeout),this.statusPollTimeout=null),this.popupCheckInterval&&(clearInterval(this.popupCheckInterval),this.popupCheckInterval=null),this.visibilityChangeHandler&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=null),(e=this.verificationPopup)==null||e.close(),this.verificationPopup=null}startPopupMonitoring(e){this.popupCheckInterval=setInterval(()=>{e.closed&&this.popupCheckInterval&&(clearInterval(this.popupCheckInterval),this.popupCheckInterval=null)},500)}handleVerificationContinue(){this.store.setState({showVerificationScreen:!1,isVerificationComplete:!1})}handleVerificationRetry(){this.store.setState({showVerificationScreen:!1,showGuardianForm:!0,verificationError:null,verificationErrorCode:null,canRetryVerification:!1,isVerificationComplete:!1})}handleChangeGuardian(){this.store.setState({showVerificationScreen:!1,showGuardianForm:!0,verificationError:null,verificationErrorCode:null,canRetryVerification:!1,isVerificationComplete:!1,guardianFormData:{guardianName:"",guardianContact:"",guardianRelationship:""}})}updateTTSButton(){var t,o,r;if(!this.ttsButton||!this.ttsManager)return;if(!this.ttsManager.isAvailable){this.ttsButton.style.display="none";return}this.ttsButton.style.display="flex",Z(this.ttsButton);let e=((r=(o=(t=this.options.settings)==null?void 0:t.button)==null?void 0:o.language)==null?void 0:r.textColor)||"currentColor";if(this.ttsManager.isPlaying){let i=A("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:e,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},A("rect",{x:"6",y:"4",width:"4",height:"16"}),A("rect",{x:"14",y:"4",width:"4",height:"16"}));this.ttsButton.appendChild(i),this.ttsButton.setAttribute("aria-label","Pause audio playback"),this.ttsButton.setAttribute("title","Pause Talkback")}else{let i=A("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:e,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},A("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),A("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"}));this.ttsButton.appendChild(i),this.ttsButton.setAttribute("aria-label",this.ttsManager.isPaused?"Resume audio playback":"Start audio playback"),this.ttsButton.setAttribute("title",this.ttsManager.isPaused?"Resume Talkback":"Start Talkback")}}updateButtonStates(e){var r;let t=(r=e.content)==null?void 0:r.detail.active_config,o=(i,a)=>{i&&(i.textContent=e.isSubmittingAccept?xt:a,i.disabled=e.isSubmittingAccept,i.style.opacity=e.isSubmittingAccept?"0.7":"1",i.style.cursor=e.isSubmittingAccept?"not-allowed":"pointer")};o(this.acceptBtn,e.isFullyConsentedReviewMode?this.options.reviewModeButtonText||"Continue":this.getTranslatedText("confirm_button_text",(t==null?void 0:t.confirm_button_text)||He)),o(this.acceptAllBtn,this.getTranslatedText("accept_all_button_text",(t==null?void 0:t.accept_all_button_text)||Fe)),this.declineBtn&&(this.declineBtn.disabled=e.isSubmitting,this.declineBtn.style.opacity=e.isSubmitting?"0.7":"1",this.declineBtn.style.cursor=e.isSubmitting?"not-allowed":"pointer"),this.updateAcceptButtonState(e)}};var W={optionItem:{display:"flex",justifyContent:"space-between",alignItems:"center",margin:0,padding:0,boxSizing:"border-box"},optionLeft:{display:"flex",gap:"12px",alignItems:"center",cursor:"pointer",margin:0,padding:0,boxSizing:"border-box"},optionTextContainer:{display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box"},optionTitle:{fontWeight:500,fontSize:"16px",lineHeight:"150%",letterSpacing:"0.2px",color:"#101828",margin:0,padding:0,textAlign:"left"},optionDescription:{fontWeight:400,fontSize:"12px",lineHeight:"150%",letterSpacing:"0.2px",color:"#475467",verticalAlign:"middle",margin:0,padding:0,textAlign:"left"},checkboxLarge:{height:"20px",width:"20px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},dataElementsContainer:{marginLeft:"27px",display:"flex",flexDirection:"column",margin:0,padding:0,boxSizing:"border-box",paddingLeft:"22px"},dataElementItem:{display:"flex",alignItems:"center",gap:"10px",justifyContent:"space-between",margin:0,padding:0,boxSizing:"border-box",minHeight:"24px"},dataElementText:{fontWeight:400,fontSize:"14px",lineHeight:"150%",letterSpacing:"0.2px",color:"#344054",margin:0,padding:0,textAlign:"left"},checkboxSmall:{height:"16px",width:"16px",padding:"4px",borderRadius:"5px",border:"2px solid #d0d5dd",margin:0,boxSizing:"border-box",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",cursor:"pointer",position:"relative",backgroundColor:"transparent"},loadingContainer:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"2rem",minHeight:"200px",margin:0,boxSizing:"border-box"},loadingSpinner:{width:"40px",height:"40px",border:"4px solid #f3f3f3",borderTop:"4px solid #3498db",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"1rem",boxSizing:"border-box"}};function Ut(n,e){var L;let{selectedPurposes:t,collapsedPurposes:o,selectedDataElements:r,settings:i,isMobile:a,getTranslatedText:u,onPurposeToggle:d,onPurposeCollapse:l,onDataElementToggle:p}=e,c=new Map,f=new Map,b=new Map,y=new Map,m=new Map,v=new Map,E=new Map,k=(i==null?void 0:i.headingColor)||"#101828",S=(i==null?void 0:i.textColor)||"#344054",T=s("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}});for(let x of n){let h=s("div"),w=A("svg",{width:"7",height:"12",viewBox:"0 0 7 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:(i==null?void 0:i.headingColor)||"#323B4B","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:o[x.uuid]?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.3s ease"},"aria-hidden":"true"},A("path",{d:"M1 1L6 6L1 11"}));y.set(x.uuid,w);let B=s("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",marginLeft:"5px"}},w),C=s("h2",{style:{...W.optionTitle,fontSize:a?"14px":"16px",color:k}});C.textContent=u("purposes.name",x.name,x.uuid),ke(x)&&C.appendChild(le()),m.set(x.uuid,C);let U=s("h3",{style:{...W.optionDescription,fontSize:a?"11px":"12px",color:S}});U.textContent=u("purposes.description",x.description,x.uuid),v.set(x.uuid,U);let _=s("div",{style:W.optionTextContainer},C,U),O=s("div",{style:W.optionLeft,role:"button",tabIndex:"0","aria-expanded":String(!o[x.uuid]),"aria-controls":`purpose-${x.uuid}`,"aria-label":`${o[x.uuid]?"Expand":"Collapse"} ${u("purposes.name",x.name,x.uuid)} details`,onClick:()=>l(x.uuid),onKeydown:V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),l(x.uuid))}},B,_);f.set(x.uuid,O);let M=s("input",{type:"checkbox",checked:t[x.uuid]||!1,"aria-label":`Select all data elements for ${u("purposes.name",x.name,x.uuid)}`,onChange:()=>d(x.uuid)});c.set(x.uuid,M);let H=s("div",{style:W.optionItem},O,M),q=s("div",{id:`purpose-${x.uuid}`,style:W.dataElementsContainer});if(x.data_elements&&x.data_elements.length>0)for(let V of x.data_elements){let z=`${x.uuid}-${V.uuid}`,j=s("span",{style:{...W.dataElementText,fontSize:a?"12px":"14px",color:S}});j.textContent=u("data_elements.name",V.name,V.uuid),E.set(z,j),V.required&&j.appendChild(le());let G=s("input",{type:"checkbox",checked:r[z]||!1,"aria-label":`Select ${u("data_elements.name",V.name,V.uuid)}${V.required?" (required)":""}`,onChange:()=>p(V.uuid,x.uuid)});c.set(z,G);let D=s("div",{style:W.dataElementItem},j,G);q.appendChild(D)}b.set(x.uuid,q),!o[x.uuid]&&((L=x.data_elements)==null?void 0:L.length)>0?q.style.display="flex":q.style.display="none",h.appendChild(H),h.appendChild(q),T.appendChild(h)}return{container:T,checkboxes:c,collapseButtons:f,dataElementContainers:b,chevrons:y,titleElements:m,descriptionElements:v,dataElementLabels:E}}var Pe=class{constructor(e){this.targetEl=null;this.hostEl=null;this.shadowRoot=null;this.rootEl=null;this.purposeRefs=null;this.errorEl=null;this.hasSubmitted=!1;this.hasCheckedLedgerConsent=!1;this.fetchedWithToken=!1;this.fetchGeneration=0;this.unsubscribe=null;this.abortController=null;this.options=e,this.store=new ae({content:null,isLoading:!0,isSubmitting:!1,selectedLanguage:e.language||"en",collapsedPurposes:{},selectedPurposes:{},selectedDataElements:{},hasAlreadyConsented:!1,isCheckingConsent:!1,fetchError:null,errorMessage:null}),this.mediaQuery=be("(max-width: 768px)")}async init(){if(this.abortController=new AbortController,typeof this.options.target=="string"){if(this.targetEl=document.querySelector(this.options.target),!this.targetEl)throw new Error(`Target element not found: ${this.options.target}`)}else this.targetEl=this.options.target;this.hostEl=document.createElement("div"),this.hostEl.setAttribute("data-redacto-consent-inline",""),this.hostEl.style.display="block",this.targetEl.appendChild(this.hostEl),this.shadowRoot=this.hostEl.attachShadow({mode:"open"}),se(this.shadowRoot),this.unsubscribe=this.store.subscribe((e,t)=>{this.handleStateChange(e,t)}),this.mediaQuery.subscribe(()=>this.rebuildUI()),this.renderLoading(),await this.fetchNotice()}destroy(){var e,t;(e=this.abortController)==null||e.abort(),(t=this.unsubscribe)==null||t.call(this),this.mediaQuery.destroy(),this.store.destroy(),this.hostEl&&this.hostEl.parentNode&&this.hostEl.parentNode.removeChild(this.hostEl),this.hostEl=null,this.shadowRoot=null,this.rootEl=null,this.purposeRefs=null}updateToken(e){if(this.options={...this.options,accessToken:e},e&&!this.fetchedWithToken){this.fetchNotice();return}if(this.shouldCheckLedgerConsent()){this.checkLedgerConsent();return}this.tryAutoSubmit()}isDestroyed(){var e;return!!((e=this.abortController)!=null&&e.signal.aborted)}async fetchNotice(){var t,o,r,i;let e=++this.fetchGeneration;this.fetchedWithToken=!!this.options.accessToken,this.store.setState({isLoading:!0,fetchError:null,hasAlreadyConsented:!1});try{let a=await lt({org_uuid:this.options.org_uuid,workspace_uuid:this.options.workspace_uuid,notice_uuid:this.options.notice_uuid,accessToken:this.options.accessToken,baseUrl:this.options.baseUrl,language:this.options.language,specific_uuid:this.options.applicationId});if(this.isDestroyed()||e!==this.fetchGeneration)return;let u=a.detail.active_config,d={},l={},p={};for(let c of u.purposes){d[c.uuid]=!0,l[c.uuid]=!1;for(let f of c.data_elements)p[`${c.uuid}-${f.uuid}`]=!1}this.checkLedgerConsent(),this.store.setState({content:u,isLoading:!1,selectedLanguage:ve(this.options.language,u.default_language,u.supported_languages_and_translations),collapsedPurposes:d,selectedPurposes:l,selectedDataElements:p})}catch(a){if(this.isDestroyed()||e!==this.fetchGeneration)return;let u=a;u.status===409?(this.store.setState({hasAlreadyConsented:!0,isLoading:!1}),(o=(t=this.options).onAccept)==null||o.call(t)):(this.store.setState({fetchError:u,isLoading:!1}),(i=(r=this.options).onError)==null||i.call(r,u))}}shouldCheckLedgerConsent(){return!!this.options.ledgerBaseUrl&&!this.options.applicationId&&!!this.options.accessToken&&!this.hasCheckedLedgerConsent}async checkLedgerConsent(){var e,t,o;if(this.shouldCheckLedgerConsent()){this.hasCheckedLedgerConsent=!0,this.store.setState({isCheckingConsent:!0});try{let r=await Be({accessToken:this.options.accessToken,ledgerBaseUrl:this.options.ledgerBaseUrl,organisationUuid:this.options.org_uuid,workspaceUuid:this.options.workspace_uuid,noticeUuid:this.options.notice_uuid,signal:(e=this.abortController)==null?void 0:e.signal});if(this.isDestroyed())return;r&&ht(r)&&(this.store.setState({hasAlreadyConsented:!0}),(o=(t=this.options).onAccept)==null||o.call(t))}finally{this.isDestroyed()||(this.store.setState({isCheckingConsent:!1}),this.tryAutoSubmit())}}}handleStateChange(e,t){if(t.isLoading&&!e.isLoading&&e.content&&this.rebuildUI(),e.hasAlreadyConsented||e.fetchError){this.rootEl&&this.shadowRoot&&this.rootEl.parentNode===this.shadowRoot&&(this.shadowRoot.removeChild(this.rootEl),this.rootEl=null);return}(e.selectedPurposes!==t.selectedPurposes||e.selectedDataElements!==t.selectedDataElements)&&(this.updateCheckboxes(e),this.notifyValidation(e),this.tryAutoSubmit()),e.collapsedPurposes!==t.collapsedPurposes&&this.updateCollapseState(e),e.errorMessage!==t.errorMessage&&this.updateErrorMessage(e)}renderLoading(){var t;if(!this.shadowRoot)return;let e=((t=this.options.settings)==null?void 0:t.textColor)||"#344054";this.rootEl=s("div",{style:W.loadingContainer},s("div",{style:W.loadingSpinner}),s("p",{style:{fontSize:"16px",fontWeight:400,color:e}},"Loading...")),this.shadowRoot.appendChild(this.rootEl)}rebuildUI(){let e=this.store.getState();!e.content||!this.shadowRoot||(this.rootEl&&this.rootEl.parentNode===this.shadowRoot&&this.shadowRoot.removeChild(this.rootEl),this.errorEl=s("div",{role:"alert",style:{backgroundColor:"#FEE2E2",color:"#DC2626",padding:"12px",borderRadius:"6px",fontSize:"14px",border:"1px solid #FCA5A5",display:e.errorMessage?"block":"none"}}),e.errorMessage&&(this.errorEl.textContent=e.errorMessage),this.purposeRefs=Ut(e.content.purposes,{selectedPurposes:e.selectedPurposes,collapsedPurposes:e.collapsedPurposes,selectedDataElements:e.selectedDataElements,settings:this.options.settings,isMobile:this.mediaQuery.matches,getTranslatedText:(t,o,r)=>this.getTranslatedText(t,o,r),onPurposeToggle:t=>this.handlePurposeCheckboxChange(t),onPurposeCollapse:t=>this.togglePurposeCollapse(t),onDataElementToggle:(t,o)=>this.handleDataElementCheckboxChange(t,o)}),this.rootEl=s("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},this.errorEl,this.purposeRefs.container),this.shadowRoot.appendChild(this.rootEl),this.notifyValidation(e))}getTranslatedText(e,t,o){var p,c;let r=this.store.getState(),i=r.content;if(!i)return t;let a=r.selectedLanguage;if(a==="English"||a==="en"||a==="EN")return e==="privacy_policy_anchor_text"&&i.privacy_policy_anchor_text?i.privacy_policy_anchor_text:t;let u=i.supported_languages_and_translations;if(!u)return t;let d=u[a];if(!d)return t;if(o){if(e==="purposes.name"||e==="purposes.description"){let f=(p=d.purposes)==null?void 0:p[o];return f?typeof f=="string"?e==="purposes.name"?f:t:e==="purposes.name"?f.name||t:f.description||t:t}if(e.startsWith("data_elements."))return((c=d.data_elements)==null?void 0:c[o])||t}let l=d[e];return typeof l=="string"&&l?l:t}togglePurposeCollapse(e){let t=this.store.getState();this.store.setState({collapsedPurposes:{...t.collapsedPurposes,[e]:!t.collapsedPurposes[e]}})}handlePurposeCheckboxChange(e){let t=this.store.getState(),o=t.content;if(!o)return;let r=o.purposes.find(u=>u.uuid===e);if(!r)return;let i=!t.selectedPurposes[e],a={...t.selectedDataElements};for(let u of r.data_elements)a[`${e}-${u.uuid}`]=i;this.store.setState({selectedPurposes:{...t.selectedPurposes,[e]:i},selectedDataElements:a})}handleDataElementCheckboxChange(e,t){let o=this.store.getState(),r=o.content;if(!r)return;let i=r.purposes.find(c=>c.uuid===t);if(!i)return;let a=`${t}-${e}`,u=!o.selectedDataElements[a],d={...o.selectedDataElements,[a]:u},l=i.data_elements.filter(c=>c.required),p;l.length>0?p=l.every(c=>d[`${t}-${c.uuid}`]):p=i.data_elements.some(c=>d[`${t}-${c.uuid}`]),this.store.setState({selectedDataElements:d,selectedPurposes:{...o.selectedPurposes,[t]:p}})}updateCheckboxes(e){if(this.purposeRefs)for(let[t,o]of this.purposeRefs.checkboxes)t in e.selectedPurposes?o.checked=e.selectedPurposes[t]||!1:o.checked=e.selectedDataElements[t]||!1}updateCollapseState(e){var t;if(this.purposeRefs)for(let[o,r]of this.purposeRefs.dataElementContainers){let i=this.store.getState().content,a=i==null?void 0:i.purposes.find(p=>p.uuid===o),u=e.collapsedPurposes[o];r.style.display=!u&&((t=a==null?void 0:a.data_elements)!=null&&t.length)?"flex":"none";let d=this.purposeRefs.chevrons.get(o);d&&(d.style.transform=u?"rotate(0deg)":"rotate(90deg)");let l=this.purposeRefs.collapseButtons.get(o);l&&l.setAttribute("aria-expanded",String(!u))}}updateErrorMessage(e){this.errorEl&&(e.errorMessage?(this.errorEl.textContent=e.errorMessage,this.errorEl.style.display="block"):this.errorEl.style.display="none")}areAllRequiredElementsChecked(){let e=this.store.getState(),t=e.content;return t?t.purposes.every(o=>o.data_elements.filter(i=>i.required).every(i=>e.selectedDataElements[`${o.uuid}-${i.uuid}`])):!1}notifyValidation(e){var o,r;let t=this.areAllRequiredElementsChecked();(r=(o=this.options).onValidationChange)==null||r.call(o,t)}async tryAutoSubmit(){var o,r;if(this.isDestroyed())return;let e=this.store.getState(),t=this.options.accessToken;if(t&&e.content&&this.areAllRequiredElementsChecked()&&!e.isSubmitting&&!e.isCheckingConsent&&!e.hasAlreadyConsented&&!this.hasSubmitted){this.hasSubmitted=!0;try{await this.handleSubmit(t)}catch(i){this.hasSubmitted=!1,(r=(o=this.options).onError)==null||r.call(o,i)}}}async handleSubmit(e){var r,i;let t=this.store.getState(),o=t.content;if(!e||!o)throw this.store.setState({errorMessage:"Unable to submit consent. Please try again."}),new Error("Access token or content not available");try{this.store.setState({isSubmitting:!0,errorMessage:null}),await ct({org_uuid:this.options.org_uuid,workspace_uuid:this.options.workspace_uuid,accessToken:e,baseUrl:this.options.baseUrl,ledgerBaseUrl:this.options.ledgerBaseUrl,noticeUuid:o.notice_uuid,purposes:o.purposes.map(a=>{let u=a.data_elements.some(p=>p.required&&(t.selectedDataElements[`${a.uuid}-${p.uuid}`]||!1)),d=a.data_elements.some(p=>t.selectedDataElements[`${a.uuid}-${p.uuid}`]||!1),l=t.selectedPurposes[a.uuid]||u||d;return{...a,selected:l,data_elements:a.data_elements.map(p=>({...p,selected:t.selectedDataElements[`${a.uuid}-${p.uuid}`]||!1}))}}),declined:!1,meta_data:this.options.applicationId?{specific_uuid:this.options.applicationId}:void 0,language:t.selectedLanguage}),(i=(r=this.options).onAccept)==null||i.call(r),this.hasSubmitted=!1}catch(a){let u=a,d=u.status===500?"An error occurred while submitting your consent. Please try again later.":u.message||"Failed to submit consent. Please try again.";throw this.store.setState({errorMessage:d}),this.hasSubmitted=!1,a}finally{this.store.setState({isSubmitting:!1})}}};function Ft(n){switch(n){case"GUARDIAN_UNDER_18":return"Guardian verification failed: The guardian must be 18 years or older.";case"SESSION_EXPIRED":return"Verification session has expired. Please restart the verification process.";case"TOKEN_FAILED":return"DigiLocker authentication failed. Please try again.";case"DIGILOCKER_AUTH_FAILED":return"DigiLocker authorization was cancelled or failed. Please try again.";case"NO_AUTH_CODE":return"Missing authorization code from DigiLocker. Please try again.";default:return"Verification failed. Please try again."}}function Ht(n){var T,L,x;se(document);let e=new URLSearchParams(window.location.search),t=e.get("session_token"),o=e.get("status"),r=e.get("verification_reference"),i=e.get("error_code"),a=pe(),u=(a==null?void 0:a.originalUrl)||"/",d=a==null?void 0:a.baseUrl,l=a==null?void 0:a.sessionToken,p=t||l,c=n.baseUrl||d,f=!1;try{f=window.self!==window.top}catch{f=!0}let b=s("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"200px",padding:"32px",fontFamily:"system-ui, -apple-system, sans-serif"}}),y=s("p",{style:{fontSize:"16px",fontWeight:600,color:"#101828",textAlign:"center"}});y.textContent="Processing verification...";let m=s("div",{style:{width:"40px",height:"40px",border:"4px solid #f3f3f3",borderTop:"4px solid #3498db",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"16px"}});b.appendChild(m),b.appendChild(y),document.body.appendChild(b);let v=(h,w)=>{kt({verificationResult:h,verificationReference:w,flowState:h==="verified"?"consent-form":"error"}),y.textContent=h==="verified"?"Verification successful! Redirecting...":"Verification failed. Redirecting...",m.style.display="none",setTimeout(()=>{window.location.href=u},1500)};if(o==="verified"&&r){if(f&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:"verified",verificationReference:r},window.location.origin),y.textContent="Verification successful!",m.style.display="none";return}(T=n.onSuccess)==null||T.call(n,r),v("verified",r);return}if(o==="failed"||o==="expired"){let h=Ft(i);if(f&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:o,errorCode:i,error:h},window.location.origin),y.textContent=h,y.style.color="#DC2626",m.style.display="none";return}(L=n.onError)==null||L.call(n,new Error(h),i||void 0),v(o);return}if(!p){y.textContent="No verification session found.",y.style.color="#DC2626",m.style.display="none",(x=n.onError)==null||x.call(n,new Error("No session token available"));return}let E=0,k=3,S=async()=>{var h,w,B,C,U;try{let _=await Ee({accessToken:n.accessToken,baseUrl:c,sessionToken:p});if(_.status==="verified"){let M=_.verification_reference||((h=_.guardian_details)==null?void 0:h.verification_reference);if(f&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:"verified",verificationReference:M},window.location.origin),y.textContent="Verification successful!",m.style.display="none";return}M&&((w=n.onSuccess)==null||w.call(n,M)),v("verified",M||void 0);return}if(_.status==="failed"||_.status==="expired"){let M=co(_.error_code,_.error);if(f&&window.parent){window.parent.postMessage({type:"DIGILOCKER_VERIFICATION_STATUS",status:_.status,errorCode:_.error_code,error:M},window.location.origin),y.textContent=M,y.style.color="#DC2626",m.style.display="none";return}(B=n.onError)==null||B.call(n,new Error(M),_.error_code||void 0),v(_.status);return}if(E++,E>k){let M="Verification is taking too long. Please return to the original page.";y.textContent=M,y.style.color="#DC2626",m.style.display="none",(C=n.onError)==null||C.call(n,new Error(M)),v("failed");return}let O=3e3*Math.pow(2,E-1);y.textContent="Still processing... Please wait.",setTimeout(S,O)}catch(_){if(E++,E>k){let M=_.message||"Failed to check verification status.";y.textContent=M,y.style.color="#DC2626",m.style.display="none",(U=n.onError)==null||U.call(n,_),v("failed");return}let O=3e3*Math.pow(2,E-1);setTimeout(S,O)}};setTimeout(S,3e3)}function co(n,e){return Ft(n)||e||"Verification failed. Please try again."}var ge=null,J=null;function Nt(n){qe(),ge=new Re(n),ge.init().catch(e=>{var t;(t=n.onError)==null||t.call(n,e)})}function Ot(n){J&&(J.destroy(),J=null),J=new Pe(n),J.init().catch(e=>{var t;(t=n.onError)==null||t.call(n,e)})}function qe(){ge&&(ge.destroy(),ge=null),J&&(J.destroy(),J=null)}function Vt(n){Ht(n)}var uo={init:Nt,inline:Ot,destroy:qe,digilockerCallback:Vt,version:"0.1.0"},po=uo;return Yt(go);})();
|
|
132
132
|
if (typeof RedactoConsent !== 'undefined' && RedactoConsent.default) { Object.assign(RedactoConsent, RedactoConsent.default); }
|
|
133
133
|
//# sourceMappingURL=redacto.global.js.map
|