@descope/web-component 3.19.9 → 3.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{__classPrivateFieldGet as e,__classPrivateFieldSet as n}from"tslib";import{S as t}from"./index-8a46a3f6.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};
1
+ import{__classPrivateFieldGet as e,__classPrivateFieldSet as n}from"tslib";import{S as t}from"./index-6c5fc6a5.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 t}from"tslib";const n='\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',e=(e,r,o)=>t(void 0,void 0,void 0,(function*(){const{siteId:t}=e,r=n.replace(/{{SITE_ID}}/g,t),i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("id",t),i.text=r,document.body.appendChild(i),document.addEventListener("ftr:tokenReady",(t=>{o(t.detail)}))}));export{e as default};
@@ -1 +1 @@
1
- import{__awaiter as t,__classPrivateFieldGet as e,__classPrivateFieldSet as i}from"tslib";import o,{ensureFingerprintIds as n,clearFingerprintData as r}from"@descope/web-js-sdk";const s="undefined"!=typeof localStorage,a=s&&localStorage.getItem("base.content.url")||"",l="config.json",d="base.ui.components.url",c=s&&localStorage.getItem(d)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",u=s&&localStorage.getItem(d)||"https://cdn.jsdelivr.net/npm/@descope/web-components-ui@<version>/dist/umd/index.js",h="descope-login-flow",p="code",f="ra-challenge",g="ra-callback",m="ra-backup-callback",v="ra-initiator",b="data-exclude-field",y="dls_last_auth",w="state_id",I="saml_idp_state_id",k="saml_idp_username",A="descope_idp_initiated",C="sso_app_id",S="oidc_login_hint",E="oidc_prompt",j="data-type",U="redirect",x="poll",O="webauthnCreate",L="webauthnGet",T="loadForm",W="submit",R="polling",$=["descope-multi-select-combo-box","descope-text-area"];var M;function P(t){return new URLSearchParams(window.location.search).get(t)}function N(t){if(window.history.replaceState&&P(t)){const e=new URL(window.location.href),i=new URLSearchParams(e.search);i.delete(t),e.search=i.toString(),window.history.replaceState({},"",e.toString())}}function q(e,i){return t(this,void 0,void 0,(function*(){const t=yield fetch(e,{cache:"default"});if(!t.ok)throw Error(`Error fetching URL ${e} [${t.status}]`);return{body:yield t[i||"text"](),headers:Object.fromEntries(t.headers.entries())}}))}!function(t){t.backward="backward",t.forward="forward"}(M||(M={}));function D({projectId:t,filename:e,assetsFolder:i="v2-beta",baseUrl:o}){const n=new URL(a||o||"https://static.descope.com/pages");return n.pathname=((...t)=>t.join("/").replace(/\/+/g,"/"))(n.pathname,t,i,e),n.toString()}function F(t,e){if(!e)return;const i=+t,o=+e;return Number.isNaN(i)||Number.isNaN(o)?void 0:i>o?M.forward:i<o?M.backward:void 0}const _=()=>{const[t="",e=""]=(P(h)||"").split("_");return{executionId:t,stepId:e}};function V(){N(h)}const K=t=>t.replace(/-./g,(t=>t[1].toUpperCase())),H=()=>{const{executionId:t,stepId:e}=_();(t||e)&&V();const i=P("t")||void 0;i&&N("t");const o=P(p)||void 0;o&&N(p);const n=P("err")||void 0;n&&N("err");const{redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:P(f),redirectAuthCallbackUrl:P(g),redirectAuthBackupCallbackUri:P(m),redirectAuthInitiator:P(v)};(r||s||a||l)&&(N(f),N(g),N(m),N(v));const d=P(w);d&&N(w);const c=P(I);c&&N(I);const u=P(k);c&&N(k);const h=P(A);h&&N(A);const b=P(C);b&&N(C);const y=P(S);y&&N(S);const j=P(E);j&&N(E);return{executionId:t,stepId:e,token:i,code:o,exchangeError:n,redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,oidcIdpStateId:d,samlIdpStateId:c,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:b,oidcLoginHint:y,oidcPrompt:j}},B=t=>{let e,i;return(...o)=>{return e&&(r=o,(n=e).length===r.length&&n.every(((t,e)=>t===r[e])))||(e=o,i=t(...o)),i;var n,r}};const J=(t,e,i,o,n,r,s)=>t&&!e&&(t&&!i&&!o)&&(t&&!n)&&(t&&!r)&&(t&&!s),z=t=>null==t?void 0:t.submit(),G=(t,e)=>{const i=e.find((e=>t[e]));return i?t[i]:null},Q=(t,e=100)=>{let i;return function(...o){i||t.apply(this,o),clearTimeout(i),i=setTimeout((()=>{i=null}),e)}};function X(t){let e=navigator.language;return e&&"zh-TW"!==e&&(e=e.split("-")[0]),(t||e||"").toLowerCase()}var Y,Z,tt,et;function it(t,e){const i=Object.getOwnPropertyNames(t),o=Object.getOwnPropertyNames(e);if(i.length!==o.length)return!1;for(let o=0;o<i.length;o+=1){const n=i[o],r=t[n],s=e[n];if(null===r||null===s){if(r!==s)return!1}else if("object"==typeof r&&"object"==typeof s){if(!it(r,s))return!1}else if(r!==s)return!1}return!0}class ot{constructor(t={},{updateOnlyOnChange:o=!0}={}){Y.set(this,void 0),Z.set(this,{}),tt.set(this,0),et.set(this,!1),this.update=t=>{const o="function"==typeof t?t(e(this,Y,"f")):t,n=Object.assign(Object.assign({},e(this,Y,"f")),o);if(!e(this,et,"f")||!it(e(this,Y,"f"),n)){const t=e(this,Y,"f");i(this,Y,n,"f"),Object.freeze(e(this,Y,"f")),setTimeout((()=>{Object.values(e(this,Z,"f")).forEach((e=>e(n,t,((t,e)=>i=>t[i]!==e[i])(n,t))))}),0)}},i(this,Y,t,"f"),i(this,et,o,"f")}get current(){return Object.assign({},e(this,Y,"f"))}subscribe(t){return i(this,tt,e(this,tt,"f")+1,"f"),e(this,Z,"f")[e(this,tt,"f")]=t,e(this,tt,"f").toString()}unsubscribe(t){const i=!!e(this,Z,"f")[t];return i&&delete e(this,Z,"f")[t],i}unsubscribeAll(){return i(this,Z,{},"f"),!0}}Y=new WeakMap,Z=new WeakMap,tt=new WeakMap,et=new WeakMap;const nt=["disabled"],rt=(t,e)=>{Object.entries(e||{}).forEach((([e,i])=>{Array.from(t.querySelectorAll(`*[name="${e}"]:not([${b}])`)).forEach((t=>{t.value=i}))}))},st=(t,e)=>t.replace(/{{(.+?)}}/g,((t,i)=>{return o=e,i.split(".").reduce(((t,e)=>(null==t?void 0:t[e])||""),o);var o})),at=(t,e,i)=>{t.querySelectorAll(`[${j}="${e}"]`).forEach((t=>{t.setAttribute("href",i)}))},lt=(t,e,i)=>{var o,n;const r=null===(o=customElements.get(e))||void 0===o?void 0:o.cssVarList.url;i&&r&&(null===(n=null==t?void 0:t.style)||void 0===n||n.setProperty(r,`url(data:image/jpg;base64,${i})`))},dt=(t,e,i,o,n,r)=>{var s,a;let l=null==e?void 0:e.errorText;try{l=(null==n?void 0:n({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,i="")=>{t.querySelectorAll(`[${j}="${e}"]`).forEach((t=>{t.textContent=i,t.classList[i?"remove":"add"]("hide")}))})(t,"error-message",l),at(t,"totp-link",null===(s=null==e?void 0:e.totp)||void 0===s?void 0:s.provisionUrl),at(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=st(t.textContent,e);const i=t.getAttribute("href");i&&t.setAttribute("href",st(i,e))}))})(t,e),((t,e,i)=>{e&&Object.keys(e).forEach((o=>{t.querySelectorAll(`[name=${o}]`).forEach((t=>{const n=e[o];Object.keys(n).forEach((e=>{let o=n[e];if("string"!=typeof o)try{o=JSON.stringify(o)}catch(t){i.error(`Could not stringify value "${o}" for "${e}"`,t.message),o=""}t.setAttribute(e,o)}))}))}))})(t,i,r),((t,e)=>{t.querySelectorAll("[data-has-dynamic-attr-values]").forEach((t=>{Array.from(t.attributes).forEach((t=>{t.value=st(t.value,e)}))}))})(t,e),((t,e)=>{Object.entries(e).forEach((([e,i])=>{t.querySelectorAll(`[name="${e}"]`).forEach((t=>{Object.entries(i).forEach((([e,i])=>{nt.includes(e)&&t.setAttribute(e,i)}))}))}))})(t,o)},ct=B((()=>t(void 0,void 0,void 0,(function*(){var t,e,i,o,n;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,i=null==e?void 0:e.find((({brand:t,version:e})=>"Chromium"===t&&parseFloat(e)));return i?i.version:0})()>=108;return yield(i=100,o=r,n=s,new Promise(((t,e)=>{let r=!1;const s=setTimeout((()=>{r=!0,void 0!==n?t(n):e(new Error(`Promise timed out after ${i} ms`))}),i);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}})))),ut={"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 ht(t){const e={};if(t)try{Object.assign(e,JSON.parse(localStorage.getItem(y)))}catch(t){}return e}const pt="dls_ab_testing_id",ft=document.createElement("template");ft.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 gt=(t,e="")=>Object.keys(t).reduce(((i,o)=>{var n;if("object"==typeof t[o]&&null!==t[o]&&!(null===(n=t[o])||void 0===n?void 0:n.value))return Object.assign(Object.assign({},i),gt(t[o],`${e+o}.`));const r="object"==typeof t[o]?t[o]:{value:t[o]},s=Object.assign(Object.assign({},i),{[e+o]:r,[`form.${e}${o}`]:r});return"displayName"===o?Object.assign(Object.assign({},s),{[`${e}fullName`]:r,[`form.${e}fullName`]:r}):s}),[]);var mt,vt,bt,yt,wt,It,kt,At,Ct,St,Et,jt,Ut,xt,Ot,Lt,Tt,Wt,Rt,$t,Mt,Pt,Nt,qt,Dt,Ft,_t,Vt,Kt,Ht,Bt,Jt,zt,Gt,Qt,Xt,Yt,Zt,te,ee,ie,oe,ne,re,se,ae,le,de,ce,ue,he,pe;class fe 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(),mt.add(this),this.logger=console,vt.set(this,!1),this.loggerWrapper={error:(t,i="")=>{this.logger.error(t,i,new Error),e(this,mt,"m",Vt).call(this,t,i)},warn:(t,e="")=>{this.logger.warn(t,e)},info:(t,e="",i={})=>{this.logger.info(t,e,i)},debug:(t,e="")=>{this.logger.debug(t,e)}},bt.set(this,new ot),yt.set(this,new ot),wt.set(this,{}),this.getComponentsContext=()=>e(this,wt,"f"),this.nextRequestStatus=new ot({isLoading:!1}),It.set(this,void 0),kt.set(this,{popstate:e(this,mt,"m",Ut).bind(this),componentsContext:e(this,mt,"m",qt).bind(this)}),At.set(this,void 0),Wt.set(this,B((()=>t(this,void 0,void 0,(function*(){const t=D({projectId:this.projectId,filename:l,baseUrl:this.baseStaticUrl});try{const{body:e,headers:i}=yield q(t,"json");return{projectConfig:e,executionContext:{geo:i["x-geo"]}}}catch(t){return{isMissingConfig:!0}}}))))),$t.set(this,void 0),i(this,At,o,"f"),e(this,mt,"m",Ct).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 i=this.getAttribute("theme");if("os"===i){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 i||"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 gt(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,i])=>[t,i[e]])));var t,e}getExecutionContext(){return t(this,void 0,void 0,(function*(){const{executionContext:t}=yield e(this,Wt,"f").call(this);return t}))}getProjectConfig(){return t(this,void 0,void 0,(function*(){const{projectConfig:t}=yield e(this,Wt,"f").call(this);return t}))}getFlowConfig(){var e,i;return t(this,void 0,void 0,(function*(){const t=yield this.getProjectConfig(),o=(null===(e=null==t?void 0:t.flows)||void 0===e?void 0:e[this.flowId])||{};return null!==(i=o.version)&&void 0!==i||(o.version=0),o}))}getTargetLocales(){return t(this,void 0,void 0,(function*(){const t=yield this.getFlowConfig();return((null==t?void 0:t.targetLocales)||[]).map((t=>t.toLowerCase()))}))}connectedCallback(){return t(this,void 0,void 0,(function*(){if(this.shadowRoot.isConnected){if(e(this,yt,"f").subscribe(e(this,mt,"m",_t).bind(this)),e(this,yt,"f").update({isDebug:this.debug}),e(this,mt,"m",St).call(this))return void e(this,mt,"m",Et).call(this);if(e(this,mt,"m",jt).call(this),i(this,$t,e(this,mt,"m",Rt).call(this),"f"),yield e(this,mt,"m",Lt).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 e(this,Wt,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");e(this,mt,"m",Mt).call(this),yield e(this,mt,"m",Bt).call(this),yield e(this,mt,"m",Pt).call(this),e(this,mt,"m",Kt).call(this);const{executionId:t,stepId:o,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:f,ssoAppId:g,oidcLoginHint:m,oidcPrompt:v}=H();window.addEventListener("popstate",e(this,kt,"f").popstate),window.addEventListener("components-context",e(this,kt,"f").componentsContext),e(this,bt,"f").subscribe(e(this,mt,"m",Ot).bind(this)),e(this,bt,"f").update({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenant,redirectUrl:this.redirectUrl,locale:this.locale,stepId:o,executionId:t,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:f,ssoAppId:g,oidcLoginHint:m,oidcPrompt:v}),i(this,vt,!0,"f")}}))}disconnectedCallback(){e(this,bt,"f").unsubscribeAll(),e(this,yt,"f").unsubscribeAll(),e(this,mt,"m",Ft).call(this),window.removeEventListener("popstate",e(this,kt,"f").popstate),window.removeEventListener("components-context",e(this,kt,"f").componentsContext)}attributeChangedCallback(t,i,o){if(this.shadowRoot.isConnected&&e(this,vt,"f")&&i!==o&&fe.observedAttributes.includes(t)){e(this,mt,"m",jt).call(this);const n=null===i;e(this,bt,"f").update((({stepId:e,executionId:i})=>{let r=e,s=i;return n||(s=null,r=null,V()),{[K(t)]:o,stepId:r,executionId:s}})),e(this,yt,"f").update({isDebug:this.debug}),"theme"===t&&e(this,mt,"m",Dt).call(this)}}}vt=new WeakMap,bt=new WeakMap,yt=new WeakMap,wt=new WeakMap,It=new WeakMap,kt=new WeakMap,At=new WeakMap,Wt=new WeakMap,$t=new WeakMap,mt=new WeakSet,Ct=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(ft.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},St=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},Et=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)},jt=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(fe.observedAttributes.forEach((e=>{if(!t.includes(e)&&!this[K(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')},Ut=function(){const{stepId:t,executionId:i}=_();e(this,bt,"f").update({stepId:t,executionId:i})},xt=function(e,i){this.sdk=o(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},fe.sdkConfigOverrides),{projectId:e,baseUrl:i})),["start","next"].forEach((e=>{const i=this.sdk.flow[e];this.sdk.flow[e]=(...e)=>t(this,void 0,void 0,(function*(){this.nextRequestStatus.update({isLoading:!0});try{return yield i(...e)}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},Ot=function(i,o,n){return t(this,void 0,void 0,(function*(){const{projectId:t,baseUrl:o}=i;if(n("projectId")||n("baseUrl")){if(!t)return;e(this,mt,"m",xt).call(this,t,o)}e(this,At,"f").call(this,i)}))},Lt=function(){return t(this,void 0,void 0,(function*(){return(yield e(this,Wt,"f").call(this)).isMissingConfig&&(yield e(this,mt,"m",Tt).call(this))}))},Tt=function(){return t(this,void 0,void 0,(function*(){const t=D({projectId:this.projectId,filename:l,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield q(t,"json"),!0}catch(t){return!1}}))},Rt=function(){return t(this,void 0,void 0,(function*(){const t=D({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:e}=yield q(t,"json");return e}catch(t){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},Mt=function(){var i,o;return t(this,void 0,void 0,(function*(){const{projectConfig:t}=yield e(this,Wt,"f").call(this),n=null===(o=null===(i=null==t?void 0:t.cssTemplate)||void 0===i?void 0:i[this.theme])||void 0===o?void 0:o.fonts;n&&Object.values(n).forEach((t=>(t=>{if(!t)return;const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)})(t.url)))}))},Pt=function(){return t(this,void 0,void 0,(function*(){yield e(this,mt,"m",Nt).call(this),yield e(this,mt,"m",Dt).call(this)}))},Nt=function(){var i,o,n,r;return t(this,void 0,void 0,(function*(){const t=document.createElement("style"),s=yield e(this,$t,"f");t.innerText=((null===(i=null==s?void 0:s.light)||void 0===i?void 0:i.globals)||"")+((null===(o=null==s?void 0:s.dark)||void 0===o?void 0:o.globals)||"");const a=yield fe.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===(r=null==s?void 0:s.dark)||void 0===r?void 0:r.components}),this.shadowRoot.appendChild(t)}))},qt=function(t){i(this,wt,Object.assign(Object.assign({},e(this,wt,"f")),t.detail),"f")},Dt=function(){return t(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const t=yield fe.descopeUI;(null==t?void 0:t.componentsThemeManager)&&(t.componentsThemeManager.currentThemeName=this.theme)}))},Ft=function(){var t;null===(t=e(this,It,"f"))||void 0===t||t.remove(),i(this,It,null,"f")},_t=function({isDebug:o}){return t(this,void 0,void 0,(function*(){o?(i(this,It,document.createElement("descope-debugger"),"f"),Object.assign(e(this,It,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield import("./debugger-wc-05c63a10.js"),document.body.appendChild(e(this,It,"f"))):e(this,mt,"m",Ft).call(this)}))},Vt=function(t,i){var o;t&&this.debug&&(null===(o=e(this,It,"f"))||void 0===o||o.updateData({title:t,description:i}))},Kt=function(){this.rootElement.onkeydown=t=>{var e,i,o;const n=!!(null===(e=this.shadowRoot.activeElement)||void 0===e?void 0:e.getAttribute("href")),r=$.includes(null!==(o=null===(i=this.shadowRoot.activeElement)||void 0===i?void 0:i.localName)&&void 0!==o?o:"");if("Enter"!==t.key||n||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()}}},Ht=function(){var i,o;return t(this,void 0,void 0,(function*(){const t=null===(o=null===(i=yield e(this,Wt,"f").call(this))||void 0===i?void 0:i.projectConfig)||void 0===o?void 0:o.componentsVersion;return t||(this.logger.error("Did not get components version, using latest version"),"latest")}))},Bt=function(){return t(this,void 0,void 0,(function*(){fe.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):fe.descopeUI=new Promise((i=>{if(globalThis.DescopeUI)return void i(globalThis.DescopeUI);const o=t=>{const e=document.createElement("script");return e.id="load-descope-ui",e.src=t,e},n=(t,e)=>t.replace("<version>",e),r=(t,e)=>{const o=()=>{this.loggerWrapper.error("Cannot load DescopeUI",`Make sure this URL is valid and return the correct script: "${t.src}"`),e()};t.addEventListener("load",(()=>{globalThis.DescopeUI||o(),i(globalThis.DescopeUI)})),t.addEventListener("error",o)};(()=>{t(this,void 0,void 0,(function*(){const t=yield e(this,mt,"m",Ht).call(this),s=o(n(c,t));r(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const e=o(n(u,t));r(e,(()=>{i(void 0)})),document.body.append(e)})),document.body.append(s)}))})()}))}))},fe.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.19.9"}};class ge extends fe{static set sdkConfigOverrides(t){fe.sdkConfigOverrides=t}constructor(){const o=new ot({deferredRedirect:!1});super(o.update.bind(o)),Jt.add(this),this.stepState=new ot({},{updateOnlyOnChange:!1}),zt.set(this,void 0),Gt.set(this,null),Qt.set(this,{visibilitychange:e(this,Jt,"m",Xt).bind(this)}),Yt.set(this,((o,n,r,s,a)=>{r===x&&(e(this,Zt,"f").call(this),i(this,zt,setTimeout((()=>t(this,void 0,void 0,(function*(){var t;let i;try{i=yield this.sdk.flow.next(o,n,R,s,a,{})}catch(t){e(this,Yt,"f").call(this,o,n,r,s,a)}e(this,te,"f").call(this,i);const{action:l}=null!==(t=null==i?void 0:i.data)&&void 0!==t?t:{};e(this,Yt,"f").call(this,o,n,l,s,a)}))),2e3),"f"))})),Zt.set(this,(()=>{clearTimeout(e(this,zt,"f")),i(this,zt,null,"f")})),te.set(this,(t=>{var i,o,n,r,a,l,d,c,u,h,p;if(!(null==t?void 0:t.ok)){e(this,Jt,"m",pe).call(this,"error",null==t?void 0:t.error);const s=null===(i=null==t?void 0:t.response)||void 0===i?void 0:i.url,l=`${null===(o=null==t?void 0:t.response)||void 0===o?void 0:o.status} - ${null===(n=null==t?void 0:t.response)||void 0===n?void 0:n.statusText}`;return void this.loggerWrapper.error((null===(r=null==t?void 0:t.error)||void 0===r?void 0:r.errorDescription)||s,(null===(a=null==t?void 0:t.error)||void 0===a?void 0:a.errorMessage)||l)}null===(d=null===(l=t.data)||void 0===l?void 0:l.runnerLogs)||void 0===d||d.forEach((t=>{const{level:e,title:i,log:o}=t;e&&this.loggerWrapper[e]?this.loggerWrapper[e](i,o):this.loggerWrapper.info(i,o)}));const f=null===(h=null===(u=null===(c=t.data)||void 0===c?void 0:c.screen)||void 0===u?void 0:u.state)||void 0===h?void 0:h.errorText;(null===(p=t.data)||void 0===p?void 0:p.error)?this.loggerWrapper.error(`[${t.data.error.code}]: ${t.data.error.description}`,`${f?`${f} - `:""}${t.data.error.message}`):f&&this.loggerWrapper.error(f);const{status:g,authInfo:m,lastAuth:v}=t.data;if("completed"===g)return this.storeLastAuthenticatedUser&&function(t){(null==t?void 0:t.authMethod)&&s&&localStorage.setItem(y,JSON.stringify(t))}(v),void e(this,Jt,"m",pe).call(this,"success",m);const{executionId:b,stepId:w,stepName:I,action:k,screen:A,redirect:C,openInNewTabUrl:S,webauthn:E,error:j,samlIdpResponse:U}=t.data;k!==x?(this.loggerWrapper.info(`Step "${I||`#${w}`}" is ${g}`,"",{screen:A,status:g,stepId:w,stepName:I,action:k,error:j}),this.flowState.update({stepId:w,executionId:b,action:k,redirectTo:null==C?void 0:C.url,openInNewTabUrl:S,screenId:null==A?void 0:A.id,screenState:null==A?void 0:A.state,webauthnTransactionId:null==E?void 0:E.transactionId,webauthnOptions:null==E?void 0:E.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})})),ee.set(this,B((()=>t(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)}}))))),de.set(this,Q(((i,o)=>t(this,void 0,void 0,(function*(){if("true"===i.getAttribute("formnovalidate")||e(this,Jt,"m",re).call(this)){const n=null==i?void 0:i.getAttribute("id");e(this,Jt,"m",ae).call(this,i);const r=yield e(this,Jt,"m",se).call(this),s=(t=i,Array.from((null==t?void 0:t.attributes)||[]).reduce(((t,e)=>{var i;const o=null===(i=new RegExp("^data-descope-(\\S+)$").exec(e.name))||void 0===i?void 0:i[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}),d=yield this.getFlowConfig(),c=yield this.getProjectConfig(),u=yield o(n,d.version,c.componentsVersion,l);e(this,te,"f").call(this,u),e(this,Jt,"m",le).call(this,r)}var t}))))),this.flowState=o}connectedCallback(){const i=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});var o,n;return t(this,void 0,void 0,(function*(){this.shadowRoot.isConnected&&(null===(o=this.flowState)||void 0===o||o.subscribe(this.onFlowChange.bind(this)),null===(n=this.stepState)||void 0===n||n.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",e(this,Qt,"f").visibilitychange)),yield i.connectedCallback.call(this)}))}disconnectedCallback(){var t;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(t=e(this,Gt,"f"))||void 0===t||t.abort(),i(this,Gt,null,"f"),window.removeEventListener("visibilitychange",e(this,Qt,"f").visibilitychange)}getHtmlFilenameWithLocale(e,i){return t(this,void 0,void 0,(function*(){let t;const o=X(e);return(yield this.getTargetLocales()).includes(o)&&(t=`${i}-${o}.html`),t}))}getPageContent(e,i){return t(this,void 0,void 0,(function*(){if(i)try{const{body:t}=yield q(i,"text");return t}catch(t){this.loggerWrapper.error(`Failed to fetch flow page from ${i}. Fallback to url ${e}`,t)}try{const{body:t}=yield q(e,"text");return t}catch(t){this.loggerWrapper.error("Failed to fetch flow page",t.message)}return null}))}onFlowChange(o,s,a){var l,d;return t(this,void 0,void 0,(function*(){const{projectId:t,flowId:c,tenant:u,stepId:h,executionId:p,action:f,screenId:g,screenState:m,redirectTo:v,openInNewTabUrl:b,redirectUrl:y,token:w,code:I,exchangeError:k,webauthnTransactionId:A,webauthnOptions:C,redirectAuthCodeChallenge:S,redirectAuthCallbackUrl:E,redirectAuthBackupCallbackUri:j,redirectAuthInitiator:x,oidcIdpStateId:R,locale:$,samlIdpStateId:M,samlIdpUsername:P,descopeIdpInitiated:N,samlIdpResponseUrl:q,samlIdpResponseSamlResponse:_,samlIdpResponseRelayState:V,ssoAppId:K,oidcLoginHint:H,oidcPrompt:B}=o;let G,Q;const Y=(()=>{const t=localStorage.getItem(pt);if(!t){const t=Math.floor(100*Math.random()+1);return localStorage.setItem(pt,t.toString()),t}return Number(t)})(),Z=this.sdk.getLastUserLoginId(),tt=yield this.getFlowConfig(),et=yield this.getProjectConfig(),it=E&&S?{callbackUrl:E,codeChallenge:S,backupCallbackUri:j}:void 0;if(!p&&(tt.fingerprintEnabled&&tt.fingerprintKey?yield n(tt.fingerprintKey,this.baseUrl):r(),tt.conditions?({startScreenId:G,conditionInteractionId:Q}=((t,e)=>{const i=null==e?void 0:e.find((({key:e,operator:i,predicate:o})=>{var n;if("ELSE"===e)return!0;const r=null===(n=ut[e])||void 0===n?void 0:n[i];return!!(null==r?void 0:r(t,o))}));return i?{startScreenId:i.met.screenId,conditionInteractionId:i.met.interactionId}:{}})({loginId:Z,code:I,token:w,abTestingKey:Y},tt.conditions)):tt.condition?({startScreenId:G,conditionInteractionId:Q}=((t,e)=>{var i;const o=null===(i=ut[null==t?void 0:t.key])||void 0===i?void 0:i[t.operator];if(!o)return{};const n=o(e,t.predicate)?t.met:t.unmet;return{startScreenId:null==n?void 0:n.screenId,conditionInteractionId:null==n?void 0:n.interactionId}})(tt.condition,{loginId:Z,code:I,token:w,abTestingKey:Y})):G=tt.startScreenId,!J(G,R,M,P,K,H,B))){const t=yield this.sdk.flow.start(c,Object.assign(Object.assign({tenant:u,redirectAuth:it,oidcIdpStateId:R,samlIdpStateId:M,samlIdpUsername:P,ssoAppId:K,oidcLoginHint:H,oidcPrompt:B,client:this.client},y&&{redirectUrl:y}),{lastAuth:ht(Z),abTestingKey:Y,locale:X($)}),Q,"",tt.version,et.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),I?{exchangeCode:I,idpInitiated:!0}:{}),N&&{idpInitiated:!0}),w?{token:w}:{}),H?{externalId:H}:{}));return e(this,te,"f").call(this,t),void("completed"!==(null===(l=null==t?void 0:t.data)||void 0===l?void 0:l.status)&&this.flowState.update({code:void 0,token:void 0}))}if(p&&(a("token")&&w||a("code")&&I||a("exchangeError")&&k)){const t=yield this.sdk.flow.next(p,h,W,tt.version,et.componentsVersion,{token:w,exchangeCode:I,exchangeError:k});return e(this,te,"f").call(this,t),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(f===T&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((t=>a(t)))){if(!q||!_)return void this.loggerWrapper.error("Did not get saml idp params data to load");((t,e,i,o)=>{const n=document.createElement("form");n.method="POST",n.action=t,n.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${e}" />\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(n),o(n)})(q,_,V||"",z)}if(f===U&&(a("redirectTo")||a("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(f===O||f===L){if(!A||!C)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let t,o;null===(d=e(this,Gt,"f"))||void 0===d||d.abort(),i(this,Gt,null,"f");try{t=f===O?yield this.sdk.webauthn.helpers.create(C):yield this.sdk.webauthn.helpers.get(C)}catch(t){"InvalidStateError"===t.name?this.loggerWrapper.warn("WebAuthn operation failed",t.message):"NotAllowedError"!==t.name&&this.loggerWrapper.error(t.message),o=t.name}const n=yield this.sdk.flow.next(p,h,W,tt.version,et.componentsVersion,{transactionId:A,response:t,failure:o});e(this,te,"f").call(this,n)}if(e(this,Yt,"f").call(this,p,h,f,tt.version,et.componentsVersion),!g&&!G)return void this.loggerWrapper.warn("No screen was found to show");const ot=G||g,nt=yield this.getHtmlFilenameWithLocale($,ot),rt={direction:F(h,s.stepId),screenState:Object.assign(Object.assign({},m),{form:Object.assign(Object.assign({},this.formConfigValues),null==m?void 0:m.form),lastAuth:{loginId:Z,name:this.sdk.getLastUserDisplayName()||Z}}),htmlUrl:D({projectId:t,filename:`${ot}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:nt&&D({projectId:t,filename:nt,baseUrl:this.baseStaticUrl}),samlIdpUsername:P,oidcLoginHint:H,oidcPrompt:B,openInNewTabUrl:b},st=ht(Z);J(G,R,M,P,K,H,B)?rt.next=(t,e,i,o)=>this.sdk.flow.start(c,Object.assign(Object.assign({tenant:u,redirectAuth:it,oidcIdpStateId:R,samlIdpStateId:M,samlIdpUsername:P,ssoAppId:K,oidcLoginHint:H,lastAuth:st,preview:this.preview,abTestingKey:Y,client:this.client},y&&{redirectUrl:y}),{locale:X($),oidcPrompt:B}),Q,t,e,i,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),I&&{exchangeCode:I,idpInitiated:!0}),N&&{idpInitiated:!0}),w&&{token:w})):(a("projectId")||a("baseUrl")||a("executionId")||a("stepId"))&&(rt.next=(...t)=>this.sdk.flow.next(p,h,...t)),this.stepState.update(rt)}))}loadDescopeUiComponents(e){return t(this,void 0,void 0,(function*(){const i=yield fe.descopeUI;if(!i)return;const o=(t=>[...Array.from(t.querySelectorAll("*")).reduce(((t,e)=>e.tagName.startsWith("DESCOPE-")?t.add(e.tagName.toLocaleLowerCase()):t),new Set)])(e);yield Promise.all(o.map((e=>t(this,void 0,void 0,(function*(){if(!!!customElements.get(e))if(i[e])try{return yield i[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(i).join(", ")}"`)})))))}))}onStepChange(i,o){var n,r;return t(this,void 0,void 0,(function*(){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 e(this,Jt,"m",ne).call(this,p,d):p.querySelectorAll(`descope-button[${j}="biometrics"]`).forEach((t=>t.setAttribute("disabled","true"))),!i.samlIdpUsername||(null===(n=c.form)||void 0===n?void 0:n.loginId)||(null===(r=c.form)||void 0===r?void 0:r.email)||(c.form||(c.form={}),c.form.loginId=i.samlIdpUsername,c.form.email=i.samlIdpUsername),dt(p,c,c.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 m=()=>t(this,void 0,void 0,(function*(){var t,i;yield f;const n=this.shadowRoot.querySelector("div");var r,s;r=n,s=null===(t=null==c?void 0:c.totp)||void 0===t?void 0:t.image,lt(r,"descope-totp-image",s),((t,e)=>{lt(t,"descope-notp-image",e)})(n,null===(i=null==c?void 0:c.notp)||void 0===i?void 0:i.image),this.rootElement.replaceChildren(p),setTimeout((()=>{((t,e)=>{rt(t,null==e?void 0:e.inputs),rt(t,null==e?void 0:e.form)})(this.rootElement,c);const t=this.rootElement.querySelectorAll("descope-email-field"),i=this.rootElement.querySelectorAll("descope-password"),o=this.rootElement.querySelectorAll("descope-new-password");document.querySelectorAll('[data-hidden-input="true"]').forEach((t=>t.remove())),[...t,...i,...o].forEach((t=>e(this,Jt,"m",oe).call(this,t)))}));const a=!o.htmlUrl;((t,e,i)=>{if(!0===e||"skipFirstScreen"===e&&!i){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 i=t.focus;t.focus=()=>{},null===(e=t.reportValidity)||void 0===e||e.call(t),setTimeout((()=>{t.focus=i}))}))}))})(this.rootElement),e(this,Jt,"m",ue).call(this,d),a&&e(this,Jt,"m",pe).call(this,"ready",{}),e(this,Jt,"m",pe).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${j}="polling"]`)){const t=yield this.getFlowConfig(),i=yield this.getProjectConfig(),o=yield d(R,t.version,i.componentsVersion,{});e(this,te,"f").call(this,o)}u&&!o.openInNewTabUrl&&window.open(u,"_blank")}));l?e(this,Jt,"m",he).call(this,m,l):m()}))}}zt=new WeakMap,Gt=new WeakMap,Qt=new WeakMap,Yt=new WeakMap,Zt=new WeakMap,te=new WeakMap,ee=new WeakMap,de=new WeakMap,Jt=new WeakSet,Xt=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},ie=function(t){const e=t.getAttribute("name");if(!["email"].includes(e)){const i=`user-${e}`;t.setAttribute("name",i),t.addEventListener("input",(()=>{t.setAttribute("name",t.value?e:i)}))}},oe=function(t){if(!t)return;if("true"!==t.getAttribute("external-input"))return;t.querySelectorAll("input").forEach((e=>{const i=e.getAttribute("slot"),o=`input-${t.id}-${i}`,n=document.createElement("slot");n.setAttribute("name",o),n.setAttribute("slot",i),t.appendChild(n),e.setAttribute("slot",o),this.appendChild(e)}))},ne=function(o,n){var r;return t(this,void 0,void 0,(function*(){null===(r=e(this,Gt,"f"))||void 0===r||r.abort();const s=o.querySelector('*[autocomplete="webauthn"]');if(s&&(yield ct())){const{options:o,transactionId:r}=(yield e(this,ee,"f").call(this))||{};if(o&&r){e(this,Jt,"m",ie).call(this,s),i(this,Gt,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(o,e(this,Gt,"f")).then((i=>t(this,void 0,void 0,(function*(){const t=yield n(s.id,a.version,l.componentsVersion,{transactionId:r,response:i});e(this,te,"f").call(this,t)})))).catch((t=>{"AbortError"!==t.name&&this.loggerWrapper.error("Conditional login failed",t.message)}))}}}))},re=function(){let t=!0;return Array.from(this.shadowRoot.querySelectorAll("*[name]")).reverse().forEach((e=>{var i,o;"slot"!==e.localName&&(null===(i=e.reportValidity)||void 0===i||i.call(e),t&&(t=null===(o=e.checkValidity)||void 0===o?void 0:o.call(e)))})),t},se=function(){return t(this,void 0,void 0,(function*(){const e=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${b}])`));return(yield Promise.all(e.map((e=>t(this,void 0,void 0,(function*(){return{name:e.getAttribute("name"),value:e.value}})))))).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e.name]:e.value})),{})}))},ae=function(t){const e=this.nextRequestStatus.subscribe((({isLoading:i})=>{i?t.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(e),t.removeAttribute("loading"))}))},le=function(t={}){var e,i;const o=G(t,["externalId","email","phone"]),n=G(t,["newPassword","password"]);if(o&&n)try{if(!globalThis.PasswordCredential)return;const t=new globalThis.PasswordCredential({id:o,password:n});null===(i=null===(e=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===e?void 0:e.store)||void 0===i||i.call(e,t)}catch(t){this.loggerWrapper.error("Could not store credentials",t.message)}},ce=function(t){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))&&e(this,de,"f").call(this,i,t)}))}))},ue=function(t){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((i=>{i.onclick=()=>{e(this,de,"f").call(this,i,t)}})),e(this,Jt,"m",ce).call(this,t)},he=function(t,e){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),t()}),{once:!0});const i=e===M.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(i)})),this.rootElement.classList.add("fade-out")},pe=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",ge);export{ge as D,ot as S};
1
+ import{__awaiter as t,__classPrivateFieldGet as e,__classPrivateFieldSet as i}from"tslib";import o,{ensureFingerprintIds as n,clearFingerprintData as r}from"@descope/web-js-sdk";const s="undefined"!=typeof localStorage,a=s&&localStorage.getItem("base.content.url")||"",l="config.json",d="base.ui.components.url",c=s&&localStorage.getItem(d)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",u=s&&localStorage.getItem(d)||"https://cdn.jsdelivr.net/npm/@descope/web-components-ui@<version>/dist/umd/index.js",h="descope-login-flow",p="code",f="ra-challenge",g="ra-callback",v="ra-backup-callback",m="ra-initiator",b="data-exclude-field",y="dls_last_auth",w="state_id",I="saml_idp_state_id",k="saml_idp_username",A="descope_idp_initiated",C="sso_app_id",S="oidc_login_hint",E="oidc_prompt",j="data-type",U="redirect",x="poll",O="webauthnCreate",L="webauthnGet",T="loadForm",W="submit",$="polling",R=["descope-multi-select-combo-box","descope-text-area"];var M;function P(t){return new URLSearchParams(window.location.search).get(t)}function N(t){if(window.history.replaceState&&P(t)){const e=new URL(window.location.href),i=new URLSearchParams(e.search);i.delete(t),e.search=i.toString(),window.history.replaceState({},"",e.toString())}}function q(e,i){return t(this,void 0,void 0,(function*(){const t=yield fetch(e,{cache:"default"});if(!t.ok)throw Error(`Error fetching URL ${e} [${t.status}]`);return{body:yield t[i||"text"](),headers:Object.fromEntries(t.headers.entries())}}))}!function(t){t.backward="backward",t.forward="forward"}(M||(M={}));function D({projectId:t,filename:e,assetsFolder:i="v2-beta",baseUrl:o}){const n=new URL(a||o||"https://static.descope.com/pages");return n.pathname=((...t)=>t.join("/").replace(/\/+/g,"/"))(n.pathname,t,i,e),n.toString()}function F(t,e){if(!e)return;const i=+t,o=+e;return Number.isNaN(i)||Number.isNaN(o)?void 0:i>o?M.forward:i<o?M.backward:void 0}const _=()=>{const[t="",e=""]=(P(h)||"").split("_");return{executionId:t,stepId:e}};function V(){N(h)}const K=t=>t.replace(/-./g,(t=>t[1].toUpperCase())),H=()=>{const{executionId:t,stepId:e}=_();(t||e)&&V();const i=P("t")||void 0;i&&N("t");const o=P(p)||void 0;o&&N(p);const n=P("err")||void 0;n&&N("err");const{redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:P(f),redirectAuthCallbackUrl:P(g),redirectAuthBackupCallbackUri:P(v),redirectAuthInitiator:P(m)};(r||s||a||l)&&(N(f),N(g),N(v),N(m));const d=P(w);d&&N(w);const c=P(I);c&&N(I);const u=P(k);c&&N(k);const h=P(A);h&&N(A);const b=P(C);b&&N(C);const y=P(S);y&&N(S);const j=P(E);j&&N(E);return{executionId:t,stepId:e,token:i,code:o,exchangeError:n,redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,oidcIdpStateId:d,samlIdpStateId:c,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:b,oidcLoginHint:y,oidcPrompt:j}},B=t=>{let e,i;return(...o)=>{return e&&(r=o,(n=e).length===r.length&&n.every(((t,e)=>t===r[e])))||(e=o,i=t(...o)),i;var n,r}};const J=(t,e,i,o,n,r,s)=>t&&!e&&(t&&!i&&!o)&&(t&&!n)&&(t&&!r)&&(t&&!s),z=t=>null==t?void 0:t.submit(),G=(t,e)=>{const i=e.find((e=>t[e]));return i?t[i]:null},Q=(t,e=100)=>{let i;return function(...o){i||t.apply(this,o),clearTimeout(i),i=setTimeout((()=>{i=null}),e)}};function X(t){let e=navigator.language;return e&&"zh-TW"!==e&&(e=e.split("-")[0]),(t||e||"").toLowerCase()}var Y,Z,tt,et;function it(t,e){const i=Object.getOwnPropertyNames(t),o=Object.getOwnPropertyNames(e);if(i.length!==o.length)return!1;for(let o=0;o<i.length;o+=1){const n=i[o],r=t[n],s=e[n];if(null===r||null===s){if(r!==s)return!1}else if("object"==typeof r&&"object"==typeof s){if(!it(r,s))return!1}else if(r!==s)return!1}return!0}class ot{constructor(t={},{updateOnlyOnChange:o=!0}={}){Y.set(this,void 0),Z.set(this,{}),tt.set(this,0),et.set(this,!1),this.update=t=>{const o="function"==typeof t?t(e(this,Y,"f")):t,n=Object.assign(Object.assign({},e(this,Y,"f")),o);if(!e(this,et,"f")||!it(e(this,Y,"f"),n)){const t=e(this,Y,"f");i(this,Y,n,"f"),Object.freeze(e(this,Y,"f")),setTimeout((()=>{Object.values(e(this,Z,"f")).forEach((e=>e(n,t,((t,e)=>i=>t[i]!==e[i])(n,t))))}),0)}},i(this,Y,t,"f"),i(this,et,o,"f")}get current(){return Object.assign({},e(this,Y,"f"))}subscribe(t){return i(this,tt,e(this,tt,"f")+1,"f"),e(this,Z,"f")[e(this,tt,"f")]=t,e(this,tt,"f").toString()}unsubscribe(t){const i=!!e(this,Z,"f")[t];return i&&delete e(this,Z,"f")[t],i}unsubscribeAll(){return i(this,Z,{},"f"),!0}}Y=new WeakMap,Z=new WeakMap,tt=new WeakMap,et=new WeakMap;const nt=["disabled"],rt=(t,e)=>{Object.entries(e||{}).forEach((([e,i])=>{Array.from(t.querySelectorAll(`*[name="${e}"]:not([${b}])`)).forEach((t=>{t.value=i}))}))},st=(t,e)=>t.replace(/{{(.+?)}}/g,((t,i)=>{return o=e,i.split(".").reduce(((t,e)=>(null==t?void 0:t[e])||""),o);var o})),at=(t,e,i)=>{t.querySelectorAll(`[${j}="${e}"]`).forEach((t=>{t.setAttribute("href",i)}))},lt=(t,e,i)=>{var o,n;const r=null===(o=customElements.get(e))||void 0===o?void 0:o.cssVarList.url;i&&r&&(null===(n=null==t?void 0:t.style)||void 0===n||n.setProperty(r,`url(data:image/jpg;base64,${i})`))},dt=(t,e,i,o,n,r)=>{var s,a;let l=null==e?void 0:e.errorText;try{l=(null==n?void 0:n({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,i="")=>{t.querySelectorAll(`[${j}="${e}"]`).forEach((t=>{t.textContent=i,t.classList[i?"remove":"add"]("hide")}))})(t,"error-message",l),at(t,"totp-link",null===(s=null==e?void 0:e.totp)||void 0===s?void 0:s.provisionUrl),at(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=st(t.textContent,e);const i=t.getAttribute("href");i&&t.setAttribute("href",st(i,e))}))})(t,e),((t,e,i)=>{e&&Object.keys(e).forEach((o=>{t.querySelectorAll(`[name=${o}]`).forEach((t=>{const n=e[o];Object.keys(n).forEach((e=>{let o=n[e];if("string"!=typeof o)try{o=JSON.stringify(o)}catch(t){i.error(`Could not stringify value "${o}" for "${e}"`,t.message),o=""}t.setAttribute(e,o)}))}))}))})(t,i,r),((t,e)=>{t.querySelectorAll("[data-has-dynamic-attr-values]").forEach((t=>{Array.from(t.attributes).forEach((t=>{t.value=st(t.value,e)}))}))})(t,e),((t,e)=>{Object.entries(e).forEach((([e,i])=>{t.querySelectorAll(`[name="${e}"]`).forEach((t=>{Object.entries(i).forEach((([e,i])=>{nt.includes(e)&&t.setAttribute(e,i)}))}))}))})(t,o)},ct=B((()=>t(void 0,void 0,void 0,(function*(){var t,e,i,o,n;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,i=null==e?void 0:e.find((({brand:t,version:e})=>"Chromium"===t&&parseFloat(e)));return i?i.version:0})()>=108;return yield(i=100,o=r,n=s,new Promise(((t,e)=>{let r=!1;const s=setTimeout((()=>{r=!0,void 0!==n?t(n):e(new Error(`Promise timed out after ${i} ms`))}),i);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}})))),ut={"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 ht(t){const e={};if(t)try{Object.assign(e,JSON.parse(localStorage.getItem(y)))}catch(t){}return e}const pt="dls_ab_testing_id",ft=document.createElement("template");ft.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 gt=(t,e="")=>Object.keys(t).reduce(((i,o)=>{var n;if("object"==typeof t[o]&&null!==t[o]&&!(null===(n=t[o])||void 0===n?void 0:n.value))return Object.assign(Object.assign({},i),gt(t[o],`${e+o}.`));const r="object"==typeof t[o]?t[o]:{value:t[o]},s=Object.assign(Object.assign({},i),{[e+o]:r,[`form.${e}${o}`]:r});return"displayName"===o?Object.assign(Object.assign({},s),{[`${e}fullName`]:r,[`form.${e}fullName`]:r}):s}),[]);var vt,mt,bt,yt,wt,It,kt,At,Ct,St,Et,jt,Ut,xt,Ot,Lt,Tt,Wt,$t,Rt,Mt,Pt,Nt,qt,Dt,Ft,_t,Vt,Kt,Ht,Bt,Jt,zt,Gt,Qt,Xt,Yt,Zt,te,ee,ie,oe,ne,re,se,ae,le,de,ce,ue,he,pe;class fe 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(),vt.add(this),this.logger=console,mt.set(this,!1),this.loggerWrapper={error:(t,i="")=>{this.logger.error(t,i,new Error),e(this,vt,"m",Vt).call(this,t,i)},warn:(t,e="")=>{this.logger.warn(t,e)},info:(t,e="",i={})=>{this.logger.info(t,e,i)},debug:(t,e="")=>{this.logger.debug(t,e)}},bt.set(this,new ot),yt.set(this,new ot),wt.set(this,{}),this.getComponentsContext=()=>e(this,wt,"f"),this.nextRequestStatus=new ot({isLoading:!1}),It.set(this,void 0),kt.set(this,{popstate:e(this,vt,"m",Ut).bind(this),componentsContext:e(this,vt,"m",qt).bind(this)}),At.set(this,void 0),Wt.set(this,B((()=>t(this,void 0,void 0,(function*(){const t=D({projectId:this.projectId,filename:l,baseUrl:this.baseStaticUrl});try{const{body:e,headers:i}=yield q(t,"json");return{projectConfig:e,executionContext:{geo:i["x-geo"]}}}catch(t){return{isMissingConfig:!0}}}))))),Rt.set(this,void 0),i(this,At,o,"f"),e(this,vt,"m",Ct).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 i=this.getAttribute("theme");if("os"===i){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 i||"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 gt(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,i])=>[t,i[e]])));var t,e}getExecutionContext(){return t(this,void 0,void 0,(function*(){const{executionContext:t}=yield e(this,Wt,"f").call(this);return t}))}getProjectConfig(){return t(this,void 0,void 0,(function*(){const{projectConfig:t}=yield e(this,Wt,"f").call(this);return t}))}getFlowConfig(){var e,i;return t(this,void 0,void 0,(function*(){const t=yield this.getProjectConfig(),o=(null===(e=null==t?void 0:t.flows)||void 0===e?void 0:e[this.flowId])||{};return null!==(i=o.version)&&void 0!==i||(o.version=0),o}))}getTargetLocales(){return t(this,void 0,void 0,(function*(){const t=yield this.getFlowConfig();return((null==t?void 0:t.targetLocales)||[]).map((t=>t.toLowerCase()))}))}connectedCallback(){return t(this,void 0,void 0,(function*(){if(this.shadowRoot.isConnected){if(e(this,yt,"f").subscribe(e(this,vt,"m",_t).bind(this)),e(this,yt,"f").update({isDebug:this.debug}),e(this,vt,"m",St).call(this))return void e(this,vt,"m",Et).call(this);if(e(this,vt,"m",jt).call(this),i(this,Rt,e(this,vt,"m",$t).call(this),"f"),yield e(this,vt,"m",Lt).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 e(this,Wt,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");e(this,vt,"m",Mt).call(this),yield e(this,vt,"m",Bt).call(this),yield e(this,vt,"m",Pt).call(this),e(this,vt,"m",Kt).call(this);const{executionId:t,stepId:o,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:f,ssoAppId:g,oidcLoginHint:v,oidcPrompt:m}=H();window.addEventListener("popstate",e(this,kt,"f").popstate),window.addEventListener("components-context",e(this,kt,"f").componentsContext),e(this,bt,"f").subscribe(e(this,vt,"m",Ot).bind(this)),e(this,bt,"f").update({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenant,redirectUrl:this.redirectUrl,locale:this.locale,stepId:o,executionId:t,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:d,redirectAuthInitiator:c,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:f,ssoAppId:g,oidcLoginHint:v,oidcPrompt:m}),i(this,mt,!0,"f")}}))}disconnectedCallback(){e(this,bt,"f").unsubscribeAll(),e(this,yt,"f").unsubscribeAll(),e(this,vt,"m",Ft).call(this),window.removeEventListener("popstate",e(this,kt,"f").popstate),window.removeEventListener("components-context",e(this,kt,"f").componentsContext)}attributeChangedCallback(t,i,o){if(this.shadowRoot.isConnected&&e(this,mt,"f")&&i!==o&&fe.observedAttributes.includes(t)){e(this,vt,"m",jt).call(this);const n=null===i;e(this,bt,"f").update((({stepId:e,executionId:i})=>{let r=e,s=i;return n||(s=null,r=null,V()),{[K(t)]:o,stepId:r,executionId:s}})),e(this,yt,"f").update({isDebug:this.debug}),"theme"===t&&e(this,vt,"m",Dt).call(this)}}}mt=new WeakMap,bt=new WeakMap,yt=new WeakMap,wt=new WeakMap,It=new WeakMap,kt=new WeakMap,At=new WeakMap,Wt=new WeakMap,Rt=new WeakMap,vt=new WeakSet,Ct=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(ft.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},St=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},Et=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)},jt=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(fe.observedAttributes.forEach((e=>{if(!t.includes(e)&&!this[K(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')},Ut=function(){const{stepId:t,executionId:i}=_();e(this,bt,"f").update({stepId:t,executionId:i})},xt=function(e,i){this.sdk=o(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},fe.sdkConfigOverrides),{projectId:e,baseUrl:i})),["start","next"].forEach((e=>{const i=this.sdk.flow[e];this.sdk.flow[e]=(...e)=>t(this,void 0,void 0,(function*(){this.nextRequestStatus.update({isLoading:!0});try{return yield i(...e)}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},Ot=function(i,o,n){return t(this,void 0,void 0,(function*(){const{projectId:t,baseUrl:o}=i;if(n("projectId")||n("baseUrl")){if(!t)return;e(this,vt,"m",xt).call(this,t,o)}e(this,At,"f").call(this,i)}))},Lt=function(){return t(this,void 0,void 0,(function*(){return(yield e(this,Wt,"f").call(this)).isMissingConfig&&(yield e(this,vt,"m",Tt).call(this))}))},Tt=function(){return t(this,void 0,void 0,(function*(){const t=D({projectId:this.projectId,filename:l,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield q(t,"json"),!0}catch(t){return!1}}))},$t=function(){return t(this,void 0,void 0,(function*(){const t=D({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:e}=yield q(t,"json");return e}catch(t){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},Mt=function(){var i,o;return t(this,void 0,void 0,(function*(){const{projectConfig:t}=yield e(this,Wt,"f").call(this),n=null===(o=null===(i=null==t?void 0:t.cssTemplate)||void 0===i?void 0:i[this.theme])||void 0===o?void 0:o.fonts;n&&Object.values(n).forEach((t=>(t=>{if(!t)return;const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)})(t.url)))}))},Pt=function(){return t(this,void 0,void 0,(function*(){yield e(this,vt,"m",Nt).call(this),yield e(this,vt,"m",Dt).call(this)}))},Nt=function(){var i,o,n,r;return t(this,void 0,void 0,(function*(){const t=document.createElement("style"),s=yield e(this,Rt,"f");t.innerText=((null===(i=null==s?void 0:s.light)||void 0===i?void 0:i.globals)||"")+((null===(o=null==s?void 0:s.dark)||void 0===o?void 0:o.globals)||"");const a=yield fe.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===(r=null==s?void 0:s.dark)||void 0===r?void 0:r.components}),this.shadowRoot.appendChild(t)}))},qt=function(t){i(this,wt,Object.assign(Object.assign({},e(this,wt,"f")),t.detail),"f")},Dt=function(){return t(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const t=yield fe.descopeUI;(null==t?void 0:t.componentsThemeManager)&&(t.componentsThemeManager.currentThemeName=this.theme)}))},Ft=function(){var t;null===(t=e(this,It,"f"))||void 0===t||t.remove(),i(this,It,null,"f")},_t=function({isDebug:o}){return t(this,void 0,void 0,(function*(){o?(i(this,It,document.createElement("descope-debugger"),"f"),Object.assign(e(this,It,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield import("./debugger-wc-60046945.js"),document.body.appendChild(e(this,It,"f"))):e(this,vt,"m",Ft).call(this)}))},Vt=function(t,i){var o;t&&this.debug&&(null===(o=e(this,It,"f"))||void 0===o||o.updateData({title:t,description:i}))},Kt=function(){this.rootElement.onkeydown=t=>{var e,i,o;const n=!!(null===(e=this.shadowRoot.activeElement)||void 0===e?void 0:e.getAttribute("href")),r=R.includes(null!==(o=null===(i=this.shadowRoot.activeElement)||void 0===i?void 0:i.localName)&&void 0!==o?o:"");if("Enter"!==t.key||n||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()}}},Ht=function(){var i,o;return t(this,void 0,void 0,(function*(){const t=null===(o=null===(i=yield e(this,Wt,"f").call(this))||void 0===i?void 0:i.projectConfig)||void 0===o?void 0:o.componentsVersion;return t||(this.logger.error("Did not get components version, using latest version"),"latest")}))},Bt=function(){return t(this,void 0,void 0,(function*(){fe.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):fe.descopeUI=new Promise((i=>{if(globalThis.DescopeUI)return void i(globalThis.DescopeUI);const o=t=>{const e=document.createElement("script");return e.id="load-descope-ui",e.src=t,e},n=(t,e)=>t.replace("<version>",e),r=(t,e)=>{const o=()=>{this.loggerWrapper.error("Cannot load DescopeUI",`Make sure this URL is valid and return the correct script: "${t.src}"`),e()};t.addEventListener("load",(()=>{globalThis.DescopeUI||o(),i(globalThis.DescopeUI)})),t.addEventListener("error",o)};(()=>{t(this,void 0,void 0,(function*(){const t=yield e(this,vt,"m",Ht).call(this),s=o(n(c,t));r(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const e=o(n(u,t));r(e,(()=>{i(void 0)})),document.body.append(e)})),document.body.append(s)}))})()}))}))},fe.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.20.0"}};class ge extends fe{static set sdkConfigOverrides(t){fe.sdkConfigOverrides=t}constructor(){const o=new ot({deferredRedirect:!1});super(o.update.bind(o)),Jt.add(this),this.stepState=new ot({},{updateOnlyOnChange:!1}),zt.set(this,void 0),Gt.set(this,null),Qt.set(this,{visibilitychange:e(this,Jt,"m",Xt).bind(this)}),Yt.set(this,((o,n,r,s,a)=>{r===x&&i(this,zt,setTimeout((()=>t(this,void 0,void 0,(function*(){var t;let i;try{i=yield this.sdk.flow.next(o,n,$,s,a,{})}catch(t){e(this,Yt,"f").call(this,o,n,r,s,a)}e(this,te,"f").call(this,i);const{action:l}=null!==(t=null==i?void 0:i.data)&&void 0!==t?t:{};e(this,Yt,"f").call(this,o,n,l,s,a)}))),2e3),"f")})),Zt.set(this,(()=>{clearTimeout(e(this,zt,"f")),i(this,zt,null,"f")})),te.set(this,(t=>{var i,o,n,r,a,l,d,c,u,h,p;if(!(null==t?void 0:t.ok)){e(this,Jt,"m",pe).call(this,"error",null==t?void 0:t.error);const s=null===(i=null==t?void 0:t.response)||void 0===i?void 0:i.url,l=`${null===(o=null==t?void 0:t.response)||void 0===o?void 0:o.status} - ${null===(n=null==t?void 0:t.response)||void 0===n?void 0:n.statusText}`;return void this.loggerWrapper.error((null===(r=null==t?void 0:t.error)||void 0===r?void 0:r.errorDescription)||s,(null===(a=null==t?void 0:t.error)||void 0===a?void 0:a.errorMessage)||l)}null===(d=null===(l=t.data)||void 0===l?void 0:l.runnerLogs)||void 0===d||d.forEach((t=>{const{level:e,title:i,log:o}=t;e&&this.loggerWrapper[e]?this.loggerWrapper[e](i,o):this.loggerWrapper.info(i,o)}));const f=null===(h=null===(u=null===(c=t.data)||void 0===c?void 0:c.screen)||void 0===u?void 0:u.state)||void 0===h?void 0:h.errorText;(null===(p=t.data)||void 0===p?void 0:p.error)?this.loggerWrapper.error(`[${t.data.error.code}]: ${t.data.error.description}`,`${f?`${f} - `:""}${t.data.error.message}`):f&&this.loggerWrapper.error(f);const{status:g,authInfo:v,lastAuth:m}=t.data;if("completed"===g)return this.storeLastAuthenticatedUser&&function(t){(null==t?void 0:t.authMethod)&&s&&localStorage.setItem(y,JSON.stringify(t))}(m),void e(this,Jt,"m",pe).call(this,"success",v);const{executionId:b,stepId:w,stepName:I,action:k,screen:A,redirect:C,openInNewTabUrl:S,webauthn:E,error:j,samlIdpResponse:U}=t.data;k!==x?(this.loggerWrapper.info(`Step "${I||`#${w}`}" is ${g}`,"",{screen:A,status:g,stepId:w,stepName:I,action:k,error:j}),this.flowState.update({stepId:w,executionId:b,action:k,redirectTo:null==C?void 0:C.url,openInNewTabUrl:S,screenId:null==A?void 0:A.id,screenState:null==A?void 0:A.state,webauthnTransactionId:null==E?void 0:E.transactionId,webauthnOptions:null==E?void 0:E.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})})),ee.set(this,B((()=>t(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)}}))))),de.set(this,Q(((i,o)=>t(this,void 0,void 0,(function*(){if("true"===i.getAttribute("formnovalidate")||e(this,Jt,"m",re).call(this)){const n=null==i?void 0:i.getAttribute("id");e(this,Jt,"m",ae).call(this,i);const r=yield e(this,Jt,"m",se).call(this),s=(t=i,Array.from((null==t?void 0:t.attributes)||[]).reduce(((t,e)=>{var i;const o=null===(i=new RegExp("^data-descope-(\\S+)$").exec(e.name))||void 0===i?void 0:i[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}),d=yield this.getFlowConfig(),c=yield this.getProjectConfig(),u=yield o(n,d.version,c.componentsVersion,l);e(this,te,"f").call(this,u),e(this,Jt,"m",le).call(this,r)}var t}))))),this.flowState=o}loadSdkScripts(){return t(this,void 0,void 0,(function*(){const e=(yield this.getFlowConfig()).sdkScripts;null==e||e.forEach((e=>t(this,void 0,void 0,(function*(){(yield function(e){return t(this,void 0,void 0,(function*(){let t;if("forter"===e)return t=yield import("./forter-74d50b85.js"),t.default;throw new Error(`Unknown script id: ${e}`)}))}(e.id))(e.initArgs,{baseUrl:this.baseUrl},(t=>{var i,o;this.dispatchEvent(new CustomEvent("components-context",{detail:{[(i=e.id,o=e.resultKey,`sdkScriptsResults.${o?`${i}_${o}`:i}`)]:t},bubbles:!0,composed:!0}))}))}))))}))}connectedCallback(){const i=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});var o,n;return t(this,void 0,void 0,(function*(){this.shadowRoot.isConnected&&(null===(o=this.flowState)||void 0===o||o.subscribe(this.onFlowChange.bind(this)),null===(n=this.stepState)||void 0===n||n.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",e(this,Qt,"f").visibilitychange)),yield i.connectedCallback.call(this)}))}disconnectedCallback(){var t;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(t=e(this,Gt,"f"))||void 0===t||t.abort(),i(this,Gt,null,"f"),window.removeEventListener("visibilitychange",e(this,Qt,"f").visibilitychange)}getHtmlFilenameWithLocale(e,i){return t(this,void 0,void 0,(function*(){let t;const o=X(e);return(yield this.getTargetLocales()).includes(o)&&(t=`${i}-${o}.html`),t}))}getPageContent(e,i){return t(this,void 0,void 0,(function*(){if(i)try{const{body:t}=yield q(i,"text");return t}catch(t){this.loggerWrapper.error(`Failed to fetch flow page from ${i}. Fallback to url ${e}`,t)}try{const{body:t}=yield q(e,"text");return t}catch(t){this.loggerWrapper.error("Failed to fetch flow page",t.message)}return null}))}onFlowChange(o,s,a){var l,d;return t(this,void 0,void 0,(function*(){const{projectId:t,flowId:c,tenant:u,stepId:h,executionId:p,action:f,screenId:g,screenState:v,redirectTo:m,openInNewTabUrl:b,redirectUrl:y,token:w,code:I,exchangeError:k,webauthnTransactionId:A,webauthnOptions:C,redirectAuthCodeChallenge:S,redirectAuthCallbackUrl:E,redirectAuthBackupCallbackUri:j,redirectAuthInitiator:x,oidcIdpStateId:$,locale:R,samlIdpStateId:M,samlIdpUsername:P,descopeIdpInitiated:N,samlIdpResponseUrl:q,samlIdpResponseSamlResponse:_,samlIdpResponseRelayState:V,ssoAppId:K,oidcLoginHint:H,oidcPrompt:B}=o;let G,Q;const Y=(()=>{const t=localStorage.getItem(pt);if(!t){const t=Math.floor(100*Math.random()+1);return localStorage.setItem(pt,t.toString()),t}return Number(t)})(),Z=this.sdk.getLastUserLoginId(),tt=yield this.getFlowConfig(),et=yield this.getProjectConfig(),it=E&&S?{callbackUrl:E,codeChallenge:S,backupCallbackUri:j}:void 0;if(!p&&(this.loadSdkScripts(),tt.fingerprintEnabled&&tt.fingerprintKey?yield n(tt.fingerprintKey,this.baseUrl):r(),tt.conditions?({startScreenId:G,conditionInteractionId:Q}=((t,e)=>{const i=null==e?void 0:e.find((({key:e,operator:i,predicate:o})=>{var n;if("ELSE"===e)return!0;const r=null===(n=ut[e])||void 0===n?void 0:n[i];return!!(null==r?void 0:r(t,o))}));return i?{startScreenId:i.met.screenId,conditionInteractionId:i.met.interactionId}:{}})({loginId:Z,code:I,token:w,abTestingKey:Y},tt.conditions)):tt.condition?({startScreenId:G,conditionInteractionId:Q}=((t,e)=>{var i;const o=null===(i=ut[null==t?void 0:t.key])||void 0===i?void 0:i[t.operator];if(!o)return{};const n=o(e,t.predicate)?t.met:t.unmet;return{startScreenId:null==n?void 0:n.screenId,conditionInteractionId:null==n?void 0:n.interactionId}})(tt.condition,{loginId:Z,code:I,token:w,abTestingKey:Y})):G=tt.startScreenId,!J(G,$,M,P,K,H,B))){const t=yield this.sdk.flow.start(c,Object.assign(Object.assign({tenant:u,redirectAuth:it,oidcIdpStateId:$,samlIdpStateId:M,samlIdpUsername:P,ssoAppId:K,oidcLoginHint:H,oidcPrompt:B,client:this.client},y&&{redirectUrl:y}),{lastAuth:ht(Z),abTestingKey:Y,locale:X(R)}),Q,"",tt.version,et.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),I?{exchangeCode:I,idpInitiated:!0}:{}),N&&{idpInitiated:!0}),w?{token:w}:{}),H?{externalId:H}:{}));return e(this,te,"f").call(this,t),void("completed"!==(null===(l=null==t?void 0:t.data)||void 0===l?void 0:l.status)&&this.flowState.update({code:void 0,token:void 0}))}if(p&&(a("token")&&w||a("code")&&I||a("exchangeError")&&k)){const t=yield this.sdk.flow.next(p,h,W,tt.version,et.componentsVersion,{token:w,exchangeCode:I,exchangeError:k});return e(this,te,"f").call(this,t),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(f===T&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((t=>a(t)))){if(!q||!_)return void this.loggerWrapper.error("Did not get saml idp params data to load");((t,e,i,o)=>{const n=document.createElement("form");n.method="POST",n.action=t,n.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${e}" />\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(n),o(n)})(q,_,V||"",z)}if(f===U&&(a("redirectTo")||a("deferredRedirect")))return m?"android"===x&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(m):void this.loggerWrapper.error("Did not get redirect url");if(f===O||f===L){if(!A||!C)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let t,o;null===(d=e(this,Gt,"f"))||void 0===d||d.abort(),i(this,Gt,null,"f");try{t=f===O?yield this.sdk.webauthn.helpers.create(C):yield this.sdk.webauthn.helpers.get(C)}catch(t){"InvalidStateError"===t.name?this.loggerWrapper.warn("WebAuthn operation failed",t.message):"NotAllowedError"!==t.name&&this.loggerWrapper.error(t.message),o=t.name}const n=yield this.sdk.flow.next(p,h,W,tt.version,et.componentsVersion,{transactionId:A,response:t,failure:o});e(this,te,"f").call(this,n)}if(e(this,Yt,"f").call(this,p,h,f,tt.version,et.componentsVersion),!g&&!G)return void this.loggerWrapper.warn("No screen was found to show");const ot=G||g,nt=yield this.getHtmlFilenameWithLocale(R,ot),rt={direction:F(h,s.stepId),screenState:Object.assign(Object.assign({},v),{form:Object.assign(Object.assign({},this.formConfigValues),null==v?void 0:v.form),lastAuth:{loginId:Z,name:this.sdk.getLastUserDisplayName()||Z}}),htmlUrl:D({projectId:t,filename:`${ot}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:nt&&D({projectId:t,filename:nt,baseUrl:this.baseStaticUrl}),samlIdpUsername:P,oidcLoginHint:H,oidcPrompt:B,openInNewTabUrl:b},st=ht(Z);J(G,$,M,P,K,H,B)?rt.next=(t,e,i,o)=>this.sdk.flow.start(c,Object.assign(Object.assign({tenant:u,redirectAuth:it,oidcIdpStateId:$,samlIdpStateId:M,samlIdpUsername:P,ssoAppId:K,oidcLoginHint:H,lastAuth:st,preview:this.preview,abTestingKey:Y,client:this.client},y&&{redirectUrl:y}),{locale:X(R),oidcPrompt:B}),Q,t,e,i,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),I&&{exchangeCode:I,idpInitiated:!0}),N&&{idpInitiated:!0}),w&&{token:w})):(a("projectId")||a("baseUrl")||a("executionId")||a("stepId"))&&(rt.next=(...t)=>this.sdk.flow.next(p,h,...t)),this.stepState.update(rt)}))}loadDescopeUiComponents(e){return t(this,void 0,void 0,(function*(){const i=yield fe.descopeUI;if(!i)return;const o=(t=>[...Array.from(t.querySelectorAll("*")).reduce(((t,e)=>e.tagName.startsWith("DESCOPE-")?t.add(e.tagName.toLocaleLowerCase()):t),new Set)])(e);yield Promise.all(o.map((e=>t(this,void 0,void 0,(function*(){if(!!!customElements.get(e))if(i[e])try{return yield i[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(i).join(", ")}"`)})))))}))}onStepChange(i,o){var n,r;return t(this,void 0,void 0,(function*(){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 e(this,Jt,"m",ne).call(this,p,d):p.querySelectorAll(`descope-button[${j}="biometrics"]`).forEach((t=>t.setAttribute("disabled","true"))),!i.samlIdpUsername||(null===(n=c.form)||void 0===n?void 0:n.loginId)||(null===(r=c.form)||void 0===r?void 0:r.email)||(c.form||(c.form={}),c.form.loginId=i.samlIdpUsername,c.form.email=i.samlIdpUsername),dt(p,c,c.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=()=>t(this,void 0,void 0,(function*(){var t,i;yield f;const n=this.shadowRoot.querySelector("div");var r,s;r=n,s=null===(t=null==c?void 0:c.totp)||void 0===t?void 0:t.image,lt(r,"descope-totp-image",s),((t,e)=>{lt(t,"descope-notp-image",e)})(n,null===(i=null==c?void 0:c.notp)||void 0===i?void 0:i.image),this.rootElement.replaceChildren(p),setTimeout((()=>{((t,e)=>{rt(t,null==e?void 0:e.inputs),rt(t,null==e?void 0:e.form)})(this.rootElement,c);const t=this.rootElement.querySelectorAll("descope-email-field"),i=this.rootElement.querySelectorAll("descope-password"),o=this.rootElement.querySelectorAll("descope-new-password");document.querySelectorAll('[data-hidden-input="true"]').forEach((t=>t.remove())),[...t,...i,...o].forEach((t=>e(this,Jt,"m",oe).call(this,t)))}));const a=!o.htmlUrl;((t,e,i)=>{if(!0===e||"skipFirstScreen"===e&&!i){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 i=t.focus;t.focus=()=>{},null===(e=t.reportValidity)||void 0===e||e.call(t),setTimeout((()=>{t.focus=i}))}))}))})(this.rootElement),e(this,Jt,"m",ue).call(this,d),a&&e(this,Jt,"m",pe).call(this,"ready",{}),e(this,Jt,"m",pe).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${j}="polling"]`)){const t=yield this.getFlowConfig(),i=yield this.getProjectConfig(),o=yield d($,t.version,i.componentsVersion,{});e(this,te,"f").call(this,o)}u&&!o.openInNewTabUrl&&window.open(u,"_blank")}));l?e(this,Jt,"m",he).call(this,v,l):v()}))}}zt=new WeakMap,Gt=new WeakMap,Qt=new WeakMap,Yt=new WeakMap,Zt=new WeakMap,te=new WeakMap,ee=new WeakMap,de=new WeakMap,Jt=new WeakSet,Xt=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},ie=function(t){const e=t.getAttribute("name");if(!["email"].includes(e)){const i=`user-${e}`;t.setAttribute("name",i),t.addEventListener("input",(()=>{t.setAttribute("name",t.value?e:i)}))}},oe=function(t){if(!t)return;if("true"!==t.getAttribute("external-input"))return;t.querySelectorAll("input").forEach((e=>{const i=e.getAttribute("slot"),o=`input-${t.id}-${i}`,n=document.createElement("slot");n.setAttribute("name",o),n.setAttribute("slot",i),t.appendChild(n),e.setAttribute("slot",o),this.appendChild(e)}))},ne=function(o,n){var r;return t(this,void 0,void 0,(function*(){null===(r=e(this,Gt,"f"))||void 0===r||r.abort();const s=o.querySelector('*[autocomplete="webauthn"]');if(s&&(yield ct())){const{options:o,transactionId:r}=(yield e(this,ee,"f").call(this))||{};if(o&&r){e(this,Jt,"m",ie).call(this,s),i(this,Gt,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(o,e(this,Gt,"f")).then((i=>t(this,void 0,void 0,(function*(){const t=yield n(s.id,a.version,l.componentsVersion,{transactionId:r,response:i});e(this,te,"f").call(this,t)})))).catch((t=>{"AbortError"!==t.name&&this.loggerWrapper.error("Conditional login failed",t.message)}))}}}))},re=function(){let t=!0;return Array.from(this.shadowRoot.querySelectorAll("*[name]")).reverse().forEach((e=>{var i,o;"slot"!==e.localName&&(null===(i=e.reportValidity)||void 0===i||i.call(e),t&&(t=null===(o=e.checkValidity)||void 0===o?void 0:o.call(e)))})),t},se=function(){return t(this,void 0,void 0,(function*(){const e=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${b}])`));return(yield Promise.all(e.map((e=>t(this,void 0,void 0,(function*(){return{name:e.getAttribute("name"),value:e.value}})))))).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e.name]:e.value})),{})}))},ae=function(t){const e=this.nextRequestStatus.subscribe((({isLoading:i})=>{i?t.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(e),t.removeAttribute("loading"))}))},le=function(t={}){var e,i;const o=G(t,["externalId","email","phone"]),n=G(t,["newPassword","password"]);if(o&&n)try{if(!globalThis.PasswordCredential)return;const t=new globalThis.PasswordCredential({id:o,password:n});null===(i=null===(e=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===e?void 0:e.store)||void 0===i||i.call(e,t)}catch(t){this.loggerWrapper.error("Could not store credentials",t.message)}},ce=function(t){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))&&e(this,de,"f").call(this,i,t)}))}))},ue=function(t){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((i=>{i.onclick=()=>{e(this,de,"f").call(this,i,t)}})),e(this,Jt,"m",ce).call(this,t)},he=function(t,e){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),t()}),{once:!0});const i=e===M.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(i)})),this.rootElement.classList.add("fade-out")},pe=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",ge);export{ge as D,ot as S};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{D as default}from"./index-8a46a3f6.js";import"tslib";import"@descope/web-js-sdk";
1
+ export{D as default}from"./index-6c5fc6a5.js";import"tslib";import"@descope/web-js-sdk";
package/dist/index.d.ts CHANGED
@@ -119,6 +119,13 @@ type FlowConfig = {
119
119
  condition?: ClientCondition;
120
120
  fingerprintEnabled?: boolean;
121
121
  fingerprintKey?: string;
122
+ sdkScripts?: [
123
+ {
124
+ id: string;
125
+ initArgs: Record<string, any>;
126
+ resultKey?: string;
127
+ }
128
+ ];
122
129
  };
123
130
  interface ProjectConfiguration {
124
131
  componentsVersion: string;
@@ -211,6 +218,7 @@ declare class DescopeWc extends BaseDescopeWc {
211
218
  flowState: State<FlowState>;
212
219
  stepState: State<StepState>;
213
220
  constructor();
221
+ loadSdkScripts(): Promise<void>;
214
222
  connectedCallback(): Promise<void>;
215
223
  disconnectedCallback(): void;
216
224
  getHtmlFilenameWithLocale(locale: string, screenId: string): Promise<string>;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
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"},g="/v1/auth/otp/signup-in",f="/v1/auth/magiclink/verify",v="/v1/auth/magiclink/signin",m="/v1/auth/magiclink/signup",b={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},w="/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",O={email:"/v1/auth/enchantedlink/update/email"},C="/v1/auth/enchantedlink/signup-in",A="/v1/auth/oauth/authorize",S="/v1/auth/oauth/exchange",x="v1/auth/oauth/native/start",U="v1/auth/oauth/native/finish",E="/v1/auth/saml/authorize",L="/v1/auth/saml/exchange",T="/v1/auth/totp/verify",R="/v1/auth/totp/signup",P="/v1/auth/totp/update",$="/v1/auth/notp/whatsapp/signin",M="/v1/auth/notp/whatsapp/signup",q="/v1/auth/notp/whatsapp/signup-in",W="/v1/auth/notp/pending-session",D={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"},_={start:"/v1/auth/webauthn/signup-in/start"},F={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},K="/v1/auth/password/signup",H="/v1/auth/password/signin",J="/v1/auth/password/reset",V="/v1/auth/password/update",z="/v1/auth/password/replace",B="/v1/auth/password/policy",Z="/v1/auth/refresh",G="/v1/auth/tenant/select",X="/v1/auth/logout",Y="/v1/auth/logoutall",Q="/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},ge=({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:g}=l,f=(e=>void 0===e?void 0:JSON.stringify(e))(d),v={headers:de(he(t,g),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.23.2"},(null==n?void 0:n.baseHeaders)||{},pe(f)?ue:{},u),method:p,body:f};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 fe=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 be(e){const{exp:t}=me(e);return(new Date).getTime()/1e3>t}function we(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===fe&&Object.assign(i.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get("retry-after"))||0})),i}const Oe=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),Ce=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),Ae=e=>t=>e.test(t),Se=Ae(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),xe=Ae(/^\+[1-9]{1}[0-9]{3,14}$/),Ue=Oe(Se,'"{val}" is not a valid email'),Ee=Oe(xe,'"{val}" is not a valid phone number'),Le=Oe((1,e=>e.length>=1),"Minimum length is 1");const Te=Oe((e=>"string"==typeof e),"Input is not a string"),Re=Oe((e=>void 0===e),"Input is defined"),Pe=($e=[Te(),Re()],"Input is not a string or undefined",(e="Input is not a string or undefined")=>t=>{const n=$e.filter((e=>e(t)));return!(n.length<$e.length)&&(e?e.replace("{val}",t):n.join(" OR "))});var $e;const Me=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>Ce(...e).validate(n[t]))),t(...n)),qe=e=>[Te(`"${e}" must be a string`)],We=e=>[Te(`"${e}" must be a string`),Le(`"${e}" must not be empty`)],De=e=>[Te(`"${e}" must be a string`),Ue()],Ne=e=>[Te(`"${e}" must be a string`),Ee()],_e=Me(We("accessKey")),Fe=e=>({exchange:_e(((t,n)=>je(e.post(c,{loginOptions:n},{token:t}))))}),Ke=(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),He=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||re,re)});var Je,Ve;!function(e){e.sms="sms",e.voice="voice",e.whatsapp="whatsapp"}(Je||(Je={})),function(e){e.email="email"}(Ve||(Ve={}));const ze=Object.assign(Object.assign({},Je),Ve);var Be;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(Be||(Be={}));const Ze=We("loginId"),Ge=Me(We("token")),Xe=Me(Ze),Ye=Me(We("pendingRef")),Qe=Me(Ze,De("email")),et=e=>({verify:Ge((t=>je(e.post(y,{token:t})))),signIn:Xe(((t,n,o,i)=>je(e.post(ke(I,ze.email),{loginId:t,URI:n,loginOptions:o},{token:i})))),signUpOrIn:Xe(((t,n,o)=>je(e.post(ke(C,ze.email),{loginId:t,URI:n,loginOptions:o})))),signUp:Xe(((t,n,o,i)=>je(e.post(ke(k,ze.email),{loginId:t,URI:n,user:o,loginOptions:i})))),waitForSession:Ye(((t,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=He(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:Qe(((t,n,o,i,r)=>je(e.post(O.email,Object.assign({loginId:t,email:n,URI:o},r),{token:i}))))}}),tt=Me(We("flowId")),nt=Me(We("executionId"),We("stepId"),We("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=We("loginId"),rt=Me(We("token")),st=Me(it),at=Me(it,Ne("phone")),lt=Me(it,De("email")),ct=Object.keys(ze).filter((e=>e!==Je.voice)),dt=e=>({verify:rt((t=>je(e.post(f,{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(w,n),{loginId:t,URI:o,loginOptions:i}))))})),{}),update:{email:lt(((t,n,o,i,r)=>je(e.post(b.email,Object.assign({loginId:t,email:n,URI:o},r),{token:i})))),phone:Object.keys(Je).filter((e=>e!==Je.voice)).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:at(((t,o,i,r,s)=>je(e.post(ke(b.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=Me(We("code")),pt=e=>({start:Object.assign(((t,n,o,i)=>je(e.post(A,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(A,o||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:i}))})),{})),exchange:ht((t=>je(e.post(S,{code:t})))),startNative:(t,n,o)=>je(e.post(x,{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}))}),gt=We("loginId"),ft=Me(gt,We("code")),vt=Me(gt),mt=Me(gt,Ne("phone")),bt=Me(gt,De("email")),wt=e=>({verify:Object.keys(ze).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:ft(((t,o)=>je(e.post(ke(d,n),{code:o,loginId:t}))))})),{}),signIn:Object.keys(ze).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(ze).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(ze).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:vt(((t,o)=>je(e.post(ke(g,n),{loginId:t,loginOptions:o}))))})),{}),update:{email:bt(((t,n,o,i)=>je(e.post(p.email,Object.assign({loginId:t,email:n},i),{token:o})))),phone:Object.keys(Je).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=Me(We("tenant")),It=Me(We("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(L,{code:t}))))}),jt=We("loginId"),Ot=Me(jt,We("code")),Ct=Me(jt),At=Me(jt),St=e=>({signUp:Ct(((t,n)=>je(e.post(R,{loginId:t,user:n})))),verify:Ot(((t,n,o,i)=>je(e.post(T,{loginId:t,code:n,loginOptions:o},{token:i})))),update:At(((t,n)=>je(e.post(P,{loginId:t},{token:n}))))}),xt=We("loginId"),Ut=We("newPassword"),Et=Me(xt,We("password")),Lt=Me(xt),Tt=Me(xt,Ut),Rt=Me(xt,We("oldPassword"),Ut),Pt=e=>({signUp:Et(((t,n,o,i)=>je(e.post(K,{loginId:t,password:n,user:o,loginOptions:i})))),signIn:Et(((t,n,o)=>je(e.post(H,{loginId:t,password:n,loginOptions:o})))),sendReset:Lt(((t,n,o)=>je(e.post(J,{loginId:t,redirectUrl:n,templateOptions:o})))),update:Tt(((t,n,o)=>je(e.post(V,{loginId:t,newPassword:n},{token:o})))),replace:Rt(((t,n,o)=>je(e.post(z,{loginId:t,oldPassword:n,newPassword:o})))),policy:()=>je(e.get(B))}),$t=qe("loginId"),Mt=We("loginId"),qt=We("origin"),Wt=Me(Mt,qt,We("name")),Dt=Me(Mt,qt),Nt=Me($t,qt),_t=Me(Mt,qt,We("token")),Ft=Me(We("transactionId"),We("response")),Kt=e=>({signUp:{start:Wt(((t,n,o)=>je(e.post(D.start,{user:{loginId:t,name:o},origin:n})))),finish:Ft(((t,n)=>je(e.post(D.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:Dt(((t,n)=>je(e.post(_.start,{loginId:t,origin:n}))))},update:{start:_t(((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}))))}}),Ht=qe("loginId"),Jt=Me(Ht),Vt=Me(We("pendingRef")),zt=e=>({signUpOrIn:Jt(((t,n)=>je(e.post(q,{loginId:t,loginOptions:n})))),signUp:Jt(((t,n,o)=>je(e.post(M,{loginId:t,user:n,loginOptions:o})))),signIn:Jt(((t,n,o)=>je(e.post($,{loginId:t,loginOptions:n},{token:o})))),waitForSession:Vt(((t,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=He(n);let s;const a=setInterval((async()=>{const n=await e.post(W,{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)}))))}),Bt=Me(We("token")),Zt=Me([Pe('"token" must be string or undefined')]);var Gt,Xt=Me([("projectId",Gt=We("projectId"),Oe(((e,t)=>n=>Ce(...t).validate(((e,t,n)=>{const o=(Array.isArray(t)?t.join("."):String(t)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,((e,t,n)=>"."+n)).split("."),i=o.length;let r=0,s=e===Object(e)?e:void 0;for(;null!=s&&r<i;)s=s[o[r++]];return r&&r===i&&void 0!==s?s:void 0})(n,e)))("projectId",Gt))())])((e=>{var t;return(({projectId:e,logger:t,baseUrl:n,hooks:o,cookiePolicy:i,baseHeaders:r={},fetch:s})=>{return a=ge({baseUrl:n||ie,projectId:e,logger:t,hooks:o,cookiePolicy:i,baseConfig:{baseHeaders:r},fetch:s}),{accessKey:Fe(a),otp:wt(a),magicLink:dt(a),enchantedLink:et(a),oauth:pt(a),saml:kt(a),totp:St(a),notp:zt(a),webauthn:Kt(a),password:Pt(a),flow:ot(a),refresh:Zt((e=>je(a.post(Z,{},{token:e})))),selectTenant:Me([Te("tenantId")],[Pe('"token" must be string or undefined')])(((e,t)=>je(a.post(G,{tenant:e},{token:t})))),logout:Zt((e=>je(a.post(X,{},{token:e})))),logoutAll:Zt((e=>je(a.post(Y,{},{token:e})))),me:Zt((e=>je(a.get(Q,{token:e})))),history:Zt((e=>je(a.get(ee,{token:e})))),isJwtExpired:Bt(be),getTenants:Bt(we),getJwtPermissions:Bt(ye),getJwtRoles:Bt(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}}))})),Yt=Object.assign(Xt,{DeliveryMethods:ze});
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",S="/v1/auth/enchantedlink/pending-session",j={email:"/v1/auth/enchantedlink/update/email"},A="/v1/auth/enchantedlink/signup-in",C="/v1/auth/oauth/authorize",x="/v1/auth/oauth/exchange",O="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",q="/v1/auth/notp/pending-session",D={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"},B={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},F="/v1/auth/password/signup",V="/v1/auth/password/signin",H="/v1/auth/password/reset",K="/v1/auth/password/update",G="/v1/auth/password/replace",J="/v1/auth/password/policy",z="/v1/auth/refresh",X="/v1/auth/tenant/select",Z="/v1/auth/logout",Q="/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.23.2"},(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 St(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 jt=(t,e)=>(n=e)=>e=>!t(e)&&n.replace("{val}",e),At=(...t)=>({validate:e=>(t.forEach((t=>{const n=t(e);if(n)throw new Error(n)})),!0)}),Ct=t=>e=>t.test(e),xt=Ct(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),Ot=Ct(/^\+[1-9]{1}[0-9]{3,14}$/),Ut=jt(xt,'"{val}" is not a valid email'),Et=jt(Ot,'"{val}" is not a valid phone number'),Tt=jt((1,t=>t.length>=1),"Minimum length is 1");const Lt=jt((t=>"string"==typeof t),"Input is not a string"),_t=jt((t=>void 0===t),"Input is defined"),Rt=(Pt=[Lt(),_t()],"Input is not a string or undefined",(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)=>At(...t).validate(n[e]))),e(...n)),Mt=t=>[Lt(`"${t}" must be a string`)],qt=t=>[Lt(`"${t}" must be a string`),Tt(`"${t}" must not be empty`)],Dt=t=>[Lt(`"${t}" must be a string`),Ut()],Nt=t=>[Lt(`"${t}" must be a string`),Et()],Wt=$t(qt("accessKey")),Bt=t=>({exchange:Wt(((e,n)=>St(t.post(c,{loginOptions:n},{token:e}))))}),Ft=(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 Ht,Kt;!function(t){t.sms="sms",t.voice="voice",t.whatsapp="whatsapp"}(Ht||(Ht={})),function(t){t.email="email"}(Kt||(Kt={}));const Gt=Object.assign(Object.assign({},Ht),Kt);var Jt;!function(t){t.waiting="waiting",t.running="running",t.completed="completed",t.failed="failed"}(Jt||(Jt={}));const zt=qt("loginId"),Xt=$t(qt("token")),Zt=$t(zt),Qt=$t(qt("pendingRef")),Yt=$t(zt,Dt("email")),te=t=>({verify:Xt((e=>St(t.post(y,{token:e})))),signIn:Zt(((e,n,o,i)=>St(t.post(kt(I,Gt.email),{loginId:e,URI:n,loginOptions:o},{token:i})))),signUpOrIn:Zt(((e,n,o)=>St(t.post(kt(A,Gt.email),{loginId:e,URI:n,loginOptions:o})))),signUp:Zt(((e,n,o,i)=>St(t.post(kt(k,Gt.email),{loginId:e,URI:n,user:o,loginOptions:i})))),waitForSession:Qt(((e,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=Vt(n);let s;const a=setInterval((async()=>{const n=await t.post(S,{pendingRef:e});n.ok&&(clearInterval(a),s&&clearTimeout(s),o(St(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)=>St(t.post(j.email,Object.assign({loginId:e,email:n,URI:o},r),{token:i}))))}}),ee=$t(qt("flowId")),ne=$t(qt("executionId"),qt("stepId"),qt("interactionId")),oe=t=>({start:ee(((e,n,o,i,r,s,a)=>St(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)=>St(t.post(nt,{executionId:e,stepId:n,interactionId:o,version:i,componentsVersion:r,input:s}))))}),ie=qt("loginId"),re=$t(qt("token")),se=$t(ie),ae=$t(ie,Nt("phone")),le=$t(ie,Dt("email")),ce=Object.keys(Gt).filter((t=>t!==Ht.voice)),de=t=>({verify:re((e=>St(t.post(g,{token:e})))),signIn:ce.reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:se(((e,o,i,r)=>St(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)=>St(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)=>St(t.post(kt(b,n),{loginId:e,URI:o,loginOptions:i}))))})),{}),update:{email:le(((e,n,o,i,r)=>St(t.post(w.email,Object.assign({loginId:e,email:n,URI:o},r),{token:i})))),phone:Object.keys(Ht).filter((t=>t!==Ht.voice)).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ae(((e,o,i,r,s)=>St(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(qt("code")),pe=t=>({start:Object.assign(((e,n,o,i)=>St(t.post(C,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)=>St(t.post(C,o||{},{queryParams:Object.assign({provider:n},e&&{redirectURL:e}),token:i}))})),{})),exchange:he((e=>St(t.post(x,{code:e})))),startNative:(e,n,o)=>St(t.post(O,{provider:e,loginOptions:n,implicit:o})),finishNative:(e,n,o,i,r)=>St(t.post(U,{provider:e,stateId:n,user:o,code:i,idToken:r}))}),fe=qt("loginId"),ge=$t(fe,qt("code")),ve=$t(fe),me=$t(fe,Nt("phone")),we=$t(fe,Dt("email")),be=t=>({verify:Object.keys(Gt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ge(((e,o)=>St(t.post(kt(d,n),{code:o,loginId:e}))))})),{}),signIn:Object.keys(Gt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ve(((e,o,i)=>St(t.post(kt(u,n),{loginId:e,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(Gt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ve(((e,o,i)=>St(t.post(kt(h,n),{loginId:e,user:o,loginOptions:i}))))})),{}),signUpOrIn:Object.keys(Gt).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:ve(((e,o)=>St(t.post(kt(f,n),{loginId:e,loginOptions:o}))))})),{}),update:{email:we(((e,n,o,i)=>St(t.post(p.email,Object.assign({loginId:e,email:n},i),{token:o})))),phone:Object.keys(Ht).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:me(((e,o,i,r)=>St(t.post(kt(p.phone,n),Object.assign({loginId:e,phone:o},r),{token:i}))))})),{})}}),ye=$t(qt("tenant")),Ie=$t(qt("code")),ke=t=>({start:ye(((e,n,o,i)=>St(t.post(E,o||{},{queryParams:{tenant:e,redirectURL:n},token:i})))),exchange:Ie((e=>St(t.post(T,{code:e}))))}),Se=qt("loginId"),je=$t(Se,qt("code")),Ae=$t(Se),Ce=$t(Se),xe=t=>({signUp:Ae(((e,n)=>St(t.post(_,{loginId:e,user:n})))),verify:je(((e,n,o,i)=>St(t.post(L,{loginId:e,code:n,loginOptions:o},{token:i})))),update:Ce(((e,n)=>St(t.post(R,{loginId:e},{token:n}))))}),Oe=qt("loginId"),Ue=qt("newPassword"),Ee=$t(Oe,qt("password")),Te=$t(Oe),Le=$t(Oe,Ue),_e=$t(Oe,qt("oldPassword"),Ue),Re=t=>({signUp:Ee(((e,n,o,i)=>St(t.post(F,{loginId:e,password:n,user:o,loginOptions:i})))),signIn:Ee(((e,n,o)=>St(t.post(V,{loginId:e,password:n,loginOptions:o})))),sendReset:Te(((e,n,o)=>St(t.post(H,{loginId:e,redirectUrl:n,templateOptions:o})))),update:Le(((e,n,o)=>St(t.post(K,{loginId:e,newPassword:n},{token:o})))),replace:_e(((e,n,o)=>St(t.post(G,{loginId:e,oldPassword:n,newPassword:o})))),policy:()=>St(t.get(J))}),Pe=Mt("loginId"),$e=qt("loginId"),Me=qt("origin"),qe=$t($e,Me,qt("name")),De=$t($e,Me),Ne=$t(Pe,Me),We=$t($e,Me,qt("token")),Be=$t(qt("transactionId"),qt("response")),Fe=t=>({signUp:{start:qe(((e,n,o)=>St(t.post(D.start,{user:{loginId:e,name:o},origin:n})))),finish:Be(((e,n)=>St(t.post(D.finish,{transactionId:e,response:n}))))},signIn:{start:Ne(((e,n,o,i)=>St(t.post(N.start,{loginId:e,origin:n,loginOptions:o},{token:i})))),finish:Be(((e,n)=>St(t.post(N.finish,{transactionId:e,response:n}))))},signUpOrIn:{start:De(((e,n)=>St(t.post(W.start,{loginId:e,origin:n}))))},update:{start:We(((e,n,o)=>St(t.post(B.start,{loginId:e,origin:n},{token:o})))),finish:Be(((e,n)=>St(t.post(B.finish,{transactionId:e,response:n}))))}}),Ve=Mt("loginId"),He=$t(Ve),Ke=$t(qt("pendingRef")),Ge=t=>({signUpOrIn:He(((e,n)=>St(t.post(M,{loginId:e,loginOptions:n})))),signUp:He(((e,n,o)=>St(t.post($,{loginId:e,user:n,loginOptions:o})))),signIn:He(((e,n,o)=>St(t.post(P,{loginId:e,loginOptions:n},{token:o})))),waitForSession:Ke(((e,n)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:r}=Vt(n);let s;const a=setInterval((async()=>{const n=await t.post(q,{pendingRef:e});n.ok&&(clearInterval(a),s&&clearTimeout(s),o(St(Promise.resolve(n))))}),i);s=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:"0"},ok:!1}),clearInterval(a)}),r)}))))}),Je=$t(qt("token")),ze=$t([Rt('"token" must be string or undefined')]);var Xe,Ze=$t([("projectId",Xe=qt("projectId"),jt(((t,e)=>n=>At(...e).validate(((t,e,n)=>{const o=(Array.isArray(e)?e.join("."):String(e)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,((t,e,n)=>"."+n)).split("."),i=o.length;let r=0,s=t===Object(t)?t:void 0;for(;null!=s&&r<i;)s=s[o[r++]];return r&&r===i&&void 0!==s?s: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:Bt(a),otp:be(a),magicLink:de(a),enchantedLink:te(a),oauth:pe(a),saml:ke(a),totp:xe(a),notp:Ge(a),webauthn:Fe(a),password:Re(a),flow:oe(a),refresh:ze((t=>St(a.post(z,{},{token:t})))),selectTenant:$t([Lt("tenantId")],[Rt('"token" must be string or undefined')])(((t,e)=>St(a.post(X,{tenant:t},{token:e})))),logout:ze((t=>St(a.post(Z,{},{token:t})))),logoutAll:ze((t=>St(a.post(Q,{},{token:t})))),me:ze((t=>St(a.get(Y,{token:t})))),history:ze((t=>St(a.get(tt,{token:t})))),isJwtExpired:Je(wt),getTenants:Je(bt),getJwtPermissions:Je(yt),getJwtRoles:Je(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}}))})),Qe=Object.assign(Ze,{DeliveryMethods:Gt});
2
2
  /*! js-cookie v3.0.5 | MIT */
3
- function Qt(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=Qt({},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,"",Qt({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Qt({},this.attributes,t))},withConverter:function(t){return e(Qt({},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),100,3e3,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},gn=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||{}},fn=async e=>{const t=await gn(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)),bn=e=>vn&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),wn=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",On="DSR";function Cn(e=""){return bn(`${e}${On}`)||""}function An(e=""){wn(`${e}${On}`),wn(`${e}${jn}`),en.remove(jn)}const Sn=In&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://api.descope.com",xn="fp",Un=(e=!1)=>{const t=localStorage.getItem(xn);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},En=async(e,t=Sn)=>{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(xn,JSON.stringify(t))})(c)}catch(e){console.warn("Could not load fingerprint",e)}},Ln=e=>{const t=Un(!0);return t&&e.body&&(e.body.fpData=t),e},Tn="dls_last_user_login_id",Rn="dls_last_user_display_name",Pn=()=>bn(Tn),$n=()=>bn(Rn),Mn=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=Pn(),r=$n();return i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r),await e(...t)};function qn(){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 Wn(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=Hn(n.publicKey.challenge),n.publicKey.user.id=Hn(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=Hn(e.id)})),n}(e);return n=await navigator.credentials.create(t),JSON.stringify({id:n.id,rawId:Jn(n.rawId),type:n.type,response:{attestationObject:Jn(n.response.attestationObject),clientDataJSON:Jn(n.response.clientDataJSON)}});var n}async function Dn(e){const t=Fn(e);return Kn(await navigator.credentials.get(t))}async function Nn(e,t){const n=Fn(e);return n.signal=t.signal,n.mediation="conditional",Kn(await navigator.credentials.get(n))}async function _n(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=Hn(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=Hn(e.id)})),n}function Kn(e){return JSON.stringify({id:e.id,rawId:Jn(e.rawId),type:e.type,response:{authenticatorData:Jn(e.response.authenticatorData),clientDataJSON:Jn(e.response.clientDataJSON),signature:Jn(e.response.signature),userHandle:e.response.userHandle?Jn(e.response.userHandle):void 0}})}function Hn(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function Jn(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var Vn,zn=(Vn=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 Wn(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 Dn(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 Wn(o.data.options);return await e.webauthn.signUp.finish(o.data.transactionId,t)}{const t=await Dn(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 Wn(o.data.options);return await e.webauthn.update.finish(o.data.transactionId,i)},helpers:{create:Wn,get:Dn,isSupported:_n,conditional:Nn}}),(...e)=>{const t=Vn(...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 Bn="/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+Bn),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 Gn=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await _n(),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 Xn=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:Ln}))):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(Cn()||c))}));const d=e(pn(i,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:o}=await gn(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(Cn()||n)}),e)}var i}}));return Ke(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.15.6"},t.baseHeaders)}))),(e=>t=>{const n=qn(),o=qn(),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 fn(t);e&&o.pub(e);const{sessionJwt:i}=await gn(t);i&&n.pub(i)}}})),r=Ke(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:Pn,getLastUserDisplayName:$n});const s=e(pn(r,{afterRequest:async(e,t)=>{var n;const o=await fn(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(Tn,e)})(i),(e=>{mn(Rn,e)})(r))}}));let a=Ke(s,["flow.start"],Mn);return a=Ke(a,["logout","logoutAll"],(e=>t=>async(...n)=>{const o=await t(...n);return e||(wn(Tn),wn(Rn)),o})(i)),Object.assign(a,{getLastUserLoginId:Pn,getLastUserDisplayName:$n})}),(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||Cn(l)})),afterRequest:async(e,n)=>{const o=/^\/v\d+\/mgmt\//.test(e.path);401===(null==n?void 0:n.status)?o||An(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}${On}`,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 gn(n),i,r)}}));var l;const c=Ke(a,["logout","logoutAll"],(e=>t=>async(...n)=>{const o=await t(...n);return An(e),o})(r));return Object.assign(c,{getRefreshToken:()=>Cn(r),getSessionToken:()=>function(e=""){return en.get(jn)||bn(`${e}${jn}`)||""}(r)})}))(((...e)=>{const t=Yt(...e);return Object.assign(Object.assign({},t),{flow:Gn(t),webauthn:zn(t),fedcm:Zn(t,e[0].projectId)})})),Yn="undefined"!=typeof localStorage,Qn=Yn&&localStorage.getItem("base.content.url")||"",eo="config.json",to="base.ui.components.url",no=Yn&&localStorage.getItem(to)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",oo=Yn&&localStorage.getItem(to)||"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",go="saml_idp_state_id",fo="saml_idp_username",vo="descope_idp_initiated",mo="sso_app_id",bo="oidc_login_hint",wo="oidc_prompt",yo="data-type",Io="redirect",ko="poll",jo="webauthnCreate",Oo="webauthnGet",Co="loadForm",Ao="submit",So="polling",xo=["descope-multi-select-combo-box","descope-text-area"];var Uo;function Eo(e){return new URLSearchParams(window.location.search).get(e)}function Lo(e){if(window.history.replaceState&&Eo(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 To(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"}(Uo||(Uo={}));function Ro({projectId:e,filename:t,assetsFolder:n="v2-beta",baseUrl:o}){const i=new URL(Qn||o||"https://static.descope.com/pages");return i.pathname=((...e)=>e.join("/").replace(/\/+/g,"/"))(i.pathname,e,n,t),i.toString()}function Po(e,t){if(!t)return;const n=+e,o=+t;return Number.isNaN(n)||Number.isNaN(o)?void 0:n>o?Uo.forward:n<o?Uo.backward:void 0}const $o=()=>{const[e="",t=""]=(Eo(io)||"").split("_");return{executionId:e,stepId:t}};function Mo(){Lo(io)}const qo=e=>e.replace(/-./g,(e=>e[1].toUpperCase())),Wo=()=>{const{executionId:e,stepId:t}=$o();(e||t)&&Mo();const n=Eo("t")||void 0;n&&Lo("t");const o=Eo(ro)||void 0;o&&Lo(ro);const i=Eo("err")||void 0;i&&Lo("err");const{redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:Eo(so),redirectAuthCallbackUrl:Eo(ao),redirectAuthBackupCallbackUri:Eo(lo),redirectAuthInitiator:Eo(co)};(r||s||a||l)&&(Lo(so),Lo(ao),Lo(lo),Lo(co));const c=Eo(po);c&&Lo(po);const d=Eo(go);d&&Lo(go);const u=Eo(fo);d&&Lo(fo);const h=Eo(vo);h&&Lo(vo);const p=Eo(mo);p&&Lo(mo);const g=Eo(bo);g&&Lo(bo);const f=Eo(wo);f&&Lo(wo);return{executionId:e,stepId:t,token:n,code:o,exchangeError:i,redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,oidcIdpStateId:c,samlIdpStateId:d,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:p,oidcLoginHint:g,oidcPrompt:f}},Do=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 No=(e,t,n,o,i,r,s)=>e&&!t&&(e&&!n&&!o)&&(e&&!i)&&(e&&!r)&&(e&&!s),_o=e=>null==e?void 0:e.submit(),Fo=(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,Vo,zo,Bo;function Zo(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(!Zo(r,s))return!1}else if(r!==s)return!1}return!0}class Go{constructor(e={},{updateOnlyOnChange:t=!0}={}){Jo.set(this,void 0),Vo.set(this,{}),zo.set(this,0),Bo.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,Bo,"f")||!Zo(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,Vo,"f")).forEach((t=>t(n,e,((e,t)=>n=>e[n]!==t[n])(n,e))))}),0)}},i(this,Jo,e,"f"),i(this,Bo,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,Vo,"f")[o(this,zo,"f")]=e,o(this,zo,"f").toString()}unsubscribe(e){const t=!!o(this,Vo,"f")[e];return t&&delete o(this,Vo,"f")[e],t}unsubscribeAll(){return i(this,Vo,{},"f"),!0}}Jo=new WeakMap,Vo=new WeakMap,zo=new WeakMap,Bo=new WeakMap;const Xo=["disabled"],Yo=(e,t)=>{Object.entries(t||{}).forEach((([t,n])=>{Array.from(e.querySelectorAll(`*[name="${t}"]:not([${uo}])`)).forEach((e=>{e.value=n}))}))},Qo=(e,t)=>e.replace(/{{(.+?)}}/g,((e,n)=>{return o=t,n.split(".").reduce(((e,t)=>(null==e?void 0:e[t])||""),o);var o})),ei=(e,t,n)=>{e.querySelectorAll(`[${yo}="${t}"]`).forEach((e=>{e.setAttribute("href",n)}))},ti=(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})`))},ni=(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(`[${yo}="${t}"]`).forEach((e=>{e.textContent=n,e.classList[n?"remove":"add"]("hide")}))})(e,"error-message",l),ei(e,"totp-link",null===(s=null==t?void 0:t.totp)||void 0===s?void 0:s.provisionUrl),ei(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=Qo(e.textContent,t);const n=e.getAttribute("href");n&&e.setAttribute("href",Qo(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=Qo(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])=>{Xo.includes(t)&&e.setAttribute(t,n)}))}))}))})(e,o)},oi=Do((()=>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}})))),ii=(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))]},ri={"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 si(e){const t={};if(e)try{Object.assign(t,JSON.parse(localStorage.getItem(ho)))}catch(e){}return t}const ai="dls_ab_testing_id",li=document.createElement("template");li.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 ci=(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),ci(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 di,ui,hi,pi,gi,fi,vi,mi,bi,wi,yi,Ii,ki,ji,Oi,Ci,Ai,Si,xi,Ui,Ei,Li,Ti,Ri,Pi,$i,Mi,qi,Wi,Di,Ni,_i,Fi,Ki,Hi,Ji,Vi,zi,Bi,Zi,Gi,Xi,Yi,Qi,er,tr,nr,or,ir,rr,sr,ar,lr,cr,dr,ur,hr,pr,gr,fr,vr,mr;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(e){super(),di.add(this),this.logger=console,ui.set(this,!1),this.loggerWrapper={error:(e,t="")=>{this.logger.error(e,t,new Error),o(this,di,"m",qi).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)}},hi.set(this,new Go),pi.set(this,new Go),gi.set(this,{}),this.getComponentsContext=()=>o(this,gi,"f"),this.nextRequestStatus=new Go({isLoading:!1}),fi.set(this,void 0),vi.set(this,{popstate:o(this,di,"m",ki).bind(this),componentsContext:o(this,di,"m",Ri).bind(this)}),mi.set(this,void 0),Si.set(this,Do((()=>n(this,void 0,void 0,(function*(){const e=Ro({projectId:this.projectId,filename:eo,baseUrl:this.baseStaticUrl});try{const{body:t,headers:n}=yield To(e,"json");return{projectConfig:t,executionContext:{geo:n["x-geo"]}}}catch(e){return{isMissingConfig:!0}}}))))),Ui.set(this,void 0),i(this,mi,e,"f"),o(this,di,"m",bi).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 ci(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,Si,"f").call(this);return e}))}getProjectConfig(){return n(this,void 0,void 0,(function*(){const{projectConfig:e}=yield o(this,Si,"f").call(this);return e}))}getFlowConfig(){var e,t;return n(this,void 0,void 0,(function*(){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,pi,"f").subscribe(o(this,di,"m",Mi).bind(this)),o(this,pi,"f").update({isDebug:this.debug}),o(this,di,"m",wi).call(this))return void o(this,di,"m",yi).call(this);if(o(this,di,"m",Ii).call(this),i(this,Ui,o(this,di,"m",xi).call(this),"f"),yield o(this,di,"m",Ci).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,Si,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");o(this,di,"m",Ei).call(this),yield o(this,di,"m",Ni).call(this),yield o(this,di,"m",Li).call(this),o(this,di,"m",Wi).call(this);const{executionId:e,stepId:t,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:c,redirectAuthInitiator:d,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:g,ssoAppId:f,oidcLoginHint:v,oidcPrompt:m}=Wo();window.addEventListener("popstate",o(this,vi,"f").popstate),window.addEventListener("components-context",o(this,vi,"f").componentsContext),o(this,hi,"f").subscribe(o(this,di,"m",Oi).bind(this)),o(this,hi,"f").update({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,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:g,ssoAppId:f,oidcLoginHint:v,oidcPrompt:m}),i(this,ui,!0,"f")}}))}disconnectedCallback(){o(this,hi,"f").unsubscribeAll(),o(this,pi,"f").unsubscribeAll(),o(this,di,"m",$i).call(this),window.removeEventListener("popstate",o(this,vi,"f").popstate),window.removeEventListener("components-context",o(this,vi,"f").componentsContext)}attributeChangedCallback(e,t,n){if(this.shadowRoot.isConnected&&o(this,ui,"f")&&t!==n&&br.observedAttributes.includes(e)){o(this,di,"m",Ii).call(this);const i=null===t;o(this,hi,"f").update((({stepId:t,executionId:o})=>{let r=t,s=o;return i||(s=null,r=null,Mo()),{[qo(e)]:n,stepId:r,executionId:s}})),o(this,pi,"f").update({isDebug:this.debug}),"theme"===e&&o(this,di,"m",Pi).call(this)}}}ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,gi=new WeakMap,fi=new WeakMap,vi=new WeakMap,mi=new WeakMap,Si=new WeakMap,Ui=new WeakMap,di=new WeakSet,bi=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(li.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},wi=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},yi=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)},Ii=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(br.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')},ki=function(){const{stepId:e,executionId:t}=$o();o(this,hi,"f").update({stepId:e,executionId:t})},ji=function(e,t){this.sdk=Xn(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},br.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)}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},Oi=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,di,"m",ji).call(this,t,n)}o(this,mi,"f").call(this,e)}))},Ci=function(){return n(this,void 0,void 0,(function*(){return(yield o(this,Si,"f").call(this)).isMissingConfig&&(yield o(this,di,"m",Ai).call(this))}))},Ai=function(){return n(this,void 0,void 0,(function*(){const e=Ro({projectId:this.projectId,filename:eo,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield To(e,"json"),!0}catch(e){return!1}}))},xi=function(){return n(this,void 0,void 0,(function*(){const e=Ro({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:t}=yield To(e,"json");return t}catch(e){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},Ei=function(){var e,t;return n(this,void 0,void 0,(function*(){const{projectConfig:n}=yield o(this,Si,"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)))}))},Li=function(){return n(this,void 0,void 0,(function*(){yield o(this,di,"m",Ti).call(this),yield o(this,di,"m",Pi).call(this)}))},Ti=function(){var e,t,i,r;return n(this,void 0,void 0,(function*(){const n=document.createElement("style"),s=yield o(this,Ui,"f");n.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 br.descopeUI;(null==a?void 0:a.componentsThemeManager)&&!a.componentsThemeManager.hasThemes&&(a.componentsThemeManager.themes={light:null===(i=null==s?void 0:s.light)||void 0===i?void 0:i.components,dark:null===(r=null==s?void 0:s.dark)||void 0===r?void 0:r.components}),this.shadowRoot.appendChild(n)}))},Ri=function(e){i(this,gi,Object.assign(Object.assign({},o(this,gi,"f")),e.detail),"f")},Pi=function(){return n(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const e=yield br.descopeUI;(null==e?void 0:e.componentsThemeManager)&&(e.componentsThemeManager.currentThemeName=this.theme)}))},$i=function(){var e;null===(e=o(this,fi,"f"))||void 0===e||e.remove(),i(this,fi,null,"f")},Mi=function({isDebug:e}){return n(this,void 0,void 0,(function*(){e?(i(this,fi,document.createElement("descope-debugger"),"f"),Object.assign(o(this,fi,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield Promise.resolve().then((function(){return kr})),document.body.appendChild(o(this,fi,"f"))):o(this,di,"m",$i).call(this)}))},qi=function(e,t){var n;e&&this.debug&&(null===(n=o(this,fi,"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=xo.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()}}},Di=function(){var e,t;return n(this,void 0,void 0,(function*(){const n=null===(t=null===(e=yield o(this,Si,"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")}))},Ni=function(){return n(this,void 0,void 0,(function*(){br.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):br.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,di,"m",Di).call(this),s=t(i(no,n));r(s,(()=>{s.remove(),this.loggerWrapper.info("Trying to load DescopeUI from a fallback URL");const o=t(i(oo,n));r(o,(()=>{e(void 0)})),document.body.append(o)})),document.body.append(s)}))})()}))}))},br.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.19.9"}};class wr extends br{static set sdkConfigOverrides(e){br.sdkConfigOverrides=e}constructor(){const e=new Go({deferredRedirect:!1});super(e.update.bind(e)),_i.add(this),this.stepState=new Go({},{updateOnlyOnChange:!1}),Fi.set(this,void 0),Ki.set(this,null),Hi.set(this,{visibilitychange:o(this,_i,"m",Ji).bind(this)}),Vi.set(this,((e,t,r,s,a)=>{r===ko&&(o(this,zi,"f").call(this),i(this,Fi,setTimeout((()=>n(this,void 0,void 0,(function*(){var n;let i;try{i=yield this.sdk.flow.next(e,t,So,s,a,{})}catch(n){o(this,Vi,"f").call(this,e,t,r,s,a)}o(this,Bi,"f").call(this,i);const{action:l}=null!==(n=null==i?void 0:i.data)&&void 0!==n?n:{};o(this,Vi,"f").call(this,e,t,l,s,a)}))),2e3),"f"))})),zi.set(this,(()=>{clearTimeout(o(this,Fi,"f")),i(this,Fi,null,"f")})),Bi.set(this,(e=>{var t,n,i,r,s,a,l,c,d,u,h;if(!(null==e?void 0:e.ok)){o(this,_i,"m",ar).call(this,"error",null==e?void 0:e.error);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 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:g,authInfo:f,lastAuth:v}=e.data;if("completed"===g)return this.storeLastAuthenticatedUser&&function(e){(null==e?void 0:e.authMethod)&&Yn&&localStorage.setItem(ho,JSON.stringify(e))}(v),void o(this,_i,"m",ar).call(this,"success",f);const{executionId:m,stepId:b,stepName:w,action:y,screen:I,redirect:k,openInNewTabUrl:j,webauthn:O,error:C,samlIdpResponse:A}=e.data;y!==ko?(this.loggerWrapper.info(`Step "${w||`#${b}`}" is ${g}`,"",{screen:I,status:g,stepId:b,stepName:w,action:y,error:C}),this.flowState.update({stepId:b,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==O?void 0:O.transactionId,webauthnOptions:null==O?void 0:O.options,samlIdpResponseUrl:null==A?void 0:A.url,samlIdpResponseSamlResponse:null==A?void 0:A.samlResponse,samlIdpResponseRelayState:null==A?void 0:A.relayState})):this.flowState.update({action:y})})),Zi.set(this,Do((()=>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)}}))))),or.set(this,Ko(((e,t)=>n(this,void 0,void 0,(function*(){if("true"===e.getAttribute("formnovalidate")||o(this,_i,"m",Qi).call(this)){const i=null==e?void 0:e.getAttribute("id");o(this,_i,"m",tr).call(this,e);const r=yield o(this,_i,"m",er).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,Bi,"f").call(this,u),o(this,_i,"m",nr).call(this,r)}var n}))))),this.flowState=e}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});var t,i;return n(this,void 0,void 0,(function*(){this.shadowRoot.isConnected&&(null===(t=this.flowState)||void 0===t||t.subscribe(this.onFlowChange.bind(this)),null===(i=this.stepState)||void 0===i||i.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",o(this,Hi,"f").visibilitychange)),yield e.connectedCallback.call(this)}))}disconnectedCallback(){var e;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(e=o(this,Ki,"f"))||void 0===e||e.abort(),i(this,Ki,null,"f"),window.removeEventListener("visibilitychange",o(this,Hi,"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 To(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 To(e,"text");return t}catch(e){this.loggerWrapper.error("Failed to fetch flow page",e.message)}return null}))}onFlowChange(e,t,r){var s,a;return n(this,void 0,void 0,(function*(){const{projectId:n,flowId:l,tenant:c,stepId:d,executionId:u,action:h,screenId:p,screenState:g,redirectTo:f,openInNewTabUrl:v,redirectUrl:m,token:b,code:w,exchangeError:y,webauthnTransactionId:I,webauthnOptions:k,redirectAuthCodeChallenge:j,redirectAuthCallbackUrl:O,redirectAuthBackupCallbackUri:C,redirectAuthInitiator:A,oidcIdpStateId:S,locale:x,samlIdpStateId:U,samlIdpUsername:E,descopeIdpInitiated:L,samlIdpResponseUrl:T,samlIdpResponseSamlResponse:R,samlIdpResponseRelayState:P,ssoAppId:$,oidcLoginHint:M,oidcPrompt:q}=e;let W,D;const N=(()=>{const e=localStorage.getItem(ai);if(!e){const e=Math.floor(100*Math.random()+1);return localStorage.setItem(ai,e.toString()),e}return Number(e)})(),_=this.sdk.getLastUserLoginId(),F=yield this.getFlowConfig(),K=yield this.getProjectConfig(),H=O&&j?{callbackUrl:O,codeChallenge:j,backupCallbackUri:C}:void 0;if(!u&&(F.fingerprintEnabled&&F.fingerprintKey?yield En(F.fingerprintKey,this.baseUrl):localStorage.removeItem(xn),F.conditions?({startScreenId:W,conditionInteractionId:D}=((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=ri[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:w,token:b,abTestingKey:N},F.conditions)):F.condition?({startScreenId:W,conditionInteractionId:D}=((e,t)=>{var n;const o=null===(n=ri[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}})(F.condition,{loginId:_,code:w,token:b,abTestingKey:N})):W=F.startScreenId,!No(W,S,U,E,$,M,q))){const e=yield this.sdk.flow.start(l,Object.assign(Object.assign({tenant:c,redirectAuth:H,oidcIdpStateId:S,samlIdpStateId:U,samlIdpUsername:E,ssoAppId:$,oidcLoginHint:M,oidcPrompt:q,client:this.client},m&&{redirectUrl:m}),{lastAuth:si(_),abTestingKey:N,locale:Ho(x)}),D,"",F.version,K.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),w?{exchangeCode:w,idpInitiated:!0}:{}),L&&{idpInitiated:!0}),b?{token:b}:{}),M?{externalId:M}:{}));return o(this,Bi,"f").call(this,e),void("completed"!==(null===(s=null==e?void 0:e.data)||void 0===s?void 0:s.status)&&this.flowState.update({code:void 0,token:void 0}))}if(u&&(r("token")&&b||r("code")&&w||r("exchangeError")&&y)){const e=yield this.sdk.flow.next(u,d,Ao,F.version,K.componentsVersion,{token:b,exchangeCode:w,exchangeError:y});return o(this,Bi,"f").call(this,e),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(h===Co&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((e=>r(e)))){if(!T||!R)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)})(T,R,P||"",_o)}if(h===Io&&(r("redirectTo")||r("deferredRedirect")))return f?"android"===A&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(f):void this.loggerWrapper.error("Did not get redirect url");if(h===jo||h===Oo){if(!I||!k)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let e,t;null===(a=o(this,Ki,"f"))||void 0===a||a.abort(),i(this,Ki,null,"f");try{e=h===jo?yield this.sdk.webauthn.helpers.create(k):yield this.sdk.webauthn.helpers.get(k)}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(u,d,Ao,F.version,K.componentsVersion,{transactionId:I,response:e,failure:t});o(this,Bi,"f").call(this,n)}if(o(this,Vi,"f").call(this,u,d,h,F.version,K.componentsVersion),!p&&!W)return void this.loggerWrapper.warn("No screen was found to show");const J=W||p,V=yield this.getHtmlFilenameWithLocale(x,J),z={direction:Po(d,t.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:n,filename:`${J}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:V&&Ro({projectId:n,filename:V,baseUrl:this.baseStaticUrl}),samlIdpUsername:E,oidcLoginHint:M,oidcPrompt:q,openInNewTabUrl:v},B=si(_);No(W,S,U,E,$,M,q)?z.next=(e,t,n,o)=>this.sdk.flow.start(l,Object.assign(Object.assign({tenant:c,redirectAuth:H,oidcIdpStateId:S,samlIdpStateId:U,samlIdpUsername:E,ssoAppId:$,oidcLoginHint:M,lastAuth:B,preview:this.preview,abTestingKey:N,client:this.client},m&&{redirectUrl:m}),{locale:Ho(x),oidcPrompt:q}),D,e,t,n,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),w&&{exchangeCode:w,idpInitiated:!0}),L&&{idpInitiated:!0}),b&&{token:b})):(r("projectId")||r("baseUrl")||r("executionId")||r("stepId"))&&(z.next=(...e)=>this.sdk.flow.next(u,d,...e)),this.stepState.update(z)}))}loadDescopeUiComponents(e){return n(this,void 0,void 0,(function*(){const t=yield br.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){var i,r;return n(this,void 0,void 0,(function*(){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),g=this.loadDescopeUiComponents(h.content);this.sdk.webauthn.helpers.isSupported()?yield o(this,_i,"m",Yi).call(this,p,c):p.querySelectorAll(`descope-button[${yo}="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),ni(p,d,d.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=()=>n(this,void 0,void 0,(function*(){var e,n;yield g;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,ti(r,"descope-totp-image",s),((e,t)=>{ti(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)=>{Yo(e,null==t?void 0:t.inputs),Yo(e,null==t?void 0:t.form)})(this.rootElement,d);const e=this.rootElement.querySelectorAll("descope-email-field"),t=this.rootElement.querySelectorAll("descope-password"),n=this.rootElement.querySelectorAll("descope-new-password");document.querySelectorAll('[data-hidden-input="true"]').forEach((e=>e.remove())),[...e,...t,...n].forEach((e=>o(this,_i,"m",Xi).call(this,e)))}));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,_i,"m",rr).call(this,c),a&&o(this,_i,"m",ar).call(this,"ready",{}),o(this,_i,"m",ar).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${yo}="polling"]`)){const e=yield this.getFlowConfig(),t=yield this.getProjectConfig(),n=yield c(So,e.version,t.componentsVersion,{});o(this,Bi,"f").call(this,n)}u&&!t.openInNewTabUrl&&window.open(u,"_blank")}));l?o(this,_i,"m",sr).call(this,v,l):v()}))}}Fi=new WeakMap,Ki=new WeakMap,Hi=new WeakMap,Vi=new WeakMap,zi=new WeakMap,Bi=new WeakMap,Zi=new WeakMap,or=new WeakMap,_i=new WeakSet,Ji=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},Gi=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)}))}},Xi=function(e){if(!e)return;if("true"!==e.getAttribute("external-input"))return;e.querySelectorAll("input").forEach((t=>{const n=t.getAttribute("slot"),o=`input-${e.id}-${n}`,i=document.createElement("slot");i.setAttribute("name",o),i.setAttribute("slot",n),e.appendChild(i),t.setAttribute("slot",o),this.appendChild(t)}))},Yi=function(e,t){var r;return n(this,void 0,void 0,(function*(){null===(r=o(this,Ki,"f"))||void 0===r||r.abort();const s=e.querySelector('*[autocomplete="webauthn"]');if(s&&(yield oi())){const{options:e,transactionId:r}=(yield o(this,Zi,"f").call(this))||{};if(e&&r){o(this,_i,"m",Gi).call(this,s),i(this,Ki,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(e,o(this,Ki,"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,Bi,"f").call(this,n)})))).catch((e=>{"AbortError"!==e.name&&this.loggerWrapper.error("Conditional login failed",e.message)}))}}}))},Qi=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},er=function(){return n(this,void 0,void 0,(function*(){const e=Array.from(this.shadowRoot.querySelectorAll(`*[name]:not([${uo}])`));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})),{})}))},tr=function(e){const t=this.nextRequestStatus.subscribe((({isLoading:n})=>{n?e.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(t),e.removeAttribute("loading"))}))},nr=function(e={}){var t,n;const o=Fo(e,["externalId","email","phone"]),i=Fo(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)}},ir=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,or,"f").call(this,t,e)}))}))},rr=function(e){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((t=>{t.onclick=()=>{o(this,or,"f").call(this,t,e)}})),o(this,_i,"m",ir).call(this,e)},sr=function(e,t){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),e()}),{once:!0});const n=t===Uo.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")},ar=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",wr);const yr=document.createElement("template");yr.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 Ir extends HTMLElement{constructor(){super(),lr.add(this),cr.set(this,new Go({messages:[]})),dr.set(this,void 0),ur.set(this,void 0),hr.set(this,void 0),pr.set(this,{resize:o(this,lr,"m",mr).bind(this)}),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(yr.content.cloneNode(!0)),i(this,dr,this.shadowRoot.querySelector(".debugger"),"f"),i(this,ur,o(this,dr,"f").querySelector(".content"),"f"),i(this,hr,o(this,dr,"f").querySelector(".header"),"f")}updateData(e){o(this,cr,"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]=ii(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,dr,"f"),o(this,hr,"f"),{top:"all",bottom:100,left:100,right:100}),window.addEventListener("resize",o(this,pr,"f").resize),(e=o(this,dr,"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,dr,"f").onresize=o(this,lr,"m",vr).bind(this),o(this,cr,"f").subscribe(o(this,lr,"m",gr).bind(this))}disconnectedCallback(){o(this,cr,"f").unsubscribeAll(),window.removeEventListener("resize",o(this,pr,"f").resize)}}cr=new WeakMap,dr=new WeakMap,ur=new WeakMap,hr=new WeakMap,pr=new WeakMap,lr=new WeakSet,gr=function(e){o(this,lr,"m",fr).call(this,e),o(this,lr,"m",vr).call(this)},fr=function(e){o(this,ur,"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("")},vr=function(){o(this,ur,"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)}))},mr=function(){const[e,t]=ii(o(this,dr,"f"),Number.parseInt(o(this,dr,"f").style.left,10),Number.parseInt(o(this,dr,"f").style.top,10),{top:"all",bottom:100,left:100,right:100});o(this,dr,"f").style.top=`${t}px`,o(this,dr,"f").style.left=`${e}px`},customElements.get("descope-debugger")||customElements.define("descope-debugger",Ir);var kr=Object.freeze({__proto__:null,default:Ir})}();
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),100,3e3,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,Sn="DS",jn="DSR";function An(t=""){return wn(`${t}${jn}`)||""}function Cn(t=""){bn(`${t}${jn}`),bn(`${t}${Sn}`),tn.remove(Sn)}const xn=In&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://api.descope.com",On="fp",Un=(t=!1)=>{const e=localStorage.getItem(On);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(On,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 qn(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:Hn(n.rawId),type:n.type,response:{attestationObject:Hn(n.response.attestationObject),clientDataJSON:Hn(n.response.clientDataJSON)}});var n}async function Dn(t){const e=Bn(t);return Fn(await navigator.credentials.get(e))}async function Nn(t,e){const n=Bn(t);return n.signal=e.signal,n.mediation="conditional",Fn(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 Bn(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 Fn(t){return JSON.stringify({id:t.id,rawId:Hn(t.rawId),type:t.type,response:{authenticatorData:Hn(t.response.authenticatorData),clientDataJSON:Hn(t.response.clientDataJSON),signature:Hn(t.response.signature),userHandle:t.response.userHandle?Hn(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 Hn(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var Kn,Gn=(Kn=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 qn(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 Dn(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 qn(o.data.options);return await t.webauthn.signUp.finish(o.data.transactionId,e)}{const e=await Dn(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 qn(o.data.options);return await t.webauthn.update.finish(o.data.transactionId,i)},helpers:{create:qn,get:Dn,isSupported:Wn,conditional:Nn}}),(...t)=>{const e=Kn(...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 Jn="/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+Jn),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 Zn=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(An()||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(An()||n)}),t)}var i}}));return Ft(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.15.6"},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=Ft(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=Ft(s,["flow.start"],$n);return a=Ft(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||An(l)})),afterRequest:async(t,n)=>{const o=/^\/v\d+\/mgmt\//.test(t.path);401===(null==n?void 0:n.status)?o||Cn(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}${jn}`,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})}}(Sn,r,s):mn(`${o}${Sn}`,r))})(await fn(n),i,r)}}));var l;const c=Ft(a,["logout","logoutAll"],(t=>e=>async(...n)=>{const o=await e(...n);return Cn(t),o})(r));return Object.assign(c,{getRefreshToken:()=>An(r),getSessionToken:()=>function(t=""){return tn.get(Sn)||wn(`${t}${Sn}`)||""}(r)})}))(((...t)=>{const e=Qe(...t);return Object.assign(Object.assign({},e),{flow:Xn(e),webauthn:Gn(e),fedcm:zn(e,t[0].projectId)})})),Qn="undefined"!=typeof localStorage,Yn=Qn&&localStorage.getItem("base.content.url")||"",to="config.json",eo="base.ui.components.url",no=Qn&&localStorage.getItem(eo)||"https://static.descope.com/npm/@descope/web-components-ui@<version>/dist/umd/index.js",oo=Qn&&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="data-type",Io="redirect",ko="poll",So="webauthnCreate",jo="webauthnGet",Ao="loadForm",Co="submit",xo="polling",Oo=["descope-multi-select-combo-box","descope-text-area"];var Uo;function Eo(t){return new URLSearchParams(window.location.search).get(t)}function To(t){if(window.history.replaceState&&Eo(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 Lo(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"}(Uo||(Uo={}));function _o({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 Ro(t,e){if(!e)return;const n=+t,o=+e;return Number.isNaN(n)||Number.isNaN(o)?void 0:n>o?Uo.forward:n<o?Uo.backward:void 0}const Po=()=>{const[t="",e=""]=(Eo(io)||"").split("_");return{executionId:t,stepId:e}};function $o(){To(io)}const Mo=t=>t.replace(/-./g,(t=>t[1].toUpperCase())),qo=()=>{const{executionId:t,stepId:e}=Po();(t||e)&&$o();const n=Eo("t")||void 0;n&&To("t");const o=Eo(ro)||void 0;o&&To(ro);const i=Eo("err")||void 0;i&&To("err");const{redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l}={redirectAuthCodeChallenge:Eo(so),redirectAuthCallbackUrl:Eo(ao),redirectAuthBackupCallbackUri:Eo(lo),redirectAuthInitiator:Eo(co)};(r||s||a||l)&&(To(so),To(ao),To(lo),To(co));const c=Eo(po);c&&To(po);const d=Eo(fo);d&&To(fo);const u=Eo(go);d&&To(go);const h=Eo(vo);h&&To(vo);const p=Eo(mo);p&&To(mo);const f=Eo(wo);f&&To(wo);const g=Eo(bo);g&&To(bo);return{executionId:t,stepId:e,token:n,code:o,exchangeError:i,redirectAuthCodeChallenge:r,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:a,redirectAuthInitiator:l,oidcIdpStateId:c,samlIdpStateId:d,samlIdpUsername:u,descopeIdpInitiated:"true"===h,ssoAppId:p,oidcLoginHint:f,oidcPrompt:g}},Do=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 No=(t,e,n,o,i,r,s)=>t&&!e&&(t&&!n&&!o)&&(t&&!i)&&(t&&!r)&&(t&&!s),Wo=t=>null==t?void 0:t.submit(),Bo=(t,e)=>{const n=e.find((e=>t[e]));return n?t[n]:null},Fo=(t,e=100)=>{let n;return function(...o){n||t.apply(this,o),clearTimeout(n),n=setTimeout((()=>{n=null}),e)}};function Vo(t){let e=navigator.language;return e&&"zh-TW"!==e&&(e=e.split("-")[0]),(t||e||"").toLowerCase()}var Ho,Ko,Go,Jo;function zo(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(!zo(r,s))return!1}else if(r!==s)return!1}return!0}class Xo{constructor(t={},{updateOnlyOnChange:e=!0}={}){Ho.set(this,void 0),Ko.set(this,{}),Go.set(this,0),Jo.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,Jo,"f")||!zo(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,Ko,"f")).forEach((e=>e(n,t,((t,e)=>n=>t[n]!==e[n])(n,t))))}),0)}},i(this,Ho,t,"f"),i(this,Jo,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,Ko,"f")[o(this,Go,"f")]=t,o(this,Go,"f").toString()}unsubscribe(t){const e=!!o(this,Ko,"f")[t];return e&&delete o(this,Ko,"f")[t],e}unsubscribeAll(){return i(this,Ko,{},"f"),!0}}Ho=new WeakMap,Ko=new WeakMap,Go=new WeakMap,Jo=new WeakMap;const Zo=["disabled"],Qo=(t,e)=>{Object.entries(e||{}).forEach((([e,n])=>{Array.from(t.querySelectorAll(`*[name="${e}"]:not([${uo}])`)).forEach((t=>{t.value=n}))}))},Yo=(t,e)=>t.replace(/{{(.+?)}}/g,((t,n)=>{return o=e,n.split(".").reduce(((t,e)=>(null==t?void 0:t[e])||""),o);var o})),ti=(t,e,n)=>{t.querySelectorAll(`[${yo}="${e}"]`).forEach((t=>{t.setAttribute("href",n)}))},ei=(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})`))},ni=(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(`[${yo}="${e}"]`).forEach((t=>{t.textContent=n,t.classList[n?"remove":"add"]("hide")}))})(t,"error-message",l),ti(t,"totp-link",null===(s=null==e?void 0:e.totp)||void 0===s?void 0:s.provisionUrl),ti(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=Yo(t.textContent,e);const n=t.getAttribute("href");n&&t.setAttribute("href",Yo(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=Yo(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)},oi=Do((()=>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}})))),ii=(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))]},ri={"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 si(t){const e={};if(t)try{Object.assign(e,JSON.parse(localStorage.getItem(ho)))}catch(t){}return e}const ai="dls_ab_testing_id",li=document.createElement("template");li.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 ci=(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),ci(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 di,ui,hi,pi,fi,gi,vi,mi,wi,bi,yi,Ii,ki,Si,ji,Ai,Ci,xi,Oi,Ui,Ei,Ti,Li,_i,Ri,Pi,$i,Mi,qi,Di,Ni,Wi,Bi,Fi,Vi,Hi,Ki,Gi,Ji,zi,Xi,Zi,Qi,Yi,tr,er,nr,or,ir,rr,sr,ar,lr,cr,dr,ur,hr,pr,fr,gr,vr,mr;class wr 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(),di.add(this),this.logger=console,ui.set(this,!1),this.loggerWrapper={error:(t,e="")=>{this.logger.error(t,e,new Error),o(this,di,"m",Mi).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)}},hi.set(this,new Xo),pi.set(this,new Xo),fi.set(this,{}),this.getComponentsContext=()=>o(this,fi,"f"),this.nextRequestStatus=new Xo({isLoading:!1}),gi.set(this,void 0),vi.set(this,{popstate:o(this,di,"m",ki).bind(this),componentsContext:o(this,di,"m",_i).bind(this)}),mi.set(this,void 0),xi.set(this,Do((()=>n(this,void 0,void 0,(function*(){const t=_o({projectId:this.projectId,filename:to,baseUrl:this.baseStaticUrl});try{const{body:e,headers:n}=yield Lo(t,"json");return{projectConfig:e,executionContext:{geo:n["x-geo"]}}}catch(t){return{isMissingConfig:!0}}}))))),Ui.set(this,void 0),i(this,mi,t,"f"),o(this,di,"m",wi).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 ci(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,xi,"f").call(this);return t}))}getProjectConfig(){return n(this,void 0,void 0,(function*(){const{projectConfig:t}=yield o(this,xi,"f").call(this);return t}))}getFlowConfig(){var t,e;return n(this,void 0,void 0,(function*(){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,pi,"f").subscribe(o(this,di,"m",$i).bind(this)),o(this,pi,"f").update({isDebug:this.debug}),o(this,di,"m",bi).call(this))return void o(this,di,"m",yi).call(this);if(o(this,di,"m",Ii).call(this),i(this,Ui,o(this,di,"m",Oi).call(this),"f"),yield o(this,di,"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,xi,"f").call(this)).isMissingConfig)return void this.loggerWrapper.error("Cannot get config file","Make sure that your projectId & flowId are correct");o(this,di,"m",Ei).call(this),yield o(this,di,"m",Ni).call(this),yield o(this,di,"m",Ti).call(this),o(this,di,"m",qi).call(this);const{executionId:t,stepId:e,token:n,code:r,exchangeError:s,redirectAuthCallbackUrl:a,redirectAuthBackupCallbackUri:l,redirectAuthCodeChallenge:c,redirectAuthInitiator:d,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:f,ssoAppId:g,oidcLoginHint:v,oidcPrompt:m}=qo();window.addEventListener("popstate",o(this,vi,"f").popstate),window.addEventListener("components-context",o(this,vi,"f").componentsContext),o(this,hi,"f").subscribe(o(this,di,"m",ji).bind(this)),o(this,hi,"f").update({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,oidcIdpStateId:u,samlIdpStateId:h,samlIdpUsername:p,descopeIdpInitiated:f,ssoAppId:g,oidcLoginHint:v,oidcPrompt:m}),i(this,ui,!0,"f")}}))}disconnectedCallback(){o(this,hi,"f").unsubscribeAll(),o(this,pi,"f").unsubscribeAll(),o(this,di,"m",Pi).call(this),window.removeEventListener("popstate",o(this,vi,"f").popstate),window.removeEventListener("components-context",o(this,vi,"f").componentsContext)}attributeChangedCallback(t,e,n){if(this.shadowRoot.isConnected&&o(this,ui,"f")&&e!==n&&wr.observedAttributes.includes(t)){o(this,di,"m",Ii).call(this);const i=null===e;o(this,hi,"f").update((({stepId:e,executionId:o})=>{let r=e,s=o;return i||(s=null,r=null,$o()),{[Mo(t)]:n,stepId:r,executionId:s}})),o(this,pi,"f").update({isDebug:this.debug}),"theme"===t&&o(this,di,"m",Ri).call(this)}}}ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,gi=new WeakMap,vi=new WeakMap,mi=new WeakMap,xi=new WeakMap,Ui=new WeakMap,di=new WeakSet,wi=function(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(li.content.cloneNode(!0)),this.rootElement=this.shadowRoot.querySelector("#wc-root")},bi=function(){return!this.shadowRoot.host.closest("form")&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},yi=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)},Ii=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(wr.observedAttributes.forEach((e=>{if(!t.includes(e)&&!this[Mo(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')},ki=function(){const{stepId:t,executionId:e}=Po();o(this,hi,"f").update({stepId:t,executionId:e})},Si=function(t,e){this.sdk=Zn(Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout},wr.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)}finally{this.nextRequestStatus.update({isLoading:!1})}}))}))},ji=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,di,"m",Si).call(this,e,n)}o(this,mi,"f").call(this,t)}))},Ai=function(){return n(this,void 0,void 0,(function*(){return(yield o(this,xi,"f").call(this)).isMissingConfig&&(yield o(this,di,"m",Ci).call(this))}))},Ci=function(){return n(this,void 0,void 0,(function*(){const t=_o({projectId:this.projectId,filename:to,assetsFolder:"v2-alpha",baseUrl:this.baseStaticUrl});try{return yield Lo(t,"json"),!0}catch(t){return!1}}))},Oi=function(){return n(this,void 0,void 0,(function*(){const t=_o({projectId:this.projectId,filename:"theme.json",baseUrl:this.baseStaticUrl});try{const{body:e}=yield Lo(t,"json");return e}catch(t){return void this.loggerWrapper.error("Cannot fetch theme file","make sure that your projectId & flowId are correct")}}))},Ei=function(){var t,e;return n(this,void 0,void 0,(function*(){const{projectConfig:n}=yield o(this,xi,"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)))}))},Ti=function(){return n(this,void 0,void 0,(function*(){yield o(this,di,"m",Li).call(this),yield o(this,di,"m",Ri).call(this)}))},Li=function(){var t,e,i,r;return n(this,void 0,void 0,(function*(){const n=document.createElement("style"),s=yield o(this,Ui,"f");n.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 wr.descopeUI;(null==a?void 0:a.componentsThemeManager)&&!a.componentsThemeManager.hasThemes&&(a.componentsThemeManager.themes={light:null===(i=null==s?void 0:s.light)||void 0===i?void 0:i.components,dark:null===(r=null==s?void 0:s.dark)||void 0===r?void 0:r.components}),this.shadowRoot.appendChild(n)}))},_i=function(t){i(this,fi,Object.assign(Object.assign({},o(this,fi,"f")),t.detail),"f")},Ri=function(){return n(this,void 0,void 0,(function*(){this.rootElement.setAttribute("data-theme",this.theme);const t=yield wr.descopeUI;(null==t?void 0:t.componentsThemeManager)&&(t.componentsThemeManager.currentThemeName=this.theme)}))},Pi=function(){var t;null===(t=o(this,gi,"f"))||void 0===t||t.remove(),i(this,gi,null,"f")},$i=function({isDebug:t}){return n(this,void 0,void 0,(function*(){t?(i(this,gi,document.createElement("descope-debugger"),"f"),Object.assign(o(this,gi,"f").style,{position:"fixed",top:"0",right:"0",height:"100vh",width:"100vw",pointerEvents:"none",zIndex:99999}),yield Promise.resolve().then((function(){return kr})),document.body.appendChild(o(this,gi,"f"))):o(this,di,"m",Pi).call(this)}))},Mi=function(t,e){var n;t&&this.debug&&(null===(n=o(this,gi,"f"))||void 0===n||n.updateData({title:t,description:e}))},qi=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=Oo.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()}}},Di=function(){var t,e;return n(this,void 0,void 0,(function*(){const n=null===(e=null===(t=yield o(this,xi,"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")}))},Ni=function(){return n(this,void 0,void 0,(function*(){wr.descopeUI?this.loggerWrapper.debug("DescopeUI is already loading, probably multiple flows are running on the same page"):wr.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,di,"m",Di).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)}))})()}))}))},wr.sdkConfigOverrides={baseHeaders:{"x-descope-sdk-name":"web-component","x-descope-sdk-version":"3.20.0"}};class br extends wr{static set sdkConfigOverrides(t){wr.sdkConfigOverrides=t}constructor(){const t=new Xo({deferredRedirect:!1});super(t.update.bind(t)),Wi.add(this),this.stepState=new Xo({},{updateOnlyOnChange:!1}),Bi.set(this,void 0),Fi.set(this,null),Vi.set(this,{visibilitychange:o(this,Wi,"m",Hi).bind(this)}),Ki.set(this,((t,e,r,s,a)=>{r===ko&&i(this,Bi,setTimeout((()=>n(this,void 0,void 0,(function*(){var n;let i;try{i=yield this.sdk.flow.next(t,e,xo,s,a,{})}catch(n){o(this,Ki,"f").call(this,t,e,r,s,a)}o(this,Ji,"f").call(this,i);const{action:l}=null!==(n=null==i?void 0:i.data)&&void 0!==n?n:{};o(this,Ki,"f").call(this,t,e,l,s,a)}))),2e3),"f")})),Gi.set(this,(()=>{clearTimeout(o(this,Bi,"f")),i(this,Bi,null,"f")})),Ji.set(this,(t=>{var e,n,i,r,s,a,l,c,d,u,h;if(!(null==t?void 0:t.ok)){o(this,Wi,"m",ar).call(this,"error",null==t?void 0:t.error);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 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)&&Qn&&localStorage.setItem(ho,JSON.stringify(t))}(v),void o(this,Wi,"m",ar).call(this,"success",g);const{executionId:m,stepId:w,stepName:b,action:y,screen:I,redirect:k,openInNewTabUrl:S,webauthn:j,error:A,samlIdpResponse:C}=t.data;y!==ko?(this.loggerWrapper.info(`Step "${b||`#${w}`}" is ${f}`,"",{screen:I,status:f,stepId:w,stepName:b,action:y,error:A}),this.flowState.update({stepId:w,executionId:m,action:y,redirectTo:null==k?void 0:k.url,openInNewTabUrl:S,screenId:null==I?void 0:I.id,screenState:null==I?void 0:I.state,webauthnTransactionId:null==j?void 0:j.transactionId,webauthnOptions:null==j?void 0:j.options,samlIdpResponseUrl:null==C?void 0:C.url,samlIdpResponseSamlResponse:null==C?void 0:C.samlResponse,samlIdpResponseRelayState:null==C?void 0:C.relayState})):this.flowState.update({action:y})})),zi.set(this,Do((()=>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)}}))))),or.set(this,Fo(((t,e)=>n(this,void 0,void 0,(function*(){if("true"===t.getAttribute("formnovalidate")||o(this,Wi,"m",Yi).call(this)){const i=null==t?void 0:t.getAttribute("id");o(this,Wi,"m",er).call(this,t);const r=yield o(this,Wi,"m",tr).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,Ji,"f").call(this,u),o(this,Wi,"m",nr).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;if("forter"===t)return e=yield Promise.resolve().then((function(){return jr})),e.default;throw new Error(`Unknown script id: ${t}`)}))}(t.id))(t.initArgs,{baseUrl:this.baseUrl},(e=>{var n,o;this.dispatchEvent(new CustomEvent("components-context",{detail:{[(n=t.id,o=t.resultKey,`sdkScriptsResults.${o?`${n}_${o}`:n}`)]:e},bubbles:!0,composed:!0}))}))}))))}))}connectedCallback(){const t=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});var e,i;return n(this,void 0,void 0,(function*(){this.shadowRoot.isConnected&&(null===(e=this.flowState)||void 0===e||e.subscribe(this.onFlowChange.bind(this)),null===(i=this.stepState)||void 0===i||i.subscribe(this.onStepChange.bind(this)),window.addEventListener("visibilitychange",o(this,Vi,"f").visibilitychange)),yield t.connectedCallback.call(this)}))}disconnectedCallback(){var t;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),null===(t=o(this,Fi,"f"))||void 0===t||t.abort(),i(this,Fi,null,"f"),window.removeEventListener("visibilitychange",o(this,Vi,"f").visibilitychange)}getHtmlFilenameWithLocale(t,e){return n(this,void 0,void 0,(function*(){let n;const o=Vo(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 Lo(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 Lo(t,"text");return e}catch(t){this.loggerWrapper.error("Failed to fetch flow page",t.message)}return null}))}onFlowChange(t,e,r){var s,a;return n(this,void 0,void 0,(function*(){const{projectId:n,flowId:l,tenant:c,stepId:d,executionId:u,action:h,screenId:p,screenState:f,redirectTo:g,openInNewTabUrl:v,redirectUrl:m,token:w,code:b,exchangeError:y,webauthnTransactionId:I,webauthnOptions:k,redirectAuthCodeChallenge:S,redirectAuthCallbackUrl:j,redirectAuthBackupCallbackUri:A,redirectAuthInitiator:C,oidcIdpStateId:x,locale:O,samlIdpStateId:U,samlIdpUsername:E,descopeIdpInitiated:T,samlIdpResponseUrl:L,samlIdpResponseSamlResponse:_,samlIdpResponseRelayState:R,ssoAppId:P,oidcLoginHint:$,oidcPrompt:M}=t;let q,D;const N=(()=>{const t=localStorage.getItem(ai);if(!t){const t=Math.floor(100*Math.random()+1);return localStorage.setItem(ai,t.toString()),t}return Number(t)})(),W=this.sdk.getLastUserLoginId(),B=yield this.getFlowConfig(),F=yield this.getProjectConfig(),V=j&&S?{callbackUrl:j,codeChallenge:S,backupCallbackUri:A}:void 0;if(!u&&(this.loadSdkScripts(),B.fingerprintEnabled&&B.fingerprintKey?yield En(B.fingerprintKey,this.baseUrl):localStorage.removeItem(On),B.conditions?({startScreenId:q,conditionInteractionId:D}=((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=ri[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:W,code:b,token:w,abTestingKey:N},B.conditions)):B.condition?({startScreenId:q,conditionInteractionId:D}=((t,e)=>{var n;const o=null===(n=ri[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}})(B.condition,{loginId:W,code:b,token:w,abTestingKey:N})):q=B.startScreenId,!No(q,x,U,E,P,$,M))){const t=yield this.sdk.flow.start(l,Object.assign(Object.assign({tenant:c,redirectAuth:V,oidcIdpStateId:x,samlIdpStateId:U,samlIdpUsername:E,ssoAppId:P,oidcLoginHint:$,oidcPrompt:M,client:this.client},m&&{redirectUrl:m}),{lastAuth:si(W),abTestingKey:N,locale:Vo(O)}),D,"",B.version,F.componentsVersion,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),b?{exchangeCode:b,idpInitiated:!0}:{}),T&&{idpInitiated:!0}),w?{token:w}:{}),$?{externalId:$}:{}));return o(this,Ji,"f").call(this,t),void("completed"!==(null===(s=null==t?void 0:t.data)||void 0===s?void 0:s.status)&&this.flowState.update({code:void 0,token:void 0}))}if(u&&(r("token")&&w||r("code")&&b||r("exchangeError")&&y)){const t=yield this.sdk.flow.next(u,d,Co,B.version,F.componentsVersion,{token:w,exchangeCode:b,exchangeError:y});return o(this,Ji,"f").call(this,t),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(h===Ao&&["samlIdpResponseUrl","samlIdpResponseSamlResponse","samlIdpResponseRelayState"].some((t=>r(t)))){if(!L||!_)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)})(L,_,R||"",Wo)}if(h===Io&&(r("redirectTo")||r("deferredRedirect")))return g?"android"===C&&document.hidden?void this.flowState.update({deferredRedirect:!0}):void window.location.assign(g):void this.loggerWrapper.error("Did not get redirect url");if(h===So||h===jo){if(!I||!k)return void this.loggerWrapper.error("Did not get webauthn transaction id or options");let t,e;null===(a=o(this,Fi,"f"))||void 0===a||a.abort(),i(this,Fi,null,"f");try{t=h===So?yield this.sdk.webauthn.helpers.create(k):yield this.sdk.webauthn.helpers.get(k)}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(u,d,Co,B.version,F.componentsVersion,{transactionId:I,response:t,failure:e});o(this,Ji,"f").call(this,n)}if(o(this,Ki,"f").call(this,u,d,h,B.version,F.componentsVersion),!p&&!q)return void this.loggerWrapper.warn("No screen was found to show");const H=q||p,K=yield this.getHtmlFilenameWithLocale(O,H),G={direction:Ro(d,e.stepId),screenState:Object.assign(Object.assign({},f),{form:Object.assign(Object.assign({},this.formConfigValues),null==f?void 0:f.form),lastAuth:{loginId:W,name:this.sdk.getLastUserDisplayName()||W}}),htmlUrl:_o({projectId:n,filename:`${H}.html`,baseUrl:this.baseStaticUrl}),htmlLocaleUrl:K&&_o({projectId:n,filename:K,baseUrl:this.baseStaticUrl}),samlIdpUsername:E,oidcLoginHint:$,oidcPrompt:M,openInNewTabUrl:v},J=si(W);No(q,x,U,E,P,$,M)?G.next=(t,e,n,o)=>this.sdk.flow.start(l,Object.assign(Object.assign({tenant:c,redirectAuth:V,oidcIdpStateId:x,samlIdpStateId:U,samlIdpUsername:E,ssoAppId:P,oidcLoginHint:$,lastAuth:J,preview:this.preview,abTestingKey:N,client:this.client},m&&{redirectUrl:m}),{locale:Vo(O),oidcPrompt:M}),D,t,e,n,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),o),b&&{exchangeCode:b,idpInitiated:!0}),T&&{idpInitiated:!0}),w&&{token:w})):(r("projectId")||r("baseUrl")||r("executionId")||r("stepId"))&&(G.next=(...t)=>this.sdk.flow.next(u,d,...t)),this.stepState.update(G)}))}loadDescopeUiComponents(t){return n(this,void 0,void 0,(function*(){const e=yield wr.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){var i,r;return n(this,void 0,void 0,(function*(){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,Wi,"m",Qi).call(this,p,c):p.querySelectorAll(`descope-button[${yo}="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),ni(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,ei(r,"descope-totp-image",s),((t,e)=>{ei(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)=>{Qo(t,null==e?void 0:e.inputs),Qo(t,null==e?void 0:e.form)})(this.rootElement,d);const t=this.rootElement.querySelectorAll("descope-email-field"),e=this.rootElement.querySelectorAll("descope-password"),n=this.rootElement.querySelectorAll("descope-new-password");document.querySelectorAll('[data-hidden-input="true"]').forEach((t=>t.remove())),[...t,...e,...n].forEach((t=>o(this,Wi,"m",Zi).call(this,t)))}));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,Wi,"m",rr).call(this,c),a&&o(this,Wi,"m",ar).call(this,"ready",{}),o(this,Wi,"m",ar).call(this,"page-updated",{});if(this.rootElement.querySelector(`[${yo}="polling"]`)){const t=yield this.getFlowConfig(),e=yield this.getProjectConfig(),n=yield c(xo,t.version,e.componentsVersion,{});o(this,Ji,"f").call(this,n)}u&&!e.openInNewTabUrl&&window.open(u,"_blank")}));l?o(this,Wi,"m",sr).call(this,v,l):v()}))}}Bi=new WeakMap,Fi=new WeakMap,Vi=new WeakMap,Ki=new WeakMap,Gi=new WeakMap,Ji=new WeakMap,zi=new WeakMap,or=new WeakMap,Wi=new WeakSet,Hi=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1})}),300)},Xi=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)}))}},Zi=function(t){if(!t)return;if("true"!==t.getAttribute("external-input"))return;t.querySelectorAll("input").forEach((e=>{const n=e.getAttribute("slot"),o=`input-${t.id}-${n}`,i=document.createElement("slot");i.setAttribute("name",o),i.setAttribute("slot",n),t.appendChild(i),e.setAttribute("slot",o),this.appendChild(e)}))},Qi=function(t,e){var r;return n(this,void 0,void 0,(function*(){null===(r=o(this,Fi,"f"))||void 0===r||r.abort();const s=t.querySelector('*[autocomplete="webauthn"]');if(s&&(yield oi())){const{options:t,transactionId:r}=(yield o(this,zi,"f").call(this))||{};if(t&&r){o(this,Wi,"m",Xi).call(this,s),i(this,Fi,new AbortController,"f");const a=yield this.getFlowConfig(),l=yield this.getProjectConfig();this.sdk.webauthn.helpers.conditional(t,o(this,Fi,"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,Ji,"f").call(this,n)})))).catch((t=>{"AbortError"!==t.name&&this.loggerWrapper.error("Conditional login failed",t.message)}))}}}))},Yi=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},tr=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})),{})}))},er=function(t){const e=this.nextRequestStatus.subscribe((({isLoading:n})=>{n?t.setAttribute("loading","true"):(this.nextRequestStatus.unsubscribe(e),t.removeAttribute("loading"))}))},nr=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)}},ir=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,or,"f").call(this,e,t)}))}))},rr=function(t){this.rootElement.querySelectorAll("descope-button:not([data-exclude-next])").forEach((e=>{e.onclick=()=>{o(this,or,"f").call(this,e,t)}})),o(this,Wi,"m",ir).call(this,t)},sr=function(t,e){this.rootElement.addEventListener("transitionend",(()=>{this.rootElement.classList.remove("fade-out"),t()}),{once:!0});const n=e===Uo.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")},ar=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",br);const yr=document.createElement("template");yr.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 Ir extends HTMLElement{constructor(){super(),lr.add(this),cr.set(this,new Xo({messages:[]})),dr.set(this,void 0),ur.set(this,void 0),hr.set(this,void 0),pr.set(this,{resize:o(this,lr,"m",mr).bind(this)}),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(yr.content.cloneNode(!0)),i(this,dr,this.shadowRoot.querySelector(".debugger"),"f"),i(this,ur,o(this,dr,"f").querySelector(".content"),"f"),i(this,hr,o(this,dr,"f").querySelector(".header"),"f")}updateData(t){o(this,cr,"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]=ii(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,dr,"f"),o(this,hr,"f"),{top:"all",bottom:100,left:100,right:100}),window.addEventListener("resize",o(this,pr,"f").resize),(t=o(this,dr,"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,dr,"f").onresize=o(this,lr,"m",vr).bind(this),o(this,cr,"f").subscribe(o(this,lr,"m",fr).bind(this))}disconnectedCallback(){o(this,cr,"f").unsubscribeAll(),window.removeEventListener("resize",o(this,pr,"f").resize)}}cr=new WeakMap,dr=new WeakMap,ur=new WeakMap,hr=new WeakMap,pr=new WeakMap,lr=new WeakSet,fr=function(t){o(this,lr,"m",gr).call(this,t),o(this,lr,"m",vr).call(this)},gr=function(t){o(this,ur,"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("")},vr=function(){o(this,ur,"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)}))},mr=function(){const[t,e]=ii(o(this,dr,"f"),Number.parseInt(o(this,dr,"f").style.left,10),Number.parseInt(o(this,dr,"f").style.top,10),{top:"all",bottom:100,left:100,right:100});o(this,dr,"f").style.top=`${e}px`,o(this,dr,"f").style.left=`${t}px`},customElements.get("descope-debugger")||customElements.define("descope-debugger",Ir);var kr=Object.freeze({__proto__:null,default:Ir});const Sr='\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 jr=Object.freeze({__proto__:null,default:(t,e,o)=>n(void 0,void 0,void 0,(function*(){const{siteId:e}=t,n=Sr.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)}))}))})}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-component",
3
- "version": "3.19.9",
3
+ "version": "3.20.0",
4
4
  "author": "Descope Team <info@descope.com>",
5
5
  "homepage": "https://github.com/descope/descope-js",
6
6
  "bugs": {