@descope/web-component 3.22.1 → 3.22.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__classPrivateFieldGet as e,__classPrivateFieldSet as n}from"tslib";import{S as t}from"./index-
|
|
1
|
+
import{__classPrivateFieldGet as e,__classPrivateFieldSet as n}from"tslib";import{S as t}from"./index-04e5c086.js";import"@descope/web-js-sdk";const s=(e,n,t,s={})=>{var o,i,l,r;return[Math.min(Math.max(n,("all"===s.left?e.offsetWidth:null!==(o=s.left)&&void 0!==o?o:0)-e.offsetWidth),window.innerWidth-("all"===s.right?e.offsetWidth:null!==(i=s.right)&&void 0!==i?i:0)),Math.min(Math.max(t,("all"===s.top?e.offsetHeight:null!==(l=s.top)&&void 0!==l?l:0)-e.offsetHeight),window.innerHeight-("all"===s.bottom?e.offsetHeight:null!==(r=s.bottom)&&void 0!==r?r:0))]};var o,i,l,r,a,d,c,p,h,g;const f=document.createElement("template");f.innerHTML=`\n<style>\n .debugger {\n width: 300px;\n height: 200px;\n background-color: #FAFAFA;\n position: fixed;\n font-family: "Helvetica Neue", sans-serif;\n box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 10px;\n border-radius: 8px;\n overflow: hidden;\n border: 1px solid lightgrey;\n pointer-events: initial;\n display: flex;\n flex-direction: column;\n min-width: 200px;\n max-width: 600px;\n max-height: calc(100% - 64px);\n min-height: 200px;\n resize: both;\n }\n\n .header {\n padding: 8px 16px;\n display: flex;\n align-items: center;\n background-color: #EEEEEE;\n cursor: move;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .content {\n font-size: 14px;\n flex-grow: 1;\n overflow: auto;\n }\n\n .msg {\n border-bottom: 1px solid lightgrey;\n padding: 8px 16px;\n display: flex;\n gap: 5px;\n background-color: #FAFAFA;\n }\n\n .msg.collapsible {\n cursor: pointer;\n }\n\n .empty-state {\n padding: 8px 16px;\n background-color: #FAFAFA;\n }\n\n\n .msg.collapsible:not(.collapsed) {\n background-color: #F5F5F5;\n }\n\n .msg_title {\n padding-bottom: 5px;\n display: flex;\n gap: 8px;\n font-weight: 500;\n }\n\n .msg svg {\n padding: 1px;\n flex-shrink: 0;\n margin-top: -2px;\n }\n\n .msg_content {\n overflow: hidden;\n flex-grow: 1;\n margin-right:5px;\n }\n\n .msg_desc {\n color: #646464;\n cursor: initial;\n word-wrap: break-word;\n }\n\n .msg.collapsed .msg_desc {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .msg.collapsible.collapsed .chevron {\n transform: rotate(-45deg) translateX(-2px);\n }\n\n .msg.collapsible .chevron {\n content: "";\n width:6px;\n height:6px;\n border-bottom: 2px solid grey;\n border-right: 2px solid grey;\n transform: rotate(45deg) translateX(-1px);\n margin: 5px;\n flex-shrink:0;\n }\n</style>\n\n<div style="top:32px; left:${window.innerWidth-300-32}px;" class="debugger">\n <div class="header">\n <span>Debugger messages</span>\n </div>\n <div class="content">\n <div class="empty-state">\n No errors detected 👀\n </div>\n </div>\n</div>\n`;class m extends HTMLElement{constructor(){super(),o.add(this),i.set(this,new t({messages:[]})),l.set(this,void 0),r.set(this,void 0),a.set(this,void 0),d.set(this,{resize:e(this,o,"m",g).bind(this)}),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(f.content.cloneNode(!0)),n(this,l,this.shadowRoot.querySelector(".debugger"),"f"),n(this,r,e(this,l,"f").querySelector(".content"),"f"),n(this,a,e(this,l,"f").querySelector(".header"),"f")}updateData(n){e(this,i,"f").update((e=>({messages:e.messages.concat(n)})))}connectedCallback(){var n;((e,n,t)=>{let o=0,i=0,l=0,r=0;function a(n){n.preventDefault(),o=l-n.clientX,i=r-n.clientY,l=n.clientX,r=n.clientY;const[a,d]=s(e,e.offsetLeft-o,e.offsetTop-i,t);e.style.top=`${d}px`,e.style.left=`${a}px`}function d(){document.onmouseup=null,document.onmousemove=null}function c(e){e.preventDefault(),l=e.clientX,r=e.clientY,document.onmouseup=d,document.onmousemove=a}n?n.onmousedown=c:e.onmousedown=c})(e(this,l,"f"),e(this,a,"f"),{top:"all",bottom:100,left:100,right:100}),window.addEventListener("resize",e(this,d,"f").resize),(n=e(this,l,"f")).onmousemove=e=>{(e.target.w&&e.target.w!==e.target.offsetWidth||e.target.h&&e.target.h!==e.target.offsetHeight)&&n.onresize(e),e.target.w=e.target.offsetWidth,e.target.h=e.target.offsetHeight},e(this,l,"f").onresize=e(this,o,"m",h).bind(this),e(this,i,"f").subscribe(e(this,o,"m",c).bind(this))}disconnectedCallback(){e(this,i,"f").unsubscribeAll(),window.removeEventListener("resize",e(this,d,"f").resize)}}i=new WeakMap,l=new WeakMap,r=new WeakMap,a=new WeakMap,d=new WeakMap,o=new WeakSet,c=function(n){e(this,o,"m",p).call(this,n),e(this,o,"m",h).call(this)},p=function(n){e(this,r,"f").innerHTML=n.messages.map((e=>`\n <div class="msg">\n <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M5.99984 13.167L8.99984 10.167L11.9998 13.167L13.1665 12.0003L10.1665 9.00033L13.1665 6.00033L11.9998 4.83366L8.99984 7.83366L5.99984 4.83366L4.83317 6.00033L7.83317 9.00033L4.83317 12.0003L5.99984 13.167ZM8.99984 17.3337C7.84706 17.3337 6.76373 17.1148 5.74984 16.677C4.73595 16.2398 3.854 15.6462 3.104 14.8962C2.354 14.1462 1.76039 13.2642 1.32317 12.2503C0.885393 11.2364 0.666504 10.1531 0.666504 9.00033C0.666504 7.84755 0.885393 6.76421 1.32317 5.75033C1.76039 4.73644 2.354 3.85449 3.104 3.10449C3.854 2.35449 4.73595 1.7606 5.74984 1.32283C6.76373 0.885603 7.84706 0.666992 8.99984 0.666992C10.1526 0.666992 11.2359 0.885603 12.2498 1.32283C13.2637 1.7606 14.1457 2.35449 14.8957 3.10449C15.6457 3.85449 16.2393 4.73644 16.6765 5.75033C17.1143 6.76421 17.3332 7.84755 17.3332 9.00033C17.3332 10.1531 17.1143 11.2364 16.6765 12.2503C16.2393 13.2642 15.6457 14.1462 14.8957 14.8962C14.1457 15.6462 13.2637 16.2398 12.2498 16.677C11.2359 17.1148 10.1526 17.3337 8.99984 17.3337ZM8.99984 15.667C10.8609 15.667 12.4373 15.0212 13.729 13.7295C15.0207 12.4378 15.6665 10.8614 15.6665 9.00033C15.6665 7.13921 15.0207 5.56283 13.729 4.27116C12.4373 2.97949 10.8609 2.33366 8.99984 2.33366C7.13873 2.33366 5.56234 2.97949 4.27067 4.27116C2.979 5.56283 2.33317 7.13921 2.33317 9.00033C2.33317 10.8614 2.979 12.4378 4.27067 13.7295C5.56234 15.0212 7.13873 15.667 8.99984 15.667Z" fill="#ED404A"/>\n</svg>\n\n <div class="msg_content">\n <div class="msg_title">\n ${e.title}\n </div>\n <div class="msg_desc">\n ${e.description}\n </div>\n </div>\n <div class="chevron"></div>\n </div>\n `)).join("")},h=function(){e(this,r,"f").querySelectorAll(".msg").forEach((e=>{const n=e.querySelector(".msg_desc"),t=n.scrollWidth>n.clientWidth,s=n.clientHeight>20;t||s?(e.classList.add("collapsible"),e.onclick=n=>{n.target.classList.contains("msg_desc")||e.classList.toggle("collapsed")}):(e.classList.remove("collapsible"),e.onclick=null)}))},g=function(){const[n,t]=s(e(this,l,"f"),Number.parseInt(e(this,l,"f").style.left,10),Number.parseInt(e(this,l,"f").style.top,10),{top:"all",bottom:100,left:100,right:100});e(this,l,"f").style.top=`${t}px`,e(this,l,"f").style.left=`${n}px`},customElements.get("descope-debugger")||customElements.define("descope-debugger",m);export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as e,__classPrivateFieldGet as t,__classPrivateFieldSet as i,__rest as o}from"tslib";import r,{ensureFingerprintIds as n,clearFingerprintData as s}from"@descope/web-js-sdk";const a="undefined"!=typeof localStorage,l="J151000",d=a&&localStorage.getItem("base.content.url")||"",c="config.json",u="base.ui.components.url",h=a&&localStorage.getItem(u)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",p=a&&localStorage.getItem(u)||"https://cdn.jsdelivr.net/npm/@descope/web-components-ui@<version>/dist/umd/index.js",g="descope-login-flow",f="code",v="ra-challenge",m="ra-callback",b="ra-backup-callback",y="ra-initiator",w="data-exclude-field",I="dls_last_auth",k="state_id",C="saml_idp_state_id",A="saml_idp_username",S="descope_idp_initiated",j="sso_app_id",E="oidc_login_hint",U="oidc_prompt",x="oidc_error_redirect_uri",O="data-type",T="redirect",L="poll",R="webauthnCreate",W="webauthnGet",$="loadForm",M="submit",P="polling",N=["descope-multi-select-combo-box","descope-text-area"];var D;function q(e){return new URLSearchParams(window.location.search).get(e)}function _(e){if(window.history.replaceState&&q(e)){const t=new URL(window.location.href),i=new URLSearchParams(t.search);i.delete(e),t.search=i.toString(),window.history.replaceState({},"",t.toString())}}function F(t,i){return e(this,void 0,void 0,(function*(){const e=yield fetch(t,{cache:"default"});if(!e.ok)throw Error(`Error fetching URL ${t} [${e.status}]`);return{body:yield e[i||"text"](),headers:Object.fromEntries(e.headers.entries())}}))}!function(e){e.backward="backward",e.forward="forward"}(D||(D={}));function V({projectId:e,filename:t,assetsFolder:i="v2-beta",baseUrl:o}){const r=new URL(d||o||"https://static.descope.com/pages");return r.pathname=((...e)=>e.join("/").replace(/\/+/g,"/"))(r.pathname,e,i,t),r.toString()}function K(e,t){if(!t)return;const i=+e,o=+t;return Number.isNaN(i)||Number.isNaN(o)?void 0:i>o?D.forward:i<o?D.backward:void 0}const H=()=>{const[e="",t=""]=(q(g)||"").split("_");return{executionId:e,stepId:t}};function B(){_(g)}const J=e=>e.replace(/-./g,(e=>e[1].toUpperCase())),G=()=>{const{executionId:e,stepId:t}=H();(e||t)&&B();const i=q("t")||void 0;i&&_("t");const o=q(f)||void 0;o&&_(f);const r=q("err")||void 0;r&&_("err");const{redirectAuthCodeChallenge:n,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:q(v),redirectAuthCallbackUrl:q(m),redirectAuthBackupCallbackUri:q(b),redirectAuthInitiator:q(y)};(n||s||a||l)&&(_(v),_(m),_(b),_(y));const d=q(k);d&&_(k);const c=q(C);c&&_(C);const u=q(A);c&&_(A);const h=q(S);h&&_(S);const p=q(j);p&&_(j);const g=q(E);g&&_(E);const w=q(U);w&&_(U);const I=q(x);I&&_(x);return{executionId:e,stepId:t,token:i,code:o,exchangeError:r,redirectAuthCodeChallenge:n,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,ssoQueryParams:{oidcIdpStateId:d,samlIdpStateId:c,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:p,oidcLoginHint:g,oidcPrompt:w,oidcErrorRedirectUri:I}}},z=e=>{let t,i;return(...o)=>{return t&&(n=o,(r=t).length===n.length&&r.every(((e,t)=>e===n[t])))||(t=o,i=e(...o)),i;var r,n}};const Q=(e,{oidcIdpStateId:t,samlIdpStateId:i,samlIdpUsername:o,ssoAppId:r,oidcLoginHint:n,oidcPrompt:s,oidcErrorRedirectUri:a})=>!(!e||t||i||o||r||n||s||a),X=e=>null==e?void 0:e.submit(),Y=(e,t)=>{const i=t.find((t=>e[t]));return i?e[i]:null},Z=(e,t=100)=>{let i;return function(...o){i||e.apply(this,o),clearTimeout(i),i=setTimeout((()=>{i=null}),t)}};function ee(e){let t=navigator.language;return t&&"zh-TW"!==t&&(t=t.split("-")[0]),(e||t||"").toLowerCase()}var te,ie,oe,re;function ne(e,t){const i=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);if(i.length!==o.length)return!1;for(let o=0;o<i.length;o+=1){const r=i[o],n=e[r],s=t[r];if(null===n||null===s){if(n!==s)return!1}else if("object"==typeof n&&"object"==typeof s){if(!ne(n,s))return!1}else if(n!==s)return!1}return!0}class se{constructor(e={},{updateOnlyOnChange:o=!0}={}){te.set(this,void 0),ie.set(this,{}),oe.set(this,0),re.set(this,!1),this.update=e=>{const o="function"==typeof e?e(t(this,te,"f")):e,r=Object.assign(Object.assign({},t(this,te,"f")),o);if(!t(this,re,"f")||!ne(t(this,te,"f"),r)){const e=t(this,te,"f");i(this,te,r,"f"),Object.freeze(t(this,te,"f")),setTimeout((()=>{Object.values(t(this,ie,"f")).forEach((t=>t(r,e,((e,t)=>i=>e[i]!==t[i])(r,e))))}),0)}},i(this,te,e,"f"),i(this,re,o,"f")}get current(){return Object.assign({},t(this,te,"f"))}subscribe(e){return i(this,oe,t(this,oe,"f")+1,"f"),t(this,ie,"f")[t(this,oe,"f")]=e,t(this,oe,"f").toString()}unsubscribe(e){const i=!!t(this,ie,"f")[e];return i&&delete t(this,ie,"f")[e],i}unsubscribeAll(){return i(this,ie,{},"f"),!0}}te=new WeakMap,ie=new WeakMap,oe=new WeakMap,re=new WeakMap;const ae=["disabled"],le=(e,t)=>{Object.entries(t||{}).forEach((([t,i])=>{Array.from(e.querySelectorAll(`*[name="${t}"]:not([${w}])`)).forEach((e=>{e.value=i}))}))},de=(e,t)=>e.replace(/{{(.+?)}}/g,((e,i)=>{return o=t,i.split(".").reduce(((e,t)=>(null==e?void 0:e[t])||""),o);var o})),ce=(e,t,i)=>{e.querySelectorAll(`[${O}="${t}"]`).forEach((e=>{e.setAttribute("href",i)}))},ue=(e,t,i)=>{var o,r;const n=null===(o=customElements.get(t))||void 0===o?void 0:o.cssVarList.url;i&&n&&(null===(r=null==e?void 0:e.style)||void 0===r||r.setProperty(n,`url(data:image/jpg;base64,${i})`))},he=(e,t,i,o,r,n)=>{var s,a;let l=null==t?void 0:t.errorText;try{l=(null==r?void 0:r({text:null==t?void 0:t.errorText,type:null==t?void 0:t.errorType}))||(null==t?void 0:t.errorText)}catch(e){n.error("Error transforming error message",e.message)}((e,t,i="")=>{e.querySelectorAll(`[${O}="${t}"]`).forEach((e=>{e.textContent=i,e.classList[i?"remove":"add"]("hide")}))})(e,"error-message",l),ce(e,"totp-link",null===(s=null==t?void 0:t.totp)||void 0===s?void 0:s.provisionUrl),ce(e,"notp-link",null===(a=null==t?void 0:t.notp)||void 0===a?void 0:a.redirectUrl),((e,t)=>{e.querySelectorAll("descope-text,descope-link,descope-enriched-text,descope-code-snippet").forEach((e=>{e.textContent=de(e.textContent,t);const i=e.getAttribute("href");i&&e.setAttribute("href",de(i,t))}))})(e,t),((e,t,i)=>{t&&Object.keys(t).forEach((o=>{e.querySelectorAll(`[name=${o}]`).forEach((e=>{const r=t[o];Object.keys(r).forEach((t=>{let o=r[t];if("string"!=typeof o)try{o=JSON.stringify(o)}catch(e){i.error(`Could not stringify value "${o}" for "${t}"`,e.message),o=""}e.setAttribute(t,o)}))}))}))})(e,i,n),((e,t)=>{e.querySelectorAll("[data-has-dynamic-attr-values]").forEach((e=>{Array.from(e.attributes).forEach((e=>{e.value=de(e.value,t)}))}))})(e,t),((e,t)=>{Object.entries(t).forEach((([t,i])=>{e.querySelectorAll(`[name="${t}"]`).forEach((e=>{Object.entries(i).forEach((([t,i])=>{ae.includes(t)&&e.setAttribute(t,i)}))}))}))})(e,o)},pe=z((()=>e(void 0,void 0,void 0,(function*(){var e,t,i,o,r;if(!window.PublicKeyCredential||!PublicKeyCredential.isConditionalMediationAvailable||!PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)return!1;try{const n=Promise.all([null===(e=window.PublicKeyCredential)||void 0===e?void 0:e.isConditionalMediationAvailable(),null===(t=window.PublicKeyCredential)||void 0===t?void 0:t.isUserVerifyingPlatformAuthenticatorAvailable()]).then((e=>e.every((e=>!!e)))),s=(()=>{var e;const t=null===(e=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===e?void 0:e.brands,i=null==t?void 0:t.find((({brand:e,version:t})=>"Chromium"===e&&parseFloat(t)));return i?i.version:0})()>=108;return yield(i=100,o=n,r=s,new Promise(((e,t)=>{let n=!1;const s=setTimeout((()=>{n=!0,void 0!==r?e(r):t(new Error(`Promise timed out after ${i} ms`))}),i);o.then((t=>{n||(clearTimeout(s),e(t))})).catch((e=>{n||(clearTimeout(s),t(e))}))})))}catch(e){return console.error("Conditional login check failed",e),!1}})))),ge={"lastAuth.loginId":{"not-empty":e=>!!e.loginId,empty:e=>!e.loginId},idpInitiated:{"is-true":e=>!!e.code,"is-false":e=>!e.code},externalToken:{"is-true":e=>!!e.token,"is-false":e=>!e.token},abTestingKey:{"greater-than":(e,t)=>(e.abTestingKey||0)>t,"less-than":(e,t)=>(e.abTestingKey||0)<t}};function fe(e){const t={};if(e)try{Object.assign(t,JSON.parse(localStorage.getItem(I)))}catch(e){}return t}const ve="dls_ab_testing_id",me=document.createElement("template");me.innerHTML='\n\t<style>\n\t\t:host {\n all: initial;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n display: block;\n\t\t}\n\n\t\t#wc-root {\n\t\t\theight: 100%;\n\t\t\ttransition: opacity 300ms ease-in-out;\n display: flex;\n\t\t}\n\n\t\t#wc-root[data-theme] {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t.fade-out {\n\t\t\topacity: 0.1;\n\t\t}\n\n\t</style>\n\t<div id="wc-root"></div>\n\t';const be=(e,t="")=>Object.keys(e).reduce(((i,o)=>{var r;if("object"==typeof e[o]&&null!==e[o]&&!(null===(r=e[o])||void 0===r?void 0:r.value))return Object.assign(Object.assign({},i),be(e[o],`${t+o}.`));const n="object"==typeof e[o]?e[o]:{value:e[o]},s=Object.assign(Object.assign({},i),{[t+o]:n,[`form.${t}${o}`]:n});return"displayName"===o?Object.assign(Object.assign({},s),{[`${t}fullName`]:n,[`form.${t}fullName`]:n}):s}),[]);var ye,we,Ie,ke,Ce,Ae,Se,je,Ee,Ue,xe,Oe,Te,Le,Re,We,$e,Me,Pe,Ne,De,qe,_e,Fe,Ve,Ke,He,Be,Je,Ge,ze,Qe,Xe,Ye,Ze,et,tt,it,ot,rt,nt,st,at,lt,dt,ct,ut,ht,pt,gt,ft,vt;class mt extends HTMLElement{static get observedAttributes(){return["project-id","flow-id","base-url","tenant","theme","locale","debug","storage-prefix","preview","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","validate-on-blur"]}constructor(o){super(),ye.add(this),this.logger=console,Ie.set(this,!1),this.loggerWrapper={error:(e,i="")=>{this.logger.error(e,i,new Error),t(this,ye,"m",Je).call(this,e,i)},warn:(e,t="")=>{this.logger.warn(e,t)},info:(e,t="",i={})=>{this.logger.info(e,t,i)},debug:(e,t="")=>{this.logger.debug(e,t)}},ke.set(this,new se),Ce.set(this,new se),Ae.set(this,{}),this.getComponentsContext=()=>t(this,Ae,"f"),this.nextRequestStatus=new se({isLoading:!1}),Se.set(this,void 0),je.set(this,{popstate:t(this,ye,"m",Le).bind(this),componentsContext:t(this,ye,"m",Ve).bind(this)}),Ee.set(this,void 0),Pe.set(this,z((()=>e(this,void 0,void 0,(function*(){const e=V({projectId:this.projectId,filename:c,baseUrl:this.baseStaticUrl});try{const{body:t,headers:i}=yield F(e,"json");return{projectConfig:t,executionContext:{geo:i["x-geo"]}}}catch(e){return{isMissingConfig:!0}}}))))),De.set(this,void 0),i(this,Ee,o,"f"),t(this,ye,"m",Ue).call(this)}get projectId(){return this.getAttribute("project-id")}get flowId(){return this.getAttribute("flow-id")}get client(){try{return JSON.parse(this.getAttribute("client"))||{}}catch(e){return{}}}get baseUrl(){return this.getAttribute("base-url")||void 0}get baseStaticUrl(){return this.getAttribute("base-static-url")}get tenant(){return this.getAttribute("tenant")||void 0}get redirectUrl(){return this.getAttribute("redirect-url")||void 0}get debug(){return"true"===this.getAttribute("debug")}get locale(){return this.getAttribute("locale")||void 0}get theme(){var e,t;const i=this.getAttribute("theme");if("os"===i){return window.matchMedia&&(null===(t=null===(e=window.matchMedia)||void 0===e?void 0:e.call(window,"(prefers-color-scheme: dark)"))||void 0===t?void 0:t.matches)?"dark":"light"}return i||"light"}get autoFocus(){var e;const t=null!==(e=this.getAttribute("auto-focus"))&&void 0!==e?e:"true";return"skipFirstScreen"===t?t:"true"===t}get validateOnBlur(){return"true"===this.getAttribute("validate-on-blur")}get storeLastAuthenticatedUser(){var e;return"true"===(null!==(e=this.getAttribute("store-last-authenticated-user"))&&void 0!==e?e:"true")}get keepLastAuthenticatedUserAfterLogout(){return"true"===this.getAttribute("keep-last-authenticated-user-after-logout")}get storagePrefix(){return this.getAttribute("storage-prefix")||""}get preview(){return!!this.getAttribute("preview")}get formConfig(){return(e=>{try{return be(JSON.parse(e))}catch(e){return{}}})(this.form)}get form(){return this.getAttribute("form")}get formConfigValues(){return e=this.formConfig,t="value",Object.fromEntries(Object.entries(e).map((([e,i])=>[e,i[t]])));var e,t}getExecutionContext(){return e(this,void 0,void 0,(function*(){const{executionContext:e}=yield t(this,Pe,"f").call(this);return e}))}getProjectConfig(){return e(this,void 0,void 0,(function*(){const{projectConfig:e}=yield t(this,Pe,"f").call(this);return e}))}getFlowConfig(){return e(this,void 0,void 0,(function*(){var e,t;const i=yield this.getProjectConfig(),o=(null===(e=null==i?void 0:i.flows)||void 0===e?void 0:e[this.flowId])||{};return null!==(t=o.version)&&void 0!==t||(o.version=0),o}))}getTargetLocales(){return e(this,void 0,void 0,(function*(){const e=yield this.getFlowConfig();return((null==e?void 0:e.targetLocales)||[]).map((e=>e.toLowerCase()))}))}connectedCallback(){return e(this,void 0,void 0,(function*(){if(this.shadowRoot.isConnected){if(t(this,Ce,"f").subscribe(t(this,ye,"m",Be).bind(this)),t(this,Ce,"f").update({isDebug:this.debug}),t(this,ye,"m",xe).call(this))return void t(this,ye,"m",Oe).call(this);if(t(this,ye,"m",Te).call(this),i(this,De,t(this,ye,"m",Ne).call(this),"f"),yield t(this,ye,"m",$e).call(this))return void this.loggerWrapper.error("This SDK version does not support your flows version","Make sure to upgrade your flows to the latest version or use an older SDK version");if((yield t(this,Pe,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");t(this,ye,"m",qe).call(this),yield t(this,ye,"m",Qe).call(this),yield t(this,ye,"m",_e).call(this),t(this,ye,"m",Ge).call(this);const{executionId:e,stepId:o,token:r,code:n,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c,ssoQueryParams:u}=G();window.addEventListener("popstate",t(this,je,"f").popstate),window.addEventListener("components-context",t(this,je,"f").componentsContext),t(this,ke,"f").subscribe(t(this,ye,"m",We).bind(this)),t(this,ke,"f").update(Object.assign({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenant,redirectUrl:this.redirectUrl,locale:this.locale,stepId:o,executionId:e,token:r,code:n,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c},u)),i(this,Ie,!0,"f")}}))}disconnectedCallback(){t(this,ke,"f").unsubscribeAll(),t(this,Ce,"f").unsubscribeAll(),t(this,ye,"m",He).call(this),window.removeEventListener("popstate",t(this,je,"f").popstate),window.removeEventListener("components-context",t(this,je,"f").componentsContext)}attributeChangedCallback(e,i,o){if(this.shadowRoot.isConnected&&t(this,Ie,"f")&&i!==o&&we.observedAttributes.includes(e)){t(this,ye,"m",Te).call(this);const r=null===i;t(this,ke,"f").update((({stepId:t,executionId:i})=>{let n=t,s=i;return r||(s=null,n=null,B()),{[J(e)]:o,stepId:n,executionId:s}})),t(this,Ce,"f").update({isDebug:this.debug}),"theme"===e&&t(this,ye,"m",Ke).call(this)}}}function bt(e,t){return`sdkScriptsResults.${t?`${e}_${t}`:e}`}we=mt,Ie=new WeakMap,ke=new WeakMap,Ce=new WeakMap,Ae=new WeakMap,Se=new WeakMap,je=new WeakMap,Ee=new WeakMap,Pe=new WeakMap,De=new WeakMap,ye=new WeakSet,Ue=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(me.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},xe=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},Oe=function(){const e=this.shadowRoot.host,t=document.createElement("form");t.style.width="100%",t.style.height="100%",e.parentElement.appendChild(t),t.appendChild(e)},Te=function(){const e=["base-url","tenant","theme","locale","debug","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","preview","storage-prefix","form","client","validate-on-blur"];if(we.observedAttributes.forEach((t=>{if(!e.includes(t)&&!this[J(t)])throw Error(`${t} cannot be empty`)})),this.theme&&"light"!==this.theme&&"dark"!==this.theme)throw Error('Supported theme values are "light", "dark", or leave empty for using the OS theme')},Le=function(){const{stepId:e,executionId:i}=H();t(this,ke,"f").update({stepId:e,executionId:i})},Re=function(t,i){this.sdk=r(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},we.sdkConfigOverrides),{projectId:t,baseUrl:i})),["start","next"].forEach((t=>{const i=this.sdk.flow[t];this.sdk.flow[t]=(...t)=>e(this,void 0,void 0,(function*(){this.nextRequestStatus.update({isLoading:!0});try{return yield i(...t)}catch(e){return{error:{errorCode:l,errorDescription:e.toString()}}}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},We=function(i,o,r){return e(this,void 0,void 0,(function*(){const{projectId:e,baseUrl:o}=i;if(r("projectId")||r("baseUrl")){if(!e)return;t(this,ye,"m",Re).call(this,e,o)}t(this,Ee,"f").call(this,i)}))},$e=function(){return e(this,void 0,void 0,(function*(){return(yield t(this,Pe,"f").call(this)).isMissingConfig&&(yield t(this,ye,"m",Me).call(this))}))},Me=function(){return e(this,void 0,void 0,(function*(){const e=V({projectId:this.projectId,filename:c,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield F(e,"json"),!0}catch(e){return!1}}))},Ne=function(){return e(this,void 0,void 0,(function*(){const e=V({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:t}=yield F(e,"json");return t}catch(e){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},qe=function(){return e(this,void 0,void 0,(function*(){var e,i;const{projectConfig:o}=yield t(this,Pe,"f").call(this),r=null===(i=null===(e=null==o?void 0:o.cssTemplate)||void 0===e?void 0:e[this.theme])||void 0===i?void 0:i.fonts;r&&Object.values(r).forEach((e=>(e=>{if(!e)return;const t=document.createElement("link");t.href=e,t.rel="stylesheet",document.head.appendChild(t)})(e.url)))}))},_e=function(){return e(this,void 0,void 0,(function*(){yield t(this,ye,"m",Fe).call(this),yield t(this,ye,"m",Ke).call(this)}))},Fe=function(){return e(this,void 0,void 0,(function*(){var e,i,o,r;const n=document.createElement("style"),s=yield t(this,De,"f");n.innerText=((null===(e=null==s?void 0:s.light)||void 0===e?void 0:e.globals)||"")+((null===(i=null==s?void 0:s.dark)||void 0===i?void 0:i.globals)||"");const a=yield we.descopeUI;(null==a?void 0:a.componentsThemeManager)&&!a.componentsThemeManager.hasThemes&&(a.componentsThemeManager.themes={light:null===(o=null==s?void 0:s.light)||void 0===o?void 0:o.components,dark:null===(r=null==s?void 0:s.dark)||void 0===r?void 0:r.components}),this.shadowRoot.appendChild(n)}))},Ve=function(e){i(this,Ae,Object.assign(Object.assign({},t(this,Ae,"f")),e.detail),"f")},Ke=function(){return e(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const e=yield we.descopeUI;(null==e?void 0:e.componentsThemeManager)&&(e.componentsThemeManager.currentThemeName=this.theme)}))},He=function(){var e;null===(e=t(this,Se,"f"))||void 0===e||e.remove(),i(this,Se,null,"f")},Be=function(o){return e(this,arguments,void 0,(function*({isDebug:e}){e?(i(this,Se,document.createElement("descope-debugger"),"f"),Object.assign(t(this,Se,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield import("./debugger-wc-7f9f7bfe.js"),document.body.appendChild(t(this,Se,"f"))):t(this,ye,"m",He).call(this)}))},Je=function(e,i){var o;e&&this.debug&&(null===(o=t(this,Se,"f"))||void 0===o||o.updateData({title:e,description:i}))},Ge=function(){this.rootElement.onkeydown=e=>{var t,i,o;const r=!!(null===(t=this.shadowRoot.activeElement)||void 0===t?void 0:t.getAttribute("href")),n=N.includes(null!==(o=null===(i=this.shadowRoot.activeElement)||void 0===i?void 0:i.localName)&&void 0!==o?o:"");if("Enter"!==e.key||r||n)return;e.preventDefault();const s=this.rootElement.querySelectorAll("descope-button");if(1===s.length&&"false"!==s[0].getAttribute("auto-submit"))return void s[0].click();const a=Array.from(s).filter((e=>"true"===e.getAttribute("auto-submit")));if(1===a.length)return void a[0].click();const l=Array.from(s).filter((e=>"button"===e.getAttribute("data-type")));if(1===l.length)"false"!==l[0].getAttribute("auto-submit")&&l[0].click();else if(0===l.length){const e=Array.from(s).filter((e=>"sso"===e.getAttribute("data-type")));1===e.length&&"false"!==e[0].getAttribute("auto-submit")&&e[0].click()}}},ze=function(){return e(this,void 0,void 0,(function*(){var e,i;const o=null===(i=null===(e=yield t(this,Pe,"f").call(this))||void 0===e?void 0:e.projectConfig)||void 0===i?void 0:i.componentsVersion;return o||(this.logger.error("Did not get components version, using latest version"),"latest")}))},Qe=function(){return e(this,void 0,void 0,(function*(){we.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):we.descopeUI=new Promise((i=>{if(globalThis.DescopeUI)return void i(globalThis.DescopeUI);const o=e=>{const t=document.createElement("script");return t.id="load-descope-ui",t.src=e,t},r=(e,t)=>e.replace("<version>",t),n=(e,t)=>{const o=()=>{this.loggerWrapper.error("Cannot load DescopeUI",`Make sure this URL is valid and return the correct script: "${e.src}"`),t()};e.addEventListener("load",(()=>{globalThis.DescopeUI||o(),i(globalThis.DescopeUI)})),e.addEventListener("error",o)};(()=>{e(this,void 0,void 0,(function*(){const e=yield t(this,ye,"m",ze).call(this),s=o(r(h,e));n(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const t=o(r(p,e));n(t,(()=>{i(void 0)})),document.body.append(t)})),document.body.append(s)}))})()}))}))},mt.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.22.2"}};class yt extends mt{static set sdkConfigOverrides(e){mt.sdkConfigOverrides=e}constructor(){const o=new se({deferredRedirect:!1});super(o.update.bind(o)),Xe.add(this),this.stepState=new se({},{updateOnlyOnChange:!1}),Ye.set(this,void 0),Ze.set(this,null),et.set(this,{visibilitychange:t(this,Xe,"m",tt).bind(this)}),it.set(this,((o,r,n,s,a)=>{n===L&&(this.logger.debug("polling - Scheduling polling request"),i(this,Ye,setTimeout((()=>e(this,void 0,void 0,(function*(){var e,i;this.logger.debug("polling - Calling next");const d=yield this.sdk.flow.next(o,r,P,s,a,{});if((null===(e=null==d?void 0:d.error)||void 0===e?void 0:e.errorCode)===l)return this.logger.debug("polling - Got a generic error due to exception in fetch call"),void t(this,it,"f").call(this,o,r,n,s,a);this.logger.debug("polling - Got a response"),(null==d?void 0:d.error)&&this.logger.debug("polling - Response has an error",JSON.stringify(d.error,null,4)),t(this,rt,"f").call(this,d);const{action:c}=null!==(i=null==d?void 0:d.data)&&void 0!==i?i:{};t(this,it,"f").call(this,o,r,c,s,a)}))),2e3),"f"))})),ot.set(this,(()=>{clearTimeout(t(this,Ye,"f")),i(this,Ye,null,"f")})),rt.set(this,(e=>{var i,o,r,n,s,l,d,c,u,h,p;if(!(null==e?void 0:e.ok)){const a=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.url,l=`${null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.status} - ${null===(r=null==e?void 0:e.response)||void 0===r?void 0:r.statusText}`;return t(this,Xe,"m",vt).call(this,"error",(null==e?void 0:e.error)||{errorCode:"J151001",errorDescription:l,errorMessage:a}),void this.loggerWrapper.error((null===(n=null==e?void 0:e.error)||void 0===n?void 0:n.errorDescription)||a,(null===(s=null==e?void 0:e.error)||void 0===s?void 0:s.errorMessage)||l)}null===(d=null===(l=e.data)||void 0===l?void 0:l.runnerLogs)||void 0===d||d.forEach((e=>{const{level:t,title:i,log:o}=e;t&&this.loggerWrapper[t]?this.loggerWrapper[t](i,o):this.loggerWrapper.info(i,o)}));const g=null===(h=null===(u=null===(c=e.data)||void 0===c?void 0:c.screen)||void 0===u?void 0:u.state)||void 0===h?void 0:h.errorText;(null===(p=e.data)||void 0===p?void 0:p.error)?this.loggerWrapper.error(`[${e.data.error.code}]: ${e.data.error.description}`,`${g?`${g} - `:""}${e.data.error.message}`):g&&this.loggerWrapper.error(g);const{status:f,authInfo:v,lastAuth:m}=e.data;if("completed"===f)return this.storeLastAuthenticatedUser&&function(e){(null==e?void 0:e.authMethod)&&a&&localStorage.setItem(I,JSON.stringify(e))}(m),void t(this,Xe,"m",vt).call(this,"success",v);const{executionId:b,stepId:y,stepName:w,action:k,screen:C,redirect:A,openInNewTabUrl:S,webauthn:j,error:E,samlIdpResponse:U}=e.data;k!==L?(this.loggerWrapper.info(`Step "${w||`#${y}`}" is ${f}`,"",{screen:C,status:f,stepId:y,stepName:w,action:k,error:E}),this.flowState.update({stepId:y,executionId:b,action:k,redirectTo:null==A?void 0:A.url,openInNewTabUrl:S,screenId:null==C?void 0:C.id,screenState:null==C?void 0:C.state,webauthnTransactionId:null==j?void 0:j.transactionId,webauthnOptions:null==j?void 0:j.options,samlIdpResponseUrl:null==U?void 0:U.url,samlIdpResponseSamlResponse:null==U?void 0:U.samlResponse,samlIdpResponseRelayState:null==U?void 0:U.relayState})):this.flowState.update({action:k})})),nt.set(this,z((()=>e(this,void 0,void 0,(function*(){var e;try{const t=yield this.sdk.webauthn.signIn.start("",window.location.origin);return t.ok||this.loggerWrapper.warn("Webauthn start failed",null===(e=null==t?void 0:t.error)||void 0===e?void 0:e.errorMessage),t.data}catch(e){this.loggerWrapper.warn("Webauthn start failed",e.message)}}))))),ht.set(this,Z(((i,o)=>e(this,void 0,void 0,(function*(){if("true"===i.getAttribute("formnovalidate")||t(this,Xe,"m",lt).call(this)){const r=null==i?void 0:i.getAttribute("id");t(this,Xe,"m",ct).call(this,i);const n=yield t(this,Xe,"m",dt).call(this),s=(e=i,Array.from((null==e?void 0:e.attributes)||[]).reduce(((e,t)=>{var i;const o=null===(i=new RegExp("^data-descope-(\\S+)$").exec(t.name))||void 0===i?void 0:i[1];return o?Object.assign(e,{[o]:t.value}):e}),{})),a=this.getComponentsContext(),l=Object.assign(Object.assign(Object.assign(Object.assign({},a),s),n),{origin:window.location.origin}),d=yield this.getFlowConfig(),c=yield this.getProjectConfig(),u=yield o(r,d.version,c.componentsVersion,l);t(this,rt,"f").call(this,u),t(this,Xe,"m",ut).call(this,n)}var e}))))),this.flowState=o}loadSdkScripts(){return e(this,void 0,void 0,(function*(){const t=(yield this.getFlowConfig()).sdkScripts;null==t||t.forEach((t=>e(this,void 0,void 0,(function*(){(yield function(t){return e(this,void 0,void 0,(function*(){let e;switch(t){case"forter":return e=yield import("./forter-74d50b85.js"),e.default;case"fingerprint":return e=yield import("./fingerprint-84b451f2.js"),e.default;case"fingerprintDescope":return e=yield import("./fingerprintDescope-effc737b.js"),e.default;default:throw new Error(`Unknown script id: ${t}`)}}))}(t.id))(t.initArgs,{baseUrl:this.baseUrl},(e=>{this.dispatchEvent(new CustomEvent("components-context",{detail:{[bt(t.id,t.resultKey)]:e},bubbles:!0,composed:!0}))}))}))))}))}connectedCallback(){const i=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return e(this,void 0,void 0,(function*(){var e,o;this.shadowRoot.isConnected&&(null===(e=this.flowState)||void 0===e||e.subscribe(this.onFlowChange.bind(this)),null===(o=this.stepState)||void 0===o||o.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",t(this,et,"f").visibilitychange)),yield i.connectedCallback.call(this)}))}disconnectedCallback(){var e;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(e=t(this,Ze,"f"))||void 0===e||e.abort(),i(this,Ze,null,"f"),window.removeEventListener("visibilitychange",t(this,et,"f").visibilitychange)}getHtmlFilenameWithLocale(t,i){return e(this,void 0,void 0,(function*(){let e;const o=ee(t);return(yield this.getTargetLocales()).includes(o)&&(e=`${i}-${o}.html`),e}))}getPageContent(t,i){return e(this,void 0,void 0,(function*(){if(i)try{const{body:e}=yield F(i,"text");return e}catch(e){this.loggerWrapper.error(`Failed to fetch flow page from ${i}. Fallback to url ${t}`,e)}try{const{body:e}=yield F(t,"text");return e}catch(e){this.loggerWrapper.error("Failed to fetch flow page",e.message)}return null}))}onFlowChange(r,a,l){return e(this,void 0,void 0,(function*(){var e,d;const{projectId:c,flowId:u,tenant:h,stepId:p,executionId:g,action:f,screenId:v,screenState:m,redirectTo:b,openInNewTabUrl:y,redirectUrl:w,token:I,code:k,exchangeError:C,webauthnTransactionId:A,webauthnOptions:S,redirectAuthCodeChallenge:j,redirectAuthCallbackUrl:E,redirectAuthBackupCallbackUri:U,redirectAuthInitiator:x,locale:O,samlIdpResponseUrl:L,samlIdpResponseSamlResponse:P,samlIdpResponseRelayState:N}=r,D=o(r,["projectId","flowId","tenant","stepId","executionId","action","screenId","screenState","redirectTo","openInNewTabUrl","redirectUrl","token","code","exchangeError","webauthnTransactionId","webauthnOptions","redirectAuthCodeChallenge","redirectAuthCallbackUrl","redirectAuthBackupCallbackUri","redirectAuthInitiator","locale","samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"]);let q,_;const F=(()=>{const e=localStorage.getItem(ve);if(!e){const e=Math.floor(100*Math.random()+1);return localStorage.setItem(ve,e.toString()),e}return Number(e)})(),H=this.sdk.getLastUserLoginId(),B=yield this.getFlowConfig(),J=yield this.getProjectConfig(),G=E&&j?{callbackUrl:E,codeChallenge:j,backupCallbackUri:U}:void 0;if(!g&&(this.loadSdkScripts(),B.fingerprintEnabled&&B.fingerprintKey?yield n(B.fingerprintKey,this.baseUrl):s(),B.conditions?({startScreenId:q,conditionInteractionId:_}=((e,t)=>{const i=null==t?void 0:t.find((({key:t,operator:i,predicate:o})=>{var r;if("ELSE"===t)return!0;const n=null===(r=ge[t])||void 0===r?void 0:r[i];return!!(null==n?void 0:n(e,o))}));return i?{startScreenId:i.met.screenId,conditionInteractionId:i.met.interactionId}:{}})({loginId:H,code:k,token:I,abTestingKey:F},B.conditions)):B.condition?({startScreenId:q,conditionInteractionId:_}=((e,t)=>{var i;const o=null===(i=ge[null==e?void 0:e.key])||void 0===i?void 0:i[e.operator];if(!o)return{};const r=o(t,e.predicate)?e.met:e.unmet;return{startScreenId:null==r?void 0:r.screenId,conditionInteractionId:null==r?void 0:r.interactionId}})(B.condition,{loginId:H,code:k,token:I,abTestingKey:F})):q=B.startScreenId,!Q(q,D))){const i=yield this.sdk.flow.start(u,Object.assign(Object.assign(Object.assign(Object.assign({tenant:h,redirectAuth:G},D),{client:this.client}),w&&{redirectUrl:w}),{lastAuth:fe(H),abTestingKey:F,locale:ee(O)}),_,"",B.version,J.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),k?{exchangeCode:k,idpInitiated:!0}:{}),D.descopeIdpInitiated&&{idpInitiated:!0}),I?{token:I}:{}),D.oidcLoginHint?{externalId:D.oidcLoginHint}:{}));return t(this,rt,"f").call(this,i),void("completed"!==(null===(e=null==i?void 0:i.data)||void 0===e?void 0:e.status)&&this.flowState.update({code:void 0,token:void 0}))}if(g&&(l("token")&&I||l("code")&&k||l("exchangeError")&&C)){const e=yield this.sdk.flow.next(g,p,M,B.version,J.componentsVersion,{token:I,exchangeCode:k,exchangeError:C});return t(this,rt,"f").call(this,e),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(f===$&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((e=>l(e)))){if(!L||!P)return void this.loggerWrapper.error("Did not get saml idp params data to load");((e,t,i,o)=>{const r=document.createElement("form");r.method="POST",r.action=e,r.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${t}" />\n <input type="hidden" role="saml-relay-state" name="RelayState" value="${i}" />\n <input style="display: none;" id="SAMLSubmitButton" type="submit" value="Continue" />\n `,document.body.appendChild(r),o(r)})(L,P,N||"",X)}if(f===T&&(l("redirectTo")||l("deferredRedirect")))return b?"android"===x&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(b):void this.loggerWrapper.error("Did not get redirect url");if(f===R||f===W){if(!A||!S)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let e,o;null===(d=t(this,Ze,"f"))||void 0===d||d.abort(),i(this,Ze,null,"f");try{e=f===R?yield this.sdk.webauthn.helpers.create(S):yield this.sdk.webauthn.helpers.get(S)}catch(e){"InvalidStateError"===e.name?this.loggerWrapper.warn("WebAuthn operation failed",e.message):"NotAllowedError"!==e.name&&this.loggerWrapper.error(e.message),o=e.name}const r=yield this.sdk.flow.next(g,p,M,B.version,J.componentsVersion,{transactionId:A,response:e,failure:o});t(this,rt,"f").call(this,r)}if(t(this,it,"f").call(this,g,p,f,B.version,J.componentsVersion),!v&&!q)return void this.loggerWrapper.warn("No screen was found to show");const z=q||v,Y=yield this.getHtmlFilenameWithLocale(O,z),{oidcLoginHint:Z,oidcPrompt:te,oidcErrorRedirectUri:ie,samlIdpUsername:oe}=D,re={direction:K(p,a.stepId),screenState:Object.assign(Object.assign({},m),{form:Object.assign(Object.assign({},this.formConfigValues),null==m?void 0:m.form),lastAuth:{loginId:H,name:this.sdk.getLastUserDisplayName()||H}}),htmlUrl:V({projectId:c,filename:`${z}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:Y&&V({projectId:c,filename:Y,baseUrl:this.baseStaticUrl}),samlIdpUsername:oe,oidcLoginHint:Z,oidcPrompt:te,oidcErrorRedirectUri:ie,openInNewTabUrl:y},ne=fe(H);Q(q,D)?re.next=(e,t,i,o)=>this.sdk.flow.start(u,Object.assign(Object.assign(Object.assign(Object.assign({tenant:h,redirectAuth:G},D),{lastAuth:ne,preview:this.preview,abTestingKey:F,client:this.client}),w&&{redirectUrl:w}),{locale:ee(O)}),_,e,t,i,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),k&&{exchangeCode:k,idpInitiated:!0}),D.descopeIdpInitiated&&{idpInitiated:!0}),I&&{token:I})):(l("projectId")||l("baseUrl")||l("executionId")||l("stepId"))&&(re.next=(...e)=>this.sdk.flow.next(g,p,...e)),this.stepState.update(re)}))}loadDescopeUiComponents(t){return e(this,void 0,void 0,(function*(){const i=yield mt.descopeUI;if(!i)return;const o=(e=>[...Array.from(e.querySelectorAll("*")).reduce(((e,t)=>t.tagName.startsWith("DESCOPE-")?e.add(t.tagName.toLocaleLowerCase()):e),new Set)])(t);yield Promise.all(o.map((t=>e(this,void 0,void 0,(function*(){if(!!!customElements.get(t))if(i[t])try{return yield i[t]()}catch(e){if("NotSupportedError"!==e.name)throw e;console.debug(`${t} is already registered`)}else this.loggerWrapper.error(`Cannot load UI component "${t}"`,`Descope UI does not have a component named "${t}", available components are: "${Object.keys(i).join(", ")}"`)})))))}))}onStepChange(i,o){return e(this,void 0,void 0,(function*(){var r,n;const{htmlUrl:s,htmlLocaleUrl:a,direction:l,next:d,screenState:c,openInNewTabUrl:u}=i,h=document.createElement("template");h.innerHTML=yield this.getPageContent(s,a);const p=h.content.cloneNode(!0),g=this.loadDescopeUiComponents(h.content);this.sdk.webauthn.helpers.isSupported()?yield t(this,Xe,"m",at).call(this,p,d):p.querySelectorAll(`descope-button[${O}="biometrics"]`).forEach((e=>e.setAttribute("disabled","true"))),!i.samlIdpUsername||(null===(r=c.form)||void 0===r?void 0:r.loginId)||(null===(n=c.form)||void 0===n?void 0:n.email)||(c.form||(c.form={}),c.form.loginId=i.samlIdpUsername,c.form.email=i.samlIdpUsername),he(p,c,c.componentsConfig,this.formConfig,this.errorTransformer,this.loggerWrapper);const{geo:f}=yield this.getExecutionContext();((e,t)=>{Array.from(e.querySelectorAll('descope-phone-field[default-code="autoDetect"]')).forEach((e=>{e.setAttribute("default-code",t)}))})(p,f);const v=()=>e(this,void 0,void 0,(function*(){var e,i;yield g;const r=this.shadowRoot.querySelector("div");var n,s;n=r,s=null===(e=null==c?void 0:c.totp)||void 0===e?void 0:e.image,ue(n,"descope-totp-image",s),((e,t)=>{ue(e,"descope-notp-image",t)})(r,null===(i=null==c?void 0:c.notp)||void 0===i?void 0:i.image),this.rootElement.replaceChildren(p),setTimeout((()=>{((e,t)=>{le(e,null==t?void 0:t.inputs),le(e,null==t?void 0:t.form)})(this.rootElement,c)}));const a=!o.htmlUrl;((e,t,i)=>{if(!0===t||"skipFirstScreen"===t&&!i){const t=e.querySelector("*[name]");setTimeout((()=>{null==t||t.focus()}))}})(this.rootElement,this.autoFocus,a),this.validateOnBlur&&(e=>{e.querySelectorAll("*[name]").forEach((e=>{e.addEventListener("blur",(()=>{var t;const i=e.focus;e.focus=()=>{},null===(t=e.reportValidity)||void 0===t||t.call(e),setTimeout((()=>{e.focus=i}))}))}))})(this.rootElement),t(this,Xe,"m",gt).call(this,d),a&&t(this,Xe,"m",vt).call(this,"ready",{}),t(this,Xe,"m",vt).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${O}="polling"]`)){const e=yield this.getFlowConfig(),i=yield this.getProjectConfig(),o=yield d(P,e.version,i.componentsVersion,{});t(this,rt,"f").call(this,o)}u&&!o.openInNewTabUrl&&window.open(u,"_blank")}));l?t(this,Xe,"m",ft).call(this,v,l):v()}))}}Ye=new WeakMap,Ze=new WeakMap,et=new WeakMap,it=new WeakMap,ot=new WeakMap,rt=new WeakMap,nt=new WeakMap,ht=new WeakMap,Xe=new WeakSet,tt=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},st=function(e){const t=e.getAttribute("name");if(!["email"].includes(t)){const i=`user-${t}`;e.setAttribute("name",i),e.addEventListener("input",(()=>{e.setAttribute("name",e.value?t:i)}))}},at=function(o,r){return e(this,void 0,void 0,(function*(){var n;null===(n=t(this,Ze,"f"))||void 0===n||n.abort();const s=o.querySelector('*[autocomplete="webauthn"]');if(s&&(yield pe())){const{options:o,transactionId:n}=(yield t(this,nt,"f").call(this))||{};if(o&&n){t(this,Xe,"m",st).call(this,s),i(this,Ze,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(o,t(this,Ze,"f")).then((i=>e(this,void 0,void 0,(function*(){const e=yield r(s.id,a.version,l.componentsVersion,{transactionId:n,response:i});t(this,rt,"f").call(this,e)})))).catch((e=>{"AbortError"!==e.name&&this.loggerWrapper.error("Conditional login failed",e.message)}))}}}))},lt=function(){let e=!0;return Array.from(this.shadowRoot.querySelectorAll("*[name]")).reverse().forEach((t=>{var i,o;"slot"!==t.localName&&(null===(i=t.reportValidity)||void 0===i||i.call(t),e&&(e=null===(o=t.checkValidity)||void 0===o?void 0:o.call(t)))})),e},dt=function(){return e(this,void 0,void 0,(function*(){const t=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${w}])`));return(yield Promise.all(t.map((t=>e(this,void 0,void 0,(function*(){return{name:t.getAttribute("name"),value:t.value}})))))).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.name]:t.value})),{})}))},ct=function(e){const t=this.nextRequestStatus.subscribe((({isLoading:i})=>{i?e.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(t),e.removeAttribute("loading"))}))},ut=function(e={}){var t,i;const o=Y(e,["externalId","email","phone"]),r=Y(e,["newPassword","password"]);if(o&&r)try{if(!globalThis.PasswordCredential)return;const e=new globalThis.PasswordCredential({id:o,password:r});null===(i=null===(t=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===t?void 0:t.store)||void 0===i||i.call(t,e)}catch(e){this.loggerWrapper.error("Could not store credentials",e.message)}},pt=function(e){this.rootElement.querySelectorAll('descope-passcode[data-auto-submit="true"]').forEach((i=>{i.addEventListener("input",(()=>{var o;(null===(o=i.checkValidity)||void 0===o?void 0:o.call(i))&&t(this,ht,"f").call(this,i,e)}))}))},gt=function(e){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((i=>{i.onclick=()=>{t(this,ht,"f").call(this,i,e)}})),t(this,Xe,"m",pt).call(this,e)},ft=function(e,t){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),e()}),{once:!0});const i=t===D.forward?"slide-forward":"slide-backward";Array.from(this.rootElement.getElementsByClassName("input-container")).forEach(((e,t)=>{e.style["transition-delay"]=40*t+"ms",e.classList.add(i)})),this.rootElement.classList.add("fade-out")},vt=function(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))},customElements.get("descope-wc")?console.log("descope-wc is already defined"):customElements.define("descope-wc",yt);export{yt as D,se as S};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{D as default}from"./index-
|
|
1
|
+
export{D as default}from"./index-04e5c086.js";import"tslib";import"@descope/web-js-sdk";
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
!function(){"use strict";var t=function(){return t=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},t.apply(this,arguments)};function e(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(t);i<o.length;i++)e.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(t,o[i])&&(n[o[i]]=t[o[i]])}return n}function n(t,e,n,o){return new(n||(n=Promise))((function(i,r){function s(t){try{l(o.next(t))}catch(t){r(t)}}function a(t){try{l(o.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((o=o.apply(t,e||[])).next())}))}function o(t,e,n,o){if("a"===n&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?o:"a"===n?o.call(t):o?o.value:e.get(t)}function i(t,e,n,o,i){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?i.call(t,n):i?i.value=n:e.set(t,n),n}function r(t){this.message=t}"function"==typeof SuppressedError&&SuppressedError,r.prototype=new Error,r.prototype.name="InvalidCharacterError";var s="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new r("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,o,i=0,s=0,a="";o=e.charAt(s++);~o&&(n=i%4?64*n+o:o,i++%4)?a+=String.fromCharCode(255&n>>(-2*i&6)):0)o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o);return a};function a(t){this.message=t}function l(t,e){if("string"!=typeof t)throw new a("Invalid token specified");var n=!0===(e=e||{}).header?0:1;try{return JSON.parse(function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(s(t).replace(/(.)/g,(function(t,e){var n=e.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(e)}catch(t){return s(e)}}(t.split(".")[n]))}catch(t){throw new a("Invalid token specified: "+t.message)}}a.prototype=new Error,a.prototype.name="InvalidTokenError";var c="/v1/auth/accesskey/exchange",d="/v1/auth/otp/verify",u="/v1/auth/otp/signin",h="/v1/auth/otp/signup",p={email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},f="/v1/auth/otp/signup-in",g="/v1/auth/magiclink/verify",v="/v1/auth/magiclink/signin",m="/v1/auth/magiclink/signup",w={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},b="/v1/auth/magiclink/signup-in",y="/v1/auth/enchantedlink/verify",I="/v1/auth/enchantedlink/signin",k="/v1/auth/enchantedlink/signup",j="/v1/auth/enchantedlink/pending-session",C={email:"/v1/auth/enchantedlink/update/email"},O="/v1/auth/enchantedlink/signup-in",S="/v1/auth/oauth/authorize",x="/v1/auth/oauth/exchange",A="v1/auth/oauth/native/start",U="v1/auth/oauth/native/finish",E="/v1/auth/saml/authorize",T="/v1/auth/saml/exchange",L="/v1/auth/totp/verify",_="/v1/auth/totp/signup",R="/v1/auth/totp/update",P="/v1/auth/notp/whatsapp/signin",$="/v1/auth/notp/whatsapp/signup",M="/v1/auth/notp/whatsapp/signup-in",D="/v1/auth/notp/pending-session",q={start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},N={start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},W={start:"/v1/auth/webauthn/signup-in/start"},F={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},B="/v1/auth/password/signup",V="/v1/auth/password/signin",K="/v1/auth/password/reset",H="/v1/auth/password/update",J="/v1/auth/password/replace",G="/v1/auth/password/policy",z="/v1/auth/refresh",X="/v1/auth/tenant/select",Q="/v1/auth/logout",Z="/v1/auth/logoutall",Y="/v1/auth/me",tt="/v1/auth/me/history",et="/v1/flow/start",nt="/v1/flow/next";const ot="<region>",it=`https://api.${ot}descope.com`,rt=6e5,st="dct",at=()=>{const t={};return{headers(e){const n="function"==typeof e.entries?Object.fromEntries(e.entries()):e;return t.Headers=JSON.stringify(n),this},body(e){return t.Body=e,this},url(e){return t.Url=e.toString(),this},method(e){return t.Method=e,this},title(e){return t.Title=e,this},status(e){return t.Status=e,this},build:()=>Object.keys(t).flatMap((e=>t[e]?[`${"Title"!==e?`${e}: `:""}${t[e]}`]:[])).join("\n")}};var lt;!function(t){t.get="GET",t.delete="DELETE",t.post="POST",t.put="PUT",t.patch="PATCH"}(lt||(lt={}));const ct=({path:t,baseUrl:e,queryParams:n,projectId:o})=>{const i=o.slice(1,-27);e=e.replace(ot,i?i+".":"");let r=t?`${e.replace(/\/$/,"")}/${null==t?void 0:t.replace(/^\//,"")}`:e;if(n){r=`${r}?`;const t=Object.keys(n);t.forEach(((e,o)=>{r=`${r}${e}=${n[e]}${o===t.length-1?"":"&"}`}))}return r},dt=(...t)=>new Headers(t.reduce(((t,e)=>{const n=(t=>Array.isArray(t)?t:t instanceof Headers?Array.from(t.entries()):t?Object.entries(t):[])(e);return n.reduce(((e,[n,o])=>(t[n]=o,t)),t),t}),{})),ut={"Content-Type":"application/json"},ht=(t,e="")=>{let n=t;return e&&(n=n+":"+e),{Authorization:`Bearer ${n}`}},pt=t=>{try{t=JSON.parse(t)}catch(t){return!1}return"object"==typeof t&&null!==t},ft=({baseUrl:t,projectId:e,baseConfig:n,logger:o,hooks:i,cookiePolicy:r,fetch:s})=>{const a=((t,e)=>{const n=(t=>async(...e)=>{const n=await t(...e),o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n})(e||fetch);return n||null==t||t.warn("Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally"),t?async(...e)=>{if(!n)throw Error("Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally");t.log((t=>at().title("Request").url(t[0]).method(t[1].method).headers(t[1].headers).body(t[1].body).build())(e));const o=await n(...e);return t[o.ok?"log":"error"](await(async t=>{const e=await t.text();return at().title("Response").url(t.url.toString()).status(`${t.status} ${t.statusText}`).headers(t.headers).body(e).build()})(o)),o}:n})(o,s),l=async o=>{var s;const l=(null==i?void 0:i.beforeRequest)?i.beforeRequest(o):o,{path:c,body:d,headers:u,queryParams:h,method:p,token:f}=l,g=(t=>void 0===t?void 0:JSON.stringify(t))(d),v={headers:dt(ht(e,f),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.24.1"},(null==n?void 0:n.baseHeaders)||{},pt(g)?ut:{},u),method:p,body:g};null!==r&&(v.credentials=r||"include");const m=await a(ct({path:c,baseUrl:t,queryParams:h,projectId:e}),v);if((null==i?void 0:i.afterRequest)&&await i.afterRequest(o,null==m?void 0:m.clone()),null==i?void 0:i.transformResponse){const t=await m.json(),e=((null===(s=m.headers)||void 0===s?void 0:s.get("set-cookie"))||"").split(";").reduce(((t,e)=>{const[n,o]=e.split("=");return Object.assign(Object.assign({},t),{[n.trim()]:o})}),{}),n=Object.assign(Object.assign({},m),{json:()=>Promise.resolve(t),cookies:e});return n.clone=()=>n,i.transformResponse(n)}return m};return{get:(t,{headers:e,queryParams:n,token:o}={})=>l({path:t,headers:e,queryParams:n,body:void 0,method:lt.get,token:o}),post:(t,e,{headers:n,queryParams:o,token:i}={})=>l({path:t,headers:n,queryParams:o,body:e,method:lt.post,token:i}),patch:(t,e,{headers:n,queryParams:o,token:i}={})=>l({path:t,headers:n,queryParams:o,body:e,method:lt.patch,token:i}),put:(t,e,{headers:n,queryParams:o,token:i}={})=>l({path:t,headers:n,queryParams:o,body:e,method:lt.put,token:i}),delete:(t,{headers:e,queryParams:n,token:o}={})=>l({path:t,headers:e,queryParams:n,body:void 0,method:lt.delete,token:o}),hooks:i,buildUrl:(n,o)=>ct({projectId:e,baseUrl:t,path:n,queryParams:o})}};var gt=429;function vt(t,e,n){var o;let i=mt(t);if(e){if(!(null==i?void 0:i.tenants)&&(null==i?void 0:i[st])===e)return(null==i?void 0:i[n])||[];i=null===(o=null==i?void 0:i.tenants)||void 0===o?void 0:o[e]}const r=null==i?void 0:i[n];return Array.isArray(r)?r:[]}function mt(t){if("string"!=typeof t||!t)throw new Error("Invalid token provided");return l(t)}function wt(t){const{exp:e}=mt(t);return(new Date).getTime()/1e3>e}function bt(t){let e=mt(t);const n=Object.keys(null==e?void 0:e.tenants);return Array.isArray(n)?n:[]}function yt(t,e){return vt(t,e,"permissions")}function It(t,e){return vt(t,e,"roles")}const kt=(...t)=>t.join("/").replace(/\/{2,}/g,"/");async function jt(t,e){var n;const o=await t,i={code:o.status,ok:o.ok,response:o},r=await o.clone().json();return o.ok?i.data=e?e(r):r:(i.error=r,o.status===gt&&Object.assign(i.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get("retry-after"))||0})),i}const Ct=(t,e)=>(n=e)=>e=>!t(e)&&n.replace("{val}",e),Ot=(...t)=>({validate:e=>(t.forEach((t=>{const n=t(e);if(n)throw new Error(n)})),!0)}),St=t=>e=>t.test(e),xt=St(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),At=St(/^\+[1-9]{1}[0-9]{3,14}$/),Ut=Ct(xt,'"{val}" is not a valid email'),Et=Ct(At,'"{val}" is not a valid phone number'),Tt=Ct((t=>t.length>=1),"Minimum length is 1");const Lt=Ct((t=>"string"==typeof t),"Input is not a string"),_t=Ct((t=>void 0===t),"Input is defined"),Rt=(Pt=[Lt(),_t()],(t="Input is not a string or undefined")=>e=>{const n=Pt.filter((t=>t(e)));return!(n.length<Pt.length)&&(t?t.replace("{val}",e):n.join(" OR "))});var Pt;const $t=(...t)=>e=>(...n)=>(t.forEach(((t,e)=>Ot(...t).validate(n[e]))),e(...n)),Mt=t=>[Lt(`"${t}" must be a string`)],Dt=t=>[Lt(`"${t}" must be a string`),Tt(`"${t}" must not be empty`)],qt=t=>[Lt(`"${t}" must be a string`),Ut()],Nt=t=>[Lt(`"${t}" must be a string`),Et()],Wt=$t(Dt("accessKey")),Ft=t=>({exchange:Wt(((e,n)=>jt(t.post(c,{loginOptions:n},{token:e}))))}),Bt=(t,e,n)=>(e.forEach((e=>{const o=e.split(".");let i=o.shift(),r=t;for(;o.length>0;){if(r=r[i],!i||!r)throw Error(`Invalid path "${e}", "${i}" is missing or has no value`);i=o.shift()}if("function"!=typeof r[i])throw Error(`"${e}" is not a function`);const s=r[i];r[i]=n(s)})),t),Vt=({pollingIntervalMs:t=1e3,timeoutMs:e=6e5}={})=>({pollingIntervalMs:Math.max(t||1e3,1e3),timeoutMs:Math.min(e||rt,rt)});var Kt,Ht;!function(t){t.sms="sms",t.voice="voice",t.whatsapp="whatsapp"}(Kt||(Kt={})),function(t){t.email="email"}(Ht||(Ht={}));const Jt=Object.assign(Object.assign({},Kt),Ht);var Gt;!function(t){t.waiting="waiting",t.running="running",t.completed="completed",t.failed="failed"}(Gt||(Gt={}));const zt=Dt("loginId"),Xt=$t(Dt("token")),Qt=$t(zt),Zt=$t(Dt("pendingRef")),Yt=$t(zt,qt("email")),te=t=>({verify:Xt((e=>jt(t.post(y,{token:e})))),signIn:Qt(((e,n,o,i)=>jt(t.post(kt(I,Jt.email),{loginId:e,URI:n,loginOptions:o},{token:i})))),signUpOrIn:Qt(((e,n,o)=>jt(t.post(kt(O,Jt.email),{loginId:e,URI:n,loginOptions:o})))),signUp:Qt(((e,n,o,i)=>jt(t.post(kt(k,Jt.email),{loginId:e,URI:n,user:o,loginOptions:i})))),waitForSession:Zt(((e,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=Vt(n);let s;const a=setInterval((async()=>{const n=await t.post(j,{pendingRef:e});n.ok&&(clearInterval(a),s&&clearTimeout(s),o(jt(Promise.resolve(n))))}),i);s=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:"0"},ok:!1}),clearInterval(a)}),r)})))),update:{email:Yt(((e,n,o,i,r)=>jt(t.post(C.email,Object.assign({loginId:e,email:n,URI:o},r),{token:i}))))}}),ee=$t(Dt("flowId")),ne=$t(Dt("executionId"),Dt("stepId"),Dt("interactionId")),oe=t=>({start:ee(((e,n,o,i,r,s,a)=>jt(t.post(et,{flowId:e,options:n,conditionInteractionId:o,interactionId:i,version:r,componentsVersion:s,input:a})))),next:ne(((e,n,o,i,r,s)=>jt(t.post(nt,{executionId:e,stepId:n,interactionId:o,version:i,componentsVersion:r,input:s}))))}),ie=Dt("loginId"),re=$t(Dt("token")),se=$t(ie),ae=$t(ie,Nt("phone")),le=$t(ie,qt("email")),ce=Object.keys(Jt).filter((t=>t!==Kt.voice)),de=t=>({verify:re((e=>jt(t.post(g,{token:e})))),signIn:ce.reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:se(((e,o,i,r)=>jt(t.post(kt(v,n),{loginId:e,URI:o,loginOptions:i},{token:r}))))})),{}),signUp:ce.reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:se(((e,o,i,r)=>jt(t.post(kt(m,n),{loginId:e,URI:o,user:i,loginOptions:r}))))})),{}),signUpOrIn:ce.reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:se(((e,o,i)=>jt(t.post(kt(b,n),{loginId:e,URI:o,loginOptions:i}))))})),{}),update:{email:le(((e,n,o,i,r)=>jt(t.post(w.email,Object.assign({loginId:e,email:n,URI:o},r),{token:i})))),phone:Object.keys(Kt).filter((t=>t!==Kt.voice)).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ae(((e,o,i,r,s)=>jt(t.post(kt(w.phone,n),Object.assign({loginId:e,phone:o,URI:i},s),{token:r}))))})),{})}});var ue;!function(t){t.facebook="facebook",t.github="github",t.google="google",t.microsoft="microsoft",t.gitlab="gitlab",t.apple="apple",t.discord="discord",t.linkedin="linkedin",t.slack="slack"}(ue||(ue={}));const he=$t(Dt("code")),pe=t=>({start:Object.assign(((e,n,o,i)=>jt(t.post(S,o||{},{queryParams:Object.assign({provider:e},n&&{redirectURL:n}),token:i}))),Object.keys(ue).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:(e,o,i)=>jt(t.post(S,o||{},{queryParams:Object.assign({provider:n},e&&{redirectURL:e}),token:i}))})),{})),exchange:he((e=>jt(t.post(x,{code:e})))),startNative:(e,n,o)=>jt(t.post(A,{provider:e,loginOptions:n,implicit:o})),finishNative:(e,n,o,i,r)=>jt(t.post(U,{provider:e,stateId:n,user:o,code:i,idToken:r}))}),fe=Dt("loginId"),ge=$t(fe,Dt("code")),ve=$t(fe),me=$t(fe,Nt("phone")),we=$t(fe,qt("email")),be=t=>({verify:Object.keys(Jt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ge(((e,o)=>jt(t.post(kt(d,n),{code:o,loginId:e}))))})),{}),signIn:Object.keys(Jt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ve(((e,o,i)=>jt(t.post(kt(u,n),{loginId:e,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(Jt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ve(((e,o,i)=>jt(t.post(kt(h,n),{loginId:e,user:o,loginOptions:i}))))})),{}),signUpOrIn:Object.keys(Jt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ve(((e,o)=>jt(t.post(kt(f,n),{loginId:e,loginOptions:o}))))})),{}),update:{email:we(((e,n,o,i)=>jt(t.post(p.email,Object.assign({loginId:e,email:n},i),{token:o})))),phone:Object.keys(Kt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:me(((e,o,i,r)=>jt(t.post(kt(p.phone,n),Object.assign({loginId:e,phone:o},r),{token:i}))))})),{})}}),ye=$t(Dt("tenant")),Ie=$t(Dt("code")),ke=t=>({start:ye(((e,n,o,i)=>jt(t.post(E,o||{},{queryParams:{tenant:e,redirectURL:n},token:i})))),exchange:Ie((e=>jt(t.post(T,{code:e}))))}),je=Dt("loginId"),Ce=$t(je,Dt("code")),Oe=$t(je),Se=$t(je),xe=t=>({signUp:Oe(((e,n)=>jt(t.post(_,{loginId:e,user:n})))),verify:Ce(((e,n,o,i)=>jt(t.post(L,{loginId:e,code:n,loginOptions:o},{token:i})))),update:Se(((e,n)=>jt(t.post(R,{loginId:e},{token:n}))))}),Ae=Dt("loginId"),Ue=Dt("newPassword"),Ee=$t(Ae,Dt("password")),Te=$t(Ae),Le=$t(Ae,Ue),_e=$t(Ae,Dt("oldPassword"),Ue),Re=t=>({signUp:Ee(((e,n,o,i)=>jt(t.post(B,{loginId:e,password:n,user:o,loginOptions:i})))),signIn:Ee(((e,n,o)=>jt(t.post(V,{loginId:e,password:n,loginOptions:o})))),sendReset:Te(((e,n,o)=>jt(t.post(K,{loginId:e,redirectUrl:n,templateOptions:o})))),update:Le(((e,n,o)=>jt(t.post(H,{loginId:e,newPassword:n},{token:o})))),replace:_e(((e,n,o)=>jt(t.post(J,{loginId:e,oldPassword:n,newPassword:o})))),policy:()=>jt(t.get(G))}),Pe=Mt("loginId"),$e=Dt("loginId"),Me=Dt("origin"),De=$t($e,Me,Dt("name")),qe=$t($e,Me),Ne=$t(Pe,Me),We=$t($e,Me,Dt("token")),Fe=$t(Dt("transactionId"),Dt("response")),Be=t=>({signUp:{start:De(((e,n,o)=>jt(t.post(q.start,{user:{loginId:e,name:o},origin:n})))),finish:Fe(((e,n)=>jt(t.post(q.finish,{transactionId:e,response:n}))))},signIn:{start:Ne(((e,n,o,i)=>jt(t.post(N.start,{loginId:e,origin:n,loginOptions:o},{token:i})))),finish:Fe(((e,n)=>jt(t.post(N.finish,{transactionId:e,response:n}))))},signUpOrIn:{start:qe(((e,n)=>jt(t.post(W.start,{loginId:e,origin:n}))))},update:{start:We(((e,n,o)=>jt(t.post(F.start,{loginId:e,origin:n},{token:o})))),finish:Fe(((e,n)=>jt(t.post(F.finish,{transactionId:e,response:n}))))}}),Ve=Mt("loginId"),Ke=$t(Ve),He=$t(Dt("pendingRef")),Je=t=>({signUpOrIn:Ke(((e,n)=>jt(t.post(M,{loginId:e,loginOptions:n})))),signUp:Ke(((e,n,o)=>jt(t.post($,{loginId:e,user:n,loginOptions:o})))),signIn:Ke(((e,n,o)=>jt(t.post(P,{loginId:e,loginOptions:n},{token:o})))),waitForSession:He(((e,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=Vt(n);let s;const a=setInterval((async()=>{const n=await t.post(D,{pendingRef:e});n.ok&&(clearInterval(a),s&&clearTimeout(s),o(jt(Promise.resolve(n))))}),i);s=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:"0"},ok:!1}),clearInterval(a)}),r)}))))}),Ge=$t(Dt("token")),ze=$t([Rt('"token" must be string or undefined')]);var Xe,Qe=$t([(Xe=Dt("projectId"),Ct(((t,e)=>n=>Ot(...e).validate(((t,e)=>{const n=(Array.isArray(e)?e.join("."):String(e)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,((t,e,n)=>"."+n)).split("."),o=n.length;let i=0,r=t===Object(t)?t:void 0;for(;null!=r&&i<o;)r=r[n[i++]];return i&&i===o&&void 0!==r?r:void 0})(n,t)))("projectId",Xe))())])((t=>{var e;return(({projectId:t,logger:e,baseUrl:n,hooks:o,cookiePolicy:i,baseHeaders:r={},fetch:s})=>{return a=ft({baseUrl:n||it,projectId:t,logger:e,hooks:o,cookiePolicy:i,baseConfig:{baseHeaders:r},fetch:s}),{accessKey:Ft(a),otp:be(a),magicLink:de(a),enchantedLink:te(a),oauth:pe(a),saml:ke(a),totp:xe(a),notp:Je(a),webauthn:Be(a),password:Re(a),flow:oe(a),refresh:ze((t=>jt(a.post(z,{},{token:t})))),selectTenant:$t([Lt("tenantId")],[Rt('"token" must be string or undefined')])(((t,e)=>jt(a.post(X,{tenant:t},{token:e})))),logout:ze((t=>jt(a.post(Q,{},{token:t})))),logoutAll:ze((t=>jt(a.post(Z,{},{token:t})))),me:ze((t=>jt(a.get(Y,{token:t})))),history:ze((t=>jt(a.get(tt,{token:t})))),isJwtExpired:Ge(wt),getTenants:Ge(bt),getJwtPermissions:Ge(yt),getJwtRoles:Ge(It),httpClient:a};var a})(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>{var n;const o=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==o?void 0:o.reduce(((t,e)=>e(t)),e)},afterRequest:async(e,n)=>{var o;const i=[].concat((null===(o=t.hooks)||void 0===o?void 0:o.afterRequest)||[]);0!=i.length&&(await Promise.allSettled(null==i?void 0:i.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return"rejected"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))},transformResponse:null===(e=t.hooks)||void 0===e?void 0:e.transformResponse}}))})),Ze=Object.assign(Qe,{DeliveryMethods:Jt});
|
|
1
|
+
!function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},e.apply(this,arguments)};function t(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(n[o[i]]=e[o[i]])}return n}function n(e,t,n,o){return new(n||(n=Promise))((function(i,r){function s(e){try{l(o.next(e))}catch(e){r(e)}}function a(e){try{l(o.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((o=o.apply(e,t||[])).next())}))}function o(e,t,n,o){if("a"===n&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?o:"a"===n?o.call(e):o?o.value:t.get(e)}function i(e,t,n,o,i){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?i.call(e,n):i?i.value=n:t.set(e,n),n}function r(e){this.message=e}"function"==typeof SuppressedError&&SuppressedError,r.prototype=new Error,r.prototype.name="InvalidCharacterError";var s="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new r("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,o,i=0,s=0,a="";o=t.charAt(s++);~o&&(n=i%4?64*n+o:o,i++%4)?a+=String.fromCharCode(255&n>>(-2*i&6)):0)o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o);return a};function a(e){this.message=e}function l(e,t){if("string"!=typeof e)throw new a("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(s(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return s(t)}}(e.split(".")[n]))}catch(e){throw new a("Invalid token specified: "+e.message)}}a.prototype=new Error,a.prototype.name="InvalidTokenError";var c="/v1/auth/accesskey/exchange",d="/v1/auth/otp/verify",u="/v1/auth/otp/signin",h="/v1/auth/otp/signup",p={email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},f="/v1/auth/otp/signup-in",g="/v1/auth/magiclink/verify",v="/v1/auth/magiclink/signin",m="/v1/auth/magiclink/signup",w={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},b="/v1/auth/magiclink/signup-in",y="/v1/auth/enchantedlink/verify",I="/v1/auth/enchantedlink/signin",k="/v1/auth/enchantedlink/signup",j="/v1/auth/enchantedlink/pending-session",C={email:"/v1/auth/enchantedlink/update/email"},S="/v1/auth/enchantedlink/signup-in",O="/v1/auth/oauth/authorize",x="/v1/auth/oauth/exchange",A="v1/auth/oauth/native/start",U="v1/auth/oauth/native/finish",E="/v1/auth/saml/authorize",T="/v1/auth/saml/exchange",L="/v1/auth/totp/verify",_="/v1/auth/totp/signup",R="/v1/auth/totp/update",P="/v1/auth/notp/whatsapp/signin",$="/v1/auth/notp/whatsapp/signup",M="/v1/auth/notp/whatsapp/signup-in",D="/v1/auth/notp/pending-session",q={start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},N={start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},W={start:"/v1/auth/webauthn/signup-in/start"},F={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},B="/v1/auth/password/signup",V="/v1/auth/password/signin",K="/v1/auth/password/reset",H="/v1/auth/password/update",J="/v1/auth/password/replace",G="/v1/auth/password/policy",z="/v1/auth/refresh",X="/v1/auth/tenant/select",Q="/v1/auth/logout",Z="/v1/auth/logoutall",Y="/v1/auth/me",ee="/v1/auth/me/history",te="/v1/flow/start",ne="/v1/flow/next";const oe="<region>",ie=`https://api.${oe}descope.com`,re=6e5,se="dct",ae=()=>{const e={};return{headers(t){const n="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}};var le;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT",e.patch="PATCH"}(le||(le={}));const ce=({path:e,baseUrl:t,queryParams:n,projectId:o})=>{const i=o.slice(1,-27);t=t.replace(oe,i?i+".":"");let r=e?`${t.replace(/\/$/,"")}/${null==e?void 0:e.replace(/^\//,"")}`:t;if(n){r=`${r}?`;const e=Object.keys(n);e.forEach(((t,o)=>{r=`${r}${t}=${n[t]}${o===e.length-1?"":"&"}`}))}return r},de=(...e)=>new Headers(e.reduce(((e,t)=>{const n=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return n.reduce(((t,[n,o])=>(e[n]=o,e)),e),e}),{})),ue={"Content-Type":"application/json"},he=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},pe=e=>{try{e=JSON.parse(e)}catch(e){return!1}return"object"==typeof e&&null!==e},fe=({baseUrl:e,projectId:t,baseConfig:n,logger:o,hooks:i,cookiePolicy:r,fetch:s})=>{const a=((e,t)=>{const n=(e=>async(...t)=>{const n=await e(...t),o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n})(t||fetch);return n||null==e||e.warn("Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally"),e?async(...t)=>{if(!n)throw Error("Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally");e.log((e=>ae().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const o=await n(...t);return e[o.ok?"log":"error"](await(async e=>{const t=await e.text();return ae().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(o)),o}:n})(o,s),l=async o=>{var s;const l=(null==i?void 0:i.beforeRequest)?i.beforeRequest(o):o,{path:c,body:d,headers:u,queryParams:h,method:p,token:f}=l,g=(e=>void 0===e?void 0:JSON.stringify(e))(d),v={headers:de(he(t,f),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.24.1"},(null==n?void 0:n.baseHeaders)||{},pe(g)?ue:{},u),method:p,body:g};null!==r&&(v.credentials=r||"include");const m=await a(ce({path:c,baseUrl:e,queryParams:h,projectId:t}),v);if((null==i?void 0:i.afterRequest)&&await i.afterRequest(o,null==m?void 0:m.clone()),null==i?void 0:i.transformResponse){const e=await m.json(),t=((null===(s=m.headers)||void 0===s?void 0:s.get("set-cookie"))||"").split(";").reduce(((e,t)=>{const[n,o]=t.split("=");return Object.assign(Object.assign({},e),{[n.trim()]:o})}),{}),n=Object.assign(Object.assign({},m),{json:()=>Promise.resolve(e),cookies:t});return n.clone=()=>n,i.transformResponse(n)}return m};return{get:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:le.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:i}={})=>l({path:e,headers:n,queryParams:o,body:t,method:le.post,token:i}),patch:(e,t,{headers:n,queryParams:o,token:i}={})=>l({path:e,headers:n,queryParams:o,body:t,method:le.patch,token:i}),put:(e,t,{headers:n,queryParams:o,token:i}={})=>l({path:e,headers:n,queryParams:o,body:t,method:le.put,token:i}),delete:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:le.delete,token:o}),hooks:i,buildUrl:(n,o)=>ce({projectId:t,baseUrl:e,path:n,queryParams:o})}};var ge=429;function ve(e,t,n){var o;let i=me(e);if(t){if(!(null==i?void 0:i.tenants)&&(null==i?void 0:i[se])===t)return(null==i?void 0:i[n])||[];i=null===(o=null==i?void 0:i.tenants)||void 0===o?void 0:o[t]}const r=null==i?void 0:i[n];return Array.isArray(r)?r:[]}function me(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return l(e)}function we(e){const{exp:t}=me(e);return(new Date).getTime()/1e3>t}function be(e){let t=me(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function ye(e,t){return ve(e,t,"permissions")}function Ie(e,t){return ve(e,t,"roles")}const ke=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function je(e,t){var n;const o=await e,i={code:o.status,ok:o.ok,response:o},r=await o.clone().json();return o.ok?i.data=t?t(r):r:(i.error=r,o.status===ge&&Object.assign(i.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get("retry-after"))||0})),i}const Ce=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),Se=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),Oe=e=>t=>e.test(t),xe=Oe(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),Ae=Oe(/^\+[1-9]{1}[0-9]{3,14}$/),Ue=Ce(xe,'"{val}" is not a valid email'),Ee=Ce(Ae,'"{val}" is not a valid phone number'),Te=Ce((e=>e.length>=1),"Minimum length is 1");const Le=Ce((e=>"string"==typeof e),"Input is not a string"),_e=Ce((e=>void 0===e),"Input is defined"),Re=(Pe=[Le(),_e()],(e="Input is not a string or undefined")=>t=>{const n=Pe.filter((e=>e(t)));return!(n.length<Pe.length)&&(e?e.replace("{val}",t):n.join(" OR "))});var Pe;const $e=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>Se(...e).validate(n[t]))),t(...n)),Me=e=>[Le(`"${e}" must be a string`)],De=e=>[Le(`"${e}" must be a string`),Te(`"${e}" must not be empty`)],qe=e=>[Le(`"${e}" must be a string`),Ue()],Ne=e=>[Le(`"${e}" must be a string`),Ee()],We=$e(De("accessKey")),Fe=e=>({exchange:We(((t,n)=>je(e.post(c,{loginOptions:n},{token:t}))))}),Be=(e,t,n)=>(t.forEach((t=>{const o=t.split(".");let i=o.shift(),r=e;for(;o.length>0;){if(r=r[i],!i||!r)throw Error(`Invalid path "${t}", "${i}" is missing or has no value`);i=o.shift()}if("function"!=typeof r[i])throw Error(`"${t}" is not a function`);const s=r[i];r[i]=n(s)})),e),Ve=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||re,re)});var Ke,He;!function(e){e.sms="sms",e.voice="voice",e.whatsapp="whatsapp"}(Ke||(Ke={})),function(e){e.email="email"}(He||(He={}));const Je=Object.assign(Object.assign({},Ke),He);var Ge;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(Ge||(Ge={}));const ze=De("loginId"),Xe=$e(De("token")),Qe=$e(ze),Ze=$e(De("pendingRef")),Ye=$e(ze,qe("email")),et=e=>({verify:Xe((t=>je(e.post(y,{token:t})))),signIn:Qe(((t,n,o,i)=>je(e.post(ke(I,Je.email),{loginId:t,URI:n,loginOptions:o},{token:i})))),signUpOrIn:Qe(((t,n,o)=>je(e.post(ke(S,Je.email),{loginId:t,URI:n,loginOptions:o})))),signUp:Qe(((t,n,o,i)=>je(e.post(ke(k,Je.email),{loginId:t,URI:n,user:o,loginOptions:i})))),waitForSession:Ze(((t,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=Ve(n);let s;const a=setInterval((async()=>{const n=await e.post(j,{pendingRef:t});n.ok&&(clearInterval(a),s&&clearTimeout(s),o(je(Promise.resolve(n))))}),i);s=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:"0"},ok:!1}),clearInterval(a)}),r)})))),update:{email:Ye(((t,n,o,i,r)=>je(e.post(C.email,Object.assign({loginId:t,email:n,URI:o},r),{token:i}))))}}),tt=$e(De("flowId")),nt=$e(De("executionId"),De("stepId"),De("interactionId")),ot=e=>({start:tt(((t,n,o,i,r,s,a)=>je(e.post(te,{flowId:t,options:n,conditionInteractionId:o,interactionId:i,version:r,componentsVersion:s,input:a})))),next:nt(((t,n,o,i,r,s)=>je(e.post(ne,{executionId:t,stepId:n,interactionId:o,version:i,componentsVersion:r,input:s}))))}),it=De("loginId"),rt=$e(De("token")),st=$e(it),at=$e(it,Ne("phone")),lt=$e(it,qe("email")),ct=Object.keys(Je).filter((e=>e!==Ke.voice)),dt=e=>({verify:rt((t=>je(e.post(g,{token:t})))),signIn:ct.reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:st(((t,o,i,r)=>je(e.post(ke(v,n),{loginId:t,URI:o,loginOptions:i},{token:r}))))})),{}),signUp:ct.reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:st(((t,o,i,r)=>je(e.post(ke(m,n),{loginId:t,URI:o,user:i,loginOptions:r}))))})),{}),signUpOrIn:ct.reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:st(((t,o,i)=>je(e.post(ke(b,n),{loginId:t,URI:o,loginOptions:i}))))})),{}),update:{email:lt(((t,n,o,i,r)=>je(e.post(w.email,Object.assign({loginId:t,email:n,URI:o},r),{token:i})))),phone:Object.keys(Ke).filter((e=>e!==Ke.voice)).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:at(((t,o,i,r,s)=>je(e.post(ke(w.phone,n),Object.assign({loginId:t,phone:o,URI:i},s),{token:r}))))})),{})}});var ut;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple",e.discord="discord",e.linkedin="linkedin",e.slack="slack"}(ut||(ut={}));const ht=$e(De("code")),pt=e=>({start:Object.assign(((t,n,o,i)=>je(e.post(O,o||{},{queryParams:Object.assign({provider:t},n&&{redirectURL:n}),token:i}))),Object.keys(ut).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:(t,o,i)=>je(e.post(O,o||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:i}))})),{})),exchange:ht((t=>je(e.post(x,{code:t})))),startNative:(t,n,o)=>je(e.post(A,{provider:t,loginOptions:n,implicit:o})),finishNative:(t,n,o,i,r)=>je(e.post(U,{provider:t,stateId:n,user:o,code:i,idToken:r}))}),ft=De("loginId"),gt=$e(ft,De("code")),vt=$e(ft),mt=$e(ft,Ne("phone")),wt=$e(ft,qe("email")),bt=e=>({verify:Object.keys(Je).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:gt(((t,o)=>je(e.post(ke(d,n),{code:o,loginId:t}))))})),{}),signIn:Object.keys(Je).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:vt(((t,o,i)=>je(e.post(ke(u,n),{loginId:t,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(Je).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:vt(((t,o,i)=>je(e.post(ke(h,n),{loginId:t,user:o,loginOptions:i}))))})),{}),signUpOrIn:Object.keys(Je).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:vt(((t,o)=>je(e.post(ke(f,n),{loginId:t,loginOptions:o}))))})),{}),update:{email:wt(((t,n,o,i)=>je(e.post(p.email,Object.assign({loginId:t,email:n},i),{token:o})))),phone:Object.keys(Ke).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:mt(((t,o,i,r)=>je(e.post(ke(p.phone,n),Object.assign({loginId:t,phone:o},r),{token:i}))))})),{})}}),yt=$e(De("tenant")),It=$e(De("code")),kt=e=>({start:yt(((t,n,o,i)=>je(e.post(E,o||{},{queryParams:{tenant:t,redirectURL:n},token:i})))),exchange:It((t=>je(e.post(T,{code:t}))))}),jt=De("loginId"),Ct=$e(jt,De("code")),St=$e(jt),Ot=$e(jt),xt=e=>({signUp:St(((t,n)=>je(e.post(_,{loginId:t,user:n})))),verify:Ct(((t,n,o,i)=>je(e.post(L,{loginId:t,code:n,loginOptions:o},{token:i})))),update:Ot(((t,n)=>je(e.post(R,{loginId:t},{token:n}))))}),At=De("loginId"),Ut=De("newPassword"),Et=$e(At,De("password")),Tt=$e(At),Lt=$e(At,Ut),_t=$e(At,De("oldPassword"),Ut),Rt=e=>({signUp:Et(((t,n,o,i)=>je(e.post(B,{loginId:t,password:n,user:o,loginOptions:i})))),signIn:Et(((t,n,o)=>je(e.post(V,{loginId:t,password:n,loginOptions:o})))),sendReset:Tt(((t,n,o)=>je(e.post(K,{loginId:t,redirectUrl:n,templateOptions:o})))),update:Lt(((t,n,o)=>je(e.post(H,{loginId:t,newPassword:n},{token:o})))),replace:_t(((t,n,o)=>je(e.post(J,{loginId:t,oldPassword:n,newPassword:o})))),policy:()=>je(e.get(G))}),Pt=Me("loginId"),$t=De("loginId"),Mt=De("origin"),Dt=$e($t,Mt,De("name")),qt=$e($t,Mt),Nt=$e(Pt,Mt),Wt=$e($t,Mt,De("token")),Ft=$e(De("transactionId"),De("response")),Bt=e=>({signUp:{start:Dt(((t,n,o)=>je(e.post(q.start,{user:{loginId:t,name:o},origin:n})))),finish:Ft(((t,n)=>je(e.post(q.finish,{transactionId:t,response:n}))))},signIn:{start:Nt(((t,n,o,i)=>je(e.post(N.start,{loginId:t,origin:n,loginOptions:o},{token:i})))),finish:Ft(((t,n)=>je(e.post(N.finish,{transactionId:t,response:n}))))},signUpOrIn:{start:qt(((t,n)=>je(e.post(W.start,{loginId:t,origin:n}))))},update:{start:Wt(((t,n,o)=>je(e.post(F.start,{loginId:t,origin:n},{token:o})))),finish:Ft(((t,n)=>je(e.post(F.finish,{transactionId:t,response:n}))))}}),Vt=Me("loginId"),Kt=$e(Vt),Ht=$e(De("pendingRef")),Jt=e=>({signUpOrIn:Kt(((t,n)=>je(e.post(M,{loginId:t,loginOptions:n})))),signUp:Kt(((t,n,o)=>je(e.post($,{loginId:t,user:n,loginOptions:o})))),signIn:Kt(((t,n,o)=>je(e.post(P,{loginId:t,loginOptions:n},{token:o})))),waitForSession:Ht(((t,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=Ve(n);let s;const a=setInterval((async()=>{const n=await e.post(D,{pendingRef:t});n.ok&&(clearInterval(a),s&&clearTimeout(s),o(je(Promise.resolve(n))))}),i);s=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:"0"},ok:!1}),clearInterval(a)}),r)}))))}),Gt=$e(De("token")),zt=$e([Re('"token" must be string or undefined')]);var Xt,Qt=$e([(Xt=De("projectId"),Ce(((e,t)=>n=>Se(...t).validate(((e,t)=>{const n=(Array.isArray(t)?t.join("."):String(t)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,((e,t,n)=>"."+n)).split("."),o=n.length;let i=0,r=e===Object(e)?e:void 0;for(;null!=r&&i<o;)r=r[n[i++]];return i&&i===o&&void 0!==r?r:void 0})(n,e)))("projectId",Xt))())])((e=>{var t;return(({projectId:e,logger:t,baseUrl:n,hooks:o,cookiePolicy:i,baseHeaders:r={},fetch:s})=>{return a=fe({baseUrl:n||ie,projectId:e,logger:t,hooks:o,cookiePolicy:i,baseConfig:{baseHeaders:r},fetch:s}),{accessKey:Fe(a),otp:bt(a),magicLink:dt(a),enchantedLink:et(a),oauth:pt(a),saml:kt(a),totp:xt(a),notp:Jt(a),webauthn:Bt(a),password:Rt(a),flow:ot(a),refresh:zt((e=>je(a.post(z,{},{token:e})))),selectTenant:$e([Le("tenantId")],[Re('"token" must be string or undefined')])(((e,t)=>je(a.post(X,{tenant:e},{token:t})))),logout:zt((e=>je(a.post(Q,{},{token:e})))),logoutAll:zt((e=>je(a.post(Z,{},{token:e})))),me:zt((e=>je(a.get(Y,{token:e})))),history:zt((e=>je(a.get(ee,{token:e})))),isJwtExpired:Gt(we),getTenants:Gt(be),getJwtPermissions:Gt(ye),getJwtRoles:Gt(Ie),httpClient:a};var a})(Object.assign(Object.assign({},e),{hooks:{beforeRequest:t=>{var n;const o=[].concat((null===(n=e.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==o?void 0:o.reduce(((e,t)=>t(e)),t)},afterRequest:async(t,n)=>{var o;const i=[].concat((null===(o=e.hooks)||void 0===o?void 0:o.afterRequest)||[]);0!=i.length&&(await Promise.allSettled(null==i?void 0:i.map((e=>e(t,null==n?void 0:n.clone()))))).forEach((t=>{var n;return"rejected"===t.status&&(null===(n=e.logger)||void 0===n?void 0:n.error(t.reason))}))},transformResponse:null===(t=e.hooks)||void 0===t?void 0:t.transformResponse}}))})),Zt=Object.assign(Qt,{DeliveryMethods:Je});
|
|
2
2
|
/*! js-cookie v3.0.5 | MIT */
|
|
3
|
-
function Ye(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)t[o]=n[o]}return t}var tn=function t(e,n){function o(t,o,i){if("undefined"!=typeof document){"number"==typeof(i=Ye({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var r="";for(var s in i)i[s]&&(r+="; "+s,!0!==i[s]&&(r+="="+i[s].split(";")[0]));return document.cookie=t+"="+e.write(o,t)+r}}return Object.create({set:o,get:function(t){if("undefined"!=typeof document&&(!arguments.length||t)){for(var n=document.cookie?document.cookie.split("; "):[],o={},i=0;i<n.length;i++){var r=n[i].split("="),s=r.slice(1).join("=");try{var a=decodeURIComponent(r[0]);if(o[a]=e.read(s,a),t===a)break}catch(t){}}return t?o[t]:o}},remove:function(t,e){o(t,"",Ye({},e,{expires:-1}))},withAttributes:function(e){return t(this.converter,Ye({},this.attributes,e))},withConverter:function(e){return t(Ye({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(e)}})}({read:function(t){return'"'===t[0]&&(t=t.slice(1,-1)),t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(t){return encodeURIComponent(t).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});var en={default:"endpoint"},nn="Blocked by CSP",on="The endpoint parameter is not a valid URL",rn="Failed to load the JS script of the agent",sn="9319";function an(t,e){var n,o,i,r,s=[],a=(n=function(t){var e=function(t,e,n){if(n||2===arguments.length)for(var o,i=0,r=e.length;i<r;i++)!o&&i in e||(o||(o=Array.prototype.slice.call(e,0,i)),o[i]=e[i]);return t.concat(o||Array.prototype.slice.call(e))}([],t,!0);return{current:function(){return e[0]},postpone:function(){var t=e.shift();void 0!==t&&e.push(t)},exclude:function(){e.shift()}}}(t),r=0,o=function(){return Math.random()*Math.min(3e3,100*Math.pow(2,r++))},i=new Set,[n.current(),function(t,e){var r,s=e instanceof Error?e.message:"";if(s===nn||s===on)n.exclude(),r=0;else if(s===sn)n.exclude();else if(s===rn){var a=Date.now()-t.getTime()<50,l=n.current();l&&a&&!i.has(l)&&(i.add(l),r=0),n.postpone()}else n.postpone();var c=n.current();return void 0===c?void 0:[c,null!=r?r:t.getTime()+o()-Date.now()]}]),l=a[0],c=a[1];if(void 0===l)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var d=function(t){var n=new Date,o=function(e){return s.push({url:t,startedAt:n,finishedAt:new Date,error:e})},i=e(t);return i.then((function(){return o()}),o),i.catch((function(t){if(s.length>=5)throw t;var e=c(n,t);if(!e)throw t;var o,i=e[0],r=e[1];return(o=r,new Promise((function(t){return setTimeout(t,o)}))).then((function(){return d(i)}))}))};return d(l).then((function(t){return[t,s]}))}var ln="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",cn=ln;function dn(n){var o;n.scriptUrlPattern;var i=n.token,r=n.apiKey,s=void 0===r?i:r,a=e(n,["scriptUrlPattern","token","apiKey"]),l=null!==(o=function(t,e){return function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(t,e)?t[e]:void 0}(n,"scriptUrlPattern"))&&void 0!==o?o:ln,c=function(){var t=[],e=function(){t.push({time:new Date,state:document.visibilityState})},n=function(t,e,n,o){return t.addEventListener(e,n,o),function(){return t.removeEventListener(e,n,o)}}(document,"visibilitychange",e);return e(),[t,n]}(),d=c[0],u=c[1];return Promise.resolve().then((function(){if(!s||"string"!=typeof s)throw new Error("API key required");var t=function(t,e){return(Array.isArray(t)?t:[t]).map((function(t){return function(t,e){var n=encodeURIComponent;return t.replace(/<[^<>]+>/g,(function(t){return"<version>"===t?"3":"<apiKey>"===t?n(e):"<loaderVersion>"===t?n("3.9.9"):t}))}(String(t),e)}))}(l,s);return an(t,un)})).catch((function(t){throw u(),function(t){return t instanceof Error&&t.message===sn?new Error(rn):t}(t)})).then((function(e){var n=e[0],o=e[1];return u(),n.load(t(t({},a),{ldi:{attempts:o,visibilityStates:d}}))}))}function un(t){return function(t,e,n,o){var i,r=document,s="securitypolicyviolation",a=function(e){var n=new URL(t,location.href),o=e.blockedURI;o!==n.href&&o!==n.protocol.slice(0,-1)&&o!==n.origin||(i=e,l())};r.addEventListener(s,a);var l=function(){return r.removeEventListener(s,a)};return null==o||o.then(l,l),Promise.resolve().then(e).then((function(t){return l(),t}),(function(t){return new Promise((function(t){var e=new MessageChannel;e.port1.onmessage=function(){return t()},e.port2.postMessage(null)})).then((function(){if(l(),i)return n(i);throw t}))}))}(t,(function(){return function(t){return new Promise((function(e,n){if(function(t){if(URL.prototype)try{return new URL(t,location.href),!1}catch(t){if(t instanceof Error&&"TypeError"===t.name)return!0;throw t}}(t))throw new Error(on);var o=document.createElement("script"),i=function(){var t;return null===(t=o.parentNode)||void 0===t?void 0:t.removeChild(o)},r=document.head||document.getElementsByTagName("head")[0];o.onload=function(){i(),e()},o.onerror=function(){i(),n(new Error(rn))},o.async=!0,o.src=t,r.appendChild(o)}))}(t)}),(function(){throw new Error(nn)})).then(hn)}function hn(){var t=window,e="__fpjs_p_l_b",n=t[e];if(function(t,e){var n,o=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,t,e);(null==o?void 0:o.configurable)?delete t[e]:o&&!o.writable||(t[e]=void 0)}(t,e),"function"!=typeof(null==n?void 0:n.load))throw new Error(sn);return n}const pn=(t,e)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,o)=>{var i;return n[o]=[].concat((null===(i=t.hooks)||void 0===i?void 0:i[o])||[]).concat((null==e?void 0:e[o])||[]),n}),null!==(n=t.hooks)&&void 0!==n?n:t.hooks={}),t},fn=async t=>{if(!(null==t?void 0:t.ok))return{};const e=await(null==t?void 0:t.clone().json());return(null==e?void 0:e.authInfo)||e||{}},gn=async t=>{const e=await fn(t);return(null==e?void 0:e.user)||((null==e?void 0:e.hasOwnProperty("userId"))?e:void 0)},vn="undefined"!=typeof localStorage,mn=(t,e)=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(t,e)),wn=t=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(t)),bn=t=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(t)),yn=(...t)=>{console.debug(...t)},In="undefined"!=typeof window,kn=Math.pow(2,31)-1,jn="DS",Cn="DSR";function On(t=""){return wn(`${t}${Cn}`)||""}function Sn(t=""){bn(`${t}${Cn}`),bn(`${t}${jn}`),tn.remove(jn)}const xn=In&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://api.descope.com",An="fp",Un=(t=!1)=>{const e=localStorage.getItem(An);if(!e)return null;const n=JSON.parse(e);return(new Date).getTime()>n.expiry&&!t?null:n.value},En=async(t,e=xn)=>{try{if(Un())return;const n=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),o=new URL(e);o.pathname="/fXj8gt3x8VulJBna/x96Emn69oZwcd7I6";const i=new URL(e);i.pathname="/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I";const r=i.toString()+"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>",s=dn({apiKey:t,endpoint:[o.toString(),en],scriptUrlPattern:[r,cn]}),a=await s,{requestId:l}=await a.get({linkedId:n}),c=((t,e)=>({vsid:t,vrid:e}))(n,l);(t=>{const e={value:t,expiry:(new Date).getTime()+864e5};localStorage.setItem(An,JSON.stringify(e))})(c)}catch(t){console.warn("Could not load fingerprint",t)}},Tn=t=>{const e=Un(!0);return e&&t.body&&(t.body.fpData=e),t},Ln="dls_last_user_login_id",_n="dls_last_user_display_name",Rn=()=>wn(Ln),Pn=()=>wn(_n),$n=t=>async(...e)=>{var n;e[1]=e[1]||{};const[,o={}]=e,i=Rn(),r=Pn();return i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r),await t(...e)};function Mn(){const t=[];return{pub:e=>{t.forEach((t=>t(e)))},sub:e=>{const n=t.push(e)-1;return()=>t.splice(n,1)}}}async function Dn(t){const e=function(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=Vn(n.publicKey.challenge),n.publicKey.user.id=Vn(n.publicKey.user.id),null===(e=n.publicKey.excludeCredentials)||void 0===e||e.forEach((t=>{t.id=Vn(t.id)})),n}(t);return n=await navigator.credentials.create(e),JSON.stringify({id:n.id,rawId:Kn(n.rawId),type:n.type,response:{attestationObject:Kn(n.response.attestationObject),clientDataJSON:Kn(n.response.clientDataJSON)}});var n}async function qn(t){const e=Fn(t);return Bn(await navigator.credentials.get(e))}async function Nn(t,e){const n=Fn(t);return n.signal=e.signal,n.mediation="conditional",Bn(await navigator.credentials.get(n))}async function Wn(t=!1){if(!In)return Promise.resolve(!1);const e=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return e&&t&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():e}function Fn(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=Vn(n.publicKey.challenge),null===(e=n.publicKey.allowCredentials)||void 0===e||e.forEach((t=>{t.id=Vn(t.id)})),n}function Bn(t){return JSON.stringify({id:t.id,rawId:Kn(t.rawId),type:t.type,response:{authenticatorData:Kn(t.response.authenticatorData),clientDataJSON:Kn(t.response.clientDataJSON),signature:Kn(t.response.signature),userHandle:t.response.userHandle?Kn(t.response.userHandle):void 0}})}function Vn(t){const e=t.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(e),(t=>t.charCodeAt(0))).buffer}function Kn(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var Hn,Jn=(Hn=t=>({async signUp(e,n){const o=await t.webauthn.signUp.start(e,window.location.origin,n);if(!o.ok)return o;const i=await Dn(o.data.options);return await t.webauthn.signUp.finish(o.data.transactionId,i)},async signIn(e){const n=await t.webauthn.signIn.start(e,window.location.origin);if(!n.ok)return n;const o=await qn(n.data.options);return await t.webauthn.signIn.finish(n.data.transactionId,o)},async signUpOrIn(e){var n;const o=await t.webauthn.signUpOrIn.start(e,window.location.origin);if(!o.ok)return o;if(null===(n=o.data)||void 0===n?void 0:n.create){const e=await Dn(o.data.options);return await t.webauthn.signUp.finish(o.data.transactionId,e)}{const e=await qn(o.data.options);return await t.webauthn.signIn.finish(o.data.transactionId,e)}},async update(e,n){const o=await t.webauthn.update.start(e,window.location.origin,n);if(!o.ok)return o;const i=await Dn(o.data.options);return await t.webauthn.update.finish(o.data.transactionId,i)},helpers:{create:Dn,get:qn,isSupported:Wn,conditional:Nn}}),(...t)=>{const e=Hn(...t);return Object.assign(e.signUp,t[0].webauthn.signUp),Object.assign(e.signIn,t[0].webauthn.signIn),Object.assign(e.signUpOrIn,t[0].webauthn.signUpOrIn),Object.assign(e.update,t[0].webauthn.update),e});const Gn="/fedcm/config",zn=(t,e)=>({async oneTap(e,n,o,i){const r=null!=e?e:"google",s=await t.oauth.startNative(r,o,!0);if(!s.ok)return s;const{clientId:a,stateId:l,nonce:c}=s.data,d=await async function(){return new Promise(((t,e)=>{if(window.google)return void t(window.google.accounts.id);let n=document.getElementById("google-gsi-client-script");n||(n=document.createElement("script"),document.head.appendChild(n),n.async=!0,n.defer=!0,n.id="google-gsi-client-script",n.src="https://accounts.google.com/gsi/client"),n.onload=function(){window.google?t(window.google.accounts.id):e("Failed to load Google GSI client script - not loaded properly")},n.onerror=function(){e("Failed to load Google GSI client script - failed to load")}}))}();return new Promise((e=>{var o,s;d.initialize(Object.assign(Object.assign({},n),{itp_support:null===(o=null==n?void 0:n.itp_support)||void 0===o||o,use_fedcm_for_prompt:null===(s=null==n?void 0:n.use_fedcm_for_prompt)||void 0===s||s,client_id:a,callback:n=>{e(t.oauth.finishNative(r,l,"","",n.credential))},nonce:c})),d.prompt((t=>{(null==t?void 0:t.isSkippedMoment())&&(null==i||i())}))}))},async launch(n){var o;const i={identity:{context:n||"signin",providers:[{configURL:t.httpClient.buildUrl(e+Gn),clientId:e}]}},r=await(null===(o=navigator.credentials)||void 0===o?void 0:o.get(i));return t.refresh(r.token)},isSupported:()=>In&&"IdentityCredential"in window});var Xn=t=>Object.assign(Object.assign({},t.flow),{start:async(...e)=>{const n=await Wn(),o=Object.assign(Object.assign({location:window.location.href},e[1]),{deviceInfo:{webAuthnSupport:n},startOptionsVersion:1});return e[1]=o,t.flow.start(...e)}});const Qn=function(...t){return e=>t.reduce(((t,e)=>e(t)),e)}((t=>n=>{var{fpKey:o,fpLoad:i}=n,r=e(n,["fpKey","fpLoad"]);return In?(o&&i&&En(o).catch((()=>null)),t(pn(r,{beforeRequest:Tn}))):t(r)}),(t=>n=>{var{autoRefresh:o}=n,i=e(n,["autoRefresh"]);if(!o)return t(i);const{clearAllTimers:r,setTimer:s}=(()=>{const t=[];return{clearAllTimers:()=>{for(;t.length;)clearTimeout(t.pop())},setTimer:(e,n)=>{t.push(setTimeout(e,n))}}})();let a,c;In&&document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&new Date>a&&(yn("Expiration time passed, refreshing session"),d.refresh(On()||c))}));const d=t(pn(i,{afterRequest:async(t,e)=>{const{refreshJwt:n,sessionJwt:o}=await fn(e);if(401===(null==e?void 0:e.status))yn("Received 401, canceling all timers"),r();else if(o){if(a=(t=>{try{const e=l(t);if(e.exp)return new Date(1e3*e.exp)}catch(t){return null}})(o),!a)return void yn("Could not extract expiration time from session token");c=n;let t=((i=a)?i.getTime()-(new Date).getTime():0)-2e4;t>kn&&(yn(`Timeout is too large (${t}ms), setting it to ${kn}ms`),t=kn),r();const e=new Date(Date.now()+t).toLocaleTimeString("en-US",{hour12:!1});yn(`Setting refresh timer for ${e}. (${t}ms)`),s((()=>{yn("Refreshing session due to timer"),d.refresh(On()||n)}),t)}var i}}));return Bt(d,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return yn("Clearing all timers"),r(),n}))}),(t=>e=>t(Object.assign(Object.assign({},e),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.16.1"},e.baseHeaders)}))),(t=>e=>{const n=Mn(),o=Mn(),i=t(pn(e,{afterRequest:async(t,e)=>{if(401===(null==e?void 0:e.status))n.pub(null),o.pub(null);else{const t=await gn(e);t&&o.pub(t);const{sessionJwt:i}=await fn(e);i&&n.pub(i)}}})),r=Bt(i,["logout","logoutAll"],(t=>async(...e)=>{const i=await t(...e);return n.pub(null),o.pub(null),i}));return Object.assign(r,{onSessionTokenChange:n.sub,onUserChange:o.sub})}),(t=>n=>{var{storeLastAuthenticatedUser:o=!0,keepLastAuthenticatedUserAfterLogout:i=!1}=n,r=e(n,["storeLastAuthenticatedUser","keepLastAuthenticatedUserAfterLogout"]);if(!o)return Object.assign(t(r),{getLastUserLoginId:Rn,getLastUserDisplayName:Pn});const s=t(pn(r,{afterRequest:async(t,e)=>{var n;const o=await gn(e),i=null===(n=null==o?void 0:o.loginIds)||void 0===n?void 0:n[0],r=null==o?void 0:o.name;i&&((t=>{mn(Ln,t)})(i),(t=>{mn(_n,t)})(r))}}));let a=Bt(s,["flow.start"],$n);return a=Bt(a,["logout","logoutAll"],(t=>e=>async(...n)=>{const o=await e(...n);return t||(bn(Ln),bn(_n)),o})(i)),Object.assign(a,{getLastUserLoginId:Rn,getLastUserDisplayName:Pn})}),(t=>n=>{var{persistTokens:o,sessionTokenViaCookie:i,storagePrefix:r}=n,s=e(n,["persistTokens","sessionTokenViaCookie","storagePrefix"]);if(!o||!In)return t(s);const a=t(pn(s,{beforeRequest:(l=r,t=>Object.assign(t,{token:t.token||On(l)})),afterRequest:async(t,n)=>{const o=/^\/v\d+\/mgmt\//.test(t.path);401===(null==n?void 0:n.status)?o||Sn(r):((t={},n,o)=>{var{refreshJwt:i,sessionJwt:r}=t,s=e(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),void 0===o&&(o=""),i&&mn(`${o}${Cn}`,i),r&&(n?function(t,e,{cookiePath:n,cookieDomain:o,cookieExpiration:i}){if(e){const r=new Date(1e3*i),s=function(t){const e=window.location.hostname.split("."),n=t.split(".");return e.slice(-n.length).join(".")===t}(o);tn.set(t,e,{path:n,domain:s?o:void 0,expires:r,sameSite:"Strict",secure:!0})}}(jn,r,s):mn(`${o}${jn}`,r))})(await fn(n),i,r)}}));var l;const c=Bt(a,["logout","logoutAll"],(t=>e=>async(...n)=>{const o=await e(...n);return Sn(t),o})(r));return Object.assign(c,{getRefreshToken:()=>On(r),getSessionToken:()=>function(t=""){return tn.get(jn)||wn(`${t}${jn}`)||""}(r)})}))(((...t)=>{const e=Ze(...t);return Object.assign(Object.assign({},e),{flow:Xn(e),webauthn:Jn(e),fedcm:zn(e,t[0].projectId)})})),Zn="undefined"!=typeof localStorage,Yn=Zn&&localStorage.getItem("base.content.url")||"",to="config.json",eo="base.ui.components.url",no=Zn&&localStorage.getItem(eo)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",oo=Zn&&localStorage.getItem(eo)||"https://cdn.jsdelivr.net/npm/@descope/web-components-ui@<version>/dist/umd/index.js",io="descope-login-flow",ro="code",so="ra-challenge",ao="ra-callback",lo="ra-backup-callback",co="ra-initiator",uo="data-exclude-field",ho="dls_last_auth",po="state_id",fo="saml_idp_state_id",go="saml_idp_username",vo="descope_idp_initiated",mo="sso_app_id",wo="oidc_login_hint",bo="oidc_prompt",yo="oidc_error_redirect_uri",Io="data-type",ko="redirect",jo="poll",Co="webauthnCreate",Oo="webauthnGet",So="loadForm",xo="submit",Ao="polling",Uo=["descope-multi-select-combo-box","descope-text-area"];var Eo;function To(t){return new URLSearchParams(window.location.search).get(t)}function Lo(t){if(window.history.replaceState&&To(t)){const e=new URL(window.location.href),n=new URLSearchParams(e.search);n.delete(t),e.search=n.toString(),window.history.replaceState({},"",e.toString())}}function _o(t,e){return n(this,void 0,void 0,(function*(){const n=yield fetch(t,{cache:"default"});if(!n.ok)throw Error(`Error fetching URL ${t} [${n.status}]`);return{body:yield n[e||"text"](),headers:Object.fromEntries(n.headers.entries())}}))}!function(t){t.backward="backward",t.forward="forward"}(Eo||(Eo={}));function Ro({projectId:t,filename:e,assetsFolder:n="v2-beta",baseUrl:o}){const i=new URL(Yn||o||"https://static.descope.com/pages");return i.pathname=((...t)=>t.join("/").replace(/\/+/g,"/"))(i.pathname,t,n,e),i.toString()}function Po(t,e){if(!e)return;const n=+t,o=+e;return Number.isNaN(n)||Number.isNaN(o)?void 0:n>o?Eo.forward:n<o?Eo.backward:void 0}const $o=()=>{const[t="",e=""]=(To(io)||"").split("_");return{executionId:t,stepId:e}};function Mo(){Lo(io)}const Do=t=>t.replace(/-./g,(t=>t[1].toUpperCase())),qo=()=>{const{executionId:t,stepId:e}=$o();(t||e)&&Mo();const n=To("t")||void 0;n&&Lo("t");const o=To(ro)||void 0;o&&Lo(ro);const i=To("err")||void 0;i&&Lo("err");const{redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:To(so),redirectAuthCallbackUrl:To(ao),redirectAuthBackupCallbackUri:To(lo),redirectAuthInitiator:To(co)};(r||s||a||l)&&(Lo(so),Lo(ao),Lo(lo),Lo(co));const c=To(po);c&&Lo(po);const d=To(fo);d&&Lo(fo);const u=To(go);d&&Lo(go);const h=To(vo);h&&Lo(vo);const p=To(mo);p&&Lo(mo);const f=To(wo);f&&Lo(wo);const g=To(bo);g&&Lo(bo);const v=To(yo);v&&Lo(yo);return{executionId:t,stepId:e,token:n,code:o,exchangeError:i,redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,ssoQueryParams:{oidcIdpStateId:c,samlIdpStateId:d,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:p,oidcLoginHint:f,oidcPrompt:g,oidcErrorRedirectUri:v}}},No=t=>{let e,n;return(...o)=>{return e&&(r=o,(i=e).length===r.length&&i.every(((t,e)=>t===r[e])))||(e=o,n=t(...o)),n;var i,r}};const Wo=(t,{oidcIdpStateId:e,samlIdpStateId:n,samlIdpUsername:o,ssoAppId:i,oidcLoginHint:r,oidcPrompt:s,oidcErrorRedirectUri:a})=>!(!t||e||n||o||i||r||s||a),Fo=t=>null==t?void 0:t.submit(),Bo=(t,e)=>{const n=e.find((e=>t[e]));return n?t[n]:null},Vo=(t,e=100)=>{let n;return function(...o){n||t.apply(this,o),clearTimeout(n),n=setTimeout((()=>{n=null}),e)}};function Ko(t){let e=navigator.language;return e&&"zh-TW"!==e&&(e=e.split("-")[0]),(t||e||"").toLowerCase()}var Ho,Jo,Go,zo;function Xo(t,e){const n=Object.getOwnPropertyNames(t),o=Object.getOwnPropertyNames(e);if(n.length!==o.length)return!1;for(let o=0;o<n.length;o+=1){const i=n[o],r=t[i],s=e[i];if(null===r||null===s){if(r!==s)return!1}else if("object"==typeof r&&"object"==typeof s){if(!Xo(r,s))return!1}else if(r!==s)return!1}return!0}class Qo{constructor(t={},{updateOnlyOnChange:e=!0}={}){Ho.set(this,void 0),Jo.set(this,{}),Go.set(this,0),zo.set(this,!1),this.update=t=>{const e="function"==typeof t?t(o(this,Ho,"f")):t,n=Object.assign(Object.assign({},o(this,Ho,"f")),e);if(!o(this,zo,"f")||!Xo(o(this,Ho,"f"),n)){const t=o(this,Ho,"f");i(this,Ho,n,"f"),Object.freeze(o(this,Ho,"f")),setTimeout((()=>{Object.values(o(this,Jo,"f")).forEach((e=>e(n,t,((t,e)=>n=>t[n]!==e[n])(n,t))))}),0)}},i(this,Ho,t,"f"),i(this,zo,e,"f")}get current(){return Object.assign({},o(this,Ho,"f"))}subscribe(t){return i(this,Go,o(this,Go,"f")+1,"f"),o(this,Jo,"f")[o(this,Go,"f")]=t,o(this,Go,"f").toString()}unsubscribe(t){const e=!!o(this,Jo,"f")[t];return e&&delete o(this,Jo,"f")[t],e}unsubscribeAll(){return i(this,Jo,{},"f"),!0}}Ho=new WeakMap,Jo=new WeakMap,Go=new WeakMap,zo=new WeakMap;const Zo=["disabled"],Yo=(t,e)=>{Object.entries(e||{}).forEach((([e,n])=>{Array.from(t.querySelectorAll(`*[name="${e}"]:not([${uo}])`)).forEach((t=>{t.value=n}))}))},ti=(t,e)=>t.replace(/{{(.+?)}}/g,((t,n)=>{return o=e,n.split(".").reduce(((t,e)=>(null==t?void 0:t[e])||""),o);var o})),ei=(t,e,n)=>{t.querySelectorAll(`[${Io}="${e}"]`).forEach((t=>{t.setAttribute("href",n)}))},ni=(t,e,n)=>{var o,i;const r=null===(o=customElements.get(e))||void 0===o?void 0:o.cssVarList.url;n&&r&&(null===(i=null==t?void 0:t.style)||void 0===i||i.setProperty(r,`url(data:image/jpg;base64,${n})`))},oi=(t,e,n,o,i,r)=>{var s,a;let l=null==e?void 0:e.errorText;try{l=(null==i?void 0:i({text:null==e?void 0:e.errorText,type:null==e?void 0:e.errorType}))||(null==e?void 0:e.errorText)}catch(t){r.error("Error transforming error message",t.message)}((t,e,n="")=>{t.querySelectorAll(`[${Io}="${e}"]`).forEach((t=>{t.textContent=n,t.classList[n?"remove":"add"]("hide")}))})(t,"error-message",l),ei(t,"totp-link",null===(s=null==e?void 0:e.totp)||void 0===s?void 0:s.provisionUrl),ei(t,"notp-link",null===(a=null==e?void 0:e.notp)||void 0===a?void 0:a.redirectUrl),((t,e)=>{t.querySelectorAll("descope-text,descope-link,descope-enriched-text,descope-code-snippet").forEach((t=>{t.textContent=ti(t.textContent,e);const n=t.getAttribute("href");n&&t.setAttribute("href",ti(n,e))}))})(t,e),((t,e,n)=>{e&&Object.keys(e).forEach((o=>{t.querySelectorAll(`[name=${o}]`).forEach((t=>{const i=e[o];Object.keys(i).forEach((e=>{let o=i[e];if("string"!=typeof o)try{o=JSON.stringify(o)}catch(t){n.error(`Could not stringify value "${o}" for "${e}"`,t.message),o=""}t.setAttribute(e,o)}))}))}))})(t,n,r),((t,e)=>{t.querySelectorAll("[data-has-dynamic-attr-values]").forEach((t=>{Array.from(t.attributes).forEach((t=>{t.value=ti(t.value,e)}))}))})(t,e),((t,e)=>{Object.entries(e).forEach((([e,n])=>{t.querySelectorAll(`[name="${e}"]`).forEach((t=>{Object.entries(n).forEach((([e,n])=>{Zo.includes(e)&&t.setAttribute(e,n)}))}))}))})(t,o)},ii=No((()=>n(void 0,void 0,void 0,(function*(){var t,e,n,o,i;if(!window.PublicKeyCredential||!PublicKeyCredential.isConditionalMediationAvailable||!PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)return!1;try{const r=Promise.all([null===(t=window.PublicKeyCredential)||void 0===t?void 0:t.isConditionalMediationAvailable(),null===(e=window.PublicKeyCredential)||void 0===e?void 0:e.isUserVerifyingPlatformAuthenticatorAvailable()]).then((t=>t.every((t=>!!t)))),s=(()=>{var t;const e=null===(t=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===t?void 0:t.brands,n=null==e?void 0:e.find((({brand:t,version:e})=>"Chromium"===t&&parseFloat(e)));return n?n.version:0})()>=108;return yield(n=100,o=r,i=s,new Promise(((t,e)=>{let r=!1;const s=setTimeout((()=>{r=!0,void 0!==i?t(i):e(new Error(`Promise timed out after ${n} ms`))}),n);o.then((e=>{r||(clearTimeout(s),t(e))})).catch((t=>{r||(clearTimeout(s),e(t))}))})))}catch(t){return console.error("Conditional login check failed",t),!1}})))),ri=(t,e,n,o={})=>{var i,r,s,a;return[Math.min(Math.max(e,("all"===o.left?t.offsetWidth:null!==(i=o.left)&&void 0!==i?i:0)-t.offsetWidth),window.innerWidth-("all"===o.right?t.offsetWidth:null!==(r=o.right)&&void 0!==r?r:0)),Math.min(Math.max(n,("all"===o.top?t.offsetHeight:null!==(s=o.top)&&void 0!==s?s:0)-t.offsetHeight),window.innerHeight-("all"===o.bottom?t.offsetHeight:null!==(a=o.bottom)&&void 0!==a?a:0))]},si={"lastAuth.loginId":{"not-empty":t=>!!t.loginId,empty:t=>!t.loginId},idpInitiated:{"is-true":t=>!!t.code,"is-false":t=>!t.code},externalToken:{"is-true":t=>!!t.token,"is-false":t=>!t.token},abTestingKey:{"greater-than":(t,e)=>(t.abTestingKey||0)>e,"less-than":(t,e)=>(t.abTestingKey||0)<e}};function ai(t){const e={};if(t)try{Object.assign(e,JSON.parse(localStorage.getItem(ho)))}catch(t){}return e}const li="dls_ab_testing_id",ci=document.createElement("template");ci.innerHTML='\n\t<style>\n\t\t:host {\n all: initial;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n display: block;\n\t\t}\n\n\t\t#wc-root {\n\t\t\theight: 100%;\n\t\t\ttransition: opacity 300ms ease-in-out;\n display: flex;\n\t\t}\n\n\t\t#wc-root[data-theme] {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t.fade-out {\n\t\t\topacity: 0.1;\n\t\t}\n\n\t</style>\n\t<div id="wc-root"></div>\n\t';const di=(t,e="")=>Object.keys(t).reduce(((n,o)=>{var i;if("object"==typeof t[o]&&null!==t[o]&&!(null===(i=t[o])||void 0===i?void 0:i.value))return Object.assign(Object.assign({},n),di(t[o],`${e+o}.`));const r="object"==typeof t[o]?t[o]:{value:t[o]},s=Object.assign(Object.assign({},n),{[e+o]:r,[`form.${e}${o}`]:r});return"displayName"===o?Object.assign(Object.assign({},s),{[`${e}fullName`]:r,[`form.${e}fullName`]:r}):s}),[]);var ui,hi,pi,fi,gi,vi,mi,wi,bi,yi,Ii,ki,ji,Ci,Oi,Si,xi,Ai,Ui,Ei,Ti,Li,_i,Ri,Pi,$i,Mi,Di,qi,Ni,Wi,Fi,Bi,Vi,Ki,Hi,Ji,Gi,zi,Xi,Qi,Zi,Yi,tr,er,nr,or,ir,rr,sr,ar,lr,cr,dr,ur,hr,pr,fr,gr,vr,mr,wr;class br extends HTMLElement{static get observedAttributes(){return["project-id","flow-id","base-url","tenant","theme","locale","debug","storage-prefix","preview","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","validate-on-blur"]}constructor(t){super(),ui.add(this),this.logger=console,pi.set(this,!1),this.loggerWrapper={error:(t,e="")=>{this.logger.error(t,e,new Error),o(this,ui,"m",qi).call(this,t,e)},warn:(t,e="")=>{this.logger.warn(t,e)},info:(t,e="",n={})=>{this.logger.info(t,e,n)},debug:(t,e="")=>{this.logger.debug(t,e)}},fi.set(this,new Qo),gi.set(this,new Qo),vi.set(this,{}),this.getComponentsContext=()=>o(this,vi,"f"),this.nextRequestStatus=new Qo({isLoading:!1}),mi.set(this,void 0),wi.set(this,{popstate:o(this,ui,"m",Ci).bind(this),componentsContext:o(this,ui,"m",Pi).bind(this)}),bi.set(this,void 0),Ui.set(this,No((()=>n(this,void 0,void 0,(function*(){const t=Ro({projectId:this.projectId,filename:to,baseUrl:this.baseStaticUrl});try{const{body:e,headers:n}=yield _o(t,"json");return{projectConfig:e,executionContext:{geo:n["x-geo"]}}}catch(t){return{isMissingConfig:!0}}}))))),Ti.set(this,void 0),i(this,bi,t,"f"),o(this,ui,"m",yi).call(this)}get projectId(){return this.getAttribute("project-id")}get flowId(){return this.getAttribute("flow-id")}get client(){try{return JSON.parse(this.getAttribute("client"))||{}}catch(t){return{}}}get baseUrl(){return this.getAttribute("base-url")||void 0}get baseStaticUrl(){return this.getAttribute("base-static-url")}get tenant(){return this.getAttribute("tenant")||void 0}get redirectUrl(){return this.getAttribute("redirect-url")||void 0}get debug(){return"true"===this.getAttribute("debug")}get locale(){return this.getAttribute("locale")||void 0}get theme(){var t,e;const n=this.getAttribute("theme");if("os"===n){return window.matchMedia&&(null===(e=null===(t=window.matchMedia)||void 0===t?void 0:t.call(window,"(prefers-color-scheme: dark)"))||void 0===e?void 0:e.matches)?"dark":"light"}return n||"light"}get autoFocus(){var t;const e=null!==(t=this.getAttribute("auto-focus"))&&void 0!==t?t:"true";return"skipFirstScreen"===e?e:"true"===e}get validateOnBlur(){return"true"===this.getAttribute("validate-on-blur")}get storeLastAuthenticatedUser(){var t;return"true"===(null!==(t=this.getAttribute("store-last-authenticated-user"))&&void 0!==t?t:"true")}get keepLastAuthenticatedUserAfterLogout(){return"true"===this.getAttribute("keep-last-authenticated-user-after-logout")}get storagePrefix(){return this.getAttribute("storage-prefix")||""}get preview(){return!!this.getAttribute("preview")}get formConfig(){return(t=>{try{return di(JSON.parse(t))}catch(t){return{}}})(this.form)}get form(){return this.getAttribute("form")}get formConfigValues(){return t=this.formConfig,e="value",Object.fromEntries(Object.entries(t).map((([t,n])=>[t,n[e]])));var t,e}getExecutionContext(){return n(this,void 0,void 0,(function*(){const{executionContext:t}=yield o(this,Ui,"f").call(this);return t}))}getProjectConfig(){return n(this,void 0,void 0,(function*(){const{projectConfig:t}=yield o(this,Ui,"f").call(this);return t}))}getFlowConfig(){return n(this,void 0,void 0,(function*(){var t,e;const n=yield this.getProjectConfig(),o=(null===(t=null==n?void 0:n.flows)||void 0===t?void 0:t[this.flowId])||{};return null!==(e=o.version)&&void 0!==e||(o.version=0),o}))}getTargetLocales(){return n(this,void 0,void 0,(function*(){const t=yield this.getFlowConfig();return((null==t?void 0:t.targetLocales)||[]).map((t=>t.toLowerCase()))}))}connectedCallback(){return n(this,void 0,void 0,(function*(){if(this.shadowRoot.isConnected){if(o(this,gi,"f").subscribe(o(this,ui,"m",Di).bind(this)),o(this,gi,"f").update({isDebug:this.debug}),o(this,ui,"m",Ii).call(this))return void o(this,ui,"m",ki).call(this);if(o(this,ui,"m",ji).call(this),i(this,Ti,o(this,ui,"m",Ei).call(this),"f"),yield o(this,ui,"m",xi).call(this))return void this.loggerWrapper.error("This SDK version does not support your flows version","Make sure to upgrade your flows to the latest version or use an older SDK version");if((yield o(this,Ui,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");o(this,ui,"m",Li).call(this),yield o(this,ui,"m",Fi).call(this),yield o(this,ui,"m",_i).call(this),o(this,ui,"m",Ni).call(this);const{executionId:t,stepId:e,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:c,redirectAuthInitiator:d,ssoQueryParams:u}=qo();window.addEventListener("popstate",o(this,wi,"f").popstate),window.addEventListener("components-context",o(this,wi,"f").componentsContext),o(this,fi,"f").subscribe(o(this,ui,"m",Si).bind(this)),o(this,fi,"f").update(Object.assign({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenant,redirectUrl:this.redirectUrl,locale:this.locale,stepId:e,executionId:t,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:c,redirectAuthInitiator:d},u)),i(this,pi,!0,"f")}}))}disconnectedCallback(){o(this,fi,"f").unsubscribeAll(),o(this,gi,"f").unsubscribeAll(),o(this,ui,"m",Mi).call(this),window.removeEventListener("popstate",o(this,wi,"f").popstate),window.removeEventListener("components-context",o(this,wi,"f").componentsContext)}attributeChangedCallback(t,e,n){if(this.shadowRoot.isConnected&&o(this,pi,"f")&&e!==n&&hi.observedAttributes.includes(t)){o(this,ui,"m",ji).call(this);const i=null===e;o(this,fi,"f").update((({stepId:e,executionId:o})=>{let r=e,s=o;return i||(s=null,r=null,Mo()),{[Do(t)]:n,stepId:r,executionId:s}})),o(this,gi,"f").update({isDebug:this.debug}),"theme"===t&&o(this,ui,"m",$i).call(this)}}}function yr(t,e){return`sdkScriptsResults.${e?`${t}_${e}`:t}`}hi=br,pi=new WeakMap,fi=new WeakMap,gi=new WeakMap,vi=new WeakMap,mi=new WeakMap,wi=new WeakMap,bi=new WeakMap,Ui=new WeakMap,Ti=new WeakMap,ui=new WeakSet,yi=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(ci.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},Ii=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},ki=function(){const t=this.shadowRoot.host,e=document.createElement("form");e.style.width="100%",e.style.height="100%",t.parentElement.appendChild(e),e.appendChild(t)},ji=function(){const t=["base-url","tenant","theme","locale","debug","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","preview","storage-prefix","form","client","validate-on-blur"];if(hi.observedAttributes.forEach((e=>{if(!t.includes(e)&&!this[Do(e)])throw Error(`${e} cannot be empty`)})),this.theme&&"light"!==this.theme&&"dark"!==this.theme)throw Error('Supported theme values are "light", "dark", or leave empty for using the OS theme')},Ci=function(){const{stepId:t,executionId:e}=$o();o(this,fi,"f").update({stepId:t,executionId:e})},Oi=function(t,e){this.sdk=Qn(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},hi.sdkConfigOverrides),{projectId:t,baseUrl:e})),["start","next"].forEach((t=>{const e=this.sdk.flow[t];this.sdk.flow[t]=(...t)=>n(this,void 0,void 0,(function*(){this.nextRequestStatus.update({isLoading:!0});try{return yield e(...t)}catch(t){return{error:{errorCode:"J151000",errorDescription:t.toString()}}}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},Si=function(t,e,i){return n(this,void 0,void 0,(function*(){const{projectId:e,baseUrl:n}=t;if(i("projectId")||i("baseUrl")){if(!e)return;o(this,ui,"m",Oi).call(this,e,n)}o(this,bi,"f").call(this,t)}))},xi=function(){return n(this,void 0,void 0,(function*(){return(yield o(this,Ui,"f").call(this)).isMissingConfig&&(yield o(this,ui,"m",Ai).call(this))}))},Ai=function(){return n(this,void 0,void 0,(function*(){const t=Ro({projectId:this.projectId,filename:to,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield _o(t,"json"),!0}catch(t){return!1}}))},Ei=function(){return n(this,void 0,void 0,(function*(){const t=Ro({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:e}=yield _o(t,"json");return e}catch(t){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},Li=function(){return n(this,void 0,void 0,(function*(){var t,e;const{projectConfig:n}=yield o(this,Ui,"f").call(this),i=null===(e=null===(t=null==n?void 0:n.cssTemplate)||void 0===t?void 0:t[this.theme])||void 0===e?void 0:e.fonts;i&&Object.values(i).forEach((t=>(t=>{if(!t)return;const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)})(t.url)))}))},_i=function(){return n(this,void 0,void 0,(function*(){yield o(this,ui,"m",Ri).call(this),yield o(this,ui,"m",$i).call(this)}))},Ri=function(){return n(this,void 0,void 0,(function*(){var t,e,n,i;const r=document.createElement("style"),s=yield o(this,Ti,"f");r.innerText=((null===(t=null==s?void 0:s.light)||void 0===t?void 0:t.globals)||"")+((null===(e=null==s?void 0:s.dark)||void 0===e?void 0:e.globals)||"");const a=yield hi.descopeUI;(null==a?void 0:a.componentsThemeManager)&&!a.componentsThemeManager.hasThemes&&(a.componentsThemeManager.themes={light:null===(n=null==s?void 0:s.light)||void 0===n?void 0:n.components,dark:null===(i=null==s?void 0:s.dark)||void 0===i?void 0:i.components}),this.shadowRoot.appendChild(r)}))},Pi=function(t){i(this,vi,Object.assign(Object.assign({},o(this,vi,"f")),t.detail),"f")},$i=function(){return n(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const t=yield hi.descopeUI;(null==t?void 0:t.componentsThemeManager)&&(t.componentsThemeManager.currentThemeName=this.theme)}))},Mi=function(){var t;null===(t=o(this,mi,"f"))||void 0===t||t.remove(),i(this,mi,null,"f")},Di=function(t){return n(this,arguments,void 0,(function*({isDebug:t}){t?(i(this,mi,document.createElement("descope-debugger"),"f"),Object.assign(o(this,mi,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield Promise.resolve().then((function(){return Cr})),document.body.appendChild(o(this,mi,"f"))):o(this,ui,"m",Mi).call(this)}))},qi=function(t,e){var n;t&&this.debug&&(null===(n=o(this,mi,"f"))||void 0===n||n.updateData({title:t,description:e}))},Ni=function(){this.rootElement.onkeydown=t=>{var e,n,o;const i=!!(null===(e=this.shadowRoot.activeElement)||void 0===e?void 0:e.getAttribute("href")),r=Uo.includes(null!==(o=null===(n=this.shadowRoot.activeElement)||void 0===n?void 0:n.localName)&&void 0!==o?o:"");if("Enter"!==t.key||i||r)return;t.preventDefault();const s=this.rootElement.querySelectorAll("descope-button");if(1===s.length&&"false"!==s[0].getAttribute("auto-submit"))return void s[0].click();const a=Array.from(s).filter((t=>"true"===t.getAttribute("auto-submit")));if(1===a.length)return void a[0].click();const l=Array.from(s).filter((t=>"button"===t.getAttribute("data-type")));if(1===l.length)"false"!==l[0].getAttribute("auto-submit")&&l[0].click();else if(0===l.length){const t=Array.from(s).filter((t=>"sso"===t.getAttribute("data-type")));1===t.length&&"false"!==t[0].getAttribute("auto-submit")&&t[0].click()}}},Wi=function(){return n(this,void 0,void 0,(function*(){var t,e;const n=null===(e=null===(t=yield o(this,Ui,"f").call(this))||void 0===t?void 0:t.projectConfig)||void 0===e?void 0:e.componentsVersion;return n||(this.logger.error("Did not get components version, using latest version"),"latest")}))},Fi=function(){return n(this,void 0,void 0,(function*(){hi.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):hi.descopeUI=new Promise((t=>{if(globalThis.DescopeUI)return void t(globalThis.DescopeUI);const e=t=>{const e=document.createElement("script");return e.id="load-descope-ui",e.src=t,e},i=(t,e)=>t.replace("<version>",e),r=(e,n)=>{const o=()=>{this.loggerWrapper.error("Cannot load DescopeUI",`Make sure this URL is valid and return the correct script: "${e.src}"`),n()};e.addEventListener("load",(()=>{globalThis.DescopeUI||o(),t(globalThis.DescopeUI)})),e.addEventListener("error",o)};(()=>{n(this,void 0,void 0,(function*(){const n=yield o(this,ui,"m",Wi).call(this),s=e(i(no,n));r(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const o=e(i(oo,n));r(o,(()=>{t(void 0)})),document.body.append(o)})),document.body.append(s)}))})()}))}))},br.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.22.1"}};class Ir extends br{static set sdkConfigOverrides(t){br.sdkConfigOverrides=t}constructor(){const t=new Qo({deferredRedirect:!1});super(t.update.bind(t)),Bi.add(this),this.stepState=new Qo({},{updateOnlyOnChange:!1}),Vi.set(this,void 0),Ki.set(this,null),Hi.set(this,{visibilitychange:o(this,Bi,"m",Ji).bind(this)}),Gi.set(this,((t,e,r,s,a)=>{r===jo&&i(this,Vi,setTimeout((()=>n(this,void 0,void 0,(function*(){var n;let i;try{i=yield this.sdk.flow.next(t,e,Ao,s,a,{})}catch(n){return void o(this,Gi,"f").call(this,t,e,r,s,a)}o(this,Xi,"f").call(this,i);const{action:l}=null!==(n=null==i?void 0:i.data)&&void 0!==n?n:{};o(this,Gi,"f").call(this,t,e,l,s,a)}))),2e3),"f")})),zi.set(this,(()=>{clearTimeout(o(this,Vi,"f")),i(this,Vi,null,"f")})),Xi.set(this,(t=>{var e,n,i,r,s,a,l,c,d,u,h;if(!(null==t?void 0:t.ok)){const a=null===(e=null==t?void 0:t.response)||void 0===e?void 0:e.url,l=`${null===(n=null==t?void 0:t.response)||void 0===n?void 0:n.status} - ${null===(i=null==t?void 0:t.response)||void 0===i?void 0:i.statusText}`;return o(this,Bi,"m",lr).call(this,"error",(null==t?void 0:t.error)||{errorCode:"J151001",errorDescription:l,errorMessage:a}),void this.loggerWrapper.error((null===(r=null==t?void 0:t.error)||void 0===r?void 0:r.errorDescription)||a,(null===(s=null==t?void 0:t.error)||void 0===s?void 0:s.errorMessage)||l)}null===(l=null===(a=t.data)||void 0===a?void 0:a.runnerLogs)||void 0===l||l.forEach((t=>{const{level:e,title:n,log:o}=t;e&&this.loggerWrapper[e]?this.loggerWrapper[e](n,o):this.loggerWrapper.info(n,o)}));const p=null===(u=null===(d=null===(c=t.data)||void 0===c?void 0:c.screen)||void 0===d?void 0:d.state)||void 0===u?void 0:u.errorText;(null===(h=t.data)||void 0===h?void 0:h.error)?this.loggerWrapper.error(`[${t.data.error.code}]: ${t.data.error.description}`,`${p?`${p} - `:""}${t.data.error.message}`):p&&this.loggerWrapper.error(p);const{status:f,authInfo:g,lastAuth:v}=t.data;if("completed"===f)return this.storeLastAuthenticatedUser&&function(t){(null==t?void 0:t.authMethod)&&Zn&&localStorage.setItem(ho,JSON.stringify(t))}(v),void o(this,Bi,"m",lr).call(this,"success",g);const{executionId:m,stepId:w,stepName:b,action:y,screen:I,redirect:k,openInNewTabUrl:j,webauthn:C,error:O,samlIdpResponse:S}=t.data;y!==jo?(this.loggerWrapper.info(`Step "${b||`#${w}`}" is ${f}`,"",{screen:I,status:f,stepId:w,stepName:b,action:y,error:O}),this.flowState.update({stepId:w,executionId:m,action:y,redirectTo:null==k?void 0:k.url,openInNewTabUrl:j,screenId:null==I?void 0:I.id,screenState:null==I?void 0:I.state,webauthnTransactionId:null==C?void 0:C.transactionId,webauthnOptions:null==C?void 0:C.options,samlIdpResponseUrl:null==S?void 0:S.url,samlIdpResponseSamlResponse:null==S?void 0:S.samlResponse,samlIdpResponseRelayState:null==S?void 0:S.relayState})):this.flowState.update({action:y})})),Qi.set(this,No((()=>n(this,void 0,void 0,(function*(){var t;try{const e=yield this.sdk.webauthn.signIn.start("",window.location.origin);return e.ok||this.loggerWrapper.warn("Webauthn start failed",null===(t=null==e?void 0:e.error)||void 0===t?void 0:t.errorMessage),e.data}catch(t){this.loggerWrapper.warn("Webauthn start failed",t.message)}}))))),ir.set(this,Vo(((t,e)=>n(this,void 0,void 0,(function*(){if("true"===t.getAttribute("formnovalidate")||o(this,Bi,"m",tr).call(this)){const i=null==t?void 0:t.getAttribute("id");o(this,Bi,"m",nr).call(this,t);const r=yield o(this,Bi,"m",er).call(this),s=(n=t,Array.from((null==n?void 0:n.attributes)||[]).reduce(((t,e)=>{var n;const o=null===(n=new RegExp("^data-descope-(\\S+)$").exec(e.name))||void 0===n?void 0:n[1];return o?Object.assign(t,{[o]:e.value}):t}),{})),a=this.getComponentsContext(),l=Object.assign(Object.assign(Object.assign(Object.assign({},a),s),r),{origin:window.location.origin}),c=yield this.getFlowConfig(),d=yield this.getProjectConfig(),u=yield e(i,c.version,d.componentsVersion,l);o(this,Xi,"f").call(this,u),o(this,Bi,"m",or).call(this,r)}var n}))))),this.flowState=t}loadSdkScripts(){return n(this,void 0,void 0,(function*(){const t=(yield this.getFlowConfig()).sdkScripts;null==t||t.forEach((t=>n(this,void 0,void 0,(function*(){(yield function(t){return n(this,void 0,void 0,(function*(){let e;switch(t){case"forter":return e=yield Promise.resolve().then((function(){return Sr})),e.default;case"fingerprint":return e=yield Promise.resolve().then((function(){return Ar})),e.default;case"fingerprintDescope":return e=yield Promise.resolve().then((function(){return Er})),e.default;default:throw new Error(`Unknown script id: ${t}`)}}))}(t.id))(t.initArgs,{baseUrl:this.baseUrl},(e=>{this.dispatchEvent(new CustomEvent("components-context",{detail:{[yr(t.id,t.resultKey)]:e},bubbles:!0,composed:!0}))}))}))))}))}connectedCallback(){const t=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return n(this,void 0,void 0,(function*(){var e,n;this.shadowRoot.isConnected&&(null===(e=this.flowState)||void 0===e||e.subscribe(this.onFlowChange.bind(this)),null===(n=this.stepState)||void 0===n||n.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",o(this,Hi,"f").visibilitychange)),yield t.connectedCallback.call(this)}))}disconnectedCallback(){var t;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(t=o(this,Ki,"f"))||void 0===t||t.abort(),i(this,Ki,null,"f"),window.removeEventListener("visibilitychange",o(this,Hi,"f").visibilitychange)}getHtmlFilenameWithLocale(t,e){return n(this,void 0,void 0,(function*(){let n;const o=Ko(t);return(yield this.getTargetLocales()).includes(o)&&(n=`${e}-${o}.html`),n}))}getPageContent(t,e){return n(this,void 0,void 0,(function*(){if(e)try{const{body:t}=yield _o(e,"text");return t}catch(n){this.loggerWrapper.error(`Failed to fetch flow page from ${e}. Fallback to url ${t}`,n)}try{const{body:e}=yield _o(t,"text");return e}catch(t){this.loggerWrapper.error("Failed to fetch flow page",t.message)}return null}))}onFlowChange(t,r,s){return n(this,void 0,void 0,(function*(){var n,a;const{projectId:l,flowId:c,tenant:d,stepId:u,executionId:h,action:p,screenId:f,screenState:g,redirectTo:v,openInNewTabUrl:m,redirectUrl:w,token:b,code:y,exchangeError:I,webauthnTransactionId:k,webauthnOptions:j,redirectAuthCodeChallenge:C,redirectAuthCallbackUrl:O,redirectAuthBackupCallbackUri:S,redirectAuthInitiator:x,locale:A,samlIdpResponseUrl:U,samlIdpResponseSamlResponse:E,samlIdpResponseRelayState:T}=t,L=e(t,["projectId","flowId","tenant","stepId","executionId","action","screenId","screenState","redirectTo","openInNewTabUrl","redirectUrl","token","code","exchangeError","webauthnTransactionId","webauthnOptions","redirectAuthCodeChallenge","redirectAuthCallbackUrl","redirectAuthBackupCallbackUri","redirectAuthInitiator","locale","samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"]);let _,R;const P=(()=>{const t=localStorage.getItem(li);if(!t){const t=Math.floor(100*Math.random()+1);return localStorage.setItem(li,t.toString()),t}return Number(t)})(),$=this.sdk.getLastUserLoginId(),M=yield this.getFlowConfig(),D=yield this.getProjectConfig(),q=O&&C?{callbackUrl:O,codeChallenge:C,backupCallbackUri:S}:void 0;if(!h&&(this.loadSdkScripts(),M.fingerprintEnabled&&M.fingerprintKey?yield En(M.fingerprintKey,this.baseUrl):localStorage.removeItem(An),M.conditions?({startScreenId:_,conditionInteractionId:R}=((t,e)=>{const n=null==e?void 0:e.find((({key:e,operator:n,predicate:o})=>{var i;if("ELSE"===e)return!0;const r=null===(i=si[e])||void 0===i?void 0:i[n];return!!(null==r?void 0:r(t,o))}));return n?{startScreenId:n.met.screenId,conditionInteractionId:n.met.interactionId}:{}})({loginId:$,code:y,token:b,abTestingKey:P},M.conditions)):M.condition?({startScreenId:_,conditionInteractionId:R}=((t,e)=>{var n;const o=null===(n=si[null==t?void 0:t.key])||void 0===n?void 0:n[t.operator];if(!o)return{};const i=o(e,t.predicate)?t.met:t.unmet;return{startScreenId:null==i?void 0:i.screenId,conditionInteractionId:null==i?void 0:i.interactionId}})(M.condition,{loginId:$,code:y,token:b,abTestingKey:P})):_=M.startScreenId,!Wo(_,L))){const t=yield this.sdk.flow.start(c,Object.assign(Object.assign(Object.assign(Object.assign({tenant:d,redirectAuth:q},L),{client:this.client}),w&&{redirectUrl:w}),{lastAuth:ai($),abTestingKey:P,locale:Ko(A)}),R,"",M.version,D.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),y?{exchangeCode:y,idpInitiated:!0}:{}),L.descopeIdpInitiated&&{idpInitiated:!0}),b?{token:b}:{}),L.oidcLoginHint?{externalId:L.oidcLoginHint}:{}));return o(this,Xi,"f").call(this,t),void("completed"!==(null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.status)&&this.flowState.update({code:void 0,token:void 0}))}if(h&&(s("token")&&b||s("code")&&y||s("exchangeError")&&I)){const t=yield this.sdk.flow.next(h,u,xo,M.version,D.componentsVersion,{token:b,exchangeCode:y,exchangeError:I});return o(this,Xi,"f").call(this,t),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(p===So&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((t=>s(t)))){if(!U||!E)return void this.loggerWrapper.error("Did not get saml idp params data to load");((t,e,n,o)=>{const i=document.createElement("form");i.method="POST",i.action=t,i.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${e}" />\n <input type="hidden" role="saml-relay-state" name="RelayState" value="${n}" />\n <input style="display: none;" id="SAMLSubmitButton" type="submit" value="Continue" />\n `,document.body.appendChild(i),o(i)})(U,E,T||"",Fo)}if(p===ko&&(s("redirectTo")||s("deferredRedirect")))return v?"android"===x&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(v):void this.loggerWrapper.error("Did not get redirect url");if(p===Co||p===Oo){if(!k||!j)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let t,e;null===(a=o(this,Ki,"f"))||void 0===a||a.abort(),i(this,Ki,null,"f");try{t=p===Co?yield this.sdk.webauthn.helpers.create(j):yield this.sdk.webauthn.helpers.get(j)}catch(t){"InvalidStateError"===t.name?this.loggerWrapper.warn("WebAuthn operation failed",t.message):"NotAllowedError"!==t.name&&this.loggerWrapper.error(t.message),e=t.name}const n=yield this.sdk.flow.next(h,u,xo,M.version,D.componentsVersion,{transactionId:k,response:t,failure:e});o(this,Xi,"f").call(this,n)}if(o(this,Gi,"f").call(this,h,u,p,M.version,D.componentsVersion),!f&&!_)return void this.loggerWrapper.warn("No screen was found to show");const N=_||f,W=yield this.getHtmlFilenameWithLocale(A,N),{oidcLoginHint:F,oidcPrompt:B,oidcErrorRedirectUri:V,samlIdpUsername:K}=L,H={direction:Po(u,r.stepId),screenState:Object.assign(Object.assign({},g),{form:Object.assign(Object.assign({},this.formConfigValues),null==g?void 0:g.form),lastAuth:{loginId:$,name:this.sdk.getLastUserDisplayName()||$}}),htmlUrl:Ro({projectId:l,filename:`${N}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:W&&Ro({projectId:l,filename:W,baseUrl:this.baseStaticUrl}),samlIdpUsername:K,oidcLoginHint:F,oidcPrompt:B,oidcErrorRedirectUri:V,openInNewTabUrl:m},J=ai($);Wo(_,L)?H.next=(t,e,n,o)=>this.sdk.flow.start(c,Object.assign(Object.assign(Object.assign(Object.assign({tenant:d,redirectAuth:q},L),{lastAuth:J,preview:this.preview,abTestingKey:P,client:this.client}),w&&{redirectUrl:w}),{locale:Ko(A)}),R,t,e,n,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),y&&{exchangeCode:y,idpInitiated:!0}),L.descopeIdpInitiated&&{idpInitiated:!0}),b&&{token:b})):(s("projectId")||s("baseUrl")||s("executionId")||s("stepId"))&&(H.next=(...t)=>this.sdk.flow.next(h,u,...t)),this.stepState.update(H)}))}loadDescopeUiComponents(t){return n(this,void 0,void 0,(function*(){const e=yield br.descopeUI;if(!e)return;const o=(t=>[...Array.from(t.querySelectorAll("*")).reduce(((t,e)=>e.tagName.startsWith("DESCOPE-")?t.add(e.tagName.toLocaleLowerCase()):t),new Set)])(t);yield Promise.all(o.map((t=>n(this,void 0,void 0,(function*(){if(!!!customElements.get(t))if(e[t])try{return yield e[t]()}catch(e){if("NotSupportedError"!==e.name)throw e;console.debug(`${t} is already registered`)}else this.loggerWrapper.error(`Cannot load UI component "${t}"`,`Descope UI does not have a component named "${t}", available components are: "${Object.keys(e).join(", ")}"`)})))))}))}onStepChange(t,e){return n(this,void 0,void 0,(function*(){var i,r;const{htmlUrl:s,htmlLocaleUrl:a,direction:l,next:c,screenState:d,openInNewTabUrl:u}=t,h=document.createElement("template");h.innerHTML=yield this.getPageContent(s,a);const p=h.content.cloneNode(!0),f=this.loadDescopeUiComponents(h.content);this.sdk.webauthn.helpers.isSupported()?yield o(this,Bi,"m",Yi).call(this,p,c):p.querySelectorAll(`descope-button[${Io}="biometrics"]`).forEach((t=>t.setAttribute("disabled","true"))),!t.samlIdpUsername||(null===(i=d.form)||void 0===i?void 0:i.loginId)||(null===(r=d.form)||void 0===r?void 0:r.email)||(d.form||(d.form={}),d.form.loginId=t.samlIdpUsername,d.form.email=t.samlIdpUsername),oi(p,d,d.componentsConfig,this.formConfig,this.errorTransformer,this.loggerWrapper);const{geo:g}=yield this.getExecutionContext();((t,e)=>{Array.from(t.querySelectorAll('descope-phone-field[default-code="autoDetect"]')).forEach((t=>{t.setAttribute("default-code",e)}))})(p,g);const v=()=>n(this,void 0,void 0,(function*(){var t,n;yield f;const i=this.shadowRoot.querySelector("div");var r,s;r=i,s=null===(t=null==d?void 0:d.totp)||void 0===t?void 0:t.image,ni(r,"descope-totp-image",s),((t,e)=>{ni(t,"descope-notp-image",e)})(i,null===(n=null==d?void 0:d.notp)||void 0===n?void 0:n.image),this.rootElement.replaceChildren(p),setTimeout((()=>{((t,e)=>{Yo(t,null==e?void 0:e.inputs),Yo(t,null==e?void 0:e.form)})(this.rootElement,d)}));const a=!e.htmlUrl;((t,e,n)=>{if(!0===e||"skipFirstScreen"===e&&!n){const e=t.querySelector("*[name]");setTimeout((()=>{null==e||e.focus()}))}})(this.rootElement,this.autoFocus,a),this.validateOnBlur&&(t=>{t.querySelectorAll("*[name]").forEach((t=>{t.addEventListener("blur",(()=>{var e;const n=t.focus;t.focus=()=>{},null===(e=t.reportValidity)||void 0===e||e.call(t),setTimeout((()=>{t.focus=n}))}))}))})(this.rootElement),o(this,Bi,"m",sr).call(this,c),a&&o(this,Bi,"m",lr).call(this,"ready",{}),o(this,Bi,"m",lr).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${Io}="polling"]`)){const t=yield this.getFlowConfig(),e=yield this.getProjectConfig(),n=yield c(Ao,t.version,e.componentsVersion,{});o(this,Xi,"f").call(this,n)}u&&!e.openInNewTabUrl&&window.open(u,"_blank")}));l?o(this,Bi,"m",ar).call(this,v,l):v()}))}}Vi=new WeakMap,Ki=new WeakMap,Hi=new WeakMap,Gi=new WeakMap,zi=new WeakMap,Xi=new WeakMap,Qi=new WeakMap,ir=new WeakMap,Bi=new WeakSet,Ji=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},Zi=function(t){const e=t.getAttribute("name");if(!["email"].includes(e)){const n=`user-${e}`;t.setAttribute("name",n),t.addEventListener("input",(()=>{t.setAttribute("name",t.value?e:n)}))}},Yi=function(t,e){return n(this,void 0,void 0,(function*(){var r;null===(r=o(this,Ki,"f"))||void 0===r||r.abort();const s=t.querySelector('*[autocomplete="webauthn"]');if(s&&(yield ii())){const{options:t,transactionId:r}=(yield o(this,Qi,"f").call(this))||{};if(t&&r){o(this,Bi,"m",Zi).call(this,s),i(this,Ki,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(t,o(this,Ki,"f")).then((t=>n(this,void 0,void 0,(function*(){const n=yield e(s.id,a.version,l.componentsVersion,{transactionId:r,response:t});o(this,Xi,"f").call(this,n)})))).catch((t=>{"AbortError"!==t.name&&this.loggerWrapper.error("Conditional login failed",t.message)}))}}}))},tr=function(){let t=!0;return Array.from(this.shadowRoot.querySelectorAll("*[name]")).reverse().forEach((e=>{var n,o;"slot"!==e.localName&&(null===(n=e.reportValidity)||void 0===n||n.call(e),t&&(t=null===(o=e.checkValidity)||void 0===o?void 0:o.call(e)))})),t},er=function(){return n(this,void 0,void 0,(function*(){const t=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${uo}])`));return(yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){return{name:t.getAttribute("name"),value:t.value}})))))).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e.name]:e.value})),{})}))},nr=function(t){const e=this.nextRequestStatus.subscribe((({isLoading:n})=>{n?t.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(e),t.removeAttribute("loading"))}))},or=function(t={}){var e,n;const o=Bo(t,["externalId","email","phone"]),i=Bo(t,["newPassword","password"]);if(o&&i)try{if(!globalThis.PasswordCredential)return;const t=new globalThis.PasswordCredential({id:o,password:i});null===(n=null===(e=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===e?void 0:e.store)||void 0===n||n.call(e,t)}catch(t){this.loggerWrapper.error("Could not store credentials",t.message)}},rr=function(t){this.rootElement.querySelectorAll('descope-passcode[data-auto-submit="true"]').forEach((e=>{e.addEventListener("input",(()=>{var n;(null===(n=e.checkValidity)||void 0===n?void 0:n.call(e))&&o(this,ir,"f").call(this,e,t)}))}))},sr=function(t){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((e=>{e.onclick=()=>{o(this,ir,"f").call(this,e,t)}})),o(this,Bi,"m",rr).call(this,t)},ar=function(t,e){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),t()}),{once:!0});const n=e===Eo.forward?"slide-forward":"slide-backward";Array.from(this.rootElement.getElementsByClassName("input-container")).forEach(((t,e)=>{t.style["transition-delay"]=40*e+"ms",t.classList.add(n)})),this.rootElement.classList.add("fade-out")},lr=function(t,e){this.dispatchEvent(new CustomEvent(t,{detail:e}))},customElements.get("descope-wc")?console.log("descope-wc is already defined"):customElements.define("descope-wc",Ir);const kr=document.createElement("template");kr.innerHTML=`\n<style>\n .debugger {\n width: 300px;\n height: 200px;\n background-color: #FAFAFA;\n position: fixed;\n font-family: "Helvetica Neue", sans-serif;\n box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 10px;\n border-radius: 8px;\n overflow: hidden;\n border: 1px solid lightgrey;\n pointer-events: initial;\n display: flex;\n flex-direction: column;\n min-width: 200px;\n max-width: 600px;\n max-height: calc(100% - 64px);\n min-height: 200px;\n resize: both;\n }\n\n .header {\n padding: 8px 16px;\n display: flex;\n align-items: center;\n background-color: #EEEEEE;\n cursor: move;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .content {\n font-size: 14px;\n flex-grow: 1;\n overflow: auto;\n }\n\n .msg {\n border-bottom: 1px solid lightgrey;\n padding: 8px 16px;\n display: flex;\n gap: 5px;\n background-color: #FAFAFA;\n }\n\n .msg.collapsible {\n cursor: pointer;\n }\n\n .empty-state {\n padding: 8px 16px;\n background-color: #FAFAFA;\n }\n\n\n .msg.collapsible:not(.collapsed) {\n background-color: #F5F5F5;\n }\n\n .msg_title {\n padding-bottom: 5px;\n display: flex;\n gap: 8px;\n font-weight: 500;\n }\n\n .msg svg {\n padding: 1px;\n flex-shrink: 0;\n margin-top: -2px;\n }\n\n .msg_content {\n overflow: hidden;\n flex-grow: 1;\n margin-right:5px;\n }\n\n .msg_desc {\n color: #646464;\n cursor: initial;\n word-wrap: break-word;\n }\n\n .msg.collapsed .msg_desc {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .msg.collapsible.collapsed .chevron {\n transform: rotate(-45deg) translateX(-2px);\n }\n\n .msg.collapsible .chevron {\n content: "";\n width:6px;\n height:6px;\n border-bottom: 2px solid grey;\n border-right: 2px solid grey;\n transform: rotate(45deg) translateX(-1px);\n margin: 5px;\n flex-shrink:0;\n }\n</style>\n\n<div style="top:32px; left:${window.innerWidth-300-32}px;" class="debugger">\n <div class="header">\n <span>Debugger messages</span>\n </div>\n <div class="content">\n <div class="empty-state">\n No errors detected 👀\n </div>\n </div>\n</div>\n`;class jr extends HTMLElement{constructor(){super(),cr.add(this),dr.set(this,new Qo({messages:[]})),ur.set(this,void 0),hr.set(this,void 0),pr.set(this,void 0),fr.set(this,{resize:o(this,cr,"m",wr).bind(this)}),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(kr.content.cloneNode(!0)),i(this,ur,this.shadowRoot.querySelector(".debugger"),"f"),i(this,hr,o(this,ur,"f").querySelector(".content"),"f"),i(this,pr,o(this,ur,"f").querySelector(".header"),"f")}updateData(t){o(this,dr,"f").update((e=>({messages:e.messages.concat(t)})))}connectedCallback(){var t;((t,e,n)=>{let o=0,i=0,r=0,s=0;function a(e){e.preventDefault(),o=r-e.clientX,i=s-e.clientY,r=e.clientX,s=e.clientY;const[a,l]=ri(t,t.offsetLeft-o,t.offsetTop-i,n);t.style.top=`${l}px`,t.style.left=`${a}px`}function l(){document.onmouseup=null,document.onmousemove=null}function c(t){t.preventDefault(),r=t.clientX,s=t.clientY,document.onmouseup=l,document.onmousemove=a}e?e.onmousedown=c:t.onmousedown=c})(o(this,ur,"f"),o(this,pr,"f"),{top:"all",bottom:100,left:100,right:100}),window.addEventListener("resize",o(this,fr,"f").resize),(t=o(this,ur,"f")).onmousemove=e=>{(e.target.w&&e.target.w!==e.target.offsetWidth||e.target.h&&e.target.h!==e.target.offsetHeight)&&t.onresize(e),e.target.w=e.target.offsetWidth,e.target.h=e.target.offsetHeight},o(this,ur,"f").onresize=o(this,cr,"m",mr).bind(this),o(this,dr,"f").subscribe(o(this,cr,"m",gr).bind(this))}disconnectedCallback(){o(this,dr,"f").unsubscribeAll(),window.removeEventListener("resize",o(this,fr,"f").resize)}}dr=new WeakMap,ur=new WeakMap,hr=new WeakMap,pr=new WeakMap,fr=new WeakMap,cr=new WeakSet,gr=function(t){o(this,cr,"m",vr).call(this,t),o(this,cr,"m",mr).call(this)},vr=function(t){o(this,hr,"f").innerHTML=t.messages.map((t=>`\n <div class="msg">\n <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M5.99984 13.167L8.99984 10.167L11.9998 13.167L13.1665 12.0003L10.1665 9.00033L13.1665 6.00033L11.9998 4.83366L8.99984 7.83366L5.99984 4.83366L4.83317 6.00033L7.83317 9.00033L4.83317 12.0003L5.99984 13.167ZM8.99984 17.3337C7.84706 17.3337 6.76373 17.1148 5.74984 16.677C4.73595 16.2398 3.854 15.6462 3.104 14.8962C2.354 14.1462 1.76039 13.2642 1.32317 12.2503C0.885393 11.2364 0.666504 10.1531 0.666504 9.00033C0.666504 7.84755 0.885393 6.76421 1.32317 5.75033C1.76039 4.73644 2.354 3.85449 3.104 3.10449C3.854 2.35449 4.73595 1.7606 5.74984 1.32283C6.76373 0.885603 7.84706 0.666992 8.99984 0.666992C10.1526 0.666992 11.2359 0.885603 12.2498 1.32283C13.2637 1.7606 14.1457 2.35449 14.8957 3.10449C15.6457 3.85449 16.2393 4.73644 16.6765 5.75033C17.1143 6.76421 17.3332 7.84755 17.3332 9.00033C17.3332 10.1531 17.1143 11.2364 16.6765 12.2503C16.2393 13.2642 15.6457 14.1462 14.8957 14.8962C14.1457 15.6462 13.2637 16.2398 12.2498 16.677C11.2359 17.1148 10.1526 17.3337 8.99984 17.3337ZM8.99984 15.667C10.8609 15.667 12.4373 15.0212 13.729 13.7295C15.0207 12.4378 15.6665 10.8614 15.6665 9.00033C15.6665 7.13921 15.0207 5.56283 13.729 4.27116C12.4373 2.97949 10.8609 2.33366 8.99984 2.33366C7.13873 2.33366 5.56234 2.97949 4.27067 4.27116C2.979 5.56283 2.33317 7.13921 2.33317 9.00033C2.33317 10.8614 2.979 12.4378 4.27067 13.7295C5.56234 15.0212 7.13873 15.667 8.99984 15.667Z" fill="#ED404A"/>\n</svg>\n\n <div class="msg_content">\n <div class="msg_title">\n ${t.title}\n </div>\n <div class="msg_desc">\n ${t.description}\n </div>\n </div>\n <div class="chevron"></div>\n </div>\n `)).join("")},mr=function(){o(this,hr,"f").querySelectorAll(".msg").forEach((t=>{const e=t.querySelector(".msg_desc"),n=e.scrollWidth>e.clientWidth,o=e.clientHeight>20;n||o?(t.classList.add("collapsible"),t.onclick=e=>{e.target.classList.contains("msg_desc")||t.classList.toggle("collapsed")}):(t.classList.remove("collapsible"),t.onclick=null)}))},wr=function(){const[t,e]=ri(o(this,ur,"f"),Number.parseInt(o(this,ur,"f").style.left,10),Number.parseInt(o(this,ur,"f").style.top,10),{top:"all",bottom:100,left:100,right:100});o(this,ur,"f").style.top=`${e}px`,o(this,ur,"f").style.left=`${t}px`},customElements.get("descope-debugger")||customElements.define("descope-debugger",jr);var Cr=Object.freeze({__proto__:null,default:jr});const Or='\n(function () {\nvar merchantConfig = {\n csp: false\n};\n\nvar siteId = "{{SITE_ID}}";\nfunction t(t,n){for(var e=t.split(""),r=0;r<e.length;++r)e[r]=String.fromCharCode(e[r].charCodeAt(0)+n);return e.join("")}function n(n){return t(n,-L).replace(/%SN%/g,siteId)}function e(){var t="no"+"op"+"fn",n="g"+"a",e="n"+"ame";return window[n]&&window[n][e]===t}function r(){return!(!navigator.brave||"function"!=typeof navigator.brave.isBrave)}function o(){return document.currentScript&&document.currentScript.src}function i(t){try{if("number"==typeof t&&window.location&&window.location.pathname){for(var n=window.location.pathname.split("/"),e=[],r=0;r<=Math.min(n.length-1,Math.abs(t));r++)e.push(n[r]);return e.join("/")||"/"}}catch(t){}return"/"}function c(t){try{G.ex=t,e()&&-1===G.ex.indexOf(B.uB)&&(G.ex+=B.uB),r()&&-1===G.ex.indexOf(B.uBr)&&(G.ex+=B.uBr),o()&&-1===G.ex.indexOf(B.nIL)&&(G.ex+=B.nIL),window.ftr__snp_cwc||(G.ex+=B.s),M(G)}catch(t){}}function a(t,n){function e(o){try{o.blockedURI===t&&(n(),document.removeEventListener(r,e))}catch(t){document.removeEventListener(r,e)}}var r="securitypolicyviolation";document.addEventListener(r,e),setTimeout(function(){document.removeEventListener(r,e)},2*60*1e3)}function u(t,n,e,r){var o=!1;t="https://"+t,a(t,function(){r(!0),o=!0});var i=document.createElement("script");i.onerror=function(){if(!o)try{r(!1),o=!0}catch(t){}},i.onload=e,i.type="text/javascript",i.id="ftr__script",i.async=!0,i.src=t;var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(i,c)}function f(){J(B.uDF),setTimeout(h,I,B.uDF)}function d(t,n,e,r){var o=!1,i=new XMLHttpRequest;if(a("https:"+t,function(){e(new Error("CSP Violation"),!0),o=!0}),"//"===t.slice(0,2)&&(t="https:"+t),"withCredentials"in i)i.open("GET",t,!0);else{if("undefined"==typeof XDomainRequest)return;i=new XDomainRequest,i.open("GET",t)}Object.keys(r).forEach(function(t){i.setRequestHeader(t,r[t])}),i.onload=function(){"function"==typeof n&&n(i)},i.onerror=function(t){if("function"==typeof e&&!o)try{e(t,!1),o=!0}catch(t){}},i.onprogress=function(){},i.ontimeout=function(){"function"==typeof e&&e("tim"+"eo"+"ut",!1)},setTimeout(function(){i.send()},0)}function s(t,siteId,n){function e(t){var n=t.toString(16);return n.length%2?"0"+n:n}function r(t){if(t<=0)return"";for(var n="0123456789abcdef",e="",r=0;r<t;r++)e+=n[Math.floor(Math.random()*n.length)];return e}function o(t){for(var n="",r=0;r<t.length;r++)n+=e(t.charCodeAt(r));return n}function i(t){for(var n=t.split(""),e=0;e<n.length;++e)n[e]=String.fromCharCode(255^n[e].charCodeAt(0));return n.join("")}n=n?"1":"0";var c=[];return c.push(t),c.push(siteId),c.push(n),function(t){var n=40,e="";return t.length<n/2&&(e=","+r(n/2-t.length-1)),o(i(t+e))}(c.join(","))}function w(){function t(){D&&(J(B.dUAL),setTimeout(h,I,B.dUAL))}function n(t,n){c(n?B.uAS+B.uF+B.cP:B.uAS+B.uF)}window.ftr__fdad(t,n)}function h(t){try{var n;switch(t){case B.uFP:n=q;break;case B.uDF:n=E;break;default:n=D}if(!n)return;u(n,void 0,function(){try{K(),c(t+B.uS)}catch(t){}},function(n){try{K(),G.td=1*new Date-G.ts,c(n?t+B.uF+B.cP:t+B.uF),t===B.uFP&&f(),t===B.uDF&&w()}catch(t){c(B.eUoe)}})}catch(n){c(t+B.eTlu)}}var m="22ge:t7mj8unkn;1forxgiurqw1qhw2vwdwxv",v="fort",l="erTo",p="ken";window.ftr__config={m:merchantConfig,s:"23",si:siteId};var g=!1,_=v+l+p,y=400*24*60,T=10,k={write:function(t,n,e,r){void 0===r&&(r=!0);var o=0;window.ftr__config&&window.ftr__config.m&&window.ftr__config.m.ckDepth&&(o=window.ftr__config.m.ckDepth);var c,a,u=i(o);if(e?(c=new Date,c.setTime(c.getTime()+60*e*1e3),a="; expires="+c.toGMTString()):a="",!r)return void(document.cookie=escape(t)+"="+escape(n)+a+"; path="+u);for(var f=1,d=document.domain.split("."),s=T,w=!0;w&&d.length>=f&&s>0;){var h=d.slice(-f).join(".");document.cookie=escape(t)+"="+escape(n)+a+"; path="+u+"; domain="+h;var m=k.read(t);null!=m&&m==n||(h="."+h,document.cookie=escape(t)+"="+escape(n)+a+"; path="+u+"; domain="+h),w=-1===document.cookie.indexOf(t+"="+n),f++,s--}},read:function(t){var n=null;try{for(var e=escape(t)+"=",r=document.cookie.split(";"),o=32,i=0;i<r.length;i++){for(var c=r[i];c.charCodeAt(0)===o;)c=c.substring(1,c.length);0===c.indexOf(e)&&(n=unescape(c.substring(e.length,c.length)))}}finally{return n}}},S=window.ftr__config.s;S+="ck";var x=function(t){var n=!1,e=null,r=function(){try{if(!e||!n)return;e.remove&&"function"==typeof e.remove?e.remove():document.head.removeChild(e),n=!1}catch(t){}};document.head&&(!function(){e=document.createElement("link"),e.setAttribute("rel","pre"+"con"+"nect"),e.setAttribute("cros"+"sori"+"gin","anonymous"),e.onload=r,e.onerror=r,e.setAttribute("href",t),document.head.appendChild(e),n=!0}(),setTimeout(r,3e3))},L=3,A=n(m||"22ge:t7mj8unkn;1forxgiurqw1qhw2vwdwxv"),F=t("[0Uhtxhvw0LG",-L),U=t("[0Fruuhodwlrq0LG",-L),b=t("Li0Qrqh0Pdwfk",-L),D,C="fgq71iruwhu1frp",E=n("(VQ(1"+C+"2vq2(VQ(2vfulsw1mv"),V=n("(VQ(1"+C+"2vqV2(VQ(2vfulsw1mv"),q;window.ftr__config&&window.ftr__config.m&&window.ftr__config.m.fpi&&(q=window.ftr__config.m.fpi+n("2vq2(VQ(2vfulsw1mv"));var I=10;window.ftr__startScriptLoad=1*new Date;var R=function(t){var n="ft"+"r:tok"+"enR"+"eady";window.ftr__tt&&clearTimeout(window.ftr__tt),window.ftr__tt=setTimeout(function(){try{delete window.ftr__tt,t+="_tt";var e=document.createEvent("Event");e.initEvent(n,!1,!1),e.detail=t,document.dispatchEvent(e)}catch(t){}},1e3)},M=function(t){var n=function(t){return t||""},e=n(t.id)+"_"+n(t.ts)+"_"+n(t.td)+"_"+n(t.ex)+"_"+n(S),r=y;!isNaN(window.ftr__config.m.ckTTL)&&window.ftr__config.m.ckTTL&&(r=window.ftr__config.m.ckTTL),k.write(_,e,r,!0),R(e),window.ftr__gt=e},P=function(){var t=k.read(_)||"",n=t.split("_"),e=function(t){return n[t]||void 0};return{id:e(0),ts:e(1),td:e(2),ex:e(3),vr:e(4)}},j=function(){for(var t={},n="fgu",e=[],r=0;r<256;r++)e[r]=(r<16?"0":"")+r.toString(16);var o=function(t,n,r,o,i){var c=i?"-":"";return e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]+c+e[255&n]+e[n>>8&255]+c+e[n>>16&15|64]+e[n>>24&255]+c+e[63&r|128]+e[r>>8&255]+c+e[r>>16&255]+e[r>>24&255]+e[255&o]+e[o>>8&255]+e[o>>16&255]+e[o>>24&255]},i=function(){if(window.Uint32Array&&window.crypto&&window.crypto.getRandomValues){var t=new window.Uint32Array(4);return window.crypto.getRandomValues(t),{d0:t[0],d1:t[1],d2:t[2],d3:t[3]}}return{d0:4294967296*Math.random()>>>0,d1:4294967296*Math.random()>>>0,d2:4294967296*Math.random()>>>0,d3:4294967296*Math.random()>>>0}},c=function(){var t="",n=function(t,n){for(var e="",r=t;r>0;--r)e+=n.charAt(1e3*Math.random()%n.length);return e};return t+=n(2,"0123456789"),t+=n(1,"123456789"),t+=n(8,"0123456789")};return t.safeGenerateNoDash=function(){try{var t=i();return o(t.d0,t.d1,t.d2,t.d3,!1)}catch(t){try{return n+c()}catch(t){}}},t.isValidNumericalToken=function(t){return t&&t.toString().length<=11&&t.length>=9&&parseInt(t,10).toString().length<=11&&parseInt(t,10).toString().length>=9},t.isValidUUIDToken=function(t){return t&&32===t.toString().length&&/^[a-z0-9]+$/.test(t)},t.isValidFGUToken=function(t){return 0==t.indexOf(n)&&t.length>=12},t}(),B={uDF:"UDF",dUAL:"dUAL",uAS:"UAS",uFP:"UFP",mLd:"1",eTlu:"2",eUoe:"3",uS:"4",uF:"9",tmos:["T5","T10","T15","T30","T60"],tmosSecs:[5,10,15,30,60],bIR:"43",uB:"u",uBr:"b",cP:"c",nIL:"i",s:"s"};try{var G=P();try{G.id&&(j.isValidNumericalToken(G.id)||j.isValidUUIDToken(G.id)||j.isValidFGUToken(G.id))?window.ftr__ncd=!1:(G.id=j.safeGenerateNoDash(),window.ftr__ncd=!0),G.ts=window.ftr__startScriptLoad,M(G),window.ftr__snp_cwc=!!k.read(_),window.ftr__snp_cwc||(E=V);for(var N="for"+"ter"+".co"+"m",O="ht"+"tps://c"+"dn9."+N,Q="ht"+"tps://"+G.id+"-"+siteId+".cd"+"n."+N,H="http"+"s://cd"+"n3."+N,X=[O,Q,H],z=0;z<X.length;z++)x(X[z]);var $=new Array(B.tmosSecs.length),J=function(t){for(var n=0;n<B.tmosSecs.length;n++)$[n]=setTimeout(c,1e3*B.tmosSecs[n],t+B.tmos[n])},K=function(){for(var t=0;t<B.tmosSecs.length;t++)clearTimeout($[t])};window.ftr__fdad=function(n,e){if(!g){g=!0;var r={};r[b]=s(window.ftr__config.s,siteId,window.ftr__config.m.csp),d(A,function(e){try{var r=e.getAllResponseHeaders().toLowerCase();if(r.indexOf(U.toLowerCase())>=0){var o=e.getResponseHeader(U);window.ftr__altd2=t(atob(o),-L-1)}if(r.indexOf(F.toLowerCase())<0)return;var i=e.getResponseHeader(F),c=t(atob(i),-L-1);if(c){var a=c.split(":");if(a&&2===a.length){for(var u=a[0],f=a[1],d="",s=0,w=0;s<20;++s)d+=s%3>0&&w<12?siteId.charAt(w++):G.id.charAt(s);var h=f.split(",");if(h.length>1){var m=h[0],v=h[1];D=u+"/"+m+"."+d+"."+v}}}n()}catch(t){}},function(t,n){e&&e(t,n)},r)}};var W=q?B.uFP:B.uDF;J(W),setTimeout(h,I,W)}catch(t){c(B.mLd)}}catch(t){}})();\n';var Sr=Object.freeze({__proto__:null,default:(t,e,o)=>n(void 0,void 0,void 0,(function*(){const{siteId:e}=t,n=Or.replace(/{{SITE_ID}}/g,e),i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("id",e),i.text=n,document.body.appendChild(i),document.addEventListener("ftr:tokenReady",(t=>{o(t.detail)}))}))});const xr=(t,e,o)=>n(void 0,void 0,void 0,(function*(){try{const{publicApiKey:e,useCloudflareIntegration:n,cloudflareScriptUrl:i,cloudflareEndpointUrl:r}=t;let s=[];s=n&&r?[r,en]:[en];let a=[];if(n&&i){const t=new URL(i);a=[`${t.toString()}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,cn]}else a=[cn];const l=dn({apiKey:e,endpoint:s,scriptUrlPattern:a}),c=yield l,{requestId:d}=yield c.get();o(d)}catch(t){console.warn("Could not load fingerprint",t)}}));var Ar=Object.freeze({__proto__:null,default:xr,loadFingerprint:xr});const Ur=(t,e,o)=>n(void 0,void 0,void 0,(function*(){try{const{customDomain:n,publicApiKey:i,cloudflareEndpointPath:r,cloudflareScriptPath:s}=t,{baseUrl:a}=e;let l;l=n?`https://${n}`:a||"https://api.descope.com";const c=new URL(l);c.pathname=r;const d=new URL(l);d.pathname=s;const u=`${d.toString()}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,h=dn({apiKey:i,endpoint:[c.toString(),en],scriptUrlPattern:[u,cn]}),p=yield h,{requestId:f}=yield p.get();o(f)}catch(t){console.warn("Could not load descope fingerprint",t)}}));var Er=Object.freeze({__proto__:null,default:Ur,loadFingerprint:Ur})}();
|
|
3
|
+
function Yt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)e[o]=n[o]}return e}var en=function e(t,n){function o(e,o,i){if("undefined"!=typeof document){"number"==typeof(i=Yt({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var r="";for(var s in i)i[s]&&(r+="; "+s,!0!==i[s]&&(r+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(o,e)+r}}return Object.create({set:o,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],o={},i=0;i<n.length;i++){var r=n[i].split("="),s=r.slice(1).join("=");try{var a=decodeURIComponent(r[0]);if(o[a]=t.read(s,a),e===a)break}catch(e){}}return e?o[e]:o}},remove:function(e,t){o(e,"",Yt({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Yt({},this.attributes,t))},withConverter:function(t){return e(Yt({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});var tn={default:"endpoint"},nn="Blocked by CSP",on="The endpoint parameter is not a valid URL",rn="Failed to load the JS script of the agent",sn="9319";function an(e,t){var n,o,i,r,s=[],a=(n=function(e){var t=function(e,t,n){if(n||2===arguments.length)for(var o,i=0,r=t.length;i<r;i++)!o&&i in t||(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return e.concat(o||Array.prototype.slice.call(t))}([],e,!0);return{current:function(){return t[0]},postpone:function(){var e=t.shift();void 0!==e&&t.push(e)},exclude:function(){t.shift()}}}(e),r=0,o=function(){return Math.random()*Math.min(3e3,100*Math.pow(2,r++))},i=new Set,[n.current(),function(e,t){var r,s=t instanceof Error?t.message:"";if(s===nn||s===on)n.exclude(),r=0;else if(s===sn)n.exclude();else if(s===rn){var a=Date.now()-e.getTime()<50,l=n.current();l&&a&&!i.has(l)&&(i.add(l),r=0),n.postpone()}else n.postpone();var c=n.current();return void 0===c?void 0:[c,null!=r?r:e.getTime()+o()-Date.now()]}]),l=a[0],c=a[1];if(void 0===l)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var d=function(e){var n=new Date,o=function(t){return s.push({url:e,startedAt:n,finishedAt:new Date,error:t})},i=t(e);return i.then((function(){return o()}),o),i.catch((function(e){if(s.length>=5)throw e;var t=c(n,e);if(!t)throw e;var o,i=t[0],r=t[1];return(o=r,new Promise((function(e){return setTimeout(e,o)}))).then((function(){return d(i)}))}))};return d(l).then((function(e){return[e,s]}))}var ln="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",cn=ln;function dn(n){var o;n.scriptUrlPattern;var i=n.token,r=n.apiKey,s=void 0===r?i:r,a=t(n,["scriptUrlPattern","token","apiKey"]),l=null!==(o=function(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}(n,"scriptUrlPattern"))&&void 0!==o?o:ln,c=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,o){return e.addEventListener(t,n,o),function(){return e.removeEventListener(t,n,o)}}(document,"visibilitychange",t);return t(),[e,n]}(),d=c[0],u=c[1];return Promise.resolve().then((function(){if(!s||"string"!=typeof s)throw new Error("API key required");var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?n(t):"<loaderVersion>"===e?n("3.9.9"):e}))}(String(e),t)}))}(l,s);return an(e,un)})).catch((function(e){throw u(),function(e){return e instanceof Error&&e.message===sn?new Error(rn):e}(e)})).then((function(t){var n=t[0],o=t[1];return u(),n.load(e(e({},a),{ldi:{attempts:o,visibilityStates:d}}))}))}function un(e){return function(e,t,n,o){var i,r=document,s="securitypolicyviolation",a=function(t){var n=new URL(e,location.href),o=t.blockedURI;o!==n.href&&o!==n.protocol.slice(0,-1)&&o!==n.origin||(i=t,l())};r.addEventListener(s,a);var l=function(){return r.removeEventListener(s,a)};return null==o||o.then(l,l),Promise.resolve().then(t).then((function(e){return l(),e}),(function(e){return new Promise((function(e){var t=new MessageChannel;t.port1.onmessage=function(){return e()},t.port2.postMessage(null)})).then((function(){if(l(),i)return n(i);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(e){if(e instanceof Error&&"TypeError"===e.name)return!0;throw e}}(e))throw new Error(on);var o=document.createElement("script"),i=function(){var e;return null===(e=o.parentNode)||void 0===e?void 0:e.removeChild(o)},r=document.head||document.getElementsByTagName("head")[0];o.onload=function(){i(),t()},o.onerror=function(){i(),n(new Error(rn))},o.async=!0,o.src=e,r.appendChild(o)}))}(e)}),(function(){throw new Error(nn)})).then(hn)}function hn(){var e=window,t="__fpjs_p_l_b",n=e[t];if(function(e,t){var n,o=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==o?void 0:o.configurable)?delete e[t]:o&&!o.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==n?void 0:n.load))throw new Error(sn);return n}const pn=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,o)=>{var i;return n[o]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[o])||[]).concat((null==t?void 0:t[o])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},fn=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},gn=async e=>{const t=await fn(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},vn="undefined"!=typeof localStorage,mn=(e,t)=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),wn=e=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),bn=e=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),yn=(...e)=>{console.debug(...e)},In="undefined"!=typeof window,kn=Math.pow(2,31)-1,jn="DS",Cn="DSR";function Sn(e=""){return wn(`${e}${Cn}`)||""}function On(e=""){bn(`${e}${Cn}`),bn(`${e}${jn}`),en.remove(jn)}const xn=In&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://api.descope.com",An="fp",Un=(e=!1)=>{const t=localStorage.getItem(An);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},En=async(e,t=xn)=>{try{if(Un())return;const n=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),o=new URL(t);o.pathname="/fXj8gt3x8VulJBna/x96Emn69oZwcd7I6";const i=new URL(t);i.pathname="/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I";const r=i.toString()+"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>",s=dn({apiKey:e,endpoint:[o.toString(),tn],scriptUrlPattern:[r,cn]}),a=await s,{requestId:l}=await a.get({linkedId:n}),c=((e,t)=>({vsid:e,vrid:t}))(n,l);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem(An,JSON.stringify(t))})(c)}catch(e){console.warn("Could not load fingerprint",e)}},Tn=e=>{const t=Un(!0);return t&&e.body&&(e.body.fpData=t),e},Ln="dls_last_user_login_id",_n="dls_last_user_display_name",Rn=()=>wn(Ln),Pn=()=>wn(_n),$n=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=Rn(),r=Pn();return i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r),await e(...t)};function Mn(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}async function Dn(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=Vn(n.publicKey.challenge),n.publicKey.user.id=Vn(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=Vn(e.id)})),n}(e);return n=await navigator.credentials.create(t),JSON.stringify({id:n.id,rawId:Kn(n.rawId),type:n.type,response:{attestationObject:Kn(n.response.attestationObject),clientDataJSON:Kn(n.response.clientDataJSON)}});var n}async function qn(e){const t=Fn(e);return Bn(await navigator.credentials.get(t))}async function Nn(e,t){const n=Fn(e);return n.signal=t.signal,n.mediation="conditional",Bn(await navigator.credentials.get(n))}async function Wn(e=!1){if(!In)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function Fn(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=Vn(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=Vn(e.id)})),n}function Bn(e){return JSON.stringify({id:e.id,rawId:Kn(e.rawId),type:e.type,response:{authenticatorData:Kn(e.response.authenticatorData),clientDataJSON:Kn(e.response.clientDataJSON),signature:Kn(e.response.signature),userHandle:e.response.userHandle?Kn(e.response.userHandle):void 0}})}function Vn(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function Kn(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var Hn,Jn=(Hn=e=>({async signUp(t,n){const o=await e.webauthn.signUp.start(t,window.location.origin,n);if(!o.ok)return o;const i=await Dn(o.data.options);return await e.webauthn.signUp.finish(o.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const o=await qn(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,o)},async signUpOrIn(t){var n;const o=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!o.ok)return o;if(null===(n=o.data)||void 0===n?void 0:n.create){const t=await Dn(o.data.options);return await e.webauthn.signUp.finish(o.data.transactionId,t)}{const t=await qn(o.data.options);return await e.webauthn.signIn.finish(o.data.transactionId,t)}},async update(t,n){const o=await e.webauthn.update.start(t,window.location.origin,n);if(!o.ok)return o;const i=await Dn(o.data.options);return await e.webauthn.update.finish(o.data.transactionId,i)},helpers:{create:Dn,get:qn,isSupported:Wn,conditional:Nn}}),(...e)=>{const t=Hn(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t});const Gn="/fedcm/config",zn=(e,t)=>({async oneTap(t,n,o,i){const r=null!=t?t:"google",s=await e.oauth.startNative(r,o,!0);if(!s.ok)return s;const{clientId:a,stateId:l,nonce:c}=s.data,d=await async function(){return new Promise(((e,t)=>{if(window.google)return void e(window.google.accounts.id);let n=document.getElementById("google-gsi-client-script");n||(n=document.createElement("script"),document.head.appendChild(n),n.async=!0,n.defer=!0,n.id="google-gsi-client-script",n.src="https://accounts.google.com/gsi/client"),n.onload=function(){window.google?e(window.google.accounts.id):t("Failed to load Google GSI client script - not loaded properly")},n.onerror=function(){t("Failed to load Google GSI client script - failed to load")}}))}();return new Promise((t=>{var o,s;d.initialize(Object.assign(Object.assign({},n),{itp_support:null===(o=null==n?void 0:n.itp_support)||void 0===o||o,use_fedcm_for_prompt:null===(s=null==n?void 0:n.use_fedcm_for_prompt)||void 0===s||s,client_id:a,callback:n=>{t(e.oauth.finishNative(r,l,"","",n.credential))},nonce:c})),d.prompt((e=>{(null==e?void 0:e.isSkippedMoment())&&(null==i||i())}))}))},async launch(n){var o;const i={identity:{context:n||"signin",providers:[{configURL:e.httpClient.buildUrl(t+Gn),clientId:t}]}},r=await(null===(o=navigator.credentials)||void 0===o?void 0:o.get(i));return e.refresh(r.token)},isSupported:()=>In&&"IdentityCredential"in window});var Xn=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await Wn(),o=Object.assign(Object.assign({location:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n},startOptionsVersion:1});return t[1]=o,e.flow.start(...t)}});const Qn=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((e=>n=>{var{fpKey:o,fpLoad:i}=n,r=t(n,["fpKey","fpLoad"]);return In?(o&&i&&En(o).catch((()=>null)),e(pn(r,{beforeRequest:Tn}))):e(r)}),(e=>n=>{var{autoRefresh:o}=n,i=t(n,["autoRefresh"]);if(!o)return e(i);const{clearAllTimers:r,setTimer:s}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let a,c;In&&document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&new Date>a&&(yn("Expiration time passed, refreshing session"),d.refresh(Sn()||c))}));const d=e(pn(i,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:o}=await fn(t);if(401===(null==t?void 0:t.status))yn("Received 401, canceling all timers"),r();else if(o){if(a=(e=>{try{const t=l(e);if(t.exp)return new Date(1e3*t.exp)}catch(e){return null}})(o),!a)return void yn("Could not extract expiration time from session token");c=n;let e=((i=a)?i.getTime()-(new Date).getTime():0)-2e4;e>kn&&(yn(`Timeout is too large (${e}ms), setting it to ${kn}ms`),e=kn),r();const t=new Date(Date.now()+e).toLocaleTimeString("en-US",{hour12:!1});yn(`Setting refresh timer for ${t}. (${e}ms)`),s((()=>{yn("Refreshing session due to timer"),d.refresh(Sn()||n)}),e)}var i}}));return Be(d,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return yn("Clearing all timers"),r(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.16.1"},t.baseHeaders)}))),(e=>t=>{const n=Mn(),o=Mn(),i=e(pn(t,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))n.pub(null),o.pub(null);else{const e=await gn(t);e&&o.pub(e);const{sessionJwt:i}=await fn(t);i&&n.pub(i)}}})),r=Be(i,["logout","logoutAll"],(e=>async(...t)=>{const i=await e(...t);return n.pub(null),o.pub(null),i}));return Object.assign(r,{onSessionTokenChange:n.sub,onUserChange:o.sub})}),(e=>n=>{var{storeLastAuthenticatedUser:o=!0,keepLastAuthenticatedUserAfterLogout:i=!1}=n,r=t(n,["storeLastAuthenticatedUser","keepLastAuthenticatedUserAfterLogout"]);if(!o)return Object.assign(e(r),{getLastUserLoginId:Rn,getLastUserDisplayName:Pn});const s=e(pn(r,{afterRequest:async(e,t)=>{var n;const o=await gn(t),i=null===(n=null==o?void 0:o.loginIds)||void 0===n?void 0:n[0],r=null==o?void 0:o.name;i&&((e=>{mn(Ln,e)})(i),(e=>{mn(_n,e)})(r))}}));let a=Be(s,["flow.start"],$n);return a=Be(a,["logout","logoutAll"],(e=>t=>async(...n)=>{const o=await t(...n);return e||(bn(Ln),bn(_n)),o})(i)),Object.assign(a,{getLastUserLoginId:Rn,getLastUserDisplayName:Pn})}),(e=>n=>{var{persistTokens:o,sessionTokenViaCookie:i,storagePrefix:r}=n,s=t(n,["persistTokens","sessionTokenViaCookie","storagePrefix"]);if(!o||!In)return e(s);const a=e(pn(s,{beforeRequest:(l=r,e=>Object.assign(e,{token:e.token||Sn(l)})),afterRequest:async(e,n)=>{const o=/^\/v\d+\/mgmt\//.test(e.path);401===(null==n?void 0:n.status)?o||On(r):((e={},n,o)=>{var{refreshJwt:i,sessionJwt:r}=e,s=t(e,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),void 0===o&&(o=""),i&&mn(`${o}${Cn}`,i),r&&(n?function(e,t,{cookiePath:n,cookieDomain:o,cookieExpiration:i}){if(t){const r=new Date(1e3*i),s=function(e){const t=window.location.hostname.split("."),n=e.split(".");return t.slice(-n.length).join(".")===e}(o);en.set(e,t,{path:n,domain:s?o:void 0,expires:r,sameSite:"Strict",secure:!0})}}(jn,r,s):mn(`${o}${jn}`,r))})(await fn(n),i,r)}}));var l;const c=Be(a,["logout","logoutAll"],(e=>t=>async(...n)=>{const o=await t(...n);return On(e),o})(r));return Object.assign(c,{getRefreshToken:()=>Sn(r),getSessionToken:()=>function(e=""){return en.get(jn)||wn(`${e}${jn}`)||""}(r)})}))(((...e)=>{const t=Zt(...e);return Object.assign(Object.assign({},t),{flow:Xn(t),webauthn:Jn(t),fedcm:zn(t,e[0].projectId)})})),Zn="undefined"!=typeof localStorage,Yn="J151000",eo=Zn&&localStorage.getItem("base.content.url")||"",to="config.json",no="base.ui.components.url",oo=Zn&&localStorage.getItem(no)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",io=Zn&&localStorage.getItem(no)||"https://cdn.jsdelivr.net/npm/@descope/web-components-ui@<version>/dist/umd/index.js",ro="descope-login-flow",so="code",ao="ra-challenge",lo="ra-callback",co="ra-backup-callback",uo="ra-initiator",ho="data-exclude-field",po="dls_last_auth",fo="state_id",go="saml_idp_state_id",vo="saml_idp_username",mo="descope_idp_initiated",wo="sso_app_id",bo="oidc_login_hint",yo="oidc_prompt",Io="oidc_error_redirect_uri",ko="data-type",jo="redirect",Co="poll",So="webauthnCreate",Oo="webauthnGet",xo="loadForm",Ao="submit",Uo="polling",Eo=["descope-multi-select-combo-box","descope-text-area"];var To;function Lo(e){return new URLSearchParams(window.location.search).get(e)}function _o(e){if(window.history.replaceState&&Lo(e)){const t=new URL(window.location.href),n=new URLSearchParams(t.search);n.delete(e),t.search=n.toString(),window.history.replaceState({},"",t.toString())}}function Ro(e,t){return n(this,void 0,void 0,(function*(){const n=yield fetch(e,{cache:"default"});if(!n.ok)throw Error(`Error fetching URL ${e} [${n.status}]`);return{body:yield n[t||"text"](),headers:Object.fromEntries(n.headers.entries())}}))}!function(e){e.backward="backward",e.forward="forward"}(To||(To={}));function Po({projectId:e,filename:t,assetsFolder:n="v2-beta",baseUrl:o}){const i=new URL(eo||o||"https://static.descope.com/pages");return i.pathname=((...e)=>e.join("/").replace(/\/+/g,"/"))(i.pathname,e,n,t),i.toString()}function $o(e,t){if(!t)return;const n=+e,o=+t;return Number.isNaN(n)||Number.isNaN(o)?void 0:n>o?To.forward:n<o?To.backward:void 0}const Mo=()=>{const[e="",t=""]=(Lo(ro)||"").split("_");return{executionId:e,stepId:t}};function Do(){_o(ro)}const qo=e=>e.replace(/-./g,(e=>e[1].toUpperCase())),No=()=>{const{executionId:e,stepId:t}=Mo();(e||t)&&Do();const n=Lo("t")||void 0;n&&_o("t");const o=Lo(so)||void 0;o&&_o(so);const i=Lo("err")||void 0;i&&_o("err");const{redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:Lo(ao),redirectAuthCallbackUrl:Lo(lo),redirectAuthBackupCallbackUri:Lo(co),redirectAuthInitiator:Lo(uo)};(r||s||a||l)&&(_o(ao),_o(lo),_o(co),_o(uo));const c=Lo(fo);c&&_o(fo);const d=Lo(go);d&&_o(go);const u=Lo(vo);d&&_o(vo);const h=Lo(mo);h&&_o(mo);const p=Lo(wo);p&&_o(wo);const f=Lo(bo);f&&_o(bo);const g=Lo(yo);g&&_o(yo);const v=Lo(Io);v&&_o(Io);return{executionId:e,stepId:t,token:n,code:o,exchangeError:i,redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,ssoQueryParams:{oidcIdpStateId:c,samlIdpStateId:d,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:p,oidcLoginHint:f,oidcPrompt:g,oidcErrorRedirectUri:v}}},Wo=e=>{let t,n;return(...o)=>{return t&&(r=o,(i=t).length===r.length&&i.every(((e,t)=>e===r[t])))||(t=o,n=e(...o)),n;var i,r}};const Fo=(e,{oidcIdpStateId:t,samlIdpStateId:n,samlIdpUsername:o,ssoAppId:i,oidcLoginHint:r,oidcPrompt:s,oidcErrorRedirectUri:a})=>!(!e||t||n||o||i||r||s||a),Bo=e=>null==e?void 0:e.submit(),Vo=(e,t)=>{const n=t.find((t=>e[t]));return n?e[n]:null},Ko=(e,t=100)=>{let n;return function(...o){n||e.apply(this,o),clearTimeout(n),n=setTimeout((()=>{n=null}),t)}};function Ho(e){let t=navigator.language;return t&&"zh-TW"!==t&&(t=t.split("-")[0]),(e||t||"").toLowerCase()}var Jo,Go,zo,Xo;function Qo(e,t){const n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);if(n.length!==o.length)return!1;for(let o=0;o<n.length;o+=1){const i=n[o],r=e[i],s=t[i];if(null===r||null===s){if(r!==s)return!1}else if("object"==typeof r&&"object"==typeof s){if(!Qo(r,s))return!1}else if(r!==s)return!1}return!0}class Zo{constructor(e={},{updateOnlyOnChange:t=!0}={}){Jo.set(this,void 0),Go.set(this,{}),zo.set(this,0),Xo.set(this,!1),this.update=e=>{const t="function"==typeof e?e(o(this,Jo,"f")):e,n=Object.assign(Object.assign({},o(this,Jo,"f")),t);if(!o(this,Xo,"f")||!Qo(o(this,Jo,"f"),n)){const e=o(this,Jo,"f");i(this,Jo,n,"f"),Object.freeze(o(this,Jo,"f")),setTimeout((()=>{Object.values(o(this,Go,"f")).forEach((t=>t(n,e,((e,t)=>n=>e[n]!==t[n])(n,e))))}),0)}},i(this,Jo,e,"f"),i(this,Xo,t,"f")}get current(){return Object.assign({},o(this,Jo,"f"))}subscribe(e){return i(this,zo,o(this,zo,"f")+1,"f"),o(this,Go,"f")[o(this,zo,"f")]=e,o(this,zo,"f").toString()}unsubscribe(e){const t=!!o(this,Go,"f")[e];return t&&delete o(this,Go,"f")[e],t}unsubscribeAll(){return i(this,Go,{},"f"),!0}}Jo=new WeakMap,Go=new WeakMap,zo=new WeakMap,Xo=new WeakMap;const Yo=["disabled"],ei=(e,t)=>{Object.entries(t||{}).forEach((([t,n])=>{Array.from(e.querySelectorAll(`*[name="${t}"]:not([${ho}])`)).forEach((e=>{e.value=n}))}))},ti=(e,t)=>e.replace(/{{(.+?)}}/g,((e,n)=>{return o=t,n.split(".").reduce(((e,t)=>(null==e?void 0:e[t])||""),o);var o})),ni=(e,t,n)=>{e.querySelectorAll(`[${ko}="${t}"]`).forEach((e=>{e.setAttribute("href",n)}))},oi=(e,t,n)=>{var o,i;const r=null===(o=customElements.get(t))||void 0===o?void 0:o.cssVarList.url;n&&r&&(null===(i=null==e?void 0:e.style)||void 0===i||i.setProperty(r,`url(data:image/jpg;base64,${n})`))},ii=(e,t,n,o,i,r)=>{var s,a;let l=null==t?void 0:t.errorText;try{l=(null==i?void 0:i({text:null==t?void 0:t.errorText,type:null==t?void 0:t.errorType}))||(null==t?void 0:t.errorText)}catch(e){r.error("Error transforming error message",e.message)}((e,t,n="")=>{e.querySelectorAll(`[${ko}="${t}"]`).forEach((e=>{e.textContent=n,e.classList[n?"remove":"add"]("hide")}))})(e,"error-message",l),ni(e,"totp-link",null===(s=null==t?void 0:t.totp)||void 0===s?void 0:s.provisionUrl),ni(e,"notp-link",null===(a=null==t?void 0:t.notp)||void 0===a?void 0:a.redirectUrl),((e,t)=>{e.querySelectorAll("descope-text,descope-link,descope-enriched-text,descope-code-snippet").forEach((e=>{e.textContent=ti(e.textContent,t);const n=e.getAttribute("href");n&&e.setAttribute("href",ti(n,t))}))})(e,t),((e,t,n)=>{t&&Object.keys(t).forEach((o=>{e.querySelectorAll(`[name=${o}]`).forEach((e=>{const i=t[o];Object.keys(i).forEach((t=>{let o=i[t];if("string"!=typeof o)try{o=JSON.stringify(o)}catch(e){n.error(`Could not stringify value "${o}" for "${t}"`,e.message),o=""}e.setAttribute(t,o)}))}))}))})(e,n,r),((e,t)=>{e.querySelectorAll("[data-has-dynamic-attr-values]").forEach((e=>{Array.from(e.attributes).forEach((e=>{e.value=ti(e.value,t)}))}))})(e,t),((e,t)=>{Object.entries(t).forEach((([t,n])=>{e.querySelectorAll(`[name="${t}"]`).forEach((e=>{Object.entries(n).forEach((([t,n])=>{Yo.includes(t)&&e.setAttribute(t,n)}))}))}))})(e,o)},ri=Wo((()=>n(void 0,void 0,void 0,(function*(){var e,t,n,o,i;if(!window.PublicKeyCredential||!PublicKeyCredential.isConditionalMediationAvailable||!PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)return!1;try{const r=Promise.all([null===(e=window.PublicKeyCredential)||void 0===e?void 0:e.isConditionalMediationAvailable(),null===(t=window.PublicKeyCredential)||void 0===t?void 0:t.isUserVerifyingPlatformAuthenticatorAvailable()]).then((e=>e.every((e=>!!e)))),s=(()=>{var e;const t=null===(e=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===e?void 0:e.brands,n=null==t?void 0:t.find((({brand:e,version:t})=>"Chromium"===e&&parseFloat(t)));return n?n.version:0})()>=108;return yield(n=100,o=r,i=s,new Promise(((e,t)=>{let r=!1;const s=setTimeout((()=>{r=!0,void 0!==i?e(i):t(new Error(`Promise timed out after ${n} ms`))}),n);o.then((t=>{r||(clearTimeout(s),e(t))})).catch((e=>{r||(clearTimeout(s),t(e))}))})))}catch(e){return console.error("Conditional login check failed",e),!1}})))),si=(e,t,n,o={})=>{var i,r,s,a;return[Math.min(Math.max(t,("all"===o.left?e.offsetWidth:null!==(i=o.left)&&void 0!==i?i:0)-e.offsetWidth),window.innerWidth-("all"===o.right?e.offsetWidth:null!==(r=o.right)&&void 0!==r?r:0)),Math.min(Math.max(n,("all"===o.top?e.offsetHeight:null!==(s=o.top)&&void 0!==s?s:0)-e.offsetHeight),window.innerHeight-("all"===o.bottom?e.offsetHeight:null!==(a=o.bottom)&&void 0!==a?a:0))]},ai={"lastAuth.loginId":{"not-empty":e=>!!e.loginId,empty:e=>!e.loginId},idpInitiated:{"is-true":e=>!!e.code,"is-false":e=>!e.code},externalToken:{"is-true":e=>!!e.token,"is-false":e=>!e.token},abTestingKey:{"greater-than":(e,t)=>(e.abTestingKey||0)>t,"less-than":(e,t)=>(e.abTestingKey||0)<t}};function li(e){const t={};if(e)try{Object.assign(t,JSON.parse(localStorage.getItem(po)))}catch(e){}return t}const ci="dls_ab_testing_id",di=document.createElement("template");di.innerHTML='\n\t<style>\n\t\t:host {\n all: initial;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n display: block;\n\t\t}\n\n\t\t#wc-root {\n\t\t\theight: 100%;\n\t\t\ttransition: opacity 300ms ease-in-out;\n display: flex;\n\t\t}\n\n\t\t#wc-root[data-theme] {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t.fade-out {\n\t\t\topacity: 0.1;\n\t\t}\n\n\t</style>\n\t<div id="wc-root"></div>\n\t';const ui=(e,t="")=>Object.keys(e).reduce(((n,o)=>{var i;if("object"==typeof e[o]&&null!==e[o]&&!(null===(i=e[o])||void 0===i?void 0:i.value))return Object.assign(Object.assign({},n),ui(e[o],`${t+o}.`));const r="object"==typeof e[o]?e[o]:{value:e[o]},s=Object.assign(Object.assign({},n),{[t+o]:r,[`form.${t}${o}`]:r});return"displayName"===o?Object.assign(Object.assign({},s),{[`${t}fullName`]:r,[`form.${t}fullName`]:r}):s}),[]);var hi,pi,fi,gi,vi,mi,wi,bi,yi,Ii,ki,ji,Ci,Si,Oi,xi,Ai,Ui,Ei,Ti,Li,_i,Ri,Pi,$i,Mi,Di,qi,Ni,Wi,Fi,Bi,Vi,Ki,Hi,Ji,Gi,zi,Xi,Qi,Zi,Yi,er,tr,nr,or,ir,rr,sr,ar,lr,cr,dr,ur,hr,pr,fr,gr,vr,mr,wr,br;class yr extends HTMLElement{static get observedAttributes(){return["project-id","flow-id","base-url","tenant","theme","locale","debug","storage-prefix","preview","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","validate-on-blur"]}constructor(e){super(),hi.add(this),this.logger=console,fi.set(this,!1),this.loggerWrapper={error:(e,t="")=>{this.logger.error(e,t,new Error),o(this,hi,"m",Ni).call(this,e,t)},warn:(e,t="")=>{this.logger.warn(e,t)},info:(e,t="",n={})=>{this.logger.info(e,t,n)},debug:(e,t="")=>{this.logger.debug(e,t)}},gi.set(this,new Zo),vi.set(this,new Zo),mi.set(this,{}),this.getComponentsContext=()=>o(this,mi,"f"),this.nextRequestStatus=new Zo({isLoading:!1}),wi.set(this,void 0),bi.set(this,{popstate:o(this,hi,"m",Si).bind(this),componentsContext:o(this,hi,"m",$i).bind(this)}),yi.set(this,void 0),Ei.set(this,Wo((()=>n(this,void 0,void 0,(function*(){const e=Po({projectId:this.projectId,filename:to,baseUrl:this.baseStaticUrl});try{const{body:t,headers:n}=yield Ro(e,"json");return{projectConfig:t,executionContext:{geo:n["x-geo"]}}}catch(e){return{isMissingConfig:!0}}}))))),Li.set(this,void 0),i(this,yi,e,"f"),o(this,hi,"m",Ii).call(this)}get projectId(){return this.getAttribute("project-id")}get flowId(){return this.getAttribute("flow-id")}get client(){try{return JSON.parse(this.getAttribute("client"))||{}}catch(e){return{}}}get baseUrl(){return this.getAttribute("base-url")||void 0}get baseStaticUrl(){return this.getAttribute("base-static-url")}get tenant(){return this.getAttribute("tenant")||void 0}get redirectUrl(){return this.getAttribute("redirect-url")||void 0}get debug(){return"true"===this.getAttribute("debug")}get locale(){return this.getAttribute("locale")||void 0}get theme(){var e,t;const n=this.getAttribute("theme");if("os"===n){return window.matchMedia&&(null===(t=null===(e=window.matchMedia)||void 0===e?void 0:e.call(window,"(prefers-color-scheme: dark)"))||void 0===t?void 0:t.matches)?"dark":"light"}return n||"light"}get autoFocus(){var e;const t=null!==(e=this.getAttribute("auto-focus"))&&void 0!==e?e:"true";return"skipFirstScreen"===t?t:"true"===t}get validateOnBlur(){return"true"===this.getAttribute("validate-on-blur")}get storeLastAuthenticatedUser(){var e;return"true"===(null!==(e=this.getAttribute("store-last-authenticated-user"))&&void 0!==e?e:"true")}get keepLastAuthenticatedUserAfterLogout(){return"true"===this.getAttribute("keep-last-authenticated-user-after-logout")}get storagePrefix(){return this.getAttribute("storage-prefix")||""}get preview(){return!!this.getAttribute("preview")}get formConfig(){return(e=>{try{return ui(JSON.parse(e))}catch(e){return{}}})(this.form)}get form(){return this.getAttribute("form")}get formConfigValues(){return e=this.formConfig,t="value",Object.fromEntries(Object.entries(e).map((([e,n])=>[e,n[t]])));var e,t}getExecutionContext(){return n(this,void 0,void 0,(function*(){const{executionContext:e}=yield o(this,Ei,"f").call(this);return e}))}getProjectConfig(){return n(this,void 0,void 0,(function*(){const{projectConfig:e}=yield o(this,Ei,"f").call(this);return e}))}getFlowConfig(){return n(this,void 0,void 0,(function*(){var e,t;const n=yield this.getProjectConfig(),o=(null===(e=null==n?void 0:n.flows)||void 0===e?void 0:e[this.flowId])||{};return null!==(t=o.version)&&void 0!==t||(o.version=0),o}))}getTargetLocales(){return n(this,void 0,void 0,(function*(){const e=yield this.getFlowConfig();return((null==e?void 0:e.targetLocales)||[]).map((e=>e.toLowerCase()))}))}connectedCallback(){return n(this,void 0,void 0,(function*(){if(this.shadowRoot.isConnected){if(o(this,vi,"f").subscribe(o(this,hi,"m",qi).bind(this)),o(this,vi,"f").update({isDebug:this.debug}),o(this,hi,"m",ki).call(this))return void o(this,hi,"m",ji).call(this);if(o(this,hi,"m",Ci).call(this),i(this,Li,o(this,hi,"m",Ti).call(this),"f"),yield o(this,hi,"m",Ai).call(this))return void this.loggerWrapper.error("This SDK version does not support your flows version","Make sure to upgrade your flows to the latest version or use an older SDK version");if((yield o(this,Ei,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");o(this,hi,"m",_i).call(this),yield o(this,hi,"m",Bi).call(this),yield o(this,hi,"m",Ri).call(this),o(this,hi,"m",Wi).call(this);const{executionId:e,stepId:t,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:c,redirectAuthInitiator:d,ssoQueryParams:u}=No();window.addEventListener("popstate",o(this,bi,"f").popstate),window.addEventListener("components-context",o(this,bi,"f").componentsContext),o(this,gi,"f").subscribe(o(this,hi,"m",xi).bind(this)),o(this,gi,"f").update(Object.assign({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenant,redirectUrl:this.redirectUrl,locale:this.locale,stepId:t,executionId:e,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:c,redirectAuthInitiator:d},u)),i(this,fi,!0,"f")}}))}disconnectedCallback(){o(this,gi,"f").unsubscribeAll(),o(this,vi,"f").unsubscribeAll(),o(this,hi,"m",Di).call(this),window.removeEventListener("popstate",o(this,bi,"f").popstate),window.removeEventListener("components-context",o(this,bi,"f").componentsContext)}attributeChangedCallback(e,t,n){if(this.shadowRoot.isConnected&&o(this,fi,"f")&&t!==n&&pi.observedAttributes.includes(e)){o(this,hi,"m",Ci).call(this);const i=null===t;o(this,gi,"f").update((({stepId:t,executionId:o})=>{let r=t,s=o;return i||(s=null,r=null,Do()),{[qo(e)]:n,stepId:r,executionId:s}})),o(this,vi,"f").update({isDebug:this.debug}),"theme"===e&&o(this,hi,"m",Mi).call(this)}}}function Ir(e,t){return`sdkScriptsResults.${t?`${e}_${t}`:e}`}pi=yr,fi=new WeakMap,gi=new WeakMap,vi=new WeakMap,mi=new WeakMap,wi=new WeakMap,bi=new WeakMap,yi=new WeakMap,Ei=new WeakMap,Li=new WeakMap,hi=new WeakSet,Ii=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(di.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},ki=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},ji=function(){const e=this.shadowRoot.host,t=document.createElement("form");t.style.width="100%",t.style.height="100%",e.parentElement.appendChild(t),t.appendChild(e)},Ci=function(){const e=["base-url","tenant","theme","locale","debug","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","preview","storage-prefix","form","client","validate-on-blur"];if(pi.observedAttributes.forEach((t=>{if(!e.includes(t)&&!this[qo(t)])throw Error(`${t} cannot be empty`)})),this.theme&&"light"!==this.theme&&"dark"!==this.theme)throw Error('Supported theme values are "light", "dark", or leave empty for using the OS theme')},Si=function(){const{stepId:e,executionId:t}=Mo();o(this,gi,"f").update({stepId:e,executionId:t})},Oi=function(e,t){this.sdk=Qn(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},pi.sdkConfigOverrides),{projectId:e,baseUrl:t})),["start","next"].forEach((e=>{const t=this.sdk.flow[e];this.sdk.flow[e]=(...e)=>n(this,void 0,void 0,(function*(){this.nextRequestStatus.update({isLoading:!0});try{return yield t(...e)}catch(e){return{error:{errorCode:Yn,errorDescription:e.toString()}}}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},xi=function(e,t,i){return n(this,void 0,void 0,(function*(){const{projectId:t,baseUrl:n}=e;if(i("projectId")||i("baseUrl")){if(!t)return;o(this,hi,"m",Oi).call(this,t,n)}o(this,yi,"f").call(this,e)}))},Ai=function(){return n(this,void 0,void 0,(function*(){return(yield o(this,Ei,"f").call(this)).isMissingConfig&&(yield o(this,hi,"m",Ui).call(this))}))},Ui=function(){return n(this,void 0,void 0,(function*(){const e=Po({projectId:this.projectId,filename:to,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield Ro(e,"json"),!0}catch(e){return!1}}))},Ti=function(){return n(this,void 0,void 0,(function*(){const e=Po({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:t}=yield Ro(e,"json");return t}catch(e){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},_i=function(){return n(this,void 0,void 0,(function*(){var e,t;const{projectConfig:n}=yield o(this,Ei,"f").call(this),i=null===(t=null===(e=null==n?void 0:n.cssTemplate)||void 0===e?void 0:e[this.theme])||void 0===t?void 0:t.fonts;i&&Object.values(i).forEach((e=>(e=>{if(!e)return;const t=document.createElement("link");t.href=e,t.rel="stylesheet",document.head.appendChild(t)})(e.url)))}))},Ri=function(){return n(this,void 0,void 0,(function*(){yield o(this,hi,"m",Pi).call(this),yield o(this,hi,"m",Mi).call(this)}))},Pi=function(){return n(this,void 0,void 0,(function*(){var e,t,n,i;const r=document.createElement("style"),s=yield o(this,Li,"f");r.innerText=((null===(e=null==s?void 0:s.light)||void 0===e?void 0:e.globals)||"")+((null===(t=null==s?void 0:s.dark)||void 0===t?void 0:t.globals)||"");const a=yield pi.descopeUI;(null==a?void 0:a.componentsThemeManager)&&!a.componentsThemeManager.hasThemes&&(a.componentsThemeManager.themes={light:null===(n=null==s?void 0:s.light)||void 0===n?void 0:n.components,dark:null===(i=null==s?void 0:s.dark)||void 0===i?void 0:i.components}),this.shadowRoot.appendChild(r)}))},$i=function(e){i(this,mi,Object.assign(Object.assign({},o(this,mi,"f")),e.detail),"f")},Mi=function(){return n(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const e=yield pi.descopeUI;(null==e?void 0:e.componentsThemeManager)&&(e.componentsThemeManager.currentThemeName=this.theme)}))},Di=function(){var e;null===(e=o(this,wi,"f"))||void 0===e||e.remove(),i(this,wi,null,"f")},qi=function(e){return n(this,arguments,void 0,(function*({isDebug:e}){e?(i(this,wi,document.createElement("descope-debugger"),"f"),Object.assign(o(this,wi,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield Promise.resolve().then((function(){return Sr})),document.body.appendChild(o(this,wi,"f"))):o(this,hi,"m",Di).call(this)}))},Ni=function(e,t){var n;e&&this.debug&&(null===(n=o(this,wi,"f"))||void 0===n||n.updateData({title:e,description:t}))},Wi=function(){this.rootElement.onkeydown=e=>{var t,n,o;const i=!!(null===(t=this.shadowRoot.activeElement)||void 0===t?void 0:t.getAttribute("href")),r=Eo.includes(null!==(o=null===(n=this.shadowRoot.activeElement)||void 0===n?void 0:n.localName)&&void 0!==o?o:"");if("Enter"!==e.key||i||r)return;e.preventDefault();const s=this.rootElement.querySelectorAll("descope-button");if(1===s.length&&"false"!==s[0].getAttribute("auto-submit"))return void s[0].click();const a=Array.from(s).filter((e=>"true"===e.getAttribute("auto-submit")));if(1===a.length)return void a[0].click();const l=Array.from(s).filter((e=>"button"===e.getAttribute("data-type")));if(1===l.length)"false"!==l[0].getAttribute("auto-submit")&&l[0].click();else if(0===l.length){const e=Array.from(s).filter((e=>"sso"===e.getAttribute("data-type")));1===e.length&&"false"!==e[0].getAttribute("auto-submit")&&e[0].click()}}},Fi=function(){return n(this,void 0,void 0,(function*(){var e,t;const n=null===(t=null===(e=yield o(this,Ei,"f").call(this))||void 0===e?void 0:e.projectConfig)||void 0===t?void 0:t.componentsVersion;return n||(this.logger.error("Did not get components version, using latest version"),"latest")}))},Bi=function(){return n(this,void 0,void 0,(function*(){pi.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):pi.descopeUI=new Promise((e=>{if(globalThis.DescopeUI)return void e(globalThis.DescopeUI);const t=e=>{const t=document.createElement("script");return t.id="load-descope-ui",t.src=e,t},i=(e,t)=>e.replace("<version>",t),r=(t,n)=>{const o=()=>{this.loggerWrapper.error("Cannot load DescopeUI",`Make sure this URL is valid and return the correct script: "${t.src}"`),n()};t.addEventListener("load",(()=>{globalThis.DescopeUI||o(),e(globalThis.DescopeUI)})),t.addEventListener("error",o)};(()=>{n(this,void 0,void 0,(function*(){const n=yield o(this,hi,"m",Fi).call(this),s=t(i(oo,n));r(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const o=t(i(io,n));r(o,(()=>{e(void 0)})),document.body.append(o)})),document.body.append(s)}))})()}))}))},yr.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.22.2"}};class kr extends yr{static set sdkConfigOverrides(e){yr.sdkConfigOverrides=e}constructor(){const e=new Zo({deferredRedirect:!1});super(e.update.bind(e)),Vi.add(this),this.stepState=new Zo({},{updateOnlyOnChange:!1}),Ki.set(this,void 0),Hi.set(this,null),Ji.set(this,{visibilitychange:o(this,Vi,"m",Gi).bind(this)}),zi.set(this,((e,t,r,s,a)=>{r===Co&&(this.logger.debug("polling - Scheduling polling request"),i(this,Ki,setTimeout((()=>n(this,void 0,void 0,(function*(){var n,i;this.logger.debug("polling - Calling next");const l=yield this.sdk.flow.next(e,t,Uo,s,a,{});if((null===(n=null==l?void 0:l.error)||void 0===n?void 0:n.errorCode)===Yn)return this.logger.debug("polling - Got a generic error due to exception in fetch call"),void o(this,zi,"f").call(this,e,t,r,s,a);this.logger.debug("polling - Got a response"),(null==l?void 0:l.error)&&this.logger.debug("polling - Response has an error",JSON.stringify(l.error,null,4)),o(this,Qi,"f").call(this,l);const{action:c}=null!==(i=null==l?void 0:l.data)&&void 0!==i?i:{};o(this,zi,"f").call(this,e,t,c,s,a)}))),2e3),"f"))})),Xi.set(this,(()=>{clearTimeout(o(this,Ki,"f")),i(this,Ki,null,"f")})),Qi.set(this,(e=>{var t,n,i,r,s,a,l,c,d,u,h;if(!(null==e?void 0:e.ok)){const a=null===(t=null==e?void 0:e.response)||void 0===t?void 0:t.url,l=`${null===(n=null==e?void 0:e.response)||void 0===n?void 0:n.status} - ${null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.statusText}`;return o(this,Vi,"m",cr).call(this,"error",(null==e?void 0:e.error)||{errorCode:"J151001",errorDescription:l,errorMessage:a}),void this.loggerWrapper.error((null===(r=null==e?void 0:e.error)||void 0===r?void 0:r.errorDescription)||a,(null===(s=null==e?void 0:e.error)||void 0===s?void 0:s.errorMessage)||l)}null===(l=null===(a=e.data)||void 0===a?void 0:a.runnerLogs)||void 0===l||l.forEach((e=>{const{level:t,title:n,log:o}=e;t&&this.loggerWrapper[t]?this.loggerWrapper[t](n,o):this.loggerWrapper.info(n,o)}));const p=null===(u=null===(d=null===(c=e.data)||void 0===c?void 0:c.screen)||void 0===d?void 0:d.state)||void 0===u?void 0:u.errorText;(null===(h=e.data)||void 0===h?void 0:h.error)?this.loggerWrapper.error(`[${e.data.error.code}]: ${e.data.error.description}`,`${p?`${p} - `:""}${e.data.error.message}`):p&&this.loggerWrapper.error(p);const{status:f,authInfo:g,lastAuth:v}=e.data;if("completed"===f)return this.storeLastAuthenticatedUser&&function(e){(null==e?void 0:e.authMethod)&&Zn&&localStorage.setItem(po,JSON.stringify(e))}(v),void o(this,Vi,"m",cr).call(this,"success",g);const{executionId:m,stepId:w,stepName:b,action:y,screen:I,redirect:k,openInNewTabUrl:j,webauthn:C,error:S,samlIdpResponse:O}=e.data;y!==Co?(this.loggerWrapper.info(`Step "${b||`#${w}`}" is ${f}`,"",{screen:I,status:f,stepId:w,stepName:b,action:y,error:S}),this.flowState.update({stepId:w,executionId:m,action:y,redirectTo:null==k?void 0:k.url,openInNewTabUrl:j,screenId:null==I?void 0:I.id,screenState:null==I?void 0:I.state,webauthnTransactionId:null==C?void 0:C.transactionId,webauthnOptions:null==C?void 0:C.options,samlIdpResponseUrl:null==O?void 0:O.url,samlIdpResponseSamlResponse:null==O?void 0:O.samlResponse,samlIdpResponseRelayState:null==O?void 0:O.relayState})):this.flowState.update({action:y})})),Zi.set(this,Wo((()=>n(this,void 0,void 0,(function*(){var e;try{const t=yield this.sdk.webauthn.signIn.start("",window.location.origin);return t.ok||this.loggerWrapper.warn("Webauthn start failed",null===(e=null==t?void 0:t.error)||void 0===e?void 0:e.errorMessage),t.data}catch(e){this.loggerWrapper.warn("Webauthn start failed",e.message)}}))))),rr.set(this,Ko(((e,t)=>n(this,void 0,void 0,(function*(){if("true"===e.getAttribute("formnovalidate")||o(this,Vi,"m",tr).call(this)){const i=null==e?void 0:e.getAttribute("id");o(this,Vi,"m",or).call(this,e);const r=yield o(this,Vi,"m",nr).call(this),s=(n=e,Array.from((null==n?void 0:n.attributes)||[]).reduce(((e,t)=>{var n;const o=null===(n=new RegExp("^data-descope-(\\S+)$").exec(t.name))||void 0===n?void 0:n[1];return o?Object.assign(e,{[o]:t.value}):e}),{})),a=this.getComponentsContext(),l=Object.assign(Object.assign(Object.assign(Object.assign({},a),s),r),{origin:window.location.origin}),c=yield this.getFlowConfig(),d=yield this.getProjectConfig(),u=yield t(i,c.version,d.componentsVersion,l);o(this,Qi,"f").call(this,u),o(this,Vi,"m",ir).call(this,r)}var n}))))),this.flowState=e}loadSdkScripts(){return n(this,void 0,void 0,(function*(){const e=(yield this.getFlowConfig()).sdkScripts;null==e||e.forEach((e=>n(this,void 0,void 0,(function*(){(yield function(e){return n(this,void 0,void 0,(function*(){let t;switch(e){case"forter":return t=yield Promise.resolve().then((function(){return xr})),t.default;case"fingerprint":return t=yield Promise.resolve().then((function(){return Ur})),t.default;case"fingerprintDescope":return t=yield Promise.resolve().then((function(){return Tr})),t.default;default:throw new Error(`Unknown script id: ${e}`)}}))}(e.id))(e.initArgs,{baseUrl:this.baseUrl},(t=>{this.dispatchEvent(new CustomEvent("components-context",{detail:{[Ir(e.id,e.resultKey)]:t},bubbles:!0,composed:!0}))}))}))))}))}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return n(this,void 0,void 0,(function*(){var t,n;this.shadowRoot.isConnected&&(null===(t=this.flowState)||void 0===t||t.subscribe(this.onFlowChange.bind(this)),null===(n=this.stepState)||void 0===n||n.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",o(this,Ji,"f").visibilitychange)),yield e.connectedCallback.call(this)}))}disconnectedCallback(){var e;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(e=o(this,Hi,"f"))||void 0===e||e.abort(),i(this,Hi,null,"f"),window.removeEventListener("visibilitychange",o(this,Ji,"f").visibilitychange)}getHtmlFilenameWithLocale(e,t){return n(this,void 0,void 0,(function*(){let n;const o=Ho(e);return(yield this.getTargetLocales()).includes(o)&&(n=`${t}-${o}.html`),n}))}getPageContent(e,t){return n(this,void 0,void 0,(function*(){if(t)try{const{body:e}=yield Ro(t,"text");return e}catch(n){this.loggerWrapper.error(`Failed to fetch flow page from ${t}. Fallback to url ${e}`,n)}try{const{body:t}=yield Ro(e,"text");return t}catch(e){this.loggerWrapper.error("Failed to fetch flow page",e.message)}return null}))}onFlowChange(e,r,s){return n(this,void 0,void 0,(function*(){var n,a;const{projectId:l,flowId:c,tenant:d,stepId:u,executionId:h,action:p,screenId:f,screenState:g,redirectTo:v,openInNewTabUrl:m,redirectUrl:w,token:b,code:y,exchangeError:I,webauthnTransactionId:k,webauthnOptions:j,redirectAuthCodeChallenge:C,redirectAuthCallbackUrl:S,redirectAuthBackupCallbackUri:O,redirectAuthInitiator:x,locale:A,samlIdpResponseUrl:U,samlIdpResponseSamlResponse:E,samlIdpResponseRelayState:T}=e,L=t(e,["projectId","flowId","tenant","stepId","executionId","action","screenId","screenState","redirectTo","openInNewTabUrl","redirectUrl","token","code","exchangeError","webauthnTransactionId","webauthnOptions","redirectAuthCodeChallenge","redirectAuthCallbackUrl","redirectAuthBackupCallbackUri","redirectAuthInitiator","locale","samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"]);let _,R;const P=(()=>{const e=localStorage.getItem(ci);if(!e){const e=Math.floor(100*Math.random()+1);return localStorage.setItem(ci,e.toString()),e}return Number(e)})(),$=this.sdk.getLastUserLoginId(),M=yield this.getFlowConfig(),D=yield this.getProjectConfig(),q=S&&C?{callbackUrl:S,codeChallenge:C,backupCallbackUri:O}:void 0;if(!h&&(this.loadSdkScripts(),M.fingerprintEnabled&&M.fingerprintKey?yield En(M.fingerprintKey,this.baseUrl):localStorage.removeItem(An),M.conditions?({startScreenId:_,conditionInteractionId:R}=((e,t)=>{const n=null==t?void 0:t.find((({key:t,operator:n,predicate:o})=>{var i;if("ELSE"===t)return!0;const r=null===(i=ai[t])||void 0===i?void 0:i[n];return!!(null==r?void 0:r(e,o))}));return n?{startScreenId:n.met.screenId,conditionInteractionId:n.met.interactionId}:{}})({loginId:$,code:y,token:b,abTestingKey:P},M.conditions)):M.condition?({startScreenId:_,conditionInteractionId:R}=((e,t)=>{var n;const o=null===(n=ai[null==e?void 0:e.key])||void 0===n?void 0:n[e.operator];if(!o)return{};const i=o(t,e.predicate)?e.met:e.unmet;return{startScreenId:null==i?void 0:i.screenId,conditionInteractionId:null==i?void 0:i.interactionId}})(M.condition,{loginId:$,code:y,token:b,abTestingKey:P})):_=M.startScreenId,!Fo(_,L))){const e=yield this.sdk.flow.start(c,Object.assign(Object.assign(Object.assign(Object.assign({tenant:d,redirectAuth:q},L),{client:this.client}),w&&{redirectUrl:w}),{lastAuth:li($),abTestingKey:P,locale:Ho(A)}),R,"",M.version,D.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),y?{exchangeCode:y,idpInitiated:!0}:{}),L.descopeIdpInitiated&&{idpInitiated:!0}),b?{token:b}:{}),L.oidcLoginHint?{externalId:L.oidcLoginHint}:{}));return o(this,Qi,"f").call(this,e),void("completed"!==(null===(n=null==e?void 0:e.data)||void 0===n?void 0:n.status)&&this.flowState.update({code:void 0,token:void 0}))}if(h&&(s("token")&&b||s("code")&&y||s("exchangeError")&&I)){const e=yield this.sdk.flow.next(h,u,Ao,M.version,D.componentsVersion,{token:b,exchangeCode:y,exchangeError:I});return o(this,Qi,"f").call(this,e),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(p===xo&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((e=>s(e)))){if(!U||!E)return void this.loggerWrapper.error("Did not get saml idp params data to load");((e,t,n,o)=>{const i=document.createElement("form");i.method="POST",i.action=e,i.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${t}" />\n <input type="hidden" role="saml-relay-state" name="RelayState" value="${n}" />\n <input style="display: none;" id="SAMLSubmitButton" type="submit" value="Continue" />\n `,document.body.appendChild(i),o(i)})(U,E,T||"",Bo)}if(p===jo&&(s("redirectTo")||s("deferredRedirect")))return v?"android"===x&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(v):void this.loggerWrapper.error("Did not get redirect url");if(p===So||p===Oo){if(!k||!j)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let e,t;null===(a=o(this,Hi,"f"))||void 0===a||a.abort(),i(this,Hi,null,"f");try{e=p===So?yield this.sdk.webauthn.helpers.create(j):yield this.sdk.webauthn.helpers.get(j)}catch(e){"InvalidStateError"===e.name?this.loggerWrapper.warn("WebAuthn operation failed",e.message):"NotAllowedError"!==e.name&&this.loggerWrapper.error(e.message),t=e.name}const n=yield this.sdk.flow.next(h,u,Ao,M.version,D.componentsVersion,{transactionId:k,response:e,failure:t});o(this,Qi,"f").call(this,n)}if(o(this,zi,"f").call(this,h,u,p,M.version,D.componentsVersion),!f&&!_)return void this.loggerWrapper.warn("No screen was found to show");const N=_||f,W=yield this.getHtmlFilenameWithLocale(A,N),{oidcLoginHint:F,oidcPrompt:B,oidcErrorRedirectUri:V,samlIdpUsername:K}=L,H={direction:$o(u,r.stepId),screenState:Object.assign(Object.assign({},g),{form:Object.assign(Object.assign({},this.formConfigValues),null==g?void 0:g.form),lastAuth:{loginId:$,name:this.sdk.getLastUserDisplayName()||$}}),htmlUrl:Po({projectId:l,filename:`${N}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:W&&Po({projectId:l,filename:W,baseUrl:this.baseStaticUrl}),samlIdpUsername:K,oidcLoginHint:F,oidcPrompt:B,oidcErrorRedirectUri:V,openInNewTabUrl:m},J=li($);Fo(_,L)?H.next=(e,t,n,o)=>this.sdk.flow.start(c,Object.assign(Object.assign(Object.assign(Object.assign({tenant:d,redirectAuth:q},L),{lastAuth:J,preview:this.preview,abTestingKey:P,client:this.client}),w&&{redirectUrl:w}),{locale:Ho(A)}),R,e,t,n,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),y&&{exchangeCode:y,idpInitiated:!0}),L.descopeIdpInitiated&&{idpInitiated:!0}),b&&{token:b})):(s("projectId")||s("baseUrl")||s("executionId")||s("stepId"))&&(H.next=(...e)=>this.sdk.flow.next(h,u,...e)),this.stepState.update(H)}))}loadDescopeUiComponents(e){return n(this,void 0,void 0,(function*(){const t=yield yr.descopeUI;if(!t)return;const o=(e=>[...Array.from(e.querySelectorAll("*")).reduce(((e,t)=>t.tagName.startsWith("DESCOPE-")?e.add(t.tagName.toLocaleLowerCase()):e),new Set)])(e);yield Promise.all(o.map((e=>n(this,void 0,void 0,(function*(){if(!!!customElements.get(e))if(t[e])try{return yield t[e]()}catch(t){if("NotSupportedError"!==t.name)throw t;console.debug(`${e} is already registered`)}else this.loggerWrapper.error(`Cannot load UI component "${e}"`,`Descope UI does not have a component named "${e}", available components are: "${Object.keys(t).join(", ")}"`)})))))}))}onStepChange(e,t){return n(this,void 0,void 0,(function*(){var i,r;const{htmlUrl:s,htmlLocaleUrl:a,direction:l,next:c,screenState:d,openInNewTabUrl:u}=e,h=document.createElement("template");h.innerHTML=yield this.getPageContent(s,a);const p=h.content.cloneNode(!0),f=this.loadDescopeUiComponents(h.content);this.sdk.webauthn.helpers.isSupported()?yield o(this,Vi,"m",er).call(this,p,c):p.querySelectorAll(`descope-button[${ko}="biometrics"]`).forEach((e=>e.setAttribute("disabled","true"))),!e.samlIdpUsername||(null===(i=d.form)||void 0===i?void 0:i.loginId)||(null===(r=d.form)||void 0===r?void 0:r.email)||(d.form||(d.form={}),d.form.loginId=e.samlIdpUsername,d.form.email=e.samlIdpUsername),ii(p,d,d.componentsConfig,this.formConfig,this.errorTransformer,this.loggerWrapper);const{geo:g}=yield this.getExecutionContext();((e,t)=>{Array.from(e.querySelectorAll('descope-phone-field[default-code="autoDetect"]')).forEach((e=>{e.setAttribute("default-code",t)}))})(p,g);const v=()=>n(this,void 0,void 0,(function*(){var e,n;yield f;const i=this.shadowRoot.querySelector("div");var r,s;r=i,s=null===(e=null==d?void 0:d.totp)||void 0===e?void 0:e.image,oi(r,"descope-totp-image",s),((e,t)=>{oi(e,"descope-notp-image",t)})(i,null===(n=null==d?void 0:d.notp)||void 0===n?void 0:n.image),this.rootElement.replaceChildren(p),setTimeout((()=>{((e,t)=>{ei(e,null==t?void 0:t.inputs),ei(e,null==t?void 0:t.form)})(this.rootElement,d)}));const a=!t.htmlUrl;((e,t,n)=>{if(!0===t||"skipFirstScreen"===t&&!n){const t=e.querySelector("*[name]");setTimeout((()=>{null==t||t.focus()}))}})(this.rootElement,this.autoFocus,a),this.validateOnBlur&&(e=>{e.querySelectorAll("*[name]").forEach((e=>{e.addEventListener("blur",(()=>{var t;const n=e.focus;e.focus=()=>{},null===(t=e.reportValidity)||void 0===t||t.call(e),setTimeout((()=>{e.focus=n}))}))}))})(this.rootElement),o(this,Vi,"m",ar).call(this,c),a&&o(this,Vi,"m",cr).call(this,"ready",{}),o(this,Vi,"m",cr).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${ko}="polling"]`)){const e=yield this.getFlowConfig(),t=yield this.getProjectConfig(),n=yield c(Uo,e.version,t.componentsVersion,{});o(this,Qi,"f").call(this,n)}u&&!t.openInNewTabUrl&&window.open(u,"_blank")}));l?o(this,Vi,"m",lr).call(this,v,l):v()}))}}Ki=new WeakMap,Hi=new WeakMap,Ji=new WeakMap,zi=new WeakMap,Xi=new WeakMap,Qi=new WeakMap,Zi=new WeakMap,rr=new WeakMap,Vi=new WeakSet,Gi=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},Yi=function(e){const t=e.getAttribute("name");if(!["email"].includes(t)){const n=`user-${t}`;e.setAttribute("name",n),e.addEventListener("input",(()=>{e.setAttribute("name",e.value?t:n)}))}},er=function(e,t){return n(this,void 0,void 0,(function*(){var r;null===(r=o(this,Hi,"f"))||void 0===r||r.abort();const s=e.querySelector('*[autocomplete="webauthn"]');if(s&&(yield ri())){const{options:e,transactionId:r}=(yield o(this,Zi,"f").call(this))||{};if(e&&r){o(this,Vi,"m",Yi).call(this,s),i(this,Hi,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(e,o(this,Hi,"f")).then((e=>n(this,void 0,void 0,(function*(){const n=yield t(s.id,a.version,l.componentsVersion,{transactionId:r,response:e});o(this,Qi,"f").call(this,n)})))).catch((e=>{"AbortError"!==e.name&&this.loggerWrapper.error("Conditional login failed",e.message)}))}}}))},tr=function(){let e=!0;return Array.from(this.shadowRoot.querySelectorAll("*[name]")).reverse().forEach((t=>{var n,o;"slot"!==t.localName&&(null===(n=t.reportValidity)||void 0===n||n.call(t),e&&(e=null===(o=t.checkValidity)||void 0===o?void 0:o.call(t)))})),e},nr=function(){return n(this,void 0,void 0,(function*(){const e=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${ho}])`));return(yield Promise.all(e.map((e=>n(this,void 0,void 0,(function*(){return{name:e.getAttribute("name"),value:e.value}})))))).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.name]:t.value})),{})}))},or=function(e){const t=this.nextRequestStatus.subscribe((({isLoading:n})=>{n?e.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(t),e.removeAttribute("loading"))}))},ir=function(e={}){var t,n;const o=Vo(e,["externalId","email","phone"]),i=Vo(e,["newPassword","password"]);if(o&&i)try{if(!globalThis.PasswordCredential)return;const e=new globalThis.PasswordCredential({id:o,password:i});null===(n=null===(t=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===t?void 0:t.store)||void 0===n||n.call(t,e)}catch(e){this.loggerWrapper.error("Could not store credentials",e.message)}},sr=function(e){this.rootElement.querySelectorAll('descope-passcode[data-auto-submit="true"]').forEach((t=>{t.addEventListener("input",(()=>{var n;(null===(n=t.checkValidity)||void 0===n?void 0:n.call(t))&&o(this,rr,"f").call(this,t,e)}))}))},ar=function(e){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((t=>{t.onclick=()=>{o(this,rr,"f").call(this,t,e)}})),o(this,Vi,"m",sr).call(this,e)},lr=function(e,t){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),e()}),{once:!0});const n=t===To.forward?"slide-forward":"slide-backward";Array.from(this.rootElement.getElementsByClassName("input-container")).forEach(((e,t)=>{e.style["transition-delay"]=40*t+"ms",e.classList.add(n)})),this.rootElement.classList.add("fade-out")},cr=function(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))},customElements.get("descope-wc")?console.log("descope-wc is already defined"):customElements.define("descope-wc",kr);const jr=document.createElement("template");jr.innerHTML=`\n<style>\n .debugger {\n width: 300px;\n height: 200px;\n background-color: #FAFAFA;\n position: fixed;\n font-family: "Helvetica Neue", sans-serif;\n box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 10px;\n border-radius: 8px;\n overflow: hidden;\n border: 1px solid lightgrey;\n pointer-events: initial;\n display: flex;\n flex-direction: column;\n min-width: 200px;\n max-width: 600px;\n max-height: calc(100% - 64px);\n min-height: 200px;\n resize: both;\n }\n\n .header {\n padding: 8px 16px;\n display: flex;\n align-items: center;\n background-color: #EEEEEE;\n cursor: move;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .content {\n font-size: 14px;\n flex-grow: 1;\n overflow: auto;\n }\n\n .msg {\n border-bottom: 1px solid lightgrey;\n padding: 8px 16px;\n display: flex;\n gap: 5px;\n background-color: #FAFAFA;\n }\n\n .msg.collapsible {\n cursor: pointer;\n }\n\n .empty-state {\n padding: 8px 16px;\n background-color: #FAFAFA;\n }\n\n\n .msg.collapsible:not(.collapsed) {\n background-color: #F5F5F5;\n }\n\n .msg_title {\n padding-bottom: 5px;\n display: flex;\n gap: 8px;\n font-weight: 500;\n }\n\n .msg svg {\n padding: 1px;\n flex-shrink: 0;\n margin-top: -2px;\n }\n\n .msg_content {\n overflow: hidden;\n flex-grow: 1;\n margin-right:5px;\n }\n\n .msg_desc {\n color: #646464;\n cursor: initial;\n word-wrap: break-word;\n }\n\n .msg.collapsed .msg_desc {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .msg.collapsible.collapsed .chevron {\n transform: rotate(-45deg) translateX(-2px);\n }\n\n .msg.collapsible .chevron {\n content: "";\n width:6px;\n height:6px;\n border-bottom: 2px solid grey;\n border-right: 2px solid grey;\n transform: rotate(45deg) translateX(-1px);\n margin: 5px;\n flex-shrink:0;\n }\n</style>\n\n<div style="top:32px; left:${window.innerWidth-300-32}px;" class="debugger">\n <div class="header">\n <span>Debugger messages</span>\n </div>\n <div class="content">\n <div class="empty-state">\n No errors detected 👀\n </div>\n </div>\n</div>\n`;class Cr extends HTMLElement{constructor(){super(),dr.add(this),ur.set(this,new Zo({messages:[]})),hr.set(this,void 0),pr.set(this,void 0),fr.set(this,void 0),gr.set(this,{resize:o(this,dr,"m",br).bind(this)}),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(jr.content.cloneNode(!0)),i(this,hr,this.shadowRoot.querySelector(".debugger"),"f"),i(this,pr,o(this,hr,"f").querySelector(".content"),"f"),i(this,fr,o(this,hr,"f").querySelector(".header"),"f")}updateData(e){o(this,ur,"f").update((t=>({messages:t.messages.concat(e)})))}connectedCallback(){var e;((e,t,n)=>{let o=0,i=0,r=0,s=0;function a(t){t.preventDefault(),o=r-t.clientX,i=s-t.clientY,r=t.clientX,s=t.clientY;const[a,l]=si(e,e.offsetLeft-o,e.offsetTop-i,n);e.style.top=`${l}px`,e.style.left=`${a}px`}function l(){document.onmouseup=null,document.onmousemove=null}function c(e){e.preventDefault(),r=e.clientX,s=e.clientY,document.onmouseup=l,document.onmousemove=a}t?t.onmousedown=c:e.onmousedown=c})(o(this,hr,"f"),o(this,fr,"f"),{top:"all",bottom:100,left:100,right:100}),window.addEventListener("resize",o(this,gr,"f").resize),(e=o(this,hr,"f")).onmousemove=t=>{(t.target.w&&t.target.w!==t.target.offsetWidth||t.target.h&&t.target.h!==t.target.offsetHeight)&&e.onresize(t),t.target.w=t.target.offsetWidth,t.target.h=t.target.offsetHeight},o(this,hr,"f").onresize=o(this,dr,"m",wr).bind(this),o(this,ur,"f").subscribe(o(this,dr,"m",vr).bind(this))}disconnectedCallback(){o(this,ur,"f").unsubscribeAll(),window.removeEventListener("resize",o(this,gr,"f").resize)}}ur=new WeakMap,hr=new WeakMap,pr=new WeakMap,fr=new WeakMap,gr=new WeakMap,dr=new WeakSet,vr=function(e){o(this,dr,"m",mr).call(this,e),o(this,dr,"m",wr).call(this)},mr=function(e){o(this,pr,"f").innerHTML=e.messages.map((e=>`\n <div class="msg">\n <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M5.99984 13.167L8.99984 10.167L11.9998 13.167L13.1665 12.0003L10.1665 9.00033L13.1665 6.00033L11.9998 4.83366L8.99984 7.83366L5.99984 4.83366L4.83317 6.00033L7.83317 9.00033L4.83317 12.0003L5.99984 13.167ZM8.99984 17.3337C7.84706 17.3337 6.76373 17.1148 5.74984 16.677C4.73595 16.2398 3.854 15.6462 3.104 14.8962C2.354 14.1462 1.76039 13.2642 1.32317 12.2503C0.885393 11.2364 0.666504 10.1531 0.666504 9.00033C0.666504 7.84755 0.885393 6.76421 1.32317 5.75033C1.76039 4.73644 2.354 3.85449 3.104 3.10449C3.854 2.35449 4.73595 1.7606 5.74984 1.32283C6.76373 0.885603 7.84706 0.666992 8.99984 0.666992C10.1526 0.666992 11.2359 0.885603 12.2498 1.32283C13.2637 1.7606 14.1457 2.35449 14.8957 3.10449C15.6457 3.85449 16.2393 4.73644 16.6765 5.75033C17.1143 6.76421 17.3332 7.84755 17.3332 9.00033C17.3332 10.1531 17.1143 11.2364 16.6765 12.2503C16.2393 13.2642 15.6457 14.1462 14.8957 14.8962C14.1457 15.6462 13.2637 16.2398 12.2498 16.677C11.2359 17.1148 10.1526 17.3337 8.99984 17.3337ZM8.99984 15.667C10.8609 15.667 12.4373 15.0212 13.729 13.7295C15.0207 12.4378 15.6665 10.8614 15.6665 9.00033C15.6665 7.13921 15.0207 5.56283 13.729 4.27116C12.4373 2.97949 10.8609 2.33366 8.99984 2.33366C7.13873 2.33366 5.56234 2.97949 4.27067 4.27116C2.979 5.56283 2.33317 7.13921 2.33317 9.00033C2.33317 10.8614 2.979 12.4378 4.27067 13.7295C5.56234 15.0212 7.13873 15.667 8.99984 15.667Z" fill="#ED404A"/>\n</svg>\n\n <div class="msg_content">\n <div class="msg_title">\n ${e.title}\n </div>\n <div class="msg_desc">\n ${e.description}\n </div>\n </div>\n <div class="chevron"></div>\n </div>\n `)).join("")},wr=function(){o(this,pr,"f").querySelectorAll(".msg").forEach((e=>{const t=e.querySelector(".msg_desc"),n=t.scrollWidth>t.clientWidth,o=t.clientHeight>20;n||o?(e.classList.add("collapsible"),e.onclick=t=>{t.target.classList.contains("msg_desc")||e.classList.toggle("collapsed")}):(e.classList.remove("collapsible"),e.onclick=null)}))},br=function(){const[e,t]=si(o(this,hr,"f"),Number.parseInt(o(this,hr,"f").style.left,10),Number.parseInt(o(this,hr,"f").style.top,10),{top:"all",bottom:100,left:100,right:100});o(this,hr,"f").style.top=`${t}px`,o(this,hr,"f").style.left=`${e}px`},customElements.get("descope-debugger")||customElements.define("descope-debugger",Cr);var Sr=Object.freeze({__proto__:null,default:Cr});const Or='\n(function () {\nvar merchantConfig = {\n csp: false\n};\n\nvar siteId = "{{SITE_ID}}";\nfunction t(t,n){for(var e=t.split(""),r=0;r<e.length;++r)e[r]=String.fromCharCode(e[r].charCodeAt(0)+n);return e.join("")}function n(n){return t(n,-L).replace(/%SN%/g,siteId)}function e(){var t="no"+"op"+"fn",n="g"+"a",e="n"+"ame";return window[n]&&window[n][e]===t}function r(){return!(!navigator.brave||"function"!=typeof navigator.brave.isBrave)}function o(){return document.currentScript&&document.currentScript.src}function i(t){try{if("number"==typeof t&&window.location&&window.location.pathname){for(var n=window.location.pathname.split("/"),e=[],r=0;r<=Math.min(n.length-1,Math.abs(t));r++)e.push(n[r]);return e.join("/")||"/"}}catch(t){}return"/"}function c(t){try{G.ex=t,e()&&-1===G.ex.indexOf(B.uB)&&(G.ex+=B.uB),r()&&-1===G.ex.indexOf(B.uBr)&&(G.ex+=B.uBr),o()&&-1===G.ex.indexOf(B.nIL)&&(G.ex+=B.nIL),window.ftr__snp_cwc||(G.ex+=B.s),M(G)}catch(t){}}function a(t,n){function e(o){try{o.blockedURI===t&&(n(),document.removeEventListener(r,e))}catch(t){document.removeEventListener(r,e)}}var r="securitypolicyviolation";document.addEventListener(r,e),setTimeout(function(){document.removeEventListener(r,e)},2*60*1e3)}function u(t,n,e,r){var o=!1;t="https://"+t,a(t,function(){r(!0),o=!0});var i=document.createElement("script");i.onerror=function(){if(!o)try{r(!1),o=!0}catch(t){}},i.onload=e,i.type="text/javascript",i.id="ftr__script",i.async=!0,i.src=t;var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(i,c)}function f(){J(B.uDF),setTimeout(h,I,B.uDF)}function d(t,n,e,r){var o=!1,i=new XMLHttpRequest;if(a("https:"+t,function(){e(new Error("CSP Violation"),!0),o=!0}),"//"===t.slice(0,2)&&(t="https:"+t),"withCredentials"in i)i.open("GET",t,!0);else{if("undefined"==typeof XDomainRequest)return;i=new XDomainRequest,i.open("GET",t)}Object.keys(r).forEach(function(t){i.setRequestHeader(t,r[t])}),i.onload=function(){"function"==typeof n&&n(i)},i.onerror=function(t){if("function"==typeof e&&!o)try{e(t,!1),o=!0}catch(t){}},i.onprogress=function(){},i.ontimeout=function(){"function"==typeof e&&e("tim"+"eo"+"ut",!1)},setTimeout(function(){i.send()},0)}function s(t,siteId,n){function e(t){var n=t.toString(16);return n.length%2?"0"+n:n}function r(t){if(t<=0)return"";for(var n="0123456789abcdef",e="",r=0;r<t;r++)e+=n[Math.floor(Math.random()*n.length)];return e}function o(t){for(var n="",r=0;r<t.length;r++)n+=e(t.charCodeAt(r));return n}function i(t){for(var n=t.split(""),e=0;e<n.length;++e)n[e]=String.fromCharCode(255^n[e].charCodeAt(0));return n.join("")}n=n?"1":"0";var c=[];return c.push(t),c.push(siteId),c.push(n),function(t){var n=40,e="";return t.length<n/2&&(e=","+r(n/2-t.length-1)),o(i(t+e))}(c.join(","))}function w(){function t(){D&&(J(B.dUAL),setTimeout(h,I,B.dUAL))}function n(t,n){c(n?B.uAS+B.uF+B.cP:B.uAS+B.uF)}window.ftr__fdad(t,n)}function h(t){try{var n;switch(t){case B.uFP:n=q;break;case B.uDF:n=E;break;default:n=D}if(!n)return;u(n,void 0,function(){try{K(),c(t+B.uS)}catch(t){}},function(n){try{K(),G.td=1*new Date-G.ts,c(n?t+B.uF+B.cP:t+B.uF),t===B.uFP&&f(),t===B.uDF&&w()}catch(t){c(B.eUoe)}})}catch(n){c(t+B.eTlu)}}var m="22ge:t7mj8unkn;1forxgiurqw1qhw2vwdwxv",v="fort",l="erTo",p="ken";window.ftr__config={m:merchantConfig,s:"23",si:siteId};var g=!1,_=v+l+p,y=400*24*60,T=10,k={write:function(t,n,e,r){void 0===r&&(r=!0);var o=0;window.ftr__config&&window.ftr__config.m&&window.ftr__config.m.ckDepth&&(o=window.ftr__config.m.ckDepth);var c,a,u=i(o);if(e?(c=new Date,c.setTime(c.getTime()+60*e*1e3),a="; expires="+c.toGMTString()):a="",!r)return void(document.cookie=escape(t)+"="+escape(n)+a+"; path="+u);for(var f=1,d=document.domain.split("."),s=T,w=!0;w&&d.length>=f&&s>0;){var h=d.slice(-f).join(".");document.cookie=escape(t)+"="+escape(n)+a+"; path="+u+"; domain="+h;var m=k.read(t);null!=m&&m==n||(h="."+h,document.cookie=escape(t)+"="+escape(n)+a+"; path="+u+"; domain="+h),w=-1===document.cookie.indexOf(t+"="+n),f++,s--}},read:function(t){var n=null;try{for(var e=escape(t)+"=",r=document.cookie.split(";"),o=32,i=0;i<r.length;i++){for(var c=r[i];c.charCodeAt(0)===o;)c=c.substring(1,c.length);0===c.indexOf(e)&&(n=unescape(c.substring(e.length,c.length)))}}finally{return n}}},S=window.ftr__config.s;S+="ck";var x=function(t){var n=!1,e=null,r=function(){try{if(!e||!n)return;e.remove&&"function"==typeof e.remove?e.remove():document.head.removeChild(e),n=!1}catch(t){}};document.head&&(!function(){e=document.createElement("link"),e.setAttribute("rel","pre"+"con"+"nect"),e.setAttribute("cros"+"sori"+"gin","anonymous"),e.onload=r,e.onerror=r,e.setAttribute("href",t),document.head.appendChild(e),n=!0}(),setTimeout(r,3e3))},L=3,A=n(m||"22ge:t7mj8unkn;1forxgiurqw1qhw2vwdwxv"),F=t("[0Uhtxhvw0LG",-L),U=t("[0Fruuhodwlrq0LG",-L),b=t("Li0Qrqh0Pdwfk",-L),D,C="fgq71iruwhu1frp",E=n("(VQ(1"+C+"2vq2(VQ(2vfulsw1mv"),V=n("(VQ(1"+C+"2vqV2(VQ(2vfulsw1mv"),q;window.ftr__config&&window.ftr__config.m&&window.ftr__config.m.fpi&&(q=window.ftr__config.m.fpi+n("2vq2(VQ(2vfulsw1mv"));var I=10;window.ftr__startScriptLoad=1*new Date;var R=function(t){var n="ft"+"r:tok"+"enR"+"eady";window.ftr__tt&&clearTimeout(window.ftr__tt),window.ftr__tt=setTimeout(function(){try{delete window.ftr__tt,t+="_tt";var e=document.createEvent("Event");e.initEvent(n,!1,!1),e.detail=t,document.dispatchEvent(e)}catch(t){}},1e3)},M=function(t){var n=function(t){return t||""},e=n(t.id)+"_"+n(t.ts)+"_"+n(t.td)+"_"+n(t.ex)+"_"+n(S),r=y;!isNaN(window.ftr__config.m.ckTTL)&&window.ftr__config.m.ckTTL&&(r=window.ftr__config.m.ckTTL),k.write(_,e,r,!0),R(e),window.ftr__gt=e},P=function(){var t=k.read(_)||"",n=t.split("_"),e=function(t){return n[t]||void 0};return{id:e(0),ts:e(1),td:e(2),ex:e(3),vr:e(4)}},j=function(){for(var t={},n="fgu",e=[],r=0;r<256;r++)e[r]=(r<16?"0":"")+r.toString(16);var o=function(t,n,r,o,i){var c=i?"-":"";return e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]+c+e[255&n]+e[n>>8&255]+c+e[n>>16&15|64]+e[n>>24&255]+c+e[63&r|128]+e[r>>8&255]+c+e[r>>16&255]+e[r>>24&255]+e[255&o]+e[o>>8&255]+e[o>>16&255]+e[o>>24&255]},i=function(){if(window.Uint32Array&&window.crypto&&window.crypto.getRandomValues){var t=new window.Uint32Array(4);return window.crypto.getRandomValues(t),{d0:t[0],d1:t[1],d2:t[2],d3:t[3]}}return{d0:4294967296*Math.random()>>>0,d1:4294967296*Math.random()>>>0,d2:4294967296*Math.random()>>>0,d3:4294967296*Math.random()>>>0}},c=function(){var t="",n=function(t,n){for(var e="",r=t;r>0;--r)e+=n.charAt(1e3*Math.random()%n.length);return e};return t+=n(2,"0123456789"),t+=n(1,"123456789"),t+=n(8,"0123456789")};return t.safeGenerateNoDash=function(){try{var t=i();return o(t.d0,t.d1,t.d2,t.d3,!1)}catch(t){try{return n+c()}catch(t){}}},t.isValidNumericalToken=function(t){return t&&t.toString().length<=11&&t.length>=9&&parseInt(t,10).toString().length<=11&&parseInt(t,10).toString().length>=9},t.isValidUUIDToken=function(t){return t&&32===t.toString().length&&/^[a-z0-9]+$/.test(t)},t.isValidFGUToken=function(t){return 0==t.indexOf(n)&&t.length>=12},t}(),B={uDF:"UDF",dUAL:"dUAL",uAS:"UAS",uFP:"UFP",mLd:"1",eTlu:"2",eUoe:"3",uS:"4",uF:"9",tmos:["T5","T10","T15","T30","T60"],tmosSecs:[5,10,15,30,60],bIR:"43",uB:"u",uBr:"b",cP:"c",nIL:"i",s:"s"};try{var G=P();try{G.id&&(j.isValidNumericalToken(G.id)||j.isValidUUIDToken(G.id)||j.isValidFGUToken(G.id))?window.ftr__ncd=!1:(G.id=j.safeGenerateNoDash(),window.ftr__ncd=!0),G.ts=window.ftr__startScriptLoad,M(G),window.ftr__snp_cwc=!!k.read(_),window.ftr__snp_cwc||(E=V);for(var N="for"+"ter"+".co"+"m",O="ht"+"tps://c"+"dn9."+N,Q="ht"+"tps://"+G.id+"-"+siteId+".cd"+"n."+N,H="http"+"s://cd"+"n3."+N,X=[O,Q,H],z=0;z<X.length;z++)x(X[z]);var $=new Array(B.tmosSecs.length),J=function(t){for(var n=0;n<B.tmosSecs.length;n++)$[n]=setTimeout(c,1e3*B.tmosSecs[n],t+B.tmos[n])},K=function(){for(var t=0;t<B.tmosSecs.length;t++)clearTimeout($[t])};window.ftr__fdad=function(n,e){if(!g){g=!0;var r={};r[b]=s(window.ftr__config.s,siteId,window.ftr__config.m.csp),d(A,function(e){try{var r=e.getAllResponseHeaders().toLowerCase();if(r.indexOf(U.toLowerCase())>=0){var o=e.getResponseHeader(U);window.ftr__altd2=t(atob(o),-L-1)}if(r.indexOf(F.toLowerCase())<0)return;var i=e.getResponseHeader(F),c=t(atob(i),-L-1);if(c){var a=c.split(":");if(a&&2===a.length){for(var u=a[0],f=a[1],d="",s=0,w=0;s<20;++s)d+=s%3>0&&w<12?siteId.charAt(w++):G.id.charAt(s);var h=f.split(",");if(h.length>1){var m=h[0],v=h[1];D=u+"/"+m+"."+d+"."+v}}}n()}catch(t){}},function(t,n){e&&e(t,n)},r)}};var W=q?B.uFP:B.uDF;J(W),setTimeout(h,I,W)}catch(t){c(B.mLd)}}catch(t){}})();\n';var xr=Object.freeze({__proto__:null,default:(e,t,o)=>n(void 0,void 0,void 0,(function*(){const{siteId:t}=e,n=Or.replace(/{{SITE_ID}}/g,t),i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("id",t),i.text=n,document.body.appendChild(i),document.addEventListener("ftr:tokenReady",(e=>{o(e.detail)}))}))});const Ar=(e,t,o)=>n(void 0,void 0,void 0,(function*(){try{const{publicApiKey:t,useCloudflareIntegration:n,cloudflareScriptUrl:i,cloudflareEndpointUrl:r}=e;let s=[];s=n&&r?[r,tn]:[tn];let a=[];if(n&&i){const e=new URL(i);a=[`${e.toString()}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,cn]}else a=[cn];const l=dn({apiKey:t,endpoint:s,scriptUrlPattern:a}),c=yield l,{requestId:d}=yield c.get();o(d)}catch(e){console.warn("Could not load fingerprint",e)}}));var Ur=Object.freeze({__proto__:null,default:Ar,loadFingerprint:Ar});const Er=(e,t,o)=>n(void 0,void 0,void 0,(function*(){try{const{customDomain:n,publicApiKey:i,cloudflareEndpointPath:r,cloudflareScriptPath:s}=e,{baseUrl:a}=t;let l;l=n?`https://${n}`:a||"https://api.descope.com";const c=new URL(l);c.pathname=r;const d=new URL(l);d.pathname=s;const u=`${d.toString()}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,h=dn({apiKey:i,endpoint:[c.toString(),tn],scriptUrlPattern:[u,cn]}),p=yield h,{requestId:f}=yield p.get();o(f)}catch(e){console.warn("Could not load descope fingerprint",e)}}));var Tr=Object.freeze({__proto__:null,default:Er,loadFingerprint:Er})}();
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__awaiter as e,__classPrivateFieldGet as t,__classPrivateFieldSet as i,__rest as o}from"tslib";import r,{ensureFingerprintIds as n,clearFingerprintData as s}from"@descope/web-js-sdk";const a="undefined"!=typeof localStorage,l=a&&localStorage.getItem("base.content.url")||"",d="config.json",c="base.ui.components.url",u=a&&localStorage.getItem(c)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",h=a&&localStorage.getItem(c)||"https://cdn.jsdelivr.net/npm/@descope/web-components-ui@<version>/dist/umd/index.js",p="descope-login-flow",f="code",g="ra-challenge",v="ra-callback",m="ra-backup-callback",b="ra-initiator",y="data-exclude-field",w="dls_last_auth",I="state_id",k="saml_idp_state_id",C="saml_idp_username",A="descope_idp_initiated",S="sso_app_id",j="oidc_login_hint",E="oidc_prompt",U="oidc_error_redirect_uri",x="data-type",O="redirect",T="poll",L="webauthnCreate",R="webauthnGet",W="loadForm",$="submit",M="polling",P=["descope-multi-select-combo-box","descope-text-area"];var N;function D(e){return new URLSearchParams(window.location.search).get(e)}function q(e){if(window.history.replaceState&&D(e)){const t=new URL(window.location.href),i=new URLSearchParams(t.search);i.delete(e),t.search=i.toString(),window.history.replaceState({},"",t.toString())}}function _(t,i){return e(this,void 0,void 0,(function*(){const e=yield fetch(t,{cache:"default"});if(!e.ok)throw Error(`Error fetching URL ${t} [${e.status}]`);return{body:yield e[i||"text"](),headers:Object.fromEntries(e.headers.entries())}}))}!function(e){e.backward="backward",e.forward="forward"}(N||(N={}));function F({projectId:e,filename:t,assetsFolder:i="v2-beta",baseUrl:o}){const r=new URL(l||o||"https://static.descope.com/pages");return r.pathname=((...e)=>e.join("/").replace(/\/+/g,"/"))(r.pathname,e,i,t),r.toString()}function V(e,t){if(!t)return;const i=+e,o=+t;return Number.isNaN(i)||Number.isNaN(o)?void 0:i>o?N.forward:i<o?N.backward:void 0}const K=()=>{const[e="",t=""]=(D(p)||"").split("_");return{executionId:e,stepId:t}};function H(){q(p)}const B=e=>e.replace(/-./g,(e=>e[1].toUpperCase())),J=()=>{const{executionId:e,stepId:t}=K();(e||t)&&H();const i=D("t")||void 0;i&&q("t");const o=D(f)||void 0;o&&q(f);const r=D("err")||void 0;r&&q("err");const{redirectAuthCodeChallenge:n,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:D(g),redirectAuthCallbackUrl:D(v),redirectAuthBackupCallbackUri:D(m),redirectAuthInitiator:D(b)};(n||s||a||l)&&(q(g),q(v),q(m),q(b));const d=D(I);d&&q(I);const c=D(k);c&&q(k);const u=D(C);c&&q(C);const h=D(A);h&&q(A);const p=D(S);p&&q(S);const y=D(j);y&&q(j);const w=D(E);w&&q(E);const x=D(U);x&&q(U);return{executionId:e,stepId:t,token:i,code:o,exchangeError:r,redirectAuthCodeChallenge:n,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,ssoQueryParams:{oidcIdpStateId:d,samlIdpStateId:c,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:p,oidcLoginHint:y,oidcPrompt:w,oidcErrorRedirectUri:x}}},z=e=>{let t,i;return(...o)=>{return t&&(n=o,(r=t).length===n.length&&r.every(((e,t)=>e===n[t])))||(t=o,i=e(...o)),i;var r,n}};const G=(e,{oidcIdpStateId:t,samlIdpStateId:i,samlIdpUsername:o,ssoAppId:r,oidcLoginHint:n,oidcPrompt:s,oidcErrorRedirectUri:a})=>!(!e||t||i||o||r||n||s||a),Q=e=>null==e?void 0:e.submit(),X=(e,t)=>{const i=t.find((t=>e[t]));return i?e[i]:null},Y=(e,t=100)=>{let i;return function(...o){i||e.apply(this,o),clearTimeout(i),i=setTimeout((()=>{i=null}),t)}};function Z(e){let t=navigator.language;return t&&"zh-TW"!==t&&(t=t.split("-")[0]),(e||t||"").toLowerCase()}var ee,te,ie,oe;function re(e,t){const i=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);if(i.length!==o.length)return!1;for(let o=0;o<i.length;o+=1){const r=i[o],n=e[r],s=t[r];if(null===n||null===s){if(n!==s)return!1}else if("object"==typeof n&&"object"==typeof s){if(!re(n,s))return!1}else if(n!==s)return!1}return!0}class ne{constructor(e={},{updateOnlyOnChange:o=!0}={}){ee.set(this,void 0),te.set(this,{}),ie.set(this,0),oe.set(this,!1),this.update=e=>{const o="function"==typeof e?e(t(this,ee,"f")):e,r=Object.assign(Object.assign({},t(this,ee,"f")),o);if(!t(this,oe,"f")||!re(t(this,ee,"f"),r)){const e=t(this,ee,"f");i(this,ee,r,"f"),Object.freeze(t(this,ee,"f")),setTimeout((()=>{Object.values(t(this,te,"f")).forEach((t=>t(r,e,((e,t)=>i=>e[i]!==t[i])(r,e))))}),0)}},i(this,ee,e,"f"),i(this,oe,o,"f")}get current(){return Object.assign({},t(this,ee,"f"))}subscribe(e){return i(this,ie,t(this,ie,"f")+1,"f"),t(this,te,"f")[t(this,ie,"f")]=e,t(this,ie,"f").toString()}unsubscribe(e){const i=!!t(this,te,"f")[e];return i&&delete t(this,te,"f")[e],i}unsubscribeAll(){return i(this,te,{},"f"),!0}}ee=new WeakMap,te=new WeakMap,ie=new WeakMap,oe=new WeakMap;const se=["disabled"],ae=(e,t)=>{Object.entries(t||{}).forEach((([t,i])=>{Array.from(e.querySelectorAll(`*[name="${t}"]:not([${y}])`)).forEach((e=>{e.value=i}))}))},le=(e,t)=>e.replace(/{{(.+?)}}/g,((e,i)=>{return o=t,i.split(".").reduce(((e,t)=>(null==e?void 0:e[t])||""),o);var o})),de=(e,t,i)=>{e.querySelectorAll(`[${x}="${t}"]`).forEach((e=>{e.setAttribute("href",i)}))},ce=(e,t,i)=>{var o,r;const n=null===(o=customElements.get(t))||void 0===o?void 0:o.cssVarList.url;i&&n&&(null===(r=null==e?void 0:e.style)||void 0===r||r.setProperty(n,`url(data:image/jpg;base64,${i})`))},ue=(e,t,i,o,r,n)=>{var s,a;let l=null==t?void 0:t.errorText;try{l=(null==r?void 0:r({text:null==t?void 0:t.errorText,type:null==t?void 0:t.errorType}))||(null==t?void 0:t.errorText)}catch(e){n.error("Error transforming error message",e.message)}((e,t,i="")=>{e.querySelectorAll(`[${x}="${t}"]`).forEach((e=>{e.textContent=i,e.classList[i?"remove":"add"]("hide")}))})(e,"error-message",l),de(e,"totp-link",null===(s=null==t?void 0:t.totp)||void 0===s?void 0:s.provisionUrl),de(e,"notp-link",null===(a=null==t?void 0:t.notp)||void 0===a?void 0:a.redirectUrl),((e,t)=>{e.querySelectorAll("descope-text,descope-link,descope-enriched-text,descope-code-snippet").forEach((e=>{e.textContent=le(e.textContent,t);const i=e.getAttribute("href");i&&e.setAttribute("href",le(i,t))}))})(e,t),((e,t,i)=>{t&&Object.keys(t).forEach((o=>{e.querySelectorAll(`[name=${o}]`).forEach((e=>{const r=t[o];Object.keys(r).forEach((t=>{let o=r[t];if("string"!=typeof o)try{o=JSON.stringify(o)}catch(e){i.error(`Could not stringify value "${o}" for "${t}"`,e.message),o=""}e.setAttribute(t,o)}))}))}))})(e,i,n),((e,t)=>{e.querySelectorAll("[data-has-dynamic-attr-values]").forEach((e=>{Array.from(e.attributes).forEach((e=>{e.value=le(e.value,t)}))}))})(e,t),((e,t)=>{Object.entries(t).forEach((([t,i])=>{e.querySelectorAll(`[name="${t}"]`).forEach((e=>{Object.entries(i).forEach((([t,i])=>{se.includes(t)&&e.setAttribute(t,i)}))}))}))})(e,o)},he=z((()=>e(void 0,void 0,void 0,(function*(){var e,t,i,o,r;if(!window.PublicKeyCredential||!PublicKeyCredential.isConditionalMediationAvailable||!PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)return!1;try{const n=Promise.all([null===(e=window.PublicKeyCredential)||void 0===e?void 0:e.isConditionalMediationAvailable(),null===(t=window.PublicKeyCredential)||void 0===t?void 0:t.isUserVerifyingPlatformAuthenticatorAvailable()]).then((e=>e.every((e=>!!e)))),s=(()=>{var e;const t=null===(e=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===e?void 0:e.brands,i=null==t?void 0:t.find((({brand:e,version:t})=>"Chromium"===e&&parseFloat(t)));return i?i.version:0})()>=108;return yield(i=100,o=n,r=s,new Promise(((e,t)=>{let n=!1;const s=setTimeout((()=>{n=!0,void 0!==r?e(r):t(new Error(`Promise timed out after ${i} ms`))}),i);o.then((t=>{n||(clearTimeout(s),e(t))})).catch((e=>{n||(clearTimeout(s),t(e))}))})))}catch(e){return console.error("Conditional login check failed",e),!1}})))),pe={"lastAuth.loginId":{"not-empty":e=>!!e.loginId,empty:e=>!e.loginId},idpInitiated:{"is-true":e=>!!e.code,"is-false":e=>!e.code},externalToken:{"is-true":e=>!!e.token,"is-false":e=>!e.token},abTestingKey:{"greater-than":(e,t)=>(e.abTestingKey||0)>t,"less-than":(e,t)=>(e.abTestingKey||0)<t}};function fe(e){const t={};if(e)try{Object.assign(t,JSON.parse(localStorage.getItem(w)))}catch(e){}return t}const ge="dls_ab_testing_id",ve=document.createElement("template");ve.innerHTML='\n\t<style>\n\t\t:host {\n all: initial;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n display: block;\n\t\t}\n\n\t\t#wc-root {\n\t\t\theight: 100%;\n\t\t\ttransition: opacity 300ms ease-in-out;\n display: flex;\n\t\t}\n\n\t\t#wc-root[data-theme] {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t.fade-out {\n\t\t\topacity: 0.1;\n\t\t}\n\n\t</style>\n\t<div id="wc-root"></div>\n\t';const me=(e,t="")=>Object.keys(e).reduce(((i,o)=>{var r;if("object"==typeof e[o]&&null!==e[o]&&!(null===(r=e[o])||void 0===r?void 0:r.value))return Object.assign(Object.assign({},i),me(e[o],`${t+o}.`));const n="object"==typeof e[o]?e[o]:{value:e[o]},s=Object.assign(Object.assign({},i),{[t+o]:n,[`form.${t}${o}`]:n});return"displayName"===o?Object.assign(Object.assign({},s),{[`${t}fullName`]:n,[`form.${t}fullName`]:n}):s}),[]);var be,ye,we,Ie,ke,Ce,Ae,Se,je,Ee,Ue,xe,Oe,Te,Le,Re,We,$e,Me,Pe,Ne,De,qe,_e,Fe,Ve,Ke,He,Be,Je,ze,Ge,Qe,Xe,Ye,Ze,et,tt,it,ot,rt,nt,st,at,lt,dt,ct,ut,ht,pt,ft,gt;class vt extends HTMLElement{static get observedAttributes(){return["project-id","flow-id","base-url","tenant","theme","locale","debug","storage-prefix","preview","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","validate-on-blur"]}constructor(o){super(),be.add(this),this.logger=console,we.set(this,!1),this.loggerWrapper={error:(e,i="")=>{this.logger.error(e,i,new Error),t(this,be,"m",Be).call(this,e,i)},warn:(e,t="")=>{this.logger.warn(e,t)},info:(e,t="",i={})=>{this.logger.info(e,t,i)},debug:(e,t="")=>{this.logger.debug(e,t)}},Ie.set(this,new ne),ke.set(this,new ne),Ce.set(this,{}),this.getComponentsContext=()=>t(this,Ce,"f"),this.nextRequestStatus=new ne({isLoading:!1}),Ae.set(this,void 0),Se.set(this,{popstate:t(this,be,"m",Te).bind(this),componentsContext:t(this,be,"m",Fe).bind(this)}),je.set(this,void 0),Me.set(this,z((()=>e(this,void 0,void 0,(function*(){const e=F({projectId:this.projectId,filename:d,baseUrl:this.baseStaticUrl});try{const{body:t,headers:i}=yield _(e,"json");return{projectConfig:t,executionContext:{geo:i["x-geo"]}}}catch(e){return{isMissingConfig:!0}}}))))),Ne.set(this,void 0),i(this,je,o,"f"),t(this,be,"m",Ee).call(this)}get projectId(){return this.getAttribute("project-id")}get flowId(){return this.getAttribute("flow-id")}get client(){try{return JSON.parse(this.getAttribute("client"))||{}}catch(e){return{}}}get baseUrl(){return this.getAttribute("base-url")||void 0}get baseStaticUrl(){return this.getAttribute("base-static-url")}get tenant(){return this.getAttribute("tenant")||void 0}get redirectUrl(){return this.getAttribute("redirect-url")||void 0}get debug(){return"true"===this.getAttribute("debug")}get locale(){return this.getAttribute("locale")||void 0}get theme(){var e,t;const i=this.getAttribute("theme");if("os"===i){return window.matchMedia&&(null===(t=null===(e=window.matchMedia)||void 0===e?void 0:e.call(window,"(prefers-color-scheme: dark)"))||void 0===t?void 0:t.matches)?"dark":"light"}return i||"light"}get autoFocus(){var e;const t=null!==(e=this.getAttribute("auto-focus"))&&void 0!==e?e:"true";return"skipFirstScreen"===t?t:"true"===t}get validateOnBlur(){return"true"===this.getAttribute("validate-on-blur")}get storeLastAuthenticatedUser(){var e;return"true"===(null!==(e=this.getAttribute("store-last-authenticated-user"))&&void 0!==e?e:"true")}get keepLastAuthenticatedUserAfterLogout(){return"true"===this.getAttribute("keep-last-authenticated-user-after-logout")}get storagePrefix(){return this.getAttribute("storage-prefix")||""}get preview(){return!!this.getAttribute("preview")}get formConfig(){return(e=>{try{return me(JSON.parse(e))}catch(e){return{}}})(this.form)}get form(){return this.getAttribute("form")}get formConfigValues(){return e=this.formConfig,t="value",Object.fromEntries(Object.entries(e).map((([e,i])=>[e,i[t]])));var e,t}getExecutionContext(){return e(this,void 0,void 0,(function*(){const{executionContext:e}=yield t(this,Me,"f").call(this);return e}))}getProjectConfig(){return e(this,void 0,void 0,(function*(){const{projectConfig:e}=yield t(this,Me,"f").call(this);return e}))}getFlowConfig(){return e(this,void 0,void 0,(function*(){var e,t;const i=yield this.getProjectConfig(),o=(null===(e=null==i?void 0:i.flows)||void 0===e?void 0:e[this.flowId])||{};return null!==(t=o.version)&&void 0!==t||(o.version=0),o}))}getTargetLocales(){return e(this,void 0,void 0,(function*(){const e=yield this.getFlowConfig();return((null==e?void 0:e.targetLocales)||[]).map((e=>e.toLowerCase()))}))}connectedCallback(){return e(this,void 0,void 0,(function*(){if(this.shadowRoot.isConnected){if(t(this,ke,"f").subscribe(t(this,be,"m",He).bind(this)),t(this,ke,"f").update({isDebug:this.debug}),t(this,be,"m",Ue).call(this))return void t(this,be,"m",xe).call(this);if(t(this,be,"m",Oe).call(this),i(this,Ne,t(this,be,"m",Pe).call(this),"f"),yield t(this,be,"m",We).call(this))return void this.loggerWrapper.error("This SDK version does not support your flows version","Make sure to upgrade your flows to the latest version or use an older SDK version");if((yield t(this,Me,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");t(this,be,"m",De).call(this),yield t(this,be,"m",Ge).call(this),yield t(this,be,"m",qe).call(this),t(this,be,"m",Je).call(this);const{executionId:e,stepId:o,token:r,code:n,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c,ssoQueryParams:u}=J();window.addEventListener("popstate",t(this,Se,"f").popstate),window.addEventListener("components-context",t(this,Se,"f").componentsContext),t(this,Ie,"f").subscribe(t(this,be,"m",Re).bind(this)),t(this,Ie,"f").update(Object.assign({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenant,redirectUrl:this.redirectUrl,locale:this.locale,stepId:o,executionId:e,token:r,code:n,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c},u)),i(this,we,!0,"f")}}))}disconnectedCallback(){t(this,Ie,"f").unsubscribeAll(),t(this,ke,"f").unsubscribeAll(),t(this,be,"m",Ke).call(this),window.removeEventListener("popstate",t(this,Se,"f").popstate),window.removeEventListener("components-context",t(this,Se,"f").componentsContext)}attributeChangedCallback(e,i,o){if(this.shadowRoot.isConnected&&t(this,we,"f")&&i!==o&&ye.observedAttributes.includes(e)){t(this,be,"m",Oe).call(this);const r=null===i;t(this,Ie,"f").update((({stepId:t,executionId:i})=>{let n=t,s=i;return r||(s=null,n=null,H()),{[B(e)]:o,stepId:n,executionId:s}})),t(this,ke,"f").update({isDebug:this.debug}),"theme"===e&&t(this,be,"m",Ve).call(this)}}}function mt(e,t){return`sdkScriptsResults.${t?`${e}_${t}`:e}`}ye=vt,we=new WeakMap,Ie=new WeakMap,ke=new WeakMap,Ce=new WeakMap,Ae=new WeakMap,Se=new WeakMap,je=new WeakMap,Me=new WeakMap,Ne=new WeakMap,be=new WeakSet,Ee=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(ve.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},Ue=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},xe=function(){const e=this.shadowRoot.host,t=document.createElement("form");t.style.width="100%",t.style.height="100%",e.parentElement.appendChild(t),t.appendChild(e)},Oe=function(){const e=["base-url","tenant","theme","locale","debug","redirect-url","auto-focus","store-last-authenticated-user","keep-last-authenticated-user-after-logout","preview","storage-prefix","form","client","validate-on-blur"];if(ye.observedAttributes.forEach((t=>{if(!e.includes(t)&&!this[B(t)])throw Error(`${t} cannot be empty`)})),this.theme&&"light"!==this.theme&&"dark"!==this.theme)throw Error('Supported theme values are "light", "dark", or leave empty for using the OS theme')},Te=function(){const{stepId:e,executionId:i}=K();t(this,Ie,"f").update({stepId:e,executionId:i})},Le=function(t,i){this.sdk=r(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},ye.sdkConfigOverrides),{projectId:t,baseUrl:i})),["start","next"].forEach((t=>{const i=this.sdk.flow[t];this.sdk.flow[t]=(...t)=>e(this,void 0,void 0,(function*(){this.nextRequestStatus.update({isLoading:!0});try{return yield i(...t)}catch(e){return{error:{errorCode:"J151000",errorDescription:e.toString()}}}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},Re=function(i,o,r){return e(this,void 0,void 0,(function*(){const{projectId:e,baseUrl:o}=i;if(r("projectId")||r("baseUrl")){if(!e)return;t(this,be,"m",Le).call(this,e,o)}t(this,je,"f").call(this,i)}))},We=function(){return e(this,void 0,void 0,(function*(){return(yield t(this,Me,"f").call(this)).isMissingConfig&&(yield t(this,be,"m",$e).call(this))}))},$e=function(){return e(this,void 0,void 0,(function*(){const e=F({projectId:this.projectId,filename:d,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield _(e,"json"),!0}catch(e){return!1}}))},Pe=function(){return e(this,void 0,void 0,(function*(){const e=F({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:t}=yield _(e,"json");return t}catch(e){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},De=function(){return e(this,void 0,void 0,(function*(){var e,i;const{projectConfig:o}=yield t(this,Me,"f").call(this),r=null===(i=null===(e=null==o?void 0:o.cssTemplate)||void 0===e?void 0:e[this.theme])||void 0===i?void 0:i.fonts;r&&Object.values(r).forEach((e=>(e=>{if(!e)return;const t=document.createElement("link");t.href=e,t.rel="stylesheet",document.head.appendChild(t)})(e.url)))}))},qe=function(){return e(this,void 0,void 0,(function*(){yield t(this,be,"m",_e).call(this),yield t(this,be,"m",Ve).call(this)}))},_e=function(){return e(this,void 0,void 0,(function*(){var e,i,o,r;const n=document.createElement("style"),s=yield t(this,Ne,"f");n.innerText=((null===(e=null==s?void 0:s.light)||void 0===e?void 0:e.globals)||"")+((null===(i=null==s?void 0:s.dark)||void 0===i?void 0:i.globals)||"");const a=yield ye.descopeUI;(null==a?void 0:a.componentsThemeManager)&&!a.componentsThemeManager.hasThemes&&(a.componentsThemeManager.themes={light:null===(o=null==s?void 0:s.light)||void 0===o?void 0:o.components,dark:null===(r=null==s?void 0:s.dark)||void 0===r?void 0:r.components}),this.shadowRoot.appendChild(n)}))},Fe=function(e){i(this,Ce,Object.assign(Object.assign({},t(this,Ce,"f")),e.detail),"f")},Ve=function(){return e(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const e=yield ye.descopeUI;(null==e?void 0:e.componentsThemeManager)&&(e.componentsThemeManager.currentThemeName=this.theme)}))},Ke=function(){var e;null===(e=t(this,Ae,"f"))||void 0===e||e.remove(),i(this,Ae,null,"f")},He=function(o){return e(this,arguments,void 0,(function*({isDebug:e}){e?(i(this,Ae,document.createElement("descope-debugger"),"f"),Object.assign(t(this,Ae,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield import("./debugger-wc-facea15c.js"),document.body.appendChild(t(this,Ae,"f"))):t(this,be,"m",Ke).call(this)}))},Be=function(e,i){var o;e&&this.debug&&(null===(o=t(this,Ae,"f"))||void 0===o||o.updateData({title:e,description:i}))},Je=function(){this.rootElement.onkeydown=e=>{var t,i,o;const r=!!(null===(t=this.shadowRoot.activeElement)||void 0===t?void 0:t.getAttribute("href")),n=P.includes(null!==(o=null===(i=this.shadowRoot.activeElement)||void 0===i?void 0:i.localName)&&void 0!==o?o:"");if("Enter"!==e.key||r||n)return;e.preventDefault();const s=this.rootElement.querySelectorAll("descope-button");if(1===s.length&&"false"!==s[0].getAttribute("auto-submit"))return void s[0].click();const a=Array.from(s).filter((e=>"true"===e.getAttribute("auto-submit")));if(1===a.length)return void a[0].click();const l=Array.from(s).filter((e=>"button"===e.getAttribute("data-type")));if(1===l.length)"false"!==l[0].getAttribute("auto-submit")&&l[0].click();else if(0===l.length){const e=Array.from(s).filter((e=>"sso"===e.getAttribute("data-type")));1===e.length&&"false"!==e[0].getAttribute("auto-submit")&&e[0].click()}}},ze=function(){return e(this,void 0,void 0,(function*(){var e,i;const o=null===(i=null===(e=yield t(this,Me,"f").call(this))||void 0===e?void 0:e.projectConfig)||void 0===i?void 0:i.componentsVersion;return o||(this.logger.error("Did not get components version, using latest version"),"latest")}))},Ge=function(){return e(this,void 0,void 0,(function*(){ye.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):ye.descopeUI=new Promise((i=>{if(globalThis.DescopeUI)return void i(globalThis.DescopeUI);const o=e=>{const t=document.createElement("script");return t.id="load-descope-ui",t.src=e,t},r=(e,t)=>e.replace("<version>",t),n=(e,t)=>{const o=()=>{this.loggerWrapper.error("Cannot load DescopeUI",`Make sure this URL is valid and return the correct script: "${e.src}"`),t()};e.addEventListener("load",(()=>{globalThis.DescopeUI||o(),i(globalThis.DescopeUI)})),e.addEventListener("error",o)};(()=>{e(this,void 0,void 0,(function*(){const e=yield t(this,be,"m",ze).call(this),s=o(r(u,e));n(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const t=o(r(h,e));n(t,(()=>{i(void 0)})),document.body.append(t)})),document.body.append(s)}))})()}))}))},vt.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.22.1"}};class bt extends vt{static set sdkConfigOverrides(e){vt.sdkConfigOverrides=e}constructor(){const o=new ne({deferredRedirect:!1});super(o.update.bind(o)),Qe.add(this),this.stepState=new ne({},{updateOnlyOnChange:!1}),Xe.set(this,void 0),Ye.set(this,null),Ze.set(this,{visibilitychange:t(this,Qe,"m",et).bind(this)}),tt.set(this,((o,r,n,s,a)=>{n===T&&i(this,Xe,setTimeout((()=>e(this,void 0,void 0,(function*(){var e;let i;try{i=yield this.sdk.flow.next(o,r,M,s,a,{})}catch(e){return void t(this,tt,"f").call(this,o,r,n,s,a)}t(this,ot,"f").call(this,i);const{action:l}=null!==(e=null==i?void 0:i.data)&&void 0!==e?e:{};t(this,tt,"f").call(this,o,r,l,s,a)}))),2e3),"f")})),it.set(this,(()=>{clearTimeout(t(this,Xe,"f")),i(this,Xe,null,"f")})),ot.set(this,(e=>{var i,o,r,n,s,l,d,c,u,h,p;if(!(null==e?void 0:e.ok)){const a=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.url,l=`${null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.status} - ${null===(r=null==e?void 0:e.response)||void 0===r?void 0:r.statusText}`;return t(this,Qe,"m",gt).call(this,"error",(null==e?void 0:e.error)||{errorCode:"J151001",errorDescription:l,errorMessage:a}),void this.loggerWrapper.error((null===(n=null==e?void 0:e.error)||void 0===n?void 0:n.errorDescription)||a,(null===(s=null==e?void 0:e.error)||void 0===s?void 0:s.errorMessage)||l)}null===(d=null===(l=e.data)||void 0===l?void 0:l.runnerLogs)||void 0===d||d.forEach((e=>{const{level:t,title:i,log:o}=e;t&&this.loggerWrapper[t]?this.loggerWrapper[t](i,o):this.loggerWrapper.info(i,o)}));const f=null===(h=null===(u=null===(c=e.data)||void 0===c?void 0:c.screen)||void 0===u?void 0:u.state)||void 0===h?void 0:h.errorText;(null===(p=e.data)||void 0===p?void 0:p.error)?this.loggerWrapper.error(`[${e.data.error.code}]: ${e.data.error.description}`,`${f?`${f} - `:""}${e.data.error.message}`):f&&this.loggerWrapper.error(f);const{status:g,authInfo:v,lastAuth:m}=e.data;if("completed"===g)return this.storeLastAuthenticatedUser&&function(e){(null==e?void 0:e.authMethod)&&a&&localStorage.setItem(w,JSON.stringify(e))}(m),void t(this,Qe,"m",gt).call(this,"success",v);const{executionId:b,stepId:y,stepName:I,action:k,screen:C,redirect:A,openInNewTabUrl:S,webauthn:j,error:E,samlIdpResponse:U}=e.data;k!==T?(this.loggerWrapper.info(`Step "${I||`#${y}`}" is ${g}`,"",{screen:C,status:g,stepId:y,stepName:I,action:k,error:E}),this.flowState.update({stepId:y,executionId:b,action:k,redirectTo:null==A?void 0:A.url,openInNewTabUrl:S,screenId:null==C?void 0:C.id,screenState:null==C?void 0:C.state,webauthnTransactionId:null==j?void 0:j.transactionId,webauthnOptions:null==j?void 0:j.options,samlIdpResponseUrl:null==U?void 0:U.url,samlIdpResponseSamlResponse:null==U?void 0:U.samlResponse,samlIdpResponseRelayState:null==U?void 0:U.relayState})):this.flowState.update({action:k})})),rt.set(this,z((()=>e(this,void 0,void 0,(function*(){var e;try{const t=yield this.sdk.webauthn.signIn.start("",window.location.origin);return t.ok||this.loggerWrapper.warn("Webauthn start failed",null===(e=null==t?void 0:t.error)||void 0===e?void 0:e.errorMessage),t.data}catch(e){this.loggerWrapper.warn("Webauthn start failed",e.message)}}))))),ut.set(this,Y(((i,o)=>e(this,void 0,void 0,(function*(){if("true"===i.getAttribute("formnovalidate")||t(this,Qe,"m",at).call(this)){const r=null==i?void 0:i.getAttribute("id");t(this,Qe,"m",dt).call(this,i);const n=yield t(this,Qe,"m",lt).call(this),s=(e=i,Array.from((null==e?void 0:e.attributes)||[]).reduce(((e,t)=>{var i;const o=null===(i=new RegExp("^data-descope-(\\S+)$").exec(t.name))||void 0===i?void 0:i[1];return o?Object.assign(e,{[o]:t.value}):e}),{})),a=this.getComponentsContext(),l=Object.assign(Object.assign(Object.assign(Object.assign({},a),s),n),{origin:window.location.origin}),d=yield this.getFlowConfig(),c=yield this.getProjectConfig(),u=yield o(r,d.version,c.componentsVersion,l);t(this,ot,"f").call(this,u),t(this,Qe,"m",ct).call(this,n)}var e}))))),this.flowState=o}loadSdkScripts(){return e(this,void 0,void 0,(function*(){const t=(yield this.getFlowConfig()).sdkScripts;null==t||t.forEach((t=>e(this,void 0,void 0,(function*(){(yield function(t){return e(this,void 0,void 0,(function*(){let e;switch(t){case"forter":return e=yield import("./forter-74d50b85.js"),e.default;case"fingerprint":return e=yield import("./fingerprint-84b451f2.js"),e.default;case"fingerprintDescope":return e=yield import("./fingerprintDescope-effc737b.js"),e.default;default:throw new Error(`Unknown script id: ${t}`)}}))}(t.id))(t.initArgs,{baseUrl:this.baseUrl},(e=>{this.dispatchEvent(new CustomEvent("components-context",{detail:{[mt(t.id,t.resultKey)]:e},bubbles:!0,composed:!0}))}))}))))}))}connectedCallback(){const i=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return e(this,void 0,void 0,(function*(){var e,o;this.shadowRoot.isConnected&&(null===(e=this.flowState)||void 0===e||e.subscribe(this.onFlowChange.bind(this)),null===(o=this.stepState)||void 0===o||o.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",t(this,Ze,"f").visibilitychange)),yield i.connectedCallback.call(this)}))}disconnectedCallback(){var e;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(e=t(this,Ye,"f"))||void 0===e||e.abort(),i(this,Ye,null,"f"),window.removeEventListener("visibilitychange",t(this,Ze,"f").visibilitychange)}getHtmlFilenameWithLocale(t,i){return e(this,void 0,void 0,(function*(){let e;const o=Z(t);return(yield this.getTargetLocales()).includes(o)&&(e=`${i}-${o}.html`),e}))}getPageContent(t,i){return e(this,void 0,void 0,(function*(){if(i)try{const{body:e}=yield _(i,"text");return e}catch(e){this.loggerWrapper.error(`Failed to fetch flow page from ${i}. Fallback to url ${t}`,e)}try{const{body:e}=yield _(t,"text");return e}catch(e){this.loggerWrapper.error("Failed to fetch flow page",e.message)}return null}))}onFlowChange(r,a,l){return e(this,void 0,void 0,(function*(){var e,d;const{projectId:c,flowId:u,tenant:h,stepId:p,executionId:f,action:g,screenId:v,screenState:m,redirectTo:b,openInNewTabUrl:y,redirectUrl:w,token:I,code:k,exchangeError:C,webauthnTransactionId:A,webauthnOptions:S,redirectAuthCodeChallenge:j,redirectAuthCallbackUrl:E,redirectAuthBackupCallbackUri:U,redirectAuthInitiator:x,locale:T,samlIdpResponseUrl:M,samlIdpResponseSamlResponse:P,samlIdpResponseRelayState:N}=r,D=o(r,["projectId","flowId","tenant","stepId","executionId","action","screenId","screenState","redirectTo","openInNewTabUrl","redirectUrl","token","code","exchangeError","webauthnTransactionId","webauthnOptions","redirectAuthCodeChallenge","redirectAuthCallbackUrl","redirectAuthBackupCallbackUri","redirectAuthInitiator","locale","samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"]);let q,_;const K=(()=>{const e=localStorage.getItem(ge);if(!e){const e=Math.floor(100*Math.random()+1);return localStorage.setItem(ge,e.toString()),e}return Number(e)})(),H=this.sdk.getLastUserLoginId(),B=yield this.getFlowConfig(),J=yield this.getProjectConfig(),z=E&&j?{callbackUrl:E,codeChallenge:j,backupCallbackUri:U}:void 0;if(!f&&(this.loadSdkScripts(),B.fingerprintEnabled&&B.fingerprintKey?yield n(B.fingerprintKey,this.baseUrl):s(),B.conditions?({startScreenId:q,conditionInteractionId:_}=((e,t)=>{const i=null==t?void 0:t.find((({key:t,operator:i,predicate:o})=>{var r;if("ELSE"===t)return!0;const n=null===(r=pe[t])||void 0===r?void 0:r[i];return!!(null==n?void 0:n(e,o))}));return i?{startScreenId:i.met.screenId,conditionInteractionId:i.met.interactionId}:{}})({loginId:H,code:k,token:I,abTestingKey:K},B.conditions)):B.condition?({startScreenId:q,conditionInteractionId:_}=((e,t)=>{var i;const o=null===(i=pe[null==e?void 0:e.key])||void 0===i?void 0:i[e.operator];if(!o)return{};const r=o(t,e.predicate)?e.met:e.unmet;return{startScreenId:null==r?void 0:r.screenId,conditionInteractionId:null==r?void 0:r.interactionId}})(B.condition,{loginId:H,code:k,token:I,abTestingKey:K})):q=B.startScreenId,!G(q,D))){const i=yield this.sdk.flow.start(u,Object.assign(Object.assign(Object.assign(Object.assign({tenant:h,redirectAuth:z},D),{client:this.client}),w&&{redirectUrl:w}),{lastAuth:fe(H),abTestingKey:K,locale:Z(T)}),_,"",B.version,J.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),k?{exchangeCode:k,idpInitiated:!0}:{}),D.descopeIdpInitiated&&{idpInitiated:!0}),I?{token:I}:{}),D.oidcLoginHint?{externalId:D.oidcLoginHint}:{}));return t(this,ot,"f").call(this,i),void("completed"!==(null===(e=null==i?void 0:i.data)||void 0===e?void 0:e.status)&&this.flowState.update({code:void 0,token:void 0}))}if(f&&(l("token")&&I||l("code")&&k||l("exchangeError")&&C)){const e=yield this.sdk.flow.next(f,p,$,B.version,J.componentsVersion,{token:I,exchangeCode:k,exchangeError:C});return t(this,ot,"f").call(this,e),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(g===W&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((e=>l(e)))){if(!M||!P)return void this.loggerWrapper.error("Did not get saml idp params data to load");((e,t,i,o)=>{const r=document.createElement("form");r.method="POST",r.action=e,r.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${t}" />\n <input type="hidden" role="saml-relay-state" name="RelayState" value="${i}" />\n <input style="display: none;" id="SAMLSubmitButton" type="submit" value="Continue" />\n `,document.body.appendChild(r),o(r)})(M,P,N||"",Q)}if(g===O&&(l("redirectTo")||l("deferredRedirect")))return b?"android"===x&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(b):void this.loggerWrapper.error("Did not get redirect url");if(g===L||g===R){if(!A||!S)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let e,o;null===(d=t(this,Ye,"f"))||void 0===d||d.abort(),i(this,Ye,null,"f");try{e=g===L?yield this.sdk.webauthn.helpers.create(S):yield this.sdk.webauthn.helpers.get(S)}catch(e){"InvalidStateError"===e.name?this.loggerWrapper.warn("WebAuthn operation failed",e.message):"NotAllowedError"!==e.name&&this.loggerWrapper.error(e.message),o=e.name}const r=yield this.sdk.flow.next(f,p,$,B.version,J.componentsVersion,{transactionId:A,response:e,failure:o});t(this,ot,"f").call(this,r)}if(t(this,tt,"f").call(this,f,p,g,B.version,J.componentsVersion),!v&&!q)return void this.loggerWrapper.warn("No screen was found to show");const X=q||v,Y=yield this.getHtmlFilenameWithLocale(T,X),{oidcLoginHint:ee,oidcPrompt:te,oidcErrorRedirectUri:ie,samlIdpUsername:oe}=D,re={direction:V(p,a.stepId),screenState:Object.assign(Object.assign({},m),{form:Object.assign(Object.assign({},this.formConfigValues),null==m?void 0:m.form),lastAuth:{loginId:H,name:this.sdk.getLastUserDisplayName()||H}}),htmlUrl:F({projectId:c,filename:`${X}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:Y&&F({projectId:c,filename:Y,baseUrl:this.baseStaticUrl}),samlIdpUsername:oe,oidcLoginHint:ee,oidcPrompt:te,oidcErrorRedirectUri:ie,openInNewTabUrl:y},ne=fe(H);G(q,D)?re.next=(e,t,i,o)=>this.sdk.flow.start(u,Object.assign(Object.assign(Object.assign(Object.assign({tenant:h,redirectAuth:z},D),{lastAuth:ne,preview:this.preview,abTestingKey:K,client:this.client}),w&&{redirectUrl:w}),{locale:Z(T)}),_,e,t,i,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),k&&{exchangeCode:k,idpInitiated:!0}),D.descopeIdpInitiated&&{idpInitiated:!0}),I&&{token:I})):(l("projectId")||l("baseUrl")||l("executionId")||l("stepId"))&&(re.next=(...e)=>this.sdk.flow.next(f,p,...e)),this.stepState.update(re)}))}loadDescopeUiComponents(t){return e(this,void 0,void 0,(function*(){const i=yield vt.descopeUI;if(!i)return;const o=(e=>[...Array.from(e.querySelectorAll("*")).reduce(((e,t)=>t.tagName.startsWith("DESCOPE-")?e.add(t.tagName.toLocaleLowerCase()):e),new Set)])(t);yield Promise.all(o.map((t=>e(this,void 0,void 0,(function*(){if(!!!customElements.get(t))if(i[t])try{return yield i[t]()}catch(e){if("NotSupportedError"!==e.name)throw e;console.debug(`${t} is already registered`)}else this.loggerWrapper.error(`Cannot load UI component "${t}"`,`Descope UI does not have a component named "${t}", available components are: "${Object.keys(i).join(", ")}"`)})))))}))}onStepChange(i,o){return e(this,void 0,void 0,(function*(){var r,n;const{htmlUrl:s,htmlLocaleUrl:a,direction:l,next:d,screenState:c,openInNewTabUrl:u}=i,h=document.createElement("template");h.innerHTML=yield this.getPageContent(s,a);const p=h.content.cloneNode(!0),f=this.loadDescopeUiComponents(h.content);this.sdk.webauthn.helpers.isSupported()?yield t(this,Qe,"m",st).call(this,p,d):p.querySelectorAll(`descope-button[${x}="biometrics"]`).forEach((e=>e.setAttribute("disabled","true"))),!i.samlIdpUsername||(null===(r=c.form)||void 0===r?void 0:r.loginId)||(null===(n=c.form)||void 0===n?void 0:n.email)||(c.form||(c.form={}),c.form.loginId=i.samlIdpUsername,c.form.email=i.samlIdpUsername),ue(p,c,c.componentsConfig,this.formConfig,this.errorTransformer,this.loggerWrapper);const{geo:g}=yield this.getExecutionContext();((e,t)=>{Array.from(e.querySelectorAll('descope-phone-field[default-code="autoDetect"]')).forEach((e=>{e.setAttribute("default-code",t)}))})(p,g);const v=()=>e(this,void 0,void 0,(function*(){var e,i;yield f;const r=this.shadowRoot.querySelector("div");var n,s;n=r,s=null===(e=null==c?void 0:c.totp)||void 0===e?void 0:e.image,ce(n,"descope-totp-image",s),((e,t)=>{ce(e,"descope-notp-image",t)})(r,null===(i=null==c?void 0:c.notp)||void 0===i?void 0:i.image),this.rootElement.replaceChildren(p),setTimeout((()=>{((e,t)=>{ae(e,null==t?void 0:t.inputs),ae(e,null==t?void 0:t.form)})(this.rootElement,c)}));const a=!o.htmlUrl;((e,t,i)=>{if(!0===t||"skipFirstScreen"===t&&!i){const t=e.querySelector("*[name]");setTimeout((()=>{null==t||t.focus()}))}})(this.rootElement,this.autoFocus,a),this.validateOnBlur&&(e=>{e.querySelectorAll("*[name]").forEach((e=>{e.addEventListener("blur",(()=>{var t;const i=e.focus;e.focus=()=>{},null===(t=e.reportValidity)||void 0===t||t.call(e),setTimeout((()=>{e.focus=i}))}))}))})(this.rootElement),t(this,Qe,"m",pt).call(this,d),a&&t(this,Qe,"m",gt).call(this,"ready",{}),t(this,Qe,"m",gt).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${x}="polling"]`)){const e=yield this.getFlowConfig(),i=yield this.getProjectConfig(),o=yield d(M,e.version,i.componentsVersion,{});t(this,ot,"f").call(this,o)}u&&!o.openInNewTabUrl&&window.open(u,"_blank")}));l?t(this,Qe,"m",ft).call(this,v,l):v()}))}}Xe=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,tt=new WeakMap,it=new WeakMap,ot=new WeakMap,rt=new WeakMap,ut=new WeakMap,Qe=new WeakSet,et=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},nt=function(e){const t=e.getAttribute("name");if(!["email"].includes(t)){const i=`user-${t}`;e.setAttribute("name",i),e.addEventListener("input",(()=>{e.setAttribute("name",e.value?t:i)}))}},st=function(o,r){return e(this,void 0,void 0,(function*(){var n;null===(n=t(this,Ye,"f"))||void 0===n||n.abort();const s=o.querySelector('*[autocomplete="webauthn"]');if(s&&(yield he())){const{options:o,transactionId:n}=(yield t(this,rt,"f").call(this))||{};if(o&&n){t(this,Qe,"m",nt).call(this,s),i(this,Ye,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(o,t(this,Ye,"f")).then((i=>e(this,void 0,void 0,(function*(){const e=yield r(s.id,a.version,l.componentsVersion,{transactionId:n,response:i});t(this,ot,"f").call(this,e)})))).catch((e=>{"AbortError"!==e.name&&this.loggerWrapper.error("Conditional login failed",e.message)}))}}}))},at=function(){let e=!0;return Array.from(this.shadowRoot.querySelectorAll("*[name]")).reverse().forEach((t=>{var i,o;"slot"!==t.localName&&(null===(i=t.reportValidity)||void 0===i||i.call(t),e&&(e=null===(o=t.checkValidity)||void 0===o?void 0:o.call(t)))})),e},lt=function(){return e(this,void 0,void 0,(function*(){const t=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${y}])`));return(yield Promise.all(t.map((t=>e(this,void 0,void 0,(function*(){return{name:t.getAttribute("name"),value:t.value}})))))).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.name]:t.value})),{})}))},dt=function(e){const t=this.nextRequestStatus.subscribe((({isLoading:i})=>{i?e.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(t),e.removeAttribute("loading"))}))},ct=function(e={}){var t,i;const o=X(e,["externalId","email","phone"]),r=X(e,["newPassword","password"]);if(o&&r)try{if(!globalThis.PasswordCredential)return;const e=new globalThis.PasswordCredential({id:o,password:r});null===(i=null===(t=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===t?void 0:t.store)||void 0===i||i.call(t,e)}catch(e){this.loggerWrapper.error("Could not store credentials",e.message)}},ht=function(e){this.rootElement.querySelectorAll('descope-passcode[data-auto-submit="true"]').forEach((i=>{i.addEventListener("input",(()=>{var o;(null===(o=i.checkValidity)||void 0===o?void 0:o.call(i))&&t(this,ut,"f").call(this,i,e)}))}))},pt=function(e){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((i=>{i.onclick=()=>{t(this,ut,"f").call(this,i,e)}})),t(this,Qe,"m",ht).call(this,e)},ft=function(e,t){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),e()}),{once:!0});const i=t===N.forward?"slide-forward":"slide-backward";Array.from(this.rootElement.getElementsByClassName("input-container")).forEach(((e,t)=>{e.style["transition-delay"]=40*t+"ms",e.classList.add(i)})),this.rootElement.classList.add("fade-out")},gt=function(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))},customElements.get("descope-wc")?console.log("descope-wc is already defined"):customElements.define("descope-wc",bt);export{bt as D,ne as S};
|