@reform-society/agera-survey 0.1.3 → 0.1.4
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/index.global.js +3 -3
- package/dist/index.global.js.map +1 -1
- package/package.json +1 -1
package/dist/index.global.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var AgeraSurvey=(()=>{var tn=Object.create;var Z=Object.defineProperty;var nn=Object.getOwnPropertyDescriptor;var rn=Object.getOwnPropertyNames;var on=Object.getPrototypeOf,sn=Object.prototype.hasOwnProperty;var an=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ln=(e,t)=>{for(var r in t)Z(e,r,{get:t[r],enumerable:!0})},ze=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of rn(t))!sn.call(e,i)&&i!==r&&Z(e,i,{get:()=>t[i],enumerable:!(n=nn(t,i))||n.enumerable});return e};var x=(e,t,r)=>(r=e!=null?tn(on(e)):{},ze(t||!e||!e.__esModule?Z(r,"default",{value:e,enumerable:!0}):r,e)),un=e=>ze(Z({},"__esModule",{value:!0}),e);var L=an((_e,ee)=>{"use strict";(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof ee=="object"&&ee.exports?ee.exports=t():e.log=t()})(_e,function(){"use strict";var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"],i={},o=null;function s(p,b){var d=p[b];if(typeof d.bind=="function")return d.bind(p);try{return Function.prototype.bind.call(d,p)}catch{return function(){return Function.prototype.apply.apply(d,[p,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function u(p){return p==="debug"&&(p="log"),typeof console===t?!1:p==="trace"&&r?a:console[p]!==void 0?s(console,p):console.log!==void 0?s(console,"log"):e}function l(){for(var p=this.getLevel(),b=0;b<n.length;b++){var d=n[b];this[d]=b<p?e:this.methodFactory(d,p,this.name)}if(this.log=this.debug,typeof console===t&&p<this.levels.SILENT)return"No console available for logging"}function f(p){return function(){typeof console!==t&&(l.call(this),this[p].apply(this,arguments))}}function m(p,b,d){return u(p)||f.apply(this,arguments)}function c(p,b){var d=this,N,U,q,P="loglevel";typeof p=="string"?P+=":"+p:typeof p=="symbol"&&(P=void 0);function Xt(h){var T=(n[h]||"silent").toUpperCase();if(!(typeof window===t||!P)){try{window.localStorage[P]=T;return}catch{}try{window.document.cookie=encodeURIComponent(P)+"="+T+";"}catch{}}}function Oe(){var h;if(!(typeof window===t||!P)){try{h=window.localStorage[P]}catch{}if(typeof h===t)try{var T=window.document.cookie,X=encodeURIComponent(P),$e=T.indexOf(X+"=");$e!==-1&&(h=/^([^;]+)/.exec(T.slice($e+X.length+1))[1])}catch{}return d.levels[h]===void 0&&(h=void 0),h}}function Zt(){if(!(typeof window===t||!P)){try{window.localStorage.removeItem(P)}catch{}try{window.document.cookie=encodeURIComponent(P)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function W(h){var T=h;if(typeof T=="string"&&d.levels[T.toUpperCase()]!==void 0&&(T=d.levels[T.toUpperCase()]),typeof T=="number"&&T>=0&&T<=d.levels.SILENT)return T;throw new TypeError("log.setLevel() called with invalid level: "+h)}d.name=p,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=b||m,d.getLevel=function(){return q??U??N},d.setLevel=function(h,T){return q=W(h),T!==!1&&Xt(q),l.call(d)},d.setDefaultLevel=function(h){U=W(h),Oe()||d.setLevel(h,!1)},d.resetLevel=function(){q=null,Zt(),l.call(d)},d.enableAll=function(h){d.setLevel(d.levels.TRACE,h)},d.disableAll=function(h){d.setLevel(d.levels.SILENT,h)},d.rebuild=function(){if(o!==d&&(N=W(o.getLevel())),l.call(d),o===d)for(var h in i)i[h].rebuild()},N=W(o?o.getLevel():"WARN");var Fe=Oe();Fe!=null&&(q=W(Fe)),l.call(d)}o=new c,o.getLogger=function(b){if(typeof b!="symbol"&&typeof b!="string"||b==="")throw new TypeError("You must supply a name when creating a logger.");var d=i[b];return d||(d=i[b]=new c(b,o.methodFactory)),d};var y=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=y),o},o.getLoggers=function(){return i},o.default=o,o})});var cr={};ln(cr,{init:()=>ye});var k=x(L(),1);var Ue={name:"@reform-society/agera-survey",version:"0.1.3",description:"Multi-step survey runtime for Webflow",type:"module",main:"dist/index.global.js",types:"dist/index.d.ts",files:["dist"],repository:{type:"git",url:"git+https://github.com/reform-society/agera-survey-app.git",directory:"packages/agera-survey"},author:"Reform Society",license:"UNLICENSED",private:!1,publishConfig:{access:"public",provenance:!0},scripts:{dev:"tsup src/index.ts --format iife --global-name AgeraSurvey --watch --out-dir dist --sourcemap",build:"tsup src/index.ts --format iife --global-name AgeraSurvey --out-dir dist --minify","build:analyze":"tsup src/index.ts --format iife --global-name AgeraSurvey --out-dir dist --minify --metafile",lint:"eslint src",typecheck:"tsc --noEmit",check:"pnpm lint; pnpm typecheck",test:"vitest run","test:watch":"vitest"},devDependencies:{"@agera/config":"workspace:*","happy-dom":"^15.11.7",loglevel:"^1.9.2",nanostores:"^0.11.3","libphonenumber-js":"1.12.25",tsup:"^8.5.1",typescript:"^5.7.2",vitest:"^2.1.8"}};var Ve='[as-step]~[as-step]{display:none!important;}[as-error-for]:not([data-as-error-active="true"]){display:none;}[as-progress="bar"]:not([data-as-ready]){visibility:hidden;}',Q=Ue.version;var mr=typeof __BUILD_MODE__<"u"&&__BUILD_MODE__==="production";var g=x(L(),1);var I=[],$=0,te=4,dn=0,ne=e=>{let t=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},lc:0,listen(n){return r.lc=t.push(n),()=>{for(let o=$+te;o<I.length;)I[o]===n?I.splice(o,te):o+=te;let i=t.indexOf(n);~i&&(t.splice(i,1),--r.lc||r.off())}},notify(n,i){dn++;let o=!I.length;for(let s of t)I.push(s,r.value,n,i);if(o){for($=0;$<I.length;$+=te)I[$](I[$+1],I[$+2],I[$+3]);I.length=0}},off(){},set(n){let i=r.value;i!==n&&(r.value=n,r.notify(i))},subscribe(n){let i=r.listen(n);return n(r.value),i},value:e};return r};var v=ne({id:typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}`,answers:{},startedAt:new Date}),E=ne({current:"",path:[]});function je(){if(typeof window>"u")return;let e=window.localStorage.getItem("as:session");if(e)try{let t=JSON.parse(e);v.set({...t,startedAt:new Date(t.startedAt)})}catch{window.localStorage.removeItem("as:session")}v.subscribe(t=>{try{window.localStorage.setItem("as:session",JSON.stringify(t))}catch{}})}var fn=new Set(["__quiz__"]);function re(){if(typeof document>"u")return!0;let t=document.querySelector("[as-survey]")?.getAttribute("as-partial-submissions")?.toLowerCase();return t!==void 0?t!=="off":document.body?.getAttribute("as-partial-submissions")?.toLowerCase()!=="off"}function ie(e){return!!(e.disabled||e.classList.contains("as-disabled")||e.getAttribute("aria-disabled")==="true")}function pn(e){let t={};return e.querySelectorAll("input, textarea, select").forEach(n=>{if(!n.name&&!n.hasAttribute("as-element-id")||ie(n))return;let i=[];n.name&&i.push(n.name);let o=n.getAttribute("as-element-id");o&&i.push(o);let s=n.value;if(n instanceof HTMLInputElement&&n.type==="checkbox")s=!!n.checked;else if(n instanceof HTMLInputElement&&n.type==="radio"){if(!n.checked)return;s=n.value}i.forEach(a=>{t[a]=s})}),t}function be(e){if(typeof document>"u"||!e)return;let t=v.get(),r=pn(e),n=mn(t.answers,r);gn(t.answers,n)&&v.set({...t,answers:n})}function mn(e,t){let r={...t};for(let[n,i]of Object.entries(e))(!(n in r)||fn.has(n))&&(r[n]=i);return r}function gn(e,t){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!0;for(let i of n)if(e[i]!==t[i])return!0;return!1}function Be(){if(typeof document>"u")return{style:{}};let e=document.getElementById("as-aria-live");if(!e){e=document.createElement("div"),e.id="as-aria-live",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true");let t=e;t.style.position="absolute",t.style.left="-10000px",t.style.width="1px",t.style.height="1px",t.style.overflow="hidden",document.body.appendChild(e)}return e}function We(e,t){if(e.startsWith("env.")){let r=e.slice(4).split(".");if(r[0]==="utm"&&r[1])return new URLSearchParams(typeof window<"u"?window.location.search:"").get(`utm_${r[1]}`);if(r[0])return t[r[0]]}if(e.startsWith("quiz.")){let r=e.slice(5).split("."),n=t.__quiz__;if(!n)return;if(r[0]==="winner"){if(r.length===1)return n.winner;if(r[1]==="score")return n.winnerScore}return r[0]==="scores"&&r[1]?n.scores?.[r[1]]:void 0}return t[e]}var M=x(L(),1);var he=x(L(),1),yn="https://cdn.jsdelivr.net/npm/libphonenumber-js@1.12.25/max/index.js",bn="https://unpkg.com/libphonenumber-js@1.12.25/max/index.js",oe=null,G=null;async function ve(){return oe||G||(G=(async()=>{let e=[yn,bn],t=null;for(let n of e)try{let o=await import(n),s=o.parsePhoneNumberFromString||o.default?.parsePhoneNumberFromString||o.default,a=o.AsYouType||o.default?.AsYouType,u=o.getCountryCallingCode||o.default?.getCountryCallingCode;if(!s||typeof s!="function")throw new Error("parsePhoneNumberFromString not found in module");if(!a||typeof a!="function")throw new Error("AsYouType not found in module");if(!u||typeof u!="function")throw new Error("getCountryCallingCode not found in module");return oe={parsePhoneNumberFromString:s,AsYouType:a,getCountryCallingCode:u},oe}catch(i){t=i instanceof Error?i:new Error(String(i)),he.default.warn(`[phone-lib] Failed to load from ${n}, trying fallback...`,t)}let r=new Error(`Failed to load libphonenumber-js from all CDN URLs. Last error: ${t?.message}`);throw he.default.error("[phone-lib] Failed to load libphonenumber-js from all CDNs:",r),G=null,r})(),G)}async function se(){try{return(await ve())?.parsePhoneNumberFromString??null}catch{return null}}async function Qe(){try{return(await ve())?.AsYouType??null}catch{return null}}async function Ge(){try{return(await ve())?.getCountryCallingCode??null}catch{return null}}var Ee={"sv-SE":{required:"Detta f\xE4lt \xE4r obligatoriskt",email:"V\xE4nligen ange en giltig e-postadress",phone:"V\xE4nligen ange ett giltigt telefonnummer",pattern:"Ogiltigt format",min:"F\xF6r kort",max:"F\xF6r l\xE5ngt"},"nb-NO":{required:"Dette feltet er obligatorisk",email:"Vennligst oppgi en gyldig e-postadresse",phone:"Vennligst oppgi et gyldig telefonnummer",pattern:"Ugyldig format",min:"For kort",max:"For lang"},no:{required:"Dette feltet er obligatorisk",email:"Vennligst oppgi en gyldig e-postadresse",phone:"Vennligst oppgi et gyldig telefonnummer",pattern:"Ugyldig format",min:"For kort",max:"For lang"},"da-DK":{required:"Dette felt er p\xE5kr\xE6vet",email:"Indtast venligst en gyldig e-mailadresse",phone:"Indtast venligst et gyldigt telefonnummer",pattern:"Ugyldigt format",min:"For kort",max:"For lang"},"en-US":{required:"This field is required",email:"Please enter a valid email",phone:"Please enter a valid phone number",pattern:"Invalid format",min:"Too short",max:"Too long"},en:{required:"This field is required",email:"Please enter a valid email",phone:"Please enter a valid phone number",pattern:"Invalid format",min:"Too short",max:"Too long"},"de-DE":{required:"Dieses Feld ist erforderlich",email:"Bitte geben Sie eine g\xFCltige E-Mail-Adresse ein",phone:"Bitte geben Sie eine g\xFCltige Telefonnummer ein",pattern:"Ung\xFCltiges Format",min:"Zu kurz",max:"Zu lang"},"es-ES":{required:"Este campo es obligatorio",email:"Por favor, introduce un correo electr\xF3nico v\xE1lido",phone:"Por favor, introduce un n\xFAmero de tel\xE9fono v\xE1lido",pattern:"Formato no v\xE1lido",min:"Demasiado corto",max:"Demasiado largo"},"fi-FI":{required:"T\xE4m\xE4 kentt\xE4 on pakollinen",email:"Anna kelvollinen s\xE4hk\xF6postiosoite",phone:"Anna kelvollinen puhelinnumero",pattern:"Virheellinen muoto",min:"Liian lyhyt",max:"Liian pitk\xE4"},"fr-FR":{required:"Ce champ est obligatoire",email:"Veuillez saisir une adresse e-mail valide",phone:"Veuillez saisir un num\xE9ro de t\xE9l\xE9phone valide",pattern:"Format invalide",min:"Trop court",max:"Trop long"}};function Ye(){let e=Ee.en;if(typeof document>"u")return e;let t=document.documentElement.lang;if(!t)return e;let r=Ee[t];if(r)return r;let n=t.split("-")[0];if(n){let i=Ee[n];if(i)return i}return e}var w=x(L(),1);function D(e,t){switch(e){case"slide-left-right":return t==="in"?"slide-in-left":"slide-out-right";case"slide-right-left":return t==="in"?"slide-in-right":"slide-out-left";case"slide-up-down":return t==="in"?"slide-in-up":"slide-out-down";case"slide-down-up":return t==="in"?"slide-in-down":"slide-out-up";case"scale":return t==="in"?"scale-in":"scale-out";case"fade":return"fade";default:return"fade"}}function H(e,t,r){let n={initial:{},target:{}};switch(e){case"fade":r==="in"?(n.initial={opacity:"0"},n.target={opacity:"1"}):(n.initial={opacity:"1"},n.target={opacity:"0"});break;case"slide-in-left":n.initial={transform:`translateX(-${t})`,opacity:"0"},n.target={transform:"translateX(0)",opacity:"1"};break;case"slide-in-right":n.initial={transform:`translateX(${t})`,opacity:"0"},n.target={transform:"translateX(0)",opacity:"1"};break;case"slide-in-up":n.initial={transform:`translateY(-${t})`,opacity:"0"},n.target={transform:"translateY(0)",opacity:"1"};break;case"slide-in-down":n.initial={transform:`translateY(${t})`,opacity:"0"},n.target={transform:"translateY(0)",opacity:"1"};break;case"slide-out-left":n.initial={transform:"translateX(0)",opacity:"1"},n.target={transform:`translateX(-${t})`,opacity:"0"};break;case"slide-out-right":n.initial={transform:"translateX(0)",opacity:"1"},n.target={transform:`translateX(${t})`,opacity:"0"};break;case"slide-out-up":n.initial={transform:"translateY(0)",opacity:"1"},n.target={transform:`translateY(-${t})`,opacity:"0"};break;case"slide-out-down":n.initial={transform:"translateY(0)",opacity:"1"},n.target={transform:`translateY(${t})`,opacity:"0"};break;case"scale-in":n.initial={transform:"scale(0.98)",opacity:"0"},n.target={transform:"scale(1)",opacity:"1"};break;case"scale-out":n.initial={transform:"scale(1)",opacity:"1"},n.target={transform:"scale(0.98)",opacity:"0"};break}return n}function Xe(e,t={}){let{defaultDuration:r="300ms",defaultDistance:n="24px",onComplete:i,displayValue:o=""}=t,s=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(e.style.display=o,e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),s){e.style.opacity="1",i?.();return}let a=e.getAttribute("as-transition-in")||e.getAttribute("as-transition")||"fade",u=D(a,"in"),l=e.getAttribute("as-transition-distance")||n,f=e.getAttribute("as-transition-speed-in")||e.getAttribute("as-transition-speed"),m=H(u,l,"in"),c=window.getComputedStyle(e),y=F(c.transitionDuration,c.transitionDelay)>0,p=!1,b=c.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(b)||(e.style.transitionProperty="opacity, transform",p=!0),!y&&!f&&(e.style.transitionDuration=r,p||(e.style.transitionProperty="opacity, transform",p=!0)),f&&O(e,f,r),Object.assign(e.style,m.initial),e.offsetHeight,requestAnimationFrame(()=>{Object.assign(e.style,m.target),R(e,()=>{!y&&!f&&(e.style.transitionDuration=""),f&&(e.style.transitionDuration=""),p&&(e.style.transitionProperty=""),i?.()})})}function Ze(e,t={}){let{defaultDuration:r="300ms",defaultDistance:n="24px",onComplete:i}=t;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){e.style.display="none",e.setAttribute("aria-hidden","true"),i?.();return}let s=e.getAttribute("as-transition-out")||e.getAttribute("as-transition")||"fade",a=D(s,"out"),u=e.getAttribute("as-transition-distance")||n,l=e.getAttribute("as-transition-speed-out")||e.getAttribute("as-transition-speed"),f=H(a,u,"out"),m=window.getComputedStyle(e),c=F(m.transitionDuration,m.transitionDelay)>0,y=!1,p=m.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(p)||(e.style.transitionProperty="opacity, transform",y=!0),!c&&!l&&(e.style.transitionDuration=r,y||(e.style.transitionProperty="opacity, transform",y=!0)),l&&O(e,l,r),Object.assign(e.style,f.target),R(e,()=>{e.style.display="none",e.setAttribute("aria-hidden","true"),V(e),!c&&!l&&(e.style.transitionDuration=""),l&&(e.style.transitionDuration=""),y&&(e.style.transitionProperty=""),i?.()})}function et(e,t,r){let n={containerDisplay:e.style.display,containerAlignItems:e.style.alignItems,containerJustifyItems:e.style.justifyItems,incGridArea:t.style.gridArea,incZIndex:t.style.zIndex,outGridArea:r.style.gridArea,outZIndex:r.style.zIndex},i=window.getComputedStyle(e).display;return i!=="grid"&&i!=="inline-grid"&&(e.style.display="grid"),t.style.gridArea="1 / 1 / 2 / 2",r.style.gridArea="1 / 1 / 2 / 2",t.style.zIndex="1",r.style.zIndex="2",()=>{e.style.display=n.containerDisplay,e.style.alignItems=n.containerAlignItems,e.style.justifyItems=n.containerJustifyItems,t.style.gridArea=n.incGridArea,t.style.zIndex=n.incZIndex,r.style.gridArea=n.outGridArea,r.style.zIndex=n.outZIndex}}function tt(e,t,r){if(e.style.display="",e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t){e.style.opacity="1",r(e);return}let n=e.getAttribute("as-transition-in")||e.getAttribute("as-transition")||"fade",i=D(n,"in"),o=e.getAttribute("as-transition-distance")||"24px",s=e.getAttribute("as-transition-speed-in")||e.getAttribute("as-transition-speed"),a=H(i,o,"in"),u=window.getComputedStyle(e),l=F(u.transitionDuration,u.transitionDelay)>0,f=!1,m=!1,c=u.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(c)||(e.style.transitionProperty="opacity, transform",f=!0),!l&&!s&&(e.style.transitionDuration="300ms",f||(e.style.transitionProperty="opacity, transform",f=!0)),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",m=!0),s&&O(e,s),Object.assign(e.style,a.initial),e.offsetHeight,requestAnimationFrame(()=>{Object.assign(e.style,a.target),R(e,()=>{r(e),!l&&!s&&(e.style.transitionDuration=""),s&&(e.style.transitionDuration=""),f&&(e.style.transitionProperty=""),m&&(e.style.willChange="")})})}function we(e,t){if(t){e.style.setProperty("display","none","important"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert","");return}let r=e.getAttribute("as-transition-out")||e.getAttribute("as-transition")||"fade",n=D(r,"out"),i=e.getAttribute("as-transition-distance")||"24px",o=e.getAttribute("as-transition-speed-out")||e.getAttribute("as-transition-speed"),s=H(n,i,"out"),a=window.getComputedStyle(e),u=F(a.transitionDuration,a.transitionDelay)>0,l=!1,f=!1,m=a.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(m)||(e.style.transitionProperty="opacity, transform",l=!0),!u&&!o&&(e.style.transitionDuration="300ms",l||(e.style.transitionProperty="opacity, transform",l=!0)),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",f=!0),o&&O(e,o),Object.assign(e.style,s.target),R(e,()=>{e.style.setProperty("display","none","important"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),V(e),!u&&!o&&(e.style.transitionDuration=""),o&&(e.style.transitionDuration=""),l&&(e.style.transitionProperty=""),f&&(e.style.willChange="")})}function R(e,t){let r=window.getComputedStyle(e),n=r.transitionDuration,i=r.transitionDelay,o=F(n,i);if(o===0){t();return}let s=!1,a=setTimeout(()=>{s||(s=!0,t())},o+50),u=l=>{l.target===e&&!s&&(s=!0,clearTimeout(a),e.removeEventListener("transitionend",u),e.removeEventListener("animationend",u),t())};e.addEventListener("transitionend",u),e.addEventListener("animationend",u)}function O(e,t,r="300ms"){let i=window.getComputedStyle(e).transitionDuration,o=F(i,"0s")>0,s=o?i:r;switch(t){case"fast":e.style.transitionDuration=Je(s,.7);break;case"normal":o||(e.style.transitionDuration=s);break;case"slow":e.style.transitionDuration=Je(s,1.5);break;default:e.style.transitionDuration=t;break}}function Je(e,t){return e.split(",").map(n=>n.trim()).map(n=>{let i=n.match(/^([\d.]+)(m?s)$/);if(!i||!i[1]||!i[2])return n;let o=parseFloat(i[1]),s=i[2];return`${o*t}${s}`}).join(", ")}function F(e,t){let r=e.split(",").map(o=>Ke(o.trim())),n=t.split(",").map(o=>Ke(o.trim())),i=0;for(let o=0;o<r.length;o++){let s=r[o]||0,a=n[o]||n[0]||0,u=s+a;u>i&&(i=u)}return i}function Ke(e){let t=e.match(/^([\d.]+)(m?s)$/);if(!t||!t[1]||!t[2])return 0;let r=parseFloat(t[1]);return t[2]==="ms"?r:r*1e3}function V(e){e.style.opacity="",e.style.translate="",e.style.scale="",e.style.transform=""}var nt=!1;function at(e){if(e){if(nt){w.default.debug("[conditions] Already initialized, skipping");return}nt=!0,be(e),vn(e),Ae(),ot(),hn(),v.subscribe(()=>{Ae(),ot()}),w.default.debug("[conditions] Initialized")}}function ae(e,t){try{let r=JSON.parse(e);return _(r,t)}catch(r){return w.default.error("[conditions] Invalid predicate JSON:",r),!1}}function _(e,t){if("all"in e)return e.all.every(n=>_(n,t));if("any"in e)return e.any.some(n=>_(n,t));if("not"in e)return!_(e.not,t);if("field"in e&&"op"in e){let{field:r,op:n,value:i}=e,o=We(r,t);switch(n){case"eq":return o===i;case"neq":return o!==i;case"in":return Array.isArray(i)&&i.includes(o);case"nin":return Array.isArray(i)&&!i.includes(o);case"gt":return Number(o)>Number(i);case"gte":return Number(o)>=Number(i);case"lt":return Number(o)<Number(i);case"lte":return Number(o)<=Number(i);case"exists":return o!=null;case"truthy":return!!o;case"falsy":return!o;case"contains":return String(o).includes(String(i));case"starts_with":return String(o).startsWith(String(i));case"ends_with":return String(o).endsWith(String(i));default:return!1}}return!1}function Ae(){if(typeof document>"u")return;let e=v.get().answers;document.querySelectorAll("[as-show-if]").forEach(t=>{let r=t.getAttribute("as-show-if");if(!r)return;let n=ae(r,e);rt(t,n)}),document.querySelectorAll("[as-hide-if]").forEach(t=>{let r=t.getAttribute("as-hide-if");if(!r)return;let n=ae(r,e);rt(t,!n)})}function rt(e,t){let r=An(e);if(t!==r){if(t){En(e),w.default.debug("[conditions] Showing element with transition");return}wn(e),w.default.debug("[conditions] Hiding element with transition")}}function hn(){if(typeof document>"u"||typeof MutationObserver>"u")return;new MutationObserver(()=>{w.default.debug("[conditions] DOM mutation detected, re-applying visibility"),Ae()}).observe(document.body,{childList:!0,subtree:!0})}function vn(e){let t=()=>{be(e)};e.addEventListener("input",t),e.addEventListener("change",t)}function En(e){let t=lt(),r=ut(e);if(w.default.debug("[conditions] show transition start",{token:r,skipAnimation:t,element:le(e)}),e.dataset.asVisibilityState="visible",Sn(e),e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t){V(e),e.style.opacity="",e.style.transform="",w.default.debug("[conditions] show transition skipped (reduced motion)",{token:r});return}let n="200ms",i="12px",o=e.getAttribute("as-transition-in")||e.getAttribute("as-transition")||"fade",s=D(o,"in"),a=e.getAttribute("as-transition-distance")||i,u=e.getAttribute("as-transition-speed-in")||e.getAttribute("as-transition-speed"),l=H(s,a,"in"),f=window.getComputedStyle(e),m=F(f.transitionDuration,f.transitionDelay)>0,c=f.transitionProperty||"",y=/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(c),p=e.style.transitionProperty,b=e.style.transitionDuration,d=e.style.willChange;e.style.transitionProperty="none",e.style.transitionDuration="0ms",Object.assign(e.style,l.initial),e.offsetHeight,requestAnimationFrame(()=>{if(!Se(e,r)){w.default.debug("[conditions] show transition aborted before animation (token mismatch)",{token:r}),e.style.transitionProperty=p,e.style.transitionDuration=b,e.style.willChange=d;return}let N=!1,U=!1,q=!1;y?e.style.transitionProperty=p:(e.style.transitionProperty="opacity, transform",N=!0),u?O(e,u,n):m?e.style.transitionDuration=b:(e.style.transitionDuration=n,U=!0),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",q=!0),Object.assign(e.style,l.target),R(e,()=>{if(!Se(e,r)){w.default.debug("[conditions] show transition cleanup skipped (token mismatch)",{token:r});return}(U||u)&&(e.style.transitionDuration=b),N&&(e.style.transitionProperty=p),q&&(e.style.willChange=d),w.default.debug("[conditions] show transition complete",{token:r,element:le(e)})})})}function wn(e){let t=lt(),r=ut(e);if(w.default.debug("[conditions] hide transition start",{token:r,skipAnimation:t,element:le(e)}),e.dataset.asVisibilityState="hidden",t){it(e),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),V(e),w.default.debug("[conditions] hide transition skipped (reduced motion)",{token:r});return}let n="200ms",i="12px",o=e.getAttribute("as-transition-out")||e.getAttribute("as-transition")||"fade",s=D(o,"out"),a=e.getAttribute("as-transition-distance")||i,u=e.getAttribute("as-transition-speed-out")||e.getAttribute("as-transition-speed"),l=H(s,a,"out"),f=window.getComputedStyle(e),m=F(f.transitionDuration,f.transitionDelay)>0,c=!1,y=!1,p=f.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(p)||(e.style.transitionProperty="opacity, transform",c=!0),!m&&!u&&(e.style.transitionDuration=n,c||(e.style.transitionProperty="opacity, transform",c=!0)),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",y=!0),u&&O(e,u,n),Object.assign(e.style,l.target),R(e,()=>{if(!Se(e,r)){w.default.debug("[conditions] hide transition cleanup skipped (token mismatch)",{token:r});return}it(e),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),V(e),(!m&&!u||u)&&(e.style.transitionDuration=""),c&&(e.style.transitionProperty=""),y&&(e.style.willChange=""),w.default.debug("[conditions] hide transition complete",{token:r,element:le(e)})})}function lt(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ut(e){let t=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`;return e.dataset.asVisibilityToken=t,t}function Se(e,t){return e.dataset.asVisibilityToken===t}function An(e){let t=e.dataset.asVisibilityState;return t==="visible"?!0:!(t==="hidden"||e.getAttribute("aria-hidden")==="true"||e.style.display==="none")}function Sn(e){e.style.removeProperty("display");let t=e.dataset.asDisplayCache;if(t&&t!=="none"){e.style.display=t;return}t||(e.style.display="")}function it(e){Tn(e),e.style.setProperty("display","none","important")}function Tn(e){if(e.dataset.asDisplayCache&&e.dataset.asDisplayCache!=="none")return;let t=e.style.display;if(t&&t!=="none"){e.dataset.asDisplayCache=t;return}if(typeof window<"u"&&typeof window.getComputedStyle=="function"){let r=window.getComputedStyle(e).display;r&&r!=="none"&&(e.dataset.asDisplayCache=r)}}function le(e){let t=e.id?`#${e.id}`:"",r=e.getAttribute("as-element-id"),n=r?`[${r}]`:"";return`<${e.tagName.toLowerCase()}${t}${n}>`}function ct(e,t){try{let r=JSON.parse(e);for(let n of r)if(_(n.if,t))return n.then;return null}catch(r){return w.default.error("[conditions] Invalid next-map JSON:",r),null}}function ot(){if(typeof document>"u")return;let e=v.get().answers;document.querySelectorAll("[as-disable-if]").forEach(t=>{let r=t.getAttribute("as-disable-if");if(!r)return;let n=ae(r,e);st(t,n)}),document.querySelectorAll("[as-enable-if]").forEach(t=>{let r=t.getAttribute("as-enable-if");if(!r)return;let n=ae(r,e);st(t,!n)})}function st(e,t){if(!e.hasAttribute("data-as-original-tabindex")&&e.hasAttribute("tabindex")&&e.setAttribute("data-as-original-tabindex",e.getAttribute("tabindex")||"0"),t)(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement)&&(e.disabled=!0),e.setAttribute("aria-disabled","true"),e.setAttribute("tabindex","-1"),e.classList.add("as-disabled"),e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedby");else{(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement)&&(e.disabled=!1),e.removeAttribute("aria-disabled");let r=e.getAttribute("data-as-original-tabindex");r?(e.setAttribute("tabindex",r),e.removeAttribute("data-as-original-tabindex")):e.removeAttribute("tabindex"),e.classList.remove("as-disabled")}}function dt(e){return(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement)&&e.disabled?!0:e.classList.contains("as-disabled")}var ft={defaultDuration:"200ms",defaultDistance:"12px"};function pt(e){let t=e.trim();if(t==="")return null;let r=Number(t);return!isNaN(r)&&isFinite(r)?r:null}var Ln={required:e=>e.trim()!=="",email:e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),pattern:(e,t)=>{try{return new RegExp(t).test(e)}catch{return!1}},min:(e,t)=>{let r=pt(e),n=Number(t);return r!==null?r>=n:e.length>=n},max:(e,t)=>{let r=pt(e),n=Number(t);return r!==null?r<=n:e.length<=n}};function mt(e){if(e.dataset.asErrorDisplay)return;let t="",r=e.style.display;if(r&&r!=="none"&&(t=r),!t&&typeof window<"u"&&typeof window.getComputedStyle=="function"){let n=window.getComputedStyle(e).display;n&&n!=="none"&&(t=n)}t||(t=e.tagName==="SPAN"||e.tagName==="LABEL"?"inline":"block"),e.dataset.asErrorDisplay=t}function gt(e){e.dataset.asErrorDefault||(e.dataset.asErrorDefault=e.textContent??""),mt(e),e.hasAttribute("role")||e.setAttribute("role","alert"),e.hasAttribute("aria-live")||e.setAttribute("aria-live","polite")}function Te(e,t){mt(e);let r=e.hasAttribute("as-transition"),n=e.dataset.asErrorDisplay||"block";t?r?Xe(e,{...ft,displayValue:n}):(e.style.display=n,e.removeAttribute("hidden"),e.removeAttribute("aria-hidden")):r?Ze(e,ft):(e.style.display="none",e.setAttribute("aria-hidden","true"))}function xn(e){if(typeof document>"u")return;let t=[];e instanceof HTMLElement&&e.hasAttribute("as-error-for")&&t.push(e),e.querySelectorAll("[as-error-for]").forEach(r=>{t.includes(r)||t.push(r)});for(let r of t){gt(r);let n=r.dataset.asErrorActive==="true";Te(r,n)}}async function Mn(e,t){try{let r=await se();if(!r)return M.default.warn("[validation] Phone library not available"),!1;let n=t?.getAttribute("as-phone-region")||void 0,i=e.trim().startsWith("+");if(M.default.debug("[validation] Validating phone:",e,"has + prefix:",i,"region:",n),i){let o=r(e);if(M.default.debug("[validation] Parse international:",o?"success":"failed"),o&&typeof o.isValid=="function"){let s=o.isValid();return M.default.debug("[validation] Country:",o.country,"isValid:",s),s}return M.default.debug("[validation] International number validation failed"),!1}else{if(!n)return M.default.debug("[validation] No region specified for national number"),!1;let o=r(e,n);if(M.default.debug("[validation] Parse with region:",o?"success":"failed"),o&&typeof o.isValid=="function"){let s=o.isValid();return M.default.debug("[validation] Country:",o.country,"isValid:",s),s}return M.default.debug("[validation] National number validation failed"),!1}}catch(r){return M.default.error("[validation] Failed to validate phone number:",r),!1}}function yt(e){xn(e),M.default.debug("[validation] Initialized")}async function j(e){if(typeof document>"u")return!0;let t=document.querySelector(`[as-step="${e}"]`);if(!t)return!0;let r=Array.from(t.querySelectorAll("input, textarea, select"));for(let n of r){if(dt(n)){ue(n);continue}if(Dn(n)){ue(n);continue}let o=(n.getAttribute("as-validate")||"").split("|").map(l=>l.trim()).filter(Boolean),s=[],a=new Set;(n.hasAttribute("required")||n.required===!0)&&(s.push("required"),a.add("required"));for(let l of o)l&&(a.has(l)||(a.add(l),s.push(l)));if(s.length===0){ue(n);continue}let u=Hn(n);for(let l of s){let[f,m]=l.split(":"),c=f||"",y;if(c==="phone")y=await Mn(u,n);else if(c==="required")y=Rn(n,t);else{let p=Ln[c];y=p?p(u,m??""):!0}if(!y)return Pn(n,In(n,c)),!1}ue(n)}return!0}function Pn(e,t){let r=bt(e);if(r){ht(e);let i=Cn(r);r.textContent=t,r.dataset.asErrorActive="true",Te(r,!0),e.setAttribute("aria-invalid","true"),i&&e.setAttribute("aria-describedby",i);return}let n=e.nextElementSibling;(!n||!n.classList.contains("as-error"))&&(n=document.createElement("div"),n.className="as-error",n.setAttribute("role","alert"),e.parentElement?.insertBefore(n,e.nextSibling)),n.textContent=t,e.setAttribute("aria-invalid","true"),e.setAttribute("aria-describedby",n.id=`err-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():Date.now()}`)}function ue(e){let t=bt(e);if(t){let r=t.dataset.asErrorDefault??"";t.textContent=r,delete t.dataset.asErrorActive,Te(t,!1)}else ht(e);e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedby")}function bt(e){let t=e.getAttribute("as-element-id")||e.getAttribute("id")||e.getAttribute("name");return t?(e.closest("[as-step]")??document).querySelector(`[as-error-for="${t}"]`)??null:null}function ht(e){let t=e.nextElementSibling;t&&t.classList.contains("as-error")&&t.remove()}function In(e,t){let r=e.getAttribute("as-error-message");if(r)return r;let n=e.getAttribute("as-error-messages");if(n)try{let o=JSON.parse(n);if(o[t])return o[t]}catch{}return Ye()[t]||"Invalid input"}function Cn(e){if(gt(e),!e.id){let t=typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`err-${Date.now()}`;e.id=t}return e.id}function Dn(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e.disabled:!1}function Hn(e){if(e instanceof HTMLInputElement){let{type:t}=e;if(t==="checkbox"||t==="radio")return e.checked?e.value||"on":"";if(t==="file")return e.files&&e.files.length>0?"selected":""}return e instanceof HTMLSelectElement&&e.multiple?Array.from(e.selectedOptions).map(t=>t.value).join(","):e.value??""}function Rn(e,t){if(e instanceof HTMLInputElement){if(e.disabled)return!0;switch(e.type){case"checkbox":return e.checked;case"radio":{let r=e.name;if(!r)return e.checked;let n=`input[type="radio"][name="${kn(r)}"]`,i=t.querySelectorAll(n);for(let o of Array.from(i))if(!o.disabled&&o.checked)return!0;return!1}case"file":return!!(e.files&&e.files.length>0);default:return e.value.trim()!==""}}return e instanceof HTMLSelectElement?e.disabled?!0:e.multiple?e.selectedOptions.length>0:e.value.trim()!=="":e instanceof HTMLTextAreaElement?e.disabled?!0:e.value.trim()!=="":!0}function kn(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}var C=x(L(),1);var A=x(L(),1);var Le=new Map;function vt(e){let t=xe();if(!t){A.default.debug("[basin] No endpoint found, skipping Basin integration");return}qn(e),typeof window<"u"&&re()&&window.addEventListener("beforeunload",()=>{let r=Me();r.set("basinjsdraft","true"),r.set("basinjsmultistep","true"),navigator.sendBeacon(t,r)}),A.default.debug("[basin] Initialized with endpoint:",t)}function xe(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="as:basin-endpoint"]');if(e?.content)return e.content;let t=document.querySelector("[as-survey]");if(t?.hasAttribute("as-basin-endpoint"))return t.getAttribute("as-basin-endpoint")||"";let r=document.body;return r?.hasAttribute("as-basin-endpoint")&&r.getAttribute("as-basin-endpoint")||""}function Nn(e){try{let t=e.split(".")[1];if(!t)return!0;let{exp:r}=JSON.parse(atob(t.replace(/-/g,"+").replace(/_/g,"/")));return typeof r=="number"&&r<=Date.now()/1e3+60}catch{return!0}}async function Et(e){if(typeof window>"u")return"";let t=window.localStorage.getItem("as:basin-jwt");if(t&&!Nn(t))return t;t&&window.localStorage.removeItem("as:basin-jwt");try{let r=await fetch(`${e}/generate_jwt`,{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json"}});if(!r.ok)return A.default.warn("[basin] JWT endpoint returned",r.status,"- multistep may not be supported"),"";let n=await r.json();return n.jwt?(window.localStorage.setItem("as:basin-jwt",n.jwt),n.jwt):""}catch(r){return A.default.warn("[basin] Failed to fetch JWT (multistep may not be supported):",r),""}}async function ce(e){let t=xe();if(!t){A.default.warn("[basin] No endpoint, skipping partial submission");return}let r=await Et(t),n=Me();r&&n.append("basinjwt",r),n.append("basinjsmultistep","true"),n.append("basinjsdraft","true");let i=wt(e);if(n.append("basinjsstep",String(i)),A.default.getLevel()<=A.default.levels.DEBUG){A.default.debug(`[basin] Sending partial submission for step: ${e}`);let o=[];n.forEach((s,a)=>{o.push(` ${a}: ${typeof s=="string"?s.substring(0,100):"[File]"}`)}),A.default.debug(`[basin] FormData contents:
|
|
1
|
+
"use strict";var AgeraSurvey=(()=>{var nn=Object.create;var Z=Object.defineProperty;var rn=Object.getOwnPropertyDescriptor;var on=Object.getOwnPropertyNames;var sn=Object.getPrototypeOf,an=Object.prototype.hasOwnProperty;var ln=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),un=(e,t)=>{for(var r in t)Z(e,r,{get:t[r],enumerable:!0})},_e=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of on(t))!an.call(e,i)&&i!==r&&Z(e,i,{get:()=>t[i],enumerable:!(n=rn(t,i))||n.enumerable});return e};var x=(e,t,r)=>(r=e!=null?nn(sn(e)):{},_e(t||!e||!e.__esModule?Z(r,"default",{value:e,enumerable:!0}):r,e)),cn=e=>_e(Z({},"__esModule",{value:!0}),e);var L=ln((Ue,ee)=>{"use strict";(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof ee=="object"&&ee.exports?ee.exports=t():e.log=t()})(Ue,function(){"use strict";var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"],i={},o=null;function s(p,b){var d=p[b];if(typeof d.bind=="function")return d.bind(p);try{return Function.prototype.bind.call(d,p)}catch{return function(){return Function.prototype.apply.apply(d,[p,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function u(p){return p==="debug"&&(p="log"),typeof console===t?!1:p==="trace"&&r?a:console[p]!==void 0?s(console,p):console.log!==void 0?s(console,"log"):e}function l(){for(var p=this.getLevel(),b=0;b<n.length;b++){var d=n[b];this[d]=b<p?e:this.methodFactory(d,p,this.name)}if(this.log=this.debug,typeof console===t&&p<this.levels.SILENT)return"No console available for logging"}function f(p){return function(){typeof console!==t&&(l.call(this),this[p].apply(this,arguments))}}function m(p,b,d){return u(p)||f.apply(this,arguments)}function c(p,b){var d=this,N,U,q,P="loglevel";typeof p=="string"?P+=":"+p:typeof p=="symbol"&&(P=void 0);function Zt(h){var T=(n[h]||"silent").toUpperCase();if(!(typeof window===t||!P)){try{window.localStorage[P]=T;return}catch{}try{window.document.cookie=encodeURIComponent(P)+"="+T+";"}catch{}}}function Fe(){var h;if(!(typeof window===t||!P)){try{h=window.localStorage[P]}catch{}if(typeof h===t)try{var T=window.document.cookie,X=encodeURIComponent(P),ze=T.indexOf(X+"=");ze!==-1&&(h=/^([^;]+)/.exec(T.slice(ze+X.length+1))[1])}catch{}return d.levels[h]===void 0&&(h=void 0),h}}function en(){if(!(typeof window===t||!P)){try{window.localStorage.removeItem(P)}catch{}try{window.document.cookie=encodeURIComponent(P)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function W(h){var T=h;if(typeof T=="string"&&d.levels[T.toUpperCase()]!==void 0&&(T=d.levels[T.toUpperCase()]),typeof T=="number"&&T>=0&&T<=d.levels.SILENT)return T;throw new TypeError("log.setLevel() called with invalid level: "+h)}d.name=p,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=b||m,d.getLevel=function(){return q??U??N},d.setLevel=function(h,T){return q=W(h),T!==!1&&Zt(q),l.call(d)},d.setDefaultLevel=function(h){U=W(h),Fe()||d.setLevel(h,!1)},d.resetLevel=function(){q=null,en(),l.call(d)},d.enableAll=function(h){d.setLevel(d.levels.TRACE,h)},d.disableAll=function(h){d.setLevel(d.levels.SILENT,h)},d.rebuild=function(){if(o!==d&&(N=W(o.getLevel())),l.call(d),o===d)for(var h in i)i[h].rebuild()},N=W(o?o.getLevel():"WARN");var $e=Fe();$e!=null&&(q=W($e)),l.call(d)}o=new c,o.getLogger=function(b){if(typeof b!="symbol"&&typeof b!="string"||b==="")throw new TypeError("You must supply a name when creating a logger.");var d=i[b];return d||(d=i[b]=new c(b,o.methodFactory)),d};var y=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=y),o},o.getLoggers=function(){return i},o.default=o,o})});var dr={};un(dr,{init:()=>be});var k=x(L(),1);var Ve={name:"@reform-society/agera-survey",version:"0.1.4",description:"Multi-step survey runtime for Webflow",type:"module",main:"dist/index.global.js",types:"dist/index.d.ts",files:["dist"],repository:{type:"git",url:"git+https://github.com/reform-society/agera-survey-app.git",directory:"packages/agera-survey"},author:"Reform Society",license:"UNLICENSED",private:!1,publishConfig:{access:"public",provenance:!0},scripts:{dev:"tsup src/index.ts --format iife --global-name AgeraSurvey --watch --out-dir dist --sourcemap",build:"tsup src/index.ts --format iife --global-name AgeraSurvey --out-dir dist --minify","build:analyze":"tsup src/index.ts --format iife --global-name AgeraSurvey --out-dir dist --minify --metafile",lint:"eslint src",typecheck:"tsc --noEmit",check:"pnpm lint; pnpm typecheck",test:"vitest run","test:watch":"vitest"},devDependencies:{"@agera/config":"workspace:*","happy-dom":"^15.11.7",loglevel:"^1.9.2",nanostores:"^0.11.3","libphonenumber-js":"1.12.25",tsup:"^8.5.1",typescript:"^5.7.2",vitest:"^2.1.8"}};var je='[as-step]~[as-step]{display:none!important;}[as-error-for]:not([data-as-error-active="true"]){display:none;}[as-progress="bar"]:not([data-as-ready]){visibility:hidden;}',Q=Ve.version;var gr=typeof __BUILD_MODE__<"u"&&__BUILD_MODE__==="production";var g=x(L(),1);var I=[],$=0,te=4,fn=0,ne=e=>{let t=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},lc:0,listen(n){return r.lc=t.push(n),()=>{for(let o=$+te;o<I.length;)I[o]===n?I.splice(o,te):o+=te;let i=t.indexOf(n);~i&&(t.splice(i,1),--r.lc||r.off())}},notify(n,i){fn++;let o=!I.length;for(let s of t)I.push(s,r.value,n,i);if(o){for($=0;$<I.length;$+=te)I[$](I[$+1],I[$+2],I[$+3]);I.length=0}},off(){},set(n){let i=r.value;i!==n&&(r.value=n,r.notify(i))},subscribe(n){let i=r.listen(n);return n(r.value),i},value:e};return r};var v=ne({id:typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}`,answers:{},startedAt:new Date}),E=ne({current:"",path:[]});function Be(){if(typeof window>"u")return;let e=window.localStorage.getItem("as:session");if(e)try{let t=JSON.parse(e);v.set({...t,startedAt:new Date(t.startedAt)})}catch{window.localStorage.removeItem("as:session")}v.subscribe(t=>{try{window.localStorage.setItem("as:session",JSON.stringify(t))}catch{}})}var pn=new Set(["__quiz__"]);function re(){if(typeof document>"u")return!0;let t=document.querySelector("[as-survey]")?.getAttribute("as-partial-submissions")?.toLowerCase();return t!==void 0?t!=="off":document.body?.getAttribute("as-partial-submissions")?.toLowerCase()!=="off"}function ie(e){return!!(e.disabled||e.classList.contains("as-disabled")||e.getAttribute("aria-disabled")==="true")}function mn(e){let t={};return e.querySelectorAll("input, textarea, select").forEach(n=>{if(!n.name&&!n.hasAttribute("as-element-id")||ie(n))return;let i=[];n.name&&i.push(n.name);let o=n.getAttribute("as-element-id");o&&i.push(o);let s=n.value;if(n instanceof HTMLInputElement&&n.type==="checkbox")s=!!n.checked;else if(n instanceof HTMLInputElement&&n.type==="radio"){if(!n.checked)return;s=n.value}i.forEach(a=>{t[a]=s})}),t}function he(e){if(typeof document>"u"||!e)return;let t=v.get(),r=mn(e),n=gn(t.answers,r);yn(t.answers,n)&&v.set({...t,answers:n})}function gn(e,t){let r={...t};for(let[n,i]of Object.entries(e))(!(n in r)||pn.has(n))&&(r[n]=i);return r}function yn(e,t){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!0;for(let i of n)if(e[i]!==t[i])return!0;return!1}function We(){if(typeof document>"u")return{style:{}};let e=document.getElementById("as-aria-live");if(!e){e=document.createElement("div"),e.id="as-aria-live",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true");let t=e;t.style.position="absolute",t.style.left="-10000px",t.style.width="1px",t.style.height="1px",t.style.overflow="hidden",document.body.appendChild(e)}return e}function Qe(e,t){if(e.startsWith("env.")){let r=e.slice(4).split(".");if(r[0]==="utm"&&r[1])return new URLSearchParams(typeof window<"u"?window.location.search:"").get(`utm_${r[1]}`);if(r[0])return t[r[0]]}if(e.startsWith("quiz.")){let r=e.slice(5).split("."),n=t.__quiz__;if(!n)return;if(r[0]==="winner"){if(r.length===1)return n.winner;if(r[1]==="score")return n.winnerScore}return r[0]==="scores"&&r[1]?n.scores?.[r[1]]:void 0}return t[e]}var M=x(L(),1);var ve=x(L(),1),bn="https://cdn.jsdelivr.net/npm/libphonenumber-js@1.12.25/max/index.js",hn="https://unpkg.com/libphonenumber-js@1.12.25/max/index.js",oe=null,G=null;async function Ee(){return oe||G||(G=(async()=>{let e=[bn,hn],t=null;for(let n of e)try{let o=await import(n),s=o.parsePhoneNumberFromString||o.default?.parsePhoneNumberFromString||o.default,a=o.AsYouType||o.default?.AsYouType,u=o.getCountryCallingCode||o.default?.getCountryCallingCode;if(!s||typeof s!="function")throw new Error("parsePhoneNumberFromString not found in module");if(!a||typeof a!="function")throw new Error("AsYouType not found in module");if(!u||typeof u!="function")throw new Error("getCountryCallingCode not found in module");return oe={parsePhoneNumberFromString:s,AsYouType:a,getCountryCallingCode:u},oe}catch(i){t=i instanceof Error?i:new Error(String(i)),ve.default.warn(`[phone-lib] Failed to load from ${n}, trying fallback...`,t)}let r=new Error(`Failed to load libphonenumber-js from all CDN URLs. Last error: ${t?.message}`);throw ve.default.error("[phone-lib] Failed to load libphonenumber-js from all CDNs:",r),G=null,r})(),G)}async function se(){try{return(await Ee())?.parsePhoneNumberFromString??null}catch{return null}}async function Ge(){try{return(await Ee())?.AsYouType??null}catch{return null}}async function Ye(){try{return(await Ee())?.getCountryCallingCode??null}catch{return null}}var we={"sv-SE":{required:"Detta f\xE4lt \xE4r obligatoriskt",email:"V\xE4nligen ange en giltig e-postadress",phone:"V\xE4nligen ange ett giltigt telefonnummer",pattern:"Ogiltigt format",min:"F\xF6r kort",max:"F\xF6r l\xE5ngt"},"nb-NO":{required:"Dette feltet er obligatorisk",email:"Vennligst oppgi en gyldig e-postadresse",phone:"Vennligst oppgi et gyldig telefonnummer",pattern:"Ugyldig format",min:"For kort",max:"For lang"},no:{required:"Dette feltet er obligatorisk",email:"Vennligst oppgi en gyldig e-postadresse",phone:"Vennligst oppgi et gyldig telefonnummer",pattern:"Ugyldig format",min:"For kort",max:"For lang"},"da-DK":{required:"Dette felt er p\xE5kr\xE6vet",email:"Indtast venligst en gyldig e-mailadresse",phone:"Indtast venligst et gyldigt telefonnummer",pattern:"Ugyldigt format",min:"For kort",max:"For lang"},"en-US":{required:"This field is required",email:"Please enter a valid email",phone:"Please enter a valid phone number",pattern:"Invalid format",min:"Too short",max:"Too long"},en:{required:"This field is required",email:"Please enter a valid email",phone:"Please enter a valid phone number",pattern:"Invalid format",min:"Too short",max:"Too long"},"de-DE":{required:"Dieses Feld ist erforderlich",email:"Bitte geben Sie eine g\xFCltige E-Mail-Adresse ein",phone:"Bitte geben Sie eine g\xFCltige Telefonnummer ein",pattern:"Ung\xFCltiges Format",min:"Zu kurz",max:"Zu lang"},"es-ES":{required:"Este campo es obligatorio",email:"Por favor, introduce un correo electr\xF3nico v\xE1lido",phone:"Por favor, introduce un n\xFAmero de tel\xE9fono v\xE1lido",pattern:"Formato no v\xE1lido",min:"Demasiado corto",max:"Demasiado largo"},"fi-FI":{required:"T\xE4m\xE4 kentt\xE4 on pakollinen",email:"Anna kelvollinen s\xE4hk\xF6postiosoite",phone:"Anna kelvollinen puhelinnumero",pattern:"Virheellinen muoto",min:"Liian lyhyt",max:"Liian pitk\xE4"},"fr-FR":{required:"Ce champ est obligatoire",email:"Veuillez saisir une adresse e-mail valide",phone:"Veuillez saisir un num\xE9ro de t\xE9l\xE9phone valide",pattern:"Format invalide",min:"Trop court",max:"Trop long"}};function Je(){let e=we.en;if(typeof document>"u")return e;let t=document.documentElement.lang;if(!t)return e;let r=we[t];if(r)return r;let n=t.split("-")[0];if(n){let i=we[n];if(i)return i}return e}var w=x(L(),1);function D(e,t){switch(e){case"slide-left-right":return t==="in"?"slide-in-left":"slide-out-right";case"slide-right-left":return t==="in"?"slide-in-right":"slide-out-left";case"slide-up-down":return t==="in"?"slide-in-up":"slide-out-down";case"slide-down-up":return t==="in"?"slide-in-down":"slide-out-up";case"scale":return t==="in"?"scale-in":"scale-out";case"fade":return"fade";default:return"fade"}}function H(e,t,r){let n={initial:{},target:{}};switch(e){case"fade":r==="in"?(n.initial={opacity:"0"},n.target={opacity:"1"}):(n.initial={opacity:"1"},n.target={opacity:"0"});break;case"slide-in-left":n.initial={transform:`translateX(-${t})`,opacity:"0"},n.target={transform:"translateX(0)",opacity:"1"};break;case"slide-in-right":n.initial={transform:`translateX(${t})`,opacity:"0"},n.target={transform:"translateX(0)",opacity:"1"};break;case"slide-in-up":n.initial={transform:`translateY(-${t})`,opacity:"0"},n.target={transform:"translateY(0)",opacity:"1"};break;case"slide-in-down":n.initial={transform:`translateY(${t})`,opacity:"0"},n.target={transform:"translateY(0)",opacity:"1"};break;case"slide-out-left":n.initial={transform:"translateX(0)",opacity:"1"},n.target={transform:`translateX(-${t})`,opacity:"0"};break;case"slide-out-right":n.initial={transform:"translateX(0)",opacity:"1"},n.target={transform:`translateX(${t})`,opacity:"0"};break;case"slide-out-up":n.initial={transform:"translateY(0)",opacity:"1"},n.target={transform:`translateY(-${t})`,opacity:"0"};break;case"slide-out-down":n.initial={transform:"translateY(0)",opacity:"1"},n.target={transform:`translateY(${t})`,opacity:"0"};break;case"scale-in":n.initial={transform:"scale(0.98)",opacity:"0"},n.target={transform:"scale(1)",opacity:"1"};break;case"scale-out":n.initial={transform:"scale(1)",opacity:"1"},n.target={transform:"scale(0.98)",opacity:"0"};break}return n}function Ze(e,t={}){let{defaultDuration:r="300ms",defaultDistance:n="24px",onComplete:i,displayValue:o=""}=t,s=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(e.style.display=o,e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),s){e.style.opacity="1",i?.();return}let a=e.getAttribute("as-transition-in")||e.getAttribute("as-transition")||"fade",u=D(a,"in"),l=e.getAttribute("as-transition-distance")||n,f=e.getAttribute("as-transition-speed-in")||e.getAttribute("as-transition-speed"),m=H(u,l,"in"),c=window.getComputedStyle(e),y=F(c.transitionDuration,c.transitionDelay)>0,p=!1,b=c.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(b)||(e.style.transitionProperty="opacity, transform",p=!0),!y&&!f&&(e.style.transitionDuration=r,p||(e.style.transitionProperty="opacity, transform",p=!0)),f&&O(e,f,r),Object.assign(e.style,m.initial),e.offsetHeight,requestAnimationFrame(()=>{Object.assign(e.style,m.target),R(e,()=>{!y&&!f&&(e.style.transitionDuration=""),f&&(e.style.transitionDuration=""),p&&(e.style.transitionProperty=""),i?.()})})}function et(e,t={}){let{defaultDuration:r="300ms",defaultDistance:n="24px",onComplete:i}=t;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){e.style.display="none",e.setAttribute("aria-hidden","true"),i?.();return}let s=e.getAttribute("as-transition-out")||e.getAttribute("as-transition")||"fade",a=D(s,"out"),u=e.getAttribute("as-transition-distance")||n,l=e.getAttribute("as-transition-speed-out")||e.getAttribute("as-transition-speed"),f=H(a,u,"out"),m=window.getComputedStyle(e),c=F(m.transitionDuration,m.transitionDelay)>0,y=!1,p=m.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(p)||(e.style.transitionProperty="opacity, transform",y=!0),!c&&!l&&(e.style.transitionDuration=r,y||(e.style.transitionProperty="opacity, transform",y=!0)),l&&O(e,l,r),Object.assign(e.style,f.target),R(e,()=>{e.style.display="none",e.setAttribute("aria-hidden","true"),V(e),!c&&!l&&(e.style.transitionDuration=""),l&&(e.style.transitionDuration=""),y&&(e.style.transitionProperty=""),i?.()})}function tt(e,t,r){let n={containerDisplay:e.style.display,containerAlignItems:e.style.alignItems,containerJustifyItems:e.style.justifyItems,incGridArea:t.style.gridArea,incZIndex:t.style.zIndex,outGridArea:r.style.gridArea,outZIndex:r.style.zIndex},i=window.getComputedStyle(e).display;return i!=="grid"&&i!=="inline-grid"&&(e.style.display="grid"),t.style.gridArea="1 / 1 / 2 / 2",r.style.gridArea="1 / 1 / 2 / 2",t.style.zIndex="1",r.style.zIndex="2",()=>{e.style.display=n.containerDisplay,e.style.alignItems=n.containerAlignItems,e.style.justifyItems=n.containerJustifyItems,t.style.gridArea=n.incGridArea,t.style.zIndex=n.incZIndex,r.style.gridArea=n.outGridArea,r.style.zIndex=n.outZIndex}}function nt(e,t,r){if(e.style.display="",e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t){e.style.opacity="1",r(e);return}let n=e.getAttribute("as-transition-in")||e.getAttribute("as-transition")||"fade",i=D(n,"in"),o=e.getAttribute("as-transition-distance")||"24px",s=e.getAttribute("as-transition-speed-in")||e.getAttribute("as-transition-speed"),a=H(i,o,"in"),u=window.getComputedStyle(e),l=F(u.transitionDuration,u.transitionDelay)>0,f=!1,m=!1,c=u.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(c)||(e.style.transitionProperty="opacity, transform",f=!0),!l&&!s&&(e.style.transitionDuration="300ms",f||(e.style.transitionProperty="opacity, transform",f=!0)),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",m=!0),s&&O(e,s),Object.assign(e.style,a.initial),e.offsetHeight,requestAnimationFrame(()=>{Object.assign(e.style,a.target),R(e,()=>{r(e),!l&&!s&&(e.style.transitionDuration=""),s&&(e.style.transitionDuration=""),f&&(e.style.transitionProperty=""),m&&(e.style.willChange="")})})}function Ae(e,t){if(t){e.style.setProperty("display","none","important"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert","");return}let r=e.getAttribute("as-transition-out")||e.getAttribute("as-transition")||"fade",n=D(r,"out"),i=e.getAttribute("as-transition-distance")||"24px",o=e.getAttribute("as-transition-speed-out")||e.getAttribute("as-transition-speed"),s=H(n,i,"out"),a=window.getComputedStyle(e),u=F(a.transitionDuration,a.transitionDelay)>0,l=!1,f=!1,m=a.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(m)||(e.style.transitionProperty="opacity, transform",l=!0),!u&&!o&&(e.style.transitionDuration="300ms",l||(e.style.transitionProperty="opacity, transform",l=!0)),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",f=!0),o&&O(e,o),Object.assign(e.style,s.target),R(e,()=>{e.style.setProperty("display","none","important"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),V(e),!u&&!o&&(e.style.transitionDuration=""),o&&(e.style.transitionDuration=""),l&&(e.style.transitionProperty=""),f&&(e.style.willChange="")})}function R(e,t){let r=window.getComputedStyle(e),n=r.transitionDuration,i=r.transitionDelay,o=F(n,i);if(o===0){t();return}let s=!1,a=setTimeout(()=>{s||(s=!0,t())},o+50),u=l=>{l.target===e&&!s&&(s=!0,clearTimeout(a),e.removeEventListener("transitionend",u),e.removeEventListener("animationend",u),t())};e.addEventListener("transitionend",u),e.addEventListener("animationend",u)}function O(e,t,r="300ms"){let i=window.getComputedStyle(e).transitionDuration,o=F(i,"0s")>0,s=o?i:r;switch(t){case"fast":e.style.transitionDuration=Ke(s,.7);break;case"normal":o||(e.style.transitionDuration=s);break;case"slow":e.style.transitionDuration=Ke(s,1.5);break;default:e.style.transitionDuration=t;break}}function Ke(e,t){return e.split(",").map(n=>n.trim()).map(n=>{let i=n.match(/^([\d.]+)(m?s)$/);if(!i||!i[1]||!i[2])return n;let o=parseFloat(i[1]),s=i[2];return`${o*t}${s}`}).join(", ")}function F(e,t){let r=e.split(",").map(o=>Xe(o.trim())),n=t.split(",").map(o=>Xe(o.trim())),i=0;for(let o=0;o<r.length;o++){let s=r[o]||0,a=n[o]||n[0]||0,u=s+a;u>i&&(i=u)}return i}function Xe(e){let t=e.match(/^([\d.]+)(m?s)$/);if(!t||!t[1]||!t[2])return 0;let r=parseFloat(t[1]);return t[2]==="ms"?r:r*1e3}function V(e){e.style.opacity="",e.style.translate="",e.style.scale="",e.style.transform=""}var rt=!1;function lt(e){if(e){if(rt){w.default.debug("[conditions] Already initialized, skipping");return}rt=!0,he(e),En(e),Se(),st(),vn(),v.subscribe(()=>{Se(),st()}),w.default.debug("[conditions] Initialized")}}function ae(e,t){try{let r=JSON.parse(e);return _(r,t)}catch(r){return w.default.error("[conditions] Invalid predicate JSON:",r),!1}}function _(e,t){if("all"in e)return e.all.every(n=>_(n,t));if("any"in e)return e.any.some(n=>_(n,t));if("not"in e)return!_(e.not,t);if("field"in e&&"op"in e){let{field:r,op:n,value:i}=e,o=Qe(r,t);switch(n){case"eq":return o===i;case"neq":return o!==i;case"in":return Array.isArray(i)&&i.includes(o);case"nin":return Array.isArray(i)&&!i.includes(o);case"gt":return Number(o)>Number(i);case"gte":return Number(o)>=Number(i);case"lt":return Number(o)<Number(i);case"lte":return Number(o)<=Number(i);case"exists":return o!=null;case"truthy":return!!o;case"falsy":return!o;case"contains":return String(o).includes(String(i));case"starts_with":return String(o).startsWith(String(i));case"ends_with":return String(o).endsWith(String(i));default:return!1}}return!1}function le(e){if(!(e instanceof HTMLInputElement)||e.type!=="radio"&&e.type!=="checkbox")return e;let t=e.type==="radio"?".w-radio":".w-checkbox",r=e.closest(t);if(r)return r;let n=e.closest("label");return n||e}function Se(){if(typeof document>"u")return;let e=v.get().answers;document.querySelectorAll("[as-show-if]").forEach(t=>{let r=t.getAttribute("as-show-if");if(!r)return;let n=le(t),i=ae(r,e);it(n,i)}),document.querySelectorAll("[as-hide-if]").forEach(t=>{let r=t.getAttribute("as-hide-if");if(!r)return;let n=le(t),i=ae(r,e);it(n,!i)})}function it(e,t){let r=Sn(e);if(t!==r){if(t){wn(e),w.default.debug("[conditions] Showing element with transition");return}An(e),w.default.debug("[conditions] Hiding element with transition")}}function vn(){if(typeof document>"u"||typeof MutationObserver>"u")return;new MutationObserver(()=>{w.default.debug("[conditions] DOM mutation detected, re-applying visibility"),Se()}).observe(document.body,{childList:!0,subtree:!0})}function En(e){let t=()=>{he(e)};e.addEventListener("input",t),e.addEventListener("change",t)}function wn(e){let t=ut(),r=ct(e);if(w.default.debug("[conditions] show transition start",{token:r,skipAnimation:t,element:ue(e)}),e.dataset.asVisibilityState="visible",Tn(e),e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t){V(e),e.style.opacity="",e.style.transform="",w.default.debug("[conditions] show transition skipped (reduced motion)",{token:r});return}let n="200ms",i="12px",o=e.getAttribute("as-transition-in")||e.getAttribute("as-transition")||"fade",s=D(o,"in"),a=e.getAttribute("as-transition-distance")||i,u=e.getAttribute("as-transition-speed-in")||e.getAttribute("as-transition-speed"),l=H(s,a,"in"),f=window.getComputedStyle(e),m=F(f.transitionDuration,f.transitionDelay)>0,c=f.transitionProperty||"",y=/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(c),p=e.style.transitionProperty,b=e.style.transitionDuration,d=e.style.willChange;e.style.transitionProperty="none",e.style.transitionDuration="0ms",Object.assign(e.style,l.initial),e.offsetHeight,requestAnimationFrame(()=>{if(!Te(e,r)){w.default.debug("[conditions] show transition aborted before animation (token mismatch)",{token:r}),e.style.transitionProperty=p,e.style.transitionDuration=b,e.style.willChange=d;return}let N=!1,U=!1,q=!1;y?e.style.transitionProperty=p:(e.style.transitionProperty="opacity, transform",N=!0),u?O(e,u,n):m?e.style.transitionDuration=b:(e.style.transitionDuration=n,U=!0),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",q=!0),Object.assign(e.style,l.target),R(e,()=>{if(!Te(e,r)){w.default.debug("[conditions] show transition cleanup skipped (token mismatch)",{token:r});return}(U||u)&&(e.style.transitionDuration=b),N&&(e.style.transitionProperty=p),q&&(e.style.willChange=d),w.default.debug("[conditions] show transition complete",{token:r,element:ue(e)})})})}function An(e){let t=ut(),r=ct(e);if(w.default.debug("[conditions] hide transition start",{token:r,skipAnimation:t,element:ue(e)}),e.dataset.asVisibilityState="hidden",t){ot(e),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),V(e),w.default.debug("[conditions] hide transition skipped (reduced motion)",{token:r});return}let n="200ms",i="12px",o=e.getAttribute("as-transition-out")||e.getAttribute("as-transition")||"fade",s=D(o,"out"),a=e.getAttribute("as-transition-distance")||i,u=e.getAttribute("as-transition-speed-out")||e.getAttribute("as-transition-speed"),l=H(s,a,"out"),f=window.getComputedStyle(e),m=F(f.transitionDuration,f.transitionDelay)>0,c=!1,y=!1,p=f.transitionProperty||"";/(^|,|\s)(all|transform|opacity)(,|\s|$)/.test(p)||(e.style.transitionProperty="opacity, transform",c=!0),!m&&!u&&(e.style.transitionDuration=n,c||(e.style.transitionProperty="opacity, transform",c=!0)),e.style.willChange!=="opacity, transform"&&(e.style.willChange="opacity, transform",y=!0),u&&O(e,u,n),Object.assign(e.style,l.target),R(e,()=>{if(!Te(e,r)){w.default.debug("[conditions] hide transition cleanup skipped (token mismatch)",{token:r});return}ot(e),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),V(e),(!m&&!u||u)&&(e.style.transitionDuration=""),c&&(e.style.transitionProperty=""),y&&(e.style.willChange=""),w.default.debug("[conditions] hide transition complete",{token:r,element:ue(e)})})}function ut(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ct(e){let t=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`;return e.dataset.asVisibilityToken=t,t}function Te(e,t){return e.dataset.asVisibilityToken===t}function Sn(e){let t=e.dataset.asVisibilityState;return t==="visible"?!0:!(t==="hidden"||e.getAttribute("aria-hidden")==="true"||e.style.display==="none")}function Tn(e){e.style.removeProperty("display");let t=e.dataset.asDisplayCache;if(t&&t!=="none"){e.style.display=t;return}t||(e.style.display="")}function ot(e){Ln(e),e.style.setProperty("display","none","important")}function Ln(e){if(e.dataset.asDisplayCache&&e.dataset.asDisplayCache!=="none")return;let t=e.style.display;if(t&&t!=="none"){e.dataset.asDisplayCache=t;return}if(typeof window<"u"&&typeof window.getComputedStyle=="function"){let r=window.getComputedStyle(e).display;r&&r!=="none"&&(e.dataset.asDisplayCache=r)}}function ue(e){let t=e.id?`#${e.id}`:"",r=e.getAttribute("as-element-id"),n=r?`[${r}]`:"";return`<${e.tagName.toLowerCase()}${t}${n}>`}function dt(e,t){try{let r=JSON.parse(e);for(let n of r)if(_(n.if,t))return n.then;return null}catch(r){return w.default.error("[conditions] Invalid next-map JSON:",r),null}}function st(){if(typeof document>"u")return;let e=v.get().answers;document.querySelectorAll("[as-disable-if]").forEach(t=>{let r=t.getAttribute("as-disable-if");if(!r)return;let n=le(t),i=ae(r,e);at(n,i)}),document.querySelectorAll("[as-enable-if]").forEach(t=>{let r=t.getAttribute("as-enable-if");if(!r)return;let n=le(t),i=ae(r,e);at(n,!i)})}function at(e,t){if(!e.hasAttribute("data-as-original-tabindex")&&e.hasAttribute("tabindex")&&e.setAttribute("data-as-original-tabindex",e.getAttribute("tabindex")||"0"),t)(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement)&&(e.disabled=!0),e.setAttribute("aria-disabled","true"),e.setAttribute("tabindex","-1"),e.classList.add("as-disabled"),e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedby");else{(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement)&&(e.disabled=!1),e.removeAttribute("aria-disabled");let r=e.getAttribute("data-as-original-tabindex");r?(e.setAttribute("tabindex",r),e.removeAttribute("data-as-original-tabindex")):e.removeAttribute("tabindex"),e.classList.remove("as-disabled")}}function ft(e){return(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement)&&e.disabled?!0:e.classList.contains("as-disabled")}var pt={defaultDuration:"200ms",defaultDistance:"12px"};function mt(e){let t=e.trim();if(t==="")return null;let r=Number(t);return!isNaN(r)&&isFinite(r)?r:null}var xn={required:e=>e.trim()!=="",email:e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),pattern:(e,t)=>{try{return new RegExp(t).test(e)}catch{return!1}},min:(e,t)=>{let r=mt(e),n=Number(t);return r!==null?r>=n:e.length>=n},max:(e,t)=>{let r=mt(e),n=Number(t);return r!==null?r<=n:e.length<=n}};function gt(e){if(e.dataset.asErrorDisplay)return;let t="",r=e.style.display;if(r&&r!=="none"&&(t=r),!t&&typeof window<"u"&&typeof window.getComputedStyle=="function"){let n=window.getComputedStyle(e).display;n&&n!=="none"&&(t=n)}t||(t=e.tagName==="SPAN"||e.tagName==="LABEL"?"inline":"block"),e.dataset.asErrorDisplay=t}function yt(e){e.dataset.asErrorDefault||(e.dataset.asErrorDefault=e.textContent??""),gt(e),e.hasAttribute("role")||e.setAttribute("role","alert"),e.hasAttribute("aria-live")||e.setAttribute("aria-live","polite")}function Le(e,t){gt(e);let r=e.hasAttribute("as-transition"),n=e.dataset.asErrorDisplay||"block";t?r?Ze(e,{...pt,displayValue:n}):(e.style.display=n,e.removeAttribute("hidden"),e.removeAttribute("aria-hidden")):r?et(e,pt):(e.style.display="none",e.setAttribute("aria-hidden","true"))}function Mn(e){if(typeof document>"u")return;let t=[];e instanceof HTMLElement&&e.hasAttribute("as-error-for")&&t.push(e),e.querySelectorAll("[as-error-for]").forEach(r=>{t.includes(r)||t.push(r)});for(let r of t){yt(r);let n=r.dataset.asErrorActive==="true";Le(r,n)}}async function Pn(e,t){try{let r=await se();if(!r)return M.default.warn("[validation] Phone library not available"),!1;let n=t?.getAttribute("as-phone-region")||void 0,i=e.trim().startsWith("+");if(M.default.debug("[validation] Validating phone:",e,"has + prefix:",i,"region:",n),i){let o=r(e);if(M.default.debug("[validation] Parse international:",o?"success":"failed"),o&&typeof o.isValid=="function"){let s=o.isValid();return M.default.debug("[validation] Country:",o.country,"isValid:",s),s}return M.default.debug("[validation] International number validation failed"),!1}else{if(!n)return M.default.debug("[validation] No region specified for national number"),!1;let o=r(e,n);if(M.default.debug("[validation] Parse with region:",o?"success":"failed"),o&&typeof o.isValid=="function"){let s=o.isValid();return M.default.debug("[validation] Country:",o.country,"isValid:",s),s}return M.default.debug("[validation] National number validation failed"),!1}}catch(r){return M.default.error("[validation] Failed to validate phone number:",r),!1}}function bt(e){Mn(e),M.default.debug("[validation] Initialized")}async function j(e){if(typeof document>"u")return!0;let t=document.querySelector(`[as-step="${e}"]`);if(!t)return!0;let r=Array.from(t.querySelectorAll("input, textarea, select"));for(let n of r){if(ft(n)){ce(n);continue}if(Hn(n)){ce(n);continue}let o=(n.getAttribute("as-validate")||"").split("|").map(l=>l.trim()).filter(Boolean),s=[],a=new Set;(n.hasAttribute("required")||n.required===!0)&&(s.push("required"),a.add("required"));for(let l of o)l&&(a.has(l)||(a.add(l),s.push(l)));if(s.length===0){ce(n);continue}let u=Rn(n);for(let l of s){let[f,m]=l.split(":"),c=f||"",y;if(c==="phone")y=await Pn(u,n);else if(c==="required")y=kn(n,t);else{let p=xn[c];y=p?p(u,m??""):!0}if(!y)return In(n,Cn(n,c)),!1}ce(n)}return!0}function In(e,t){let r=ht(e);if(r){vt(e);let i=Dn(r);r.textContent=t,r.dataset.asErrorActive="true",Le(r,!0),e.setAttribute("aria-invalid","true"),i&&e.setAttribute("aria-describedby",i);return}let n=e.nextElementSibling;(!n||!n.classList.contains("as-error"))&&(n=document.createElement("div"),n.className="as-error",n.setAttribute("role","alert"),e.parentElement?.insertBefore(n,e.nextSibling)),n.textContent=t,e.setAttribute("aria-invalid","true"),e.setAttribute("aria-describedby",n.id=`err-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():Date.now()}`)}function ce(e){let t=ht(e);if(t){let r=t.dataset.asErrorDefault??"";t.textContent=r,delete t.dataset.asErrorActive,Le(t,!1)}else vt(e);e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedby")}function ht(e){let t=e.getAttribute("as-element-id")||e.getAttribute("id")||e.getAttribute("name");return t?(e.closest("[as-step]")??document).querySelector(`[as-error-for="${t}"]`)??null:null}function vt(e){let t=e.nextElementSibling;t&&t.classList.contains("as-error")&&t.remove()}function Cn(e,t){let r=e.getAttribute("as-error-message");if(r)return r;let n=e.getAttribute("as-error-messages");if(n)try{let o=JSON.parse(n);if(o[t])return o[t]}catch{}return Je()[t]||"Invalid input"}function Dn(e){if(yt(e),!e.id){let t=typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`err-${Date.now()}`;e.id=t}return e.id}function Hn(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e.disabled:!1}function Rn(e){if(e instanceof HTMLInputElement){let{type:t}=e;if(t==="checkbox"||t==="radio")return e.checked?e.value||"on":"";if(t==="file")return e.files&&e.files.length>0?"selected":""}return e instanceof HTMLSelectElement&&e.multiple?Array.from(e.selectedOptions).map(t=>t.value).join(","):e.value??""}function kn(e,t){if(e instanceof HTMLInputElement){if(e.disabled)return!0;switch(e.type){case"checkbox":return e.checked;case"radio":{let r=e.name;if(!r)return e.checked;let n=`input[type="radio"][name="${Nn(r)}"]`,i=t.querySelectorAll(n);for(let o of Array.from(i))if(!o.disabled&&o.checked)return!0;return!1}case"file":return!!(e.files&&e.files.length>0);default:return e.value.trim()!==""}}return e instanceof HTMLSelectElement?e.disabled?!0:e.multiple?e.selectedOptions.length>0:e.value.trim()!=="":e instanceof HTMLTextAreaElement?e.disabled?!0:e.value.trim()!=="":!0}function Nn(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}var C=x(L(),1);var A=x(L(),1);var xe=new Map;function Et(e){let t=Me();if(!t){A.default.debug("[basin] No endpoint found, skipping Basin integration");return}On(e),typeof window<"u"&&re()&&window.addEventListener("beforeunload",()=>{let r=Pe();r.set("basinjsdraft","true"),r.set("basinjsmultistep","true"),navigator.sendBeacon(t,r)}),A.default.debug("[basin] Initialized with endpoint:",t)}function Me(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="as:basin-endpoint"]');if(e?.content)return e.content;let t=document.querySelector("[as-survey]");if(t?.hasAttribute("as-basin-endpoint"))return t.getAttribute("as-basin-endpoint")||"";let r=document.body;return r?.hasAttribute("as-basin-endpoint")&&r.getAttribute("as-basin-endpoint")||""}function qn(e){try{let t=e.split(".")[1];if(!t)return!0;let{exp:r}=JSON.parse(atob(t.replace(/-/g,"+").replace(/_/g,"/")));return typeof r=="number"&&r<=Date.now()/1e3+60}catch{return!0}}async function wt(e){if(typeof window>"u")return"";let t=window.localStorage.getItem("as:basin-jwt");if(t&&!qn(t))return t;t&&window.localStorage.removeItem("as:basin-jwt");try{let r=await fetch(`${e}/generate_jwt`,{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json"}});if(!r.ok)return A.default.warn("[basin] JWT endpoint returned",r.status,"- multistep may not be supported"),"";let n=await r.json();return n.jwt?(window.localStorage.setItem("as:basin-jwt",n.jwt),n.jwt):""}catch(r){return A.default.warn("[basin] Failed to fetch JWT (multistep may not be supported):",r),""}}async function de(e){let t=Me();if(!t){A.default.warn("[basin] No endpoint, skipping partial submission");return}let r=await wt(t),n=Pe();r&&n.append("basinjwt",r),n.append("basinjsmultistep","true"),n.append("basinjsdraft","true");let i=At(e);if(n.append("basinjsstep",String(i)),A.default.getLevel()<=A.default.levels.DEBUG){A.default.debug(`[basin] Sending partial submission for step: ${e}`);let o=[];n.forEach((s,a)=>{o.push(` ${a}: ${typeof s=="string"?s.substring(0,100):"[File]"}`)}),A.default.debug(`[basin] FormData contents:
|
|
2
2
|
${o.join(`
|
|
3
|
-
`)}`)}try{let o=await fetch(t,{method:"POST",body:n,keepalive:!0});if(!o.ok){A.default.warn("[basin] Partial submission failed with status:",o.status);return}A.default.debug("[basin] Sent partial submission for step:",e)}catch(o){A.default.error("[basin] Failed to send partial submission:",o)}}async function de(e){let t=xe();if(!t){A.default.warn("[basin] No endpoint, skipping final submission");return}let r=await Et(t),n=Me();r&&n.append("basinjwt",r),n.append("basinjsmultistep","true"),n.append("basinjsdraft","false");try{await fetch(t,{method:"POST",body:n,keepalive:!0}),A.default.debug("[basin] Sent final submission for step:",e)}catch(i){A.default.error("[basin] Failed to send final submission:",i)}}function Me(){let e=new FormData;if(typeof document<"u"){let t=document.querySelector("[as-survey]");if(!t)return A.default.warn("[basin] Survey root not found, returning minimal FormData"),e.append("frombasinjs","false"),e.append("agera_version",Q),e;t.querySelectorAll('input[name]:not([type="file"]), textarea[name], select[name]').forEach(i=>{let o=i.name;o&&(ie(i)||(i instanceof HTMLInputElement?i.type==="checkbox"?i.checked&&e.append(o,i.value||"on"):i.type==="radio"?i.checked&&e.append(o,i.value):e.append(o,i.value):i instanceof HTMLSelectElement?i.multiple?Array.from(i.selectedOptions).forEach(s=>{e.append(o,s.value)}):e.append(o,i.value):i instanceof HTMLTextAreaElement&&e.append(o,i.value)))});let n=t.querySelectorAll('input[type="file"][name]');On(e,n)}if(e.append("frombasinjs","false"),e.append("agera_version",Q),typeof window<"u"){let t=new URLSearchParams(window.location.search);["source","medium","campaign","term","content"].forEach(r=>{let n=t.get(`utm_${r}`);n&&e.append(`utm_${r}`,n)})}return e}function qn(e){e.querySelectorAll("input, textarea, select").forEach(r=>{r.name&&(Le.set(r.name,{displayedAt:new Date}),r.addEventListener("focus",()=>{let n=Le.get(r.name);n&&!n.firstFocusedAt&&(n.firstFocusedAt=new Date)},{once:!0}),r.addEventListener("input",()=>{let n=Le.get(r.name);n&&(n.firstAnsweredAt||(n.firstAnsweredAt=new Date),n.lastEditedAt=new Date)}))})}function On(e,t){t.forEach(r=>{ie(r)||r.files&&r.name&&Array.from(r.files).forEach(n=>{e.append(r.name,n)})})}function At(e){e&&(Fn(e),C.default.debug("[redirect] Initialized"))}function Fn(e){e.querySelectorAll("[as-redirect]").forEach(t=>{t.dataset.asRedirectBound!=="true"&&(t.addEventListener("click",r=>{if(r.defaultPrevented)return;let n=r.currentTarget;if(n.hasAttribute("as-next")){C.default.debug("[redirect] Skipping auto-click handler because element also has [as-next]");return}r.preventDefault();let i=n.closest("[as-step]"),o=Vn(i);if(!o){C.default.warn("[redirect] Could not resolve step for redirect trigger:",jn(n));return}(async()=>{if(Un(n,i)&&!await j(o)){C.default.debug("[redirect] Validation failed, aborting redirect click");return}await Ie(o,n)})()}),t.dataset.asRedirectBound="true")})}async function Ie(e,t){if(typeof document>"u"||typeof window>"u")return;let r=document.querySelector(`[as-step="${e}"]`),n=t instanceof Element?t:null,i=zn(r,n);if(await de(e),!i){C.default.debug("[redirect] No redirect configured, final submission sent");return}let o=$n(i.url,i.preserveParams,i.includeSession,v.get().id);if(C.default.debug("[redirect] Redirecting via %s to: %s",i.source,o),i.useReplace){window.location.replace(o);return}window.location.assign(o)}function $n(e,t,r,n){if(typeof window>"u")return e;let i=new URL(e,window.location.origin);return t&&new URLSearchParams(window.location.search).forEach((s,a)=>{s&&(i.searchParams.has(a)||i.searchParams.set(a,s))}),r&&n&&i.searchParams.set("sessionId",n),i.toString()}function fe(e,t){if(!e||!e.hasAttribute(t))return null;let r=e.getAttribute(t);if(!r)return!0;let n=r.trim().toLowerCase();return!["false","0","off","no"].includes(n)}function zn(e,t){let r=v.get().answers,n=t?.getAttribute("as-redirect-map")??e?.getAttribute("as-redirect-map");if(n){let o=_n(n,r);if(o)return{url:o.to,preserveParams:o.preserveUtm??!0,includeSession:o.includeSession??!1,useReplace:o.replace??!1,source:"map"};C.default.debug("[redirect] Redirect map evaluated with no matching rule, falling back to attribute")}let i=t?.getAttribute("as-redirect")??e?.getAttribute("as-redirect");return i?{url:i,preserveParams:Pe("as-redirect-preserve-utm",t,e,!0),includeSession:Pe("as-redirect-include-session",t,e,!1),useReplace:Pe("as-redirect-replace",t,e,!1),source:"attribute"}:null}function Pe(e,t,r,n){return fe(t,e)??fe(r,e)??n}function _n(e,t){try{let r=JSON.parse(e);if(!Array.isArray(r))return C.default.warn("[redirect] as-redirect-map must be an array of rules"),null;for(let n of r){if(!n||typeof n.to!="string"||n.to.trim()===""){C.default.warn("[redirect] Redirect map rule missing a 'to' URL, skipping");continue}if(!n.if||_(n.if,t))return n}}catch(r){C.default.error("[redirect] Invalid as-redirect-map JSON:",r)}return null}function Un(e,t){return fe(e,"as-redirect-validate")??fe(t,"as-redirect-validate")??!0}function Vn(e){return e?.hasAttribute("as-step")?e.getAttribute("as-step"):E.get().current||null}function jn(e){let t=e.getAttribute("id"),r=e.closest("[as-step]")?.getAttribute("as-step");return`<${e.tagName.toLowerCase()}${t?`#${t}`:""}${r?` step="${r}"`:""}>`}function St(){document.addEventListener("keydown",e=>{if(e.key==="Enter"&&e.target instanceof HTMLInputElement){let t=document.querySelector(`[as-step="${E.get().current}"] [as-next]`);t instanceof HTMLElement&&(e.preventDefault(),t.click())}})}function pe(e){let t=Be();t.textContent=e}function Ce(e){let t=e.querySelector("input, textarea, select, button");t&&setTimeout(()=>t.focus(),100)}var Bn=80,Tt=new WeakMap;function Lt(e){let t=e.querySelector(":focus");t&&(g.default.debug("[steps] \u{1F532} Blurring focused element before hiding step"),t.blur())}function xt(e){let t=Array.from(e.querySelectorAll("[as-step]"));if(t.length===0)return;let r=t[0]?.getAttribute("as-step");r&&(E.set({current:r,path:[r]}),g.default.debug(`[steps] First step already visible: ${r}`)),Qn(e),St()}function Y(e,t){g.default.debug(`[steps] \u{1F4C4} showStep called: "${e}"${t?` (from: "${t}")`:""}`);let r=Array.from(document.querySelectorAll("[as-step]")),n=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,i=document.querySelector(`[as-step="${e}"]`),o=t?document.querySelector(`[as-step="${t}"]`):null;if(!i){let a=r.map(u=>u.getAttribute("as-step")).filter(Boolean).join(", ");g.default.warn(`[steps] \u274C Cannot show step "${e}" - element not found. Available: ${a}`);return}g.default.debug(`[steps] \u{1F3AC} Transition: ${n?"reduced motion":"animated"}`),t&&t!==e&&re()&&(g.default.debug(`[steps] \u{1F4BE} Triggering background partial submission for: "${t}"`),ce(t).catch(a=>{g.default.error("[steps] Background partial submission failed:",a)})),r.forEach(a=>{let u=a.getAttribute("as-step");if(u!==e&&u!==t){let l=a;Lt(l),l.style.setProperty("display","none","important"),l.setAttribute("aria-hidden","true"),l.setAttribute("inert","")}});let s;if(i&&o&&!n){let a=i.parentElement;a&&(s=et(a,i,o));let u=i.getAttribute("as-transition-in")||i.getAttribute("as-transition")||"fade",l=D(u,"in"),f=i.getAttribute("as-transition-distance")||"24px",m=i.getAttribute("as-transition-speed-in")||i.getAttribute("as-transition-speed"),c=H(l,f,"in");i.style.display="",i.style.visibility="hidden",i.setAttribute("aria-hidden","true"),i.setAttribute("inert","");let y=i.style.transitionProperty;i.style.transitionProperty="none",Object.assign(i.style,c.initial),i.offsetHeight,o&&Lt(o),we(o,!1),R(o,()=>{setTimeout(()=>{i.setAttribute("aria-hidden","false"),i.removeAttribute("inert"),i.style.transitionProperty="opacity, transform",i.style.transitionDuration="300ms",m&&O(i,m),i.style.willChange!=="opacity, transform"&&(i.style.willChange="opacity, transform"),i.style.visibility="visible",Object.assign(i.style,c.target),R(i,()=>{i.style.transitionDuration="",i.style.transitionProperty=y,i.style.willChange="",Ce(i),pe(`Step: ${e}`),s&&s()})},Bn)});return}i&&tt(i,n,Ce),o&&we(o,n),pe(`Step: ${e}`),g.default.debug(`[steps] \u2705 Step visible: "${e}"`)}function Wn(e){let t=Array.from(document.querySelectorAll("[as-step]")),n=document.querySelector(`[as-step="${e}"]`)?.getAttribute("as-next-map");if(n){g.default.debug("[steps] \u{1F5FA}\uFE0F Evaluating next-map for conditional routing");let s=v.get().answers,a=ct(n,s);if(a)return g.default.debug(`[steps] \u2713 Next-map resolved to: "${a}"`),a;g.default.debug("[steps] \u26A0\uFE0F Next-map evaluation returned no match, falling back to linear")}let i=t.findIndex(s=>s.getAttribute("as-step")===e),o=t[i+1]?.getAttribute("as-step")||e;return o!==e&&g.default.debug(`[steps] \u{1F4CB} Linear next step: "${o}"`),o}function Qn(e){e.querySelectorAll("[as-next]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault();let n=r.currentTarget;(async()=>{let{current:i,path:o}=E.get();if(g.default.debug(`[steps] \u{1F537} Next button clicked on step: ${i}`),g.default.debug(`[steps] Validating step: ${i}`),!await j(i)){g.default.debug(`[steps] \u274C Validation failed, staying on step: ${i}`);return}g.default.debug("[steps] \u2713 Validation passed");let a=Wn(i);a!==i?(g.default.debug(`[steps] \u27A1\uFE0F Navigating from "${i}" to "${a}"`),E.set({current:a,path:[...o,a]}),Y(a,i)):(g.default.debug("[steps] \u{1F3C1} No next step found, checking for redirect"),await Ie(i,n))})()})}),e.querySelectorAll("[as-back]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault();let{current:n,path:i}=E.get();if(g.default.debug(`[steps] \u{1F519} Back button clicked on step: ${n}`),i.length>1){let o=i.slice(0,-1),s=o[o.length-1];s&&(g.default.debug(`[steps] \u2B05\uFE0F Navigating back from "${n}" to "${s}"`),E.set({current:s,path:o}),Y(s,n))}else g.default.debug("[steps] \u26A0\uFE0F Cannot go back, already at first step")})}),e.querySelectorAll("[as-goto]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault();let n=t.getAttribute("as-goto");if(!n||n.trim()==="")return;let i=r.currentTarget,{current:o}=E.get();g.default.debug(`[steps] \u{1F3AF} Goto clicked on step "${o}", target: "${n}" (element: ${i.tagName})`);let s=Tt.get(t);s&&(s.abort(),g.default.debug("[steps] \u23F1\uFE0F Aborted previous goto timeout"));let a=new AbortController;Tt.set(t,a);let u=i.tagName==="BUTTON"||i.tagName==="A",l=i.tagName==="A",f=u||l?0:250,m=()=>{if(a.signal.aborted){g.default.debug("[steps] \u23F1\uFE0F Goto aborted, skipping navigation");return}let{current:c,path:y}=E.get();if(!document.querySelector(`[as-step="${n}"]`)){let d=Array.from(document.querySelectorAll("[as-step]")).map(N=>N.getAttribute("as-step")).filter(Boolean).join(", ");g.default.warn(`[steps] \u274C Target step "${n}" not found. Available: ${d}`);return}g.default.debug(`[steps] \u2197\uFE0F Goto navigating from "${c}" to "${n}"`),E.set({current:n,path:[...y,n]}),Y(n,c)};if(f>0){g.default.debug(`[steps] \u23F1\uFE0F Debouncing goto by ${f}ms`);let c=setTimeout(m,f);a.signal.addEventListener("abort",()=>{clearTimeout(c)})}else m()})}),e.querySelectorAll("[as-restart]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault(),g.default.debug("[steps] \u{1F504} Restart button clicked, resetting survey"),window.agera?.survey?.reset()})})}function wt(e){if(typeof document>"u")return 1;let r=Array.from(document.querySelectorAll("[as-step]")).findIndex(n=>n.getAttribute("as-step")===e);return r>=0?r+1:1}var Rt=x(L(),1);var He=x(L(),1);function Mt(e,t=document){return e.closest("[as-step]")||t}function J(e){return e?e.split("|").map(t=>t.trim()).filter(Boolean):[]}function De(e,t){return J(e).includes(t)}function Pt(e){return Array.from(e).some(t=>De(t.getAttribute("as-validate"),"required"))}function It(e){return["true","false",""].includes(e.toLowerCase())}function Ct(e,t){return e.querySelectorAll(`input[type="radio"][name="${t}"]`)}function me(e,t){t.length>0?e.setAttribute("as-validate",t.join("|")):e.removeAttribute("as-validate")}function Dt(e,t,r="input, select, textarea"){let n=[],i=new Set,o=r.split(",").map(s=>`${s.trim()}[${t}]`).join(", ");return e.querySelectorAll(o).forEach(s=>{i.has(s)||(i.add(s),n.push({attrElement:s,input:s}))}),e.querySelectorAll(`label[${t}]`).forEach(s=>{let a=s.querySelector(r);a&&!i.has(a)&&(i.add(a),n.push({attrElement:s,input:a}))}),n}function Re(e){let t=e||document;t.querySelectorAll("[as-radio-other-input]").forEach(r=>{let n=r,i=Mt(n,t),o=r.getAttribute("as-radio-other-input")||"",s=null;if(It(o)&&(o=""),o?(s=Gn(i,o),s&&(o=s.name)):(s=Yn(n,i),s&&(o=s.name)),!s||!o){He.default.debug("[components:radio-other-input] 'other' radio not found near input",n);return}let a=Ct(i,o);Jn(n,s,a)}),He.default.debug("[components:radio-other-input] Initialized")}function Gn(e,t){let r=e.querySelectorAll('input[type="radio"][value="other"]');for(let n of r)if(n.name.toLowerCase()===t.toLowerCase())return n;return null}function Yn(e,t){let r=e.parentElement;for(;r&&r!==t.parentElement;){let n=r.querySelector('input[type="radio"][value="other"]');if(n)return n;r=r.parentElement}return t.querySelector('input[type="radio"][value="other"]')}function Jn(e,t,r){e.removeAttribute("name");let n=e.getAttribute("as-validate"),i=e.hasAttribute("required"),o=De(n,"required"),s=Pt(r),a=e.hasAttribute("as-radio-other-required"),u=s||a,l=()=>{let c=e.value.trim();t.value=c||"other"},f=()=>{if(u)if(t.checked){let c=J(n);c.includes("required")||c.push("required"),me(e,c),e.setAttribute("required","")}else{if(n!==null)if(o)e.setAttribute("as-validate",n);else{let c=J(e.getAttribute("as-validate")).filter(y=>y!=="required");me(e,c)}else{let c=J(e.getAttribute("as-validate")).filter(y=>y!=="required");me(e,c)}i||e.removeAttribute("required")}};r.forEach(c=>{c.addEventListener("change",()=>{c===t&&t.checked&&(l(),setTimeout(()=>{e.focus()},0)),f()})});let m=()=>{t.checked||(t.checked=!0,t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",m),e.addEventListener("focus",m),e.addEventListener("input",l),e.addEventListener("change",l),e.addEventListener("blur",l),l(),f()}var S=x(L(),1);function ke(e){(e||document).querySelectorAll("[as-phone-format]").forEach(r=>{let n=r.getAttribute("as-phone-region")||void 0,i=r.getAttribute("as-phone-format")||"INTERNATIONAL",o=null,s=!1;Ht(n).then(a=>{o=a}),r.addEventListener("focus",()=>{Kn(r,i,n,s,a=>{s=a})}),r.addEventListener("input",()=>{Xn(r,n,o,a=>{o=a})}),r.addEventListener("blur",()=>{Zn(r,i,n)})}),S.default.debug("[components:phone-format] Initialized")}async function Ht(e){try{let t=await Qe();return t?new t(e):null}catch(t){return S.default.warn("[components:phone-format] Failed to initialize AsYouType:",t),null}}async function Kn(e,t,r,n,i){if(n||e.value.trim()){S.default.debug("[components:phone-format] Skipping prefill - already prefilled or has value");return}try{if(S.default.debug("[components:phone-format] Focus handler triggered, format:",t,"region:",r),t.toUpperCase()!=="INTERNATIONAL"){S.default.debug("[components:phone-format] Format is not INTERNATIONAL, skipping prefill");return}if(!r){S.default.debug("[components:phone-format] No region specified, skipping prefill");return}S.default.debug("[components:phone-format] Loading phone library...");let o=await Ge();if(!o){S.default.warn("[components:phone-format] Phone library not available");return}if(e.value.trim()){S.default.debug("[components:phone-format] Field now has value, skipping prefill");return}S.default.debug("[components:phone-format] Getting calling code for region:",r);let s=o(r);S.default.debug("[components:phone-format] Calling code:",s),s?(e.value="+"+s+" ",i(!0),S.default.debug("[components:phone-format] Prefilled country code:",e.value),e.setSelectionRange(e.value.length,e.value.length)):S.default.warn("[components:phone-format] Could not get calling code for region:",r)}catch(o){S.default.error("[components:phone-format] Failed to prefill country code:",o)}}async function Xn(e,t,r,n){try{if(!r){let a=await Ht(t);if(!a)return;n(a),r=a}let i=e.selectionStart||0,o=e.value;r.reset();let s=r.input(o);if(s!==o){e.value=s;let a=s.length-o.length,u=Math.max(0,Math.min(i+a,s.length));e.setSelectionRange(u,u)}}catch(i){S.default.warn("[components:phone-format] Failed to auto-format phone number:",i)}}async function Zn(e,t,r){try{let n=e.value.trim();if(!n)return;let i=await se();if(!i)return;let o=i(n);if(!o&&r&&(o=i(n,r)),o&&o.isValid&&o.isValid()){let s=er(o,t,n);e.value=s}}catch(n){S.default.warn("[components:phone-format] Failed to format phone number on blur:",n)}}function er(e,t,r){switch(t.toUpperCase()){case"E164":return e.format?e.format("E.164"):r;case"NATIONAL":return e.formatNational?e.formatNational():r;case"INTERNATIONAL":default:if(e.formatInternational){let n=e.formatInternational();if(r.replace(/\s/g,"")===n.replace(/\s/g,""))return n}return r}}function kt(e){Re(e),ke(e),Rt.default.debug("[components] Initialized")}var qt=x(L(),1);var Ne=e=>e.getAttribute("as-progress-mode")==="completed"?0:1,Ot=!0;function tr(e){let t=document.createElement("div");return t.className="as-progress-bar",e.appendChild(t),t}function Ft(e){E.subscribe(()=>Nt()),Nt(),requestAnimationFrame(()=>{Ot=!1}),qt.default.debug("[progress] Initialized")}function Nt(){if(typeof document>"u")return;let{current:e}=E.get(),t=Array.from(document.querySelectorAll("[as-step]")),r=t.length,n=t.findIndex(i=>i.getAttribute("as-step")===e);document.querySelectorAll('[as-progress="bar"]').forEach(i=>{let o=i,s=`${(n+Ne(i))/r*100}%`,a=i.classList.contains("as-progress-bar")?o:i.querySelector(".as-progress-bar")??tr(i);Ot?(a.style.transition="none",a.style.width=s,o.setAttribute("data-as-ready",""),requestAnimationFrame(()=>a.style.removeProperty("transition"))):a.style.width=s}),document.querySelectorAll('[as-progress="fraction"]').forEach(i=>{i.textContent=`${n+Ne(i)} / ${r}`}),document.querySelectorAll('[as-progress="steps"]').forEach(i=>{let o=Ne(i)===0,s=document.createDocumentFragment();t.forEach((a,u)=>{let l=u<n?"completed":u===n&&!o?"current":"pending",f=document.createElement("span");f.className=`as-step-dot ${l}`,s.appendChild(f)}),i.replaceChildren(s)})}function $t(){let{current:e}=E.get(),t=document.querySelectorAll("[as-step]"),r=t.length,n=Array.from(t).findIndex(s=>s.getAttribute("as-step")===e),i=n+1,o=n;return{viewing:{current:i,total:r,percent:r>0?Math.round(i/r*100):0},completed:{current:o,total:r,percent:r>0?Math.round(o/r*100):0}}}var z=x(L(),1);function _t(e){if(!e.hasAttribute("as-quiz")){z.default.debug("[quiz] Quiz mode not enabled");return}z.default.info("[quiz] Initializing quiz mode"),Ut(e),nr(e),zt(),v.subscribe(()=>{zt()}),z.default.debug("[quiz] Quiz mode initialized")}function nr(e){e.querySelectorAll("input, select, textarea").forEach(r=>{r.addEventListener("change",()=>{z.default.debug("[quiz] Answer changed, recalculating scores"),Ut(e)})})}function Ut(e){let t={};Dt(e,"as-weight").forEach(({attrElement:s,input:a})=>{let u=s.getAttribute("as-weight");if(u)try{let l=JSON.parse(u);if(rr(a))for(let[m,c]of Object.entries(l))typeof c=="number"&&c>0&&(t[m]=(t[m]||0)+c)}catch(l){z.default.warn("[quiz] Invalid as-weight JSON:",s,l)}}),e.querySelectorAll("select").forEach(s=>{for(let a of s.selectedOptions){let u=a.getAttribute("as-weight");if(u)try{let l=JSON.parse(u);for(let[f,m]of Object.entries(l))typeof m=="number"&&m>0&&(t[f]=(t[f]||0)+m)}catch(l){z.default.warn("[quiz] Invalid as-weight JSON on option:",a,l)}}});let n=or(t),i=v.get(),o={...i.answers,__quiz__:n};v.set({...i,quiz:n,answers:o}),z.default.debug("[quiz] Scores updated:",n)}function rr(e){return e instanceof HTMLInputElement&&e.type==="radio"||e instanceof HTMLInputElement&&e.type==="checkbox"?e.checked:e instanceof HTMLInputElement&&e.hasAttribute("as-radio-other-input")?ir(e)?.checked===!0&&e.value.trim()!=="":e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement?e.value.trim()!=="":e instanceof HTMLSelectElement?e.value!=="":!1}function ir(e){let t=e.getAttribute("as-radio-other-input"),r=e.closest("[as-step]")||document;if(t&&t!==""&&t!=="true"){let i=Array.from(r.querySelectorAll('input[type="radio"]')).filter(o=>o.name.toLowerCase()===t.toLowerCase());return i.find(o=>o.checked)||i[i.length-1]||null}let n=e.parentElement;for(;n&&n!==r;){let i=n.querySelector('input[type="radio"]');if(i)return i;n=n.parentElement}return null}function or(e){let t=Object.keys(e);if(t.length===0)return{scores:{},winner:null,winnerScore:0,ties:[]};let r=Math.max(...Object.values(e)),n=t.filter(i=>e[i]===r);return n.length===1?{scores:e,winner:n[0],winnerScore:r,ties:[]}:{scores:e,winner:n[0],winnerScore:r,ties:n}}function zt(){let t=v.get().quiz;t&&(document.querySelectorAll("[as-quiz-category]").forEach(r=>{let n=r.getAttribute("as-quiz-category");!n||n===""||n==="true"?r.textContent=t.winner||"":r.textContent=t.winner===n?n:""}),document.querySelectorAll("[as-quiz-score]").forEach(r=>{let n=r.getAttribute("as-quiz-score");if(!n||n===""||n==="true")r.textContent=String(t.winnerScore);else if(n==="all")r.textContent=JSON.stringify(t.scores);else{let i=t.scores[n]||0;r.textContent=String(i)}}))}function ge(){return v.get().quiz||null}function Vt(){return ge()?.scores||{}}function jt(){return ge()?.winner||null}var qe=x(L(),1),sr={name:"name",fullname:"name","full-name":"name",firstname:"given-name","first-name":"given-name",givenname:"given-name","given-name":"given-name",lastname:"family-name","last-name":"family-name",familyname:"family-name","family-name":"family-name",middlename:"additional-name","middle-name":"additional-name",nickname:"nickname",email:"email","e-mail":"email",phone:"tel",tel:"tel",telephone:"tel",mobile:"tel",cell:"tel",fax:"tel",address:"street-address",street:"street-address",streetaddress:"street-address","street-address":"street-address",address1:"address-line1","address-1":"address-line1",addressline1:"address-line1","address-line1":"address-line1",address2:"address-line2","address-2":"address-line2",addressline2:"address-line2","address-line2":"address-line2",address3:"address-line3","address-3":"address-line3",city:"address-level2",town:"address-level2",state:"address-level1",province:"address-level1",region:"address-level1",zip:"postal-code",zipcode:"postal-code","zip-code":"postal-code",postalcode:"postal-code","postal-code":"postal-code",postcode:"postal-code",country:"country-name",countryname:"country-name","country-name":"country-name",company:"organization",organization:"organization",organisation:"organization",org:"organization",jobtitle:"organization-title","job-title":"organization-title",title:"organization-title",role:"organization-title",birthday:"bday",birthdate:"bday",dob:"bday",dateofbirth:"bday","date-of-birth":"bday",birthyear:"bday-year",birthmonth:"bday-month",birthday_day:"bday-day",username:"username",user:"username",login:"username",website:"url",url:"url",homepage:"url"},Bt={email:"email",tel:"tel",url:"url"};function ar(e){return e.getAttribute("as-autocomplete")?.toLowerCase()!=="off"}function lr(e){return e.toLowerCase().replace(/[_\s]/g,"")}function Wt(e){if(!e)return;if(!ar(e)){qe.default.debug("[autocomplete] Disabled via as-autocomplete='off'");return}let t=e.querySelectorAll("input[name], textarea[name], select[name]"),r=0;t.forEach(n=>{if(n.hasAttribute("autocomplete"))return;let i=n.getAttribute("name")??"",o=n.getAttribute("type")?.toLowerCase();if(o&&Bt[o]){n.setAttribute("autocomplete",Bt[o]),r++;return}let s=lr(i),a=sr[s];a&&(n.setAttribute("autocomplete",a),r++)}),r>0&&qe.default.debug(`[autocomplete] Added autocomplete to ${r} field(s)`)}var K=x(L(),1);var B=null,Qt=!1;function ur(){if(typeof document>"u"||document.getElementById("as-pre-css"))return;let e=document.createElement("style");e.id="as-pre-css",e.textContent=Ve;let t=document.head||document.getElementsByTagName("head")[0]||document.documentElement;t.insertBefore(e,t.firstChild),K.default.debug("[prehide] Injected pre-CSS to hide non-first steps")}function Gt(){if(typeof document>"u")return;ur();function e(r,n){let i=r;n!==0&&(i.style.display="none",i.setAttribute("aria-hidden","true"),i.setAttribute("inert",""))}let t=document.querySelectorAll("[as-step]");t.forEach((r,n)=>e(r,n)),t.length>0&&K.default.debug(`[prehide] Hidden ${t.length-1} non-first steps before paint`),!B&&typeof MutationObserver<"u"&&(B=new MutationObserver(r=>{if(!Qt)for(let n of r)n.addedNodes.forEach(i=>{if(i.nodeType===Node.ELEMENT_NODE){let o=i;o.hasAttribute("as-step")&&e(o,1),o.querySelectorAll("[as-step]").forEach(s=>e(s,1))}})}),B.observe(document.documentElement,{childList:!0,subtree:!0}))}function Yt(){Qt=!0,B&&(B.disconnect(),B=null,K.default.debug("[prehide] Observer stopped"));let e=document.getElementById("as-pre-css");e&&(e.remove(),K.default.debug("[prehide] Removed pre-CSS, inline styles now control visibility"))}var Jt=x(L(),1);function Kt(){if(typeof document>"u"||document.getElementById("as-runtime-css"))return;let e=document.createElement("style");e.id="as-runtime-css",e.textContent=`
|
|
3
|
+
`)}`)}try{let o=await fetch(t,{method:"POST",body:n,keepalive:!0});if(!o.ok){A.default.warn("[basin] Partial submission failed with status:",o.status);return}A.default.debug("[basin] Sent partial submission for step:",e)}catch(o){A.default.error("[basin] Failed to send partial submission:",o)}}async function fe(e){let t=Me();if(!t){A.default.warn("[basin] No endpoint, skipping final submission");return}let r=await wt(t),n=Pe();r&&n.append("basinjwt",r),n.append("basinjsmultistep","true"),n.append("basinjsdraft","false");try{await fetch(t,{method:"POST",body:n,keepalive:!0}),A.default.debug("[basin] Sent final submission for step:",e)}catch(i){A.default.error("[basin] Failed to send final submission:",i)}}function Pe(){let e=new FormData;if(typeof document<"u"){let t=document.querySelector("[as-survey]");if(!t)return A.default.warn("[basin] Survey root not found, returning minimal FormData"),e.append("frombasinjs","false"),e.append("agera_version",Q),e;t.querySelectorAll('input[name]:not([type="file"]), textarea[name], select[name]').forEach(i=>{let o=i.name;o&&(ie(i)||(i instanceof HTMLInputElement?i.type==="checkbox"?i.checked&&e.append(o,i.value||"on"):i.type==="radio"?i.checked&&e.append(o,i.value):e.append(o,i.value):i instanceof HTMLSelectElement?i.multiple?Array.from(i.selectedOptions).forEach(s=>{e.append(o,s.value)}):e.append(o,i.value):i instanceof HTMLTextAreaElement&&e.append(o,i.value)))});let n=t.querySelectorAll('input[type="file"][name]');Fn(e,n)}if(e.append("frombasinjs","false"),e.append("agera_version",Q),typeof window<"u"){let t=new URLSearchParams(window.location.search);["source","medium","campaign","term","content"].forEach(r=>{let n=t.get(`utm_${r}`);n&&e.append(`utm_${r}`,n)})}return e}function On(e){e.querySelectorAll("input, textarea, select").forEach(r=>{r.name&&(xe.set(r.name,{displayedAt:new Date}),r.addEventListener("focus",()=>{let n=xe.get(r.name);n&&!n.firstFocusedAt&&(n.firstFocusedAt=new Date)},{once:!0}),r.addEventListener("input",()=>{let n=xe.get(r.name);n&&(n.firstAnsweredAt||(n.firstAnsweredAt=new Date),n.lastEditedAt=new Date)}))})}function Fn(e,t){t.forEach(r=>{ie(r)||r.files&&r.name&&Array.from(r.files).forEach(n=>{e.append(r.name,n)})})}function St(e){e&&($n(e),C.default.debug("[redirect] Initialized"))}function $n(e){e.querySelectorAll("[as-redirect]").forEach(t=>{t.dataset.asRedirectBound!=="true"&&(t.addEventListener("click",r=>{if(r.defaultPrevented)return;let n=r.currentTarget;if(n.hasAttribute("as-next")){C.default.debug("[redirect] Skipping auto-click handler because element also has [as-next]");return}r.preventDefault();let i=n.closest("[as-step]"),o=jn(i);if(!o){C.default.warn("[redirect] Could not resolve step for redirect trigger:",Bn(n));return}(async()=>{if(Vn(n,i)&&!await j(o)){C.default.debug("[redirect] Validation failed, aborting redirect click");return}await Ce(o,n)})()}),t.dataset.asRedirectBound="true")})}async function Ce(e,t){if(typeof document>"u"||typeof window>"u")return;let r=document.querySelector(`[as-step="${e}"]`),n=t instanceof Element?t:null,i=_n(r,n);if(await fe(e),!i){C.default.debug("[redirect] No redirect configured, final submission sent");return}let o=zn(i.url,i.preserveParams,i.includeSession,v.get().id);if(C.default.debug("[redirect] Redirecting via %s to: %s",i.source,o),i.useReplace){window.location.replace(o);return}window.location.assign(o)}function zn(e,t,r,n){if(typeof window>"u")return e;let i=new URL(e,window.location.origin);return t&&new URLSearchParams(window.location.search).forEach((s,a)=>{s&&(i.searchParams.has(a)||i.searchParams.set(a,s))}),r&&n&&i.searchParams.set("sessionId",n),i.toString()}function pe(e,t){if(!e||!e.hasAttribute(t))return null;let r=e.getAttribute(t);if(!r)return!0;let n=r.trim().toLowerCase();return!["false","0","off","no"].includes(n)}function _n(e,t){let r=v.get().answers,n=t?.getAttribute("as-redirect-map")??e?.getAttribute("as-redirect-map");if(n){let o=Un(n,r);if(o)return{url:o.to,preserveParams:o.preserveUtm??!0,includeSession:o.includeSession??!1,useReplace:o.replace??!1,source:"map"};C.default.debug("[redirect] Redirect map evaluated with no matching rule, falling back to attribute")}let i=t?.getAttribute("as-redirect")??e?.getAttribute("as-redirect");return i?{url:i,preserveParams:Ie("as-redirect-preserve-utm",t,e,!0),includeSession:Ie("as-redirect-include-session",t,e,!1),useReplace:Ie("as-redirect-replace",t,e,!1),source:"attribute"}:null}function Ie(e,t,r,n){return pe(t,e)??pe(r,e)??n}function Un(e,t){try{let r=JSON.parse(e);if(!Array.isArray(r))return C.default.warn("[redirect] as-redirect-map must be an array of rules"),null;for(let n of r){if(!n||typeof n.to!="string"||n.to.trim()===""){C.default.warn("[redirect] Redirect map rule missing a 'to' URL, skipping");continue}if(!n.if||_(n.if,t))return n}}catch(r){C.default.error("[redirect] Invalid as-redirect-map JSON:",r)}return null}function Vn(e,t){return pe(e,"as-redirect-validate")??pe(t,"as-redirect-validate")??!0}function jn(e){return e?.hasAttribute("as-step")?e.getAttribute("as-step"):E.get().current||null}function Bn(e){let t=e.getAttribute("id"),r=e.closest("[as-step]")?.getAttribute("as-step");return`<${e.tagName.toLowerCase()}${t?`#${t}`:""}${r?` step="${r}"`:""}>`}function Tt(){document.addEventListener("keydown",e=>{if(e.key==="Enter"&&e.target instanceof HTMLInputElement){let t=document.querySelector(`[as-step="${E.get().current}"] [as-next]`);t instanceof HTMLElement&&(e.preventDefault(),t.click())}})}function me(e){let t=We();t.textContent=e}function De(e){let t=e.querySelector("input, textarea, select, button");t&&setTimeout(()=>t.focus(),100)}var Wn=80,Lt=new WeakMap;function xt(e){let t=e.querySelector(":focus");t&&(g.default.debug("[steps] \u{1F532} Blurring focused element before hiding step"),t.blur())}function Mt(e){let t=Array.from(e.querySelectorAll("[as-step]"));if(t.length===0)return;let r=t[0]?.getAttribute("as-step");r&&(E.set({current:r,path:[r]}),g.default.debug(`[steps] First step already visible: ${r}`)),Gn(e),Tt()}function Y(e,t){g.default.debug(`[steps] \u{1F4C4} showStep called: "${e}"${t?` (from: "${t}")`:""}`);let r=Array.from(document.querySelectorAll("[as-step]")),n=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,i=document.querySelector(`[as-step="${e}"]`),o=t?document.querySelector(`[as-step="${t}"]`):null;if(!i){let a=r.map(u=>u.getAttribute("as-step")).filter(Boolean).join(", ");g.default.warn(`[steps] \u274C Cannot show step "${e}" - element not found. Available: ${a}`);return}g.default.debug(`[steps] \u{1F3AC} Transition: ${n?"reduced motion":"animated"}`),t&&t!==e&&re()&&(g.default.debug(`[steps] \u{1F4BE} Triggering background partial submission for: "${t}"`),de(t).catch(a=>{g.default.error("[steps] Background partial submission failed:",a)})),r.forEach(a=>{let u=a.getAttribute("as-step");if(u!==e&&u!==t){let l=a;xt(l),l.style.setProperty("display","none","important"),l.setAttribute("aria-hidden","true"),l.setAttribute("inert","")}});let s;if(i&&o&&!n){let a=i.parentElement;a&&(s=tt(a,i,o));let u=i.getAttribute("as-transition-in")||i.getAttribute("as-transition")||"fade",l=D(u,"in"),f=i.getAttribute("as-transition-distance")||"24px",m=i.getAttribute("as-transition-speed-in")||i.getAttribute("as-transition-speed"),c=H(l,f,"in");i.style.display="",i.style.visibility="hidden",i.setAttribute("aria-hidden","true"),i.setAttribute("inert","");let y=i.style.transitionProperty;i.style.transitionProperty="none",Object.assign(i.style,c.initial),i.offsetHeight,o&&xt(o),Ae(o,!1),R(o,()=>{setTimeout(()=>{i.setAttribute("aria-hidden","false"),i.removeAttribute("inert"),i.style.transitionProperty="opacity, transform",i.style.transitionDuration="300ms",m&&O(i,m),i.style.willChange!=="opacity, transform"&&(i.style.willChange="opacity, transform"),i.style.visibility="visible",Object.assign(i.style,c.target),R(i,()=>{i.style.transitionDuration="",i.style.transitionProperty=y,i.style.willChange="",De(i),me(`Step: ${e}`),s&&s()})},Wn)});return}i&&nt(i,n,De),o&&Ae(o,n),me(`Step: ${e}`),g.default.debug(`[steps] \u2705 Step visible: "${e}"`)}function Qn(e){let t=Array.from(document.querySelectorAll("[as-step]")),n=document.querySelector(`[as-step="${e}"]`)?.getAttribute("as-next-map");if(n){g.default.debug("[steps] \u{1F5FA}\uFE0F Evaluating next-map for conditional routing");let s=v.get().answers,a=dt(n,s);if(a)return g.default.debug(`[steps] \u2713 Next-map resolved to: "${a}"`),a;g.default.debug("[steps] \u26A0\uFE0F Next-map evaluation returned no match, falling back to linear")}let i=t.findIndex(s=>s.getAttribute("as-step")===e),o=t[i+1]?.getAttribute("as-step")||e;return o!==e&&g.default.debug(`[steps] \u{1F4CB} Linear next step: "${o}"`),o}function Gn(e){e.querySelectorAll("[as-next]").forEach(t=>{t.addEventListener("click",r=>{let n=r.currentTarget;n instanceof HTMLInputElement&&(n.type==="radio"||n.type==="checkbox")&&(n.type==="radio"?n.checked=!0:n.checked=!n.checked,n.dispatchEvent(new Event("change",{bubbles:!0}))),r.preventDefault(),(async()=>{let{current:i,path:o}=E.get();if(g.default.debug(`[steps] \u{1F537} Next button clicked on step: ${i}`),g.default.debug(`[steps] Validating step: ${i}`),!await j(i)){g.default.debug(`[steps] \u274C Validation failed, staying on step: ${i}`);return}g.default.debug("[steps] \u2713 Validation passed");let a=Qn(i);a!==i?(g.default.debug(`[steps] \u27A1\uFE0F Navigating from "${i}" to "${a}"`),E.set({current:a,path:[...o,a]}),Y(a,i)):(g.default.debug("[steps] \u{1F3C1} No next step found, checking for redirect"),await Ce(i,n))})()})}),e.querySelectorAll("[as-back]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault();let{current:n,path:i}=E.get();if(g.default.debug(`[steps] \u{1F519} Back button clicked on step: ${n}`),i.length>1){let o=i.slice(0,-1),s=o[o.length-1];s&&(g.default.debug(`[steps] \u2B05\uFE0F Navigating back from "${n}" to "${s}"`),E.set({current:s,path:o}),Y(s,n))}else g.default.debug("[steps] \u26A0\uFE0F Cannot go back, already at first step")})}),e.querySelectorAll("[as-goto]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault();let n=t.getAttribute("as-goto");if(!n||n.trim()==="")return;let i=r.currentTarget,{current:o}=E.get();g.default.debug(`[steps] \u{1F3AF} Goto clicked on step "${o}", target: "${n}" (element: ${i.tagName})`);let s=Lt.get(t);s&&(s.abort(),g.default.debug("[steps] \u23F1\uFE0F Aborted previous goto timeout"));let a=new AbortController;Lt.set(t,a);let u=i.tagName==="BUTTON"||i.tagName==="A",l=i.tagName==="A",f=u||l?0:250,m=()=>{if(a.signal.aborted){g.default.debug("[steps] \u23F1\uFE0F Goto aborted, skipping navigation");return}let{current:c,path:y}=E.get();if(!document.querySelector(`[as-step="${n}"]`)){let d=Array.from(document.querySelectorAll("[as-step]")).map(N=>N.getAttribute("as-step")).filter(Boolean).join(", ");g.default.warn(`[steps] \u274C Target step "${n}" not found. Available: ${d}`);return}g.default.debug(`[steps] \u2197\uFE0F Goto navigating from "${c}" to "${n}"`),E.set({current:n,path:[...y,n]}),Y(n,c)};if(f>0){g.default.debug(`[steps] \u23F1\uFE0F Debouncing goto by ${f}ms`);let c=setTimeout(m,f);a.signal.addEventListener("abort",()=>{clearTimeout(c)})}else m()})}),e.querySelectorAll("[as-restart]").forEach(t=>{t.addEventListener("click",r=>{r.preventDefault(),g.default.debug("[steps] \u{1F504} Restart button clicked, resetting survey"),window.agera?.survey?.reset()})})}function At(e){if(typeof document>"u")return 1;let r=Array.from(document.querySelectorAll("[as-step]")).findIndex(n=>n.getAttribute("as-step")===e);return r>=0?r+1:1}var kt=x(L(),1);var Re=x(L(),1);function Pt(e,t=document){return e.closest("[as-step]")||t}function J(e){return e?e.split("|").map(t=>t.trim()).filter(Boolean):[]}function He(e,t){return J(e).includes(t)}function It(e){return Array.from(e).some(t=>He(t.getAttribute("as-validate"),"required"))}function Ct(e){return["true","false",""].includes(e.toLowerCase())}function Dt(e,t){return e.querySelectorAll(`input[type="radio"][name="${t}"]`)}function ge(e,t){t.length>0?e.setAttribute("as-validate",t.join("|")):e.removeAttribute("as-validate")}function Ht(e,t,r="input, select, textarea"){let n=[],i=new Set,o=r.split(",").map(s=>`${s.trim()}[${t}]`).join(", ");return e.querySelectorAll(o).forEach(s=>{i.has(s)||(i.add(s),n.push({attrElement:s,input:s}))}),e.querySelectorAll(`label[${t}]`).forEach(s=>{let a=s.querySelector(r);a&&!i.has(a)&&(i.add(a),n.push({attrElement:s,input:a}))}),n}function ke(e){let t=e||document;t.querySelectorAll("[as-radio-other-input]").forEach(r=>{let n=r,i=Pt(n,t),o=r.getAttribute("as-radio-other-input")||"",s=null;if(Ct(o)&&(o=""),o?(s=Yn(i,o),s&&(o=s.name)):(s=Jn(n,i),s&&(o=s.name)),!s||!o){Re.default.debug("[components:radio-other-input] 'other' radio not found near input",n);return}let a=Dt(i,o);Kn(n,s,a)}),Re.default.debug("[components:radio-other-input] Initialized")}function Yn(e,t){let r=e.querySelectorAll('input[type="radio"][value="other"]');for(let n of r)if(n.name.toLowerCase()===t.toLowerCase())return n;return null}function Jn(e,t){let r=e.parentElement;for(;r&&r!==t.parentElement;){let n=r.querySelector('input[type="radio"][value="other"]');if(n)return n;r=r.parentElement}return t.querySelector('input[type="radio"][value="other"]')}function Kn(e,t,r){e.removeAttribute("name");let n=e.getAttribute("as-validate"),i=e.hasAttribute("required"),o=He(n,"required"),s=It(r),a=e.hasAttribute("as-radio-other-required"),u=s||a,l=()=>{let c=e.value.trim();t.value=c||"other"},f=()=>{if(u)if(t.checked){let c=J(n);c.includes("required")||c.push("required"),ge(e,c),e.setAttribute("required","")}else{if(n!==null)if(o)e.setAttribute("as-validate",n);else{let c=J(e.getAttribute("as-validate")).filter(y=>y!=="required");ge(e,c)}else{let c=J(e.getAttribute("as-validate")).filter(y=>y!=="required");ge(e,c)}i||e.removeAttribute("required")}};r.forEach(c=>{c.addEventListener("change",()=>{c===t&&t.checked&&(l(),setTimeout(()=>{e.focus()},0)),f()})});let m=()=>{t.checked||(t.checked=!0,t.dispatchEvent(new Event("change",{bubbles:!0})))};e.addEventListener("click",m),e.addEventListener("focus",m),e.addEventListener("input",l),e.addEventListener("change",l),e.addEventListener("blur",l),l(),f()}var S=x(L(),1);function Ne(e){(e||document).querySelectorAll("[as-phone-format]").forEach(r=>{let n=r.getAttribute("as-phone-region")||void 0,i=r.getAttribute("as-phone-format")||"INTERNATIONAL",o=null,s=!1;Rt(n).then(a=>{o=a}),r.addEventListener("focus",()=>{Xn(r,i,n,s,a=>{s=a})}),r.addEventListener("input",()=>{Zn(r,n,o,a=>{o=a})}),r.addEventListener("blur",()=>{er(r,i,n)})}),S.default.debug("[components:phone-format] Initialized")}async function Rt(e){try{let t=await Ge();return t?new t(e):null}catch(t){return S.default.warn("[components:phone-format] Failed to initialize AsYouType:",t),null}}async function Xn(e,t,r,n,i){if(n||e.value.trim()){S.default.debug("[components:phone-format] Skipping prefill - already prefilled or has value");return}try{if(S.default.debug("[components:phone-format] Focus handler triggered, format:",t,"region:",r),t.toUpperCase()!=="INTERNATIONAL"){S.default.debug("[components:phone-format] Format is not INTERNATIONAL, skipping prefill");return}if(!r){S.default.debug("[components:phone-format] No region specified, skipping prefill");return}S.default.debug("[components:phone-format] Loading phone library...");let o=await Ye();if(!o){S.default.warn("[components:phone-format] Phone library not available");return}if(e.value.trim()){S.default.debug("[components:phone-format] Field now has value, skipping prefill");return}S.default.debug("[components:phone-format] Getting calling code for region:",r);let s=o(r);S.default.debug("[components:phone-format] Calling code:",s),s?(e.value="+"+s+" ",i(!0),S.default.debug("[components:phone-format] Prefilled country code:",e.value),e.setSelectionRange(e.value.length,e.value.length)):S.default.warn("[components:phone-format] Could not get calling code for region:",r)}catch(o){S.default.error("[components:phone-format] Failed to prefill country code:",o)}}async function Zn(e,t,r,n){try{if(!r){let a=await Rt(t);if(!a)return;n(a),r=a}let i=e.selectionStart||0,o=e.value;r.reset();let s=r.input(o);if(s!==o){e.value=s;let a=s.length-o.length,u=Math.max(0,Math.min(i+a,s.length));e.setSelectionRange(u,u)}}catch(i){S.default.warn("[components:phone-format] Failed to auto-format phone number:",i)}}async function er(e,t,r){try{let n=e.value.trim();if(!n)return;let i=await se();if(!i)return;let o=i(n);if(!o&&r&&(o=i(n,r)),o&&o.isValid&&o.isValid()){let s=tr(o,t,n);e.value=s}}catch(n){S.default.warn("[components:phone-format] Failed to format phone number on blur:",n)}}function tr(e,t,r){switch(t.toUpperCase()){case"E164":return e.format?e.format("E.164"):r;case"NATIONAL":return e.formatNational?e.formatNational():r;case"INTERNATIONAL":default:if(e.formatInternational){let n=e.formatInternational();if(r.replace(/\s/g,"")===n.replace(/\s/g,""))return n}return r}}function Nt(e){ke(e),Ne(e),kt.default.debug("[components] Initialized")}var Ot=x(L(),1);var qe=e=>e.getAttribute("as-progress-mode")==="completed"?0:1,Ft=!0;function nr(e){let t=document.createElement("div");return t.className="as-progress-bar",e.appendChild(t),t}function $t(e){E.subscribe(()=>qt()),qt(),requestAnimationFrame(()=>{Ft=!1}),Ot.default.debug("[progress] Initialized")}function qt(){if(typeof document>"u")return;let{current:e}=E.get(),t=Array.from(document.querySelectorAll("[as-step]")),r=t.length,n=t.findIndex(i=>i.getAttribute("as-step")===e);document.querySelectorAll('[as-progress="bar"]').forEach(i=>{let o=i,s=`${(n+qe(i))/r*100}%`,a=i.classList.contains("as-progress-bar")?o:i.querySelector(".as-progress-bar")??nr(i);Ft?(a.style.transition="none",a.style.width=s,o.setAttribute("data-as-ready",""),requestAnimationFrame(()=>a.style.removeProperty("transition"))):a.style.width=s}),document.querySelectorAll('[as-progress="fraction"]').forEach(i=>{i.textContent=`${n+qe(i)} / ${r}`}),document.querySelectorAll('[as-progress="steps"]').forEach(i=>{let o=qe(i)===0,s=document.createDocumentFragment();t.forEach((a,u)=>{let l=u<n?"completed":u===n&&!o?"current":"pending",f=document.createElement("span");f.className=`as-step-dot ${l}`,s.appendChild(f)}),i.replaceChildren(s)})}function zt(){let{current:e}=E.get(),t=document.querySelectorAll("[as-step]"),r=t.length,n=Array.from(t).findIndex(s=>s.getAttribute("as-step")===e),i=n+1,o=n;return{viewing:{current:i,total:r,percent:r>0?Math.round(i/r*100):0},completed:{current:o,total:r,percent:r>0?Math.round(o/r*100):0}}}var z=x(L(),1);function Ut(e){if(!e.hasAttribute("as-quiz")){z.default.debug("[quiz] Quiz mode not enabled");return}z.default.info("[quiz] Initializing quiz mode"),Vt(e),rr(e),_t(),v.subscribe(()=>{_t()}),z.default.debug("[quiz] Quiz mode initialized")}function rr(e){e.querySelectorAll("input, select, textarea").forEach(r=>{r.addEventListener("change",()=>{z.default.debug("[quiz] Answer changed, recalculating scores"),Vt(e)})})}function Vt(e){let t={};Ht(e,"as-weight").forEach(({attrElement:s,input:a})=>{let u=s.getAttribute("as-weight");if(u)try{let l=JSON.parse(u);if(ir(a))for(let[m,c]of Object.entries(l))typeof c=="number"&&c>0&&(t[m]=(t[m]||0)+c)}catch(l){z.default.warn("[quiz] Invalid as-weight JSON:",s,l)}}),e.querySelectorAll("select").forEach(s=>{for(let a of s.selectedOptions){let u=a.getAttribute("as-weight");if(u)try{let l=JSON.parse(u);for(let[f,m]of Object.entries(l))typeof m=="number"&&m>0&&(t[f]=(t[f]||0)+m)}catch(l){z.default.warn("[quiz] Invalid as-weight JSON on option:",a,l)}}});let n=sr(t),i=v.get(),o={...i.answers,__quiz__:n};v.set({...i,quiz:n,answers:o}),z.default.debug("[quiz] Scores updated:",n)}function ir(e){return e instanceof HTMLInputElement&&e.type==="radio"||e instanceof HTMLInputElement&&e.type==="checkbox"?e.checked:e instanceof HTMLInputElement&&e.hasAttribute("as-radio-other-input")?or(e)?.checked===!0&&e.value.trim()!=="":e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement?e.value.trim()!=="":e instanceof HTMLSelectElement?e.value!=="":!1}function or(e){let t=e.getAttribute("as-radio-other-input"),r=e.closest("[as-step]")||document;if(t&&t!==""&&t!=="true"){let i=Array.from(r.querySelectorAll('input[type="radio"]')).filter(o=>o.name.toLowerCase()===t.toLowerCase());return i.find(o=>o.checked)||i[i.length-1]||null}let n=e.parentElement;for(;n&&n!==r;){let i=n.querySelector('input[type="radio"]');if(i)return i;n=n.parentElement}return null}function sr(e){let t=Object.keys(e);if(t.length===0)return{scores:{},winner:null,winnerScore:0,ties:[]};let r=Math.max(...Object.values(e)),n=t.filter(i=>e[i]===r);return n.length===1?{scores:e,winner:n[0],winnerScore:r,ties:[]}:{scores:e,winner:n[0],winnerScore:r,ties:n}}function _t(){let t=v.get().quiz;t&&(document.querySelectorAll("[as-quiz-category]").forEach(r=>{let n=r.getAttribute("as-quiz-category");!n||n===""||n==="true"?r.textContent=t.winner||"":r.textContent=t.winner===n?n:""}),document.querySelectorAll("[as-quiz-score]").forEach(r=>{let n=r.getAttribute("as-quiz-score");if(!n||n===""||n==="true")r.textContent=String(t.winnerScore);else if(n==="all")r.textContent=JSON.stringify(t.scores);else{let i=t.scores[n]||0;r.textContent=String(i)}}))}function ye(){return v.get().quiz||null}function jt(){return ye()?.scores||{}}function Bt(){return ye()?.winner||null}var Oe=x(L(),1),ar={name:"name",fullname:"name","full-name":"name",firstname:"given-name","first-name":"given-name",givenname:"given-name","given-name":"given-name",lastname:"family-name","last-name":"family-name",familyname:"family-name","family-name":"family-name",middlename:"additional-name","middle-name":"additional-name",nickname:"nickname",email:"email","e-mail":"email",phone:"tel",tel:"tel",telephone:"tel",mobile:"tel",cell:"tel",fax:"tel",address:"street-address",street:"street-address",streetaddress:"street-address","street-address":"street-address",address1:"address-line1","address-1":"address-line1",addressline1:"address-line1","address-line1":"address-line1",address2:"address-line2","address-2":"address-line2",addressline2:"address-line2","address-line2":"address-line2",address3:"address-line3","address-3":"address-line3",city:"address-level2",town:"address-level2",state:"address-level1",province:"address-level1",region:"address-level1",zip:"postal-code",zipcode:"postal-code","zip-code":"postal-code",postalcode:"postal-code","postal-code":"postal-code",postcode:"postal-code",country:"country-name",countryname:"country-name","country-name":"country-name",company:"organization",organization:"organization",organisation:"organization",org:"organization",jobtitle:"organization-title","job-title":"organization-title",title:"organization-title",role:"organization-title",birthday:"bday",birthdate:"bday",dob:"bday",dateofbirth:"bday","date-of-birth":"bday",birthyear:"bday-year",birthmonth:"bday-month",birthday_day:"bday-day",username:"username",user:"username",login:"username",website:"url",url:"url",homepage:"url"},Wt={email:"email",tel:"tel",url:"url"};function lr(e){return e.getAttribute("as-autocomplete")?.toLowerCase()!=="off"}function ur(e){return e.toLowerCase().replace(/[_\s]/g,"")}function Qt(e){if(!e)return;if(!lr(e)){Oe.default.debug("[autocomplete] Disabled via as-autocomplete='off'");return}let t=e.querySelectorAll("input[name], textarea[name], select[name]"),r=0;t.forEach(n=>{if(n.hasAttribute("autocomplete"))return;let i=n.getAttribute("name")??"",o=n.getAttribute("type")?.toLowerCase();if(o&&Wt[o]){n.setAttribute("autocomplete",Wt[o]),r++;return}let s=ur(i),a=ar[s];a&&(n.setAttribute("autocomplete",a),r++)}),r>0&&Oe.default.debug(`[autocomplete] Added autocomplete to ${r} field(s)`)}var K=x(L(),1);var B=null,Gt=!1;function cr(){if(typeof document>"u"||document.getElementById("as-pre-css"))return;let e=document.createElement("style");e.id="as-pre-css",e.textContent=je;let t=document.head||document.getElementsByTagName("head")[0]||document.documentElement;t.insertBefore(e,t.firstChild),K.default.debug("[prehide] Injected pre-CSS to hide non-first steps")}function Yt(){if(typeof document>"u")return;cr();function e(r,n){let i=r;n!==0&&(i.style.display="none",i.setAttribute("aria-hidden","true"),i.setAttribute("inert",""))}let t=document.querySelectorAll("[as-step]");t.forEach((r,n)=>e(r,n)),t.length>0&&K.default.debug(`[prehide] Hidden ${t.length-1} non-first steps before paint`),!B&&typeof MutationObserver<"u"&&(B=new MutationObserver(r=>{if(!Gt)for(let n of r)n.addedNodes.forEach(i=>{if(i.nodeType===Node.ELEMENT_NODE){let o=i;o.hasAttribute("as-step")&&e(o,1),o.querySelectorAll("[as-step]").forEach(s=>e(s,1))}})}),B.observe(document.documentElement,{childList:!0,subtree:!0}))}function Jt(){Gt=!0,B&&(B.disconnect(),B=null,K.default.debug("[prehide] Observer stopped"));let e=document.getElementById("as-pre-css");e&&(e.remove(),K.default.debug("[prehide] Removed pre-CSS, inline styles now control visibility"))}var Kt=x(L(),1);function Xt(){if(typeof document>"u"||document.getElementById("as-runtime-css"))return;let e=document.createElement("style");e.id="as-runtime-css",e.textContent=`
|
|
4
4
|
/* Disabled elements styling
|
|
5
5
|
* The runtime adds .as-disabled class and aria-disabled="true" to elements
|
|
6
6
|
* disabled via as-enable-if / as-disable-if conditional logic.
|
|
@@ -18,5 +18,5 @@ ${o.join(`
|
|
|
18
18
|
[as-quiz-score] {
|
|
19
19
|
/* Authors can override these in Webflow */
|
|
20
20
|
}
|
|
21
|
-
`,(document.head||document.getElementsByTagName("head")[0]||document.documentElement).appendChild(e),
|
|
21
|
+
`,(document.head||document.getElementsByTagName("head")[0]||document.documentElement).appendChild(e),Kt.default.debug("[styles] Injected runtime CSS")}k.default.setLevel("info");Yt();function be(e={}){e.debug&&k.default.setLevel("debug");let t=document.querySelector("[as-survey]");if(!t){k.default.warn("[agera-survey] No [as-survey] element found");return}t.tagName!=="FORM"&&(t.hasAttribute("role")||t.setAttribute("role","form"),t.hasAttribute("aria-label")||t.setAttribute("aria-label","Survey"),k.default.debug("[agera-survey] Added accessibility attributes to non-form survey")),k.default.info("[agera-survey] Initializing"),Jt(),Xt(),Be(),Mt(t),bt(t),Nt(t),Et(t),lt(t),$t(t),St(t),Ut(t),Qt(t),k.default.info("[agera-survey] Ready")}if(typeof window<"u"){window.agera||(window.agera={}),window.agera.survey={init:be,version:Q,reset:()=>{window.localStorage.removeItem("as:session"),window.localStorage.removeItem("as:basin-jwt"),window.location.reload()},goToStep:n=>Y(n),getCurrentStep:()=>E.get().current,getStepPath:()=>E.get().path,getAnswers:()=>v.get().answers,setAnswer:(n,i)=>{let o=v.get();v.set({...o,answers:{...o.answers,[n]:i}})},get dev(){return window.localStorage.getItem("as:dev")==="true"},set dev(n){n?(window.localStorage.setItem("as:dev","true"),k.default.setLevel("debug")):(window.localStorage.removeItem("as:dev"),k.default.setLevel("info"))},validateCurrentStep:async()=>{let n=E.get().current;return n?await j(n):!0},triggerPartialSubmit:async()=>{let n=E.get().current;n&&await de(n)},triggerFinalSubmit:async()=>{let n=E.get().current;n&&await fe(n)},getQuizResults:()=>ye(),getQuizScores:()=>jt(),getQuizWinner:()=>Bt(),getProgress:()=>zt()};let t=new URLSearchParams(window.location.search).get("dev")==="true",r=window.localStorage.getItem("as:dev")==="true";(t||r)&&(window.agera.survey.dev=!0,k.default.info("[agera-survey] Debug mode enabled")),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>be()):be()}return cn(dr);})();
|
|
22
22
|
//# sourceMappingURL=index.global.js.map
|