chordia-ui 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  "use strict";const u=require("react/jsx-runtime"),h=require("react"),fe=require("lucide-react");require("./colors.cjs.js");const un=h.createContext(void 0),Jt=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},Zn=()=>typeof window<"u"&&!!window.descopeBridge,Fe={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.26.7"},Kt=typeof window<"u";var Je=function(){return Je=Object.assign||function(t){for(var n,o=1,r=arguments.length;o<r;o++){n=arguments[o];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Je.apply(this,arguments)};function E(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n}function _n(e,t,n,o){function r(i){return i instanceof n?i:new n(function(s){s(i)})}return new(n||(n=Promise))(function(i,s){function l(d){try{c(o.next(d))}catch(p){s(p)}}function a(d){try{c(o.throw(d))}catch(p){s(p)}}function c(d){d.done?i(d.value):r(d.value).then(l,a)}c((o=o.apply(e,t||[])).next())})}function eo(e,t,n){if(n||arguments.length===2)for(var o=0,r=t.length,i;o<r;o++)(i||!(o in t))&&(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}function to(e,t,n,o){if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?o:n==="a"?o.call(e):o?o.value:t.get(e)}function no(e,t,n,o,r){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?r.call(e,n):r?r.value=n:t.set(e,n),n}class Oe extends Error{}Oe.prototype.name="InvalidTokenError";function oo(e){return decodeURIComponent(atob(e).replace(/(.)/g,(t,n)=>{let o=n.charCodeAt(0).toString(16).toUpperCase();return o.length<2&&(o="0"+o),"%"+o}))}function ro(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return oo(t)}catch{return atob(t)}}function bt(e,t){if(typeof e!="string")throw new Oe("Invalid token specified: must be a string");t||(t={});const n=t.header===!0?0:1,o=e.split(".")[n];if(typeof o!="string")throw new Oe(`Invalid token specified: missing part #${n+1}`);let r;try{r=ro(o)}catch(i){throw new Oe(`Invalid token specified: invalid base64 for part #${n+1} (${i.message})`)}try{return JSON.parse(r)}catch(i){throw new Oe(`Invalid token specified: invalid json for part #${n+1} (${i.message})`)}}var m={accessKey:{exchange:"/v1/auth/accesskey/exchange"},otp:{verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},magicLink:{verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},signUpOrIn:"/v1/auth/magiclink/signup-in"},enchantedLink:{verify:"/v1/auth/enchantedlink/verify",signIn:"/v1/auth/enchantedlink/signin",signUp:"/v1/auth/enchantedlink/signup",session:"/v1/auth/enchantedlink/pending-session",update:{email:"/v1/auth/enchantedlink/update/email"},signUpOrIn:"/v1/auth/enchantedlink/signup-in"},oauth:{start:"/v1/auth/oauth/authorize",exchange:"/v1/auth/oauth/exchange",startNative:"v1/auth/oauth/native/start",finishNative:"v1/auth/oauth/native/finish",oneTap:{getOneTapClientId:"/v1/auth/onetap/clientid/{provider}",exchangeOneTapIDToken:"/v1/auth/onetap/idtoken/exchange",verifyOneTapIDToken:"/v1/auth/onetap/idtoken/verify"}},outbound:{connect:"/v1/outbound/oauth/connect"},saml:{start:"/v1/auth/saml/authorize",exchange:"/v1/auth/saml/exchange"},totp:{verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/auth/totp/update"},notp:{signIn:"/v1/auth/notp/whatsapp/signin",signUp:"/v1/auth/notp/whatsapp/signup",signUpOrIn:"/v1/auth/notp/whatsapp/signup-in",session:"/v1/auth/notp/pending-session"},webauthn:{signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},signUpOrIn:{start:"/v1/auth/webauthn/signup-in/start"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},password:{signUp:"/v1/auth/password/signup",signIn:"/v1/auth/password/signin",sendReset:"/v1/auth/password/reset",update:"/v1/auth/password/update",replace:"/v1/auth/password/replace",policy:"/v1/auth/password/policy"},refresh:"/v1/auth/refresh",tryRefresh:"/v1/auth/try-refresh",selectTenant:"/v1/auth/tenant/select",logout:"/v1/auth/logout",logoutAll:"/v1/auth/logoutall",me:"/v1/auth/me",myTenants:"/v1/auth/me/tenants",history:"/v1/auth/me/history",flow:{start:"/v1/flow/start",next:"/v1/flow/next"}};const pn="<region>",io=`https://api.${pn}descope.com`,Ht=1e3,Mt=6e5,gn="dct",zt=()=>{const e={};return{headers(t){const n=typeof t.entries=="function"?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},retries(t){return e.Retries=t,this},build:()=>Object.keys(e).flatMap(t=>e[t]?[`${t!=="Title"?`${t}: `:""}${e[t]}`]:[]).join(`
2
- `)}},so=[521,524],Vt=e=>async(...t)=>{let n=await e(...t);so.includes(n.status)&&(n=await e(...t),n.retries=1);const o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n},ao=(e,t)=>{const n=t||fetch;return n||e==null||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(...o)=>{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((i=>zt().title("Request").url(i[0]).method(i[1].method).headers(i[1].headers).body(i[1].body).build())(o));const r=await Vt(n)(...o);return e[r.ok?"log":"error"](await(async i=>{const s=await i.text();return zt().title("Response").url(i.url.toString()).status(`${i.status} ${i.statusText}`).headers(i.headers).body(s).retries(i.retries).build()})(r)),r}:Vt(n)};let Re;const lo=()=>{if(Re)return Re;const e=new Date,t=`${e.getUTCFullYear().toString()}-${(e.getUTCMonth()+1).toString().padStart(2,"0")}-${e.getUTCDate().toString().padStart(2,"0")}-${e.getUTCHours().toString().padStart(2,"0")}:${e.getUTCMinutes().toString().padStart(2,"0")}:${e.getUTCSeconds().toString().padStart(2,"0")}:${e.getUTCMilliseconds().toString()}`,n=Math.floor(1e3+9e3*Math.random());return Re=`${t}-${n}`,Re};var pe;(function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT",e.patch="PATCH"})(pe||(pe={}));const Gt=({path:e,baseUrl:t,queryParams:n,projectId:o})=>{const r=o.slice(1,-27);t=t.replace(pn,r?r+".":"");let i=e?`${t.replace(/\/$/,"")}/${e==null?void 0:e.replace(/^\//,"")}`:t;if(n){const s=Object.keys(n);s.forEach((l,a)=>{i=`${i}${a===0?"?":""}${l}=${encodeURIComponent(n[l])}${a===s.length-1?"":"&"}`})}return i},co=(...e)=>new Headers(e.reduce((t,n)=>((o=>Array.isArray(o)?o:o instanceof Headers?Array.from(o.entries()):o?Object.entries(o):[])(n).forEach(([o,r])=>{t[o]=typeof r=="function"?r():r}),t),{})),uo={"Content-Type":"application/json"},po=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},go=(e,t)=>{const n={"x-descope-sdk-session-id":lo(),"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.57.0","x-descope-project-id":e};return t&&(n["x-descope-refresh-cookie-name"]=t),n},ho=e=>{try{e=JSON.parse(e)}catch{return!1}return typeof e=="object"&&e!==null};var fo=(e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:o=>{var r;const i=[].concat(((r=t.hooks)===null||r===void 0?void 0:r.beforeRequest)||[]);return i==null?void 0:i.reduce((s,l)=>l(s),o)},afterRequest:async(o,r)=>{var i;const s=[].concat(((i=t.hooks)===null||i===void 0?void 0:i.afterRequest)||[]);s.length!=0&&(await Promise.allSettled(s==null?void 0:s.map(l=>l(o,r==null?void 0:r.clone())))).forEach(l=>{var a;return l.status==="rejected"&&((a=t.logger)===null||a===void 0?void 0:a.error(l.reason))})},transformResponse:(n=t.hooks)===null||n===void 0?void 0:n.transformResponse}}))})(({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:o,logger:r,hooks:i,cookiePolicy:s,fetch:l})=>{const a=e||io,c=ao(r,l),d=async p=>{var g;const y=i!=null&&i.beforeRequest?i.beforeRequest(p):p,{path:v,body:f,headers:b,queryParams:I,method:S,token:C}=y,A=(F=>F===void 0?void 0:JSON.stringify(F))(f),q={headers:co(po(t,C),go(t,o),(n==null?void 0:n.baseHeaders)||{},ho(A)?uo:{},b),method:S,body:A};s!==null&&(q.credentials=s||"include");const L=await c(Gt({path:v,baseUrl:a,queryParams:I,projectId:t}),q);if(i!=null&&i.afterRequest&&await i.afterRequest(p,L==null?void 0:L.clone()),i==null?void 0:i.transformResponse){const F=await L.json(),K=(((g=L.headers)===null||g===void 0?void 0:g.get("set-cookie"))||"").split(";").reduce((B,T)=>{const[N,J]=T.split("=");return Object.assign(Object.assign({},B),{[N.trim()]:J})},{}),P=Object.assign(Object.assign({},L),{json:()=>Promise.resolve(F),cookies:K});return P.clone=()=>P,i.transformResponse(P)}return L};return{get:(p,{headers:g,queryParams:y,token:v}={})=>d({path:p,headers:g,queryParams:y,body:void 0,method:pe.get,token:v}),post:(p,g,{headers:y,queryParams:v,token:f}={})=>d({path:p,headers:y,queryParams:v,body:g,method:pe.post,token:f}),patch:(p,g,{headers:y,queryParams:v,token:f}={})=>d({path:p,headers:y,queryParams:v,body:g,method:pe.patch,token:f}),put:(p,g,{headers:y,queryParams:v,token:f}={})=>d({path:p,headers:y,queryParams:v,body:g,method:pe.put,token:f}),delete:(p,{headers:g,queryParams:y,token:v}={})=>d({path:p,headers:g,queryParams:y,body:void 0,method:pe.delete,token:v}),hooks:i,buildUrl:(p,g)=>Gt({projectId:t,baseUrl:a,path:p,queryParams:g})}}),vo={TOO_MANY_REQUESTS:429};function hn(e,t,n){var o;let r=He(e);if(t){if(!(r!=null&&r.tenants)&&(r==null?void 0:r[gn])===t)return(r==null?void 0:r[n])||[];r=(o=r==null?void 0:r.tenants)===null||o===void 0?void 0:o[t]}const i=r==null?void 0:r[n];return Array.isArray(i)?i:[]}function He(e){if(typeof e!="string"||!e)throw new Error("Invalid token provided");return bt(e)}function mo(e){const{exp:t}=He(e);return new Date().getTime()/1e3>t}function wo(e){let t=He(e);const n=Object.keys(t==null?void 0:t.tenants);return Array.isArray(n)?n:[]}function yo(e,t){return hn(e,t,"permissions")}function bo(e,t){return hn(e,t,"roles")}const G=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function w(e,t){var n;const o=await e,r={code:o.status,ok:o.ok,response:o},i=await o.clone().json();return o.ok?r.data=t?t(i):i:(r.error=i,o.status===vo.TOO_MANY_REQUESTS&&Object.assign(r.error,{retryAfter:Number.parseInt((n=o.headers)===null||n===void 0?void 0:n.get("retry-after"))||0})),r}function xo(e){var t;return((t=He(e))===null||t===void 0?void 0:t[gn])||""}const ce=(e,t)=>(n=t)=>o=>!e(o)&&n.replace("{val}",o),fn=(e,t)=>(n=t)=>o=>{const r=e.filter(i=>i(o));return!(r.length<e.length)&&(n?n.replace("{val}",o):r.join(" OR "))},vn=(...e)=>({validate:t=>(e.forEach(n=>{const o=n(t);if(o)throw new Error(o)}),!0)}),mn=e=>t=>e.test(t),ko=mn(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),Io=mn(/^\+[1-9]{1}[0-9]{3,14}$/),So=(e,t)=>n=>vn(...t).validate(((o,r,i)=>{const s=(Array.isArray(r)?r.join("."):String(r)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,(d,p,g)=>"."+g).split("."),l=s.length;let a=0,c=o===Object(o)?o:void 0;for(;c!=null&&a<l;)c=c[s[a++]];return a&&a===l&&c!==void 0?c:i})(n,e)),jo=ce(ko,'"{val}" is not a valid email'),Co=ce(Io,'"{val}" is not a valid phone number'),Oo=ce(($t=1,e=>e.length>=$t),"Minimum length is 1");var $t;const me=ce(e=>typeof e=="string","Input is not a string"),Uo=ce(e=>Array.isArray(e),"Input is not an array"),To=ce(e=>typeof e=="boolean","Input is not a boolean"),Ao=ce(e=>e===void 0,"Input is defined"),dt=fn([me(),Ao()],"Input is not a string or undefined"),Eo=fn([Uo(),To()],"Input is not an array or boolean"),k=(...e)=>t=>(...n)=>(e.forEach((o,r)=>vn(...o).validate(n[r])),t(...n)),wn=e=>[me(`"${e}" must be a string`)],yn=e=>[dt(`"${e}" must be string or undefined`)],O=e=>[me(`"${e}" must be a string`),Oo(`"${e}" must not be empty`)],xt=e=>[me(`"${e}" must be a string`),jo()],bn=e=>[me(`"${e}" must be a string`),Co()],Ro=k(O("accessKey")),Do=e=>({exchange:Ro((t,n)=>w(e.post(m.accessKey.exchange,{loginOptions:n},{token:t})))}),be=(e,t,n)=>(t.forEach(o=>{const r=o.split(".");let i=r.shift(),s=e;for(;r.length>0;){if(s=s[i],!i||!s)throw Error(`Invalid path "${o}", "${i}" is missing or has no value`);i=r.shift()}if(typeof s[i]!="function")throw Error(`"${o}" is not a function`);const l=s[i];s[i]=n(l)}),e),xn=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||Ht,Ht),timeoutMs:Math.min(t||Mt,Mt)});var le,ut;(function(e){e.sms="sms",e.voice="voice",e.whatsapp="whatsapp",e.im="im"})(le||(le={})),function(e){e.email="email"}(ut||(ut={}));const ne=Object.assign(Object.assign({},le),ut);var Wt;(function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"})(Wt||(Wt={}));const kn=O("loginId"),Lo=k(O("token")),Ze=k(kn),Po=k(O("pendingRef")),No=k(kn,xt("email")),qo=e=>({verify:Lo(t=>w(e.post(m.enchantedLink.verify,{token:t}))),signIn:Ze((t,n,o={},r)=>{var{providerId:i}=o,s=E(o,["providerId"]);return w(e.post(G(m.enchantedLink.signIn,ne.email),{loginId:t,URI:n,loginOptions:s,providerId:i},{token:r}))}),signUpOrIn:Ze((t,n,o={})=>{var{providerId:r}=o,i=E(o,["providerId"]);return w(e.post(G(m.enchantedLink.signUpOrIn,ne.email),{loginId:t,URI:n,loginOptions:i,providerId:r}))}),signUp:Ze((t,n,o,r={})=>{var{providerId:i}=r,s=E(r,["providerId"]);return w(e.post(G(m.enchantedLink.signUp,ne.email),{loginId:t,URI:n,user:o,loginOptions:s,providerId:i}))}),waitForSession:Po((t,n)=>new Promise(o=>{const{pollingIntervalMs:r,timeoutMs:i}=xn(n);let s;const l=setInterval(async()=>{const a=await e.post(m.enchantedLink.session,{pendingRef:t});a.ok&&(clearInterval(l),s&&clearTimeout(s),o(w(Promise.resolve(a))))},r);s=setTimeout(()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${i}ms`,errorCode:"0"},ok:!1}),clearInterval(l)},i)})),update:{email:No((t,n,o,r,i)=>w(e.post(m.enchantedLink.update.email,Object.assign({loginId:t,email:n,URI:o},i),{token:r})))}}),Fo=k(O("flowId")),Bo=k(O("executionId"),O("stepId"),O("interactionId")),Jo=e=>({start:Fo((t,n,o,r,i,s,l,a=!1)=>w(e.post(m.flow.start,{flowId:t,options:n,conditionInteractionId:o,interactionId:r,componentsVersion:i,flowVersions:s,input:l,isCustomScreen:a}))),next:Bo((t,n,o,r,i,s,l=!1)=>w(e.post(m.flow.next,{executionId:t,stepId:n,interactionId:o,version:r,componentsVersion:i,input:s,isCustomScreen:l})))}),kt=O("loginId"),Ko=k(O("token")),_e=k(kt),Ho=k(kt,bn("phone")),Mo=k(kt,xt("email")),et=Object.keys(ne).filter(e=>e!==le.voice&&e!==le.im),zo=e=>({verify:Ko(t=>w(e.post(m.magicLink.verify,{token:t}))),signIn:et.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:_e((o,r,i={},s)=>{var{providerId:l}=i,a=E(i,["providerId"]);return w(e.post(G(m.magicLink.signIn,n),{loginId:o,URI:r,loginOptions:a,providerId:l},{token:s}))})}),{}),signUp:et.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:_e((o,r,i,s={})=>{var{providerId:l}=s,a=E(s,["providerId"]);return w(e.post(G(m.magicLink.signUp,n),{loginId:o,URI:r,user:i,loginOptions:a,providerId:l}))})}),{}),signUpOrIn:et.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:_e((o,r,i={})=>{var{providerId:s}=i,l=E(i,["providerId"]);return w(e.post(G(m.magicLink.signUpOrIn,n),{loginId:o,URI:r,loginOptions:l,providerId:s}))})}),{}),update:{email:Mo((t,n,o,r,i)=>w(e.post(m.magicLink.update.email,Object.assign({loginId:t,email:n,URI:o},i),{token:r}))),phone:Object.keys(le).filter(t=>t!==le.voice).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Ho((o,r,i,s,l)=>w(e.post(G(m.magicLink.update.phone,n),Object.assign({loginId:o,phone:r,URI:i},l),{token:s})))}),{})}});var pt;(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"})(pt||(pt={}));const Vo=k(O("code")),Go=e=>({start:Object.assign((t,n,o,r,i)=>w(e.post(m.oauth.start,o||{},{queryParams:Object.assign(Object.assign({provider:t},n&&{redirectURL:n}),i&&{loginHint:i}),token:r})),Object.keys(pt).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:(o,r,i,s)=>w(e.post(m.oauth.start,r||{},{queryParams:Object.assign(Object.assign({provider:n},o&&{redirectURL:o}),s&&{loginHint:s}),token:i}))}),{})),exchange:Vo(t=>w(e.post(m.oauth.exchange,{code:t}))),startNative:(t,n,o)=>w(e.post(m.oauth.startNative,{provider:t,loginOptions:n,implicit:o})),finishNative:(t,n,o,r,i)=>w(e.post(m.oauth.finishNative,{provider:t,stateId:n,user:o,code:r,idToken:i})),getOneTapClientId:t=>w(e.get(m.oauth.oneTap.getOneTapClientId.replace("{provider}",t))),verifyOneTapIDToken:(t,n,o,r)=>w(e.post(m.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:n,nonce:o,loginOptions:r})),exchangeOneTapIDToken:(t,n,o,r)=>w(e.post(m.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:n,nonce:o,loginOptions:r}))}),$o=O("appId"),Wo=k($o),Xo=e=>({connect:Wo((t,n,o)=>{const r=n==null?void 0:n.tenantId,i=n==null?void 0:n.tenantLevel;return n==null||delete n.tenantId,n==null||delete n.tenantLevel,w(e.post(m.outbound.connect,{appId:t,tenantId:r,tenantLevel:i,options:n},{token:o}))})}),Me=O("loginId"),Yo=k(Me,O("code")),tt=k(Me),Qo=k(Me,bn("phone")),Zo=k(Me,xt("email")),_o=e=>({verify:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Yo((o,r)=>w(e.post(G(m.otp.verify,n),{code:r,loginId:o})))}),{}),signIn:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:tt((o,r={},i)=>{var{providerId:s}=r,l=E(r,["providerId"]);return w(e.post(G(m.otp.signIn,n),{loginId:o,loginOptions:l,providerId:s},{token:i}))})}),{}),signUp:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:tt((o,r,i={})=>{var{providerId:s}=i,l=E(i,["providerId"]);return w(e.post(G(m.otp.signUp,n),{loginId:o,user:r,loginOptions:l,providerId:s}))})}),{}),signUpOrIn:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:tt((o,r={})=>{var{providerId:i}=r,s=E(r,["providerId"]);return w(e.post(G(m.otp.signUpOrIn,n),{loginId:o,loginOptions:s,providerId:i}))})}),{}),update:{email:Zo((t,n,o,r)=>w(e.post(m.otp.update.email,Object.assign({loginId:t,email:n},r),{token:o}))),phone:Object.keys(le).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Qo((o,r,i,s)=>w(e.post(G(m.otp.update.phone,n),Object.assign({loginId:o,phone:r},s),{token:i})))}),{})}}),er=k(O("tenant")),tr=k(O("code")),nr=e=>({start:er((t,n,o,r,i,s,l,a)=>w(e.post(m.saml.start,o||{},Object.assign({queryParams:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({tenant:t},n&&{redirectURL:n}),i&&{ssoId:i}),s&&{forceAuthn:"true"}),l&&{loginHint:l}),a&&{initiatedEmail:t})},r&&{token:r})))),exchange:tr(t=>w(e.post(m.saml.exchange,{code:t})))}),It=O("loginId"),or=k(It,O("code")),rr=k(It),ir=k(It),sr=e=>({signUp:rr((t,n)=>w(e.post(m.totp.signUp,{loginId:t,user:n}))),verify:or((t,n,o,r)=>w(e.post(m.totp.verify,{loginId:t,code:n,loginOptions:o},{token:r}))),update:ir((t,n)=>w(e.post(m.totp.update,{loginId:t},{token:n})))}),ze=O("loginId"),In=O("newPassword"),Xt=k(ze,O("password")),ar=k(ze),lr=k(ze,In),cr=k(ze,O("oldPassword"),In),dr=e=>({signUp:Xt((t,n,o,r={})=>{var{providerId:i}=r,s=E(r,["providerId"]);return w(e.post(m.password.signUp,{loginId:t,password:n,user:o,loginOptions:s,providerId:i}))}),signIn:Xt((t,n,o={})=>{var{providerId:r}=o,i=E(o,["providerId"]);return w(e.post(m.password.signIn,{loginId:t,password:n,loginOptions:i,providerId:r}))}),sendReset:ar((t,n,o)=>w(e.post(m.password.sendReset,{loginId:t,redirectUrl:n,templateOptions:o}))),update:lr((t,n,o)=>w(e.post(m.password.update,{loginId:t,newPassword:n},{token:o}))),replace:cr((t,n,o)=>w(e.post(m.password.replace,{loginId:t,oldPassword:n,newPassword:o}))),policy:()=>w(e.get(m.password.policy))}),ur=wn("loginId"),St=O("loginId"),Ve=O("origin"),pr=k(St,Ve,O("name")),gr=k(St,Ve),hr=k(ur,Ve),fr=k(St,Ve,yn("token")),nt=k(O("transactionId"),O("response")),vr=e=>({signUp:{start:pr((t,n,o,r)=>w(e.post(m.webauthn.signUp.start,{user:{loginId:t,name:o},origin:n,passkeyOptions:r}))),finish:nt((t,n)=>w(e.post(m.webauthn.signUp.finish,{transactionId:t,response:n})))},signIn:{start:hr((t,n,o,r,i)=>w(e.post(m.webauthn.signIn.start,{loginId:t,origin:n,loginOptions:o,passkeyOptions:i},{token:r}))),finish:nt((t,n)=>w(e.post(m.webauthn.signIn.finish,{transactionId:t,response:n})))},signUpOrIn:{start:gr((t,n,o)=>w(e.post(m.webauthn.signUpOrIn.start,{loginId:t,origin:n,passkeyOptions:o})))},update:{start:fr((t,n,o,r)=>w(e.post(m.webauthn.update.start,{loginId:t,origin:n,passkeyOptions:r},{token:o}))),finish:nt((t,n)=>w(e.post(m.webauthn.update.finish,{transactionId:t,response:n})))}}),mr=wn("loginId"),ot=k(mr),wr=k(O("pendingRef")),yr=e=>({signUpOrIn:ot((t,n={})=>{var{providerId:o}=n,r=E(n,["providerId"]);return w(e.post(m.notp.signUpOrIn,{loginId:t,loginOptions:r,providerId:o}))}),signUp:ot((t,n,o={})=>{var{providerId:r}=o,i=E(o,["providerId"]);return w(e.post(m.notp.signUp,{loginId:t,user:n,providerId:r,loginOptions:i}))}),signIn:ot((t,n={},o)=>{var{providerId:r}=n,i=E(n,["providerId"]);return w(e.post(m.notp.signIn,{loginId:t,loginOptions:i,providerId:r},{token:o}))}),waitForSession:wr((t,n)=>new Promise(o=>{const{pollingIntervalMs:r,timeoutMs:i}=xn(n);let s;const l=setInterval(async()=>{const a=await e.post(m.notp.session,{pendingRef:t});a.ok&&(clearInterval(l),s&&clearTimeout(s),o(w(Promise.resolve(a))))},r);s=setTimeout(()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${i}ms`,errorCode:"0"},ok:!1}),clearInterval(l)},i)}))}),xe=k(O("token")),ke=k(yn("token"));var Yt,Qt,br=k([(Yt="projectId",Qt=O("projectId"),ce(So(Yt,Qt))())])(e=>{const{projectId:t,logger:n,baseUrl:o,cookiePolicy:r,baseHeaders:i={},refreshCookieName:s,fetch:l}=e;return a=fo({baseUrl:o,projectId:t,logger:n,hooks:{get beforeRequest(){var c;return(c=e.hooks)===null||c===void 0?void 0:c.beforeRequest},get afterRequest(){var c;return(c=e.hooks)===null||c===void 0?void 0:c.afterRequest},get transformResponse(){var c;return(c=e.hooks)===null||c===void 0?void 0:c.transformResponse}},cookiePolicy:r,baseConfig:{baseHeaders:i},refreshCookieName:s,fetch:l}),{accessKey:Do(a),otp:_o(a),magicLink:zo(a),enchantedLink:qo(a),oauth:Go(a),outbound:Xo(a),saml:nr(a),totp:sr(a),notp:yr(a),webauthn:vr(a),password:dr(a),flow:Jo(a),refresh:ke((c,d,p,g)=>{const y={};p&&(y.externalToken=p);const v=g?m.tryRefresh:m.refresh;return w(a.post(v,y,{token:c,queryParams:d}))}),selectTenant:k([me("tenantId")],[dt('"token" must be string or undefined')])((c,d)=>w(a.post(m.selectTenant,{tenant:c},{token:d}))),logout:ke(c=>w(a.post(m.logout,{},{token:c}))),logoutAll:ke(c=>w(a.post(m.logoutAll,{},{token:c}))),me:ke(c=>w(a.get(m.me,{token:c}))),myTenants:k([Eo('"tenants" must a string array or a boolean')],[dt('"token" must be string or undefined')])((c,d)=>{const p={};return typeof c=="boolean"?p.dct=c:p.ids=c,w(a.post(m.myTenants,p,{token:d}))}),history:ke(c=>w(a.get(m.history,{token:c}))),isJwtExpired:xe(mo),getTenants:xe(wo),getJwtPermissions:xe(yo),getJwtRoles:xe(bo),getCurrentTenant:xe(xo),httpClient:a};var a}),xr=Object.assign(br,{DeliveryMethods:ne});/*! js-cookie v3.0.5 | MIT */function De(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 kr={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)}};function gt(e,t){function n(r,i,s){if(!(typeof document>"u")){s=De({},t,s),typeof s.expires=="number"&&(s.expires=new Date(Date.now()+s.expires*864e5)),s.expires&&(s.expires=s.expires.toUTCString()),r=encodeURIComponent(r).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var a in s)s[a]&&(l+="; "+a,s[a]!==!0&&(l+="="+s[a].split(";")[0]));return document.cookie=r+"="+e.write(i,r)+l}}function o(r){if(!(typeof document>"u"||arguments.length&&!r)){for(var i=document.cookie?document.cookie.split("; "):[],s={},l=0;l<i.length;l++){var a=i[l].split("="),c=a.slice(1).join("=");try{var d=decodeURIComponent(a[0]);if(s[d]=e.read(c,d),r===d)break}catch{}}return r?s[r]:s}}return Object.create({set:n,get:o,remove:function(r,i){n(r,"",De({},i,{expires:-1}))},withAttributes:function(r){return gt(this.converter,De({},this.attributes,r))},withConverter:function(r){return gt(De({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var ve=gt(kr,{path:"/"});function Ir(e,t){return function(n,o){return Object.prototype.hasOwnProperty.call(n,o)}(e,t)?e[t]:void 0}function Sr(e,t,n,o){var r,i=document,s="securitypolicyviolation",l=function(c){var d=new URL(e,location.href),p=c.blockedURI;p!==d.href&&p!==d.protocol.slice(0,-1)&&p!==d.origin||(r=c,a())};i.addEventListener(s,l);var a=function(){return i.removeEventListener(s,l)};return o==null||o.then(a,a),Promise.resolve().then(t).then(function(c){return a(),c},function(c){return new Promise(function(d){var p=new MessageChannel;p.port1.onmessage=function(){return d()},p.port2.postMessage(null)}).then(function(){if(a(),r)return n(r);throw c})})}var jr={default:"endpoint"},Sn="Blocked by CSP",jn="The endpoint parameter is not a valid URL",Cr="API key required",Or="3.11.6",jt="Failed to load the JS script of the agent",Ct="9319";function Ur(e,t){var n,o,r,i,s,l,a,c=[],d=(n=function(v){var f=eo([],v,!0);return{current:function(){return f[0]},postpone:function(){var b=f.shift();b!==void 0&&f.push(b)},exclude:function(){f.shift()}}}(e),i=100,s=3e3,l=0,o=function(){return Math.random()*Math.min(s,i*Math.pow(2,l++))},r=new Set,[n.current(),function(v,f){var b,I=f instanceof Error?f.message:"";if(I===Sn||I===jn)n.exclude(),b=0;else if(I===Ct)n.exclude();else if(I===jt){var S=Date.now()-v.getTime()<50,C=n.current();C&&S&&!r.has(C)&&(r.add(C),b=0),n.postpone()}else n.postpone();var A=n.current();return A===void 0?void 0:[A,b??v.getTime()+o()-Date.now()]}]),p=d[0],g=d[1];if(p===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var y=function(v){var f=new Date,b=function(S){return c.push({url:v,startedAt:f,finishedAt:new Date,error:S})},I=t(v);return I.then(function(){return b()},b),I.catch(function(S){if(a!=null||(a=S),c.length>=5)throw a;var C=g(f,S);if(!C)throw a;var A,q=C[0],L=C[1];return(A=L,new Promise(function(F){return setTimeout(F,A)})).then(function(){return y(q)})})};return y(p).then(function(v){return[v,c]})}var Cn="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",Tr=Cn;function Ar(e){var t;e.scriptUrlPattern;var n=e.token,o=e.apiKey,r=o===void 0?n:o,i=E(e,["scriptUrlPattern","token","apiKey"]),s=(t=Ir(e,"scriptUrlPattern"))!==null&&t!==void 0?t:Cn,l=function(){var d=[],p=function(){d.push({time:new Date,state:document.visibilityState})},g=function(y,v,f,b){return y.addEventListener(v,f,b),function(){return y.removeEventListener(v,f,b)}}(document,"visibilitychange",p);return p(),[d,g]}(),a=l[0],c=l[1];return Promise.resolve().then(function(){if(!r||typeof r!="string")throw new Error(Cr);var d=function(p,g){return(Array.isArray(p)?p:[p]).map(function(y){return function(v,f){var b=encodeURIComponent;return v.replace(/<[^<>]+>/g,function(I){return I==="<version>"?"3":I==="<apiKey>"?b(f):I==="<loaderVersion>"?b(Or):I})}(String(y),g)})}(s,r);return Ur(d,Er)}).catch(function(d){throw c(),function(p){return p instanceof Error&&p.message===Ct?new Error(jt):p}(d)}).then(function(d){var p=d[0],g=d[1];return c(),p.load(Je(Je({},i),{ldi:{attempts:g,visibilityStates:a}}))})}function Er(e){return Sr(e,function(){return function(t){return new Promise(function(n,o){if(function(l){if(URL.prototype)try{return new URL(l,location.href),!1}catch(a){if(a instanceof Error&&a.name==="TypeError")return!0;throw a}}(t))throw new Error(jn);var r=document.createElement("script"),i=function(){var l;return(l=r.parentNode)===null||l===void 0?void 0:l.removeChild(r)},s=document.head||document.getElementsByTagName("head")[0];r.onload=function(){i(),n()},r.onerror=function(){i(),o(new Error(jt))},r.async=!0,r.src=t,s.appendChild(r)})}(e)},function(){throw new Error(Sn)}).then(Rr)}function Rr(){var e=window,t="__fpjs_p_l_b",n=e[t];if(function(o,r){var i,s=(i=Object.getOwnPropertyDescriptor)===null||i===void 0?void 0:i.call(Object,o,r);s!=null&&s.configurable?delete o[r]:s&&!s.writable||(o[r]=void 0)}(e,t),typeof(n==null?void 0:n.load)!="function")throw new Error(Ct);return n}const On="3.2.0",M=typeof window<"u",rt=Math.pow(2,31)-1,Dr=`https://descopecdn.com/npm/oidc-client-ts@${On}/dist/browser/oidc-client-ts.min.js`,Lr=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${On}/dist/browser/oidc-client-ts.min.js`,Pr=["/v1/auth/refresh","/v1/auth/try-refresh","/v1/auth/me","/v1/auth/me/tenants","/v1/auth/me/history"];let Q;const Un=e=>{try{return bt(e).exp}catch{return null}},Nr=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:Un(n)},qr=e=>{const{expires_in:t,expires_at:n,access_token:o}=e;return n||(t?Math.floor(Date.now()/1e3)+t:o?Un(o):void 0)},Tn=e=>{const{access_token:t,id_token:n,refresh_token:o,refresh_expire_in:r}=e,i=E(e,["access_token","id_token","refresh_token","refresh_expire_in"]);return Object.assign({sessionJwt:e.sessionJwt||t,idToken:n,refreshJwt:e.refreshJwt||o,sessionExpiration:e.sessionExpiration||qr(e),cookieExpiration:e.cookieExpiration||Nr(e)},i)},ge=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce((o,r)=>{var i;return o[r]=[].concat(((i=e.hooks)===null||i===void 0?void 0:i[r])||[]).concat((t==null?void 0:t[r])||[]),o},(n=e.hooks)!==null&&n!==void 0?n:e.hooks={}),e},Le=async e=>{if(!(e!=null&&e.ok))return{};const t=await(e==null?void 0:e.clone().json()),n=(t==null?void 0:t.authInfo)||t||{};return Tn(n)},ht=()=>M&&!!window.descopeBridge,it=(e,t)=>{if(!((t==null?void 0:t.status)>=400&&(t==null?void 0:t.status)<500))return!1;const n=(e==null?void 0:e.path)||"";return Pr.includes(n)},Fr=Q!==void 0||M&&window.localStorage!==void 0,te=(e,t)=>{var n,o;return(o=(n=Q||M&&window.localStorage)===null||n===void 0?void 0:n.setItem)===null||o===void 0?void 0:o.call(n,e,t)},Z=e=>{var t,n;return(n=(t=Q||M&&window.localStorage)===null||t===void 0?void 0:t.getItem)===null||n===void 0?void 0:n.call(t,e)},W=e=>{var t,n;return(n=(t=Q||M&&window.localStorage)===null||t===void 0?void 0:t.removeItem)===null||n===void 0?void 0:n.call(t,e)},Br=e=>{var t,n,o,r,i;return(i=(n=(t=Q==null?void 0:Q.key)===null||t===void 0?void 0:t.call(Q,e))!==null&&n!==void 0?n:M&&((r=(o=window.localStorage)===null||o===void 0?void 0:o.key)===null||r===void 0?void 0:r.call(o,e)))!==null&&i!==void 0?i:null},H=(...e)=>{console.debug(...e)},Zt=(...e)=>{console.warn(...e)},Jr=(e,t)=>{let n;var o;return t>0?(n=1e3*t,H(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-new Date().getTime():0)-2e4,n>rt&&(H(`Timeout is too large (${n}ms), setting it to ${rt}ms`),n=rt),n},Ge="DS",Ae="DSR",Ot="DSI";function _t(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:i,cookieExpiration:s,cookieSecure:l}=n,a=new Date(1e3*s),c=ft(o);ve.set(e,t,{path:r,domain:c?o:void 0,expires:a,sameSite:i,secure:l})}}function ft(e){const t=window.location.hostname.split("."),n=e==null?void 0:e.split(".");return t.slice(-(n==null?void 0:n.length)).join(".")===e}const Ut=e=>(e==null?void 0:e.cookieName)||Ge,Ke=e=>(e==null?void 0:e.cookieName)||Ae;function Ue(e="",t){return ve.get(Ke(t))||Z(`${e}${Ae}`)||""}function en(e="",t){return ve.get(Ut(t))||Z(`${e}${Ge}`)||""}function An(e=""){return Z(`${e}${Ot}`)||""}function En(e="",t,n,o){W(`${e}${Ae}`),W(`${e}${Ge}`),W(`${e}${Ot}`);const r=Ut(t);ve.remove(r,o==null?void 0:o.session);const i=Ke(n);ve.remove(i,o==null?void 0:o.refresh)}const Kr=(e,t)=>n=>{const o=Object.assign(n,{token:n.token||Ue(e,t)}),r=function(i=""){return Z(`${i}DTD`)||""}(e);return r&&(o.headers=Object.assign(Object.assign({},o.headers||{}),{"x-descope-trusted-device-token":r})),o},Hr=M&&(localStorage==null?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://api.descope.com",Mr="vsid",zr="vrid",Tt="fp",Rn=(e=!1)=>{const t=Z(Tt);if(!t)return null;const n=JSON.parse(t);return new Date().getTime()>n.expiry&&!e?null:n.value},Dn=async(e,t=Hr)=>{try{if(Rn())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 r=new URL(t);r.pathname="/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I";const i=r.toString()+"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>",s=Ar({apiKey:e,endpoint:[o.toString(),jr],scriptUrlPattern:[i,Tr]}),l=await s,{requestId:a}=await l.get({linkedId:n}),c=((d,p)=>({[Mr]:d,[zr]:p}))(n,a);(d=>{const p={value:d,expiry:new Date().getTime()+864e5};te(Tt,JSON.stringify(p))})(c)}catch(n){console.warn("Could not load fingerprint",n)}},Vr=()=>{W(Tt)},Gr=e=>{const t=Rn(!0);return t&&e.body&&(e.body.fpData=t),e},he="descopeFlowNonce",tn="X-Descope-Flow-Nonce",nn="/v1/flow/start",vt="/v1/flow/next",mt=(e,t=he)=>`${t}${e}`,$r=(e,t=he)=>{try{const n=mt(e,t);W(n)}catch(n){console.error("Error removing flow nonce:",n)}},Ln=e=>{var t;return((t=/.*\|#\|(.*)/.exec(e))===null||t===void 0?void 0:t[1])||null},on=e=>{var t;return e.path===vt&&(!((t=e.body)===null||t===void 0)&&t.executionId)?Ln(e.body.executionId):null},At="dls_last_user_login_id",Et="dls_last_user_display_name",rn=e=>te(At,e),wt=()=>Z(At),yt=()=>Z(Et),Wr=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,r=wt(),i=yt();return r&&((n=o.lastAuth)!==null&&n!==void 0||(o.lastAuth={}),o.lastAuth.loginId=r,o.lastAuth.name=i),await e(...t)},Xr=e=>t=>async(...n)=>{const o=await t(...n);return e||(W(At),W(Et)),o};function Pe(){const e=[];return{pub:t=>{e.forEach(n=>n(t))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const Yr=(e,t,n,o)=>r=>async(...i)=>{const s=await r(...i);return En(e,t,n,o==null?void 0:o()),s};async function Ne(e){const t=function(r){var i;const s=JSON.parse(r);return s.publicKey.challenge=Te(s.publicKey.challenge),s.publicKey.user.id=Te(s.publicKey.user.id),(i=s.publicKey.excludeCredentials)===null||i===void 0||i.forEach(l=>{l.id=Te(l.id)}),s}(e);return o=await navigator.credentials.create(t),JSON.stringify({id:o.id,rawId:ae(o.rawId),type:o.type,response:{attestationObject:ae(o.response.attestationObject),clientDataJSON:ae(o.response.clientDataJSON)}});var o}async function st(e){const t=Nn(e);return qn(await navigator.credentials.get(t))}async function Qr(e,t){const n=Nn(e);return n.signal=t.signal,n.mediation="conditional",qn(await navigator.credentials.get(n))}async function Pn(e=!1){var t,n;if(!M)return Promise.resolve(!1);if(ht()){const r=(n=(t=window.descopeBridge)===null||t===void 0?void 0:t.hostInfo)===null||n===void 0?void 0:n.webauthn;if(typeof r=="boolean")return r}const o=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return o&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():o}function Nn(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=Te(n.publicKey.challenge),(t=n.publicKey.allowCredentials)===null||t===void 0||t.forEach(o=>{o.id=Te(o.id)}),n}function qn(e){return JSON.stringify({id:e.id,rawId:ae(e.rawId),type:e.type,response:{authenticatorData:ae(e.response.authenticatorData),clientDataJSON:ae(e.response.clientDataJSON),signature:ae(e.response.signature),userHandle:e.response.userHandle?ae(e.response.userHandle):void 0}})}function Te(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),n=>n.charCodeAt(0)).buffer}function ae(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var sn,Zr=(sn=e=>({async signUp(t,n,o){const r=await e.webauthn.signUp.start(t,window.location.origin,n,o);if(!r.ok)return r;const i=await Ne(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,i)},async signIn(t,n){const o=await e.webauthn.signIn.start(t,window.location.origin,void 0,void 0,n);if(!o.ok)return o;const r=await st(o.data.options);return await e.webauthn.signIn.finish(o.data.transactionId,r)},async signUpOrIn(t,n){var o;const r=await e.webauthn.signUpOrIn.start(t,window.location.origin,n);if(!r.ok)return r;if(!((o=r.data)===null||o===void 0)&&o.create){const i=await Ne(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,i)}{const i=await st(r.data.options);return await e.webauthn.signIn.finish(r.data.transactionId,i)}},async update(t,n,o){const r=await e.webauthn.update.start(t,window.location.origin,n,o);if(!r.ok)return r;const i=await Ne(r.data.options);return await e.webauthn.update.finish(r.data.transactionId,i)},helpers:{create:Ne,get:st,isSupported:Pn,conditional:Qr}}),(...e)=>{const t=sn(...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 an={config:"/fedcm/config"},_r=()=>{if(window.crypto&&window.crypto.getRandomValues){const e=new Uint8Array(16);return window.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}return Math.random().toString(36).substring(2)};async function ln(e,t){var n;try{await Fn(e,t)}catch(o){(n=t==null?void 0:t.onFailed)===null||n===void 0||n.call(t,o)}}async function Fn(e,t){var n,o;const r=await async function(i,s="google",l,a,c){const d=_r(),p=await async function(){return new Promise((v,f)=>{if(window.google)return void v(window.google.accounts.id);let b=document.getElementById("google-gsi-client-script");b||(b=document.createElement("script"),document.head.appendChild(b),b.async=!0,b.defer=!0,b.id="google-gsi-client-script",b.src="https://accounts.google.com/gsi/client"),b.onload=function(){window.google?v(window.google.accounts.id):f("Failed to load Google GSI client script - not loaded properly")},b.onerror=function(){f("Failed to load Google GSI client script - failed to load")}})}(),g=await i.oauth.getOneTapClientId(s);if(!g.ok)throw new Error("Failed to get OneTap client ID for provider "+s);const y=g.data.clientId;return new Promise(v=>{var f,b;const I=S=>{v({provider:s,nonce:d,credential:S==null?void 0:S.credential})};p.initialize(Object.assign(Object.assign({},l),{itp_support:(f=l==null?void 0:l.itp_support)===null||f===void 0||f,use_fedcm_for_prompt:(b=l==null?void 0:l.use_fedcm_for_prompt)===null||b===void 0||b,client_id:y,callback:I,nonce:d})),p.prompt(S=>{var C,A;if(c&&(S!=null&&S.isDismissedMoment())){const q=(C=S.getDismissedReason)===null||C===void 0?void 0:C.call(S);return c==null||c(q),void I()}if(a&&(S!=null&&S.isSkippedMoment())){const q=(A=S.getSkippedReason)===null||A===void 0?void 0:A.call(S);return a==null||a(q),void I()}})})}(e,t.provider,t.oneTapConfig,t.onSkipped,t.onDismissed);if(!r.credential)return null;if(t!=null&&t.onCodeReceived){const i=await e.oauth.verifyOneTapIDToken(r.provider,r.credential,r.nonce,t==null?void 0:t.loginOptions);if(!i.ok||!i.data)throw new Error("Failed to verify OneTap client ID for provider "+r.provider);(n=t==null?void 0:t.onCodeReceived)===null||n===void 0||n.call(t,i.data.code)}else{const i=await e.oauth.exchangeOneTapIDToken(r.provider,r.credential,r.nonce,t==null?void 0:t.loginOptions);if(!i.ok||!i.data)throw new Error("Failed to exchange OneTap client ID for provider "+r.provider);(o=t==null?void 0:t.onAuthenticated)===null||o===void 0||o.call(t,i.data)}}var ei=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await Pn(),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 ti=()=>window.location.search.includes("code")&&window.location.search.includes("state");let at;const Bn=(e,t)=>new Promise((n,o)=>{if(!e.length)return o(new Error("No URLs provided to loadScriptWithFallback"));const r=t();if(r)return n(r);const i=e.shift(),s=document.createElement("script");s.src=i,s.id=(l=>{let a=0;for(let c=0;c<l.length;c++)a=(a<<5)-a+l.charCodeAt(c),a|=0;return Math.abs(a).toString(16)})(i),s.onload=()=>{const l=t();if(l)return n(l);throw new Error("Could not get entry after loading script from URL")},s.addEventListener("error",()=>{Bn(e,t),s.setAttribute("data-error","true")}),document.body.appendChild(s)}),ni=async(e,t,n)=>{at||(at=(async()=>{try{return require("oidc-client-ts")}catch{return Bn([Dr,Lr],()=>window.oidc)}})());const{OidcClient:o,WebStorageStateStore:r}=await at;if(!o)throw new Error("oidc-client-ts is not installed. Please install it by running `npm install oidc-client-ts`");const i=(n==null?void 0:n.redirectUri)||window.location.href;let s,l,a,c;if(n!=null&&n.issuer){if(!n.clientId)throw new Error("clientId is required when providing a custom issuer/authority");s=n.issuer,l=n.clientId,a=`${l}_user`,c="openid"}else n!=null&&n.applicationId?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,l=t,a=`${l}_user`,c="openid email roles descope.custom_claims offline_access"):(s=e.httpClient.buildUrl(t),l=t,a=`${l}_user`,c="openid email roles descope.custom_claims offline_access");const d={authority:s,client_id:l,redirect_uri:i,response_type:"code",scope:(n==null?void 0:n.scope)||c,stateStore:new r({store:window.localStorage,prefix:l}),loadUserInfo:!0,fetchRequestCredentials:"same-origin"};return n!=null&&n.redirectUri&&(d.redirect_uri=n.redirectUri),{client:new o(d),stateUserKey:a}},oi=(e,t,n)=>{const o=async()=>{let i,s;return i&&s||({client:i,stateUserKey:s}=await ni(e,t,n)),{client:i,stateUserKey:s}},r=async(i="")=>{var s;const{client:l,stateUserKey:a}=await o(),c=await l.processSigninResponse(i||window.location.href);var d;return await((s=e.httpClient.hooks)===null||s===void 0?void 0:s.afterRequest({},new Response(JSON.stringify(c)))),te(a,JSON.stringify({id_token:(d=c).id_token,session_state:d.session_state,profile:d.profile})),(()=>{const p=new URL(window.location.href);p.searchParams.delete("code"),p.searchParams.delete("state"),window.history.replaceState({},document.title,p.toString())})(),c};return{loginWithRedirect:async(i={},s=!1)=>{const{client:l}=await o(),a=await l.createSigninRequest(i),{url:c}=a;return s||(window.location.href=c),{ok:!0,data:a}},finishLogin:r,finishLoginIfNeed:async(i="")=>{if(ti())return await r(i)},refreshToken:async i=>{var s;const{client:l,stateUserKey:a}=await o(),c=(g=>{const y=Z(g);return y?JSON.parse(y):null})(a);if(!c)throw new Error("User not found in storage to refresh token");let d=i;if(!d){const g={};e.httpClient.hooks.beforeRequest(g),d=g.token}const p=await l.useRefreshToken({state:{refresh_token:d,session_state:c.session_state,profile:c.profile}});return await((s=e.httpClient.hooks)===null||s===void 0?void 0:s.afterRequest({},new Response(JSON.stringify(p)))),p},logout:async(i,s=!1)=>{const{client:l,stateUserKey:a}=await o();i||(i={}),i.id_token_hint=i.id_token_hint||An(),i.post_logout_redirect_uri=i.post_logout_redirect_uri||window.location.href;const c=await l.createSignoutRequest(i),{url:d}=c;return W(a),s||window.location.replace(d),c}}},Jn=function(...e){return t=>e.reduce((n,o)=>o(n),t)}(e=>t=>{var n;return n=t.customStorage,Q=n,e(t)},e=>t=>{var{fpKey:n,fpLoad:o}=t,r=E(t,["fpKey","fpLoad"]);return M?(n&&o&&Dn(n).catch(()=>null),e(ge(r,{beforeRequest:Gr}))):e(r)},e=>t=>{var{autoRefresh:n}=t,o=E(t,["autoRefresh"]);if(!n||ht())return e(o);const{clearAllTimers:r,setTimer:i}=(()=>{const c=[];return{clearAllTimers:()=>{for(;c.length;)clearTimeout(c.pop())},setTimer:(d,p)=>{c.push(setTimeout(d,p))}}})();let s,l;M&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&s&&new Date>s&&(H("Expiration time passed, refreshing session"),a.refresh(Ue()||l))});const a=e(ge(o,{afterRequest:async(c,d)=>{const{sessionJwt:p,refreshJwt:g,sessionExpiration:y,nextRefreshSeconds:v}=await Le(d);if(it(c,d))H("Session invalidated, canceling all timers"),r();else if(p||y){if(s=((I,S)=>{if(S)return new Date(1e3*S);H("Could not extract expiration time from session token, trying to decode the token");try{const C=bt(I);if(C.exp)return new Date(1e3*C.exp)}catch{return null}})(p,y),!s)return void H("Could not extract expiration time from session token");l=g;const f=Jr(s,v);if(r(),f<=2e4)return void H("Session is too close to expiration, not setting refresh timer");const b=new Date(Date.now()+f).toLocaleTimeString("en-US",{hour12:!1});H(`Setting refresh timer for ${b}. (${f}ms)`),i(()=>{M&&document.visibilityState==="hidden"?H("Skipping refresh due to timer - document is hidden"):(H("Refreshing session due to timer"),a.refresh(Ue()||g))},f)}}}));return be(a,["logout","logoutAll","oidc.logout"],c=>async(...d)=>{const p=await c(...d);return H("Clearing all timers"),r(),p})},e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.45.0"},t.baseHeaders)})),e=>t=>{const n=Pe(),o=Pe(),r=Pe(),i=Pe(),s=e(ge(t,{afterRequest:async(a,c)=>{if(it(a,c))H("Session invalidated, notifying subscribers with empty values"),o.pub(null),r.pub(null),n.pub(null),i.pub(null);else{const d=await(async v=>{const f=await Le(v);return(f==null?void 0:f.user)||(f!=null&&f.hasOwnProperty("userId")?f:void 0)})(c);d&&r.pub(d);const{sessionJwt:p,sessionExpiration:g,claims:y}=await Le(c);p&&o.pub(p),y&&i.pub(y),(g||p)&&n.pub(g||42)}}})),l=be(s,["logout","logoutAll","oidc.logout"],a=>async(...c)=>{const d=await a(...c);return o.pub(null),r.pub(null),n.pub(null),i.pub(null),d});return Object.assign(l,{onSessionTokenChange:o.sub,onUserChange:r.sub,onClaimsChange:i.sub,onIsAuthenticatedChange:a=>n.sub(c=>{a(!!c)})})},e=>t=>{const{enableFlowNonce:n=!0,nonceStoragePrefix:o=he}=t,r=E(t,["enableFlowNonce","nonceStoragePrefix"]);return n?(((i=he)=>{try{if(!Fr)return;for(let c=0;c<(s=void 0,l=void 0,a=void 0,(a=(s=Q==null?void 0:Q.length)!==null&&s!==void 0?s:M&&((l=window.localStorage)===null||l===void 0?void 0:l.length))!==null&&a!==void 0?a:0);c++){const d=Br(c);if(d&&d.startsWith(i)){const p=Z(d);if(p)try{JSON.parse(p).expiry<Date.now()&&W(d)}catch{W(d)}}}}catch(c){console.error("Error cleaning up expired nonces:",c)}var s,l,a})(o),e(ge(r,{afterRequest:async(i,s)=>{if(i.path!==nn&&i.path!==vt)return;const{nonce:l,executionId:a}=await(async(c,d)=>{try{const p=d.headers.get(tn);let g=await d.clone().json().then(y=>(y==null?void 0:y.executionId)||null).catch(()=>null);return g||(g=on(c)),{nonce:p,executionId:Ln(g)}}catch{return{nonce:null,executionId:null}}})(i,s);l&&a&&((c,d,p,g=he)=>{try{const y=mt(c,g),v=p?172800:10800,f={value:d,expiry:Date.now()+1e3*v,isStart:p};te(y,JSON.stringify(f))}catch(y){console.error("Error setting flow nonce:",y)}})(a,l,i.path===nn,o)},beforeRequest:i=>{if(i.path===vt){const s=on(i);if(s){const l=((a,c=he)=>{try{const d=mt(a,c),p=Z(d);if(!p)return null;const g=JSON.parse(p);return g.expiry<Date.now()?($r(a,c),null):g.value}catch(d){return console.error("Error getting flow nonce:",d),null}})(s,o);l&&(i.headers=i.headers||{},i.headers[tn]=l)}}return i}}))):e(r)},e=>t=>{var{storeLastAuthenticatedUser:n=!0,keepLastAuthenticatedUserAfterLogout:o=!1}=t,r=E(t,["storeLastAuthenticatedUser","keepLastAuthenticatedUserAfterLogout"]);if(!n)return Object.assign(e(r),{getLastUserLoginId:wt,getLastUserDisplayName:yt});const i=e(ge(r,{afterRequest:async(l,a)=>{var c;const{userInfo:d,lastAuth:p}=await(async v=>{if(!(v!=null&&v.ok))return{userInfo:void 0,lastAuth:void 0};const f=await(v==null?void 0:v.clone().json()),b=Tn((f==null?void 0:f.authInfo)||f||{});return{userInfo:(b==null?void 0:b.user)||(b!=null&&b.hasOwnProperty("userId")?b:void 0),lastAuth:f.lastAuth}})(a),g=(c=d==null?void 0:d.loginIds)===null||c===void 0?void 0:c[0],y=d==null?void 0:d.name;g?(rn(g),(v=>{te(Et,v)})(y)):p!=null&&p.loginId&&rn(p.loginId)}}));let s=be(i,["flow.start"],Wr);return s=be(s,["logout","logoutAll"],Xr(o)),Object.assign(s,{getLastUserLoginId:wt,getLastUserDisplayName:yt})},e=>t=>{var{persistTokens:n,sessionTokenViaCookie:o,refreshTokenViaCookie:r,storagePrefix:i}=t,s=E(t,["persistTokens","sessionTokenViaCookie","refreshTokenViaCookie","storagePrefix"]);if(!n||!M)return e(s);let l;const a=e(ge(s,{beforeRequest:Kr(i,r),afterRequest:async(d,p)=>{if(it(d,p))H("Session invalidated, clearing persisted tokens"),En(i,o,r,l);else{const g=((y={},v=!1,f="",b=!1)=>{var I,S,C,A;const{sessionJwt:q,refreshJwt:L,trustedDeviceJwt:F}=y;let K;if(L)if(b){W(`${f}${Ae}`);const P=b.sameSite||"Strict",B=(I=b.secure)===null||I===void 0||I,T=(S=b.domain)!==null&&S!==void 0?S:y.cookieDomain,N=Ke(b);B&&window.location.protocol!=="https:"&&Zt("Refresh token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass refreshTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }");const J=Object.assign(Object.assign({},y),{cookieSameSite:P,cookieSecure:B,cookieDomain:T});_t(N,L,J);const X=ft(T);K=Object.assign(Object.assign({},K),{refresh:{path:J.cookiePath,domain:X?T:void 0}})}else{const P=Ke(b);ve.remove(P),te(`${f}${Ae}`,L)}if(q)if(v){const P=v.sameSite||"Strict",B=(C=v.secure)===null||C===void 0||C,T=(A=v.domain)!==null&&A!==void 0?A:y.cookieDomain,N=Ut(v);B&&window.location.protocol!=="https:"&&Zt("Session token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass sessionTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }");const J=Object.assign(Object.assign({},y),{cookieSameSite:P,cookieSecure:B,cookieDomain:T});_t(N,q,J);const X=ft(T);K=Object.assign(Object.assign({},K),{session:{path:J.cookiePath,domain:X?T:void 0}})}else te(`${f}${Ge}`,q);return y.idToken&&te(`${f}${Ot}`,y.idToken),F&&te(`${f}DTD`,F),K})(await Le(p),o,i,r);g&&(l=g)}}})),c=be(a,["logout","logoutAll","oidc.logout"],Yr(i,o,r,()=>l));return Object.assign(c,{getRefreshToken:()=>Ue(i,r),getSessionToken:()=>en(i,o),getIdToken:()=>An(i)})})(e=>{const t=xr(e),n=oi(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(i,s)=>{var l;if(ht())return H(`Refresh called in native flow: ${new Error().stack}`),Promise.resolve({ok:!1,error:{errorCode:"J171000",errorDescription:"Refresh is not supported in native flows via the web SDK"}});if(e.oidcConfig)try{return await n.refreshToken(i),Promise.resolve({ok:!0})}catch(p){return Promise.resolve({ok:!1,error:{errorCode:"J161001",errorDescription:p.toString()}})}const a=en(),c=Ue();let d="";if(e.getExternalToken)try{d=await((l=e.getExternalToken)===null||l===void 0?void 0:l.call(e))}catch(p){H("Error getting external token while refreshing",p)}return t.refresh(i,{dcs:a?"t":"f",dcr:c?"t":"f"},d,s)},logout:async i=>{if(e.oidcConfig)try{return await n.logout({id_token_hint:i}),Promise.resolve({ok:!0})}catch(s){return Promise.resolve({ok:!1,error:{errorCode:"J161000",errorDescription:s.toString()}})}return t.logout(i)},flow:ei(t),webauthn:Zr(t),fedcm:(o=t,r=e.projectId,{onetap:{requestExchangeCode(i){ln(o,i)},requestAuthentication(i){ln(o,i)}},async oneTap(i,s,l,a,c){await Fn(o,{provider:i,oneTapConfig:s,loginOptions:l,onSkipped:a,onDismissed:c})},async launch(i){var s;const l={identity:{context:i||"signin",providers:[{configURL:o.httpClient.buildUrl(r+an.config),clientId:r}]}},a=await((s=navigator.credentials)===null||s===void 0?void 0:s.get(l));return o.refresh(a.token)},isSupported:()=>M&&"IdentityCredential"in window,async isLoggedIn(i){var s;const l=o.httpClient.buildUrl(r+an.config);try{const a={identity:{context:i||"signin",providers:[{configURL:l,clientId:r}]}},c=await((s=navigator.credentials)===null||s===void 0?void 0:s.get(a));return!!c&&!!c.token}catch{return!1}}}),oidc:n});var o,r});let Rt;const Kn=e=>{const t=Jn(Object.assign({persistTokens:Kt,autoRefresh:Kt},e));return Rt=t,t},ri=()=>Kn({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});Rt=ri();const ii=()=>Rt;var si=({projectId:e,baseUrl:t,persistTokens:n,autoRefresh:o,sessionTokenViaCookie:r,refreshTokenViaCookie:i,refreshCookieName:s,oidcConfig:l,storeLastAuthenticatedUser:a,keepLastAuthenticatedUserAfterLogout:c,getExternalToken:d,hooks:p,customStorage:g})=>h.useMemo(()=>{if(e)return Kn({projectId:e,baseUrl:t,sessionTokenViaCookie:r,refreshTokenViaCookie:i,baseHeaders:Fe,persistTokens:n,autoRefresh:o,refreshCookieName:s,oidcConfig:l,storeLastAuthenticatedUser:a,keepLastAuthenticatedUserAfterLogout:c,hooks:p,getExternalToken:d,customStorage:g})},[e,t,JSON.stringify(r),JSON.stringify(i),d,g]);const ai=({projectId:e,baseUrl:t="",baseStaticUrl:n="",baseCdnUrl:o="",sessionTokenViaCookie:r=!1,refreshTokenViaCookie:i=!1,hooks:s,persistTokens:l=!0,autoRefresh:a=!0,oidcConfig:c,storeLastAuthenticatedUser:d=!0,keepLastAuthenticatedUserAfterLogout:p=!1,refreshCookieName:g="",getExternalToken:y,customStorage:v,children:f})=>{const[b,I]=h.useState(),[S,C]=h.useState(),[A,q]=h.useState(),[L,F]=h.useState(!1),[K,P]=h.useState(!1),[B,T]=h.useState(!1),[N,J]=h.useState(!!c),X=h.useRef(!1),R=si({projectId:e,baseUrl:t,persistTokens:l,autoRefresh:a,sessionTokenViaCookie:r,refreshTokenViaCookie:i,hooks:s,oidcConfig:c,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:p,refreshCookieName:g,getExternalToken:y,customStorage:v});h.useEffect(()=>{if(R){const we=R.onSessionTokenChange(C),V=R.onUserChange(I),j=R.onIsAuthenticatedChange(F),ye=R.onClaimsChange(q);return()=>{we(),V(),j(),ye()}}},[R]);const _=h.useRef(!1),z=h.useRef(!1);h.useEffect(()=>{R&&c&&!X.current&&(X.current=!0,R.oidc.finishLoginIfNeed().finally(()=>{J(!1),_.current=!0}))},[]);const de=h.useCallback(()=>{Zn()||_.current||(_.current=!0,T(!0),Jt(R==null?void 0:R.refresh)(void 0,!0).then(()=>{T(!1)}))},[R]),oe=h.useCallback(()=>{z.current||(z.current=!0,P(!0),Jt(R.me)().then(()=>{P(!1)}))},[R]),re=h.useMemo(()=>({fetchUser:oe,user:b,isUserLoading:K,isUserFetched:z.current,fetchSession:de,session:S,isAuthenticated:L,isSessionLoading:B,isOidcLoading:N,isSessionFetched:_.current,projectId:e,baseUrl:t,baseStaticUrl:n,baseCdnUrl:o,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:p,refreshCookieName:g,customStorage:v,setUser:I,setSession:C,setIsAuthenticated:F,claims:A,sdk:R}),[oe,b,K,z.current,de,S,L,B,N,_.current,e,t,n,o,p,g,v,I,C,F,A,R]);return h.createElement(un.Provider,{value:re},f)};function li(...e){return t=>e.reduce((n,o)=>o(n),t)}const ci=(...e)=>e.join("/").replace(/\/+/g,"/"),cn=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),di=e=>{const t=Symbol((n=>{const o=n.toString();let r=0;for(let i=0;i<o.length;i++)r=(r<<5)-r+o.charCodeAt(i),r&=r;return r.toString(16)})(e));return n=>{if(n[t])return n;const o=e(n);return o[t]=!0,o}},ui=e=>{const[,t,n]=/(.*)\.(prop|attr)$/.exec(e)||[,e,"rest"];return{trimmedKey:t,category:n}},pi=e=>typeof e=="string"||e==null?e:JSON.stringify(e),gi=e=>h.forwardRef((t,n)=>{const{prop:o,attr:r,rest:i}=h.useMemo(()=>Object.entries(t).reduce((a,[c,d])=>{const{trimmedKey:p,category:g}=ui(c);return g==="prop"?a.prop.push([p,d]):g==="attr"?a.attr.push([cn(p),pi(d)]):Object.assign(a.rest,{[cn(p)]:d}),a},{attr:[],prop:[],rest:{}}),[t]),s=h.useRef(null),l=h.useCallback(a=>{s.current=a,a&&(o.forEach(([c,d])=>{s.current[c]=d}),r.forEach(([c,d])=>{d==null?a.removeAttribute(c):a.setAttribute(c,d)}))},[o,r,s]);return h.useImperativeHandle(n,()=>s.current),h.createElement(e,Object.assign({ref:l},i))}),hi=h.lazy(async()=>(((customElements==null?void 0:customElements.get("descope-wc"))||await Promise.resolve().then(()=>require("./index.cjs3.js")).then(e=>e.index).then(e=>e.default)).sdkConfigOverrides={baseHeaders:Fe,persistTokens:!1,hooks:{get beforeRequest(){return ii().httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:gi(h.forwardRef((e,t)=>{var{"external-request-id":n}=e,o=E(e,["external-request-id"]);return h.useMemo(()=>{var r,i;r="x-external-rid",(i=n)?Fe[r]=i:delete Fe[r]},[n]),h.createElement("descope-wc",Object.assign({ref:t},o))}))})),fi=h.forwardRef(({flowId:e,onSuccess:t,onError:n,onReady:o,logger:r,tenant:i,theme:s,nonce:l,locale:a,debug:c,client:d,form:p,telemetryKey:g,redirectUrl:y,autoFocus:v,validateOnBlur:f,restartOnError:b,errorTransformer:I,styleId:S,onScreenUpdate:C,dismissScreenErrorOnInput:A,outboundAppId:q,outboundAppScopes:L,popupOrigin:F,children:K,externalRequestId:P},B)=>{const[T,N]=h.useState(null);h.useImperativeHandle(B,()=>T);const{projectId:J,baseUrl:X,baseStaticUrl:R,baseCdnUrl:_,storeLastAuthenticatedUser:z,keepLastAuthenticatedUserAfterLogout:de,refreshCookieName:oe,customStorage:re,sdk:we}=h.useContext(un),V=h.useCallback(async j=>{await we.httpClient.hooks.afterRequest({},new Response(JSON.stringify(j.detail))),t&&t(j)},[t]);return h.useEffect(()=>{const j=T;return j==null||j.addEventListener("success",V),n&&(j==null||j.addEventListener("error",n)),o&&(j==null||j.addEventListener("ready",o)),()=>{n&&(j==null||j.removeEventListener("error",n)),o&&(j==null||j.removeEventListener("ready",o)),j==null||j.removeEventListener("success",V)}},[T,n,V]),h.useEffect(()=>{const j=T;return j==null||j.addEventListener("success",V),()=>{j==null||j.removeEventListener("success",V)}},[T,V]),h.useEffect(()=>{const j=T;return n&&(j==null||j.addEventListener("error",n)),()=>{n&&(j==null||j.removeEventListener("error",n))}},[T,n]),h.useEffect(()=>{const j=T;return o&&(j==null||j.addEventListener("ready",o)),()=>{o&&(j==null||j.removeEventListener("error",o))}},[T,o]),h.createElement("form",null,h.createElement(h.Suspense,{fallback:null},h.createElement(hi,{projectId:J,flowId:e,baseUrl:X,baseStaticUrl:R,baseCdnUrl:_,ref:N,telemetryKey:g,redirectUrl:y,autoFocus:v,styleId:S,validateOnBlur:f,restartOnError:b,keepLastAuthenticatedUserAfterLogout:de,tenant:i,externalRequestId:P,customStorage:re,"theme.attr":s,"nonce.attr":l,"locale.attr":a,"form.attr":p,"client.attr":d,"debug.attr":c,"outbound-app-id.attr":q,"outbound-app-scopes.attr":L,"popup-origin.attr":F,"store-last-authenticated-user.attr":z,"refreshCookieName.attr":oe,"dismiss-screen-error-on-input.attr":A,"errorTransformer.prop":I,"logger.prop":r,"onScreenUpdate.prop":C,"customStorage.prop":re},K)))}),vi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAAwCAYAAABnoirjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAI6lJREFUeAHtfQd8FsX29pTdfXtCeoBQAsHQAkIiVZSioFKkCCooiCD2ggXUq4Kici8qol4VkHJB6YIKFyki5AoIIkFASuihpJGet26Zme9sCgYMmgT1u/dPzu8Xfcvu7OzMM+c85zmzLwjVWq3VWq3V2l9rGP3/Mdy9e3d67tw5Wv6BoigiMvIQT05GDN4KVGu19jv2l4G3ZcuWSl5enhzjcEgbt8yIEQF/ksAikjNu44gjgkmAEnHeSh0pjia3n4uOjtbCwsL0Q4cO6agWzLVWif3Z4MWNGze2HEqZEeHL9t2tMeNGLnh7mdIQhLGhM5aPBPYjAugUwmYhEnwuZIxIYcDQ98iSvD24btRnzRJGnQcvHUC1IK61CvangRdAaz2S8lGTouzCR5Hgw+FKBoA0mXC8mzG+x65b9l7T90lvZtnxMZmZYsfB9TYbOn+tysR1MpUTAas3ApitHKNlIZFB7zVu/eCpzMxMH6q1WkN/AnjBNWKv59tI35nMN4VAdyGgApzhj2mOsvCnBnlcNiztKCJJ4GrbMYPHAjhtJedxFKAKPU0JTtEDYo/baaQk5XNGFdu9hJJHoKf1OSZfRkVEPYfDe2WgWi981dsfCt7ExER569pJid5CzzzBRBin6MWok3krNje2xEnU8ggWYgiA1TAMkUJl+iMV/Dghkk+DFI1ibgMAN2WcXUcpThSIWAlFX2oUfdjzdKNDORGZQxDlr2OENafDOjqh58Qfjh8/rqJau2rtDwNv584xtpXz3n5YRnyy4GwPfDT2IDKckkymQFLWnSOxXpLkD6+P2/cjbrCUzzk42UbySTMmI4cNKVjXda9XJsceixnlFeJDafNhR3uK2MOYkH4A2O81rL2UyMh5jVk+AU/clVE6pV338e/X0oir1/4Q8Jr8dse6qY9JiL/BuHgLpfCpqR21UVjQKRijNU6rY1r7GyecnJ38SnuJizv1gNGByCSO6UYaEsQtgENgTJxUxk24xk8pivwj8OLFY5uPTfkx9dNGXsSehUOGYoom3dDs9CfnDzV9DhP6AtCIt5NuevYNSOb8qNauOrti8JpUYePyZ+7lGvqI6/ob22X0URjmH0Lo7y6IeLpbr1dXzf7m5d5C8Ccwxg2FYAssTsdWOwsceLrzZD8Ar5y74uVnl9vcmrsl5+h6hPhoznmWRKUZY+LGfL39xL/6MQN/IBjb5QiOGFu/OO8uBcnvMJk+033Aa7NBUtNQrV1VdqXgJflpy2/lfmOZIcSc4/nnXuYRkYshUatHER9+EBt5mNK3iEBJkIxNkzPdX6V0PKVbzrRsyThqhYTRigvhAJkXHCvyKFacyplIndb44X1fo0Vy1kmtLxP8eYHwPkz4cy2Z7NS5WIS4cPsiPUOSssImEgmNpxZ6z6D7Zq5OTk42UK1dNXZF4BWetdE55wp3AKfdG9XyxIitRxvPAm95nSyUPj9TTx1ZlhcKQ+xWiP7Cep/QY4KlfsCHhwMlKECEHKTUso8S5mE6YkTBQYZXbwtgboEUGinJdAV1aSuv8RsS99lfBQD34ByPaIs8wHtdaxlBR882o/f1/hnPlCR8kyM2qqPNdvMZVGtXjRFUQzN5bnZ60YtYYJvQjPHfHW74NCboBkz5oH1EtcqKshKqZh/9/baxjxy2WGLrucgSzo1rkWx9YfUt746e3vvht39y6VuPcv1MqoWfPiN7dr8T//A77zZ/ZJwNseeErjdkBXTpUUNuNbbp2KeIpEyVKP58N3JGAiUZTAVuH5PKXnRi+ix4Z1Z08vzk7tAnVGtXjdXU8+Lcs2s7cHfhFsTZc6mYbBHU2K4oZOR+4t8tcWk9pGD/Gtv0/g9eTJ97h26wcVaLeGFK9IM/DU6bFaYTow/ivA146SBMcL5JG4A32LFAnNiVLVwEb11Tf3jRC+fnd+J+fZog9J/TGoxZtuDUghG64C8Si7ipRcASrxv6SoPrPVtzewKUmj9WbI5bQ2IHfQetcVRrf5WBAiqcCGVZ3W7GO3Xq7f6r8o8agbdu3br2n76ZNpdSEh/e3HP91mPyKsRwwQ0tRo+ac2zOPABkzpimYyZOODXrbkzxP2VVXLsr7liWktFoGGWkI0hdyRa7deeWG5/PITmkJGHLNAwy5OC0urrq7wFI7gBg3iRo7upEUT/UL9AKrovFbzUZN3POiXlTQCiOfSh+3KjNqXM+lKkS1yTu3luVI0vXG4bu6TP8uaH792d70RVY9+7dpSNHjig2m03eunWrXK+eJqHUgN6sa1c9YLfrv1GqLimHq6paEtEopQKONbXo/+XFVLKJCjR1mTFWgpf4+HitPL8QIjuq4HzOOqCCcVDyVw2EJ/frN2p2SkqKjv5kqxF4fXlfNvBme382BHrpEFUPUYFWBdcJuXaPWtyCM3W6I0J021coJwrMnpB19RE5lhfsyaCvII6zWUzDOWuTJnlQSop58+JX/WmJ5OEHFzm8Z4sGQnWuaV794nduSg93+JCYKTB9/zoudhfreLOE6JsNdP92SVh/4oTc39wgoUBhZpKg4LaRDfofQzUz04vYCguP3Kx5/fcwITpKhATDYgSxBAmdcUhASbJiCfokIaHLz5dqzHFxcZYt337xvEURseZEY0yZIOy1unXbnUb/uxVBKf3M/n6QVwwSXAATFFxTyZf3jn58jdudjL9Zd2ScYahvC86tBKpKMExnOl8/sM3JkyeL0J9s1ea8LRFS/LmBofCSudzOFTKmI+H1V+3qDsoyVO01IuiLu5hiMK6Nl5l4Y02sP3dPlvSSMPjpHztM+XAt7leASldlZZMp0CGkLcYjCnYNmrIM6UIKTXd9tk3Nc8uUvIZ0fcImXyEhWJ7IkHix+TUDCuDN54Lp92kO9xpYiW7scd9tgghV33BR0fmmeVkHV2s+dQkldKBMpQagggSBAhIMiWQd6ENTCaFRQi/e8NPuje8JcSS8YgOFhYWKLIn+FOERAHr4w8OCJFcY+h82GEuqyLQNJWgoxeJuCdNhVitpY25n9ftbYoOpTpi1EifIOTNn0HLixAn0V1i1wcviwy0BzbgD3MqaH10qhh4PsMnSgjnH5yRCmLTdH9T/G7lYvxfpbOcbjcftanjadh8yyLHdnd6cW51qWGZKpu+rvq++jgTeaJeDh79Rd+xeLMg3IbJ95CuxI78zNN34+szGrhiLhRTR3id9tmAskc91psPCyq82eIuKTsTp3py1jBk9IBbaGOcScHKIhNggGGsEI3DEZjlFSCaYCeKjcrP0T+F9nYrtwBGg5EEhmwvKwVUhGf1Pm7nPmkPIFIzD/QgIJRzzMhZkcluLPWQlOJDzMFAazL+PCbw0Njb2LynbVxu8qYvWW2SCWzHBfkCStzskYwUDu03cCZLYPQCkz3BEBGcM9bfKlmVDM+eFEIrbtXdGrahRGfdQjqdrjHUexqzFwHOzG9slshKqav0GHFxOiULnM7868q4eo/cZgp2SJNJTGMb34DHj9u6daa/OZQCAQbrfN9tgWjP0y5hwKEtnwDQtgGD5Lhd4LYC4AMAsys6RIVT2OJ9x4MmKnr70ywoUt3LmVxO6htFfs//6omtomoZLdPjL0J7g4AYnw6Ije0CCPoUR+lDd+q1fTEtLqwp4r/h+qgteXFTnZCOBucVgaJ+EcWsi4T0ATJB6+Q2SIn39zKlZSdjQ01/v/vqpgKHeAHxx5+Sug2q8/2Bi0pgAIdK33NB7T24w9gxcJ9UVUtjValE2gZfrglAMUGO8B9DUVgtIPwOosMhB8dW4N1qUn3ozrLgOAMySwTQdrCzTbRH1Yzp16nr7Y126DZ7UNrH38OCIsB4w3KdQOUYFt2DMH923b8flqUGZ5zUBXlCwpU4gcDJeVTOaC3Ew1Nyg/zt9wzExMcDBT4d4PKkJxXnHOgl/ZmNoK8isbFZ2wtChQ2lUVJSj/K/iwjLbMs8tixYXAcf8Toj0cFU927qgoPQa5tiYnvd3+ojq4ajM6Jg2/4iKarkchrDS5NRMgtu0iXIUFZ0NDRSfjC/MOd4+EDgRZ46DKQCgGgBZqt7hiGqG0RYjonPiT+WcTgBw7ll4fGGQhvQIm8N2WnL7O2o6OYDsaZyr2o3WoND3gcfWPPNMQbq1XtB2b1rum6hlSwTl4gNMZ/ETOk3Y+sqWSfKkbZOiiU72IcYHxLQ/ejInNc7j1/W2MLnfQ8b7u1k+TLDV79NHg3ZsQaW0AOonJDckOPJ+jMPOVjhUHTFi/IGPZkweTyS+RDBR4t1hspx+T15PmJylBw4cuKhtkzVoXhWi7Qb7+ayoZ3QvHqf73MEYuwWcV/SfTctnh9f1vIdxp+JL+2WC85tvVrQwVM/TurfwVtCe7ObaUlU//8/mzzOsinVmqDV6Ia5Tp6DCaeTddycnyIi9yRCTqCBcNfCGQXeM/ue2bWvquQsLnjUMrU9u1gFXXt6568LCYs6Zt+Dzna1XXFTwWm5m3kC4f8UE4LbklWkKdb5wc79h3xhAn+TKXQHOSd/XTOdoBixkCgmqYAb/qVuPgZPB+wbKDzIXxtJFH94MEfRRzVOQBG5ZhgCGNfNRBIy9e3avT7Y5HG8PHDh2X3WqpNXyvCZ5FxQ3VDnLaNBqbIAZ7BpJyKlc4c0Ngx0dFjpMNXQjnljoods2/bOuuQF9RdsJV7z3dknSMz5wqIHBW8dHYk4OcJW3NL29md5JyNLCQuhRXTeaYjyZ6ZynAbAa5uXl0aq07XA4gNuyJBjGkuMBuAYTaH2DuMSMS49dsWIFC6/X8lvGxG6dsdOgPqRBZprh86vNYbIqcQRCMCKknMzIj4CvvwCDUN/URIEPuwyDx8AEvpCTZZ9xaXHFLAB9/e+FTyDNlww5xQhAf6R5HshRTog8QTLFzSEh/nu+/9yGQCC7KargtZxWGgpUrZtMaC/goj3tFtQ+ee2yEE9B7jooxz8EnzeDNh2hoaVRxuvNqestLlxLhRgJHD+09DrMJVGawLhn0cZ1nw6SACVw3cqGDytOV7BFoV0UifZSJNJLUfB1fr//wti3adPGsWvn+jclwhcTJHpBHgDX4C4YbycsbheAPVrCaKjh929YuvTjYaaHRlW0anle0Fcx04QFFk05DbBLWHiEapjZeL75AYAsRBK4QOHIwjD1x5haJ7pCy6aCE5EV8GvhFDkLDRQINj+GBCGfCz1I0+RM8JcOVDKJxAdpltXsa1Wa3rp1uWxBxMLKeSpGugJyGCxUU8/91fGmp2jZMqKvpgVfWPhwLc3keeHh4ReFcnDiEvDxmwmid0BnDKhAumF8FACIxYQOgMSGMblz6c6Nix9//JotK1YgVrLRad2iuwXXJ+kGTDIY6FM6UDU/uDbAlzDPt0HjVh3xJG/h+S/cbncvl8uV88uFIakCWUuYAh9BDqYXPyQwiYVLShApOdwDyAL+Eo9YnJf5uiSJVnC8VNZnjUgkFcB6AuY5Aejau1DAXHn5qA61fQazwzmkBADHCm7KvJev//3pKIrYA3CvjrJB0Qmlfs1gTJaIDI7GYSa3MBphAJXpq1fP2hgUFJ+LqmDVTtgkyczAS7to/seAWxaKLEBKKW+LQTYquGKF24HUHEYGXalBGzDp3CSIzKay8itB1o8MbpCyvpSOrhDV8vP16sVjcdHMmBNrPQThi13unEOQSIJoX1z+VxYiK7uqFRjgw8Ae5lmt9s6u0PDrECavATm5kANgoNeYq0N27Igp4b+7d38dCtLfa6wEuKZyITQYyNmukKA2YdGhTaG8PgRo20lTkoZOY1Cn4lVv2sVJY1lPzAVilu/hmneYyCKCZAMok6FKuSwtjbr37VsXjgm7/QJwIT+TZGl6RHSbbokdbxsRUT+hIyVkPsDkHjj/N/i5qPDql9dbtmwJkhCfCOB2lH2nUSLNcYY0vLbvgEFNLIqzJybkMLqQQwgHIXI9VEX+Wy3wmkCEUm0AJsNety5cgQg/4cgBGn6xYCgcwh2C4FsgsFG/OCIoi0pSaOKRN5uiyTXfQ1FiYSqMHQpDlBQCqXJBJ0oqaKAGOGUie7EV2wjCJXt6YbLtMGuBKi8aT/ZFAwVvuCz5C9EfUFSASiKsL7G774CBL7lC4w5arfWP3HTLiPdgkJaa3hSVXoSCPNcCqnJmqJXyc/L6AZjCzW9KlQ28q0//fi/ZbE1OY9wgf9iw5ptswa6xMB6+0vtlCrjje3bt2lXJvg7wswglwF9DIsnPhscktOh9W58BnbsMfArkLA9huCfBtFyZERIlGWFRgXfgusXmHmn4f35IVOtpVKJZNRgOwnlGW0if60AAUGFBQeKND4TVa/03m63Oqb170wpvv2PMT5Dkvwufl/Bjk9Nrmgiq8gVQNSw4+DinBsq1YhKZsXgLUCvphM5Zy2BX8H4q08avbHolQrLYvuIaujstdoIhWekqVuj+7u6n518Dp1eJg1ZmfXd/YsGyHPZl9ENZXFgSoNOHIiIigJ2I1kIVqQARCInibFSU6chENExWXlXB60GOipHO9A6ESwrU6n9z9ROTm5X/Xe7eoAHVYrEubtLkpAeVzf7+/ftVLNHN4DbLk1iYMuIwQwtk3YrG9BsBs1JZA7BqyRd16jT2lLeZnIyMpKRbUhgX54FylB2GQ+12X1TpNS4KGBAPSRiM3cSkjreB5IgLzNK5GSnA0UgB3QBgi5JGzMWkM7SqWbO73BUbaNCgAUyx+A6+r/Z2U69XTYe+PQMvHwdK8IQkyU+2atXKa9IJM1LoeqYNIkwc9Lpk/MwxALlYQlX0vNXivCkpyJCtSkrA77Pn1ctuQZHYrum816CQQf/4+PDMrdSq3OSzelbaDbttOAhkb4bft3lo3tx+fr86fkDmrKWrO0/dgSpkoVU0Sco611nX9J9hmhk7+lFryWZbN33P9Gi32yuN6fHyueTNU5PMfh387vMGnAXCFAtJgXBeJYVDQNDAFYMdkGemikYAyr2XyXxJTsaJ9lQ24hgLYBO3IL2kDx/+yPeXqg1mVEdUSgcuWzHb4QpR0g3m5xUWTVmFiptCk5nolk8es1gVsx8XZUv5+flmTSsNOtvI7I+54AIeX0N4fVQASoDMVbxDT7ghrUy7ZNxLcgJMI+CqpETEhTIEpeQQ8GAGY3fhuKCgIAah/RykntXdn8Hr1297rKRPwNGLcg83D2h6zKaNi+8ELR5ohIgAj9wBKFJPuJnfkwwrteqGcxEksaMQolWmaYkqI9upRJK+PzvHTpD0BaTpY2NC/RC4Lc9AweBvL2TM77oibMxOOcj+dwhg/QdumTCyTNOrss0Vc20wq7fB6K6dcO6TKEmm7UJd/h9A6egCicVulJ0NjoF1AJadwnS1g0kTg13yz6iKm2FcrmsM8GAXjgXUyLBQuleuHpT8eIrd4J4PuaHNA6o0F3KUTyRs3G9u5Kn8CuJX/QAaewmfLoWxCV5ubqIQv3gewwTXJQZRxSyg8F9oPhA1qKWX9L9s80zJa2wWxlBGRNuulRYNcFm+UN4FKkSlYwbpRo12iYHmjHNzT/TKzfw5RVW1ZEiVFlsonS1j9B6UzyfJlN4IcuunsIprVJGrNhdtftMjUIEVP2NKEqOFfQ/cs0f3kP7jmo/5SpaoFnIiZNS0iHtPSLL8N1jN014u+ixphW3kaSWy9evCTuM6/PjSvVXeewAi/pfp/lvBs+T7YnPPABccBungv1+o80hADaj3E0KXpxxfXl+mUhPDQLuAbyfqQhwNi3+gyrvKIIzBmoP7IaXiOnBmmRIx8NSpA8GVHb9z5zf1QdqJN5UC06OYyQ6ceyAkJKTysKpXXeK2WCzmbp6zuGzhmdKJ0LSmEGYvoiXmbjfIVRvjMg8NIZ25XJZsdEm4NcELH/jKq4IVzaRVMH65JjLN9yXcG+O4Sxetz+eDSrhohGtQ0FqwYGY9ZPgXwKKMh7ECeQwpwEHSVI1th0R7CSSPw6AymmKqFKgGVm3wqqpTJzLZBt7hlmglC2RR6X1gKhPXrXuVCgd9BtSPCZ/nfR4/JWrUTrvd/oTuDWx+OXtRxxW4S6HdhqZhmSa22jahGyzL3+bAwIuGfDv+JuCDz6uK9nGHU5GNwD/2Cwhp8YITcxOhD9HHs3LXenTfQzBlO3q0yEmDKegjEfw9hLoqewoAgkokaQlM4oVzwPdF52SdAuF9t7nxxpxMYvI0UVwcrnpz3+bmRPxifpctdE3Zz1JdZCYZsdoslakWl4CpFHNQMDEskrwLxrNsu6FQgNveput6Ra+OD+zd2EqhONL01GWfFSuKmlHa0C/DWrIXA1Xu1cLC0kDJpEdAjmClPcAKM4xBje32SyOOFRZ3V1gJ1aKYUE+SPcU5g6FyaVYf4VLUAFK06q6+93Xu079P/8QO/cbd2v/+7yBq9gRFo0Y7QKoNXpM7WSOc8+HMUMQih2jMORekAKezaZM774+4d78h0DtFbvfiLwq+aPRK8F17oCI2xOCBqX8791mHJUEP5tuDnG8AsRt657z+1yBRCTGHBKguEI+Ba0ffYDCtr6WO7bbWp+06p/RNg6IPm8dphRoWr4CMOXNwvVCoOqF7ITT+M+dAdF+Yq8YkWJpbxdp6iZn7ThVrzHKQ+n55hAj0WcHYkNxMZX1WxoHRhbmp3devXTg6z3t6PXjaW8rHDbJkA/TT1bHxSWfR5dJxqTKvcgkOShxkaV+srqg10G5JxU2UJDKk97cbFj1sLiRIUp3uvNMt/T7/hwBcZ0kfEIZaCVoeG9v3ciV4Bh5G/Pq+Qc+2Bn0LU1C2UICeYxq75JsV98XHx7vMQolZYPjxh/V3gUOIq7BQqmQ+X2MCylCzco8tzHoNJalHsrO10NAWqun5N21Y1hu+vKlcqquu1UjC6jPgUZho/LVf1x4be+tgL4D3LZj8SYeKPo8d13T0bI6MDW6Pe+G3ud9Gvx5137cgSr/CKAA4/dNOi233nGWCzld9/heGFCxIAKXcBiUlq8mFbxXvB92++M5eiedmThUG6Slk/bW4nUd1KQr/i+v8+PQG476yHLc8DlU2uV5c29maKj8I8M/q3uK+DaBLPQF8cfON1z5+FFVT1wkODi5UnM4HJIlWFMdlmLB2BLH3NE1dLbgxA6hCexPYqPQC4CClk5Eh9V+uuOmo4gybrytlDUJcUDhKt1P8clZS0g05BpengjzlK21DWOHoKTkZ8oH9ezbt9auFO3SDtS07CeqC0qmo+k3futyCxb8xFrfcMuwcHLDBrCqWdotbKTL+kbxp+bIdW1e/tXH9p2uJ0F81DHGBl5r8Gv2GlX9pglOSUL4o2+tgFmZAmH9o754Njy1Z8t6Indu/+oAZ/oUwZ7Ph2xr9dEGNwLtjxzlVcVg/gDJlq23rFt7ctdnIuWbJNDfLPf/w4VX2sY3Gvh5Q9YOnPac/X+lfGfNG5H3bZKw8z5A25fmzcwetiX5gN+HKB4bfM73f1uee6pv81KOJ3//tJSmDzhA+rS0N6LP21T8/pY3HGsSbxr7NAsaB6Tc9PGlJ1pIbQbp82OMVDzmP/9QGRuoZqGC9nH1oSWfI065TbLYZh3JyarIJiN9//8TtUAAYAeHN5Jx6mQwFlSOT13IHZIU2E2rAE009RwWe/bPLEnQHtoVe2P9gxkeogpnHmDwUukqQLEu/8rxQCIDv4Tg4hphSbNmGINPMbYaDhoyeZTD8AQC42OwHXB8qPiIKPGBT6IcLAI1Nrw9OIc0W5ByOsQN02HKQMrMDJW1DVl+x6UrmcYc/KCRyIpyQZiat5pKC69gpRb0lKh6SMG0PZcFXoBJ2FEK7KGmzdFwuNCoje8k9lHwHJ0IuVPI5KBYalm0roM9uVEpfzL0eUcC+X5URmQUJ23CoOL8PcWEnLB5+YSwMXGUPX9PiAb9p0GO7ucCbbEh6P/fwZ8H2MPIwaL0h+cQ9NSwsDL3YaeIErqP/FOd4vlpVvCpuSvTIH6yu4EeBT455Pm3OyO8SRqdizX6H4rRuwNSylUjWeRn1ch5bPeDJGe2CXflDTze8J0DwJzplW99u9sjLi7Yu6unzBebD6D7cifBCwihQFzEvkbm2UczfBz61s2PSgztRDR+5MfcthIU12xQWXaczkuhbBuNpALBCcwMNTFgRJbgIhrbIYMYhKL68KDtoT0toA1Mbu+DZCinlftVIh6TE3Pdg/qVzv/YradATMFQo/WbBcWfMvRiQwGTCxF/otwmqQXc88Co4q+GQ9O6CiS4wrw8QKOkHJjQbVsYcyRre025vtKdiH1QmAga0rXHjLFTSzkDb5yujDeVmtUafUhx1+gK33gB9KIAEqghG0APFi3NQynzstttGzvMbJBNAnW7u5zCgz1qAF5TtNhOq26dCpTcTxuu0xtgZNcCyy64nBg8ecxhLtnGg76bBoi6Cz6FtoRqCZ+iMPtvlhkFTdEE9kDFnG1zAWLBzKuN+VMXIeUX7Kf1ZG2L9xfnbVNXY1rn/y6O+3PV2C3eh/98gBa3tdk3xBIzH67OPzXtCVsgoSaEP3Vv33p0vej8NUXMC7whds0ER41Pga6kuImkaIUGgPbbSDKOFROj1IF5v9RJt1qwmT+TOOT5nNCzL57iOR7e0qXu53/4v8D5Rdanc2+UXM6hC+gWFh99gCe9zBFWTMlRmJt8rLi5W9u3bJ9Wpk0OdqBlCTqcoKtrGOnYca8Akq5d7yNDkpaGhobj8ea977rnHM3ny5EsXFAXFxVH+pqioiOfk5Hgr6TttGRFhO5icrHgaqtTpjILvXaKwkLGEhAT1Mr8UJEHbF+RIr9drAK35PUBgSBbtWVlZkBi6qdvtBh3Ypg8ePNhrat3m1k1N0ypW8FTTs5a1edG9VHI9apZ9kTtDQa56KD09XYCGrgP4A2VjeFF/27Vr5zUdCaqCXRF4hw5F9OOpyweAnLOUY/LEnS2Gz/2wYHnrovzAF4KJHQnRoU8EBfUvXnBmwSBYXVOZzv4t64E3d/il4qBw0RZ47DCIKA2g9gBxlnogvKQqdmsq5lLykutHeSdtm9+c6fxtxLEidPZYEwVlU5UugV6HGiQwuI0/qBsw0E+w3Tpq6Og7VpjVJ1RrV41d8c58czvf8o2vTwWGNw7yqPuHxQ1bOS+wrum5szmrJIrdzjquB9qEDjyw4MSCBiqQf1iPXSUqTxOS8fWYhmPyUePylhqjuqpKJu+YHCwJ5UbVr41WFCmeCT4jMy59dq+jTZsBuZ8DoVMlVtfQeI+vC1SE5oM0v6h9r2efqf3BvavP/pDHSszHaHIOfzYdpJC7DSQ9ldTrzs9W7VkerBV4/w4edQBQ8MmWQv/ipKQH3fNOzetu6MZYSBC6cY0dwhI+DaCEMIGDwAu3pjIJZxrfLVnkT21cWdsoAlN+Xn8auNLjQPa/yC32PtvNGXyH+WgOLITlEdHNn8ShSX/6k6q19t9nf9gzUWYFJfvI4lcpF49B7P7EZdOnOGNHF/xw9rMhusanAmB1SSEzrBZladLNw4sXL1wc5AvXOkLJMAISIWIYxGulRmpW4/zj0+tNF4uT32woYTwCEol7gO96IR99xuXP+6G+HP48ZPPjVYzfHzbw8de2H8l1o1q7Ku0P/nHpuvb1yz4YQbn+BmiGHkOizyY2vWud+euPhsc7ApSbJ0AeCYZk7AdJRttl2ZbiMwLFxNyrS6gdspo4qLgkwPftQJppD8LLj1DuXWgo2hdtdaWz4PI7lOJ6GqaT+984/pOUWqpwVduf8TSq7PdviCk+mTMN5MbbQfr4TiFodoTPt2F7oJBrURFdFCR1gZJnVwBygixJDlMS1VRNBd3yBEgqB4hE92scb+5xTdbx3NS6PUDWHAMi5K1Q49nsdDif7T54yrG/4hdZau2/2/60R6lBXnH+56vXeuia9jgV7AYAaC5I68skhr9nVmlf227DMjIzETp48CABeQmB9FMiraQm/z1CMEsCl0UnqIvfCQWdGEjS9hCL9b1b73xyTUpKZpV1wFr7v21/9u8AlOiUO/fOi1GL3KMDXB+kYNrQxJ7KUB4kcidtUskzZ0Ll3IY5byRTEmU+CGcIkU2o9JXNZvlXl9seOhoZ2SpQ+/u7tVbR/mzwXriO+QN0klSsHNu5wpVfmJ2gM9QO+G0DpHErMXeZU2I+65Nuk8k+7HId6HP9U7npgYBe+++v1drl7K8C76VGgVZQqGJdtC3SarXydu2OG+ZTtKjWaq3Waq3Waq3W/svs/wHDkxYoFqn0jQAAAABJRU5ErkJggg==",Be="var(--color-green)",D="ui-sans-serif",ee={width:"100%",height:40,padding:"10px 14px",fontSize:16,fontWeight:400,lineHeight:"23px",border:"1px solid var(--color-input-border)",borderRadius:4,background:"white",color:"var(--color-text)",fontFamily:D,outline:"none",boxSizing:"border-box",transition:"border-color 0.15s, box-shadow 0.15s"},ie=e=>{e.target.style.borderColor="var(--color-green)",e.target.style.boxShadow="0 0 0 3px var(--color-green-ring)"},se=e=>{e.target.style.borderColor="var(--color-input-border)",e.target.style.boxShadow="none"},lt=[{Icon:fe.CircleCheckBig,title:"Call Quality Monitoring",description:"Automatically evaluate 100% of customer service calls to improve quality, consistency, and coaching effectiveness."},{Icon:fe.ShieldCheck,title:"Compliance Monitoring",description:"Continuously monitor customer service conversations for missed disclosures, risky language, and compliance gaps."},{Icon:fe.Radar,title:"Signal Intelligence",description:"Identify emerging themes, sentiment shifts, and customer issues hidden inside everyday service conversations."}];function qe({title:e,subtitle:t}){return u.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[u.jsx("h2",{style:{fontFamily:D,fontWeight:700,fontSize:"44px",lineHeight:"52px",color:"var(--color-text)",margin:0},children:e}),u.jsx("p",{style:{fontFamily:D,fontSize:18,fontWeight:400,lineHeight:"26px",color:"var(--color-text-secondary)",margin:0},children:t})]})}function Ie({onClick:e,disabled:t,children:n,type:o="button"}){const r=!t;return u.jsx("button",{type:o,onClick:e,disabled:t,style:{width:"100%",height:40,display:"flex",justifyContent:"center",alignItems:"center",padding:"10px",background:r?"var(--color-green)":"var(--color-green-disabled)",color:"white",border:"none",borderRadius:4,fontSize:16,fontWeight:700,lineHeight:"23px",fontFamily:D,cursor:r?"pointer":"not-allowed",transition:"background 0.15s",boxSizing:"border-box"},onMouseEnter:i=>{r&&(i.currentTarget.style.background="var(--color-green-hover)")},onMouseLeave:i=>{r&&(i.currentTarget.style.background=r?"var(--color-green)":"var(--color-green-disabled)")},children:n})}function Y({label:e,gap:t=12,labelSize:n=16,labelStyle:o,children:r}){return u.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:t,width:"100%"},children:[u.jsx("label",{style:{fontSize:n,fontWeight:400,color:"var(--color-text)",fontFamily:D,lineHeight:"100%",...o},children:e}),r]})}function ct({show:e,onToggle:t}){return u.jsx("button",{type:"button",tabIndex:-1,onClick:t,style:{position:"absolute",right:14,top:"50%",transform:"translateY(-50%)",background:"none",border:"none",padding:0,cursor:"pointer",color:"var(--color-text-secondary)",display:"flex",alignItems:"center"},children:e?u.jsx(fe.EyeOff,{size:16}):u.jsx(fe.Eye,{size:16})})}function Se(){return u.jsx("hr",{style:{width:"100%",border:"none",borderTop:"1px solid var(--color-divider)",margin:0}})}function je({text:e,linkText:t,onClick:n}){return u.jsxs("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:4,width:"100%"},children:[u.jsx("span",{style:{fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-text)",fontFamily:D},children:e}),u.jsx("button",{type:"button",onClick:n,style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:600,lineHeight:"22px",color:Be,cursor:"pointer",fontFamily:D,textDecoration:"underline"},children:t})]})}function Ce({onTerms:e,onPrivacyPolicy:t,paddingTop:n}){return u.jsx("div",{style:{display:"flex",justifyContent:"center",width:"100%",...n?{marginTop:"auto",paddingTop:n}:{}},children:u.jsxs("span",{style:{fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-text)",fontFamily:D,textAlign:"center"},children:["By continuing, you agree to our"," ",u.jsx("button",{type:"button",onClick:e,style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:400,color:"var(--color-text)",cursor:"pointer",fontFamily:D,textDecoration:"underline",textUnderlineOffset:2},children:"Terms"})," ","and"," ",u.jsx("button",{type:"button",onClick:t,style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:400,color:"var(--color-text)",cursor:"pointer",fontFamily:D,textDecoration:"underline",textUnderlineOffset:2},children:"Privacy Policy"}),"."]})})}function dn({projectId:e,onSuccess:t,onError:n}){return e?u.jsx(ai,{projectId:e,children:u.jsx(fi,{flowId:"sign-up-or-in-otp-or-social",onSuccess:t,onError:n})}):null}function mi({onLogin:e,onForgotPassword:t,onOneTimeCode:n,onVerifyCode:o,onResendCode:r,onSignUp:i,onResetPassword:s,onTerms:l,onPrivacyPolicy:a,onDescopeSuccess:c,onDescopeError:d,descopeProjectId:p,loading:g,error:y,defaultView:v="signin"}){const[f,b]=h.useState(""),[I,S]=h.useState(""),[C,A]=h.useState(!1),[q,L]=h.useState(!1),[F,K]=h.useState(null),[P,B]=h.useState(0),[T,N]=h.useState(v),[J,X]=h.useState(""),[R,_]=h.useState(""),[z,de]=h.useState(["","","",""]),oe=h.useRef([]),[re,we]=h.useState(""),[V,j]=h.useState(""),[ye,Hn]=h.useState(""),[$e,Mn]=h.useState(""),[Dt,zn]=h.useState(""),[We,Vn]=h.useState(!1),[Xe,Gn]=h.useState(!1),[Ye,$n]=h.useState(""),Ee=h.useRef(null),[Qe,Wn]=h.useState(0),Lt=g??q,ue=y??F,Pt=f&&I&&!Lt,Nt=x=>{x.target.style.borderColor=ue?"var(--color-error-border)":"var(--color-green)",x.target.style.boxShadow=ue?"0 0 0 3px var(--color-error-ring)":"0 0 0 3px var(--color-green-ring)"},qt=x=>{x.target.style.borderColor=ue?"var(--color-error-border)":"var(--color-input-border)",x.target.style.boxShadow="none"},Xn=(x,U)=>{var Bt;const $=U.replace(/\D/g,"").slice(-1),Ft=[...z];Ft[x]=$,de(Ft),$&&x<3&&((Bt=oe.current[x+1])==null||Bt.focus())},Yn=(x,U)=>{var $;U.key==="Backspace"&&!z[x]&&x>0&&(($=oe.current[x-1])==null||$.focus())},Qn=async x=>{if(x.preventDefault(),!!Pt){K(null),L(!0);try{await(e==null?void 0:e(f,I))}catch(U){K((U==null?void 0:U.message)||"Something went wrong. Please try again.")}finally{L(!1)}}};return h.useEffect(()=>{const x=setInterval(()=>B(U=>(U+1)%lt.length),6e3);return()=>clearInterval(x)},[]),h.useEffect(()=>{if(!Ee.current)return;const x=()=>Wn(Math.round(Ee.current.offsetWidth*.69));x();const U=new ResizeObserver(x);return U.observe(Ee.current),()=>U.disconnect()},[]),u.jsxs("div",{style:{display:"flex",minHeight:"100vh",fontFamily:D,background:"white"},children:[u.jsxs("div",{style:{flex:"0 0 48%",background:"var(--surface-dark)",display:"flex",flexDirection:"column",padding:"48px 0 40px 48px",position:"relative",overflow:"hidden"},children:[u.jsx("img",{src:vi,alt:"Chordia",style:{width:160,height:44,objectFit:"contain",border:"1px solid black",filter:"drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))",marginBottom:52,flexShrink:0}}),u.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",gap:36},children:[u.jsx("h1",{style:{fontFamily:D,fontSize:"clamp(28px, 2.8vw, 28px)",fontWeight:800,color:"var(--color-text-inverse)",lineHeight:1.08,margin:0,letterSpacing:"-0.02em",paddingRight:48},children:"Three Solutions. One Platform."}),u.jsx("div",{ref:Ee,style:{overflow:"visible",width:"100%"},children:u.jsx("div",{style:{display:"flex",gap:14,transition:"transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)",transform:`translateX(${-P*(Qe+14)}px)`},children:lt.map((x,U)=>u.jsxs("div",{onClick:()=>B(U),style:{flex:`0 0 ${Qe>0?Qe+"px":"69%"}`,background:U===P?"var(--gradient-card-active)":"var(--gradient-card-inactive)",borderRadius:16,padding:"32px 28px",minHeight:310,display:"flex",flexDirection:"column",opacity:1,transition:"background 0.4s ease, transform 0.4s ease",boxSizing:"border-box",cursor:U!==P?"pointer":"default",transform:"translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg)",transformStyle:"preserve-3d",willChange:"transform"},children:[u.jsx("div",{style:{color:"black",marginBottom:28},children:u.jsx(x.Icon,{size:40,strokeWidth:2.5})}),u.jsx("h3",{style:{fontFamily:D,fontSize:24,fontWeight:700,color:"var(--color-text-inverse)",lineHeight:1.2,margin:"0 0 16px 0"},children:x.title}),u.jsx("p",{style:{fontFamily:D,fontSize:16,fontWeight:400,color:"var(--color-text-overlay)",lineHeight:1.6,margin:0},children:x.description})]},U))})})]}),u.jsx("div",{style:{display:"flex",gap:8,paddingTop:32,paddingRight:48},children:lt.map((x,U)=>u.jsx("button",{onClick:()=>B(U),"aria-label":`Solution ${U+1}`,style:{width:80,height:4,borderRadius:6,border:"none",background:U===P?"var(--color-input-border)":"var(--color-text)",cursor:"pointer",padding:0,transition:"all 0.3s ease"}},U))})]}),u.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"48px 72px",position:"relative",background:"white"},children:u.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",maxWidth:360,gap:40},children:T==="signup"?u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Sign Up",subtitle:"Please enter your basic details to continue"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsxs("div",{style:{display:"flex",gap:16,width:"100%"},children:[u.jsx(Y,{label:"First Name",gap:8,children:u.jsx("input",{type:"text",value:re,onChange:x=>we(x.target.value),placeholder:"First name",autoFocus:!0,autoComplete:"given-name",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Y,{label:"Last Name",gap:8,children:u.jsx("input",{type:"text",value:V,onChange:x=>j(x.target.value),placeholder:"Last name",autoComplete:"family-name",style:ee,onFocus:ie,onBlur:se})})]}),u.jsx(Y,{label:"Email",gap:8,children:u.jsx("input",{type:"email",value:ye,onChange:x=>Hn(x.target.value),placeholder:"workemail@example.com",autoComplete:"email",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Y,{label:"Create Password",gap:8,children:u.jsxs("div",{style:{position:"relative"},children:[u.jsx("input",{type:We?"text":"password",value:$e,onChange:x=>Mn(x.target.value),placeholder:"Enter password",autoComplete:"new-password",style:{...ee,padding:"10px 44px 10px 14px"},onFocus:ie,onBlur:se}),u.jsx(ct,{show:We,onToggle:()=>Vn(!We)})]})}),u.jsx(Y,{label:"Confirm Password",gap:8,children:u.jsxs("div",{style:{position:"relative"},children:[u.jsx("input",{type:Xe?"text":"password",value:Dt,onChange:x=>zn(x.target.value),placeholder:"Enter password",autoComplete:"new-password",style:{...ee,padding:"10px 44px 10px 14px"},onFocus:ie,onBlur:se}),u.jsx(ct,{show:Xe,onToggle:()=>Gn(!Xe)})]})}),(()=>{const x=re&&V&&ye&&$e&&Dt;return u.jsx(Ie,{onClick:()=>i==null?void 0:i({firstName:re,lastName:V,email:ye,password:$e}),disabled:!x,children:"Create Account"})})(),u.jsx(Se,{}),u.jsx(dn,{projectId:p,onSuccess:c,onError:d}),u.jsx(je,{text:"I am already a member",linkText:"Sign In",onClick:()=>N("signin")}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a})]})]}):T==="verifycode"?u.jsxs(u.Fragment,{children:[u.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[u.jsx("h2",{style:{fontFamily:D,fontWeight:700,fontSize:"44px",lineHeight:"52px",color:"var(--color-text)",margin:0},children:"Sign In with code"}),u.jsxs("p",{style:{fontFamily:D,fontSize:18,fontWeight:400,lineHeight:"26px",color:"var(--color-text-secondary)",margin:0},children:["We have sent a one-time code to your email:"," ",u.jsx("span",{style:{color:"var(--color-text)"},children:R||"workemail@example.com"})," ",u.jsx("button",{type:"button",onClick:()=>N("getcode"),style:{background:"none",border:"none",padding:0,fontSize:18,fontWeight:400,color:Be,cursor:"pointer",fontFamily:D,textDecoration:"underline"},children:"Change email"})]})]}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsx(Y,{label:"Enter one-time code",gap:12,children:u.jsx("div",{style:{display:"flex",gap:12},children:z.map((x,U)=>u.jsx("input",{ref:$=>{oe.current[U]=$},type:"text",inputMode:"numeric",maxLength:1,value:x,onChange:$=>Xn(U,$.target.value),onKeyDown:$=>Yn(U,$),autoFocus:U===0,style:{width:72,height:72,textAlign:"center",fontSize:24,fontWeight:600,fontFamily:D,color:"var(--color-text)",border:"1px solid var(--color-input-border)",borderRadius:8,outline:"none",background:"white",boxSizing:"border-box",transition:"border-color 0.15s, box-shadow 0.15s",caretColor:Be},onFocus:ie,onBlur:se},U))})}),u.jsx(Ie,{onClick:()=>o==null?void 0:o(R,z.join("")),disabled:z.some(x=>!x),children:"Verify Code"}),u.jsx(Se,{}),u.jsx(je,{text:"Not received yet?",linkText:"Resend",onClick:()=>r==null?void 0:r(R)}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a,paddingTop:40})]})]}):T==="getcode"?u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Get code",subtitle:"We'll send a one time pass-code to your email"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsx(Y,{label:"Email",gap:12,children:u.jsx("input",{type:"email",value:J,onChange:x=>X(x.target.value),placeholder:"workemail@example.com",autoFocus:!0,autoComplete:"email",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Ie,{onClick:()=>{_(J),de(["","","",""]),N("verifycode"),n==null||n(J)},disabled:!J,children:"Send One-time Code"}),u.jsx(Se,{}),u.jsx(je,{text:"I have my password",linkText:"Back to Sign in",onClick:()=>N("signin")}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a,paddingTop:40})]})]}):T==="resetpassword"?u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Reset Password",subtitle:"We'll send an email to reset your password"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsx(Y,{label:"Email",gap:12,children:u.jsx("input",{type:"email",value:Ye,onChange:x=>$n(x.target.value),placeholder:"workemail@example.com",autoFocus:!0,autoComplete:"email",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Ie,{onClick:()=>s==null?void 0:s(Ye),disabled:!Ye,children:"Send Reset Link"}),u.jsx(Se,{}),u.jsx(je,{text:"I have my password",linkText:"Back to Sign in",onClick:()=>N("signin")}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a,paddingTop:40})]})]}):u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Sign in",subtitle:"Enter your email & password to continue"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:48},children:[u.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:16},children:[u.jsxs("form",{onSubmit:Qn,style:{width:"100%",display:"flex",flexDirection:"column",gap:16},children:[u.jsx(Y,{label:"Email",gap:12,children:u.jsx("input",{type:"email",value:f,onChange:x=>b(x.target.value),placeholder:"workemail@example.com",required:!0,autoFocus:!0,autoComplete:"email",style:{...ee,border:`1px solid ${ue?"var(--color-error-border)":"var(--color-input-border)"}`},onFocus:Nt,onBlur:qt})}),u.jsx(Y,{label:"Password",gap:12,labelSize:18,labelStyle:{lineHeight:"26px"},children:u.jsxs("div",{style:{position:"relative"},children:[u.jsx("input",{type:C?"text":"password",value:I,onChange:x=>S(x.target.value),placeholder:"Enter password",required:!0,autoComplete:"current-password",style:{...ee,padding:"10px 44px 10px 16px",border:`1px solid ${ue?"var(--color-error-border)":"var(--color-input-border)"}`},onFocus:Nt,onBlur:qt}),u.jsx(ct,{show:C,onToggle:()=>A(!C)})]})}),ue&&u.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-error)",fontFamily:D},children:[u.jsx(fe.AlertCircle,{size:16,color:"var(--color-error)",style:{flexShrink:0}}),ue]}),u.jsx(Ie,{type:"submit",disabled:!Pt,children:Lt?"Signing in…":"Sign In"})]}),u.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"},children:[u.jsx("button",{type:"button",onClick:()=>{t?t():N("resetpassword")},style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-text)",cursor:"pointer",fontFamily:D,textDecoration:"underline"},children:"Forgot Password?"}),u.jsx("button",{type:"button",onClick:()=>{n?n():N("getcode")},style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:600,lineHeight:"100%",color:Be,cursor:"pointer",fontFamily:D,textDecoration:"underline solid",textUnderlineOffset:0,textDecorationSkipInk:"none"},children:"Sign in with one-time code"})]}),u.jsx(Se,{}),u.jsx(dn,{projectId:p,onSuccess:c,onError:d})]}),u.jsx(je,{text:"Not a member yet?",linkText:"Sign Up",onClick:()=>{i?i():N("signup")}}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a})]})]})})})]})}exports.$e=Jn;exports.LoginPage=mi;exports.W=Dn;exports.X=Vr;exports.__awaiter=_n;exports.__classPrivateFieldGet=to;exports.__classPrivateFieldSet=no;exports.__rest=E;exports.h=di;exports.r=li;exports.s=ci;
2
+ `)}},so=[521,524],Vt=e=>async(...t)=>{let n=await e(...t);so.includes(n.status)&&(n=await e(...t),n.retries=1);const o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n},ao=(e,t)=>{const n=t||fetch;return n||e==null||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(...o)=>{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((i=>zt().title("Request").url(i[0]).method(i[1].method).headers(i[1].headers).body(i[1].body).build())(o));const r=await Vt(n)(...o);return e[r.ok?"log":"error"](await(async i=>{const s=await i.text();return zt().title("Response").url(i.url.toString()).status(`${i.status} ${i.statusText}`).headers(i.headers).body(s).retries(i.retries).build()})(r)),r}:Vt(n)};let Re;const lo=()=>{if(Re)return Re;const e=new Date,t=`${e.getUTCFullYear().toString()}-${(e.getUTCMonth()+1).toString().padStart(2,"0")}-${e.getUTCDate().toString().padStart(2,"0")}-${e.getUTCHours().toString().padStart(2,"0")}:${e.getUTCMinutes().toString().padStart(2,"0")}:${e.getUTCSeconds().toString().padStart(2,"0")}:${e.getUTCMilliseconds().toString()}`,n=Math.floor(1e3+9e3*Math.random());return Re=`${t}-${n}`,Re};var pe;(function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT",e.patch="PATCH"})(pe||(pe={}));const Gt=({path:e,baseUrl:t,queryParams:n,projectId:o})=>{const r=o.slice(1,-27);t=t.replace(pn,r?r+".":"");let i=e?`${t.replace(/\/$/,"")}/${e==null?void 0:e.replace(/^\//,"")}`:t;if(n){const s=Object.keys(n);s.forEach((l,a)=>{i=`${i}${a===0?"?":""}${l}=${encodeURIComponent(n[l])}${a===s.length-1?"":"&"}`})}return i},co=(...e)=>new Headers(e.reduce((t,n)=>((o=>Array.isArray(o)?o:o instanceof Headers?Array.from(o.entries()):o?Object.entries(o):[])(n).forEach(([o,r])=>{t[o]=typeof r=="function"?r():r}),t),{})),uo={"Content-Type":"application/json"},po=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},go=(e,t)=>{const n={"x-descope-sdk-session-id":lo(),"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.57.0","x-descope-project-id":e};return t&&(n["x-descope-refresh-cookie-name"]=t),n},ho=e=>{try{e=JSON.parse(e)}catch{return!1}return typeof e=="object"&&e!==null};var fo=(e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:o=>{var r;const i=[].concat(((r=t.hooks)===null||r===void 0?void 0:r.beforeRequest)||[]);return i==null?void 0:i.reduce((s,l)=>l(s),o)},afterRequest:async(o,r)=>{var i;const s=[].concat(((i=t.hooks)===null||i===void 0?void 0:i.afterRequest)||[]);s.length!=0&&(await Promise.allSettled(s==null?void 0:s.map(l=>l(o,r==null?void 0:r.clone())))).forEach(l=>{var a;return l.status==="rejected"&&((a=t.logger)===null||a===void 0?void 0:a.error(l.reason))})},transformResponse:(n=t.hooks)===null||n===void 0?void 0:n.transformResponse}}))})(({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:o,logger:r,hooks:i,cookiePolicy:s,fetch:l})=>{const a=e||io,c=ao(r,l),d=async p=>{var g;const y=i!=null&&i.beforeRequest?i.beforeRequest(p):p,{path:v,body:f,headers:b,queryParams:I,method:j,token:C}=y,A=(F=>F===void 0?void 0:JSON.stringify(F))(f),q={headers:co(po(t,C),go(t,o),(n==null?void 0:n.baseHeaders)||{},ho(A)?uo:{},b),method:j,body:A};s!==null&&(q.credentials=s||"include");const L=await c(Gt({path:v,baseUrl:a,queryParams:I,projectId:t}),q);if(i!=null&&i.afterRequest&&await i.afterRequest(p,L==null?void 0:L.clone()),i==null?void 0:i.transformResponse){const F=await L.json(),K=(((g=L.headers)===null||g===void 0?void 0:g.get("set-cookie"))||"").split(";").reduce((B,T)=>{const[P,J]=T.split("=");return Object.assign(Object.assign({},B),{[P.trim()]:J})},{}),N=Object.assign(Object.assign({},L),{json:()=>Promise.resolve(F),cookies:K});return N.clone=()=>N,i.transformResponse(N)}return L};return{get:(p,{headers:g,queryParams:y,token:v}={})=>d({path:p,headers:g,queryParams:y,body:void 0,method:pe.get,token:v}),post:(p,g,{headers:y,queryParams:v,token:f}={})=>d({path:p,headers:y,queryParams:v,body:g,method:pe.post,token:f}),patch:(p,g,{headers:y,queryParams:v,token:f}={})=>d({path:p,headers:y,queryParams:v,body:g,method:pe.patch,token:f}),put:(p,g,{headers:y,queryParams:v,token:f}={})=>d({path:p,headers:y,queryParams:v,body:g,method:pe.put,token:f}),delete:(p,{headers:g,queryParams:y,token:v}={})=>d({path:p,headers:g,queryParams:y,body:void 0,method:pe.delete,token:v}),hooks:i,buildUrl:(p,g)=>Gt({projectId:t,baseUrl:a,path:p,queryParams:g})}}),vo={TOO_MANY_REQUESTS:429};function hn(e,t,n){var o;let r=He(e);if(t){if(!(r!=null&&r.tenants)&&(r==null?void 0:r[gn])===t)return(r==null?void 0:r[n])||[];r=(o=r==null?void 0:r.tenants)===null||o===void 0?void 0:o[t]}const i=r==null?void 0:r[n];return Array.isArray(i)?i:[]}function He(e){if(typeof e!="string"||!e)throw new Error("Invalid token provided");return bt(e)}function mo(e){const{exp:t}=He(e);return new Date().getTime()/1e3>t}function wo(e){let t=He(e);const n=Object.keys(t==null?void 0:t.tenants);return Array.isArray(n)?n:[]}function yo(e,t){return hn(e,t,"permissions")}function bo(e,t){return hn(e,t,"roles")}const G=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function w(e,t){var n;const o=await e,r={code:o.status,ok:o.ok,response:o},i=await o.clone().json();return o.ok?r.data=t?t(i):i:(r.error=i,o.status===vo.TOO_MANY_REQUESTS&&Object.assign(r.error,{retryAfter:Number.parseInt((n=o.headers)===null||n===void 0?void 0:n.get("retry-after"))||0})),r}function xo(e){var t;return((t=He(e))===null||t===void 0?void 0:t[gn])||""}const ce=(e,t)=>(n=t)=>o=>!e(o)&&n.replace("{val}",o),fn=(e,t)=>(n=t)=>o=>{const r=e.filter(i=>i(o));return!(r.length<e.length)&&(n?n.replace("{val}",o):r.join(" OR "))},vn=(...e)=>({validate:t=>(e.forEach(n=>{const o=n(t);if(o)throw new Error(o)}),!0)}),mn=e=>t=>e.test(t),ko=mn(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),Io=mn(/^\+[1-9]{1}[0-9]{3,14}$/),jo=(e,t)=>n=>vn(...t).validate(((o,r,i)=>{const s=(Array.isArray(r)?r.join("."):String(r)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,(d,p,g)=>"."+g).split("."),l=s.length;let a=0,c=o===Object(o)?o:void 0;for(;c!=null&&a<l;)c=c[s[a++]];return a&&a===l&&c!==void 0?c:i})(n,e)),So=ce(ko,'"{val}" is not a valid email'),Co=ce(Io,'"{val}" is not a valid phone number'),Oo=ce(($t=1,e=>e.length>=$t),"Minimum length is 1");var $t;const me=ce(e=>typeof e=="string","Input is not a string"),Uo=ce(e=>Array.isArray(e),"Input is not an array"),To=ce(e=>typeof e=="boolean","Input is not a boolean"),Ao=ce(e=>e===void 0,"Input is defined"),dt=fn([me(),Ao()],"Input is not a string or undefined"),Eo=fn([Uo(),To()],"Input is not an array or boolean"),k=(...e)=>t=>(...n)=>(e.forEach((o,r)=>vn(...o).validate(n[r])),t(...n)),wn=e=>[me(`"${e}" must be a string`)],yn=e=>[dt(`"${e}" must be string or undefined`)],O=e=>[me(`"${e}" must be a string`),Oo(`"${e}" must not be empty`)],xt=e=>[me(`"${e}" must be a string`),So()],bn=e=>[me(`"${e}" must be a string`),Co()],Ro=k(O("accessKey")),Do=e=>({exchange:Ro((t,n)=>w(e.post(m.accessKey.exchange,{loginOptions:n},{token:t})))}),be=(e,t,n)=>(t.forEach(o=>{const r=o.split(".");let i=r.shift(),s=e;for(;r.length>0;){if(s=s[i],!i||!s)throw Error(`Invalid path "${o}", "${i}" is missing or has no value`);i=r.shift()}if(typeof s[i]!="function")throw Error(`"${o}" is not a function`);const l=s[i];s[i]=n(l)}),e),xn=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||Ht,Ht),timeoutMs:Math.min(t||Mt,Mt)});var le,ut;(function(e){e.sms="sms",e.voice="voice",e.whatsapp="whatsapp",e.im="im"})(le||(le={})),function(e){e.email="email"}(ut||(ut={}));const ne=Object.assign(Object.assign({},le),ut);var Wt;(function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"})(Wt||(Wt={}));const kn=O("loginId"),Lo=k(O("token")),Ze=k(kn),No=k(O("pendingRef")),Po=k(kn,xt("email")),qo=e=>({verify:Lo(t=>w(e.post(m.enchantedLink.verify,{token:t}))),signIn:Ze((t,n,o={},r)=>{var{providerId:i}=o,s=E(o,["providerId"]);return w(e.post(G(m.enchantedLink.signIn,ne.email),{loginId:t,URI:n,loginOptions:s,providerId:i},{token:r}))}),signUpOrIn:Ze((t,n,o={})=>{var{providerId:r}=o,i=E(o,["providerId"]);return w(e.post(G(m.enchantedLink.signUpOrIn,ne.email),{loginId:t,URI:n,loginOptions:i,providerId:r}))}),signUp:Ze((t,n,o,r={})=>{var{providerId:i}=r,s=E(r,["providerId"]);return w(e.post(G(m.enchantedLink.signUp,ne.email),{loginId:t,URI:n,user:o,loginOptions:s,providerId:i}))}),waitForSession:No((t,n)=>new Promise(o=>{const{pollingIntervalMs:r,timeoutMs:i}=xn(n);let s;const l=setInterval(async()=>{const a=await e.post(m.enchantedLink.session,{pendingRef:t});a.ok&&(clearInterval(l),s&&clearTimeout(s),o(w(Promise.resolve(a))))},r);s=setTimeout(()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${i}ms`,errorCode:"0"},ok:!1}),clearInterval(l)},i)})),update:{email:Po((t,n,o,r,i)=>w(e.post(m.enchantedLink.update.email,Object.assign({loginId:t,email:n,URI:o},i),{token:r})))}}),Fo=k(O("flowId")),Bo=k(O("executionId"),O("stepId"),O("interactionId")),Jo=e=>({start:Fo((t,n,o,r,i,s,l,a=!1)=>w(e.post(m.flow.start,{flowId:t,options:n,conditionInteractionId:o,interactionId:r,componentsVersion:i,flowVersions:s,input:l,isCustomScreen:a}))),next:Bo((t,n,o,r,i,s,l=!1)=>w(e.post(m.flow.next,{executionId:t,stepId:n,interactionId:o,version:r,componentsVersion:i,input:s,isCustomScreen:l})))}),kt=O("loginId"),Ko=k(O("token")),_e=k(kt),Ho=k(kt,bn("phone")),Mo=k(kt,xt("email")),et=Object.keys(ne).filter(e=>e!==le.voice&&e!==le.im),zo=e=>({verify:Ko(t=>w(e.post(m.magicLink.verify,{token:t}))),signIn:et.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:_e((o,r,i={},s)=>{var{providerId:l}=i,a=E(i,["providerId"]);return w(e.post(G(m.magicLink.signIn,n),{loginId:o,URI:r,loginOptions:a,providerId:l},{token:s}))})}),{}),signUp:et.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:_e((o,r,i,s={})=>{var{providerId:l}=s,a=E(s,["providerId"]);return w(e.post(G(m.magicLink.signUp,n),{loginId:o,URI:r,user:i,loginOptions:a,providerId:l}))})}),{}),signUpOrIn:et.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:_e((o,r,i={})=>{var{providerId:s}=i,l=E(i,["providerId"]);return w(e.post(G(m.magicLink.signUpOrIn,n),{loginId:o,URI:r,loginOptions:l,providerId:s}))})}),{}),update:{email:Mo((t,n,o,r,i)=>w(e.post(m.magicLink.update.email,Object.assign({loginId:t,email:n,URI:o},i),{token:r}))),phone:Object.keys(le).filter(t=>t!==le.voice).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Ho((o,r,i,s,l)=>w(e.post(G(m.magicLink.update.phone,n),Object.assign({loginId:o,phone:r,URI:i},l),{token:s})))}),{})}});var pt;(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"})(pt||(pt={}));const Vo=k(O("code")),Go=e=>({start:Object.assign((t,n,o,r,i)=>w(e.post(m.oauth.start,o||{},{queryParams:Object.assign(Object.assign({provider:t},n&&{redirectURL:n}),i&&{loginHint:i}),token:r})),Object.keys(pt).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:(o,r,i,s)=>w(e.post(m.oauth.start,r||{},{queryParams:Object.assign(Object.assign({provider:n},o&&{redirectURL:o}),s&&{loginHint:s}),token:i}))}),{})),exchange:Vo(t=>w(e.post(m.oauth.exchange,{code:t}))),startNative:(t,n,o)=>w(e.post(m.oauth.startNative,{provider:t,loginOptions:n,implicit:o})),finishNative:(t,n,o,r,i)=>w(e.post(m.oauth.finishNative,{provider:t,stateId:n,user:o,code:r,idToken:i})),getOneTapClientId:t=>w(e.get(m.oauth.oneTap.getOneTapClientId.replace("{provider}",t))),verifyOneTapIDToken:(t,n,o,r)=>w(e.post(m.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:n,nonce:o,loginOptions:r})),exchangeOneTapIDToken:(t,n,o,r)=>w(e.post(m.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:n,nonce:o,loginOptions:r}))}),$o=O("appId"),Wo=k($o),Xo=e=>({connect:Wo((t,n,o)=>{const r=n==null?void 0:n.tenantId,i=n==null?void 0:n.tenantLevel;return n==null||delete n.tenantId,n==null||delete n.tenantLevel,w(e.post(m.outbound.connect,{appId:t,tenantId:r,tenantLevel:i,options:n},{token:o}))})}),Me=O("loginId"),Yo=k(Me,O("code")),tt=k(Me),Qo=k(Me,bn("phone")),Zo=k(Me,xt("email")),_o=e=>({verify:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Yo((o,r)=>w(e.post(G(m.otp.verify,n),{code:r,loginId:o})))}),{}),signIn:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:tt((o,r={},i)=>{var{providerId:s}=r,l=E(r,["providerId"]);return w(e.post(G(m.otp.signIn,n),{loginId:o,loginOptions:l,providerId:s},{token:i}))})}),{}),signUp:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:tt((o,r,i={})=>{var{providerId:s}=i,l=E(i,["providerId"]);return w(e.post(G(m.otp.signUp,n),{loginId:o,user:r,loginOptions:l,providerId:s}))})}),{}),signUpOrIn:Object.keys(ne).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:tt((o,r={})=>{var{providerId:i}=r,s=E(r,["providerId"]);return w(e.post(G(m.otp.signUpOrIn,n),{loginId:o,loginOptions:s,providerId:i}))})}),{}),update:{email:Zo((t,n,o,r)=>w(e.post(m.otp.update.email,Object.assign({loginId:t,email:n},r),{token:o}))),phone:Object.keys(le).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Qo((o,r,i,s)=>w(e.post(G(m.otp.update.phone,n),Object.assign({loginId:o,phone:r},s),{token:i})))}),{})}}),er=k(O("tenant")),tr=k(O("code")),nr=e=>({start:er((t,n,o,r,i,s,l,a)=>w(e.post(m.saml.start,o||{},Object.assign({queryParams:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({tenant:t},n&&{redirectURL:n}),i&&{ssoId:i}),s&&{forceAuthn:"true"}),l&&{loginHint:l}),a&&{initiatedEmail:t})},r&&{token:r})))),exchange:tr(t=>w(e.post(m.saml.exchange,{code:t})))}),It=O("loginId"),or=k(It,O("code")),rr=k(It),ir=k(It),sr=e=>({signUp:rr((t,n)=>w(e.post(m.totp.signUp,{loginId:t,user:n}))),verify:or((t,n,o,r)=>w(e.post(m.totp.verify,{loginId:t,code:n,loginOptions:o},{token:r}))),update:ir((t,n)=>w(e.post(m.totp.update,{loginId:t},{token:n})))}),ze=O("loginId"),In=O("newPassword"),Xt=k(ze,O("password")),ar=k(ze),lr=k(ze,In),cr=k(ze,O("oldPassword"),In),dr=e=>({signUp:Xt((t,n,o,r={})=>{var{providerId:i}=r,s=E(r,["providerId"]);return w(e.post(m.password.signUp,{loginId:t,password:n,user:o,loginOptions:s,providerId:i}))}),signIn:Xt((t,n,o={})=>{var{providerId:r}=o,i=E(o,["providerId"]);return w(e.post(m.password.signIn,{loginId:t,password:n,loginOptions:i,providerId:r}))}),sendReset:ar((t,n,o)=>w(e.post(m.password.sendReset,{loginId:t,redirectUrl:n,templateOptions:o}))),update:lr((t,n,o)=>w(e.post(m.password.update,{loginId:t,newPassword:n},{token:o}))),replace:cr((t,n,o)=>w(e.post(m.password.replace,{loginId:t,oldPassword:n,newPassword:o}))),policy:()=>w(e.get(m.password.policy))}),ur=wn("loginId"),jt=O("loginId"),Ve=O("origin"),pr=k(jt,Ve,O("name")),gr=k(jt,Ve),hr=k(ur,Ve),fr=k(jt,Ve,yn("token")),nt=k(O("transactionId"),O("response")),vr=e=>({signUp:{start:pr((t,n,o,r)=>w(e.post(m.webauthn.signUp.start,{user:{loginId:t,name:o},origin:n,passkeyOptions:r}))),finish:nt((t,n)=>w(e.post(m.webauthn.signUp.finish,{transactionId:t,response:n})))},signIn:{start:hr((t,n,o,r,i)=>w(e.post(m.webauthn.signIn.start,{loginId:t,origin:n,loginOptions:o,passkeyOptions:i},{token:r}))),finish:nt((t,n)=>w(e.post(m.webauthn.signIn.finish,{transactionId:t,response:n})))},signUpOrIn:{start:gr((t,n,o)=>w(e.post(m.webauthn.signUpOrIn.start,{loginId:t,origin:n,passkeyOptions:o})))},update:{start:fr((t,n,o,r)=>w(e.post(m.webauthn.update.start,{loginId:t,origin:n,passkeyOptions:r},{token:o}))),finish:nt((t,n)=>w(e.post(m.webauthn.update.finish,{transactionId:t,response:n})))}}),mr=wn("loginId"),ot=k(mr),wr=k(O("pendingRef")),yr=e=>({signUpOrIn:ot((t,n={})=>{var{providerId:o}=n,r=E(n,["providerId"]);return w(e.post(m.notp.signUpOrIn,{loginId:t,loginOptions:r,providerId:o}))}),signUp:ot((t,n,o={})=>{var{providerId:r}=o,i=E(o,["providerId"]);return w(e.post(m.notp.signUp,{loginId:t,user:n,providerId:r,loginOptions:i}))}),signIn:ot((t,n={},o)=>{var{providerId:r}=n,i=E(n,["providerId"]);return w(e.post(m.notp.signIn,{loginId:t,loginOptions:i,providerId:r},{token:o}))}),waitForSession:wr((t,n)=>new Promise(o=>{const{pollingIntervalMs:r,timeoutMs:i}=xn(n);let s;const l=setInterval(async()=>{const a=await e.post(m.notp.session,{pendingRef:t});a.ok&&(clearInterval(l),s&&clearTimeout(s),o(w(Promise.resolve(a))))},r);s=setTimeout(()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${i}ms`,errorCode:"0"},ok:!1}),clearInterval(l)},i)}))}),xe=k(O("token")),ke=k(yn("token"));var Yt,Qt,br=k([(Yt="projectId",Qt=O("projectId"),ce(jo(Yt,Qt))())])(e=>{const{projectId:t,logger:n,baseUrl:o,cookiePolicy:r,baseHeaders:i={},refreshCookieName:s,fetch:l}=e;return a=fo({baseUrl:o,projectId:t,logger:n,hooks:{get beforeRequest(){var c;return(c=e.hooks)===null||c===void 0?void 0:c.beforeRequest},get afterRequest(){var c;return(c=e.hooks)===null||c===void 0?void 0:c.afterRequest},get transformResponse(){var c;return(c=e.hooks)===null||c===void 0?void 0:c.transformResponse}},cookiePolicy:r,baseConfig:{baseHeaders:i},refreshCookieName:s,fetch:l}),{accessKey:Do(a),otp:_o(a),magicLink:zo(a),enchantedLink:qo(a),oauth:Go(a),outbound:Xo(a),saml:nr(a),totp:sr(a),notp:yr(a),webauthn:vr(a),password:dr(a),flow:Jo(a),refresh:ke((c,d,p,g)=>{const y={};p&&(y.externalToken=p);const v=g?m.tryRefresh:m.refresh;return w(a.post(v,y,{token:c,queryParams:d}))}),selectTenant:k([me("tenantId")],[dt('"token" must be string or undefined')])((c,d)=>w(a.post(m.selectTenant,{tenant:c},{token:d}))),logout:ke(c=>w(a.post(m.logout,{},{token:c}))),logoutAll:ke(c=>w(a.post(m.logoutAll,{},{token:c}))),me:ke(c=>w(a.get(m.me,{token:c}))),myTenants:k([Eo('"tenants" must a string array or a boolean')],[dt('"token" must be string or undefined')])((c,d)=>{const p={};return typeof c=="boolean"?p.dct=c:p.ids=c,w(a.post(m.myTenants,p,{token:d}))}),history:ke(c=>w(a.get(m.history,{token:c}))),isJwtExpired:xe(mo),getTenants:xe(wo),getJwtPermissions:xe(yo),getJwtRoles:xe(bo),getCurrentTenant:xe(xo),httpClient:a};var a}),xr=Object.assign(br,{DeliveryMethods:ne});/*! js-cookie v3.0.5 | MIT */function De(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 kr={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)}};function gt(e,t){function n(r,i,s){if(!(typeof document>"u")){s=De({},t,s),typeof s.expires=="number"&&(s.expires=new Date(Date.now()+s.expires*864e5)),s.expires&&(s.expires=s.expires.toUTCString()),r=encodeURIComponent(r).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var a in s)s[a]&&(l+="; "+a,s[a]!==!0&&(l+="="+s[a].split(";")[0]));return document.cookie=r+"="+e.write(i,r)+l}}function o(r){if(!(typeof document>"u"||arguments.length&&!r)){for(var i=document.cookie?document.cookie.split("; "):[],s={},l=0;l<i.length;l++){var a=i[l].split("="),c=a.slice(1).join("=");try{var d=decodeURIComponent(a[0]);if(s[d]=e.read(c,d),r===d)break}catch{}}return r?s[r]:s}}return Object.create({set:n,get:o,remove:function(r,i){n(r,"",De({},i,{expires:-1}))},withAttributes:function(r){return gt(this.converter,De({},this.attributes,r))},withConverter:function(r){return gt(De({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var ve=gt(kr,{path:"/"});function Ir(e,t){return function(n,o){return Object.prototype.hasOwnProperty.call(n,o)}(e,t)?e[t]:void 0}function jr(e,t,n,o){var r,i=document,s="securitypolicyviolation",l=function(c){var d=new URL(e,location.href),p=c.blockedURI;p!==d.href&&p!==d.protocol.slice(0,-1)&&p!==d.origin||(r=c,a())};i.addEventListener(s,l);var a=function(){return i.removeEventListener(s,l)};return o==null||o.then(a,a),Promise.resolve().then(t).then(function(c){return a(),c},function(c){return new Promise(function(d){var p=new MessageChannel;p.port1.onmessage=function(){return d()},p.port2.postMessage(null)}).then(function(){if(a(),r)return n(r);throw c})})}var Sr={default:"endpoint"},jn="Blocked by CSP",Sn="The endpoint parameter is not a valid URL",Cr="API key required",Or="3.11.6",St="Failed to load the JS script of the agent",Ct="9319";function Ur(e,t){var n,o,r,i,s,l,a,c=[],d=(n=function(v){var f=eo([],v,!0);return{current:function(){return f[0]},postpone:function(){var b=f.shift();b!==void 0&&f.push(b)},exclude:function(){f.shift()}}}(e),i=100,s=3e3,l=0,o=function(){return Math.random()*Math.min(s,i*Math.pow(2,l++))},r=new Set,[n.current(),function(v,f){var b,I=f instanceof Error?f.message:"";if(I===jn||I===Sn)n.exclude(),b=0;else if(I===Ct)n.exclude();else if(I===St){var j=Date.now()-v.getTime()<50,C=n.current();C&&j&&!r.has(C)&&(r.add(C),b=0),n.postpone()}else n.postpone();var A=n.current();return A===void 0?void 0:[A,b??v.getTime()+o()-Date.now()]}]),p=d[0],g=d[1];if(p===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var y=function(v){var f=new Date,b=function(j){return c.push({url:v,startedAt:f,finishedAt:new Date,error:j})},I=t(v);return I.then(function(){return b()},b),I.catch(function(j){if(a!=null||(a=j),c.length>=5)throw a;var C=g(f,j);if(!C)throw a;var A,q=C[0],L=C[1];return(A=L,new Promise(function(F){return setTimeout(F,A)})).then(function(){return y(q)})})};return y(p).then(function(v){return[v,c]})}var Cn="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",Tr=Cn;function Ar(e){var t;e.scriptUrlPattern;var n=e.token,o=e.apiKey,r=o===void 0?n:o,i=E(e,["scriptUrlPattern","token","apiKey"]),s=(t=Ir(e,"scriptUrlPattern"))!==null&&t!==void 0?t:Cn,l=function(){var d=[],p=function(){d.push({time:new Date,state:document.visibilityState})},g=function(y,v,f,b){return y.addEventListener(v,f,b),function(){return y.removeEventListener(v,f,b)}}(document,"visibilitychange",p);return p(),[d,g]}(),a=l[0],c=l[1];return Promise.resolve().then(function(){if(!r||typeof r!="string")throw new Error(Cr);var d=function(p,g){return(Array.isArray(p)?p:[p]).map(function(y){return function(v,f){var b=encodeURIComponent;return v.replace(/<[^<>]+>/g,function(I){return I==="<version>"?"3":I==="<apiKey>"?b(f):I==="<loaderVersion>"?b(Or):I})}(String(y),g)})}(s,r);return Ur(d,Er)}).catch(function(d){throw c(),function(p){return p instanceof Error&&p.message===Ct?new Error(St):p}(d)}).then(function(d){var p=d[0],g=d[1];return c(),p.load(Je(Je({},i),{ldi:{attempts:g,visibilityStates:a}}))})}function Er(e){return jr(e,function(){return function(t){return new Promise(function(n,o){if(function(l){if(URL.prototype)try{return new URL(l,location.href),!1}catch(a){if(a instanceof Error&&a.name==="TypeError")return!0;throw a}}(t))throw new Error(Sn);var r=document.createElement("script"),i=function(){var l;return(l=r.parentNode)===null||l===void 0?void 0:l.removeChild(r)},s=document.head||document.getElementsByTagName("head")[0];r.onload=function(){i(),n()},r.onerror=function(){i(),o(new Error(St))},r.async=!0,r.src=t,s.appendChild(r)})}(e)},function(){throw new Error(jn)}).then(Rr)}function Rr(){var e=window,t="__fpjs_p_l_b",n=e[t];if(function(o,r){var i,s=(i=Object.getOwnPropertyDescriptor)===null||i===void 0?void 0:i.call(Object,o,r);s!=null&&s.configurable?delete o[r]:s&&!s.writable||(o[r]=void 0)}(e,t),typeof(n==null?void 0:n.load)!="function")throw new Error(Ct);return n}const On="3.2.0",M=typeof window<"u",rt=Math.pow(2,31)-1,Dr=`https://descopecdn.com/npm/oidc-client-ts@${On}/dist/browser/oidc-client-ts.min.js`,Lr=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${On}/dist/browser/oidc-client-ts.min.js`,Nr=["/v1/auth/refresh","/v1/auth/try-refresh","/v1/auth/me","/v1/auth/me/tenants","/v1/auth/me/history"];let Q;const Un=e=>{try{return bt(e).exp}catch{return null}},Pr=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:Un(n)},qr=e=>{const{expires_in:t,expires_at:n,access_token:o}=e;return n||(t?Math.floor(Date.now()/1e3)+t:o?Un(o):void 0)},Tn=e=>{const{access_token:t,id_token:n,refresh_token:o,refresh_expire_in:r}=e,i=E(e,["access_token","id_token","refresh_token","refresh_expire_in"]);return Object.assign({sessionJwt:e.sessionJwt||t,idToken:n,refreshJwt:e.refreshJwt||o,sessionExpiration:e.sessionExpiration||qr(e),cookieExpiration:e.cookieExpiration||Pr(e)},i)},ge=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce((o,r)=>{var i;return o[r]=[].concat(((i=e.hooks)===null||i===void 0?void 0:i[r])||[]).concat((t==null?void 0:t[r])||[]),o},(n=e.hooks)!==null&&n!==void 0?n:e.hooks={}),e},Le=async e=>{if(!(e!=null&&e.ok))return{};const t=await(e==null?void 0:e.clone().json()),n=(t==null?void 0:t.authInfo)||t||{};return Tn(n)},ht=()=>M&&!!window.descopeBridge,it=(e,t)=>{if(!((t==null?void 0:t.status)>=400&&(t==null?void 0:t.status)<500))return!1;const n=(e==null?void 0:e.path)||"";return Nr.includes(n)},Fr=Q!==void 0||M&&window.localStorage!==void 0,te=(e,t)=>{var n,o;return(o=(n=Q||M&&window.localStorage)===null||n===void 0?void 0:n.setItem)===null||o===void 0?void 0:o.call(n,e,t)},Z=e=>{var t,n;return(n=(t=Q||M&&window.localStorage)===null||t===void 0?void 0:t.getItem)===null||n===void 0?void 0:n.call(t,e)},W=e=>{var t,n;return(n=(t=Q||M&&window.localStorage)===null||t===void 0?void 0:t.removeItem)===null||n===void 0?void 0:n.call(t,e)},Br=e=>{var t,n,o,r,i;return(i=(n=(t=Q==null?void 0:Q.key)===null||t===void 0?void 0:t.call(Q,e))!==null&&n!==void 0?n:M&&((r=(o=window.localStorage)===null||o===void 0?void 0:o.key)===null||r===void 0?void 0:r.call(o,e)))!==null&&i!==void 0?i:null},H=(...e)=>{console.debug(...e)},Zt=(...e)=>{console.warn(...e)},Jr=(e,t)=>{let n;var o;return t>0?(n=1e3*t,H(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-new Date().getTime():0)-2e4,n>rt&&(H(`Timeout is too large (${n}ms), setting it to ${rt}ms`),n=rt),n},Ge="DS",Ae="DSR",Ot="DSI";function _t(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:i,cookieExpiration:s,cookieSecure:l}=n,a=new Date(1e3*s),c=ft(o);ve.set(e,t,{path:r,domain:c?o:void 0,expires:a,sameSite:i,secure:l})}}function ft(e){const t=window.location.hostname.split("."),n=e==null?void 0:e.split(".");return t.slice(-(n==null?void 0:n.length)).join(".")===e}const Ut=e=>(e==null?void 0:e.cookieName)||Ge,Ke=e=>(e==null?void 0:e.cookieName)||Ae;function Ue(e="",t){return ve.get(Ke(t))||Z(`${e}${Ae}`)||""}function en(e="",t){return ve.get(Ut(t))||Z(`${e}${Ge}`)||""}function An(e=""){return Z(`${e}${Ot}`)||""}function En(e="",t,n,o){W(`${e}${Ae}`),W(`${e}${Ge}`),W(`${e}${Ot}`);const r=Ut(t);ve.remove(r,o==null?void 0:o.session);const i=Ke(n);ve.remove(i,o==null?void 0:o.refresh)}const Kr=(e,t)=>n=>{const o=Object.assign(n,{token:n.token||Ue(e,t)}),r=function(i=""){return Z(`${i}DTD`)||""}(e);return r&&(o.headers=Object.assign(Object.assign({},o.headers||{}),{"x-descope-trusted-device-token":r})),o},Hr=M&&(localStorage==null?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://api.descope.com",Mr="vsid",zr="vrid",Tt="fp",Rn=(e=!1)=>{const t=Z(Tt);if(!t)return null;const n=JSON.parse(t);return new Date().getTime()>n.expiry&&!e?null:n.value},Dn=async(e,t=Hr)=>{try{if(Rn())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 r=new URL(t);r.pathname="/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I";const i=r.toString()+"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>",s=Ar({apiKey:e,endpoint:[o.toString(),Sr],scriptUrlPattern:[i,Tr]}),l=await s,{requestId:a}=await l.get({linkedId:n}),c=((d,p)=>({[Mr]:d,[zr]:p}))(n,a);(d=>{const p={value:d,expiry:new Date().getTime()+864e5};te(Tt,JSON.stringify(p))})(c)}catch(n){console.warn("Could not load fingerprint",n)}},Vr=()=>{W(Tt)},Gr=e=>{const t=Rn(!0);return t&&e.body&&(e.body.fpData=t),e},he="descopeFlowNonce",tn="X-Descope-Flow-Nonce",nn="/v1/flow/start",vt="/v1/flow/next",mt=(e,t=he)=>`${t}${e}`,$r=(e,t=he)=>{try{const n=mt(e,t);W(n)}catch(n){console.error("Error removing flow nonce:",n)}},Ln=e=>{var t;return((t=/.*\|#\|(.*)/.exec(e))===null||t===void 0?void 0:t[1])||null},on=e=>{var t;return e.path===vt&&(!((t=e.body)===null||t===void 0)&&t.executionId)?Ln(e.body.executionId):null},At="dls_last_user_login_id",Et="dls_last_user_display_name",rn=e=>te(At,e),wt=()=>Z(At),yt=()=>Z(Et),Wr=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,r=wt(),i=yt();return r&&((n=o.lastAuth)!==null&&n!==void 0||(o.lastAuth={}),o.lastAuth.loginId=r,o.lastAuth.name=i),await e(...t)},Xr=e=>t=>async(...n)=>{const o=await t(...n);return e||(W(At),W(Et)),o};function Ne(){const e=[];return{pub:t=>{e.forEach(n=>n(t))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const Yr=(e,t,n,o)=>r=>async(...i)=>{const s=await r(...i);return En(e,t,n,o==null?void 0:o()),s};async function Pe(e){const t=function(r){var i;const s=JSON.parse(r);return s.publicKey.challenge=Te(s.publicKey.challenge),s.publicKey.user.id=Te(s.publicKey.user.id),(i=s.publicKey.excludeCredentials)===null||i===void 0||i.forEach(l=>{l.id=Te(l.id)}),s}(e);return o=await navigator.credentials.create(t),JSON.stringify({id:o.id,rawId:ae(o.rawId),type:o.type,response:{attestationObject:ae(o.response.attestationObject),clientDataJSON:ae(o.response.clientDataJSON)}});var o}async function st(e){const t=Pn(e);return qn(await navigator.credentials.get(t))}async function Qr(e,t){const n=Pn(e);return n.signal=t.signal,n.mediation="conditional",qn(await navigator.credentials.get(n))}async function Nn(e=!1){var t,n;if(!M)return Promise.resolve(!1);if(ht()){const r=(n=(t=window.descopeBridge)===null||t===void 0?void 0:t.hostInfo)===null||n===void 0?void 0:n.webauthn;if(typeof r=="boolean")return r}const o=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return o&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():o}function Pn(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=Te(n.publicKey.challenge),(t=n.publicKey.allowCredentials)===null||t===void 0||t.forEach(o=>{o.id=Te(o.id)}),n}function qn(e){return JSON.stringify({id:e.id,rawId:ae(e.rawId),type:e.type,response:{authenticatorData:ae(e.response.authenticatorData),clientDataJSON:ae(e.response.clientDataJSON),signature:ae(e.response.signature),userHandle:e.response.userHandle?ae(e.response.userHandle):void 0}})}function Te(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),n=>n.charCodeAt(0)).buffer}function ae(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var sn,Zr=(sn=e=>({async signUp(t,n,o){const r=await e.webauthn.signUp.start(t,window.location.origin,n,o);if(!r.ok)return r;const i=await Pe(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,i)},async signIn(t,n){const o=await e.webauthn.signIn.start(t,window.location.origin,void 0,void 0,n);if(!o.ok)return o;const r=await st(o.data.options);return await e.webauthn.signIn.finish(o.data.transactionId,r)},async signUpOrIn(t,n){var o;const r=await e.webauthn.signUpOrIn.start(t,window.location.origin,n);if(!r.ok)return r;if(!((o=r.data)===null||o===void 0)&&o.create){const i=await Pe(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,i)}{const i=await st(r.data.options);return await e.webauthn.signIn.finish(r.data.transactionId,i)}},async update(t,n,o){const r=await e.webauthn.update.start(t,window.location.origin,n,o);if(!r.ok)return r;const i=await Pe(r.data.options);return await e.webauthn.update.finish(r.data.transactionId,i)},helpers:{create:Pe,get:st,isSupported:Nn,conditional:Qr}}),(...e)=>{const t=sn(...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 an={config:"/fedcm/config"},_r=()=>{if(window.crypto&&window.crypto.getRandomValues){const e=new Uint8Array(16);return window.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}return Math.random().toString(36).substring(2)};async function ln(e,t){var n;try{await Fn(e,t)}catch(o){(n=t==null?void 0:t.onFailed)===null||n===void 0||n.call(t,o)}}async function Fn(e,t){var n,o;const r=await async function(i,s="google",l,a,c){const d=_r(),p=await async function(){return new Promise((v,f)=>{if(window.google)return void v(window.google.accounts.id);let b=document.getElementById("google-gsi-client-script");b||(b=document.createElement("script"),document.head.appendChild(b),b.async=!0,b.defer=!0,b.id="google-gsi-client-script",b.src="https://accounts.google.com/gsi/client"),b.onload=function(){window.google?v(window.google.accounts.id):f("Failed to load Google GSI client script - not loaded properly")},b.onerror=function(){f("Failed to load Google GSI client script - failed to load")}})}(),g=await i.oauth.getOneTapClientId(s);if(!g.ok)throw new Error("Failed to get OneTap client ID for provider "+s);const y=g.data.clientId;return new Promise(v=>{var f,b;const I=j=>{v({provider:s,nonce:d,credential:j==null?void 0:j.credential})};p.initialize(Object.assign(Object.assign({},l),{itp_support:(f=l==null?void 0:l.itp_support)===null||f===void 0||f,use_fedcm_for_prompt:(b=l==null?void 0:l.use_fedcm_for_prompt)===null||b===void 0||b,client_id:y,callback:I,nonce:d})),p.prompt(j=>{var C,A;if(c&&(j!=null&&j.isDismissedMoment())){const q=(C=j.getDismissedReason)===null||C===void 0?void 0:C.call(j);return c==null||c(q),void I()}if(a&&(j!=null&&j.isSkippedMoment())){const q=(A=j.getSkippedReason)===null||A===void 0?void 0:A.call(j);return a==null||a(q),void I()}})})}(e,t.provider,t.oneTapConfig,t.onSkipped,t.onDismissed);if(!r.credential)return null;if(t!=null&&t.onCodeReceived){const i=await e.oauth.verifyOneTapIDToken(r.provider,r.credential,r.nonce,t==null?void 0:t.loginOptions);if(!i.ok||!i.data)throw new Error("Failed to verify OneTap client ID for provider "+r.provider);(n=t==null?void 0:t.onCodeReceived)===null||n===void 0||n.call(t,i.data.code)}else{const i=await e.oauth.exchangeOneTapIDToken(r.provider,r.credential,r.nonce,t==null?void 0:t.loginOptions);if(!i.ok||!i.data)throw new Error("Failed to exchange OneTap client ID for provider "+r.provider);(o=t==null?void 0:t.onAuthenticated)===null||o===void 0||o.call(t,i.data)}}var ei=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await Nn(),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 ti=()=>window.location.search.includes("code")&&window.location.search.includes("state");let at;const Bn=(e,t)=>new Promise((n,o)=>{if(!e.length)return o(new Error("No URLs provided to loadScriptWithFallback"));const r=t();if(r)return n(r);const i=e.shift(),s=document.createElement("script");s.src=i,s.id=(l=>{let a=0;for(let c=0;c<l.length;c++)a=(a<<5)-a+l.charCodeAt(c),a|=0;return Math.abs(a).toString(16)})(i),s.onload=()=>{const l=t();if(l)return n(l);throw new Error("Could not get entry after loading script from URL")},s.addEventListener("error",()=>{Bn(e,t),s.setAttribute("data-error","true")}),document.body.appendChild(s)}),ni=async(e,t,n)=>{at||(at=(async()=>{try{return require("oidc-client-ts")}catch{return Bn([Dr,Lr],()=>window.oidc)}})());const{OidcClient:o,WebStorageStateStore:r}=await at;if(!o)throw new Error("oidc-client-ts is not installed. Please install it by running `npm install oidc-client-ts`");const i=(n==null?void 0:n.redirectUri)||window.location.href;let s,l,a,c;if(n!=null&&n.issuer){if(!n.clientId)throw new Error("clientId is required when providing a custom issuer/authority");s=n.issuer,l=n.clientId,a=`${l}_user`,c="openid"}else n!=null&&n.applicationId?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,l=t,a=`${l}_user`,c="openid email roles descope.custom_claims offline_access"):(s=e.httpClient.buildUrl(t),l=t,a=`${l}_user`,c="openid email roles descope.custom_claims offline_access");const d={authority:s,client_id:l,redirect_uri:i,response_type:"code",scope:(n==null?void 0:n.scope)||c,stateStore:new r({store:window.localStorage,prefix:l}),loadUserInfo:!0,fetchRequestCredentials:"same-origin"};return n!=null&&n.redirectUri&&(d.redirect_uri=n.redirectUri),{client:new o(d),stateUserKey:a}},oi=(e,t,n)=>{const o=async()=>{let i,s;return i&&s||({client:i,stateUserKey:s}=await ni(e,t,n)),{client:i,stateUserKey:s}},r=async(i="")=>{var s;const{client:l,stateUserKey:a}=await o(),c=await l.processSigninResponse(i||window.location.href);var d;return await((s=e.httpClient.hooks)===null||s===void 0?void 0:s.afterRequest({},new Response(JSON.stringify(c)))),te(a,JSON.stringify({id_token:(d=c).id_token,session_state:d.session_state,profile:d.profile})),(()=>{const p=new URL(window.location.href);p.searchParams.delete("code"),p.searchParams.delete("state"),window.history.replaceState({},document.title,p.toString())})(),c};return{loginWithRedirect:async(i={},s=!1)=>{const{client:l}=await o(),a=await l.createSigninRequest(i),{url:c}=a;return s||(window.location.href=c),{ok:!0,data:a}},finishLogin:r,finishLoginIfNeed:async(i="")=>{if(ti())return await r(i)},refreshToken:async i=>{var s;const{client:l,stateUserKey:a}=await o(),c=(g=>{const y=Z(g);return y?JSON.parse(y):null})(a);if(!c)throw new Error("User not found in storage to refresh token");let d=i;if(!d){const g={};e.httpClient.hooks.beforeRequest(g),d=g.token}const p=await l.useRefreshToken({state:{refresh_token:d,session_state:c.session_state,profile:c.profile}});return await((s=e.httpClient.hooks)===null||s===void 0?void 0:s.afterRequest({},new Response(JSON.stringify(p)))),p},logout:async(i,s=!1)=>{const{client:l,stateUserKey:a}=await o();i||(i={}),i.id_token_hint=i.id_token_hint||An(),i.post_logout_redirect_uri=i.post_logout_redirect_uri||window.location.href;const c=await l.createSignoutRequest(i),{url:d}=c;return W(a),s||window.location.replace(d),c}}},Jn=function(...e){return t=>e.reduce((n,o)=>o(n),t)}(e=>t=>{var n;return n=t.customStorage,Q=n,e(t)},e=>t=>{var{fpKey:n,fpLoad:o}=t,r=E(t,["fpKey","fpLoad"]);return M?(n&&o&&Dn(n).catch(()=>null),e(ge(r,{beforeRequest:Gr}))):e(r)},e=>t=>{var{autoRefresh:n}=t,o=E(t,["autoRefresh"]);if(!n||ht())return e(o);const{clearAllTimers:r,setTimer:i}=(()=>{const c=[];return{clearAllTimers:()=>{for(;c.length;)clearTimeout(c.pop())},setTimer:(d,p)=>{c.push(setTimeout(d,p))}}})();let s,l;M&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&s&&new Date>s&&(H("Expiration time passed, refreshing session"),a.refresh(Ue()||l))});const a=e(ge(o,{afterRequest:async(c,d)=>{const{sessionJwt:p,refreshJwt:g,sessionExpiration:y,nextRefreshSeconds:v}=await Le(d);if(it(c,d))H("Session invalidated, canceling all timers"),r();else if(p||y){if(s=((I,j)=>{if(j)return new Date(1e3*j);H("Could not extract expiration time from session token, trying to decode the token");try{const C=bt(I);if(C.exp)return new Date(1e3*C.exp)}catch{return null}})(p,y),!s)return void H("Could not extract expiration time from session token");l=g;const f=Jr(s,v);if(r(),f<=2e4)return void H("Session is too close to expiration, not setting refresh timer");const b=new Date(Date.now()+f).toLocaleTimeString("en-US",{hour12:!1});H(`Setting refresh timer for ${b}. (${f}ms)`),i(()=>{M&&document.visibilityState==="hidden"?H("Skipping refresh due to timer - document is hidden"):(H("Refreshing session due to timer"),a.refresh(Ue()||g))},f)}}}));return be(a,["logout","logoutAll","oidc.logout"],c=>async(...d)=>{const p=await c(...d);return H("Clearing all timers"),r(),p})},e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.45.0"},t.baseHeaders)})),e=>t=>{const n=Ne(),o=Ne(),r=Ne(),i=Ne(),s=e(ge(t,{afterRequest:async(a,c)=>{if(it(a,c))H("Session invalidated, notifying subscribers with empty values"),o.pub(null),r.pub(null),n.pub(null),i.pub(null);else{const d=await(async v=>{const f=await Le(v);return(f==null?void 0:f.user)||(f!=null&&f.hasOwnProperty("userId")?f:void 0)})(c);d&&r.pub(d);const{sessionJwt:p,sessionExpiration:g,claims:y}=await Le(c);p&&o.pub(p),y&&i.pub(y),(g||p)&&n.pub(g||42)}}})),l=be(s,["logout","logoutAll","oidc.logout"],a=>async(...c)=>{const d=await a(...c);return o.pub(null),r.pub(null),n.pub(null),i.pub(null),d});return Object.assign(l,{onSessionTokenChange:o.sub,onUserChange:r.sub,onClaimsChange:i.sub,onIsAuthenticatedChange:a=>n.sub(c=>{a(!!c)})})},e=>t=>{const{enableFlowNonce:n=!0,nonceStoragePrefix:o=he}=t,r=E(t,["enableFlowNonce","nonceStoragePrefix"]);return n?(((i=he)=>{try{if(!Fr)return;for(let c=0;c<(s=void 0,l=void 0,a=void 0,(a=(s=Q==null?void 0:Q.length)!==null&&s!==void 0?s:M&&((l=window.localStorage)===null||l===void 0?void 0:l.length))!==null&&a!==void 0?a:0);c++){const d=Br(c);if(d&&d.startsWith(i)){const p=Z(d);if(p)try{JSON.parse(p).expiry<Date.now()&&W(d)}catch{W(d)}}}}catch(c){console.error("Error cleaning up expired nonces:",c)}var s,l,a})(o),e(ge(r,{afterRequest:async(i,s)=>{if(i.path!==nn&&i.path!==vt)return;const{nonce:l,executionId:a}=await(async(c,d)=>{try{const p=d.headers.get(tn);let g=await d.clone().json().then(y=>(y==null?void 0:y.executionId)||null).catch(()=>null);return g||(g=on(c)),{nonce:p,executionId:Ln(g)}}catch{return{nonce:null,executionId:null}}})(i,s);l&&a&&((c,d,p,g=he)=>{try{const y=mt(c,g),v=p?172800:10800,f={value:d,expiry:Date.now()+1e3*v,isStart:p};te(y,JSON.stringify(f))}catch(y){console.error("Error setting flow nonce:",y)}})(a,l,i.path===nn,o)},beforeRequest:i=>{if(i.path===vt){const s=on(i);if(s){const l=((a,c=he)=>{try{const d=mt(a,c),p=Z(d);if(!p)return null;const g=JSON.parse(p);return g.expiry<Date.now()?($r(a,c),null):g.value}catch(d){return console.error("Error getting flow nonce:",d),null}})(s,o);l&&(i.headers=i.headers||{},i.headers[tn]=l)}}return i}}))):e(r)},e=>t=>{var{storeLastAuthenticatedUser:n=!0,keepLastAuthenticatedUserAfterLogout:o=!1}=t,r=E(t,["storeLastAuthenticatedUser","keepLastAuthenticatedUserAfterLogout"]);if(!n)return Object.assign(e(r),{getLastUserLoginId:wt,getLastUserDisplayName:yt});const i=e(ge(r,{afterRequest:async(l,a)=>{var c;const{userInfo:d,lastAuth:p}=await(async v=>{if(!(v!=null&&v.ok))return{userInfo:void 0,lastAuth:void 0};const f=await(v==null?void 0:v.clone().json()),b=Tn((f==null?void 0:f.authInfo)||f||{});return{userInfo:(b==null?void 0:b.user)||(b!=null&&b.hasOwnProperty("userId")?b:void 0),lastAuth:f.lastAuth}})(a),g=(c=d==null?void 0:d.loginIds)===null||c===void 0?void 0:c[0],y=d==null?void 0:d.name;g?(rn(g),(v=>{te(Et,v)})(y)):p!=null&&p.loginId&&rn(p.loginId)}}));let s=be(i,["flow.start"],Wr);return s=be(s,["logout","logoutAll"],Xr(o)),Object.assign(s,{getLastUserLoginId:wt,getLastUserDisplayName:yt})},e=>t=>{var{persistTokens:n,sessionTokenViaCookie:o,refreshTokenViaCookie:r,storagePrefix:i}=t,s=E(t,["persistTokens","sessionTokenViaCookie","refreshTokenViaCookie","storagePrefix"]);if(!n||!M)return e(s);let l;const a=e(ge(s,{beforeRequest:Kr(i,r),afterRequest:async(d,p)=>{if(it(d,p))H("Session invalidated, clearing persisted tokens"),En(i,o,r,l);else{const g=((y={},v=!1,f="",b=!1)=>{var I,j,C,A;const{sessionJwt:q,refreshJwt:L,trustedDeviceJwt:F}=y;let K;if(L)if(b){W(`${f}${Ae}`);const N=b.sameSite||"Strict",B=(I=b.secure)===null||I===void 0||I,T=(j=b.domain)!==null&&j!==void 0?j:y.cookieDomain,P=Ke(b);B&&window.location.protocol!=="https:"&&Zt("Refresh token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass refreshTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }");const J=Object.assign(Object.assign({},y),{cookieSameSite:N,cookieSecure:B,cookieDomain:T});_t(P,L,J);const X=ft(T);K=Object.assign(Object.assign({},K),{refresh:{path:J.cookiePath,domain:X?T:void 0}})}else{const N=Ke(b);ve.remove(N),te(`${f}${Ae}`,L)}if(q)if(v){const N=v.sameSite||"Strict",B=(C=v.secure)===null||C===void 0||C,T=(A=v.domain)!==null&&A!==void 0?A:y.cookieDomain,P=Ut(v);B&&window.location.protocol!=="https:"&&Zt("Session token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass sessionTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }");const J=Object.assign(Object.assign({},y),{cookieSameSite:N,cookieSecure:B,cookieDomain:T});_t(P,q,J);const X=ft(T);K=Object.assign(Object.assign({},K),{session:{path:J.cookiePath,domain:X?T:void 0}})}else te(`${f}${Ge}`,q);return y.idToken&&te(`${f}${Ot}`,y.idToken),F&&te(`${f}DTD`,F),K})(await Le(p),o,i,r);g&&(l=g)}}})),c=be(a,["logout","logoutAll","oidc.logout"],Yr(i,o,r,()=>l));return Object.assign(c,{getRefreshToken:()=>Ue(i,r),getSessionToken:()=>en(i,o),getIdToken:()=>An(i)})})(e=>{const t=xr(e),n=oi(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(i,s)=>{var l;if(ht())return H(`Refresh called in native flow: ${new Error().stack}`),Promise.resolve({ok:!1,error:{errorCode:"J171000",errorDescription:"Refresh is not supported in native flows via the web SDK"}});if(e.oidcConfig)try{return await n.refreshToken(i),Promise.resolve({ok:!0})}catch(p){return Promise.resolve({ok:!1,error:{errorCode:"J161001",errorDescription:p.toString()}})}const a=en(),c=Ue();let d="";if(e.getExternalToken)try{d=await((l=e.getExternalToken)===null||l===void 0?void 0:l.call(e))}catch(p){H("Error getting external token while refreshing",p)}return t.refresh(i,{dcs:a?"t":"f",dcr:c?"t":"f"},d,s)},logout:async i=>{if(e.oidcConfig)try{return await n.logout({id_token_hint:i}),Promise.resolve({ok:!0})}catch(s){return Promise.resolve({ok:!1,error:{errorCode:"J161000",errorDescription:s.toString()}})}return t.logout(i)},flow:ei(t),webauthn:Zr(t),fedcm:(o=t,r=e.projectId,{onetap:{requestExchangeCode(i){ln(o,i)},requestAuthentication(i){ln(o,i)}},async oneTap(i,s,l,a,c){await Fn(o,{provider:i,oneTapConfig:s,loginOptions:l,onSkipped:a,onDismissed:c})},async launch(i){var s;const l={identity:{context:i||"signin",providers:[{configURL:o.httpClient.buildUrl(r+an.config),clientId:r}]}},a=await((s=navigator.credentials)===null||s===void 0?void 0:s.get(l));return o.refresh(a.token)},isSupported:()=>M&&"IdentityCredential"in window,async isLoggedIn(i){var s;const l=o.httpClient.buildUrl(r+an.config);try{const a={identity:{context:i||"signin",providers:[{configURL:l,clientId:r}]}},c=await((s=navigator.credentials)===null||s===void 0?void 0:s.get(a));return!!c&&!!c.token}catch{return!1}}}),oidc:n});var o,r});let Rt;const Kn=e=>{const t=Jn(Object.assign({persistTokens:Kt,autoRefresh:Kt},e));return Rt=t,t},ri=()=>Kn({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});Rt=ri();const ii=()=>Rt;var si=({projectId:e,baseUrl:t,persistTokens:n,autoRefresh:o,sessionTokenViaCookie:r,refreshTokenViaCookie:i,refreshCookieName:s,oidcConfig:l,storeLastAuthenticatedUser:a,keepLastAuthenticatedUserAfterLogout:c,getExternalToken:d,hooks:p,customStorage:g})=>h.useMemo(()=>{if(e)return Kn({projectId:e,baseUrl:t,sessionTokenViaCookie:r,refreshTokenViaCookie:i,baseHeaders:Fe,persistTokens:n,autoRefresh:o,refreshCookieName:s,oidcConfig:l,storeLastAuthenticatedUser:a,keepLastAuthenticatedUserAfterLogout:c,hooks:p,getExternalToken:d,customStorage:g})},[e,t,JSON.stringify(r),JSON.stringify(i),d,g]);const ai=({projectId:e,baseUrl:t="",baseStaticUrl:n="",baseCdnUrl:o="",sessionTokenViaCookie:r=!1,refreshTokenViaCookie:i=!1,hooks:s,persistTokens:l=!0,autoRefresh:a=!0,oidcConfig:c,storeLastAuthenticatedUser:d=!0,keepLastAuthenticatedUserAfterLogout:p=!1,refreshCookieName:g="",getExternalToken:y,customStorage:v,children:f})=>{const[b,I]=h.useState(),[j,C]=h.useState(),[A,q]=h.useState(),[L,F]=h.useState(!1),[K,N]=h.useState(!1),[B,T]=h.useState(!1),[P,J]=h.useState(!!c),X=h.useRef(!1),R=si({projectId:e,baseUrl:t,persistTokens:l,autoRefresh:a,sessionTokenViaCookie:r,refreshTokenViaCookie:i,hooks:s,oidcConfig:c,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:p,refreshCookieName:g,getExternalToken:y,customStorage:v});h.useEffect(()=>{if(R){const we=R.onSessionTokenChange(C),V=R.onUserChange(I),S=R.onIsAuthenticatedChange(F),ye=R.onClaimsChange(q);return()=>{we(),V(),S(),ye()}}},[R]);const _=h.useRef(!1),z=h.useRef(!1);h.useEffect(()=>{R&&c&&!X.current&&(X.current=!0,R.oidc.finishLoginIfNeed().finally(()=>{J(!1),_.current=!0}))},[]);const de=h.useCallback(()=>{Zn()||_.current||(_.current=!0,T(!0),Jt(R==null?void 0:R.refresh)(void 0,!0).then(()=>{T(!1)}))},[R]),oe=h.useCallback(()=>{z.current||(z.current=!0,N(!0),Jt(R.me)().then(()=>{N(!1)}))},[R]),re=h.useMemo(()=>({fetchUser:oe,user:b,isUserLoading:K,isUserFetched:z.current,fetchSession:de,session:j,isAuthenticated:L,isSessionLoading:B,isOidcLoading:P,isSessionFetched:_.current,projectId:e,baseUrl:t,baseStaticUrl:n,baseCdnUrl:o,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:p,refreshCookieName:g,customStorage:v,setUser:I,setSession:C,setIsAuthenticated:F,claims:A,sdk:R}),[oe,b,K,z.current,de,j,L,B,P,_.current,e,t,n,o,p,g,v,I,C,F,A,R]);return h.createElement(un.Provider,{value:re},f)};function li(...e){return t=>e.reduce((n,o)=>o(n),t)}const ci=(...e)=>e.join("/").replace(/\/+/g,"/"),cn=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),di=e=>{const t=Symbol((n=>{const o=n.toString();let r=0;for(let i=0;i<o.length;i++)r=(r<<5)-r+o.charCodeAt(i),r&=r;return r.toString(16)})(e));return n=>{if(n[t])return n;const o=e(n);return o[t]=!0,o}},ui=e=>{const[,t,n]=/(.*)\.(prop|attr)$/.exec(e)||[,e,"rest"];return{trimmedKey:t,category:n}},pi=e=>typeof e=="string"||e==null?e:JSON.stringify(e),gi=e=>h.forwardRef((t,n)=>{const{prop:o,attr:r,rest:i}=h.useMemo(()=>Object.entries(t).reduce((a,[c,d])=>{const{trimmedKey:p,category:g}=ui(c);return g==="prop"?a.prop.push([p,d]):g==="attr"?a.attr.push([cn(p),pi(d)]):Object.assign(a.rest,{[cn(p)]:d}),a},{attr:[],prop:[],rest:{}}),[t]),s=h.useRef(null),l=h.useCallback(a=>{s.current=a,a&&(o.forEach(([c,d])=>{s.current[c]=d}),r.forEach(([c,d])=>{d==null?a.removeAttribute(c):a.setAttribute(c,d)}))},[o,r,s]);return h.useImperativeHandle(n,()=>s.current),h.createElement(e,Object.assign({ref:l},i))}),hi=h.lazy(async()=>(((customElements==null?void 0:customElements.get("descope-wc"))||await Promise.resolve().then(()=>require("./index.cjs3.js")).then(e=>e.index).then(e=>e.default)).sdkConfigOverrides={baseHeaders:Fe,persistTokens:!1,hooks:{get beforeRequest(){return ii().httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:gi(h.forwardRef((e,t)=>{var{"external-request-id":n}=e,o=E(e,["external-request-id"]);return h.useMemo(()=>{var r,i;r="x-external-rid",(i=n)?Fe[r]=i:delete Fe[r]},[n]),h.createElement("descope-wc",Object.assign({ref:t},o))}))})),fi=h.forwardRef(({flowId:e,onSuccess:t,onError:n,onReady:o,logger:r,tenant:i,theme:s,nonce:l,locale:a,debug:c,client:d,form:p,telemetryKey:g,redirectUrl:y,autoFocus:v,validateOnBlur:f,restartOnError:b,errorTransformer:I,styleId:j,onScreenUpdate:C,dismissScreenErrorOnInput:A,outboundAppId:q,outboundAppScopes:L,popupOrigin:F,children:K,externalRequestId:N},B)=>{const[T,P]=h.useState(null);h.useImperativeHandle(B,()=>T);const{projectId:J,baseUrl:X,baseStaticUrl:R,baseCdnUrl:_,storeLastAuthenticatedUser:z,keepLastAuthenticatedUserAfterLogout:de,refreshCookieName:oe,customStorage:re,sdk:we}=h.useContext(un),V=h.useCallback(async S=>{await we.httpClient.hooks.afterRequest({},new Response(JSON.stringify(S.detail))),t&&t(S)},[t]);return h.useEffect(()=>{const S=T;return S==null||S.addEventListener("success",V),n&&(S==null||S.addEventListener("error",n)),o&&(S==null||S.addEventListener("ready",o)),()=>{n&&(S==null||S.removeEventListener("error",n)),o&&(S==null||S.removeEventListener("ready",o)),S==null||S.removeEventListener("success",V)}},[T,n,V]),h.useEffect(()=>{const S=T;return S==null||S.addEventListener("success",V),()=>{S==null||S.removeEventListener("success",V)}},[T,V]),h.useEffect(()=>{const S=T;return n&&(S==null||S.addEventListener("error",n)),()=>{n&&(S==null||S.removeEventListener("error",n))}},[T,n]),h.useEffect(()=>{const S=T;return o&&(S==null||S.addEventListener("ready",o)),()=>{o&&(S==null||S.removeEventListener("error",o))}},[T,o]),h.createElement("form",null,h.createElement(h.Suspense,{fallback:null},h.createElement(hi,{projectId:J,flowId:e,baseUrl:X,baseStaticUrl:R,baseCdnUrl:_,ref:P,telemetryKey:g,redirectUrl:y,autoFocus:v,styleId:j,validateOnBlur:f,restartOnError:b,keepLastAuthenticatedUserAfterLogout:de,tenant:i,externalRequestId:N,customStorage:re,"theme.attr":s,"nonce.attr":l,"locale.attr":a,"form.attr":p,"client.attr":d,"debug.attr":c,"outbound-app-id.attr":q,"outbound-app-scopes.attr":L,"popup-origin.attr":F,"store-last-authenticated-user.attr":z,"refreshCookieName.attr":oe,"dismiss-screen-error-on-input.attr":A,"errorTransformer.prop":I,"logger.prop":r,"onScreenUpdate.prop":C,"customStorage.prop":re},K)))}),vi="data:image/png;base64,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",Be="var(--color-green)",D="ui-sans-serif",ee={width:"100%",height:40,padding:"10px 14px",fontSize:16,fontWeight:400,lineHeight:"23px",border:"1px solid var(--color-input-border)",borderRadius:4,background:"white",color:"var(--color-text)",fontFamily:D,outline:"none",boxSizing:"border-box",transition:"border-color 0.15s, box-shadow 0.15s"},ie=e=>{e.target.style.borderColor="var(--color-green)",e.target.style.boxShadow="0 0 0 3px var(--color-green-ring)"},se=e=>{e.target.style.borderColor="var(--color-input-border)",e.target.style.boxShadow="none"},lt=[{Icon:fe.CircleCheckBig,title:"Call Quality Monitoring",description:"Automatically evaluate 100% of customer service calls to improve quality, consistency, and coaching effectiveness."},{Icon:fe.ShieldCheck,title:"Compliance Monitoring",description:"Continuously monitor customer service conversations for missed disclosures, risky language, and compliance gaps."},{Icon:fe.Radar,title:"Signal Intelligence",description:"Identify emerging themes, sentiment shifts, and customer issues hidden inside everyday service conversations."}];function qe({title:e,subtitle:t}){return u.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[u.jsx("h2",{style:{fontFamily:D,fontWeight:700,fontSize:"44px",lineHeight:"52px",color:"var(--color-text)",margin:0},children:e}),u.jsx("p",{style:{fontFamily:D,fontSize:18,fontWeight:400,lineHeight:"26px",color:"var(--color-text-secondary)",margin:0},children:t})]})}function Ie({onClick:e,disabled:t,children:n,type:o="button"}){const r=!t;return u.jsx("button",{type:o,onClick:e,disabled:t,style:{width:"100%",height:40,display:"flex",justifyContent:"center",alignItems:"center",padding:"10px",background:r?"var(--color-green)":"var(--color-green-disabled)",color:"white",border:"none",borderRadius:4,fontSize:16,fontWeight:700,lineHeight:"23px",fontFamily:D,cursor:r?"pointer":"not-allowed",transition:"background 0.15s",boxSizing:"border-box"},onMouseEnter:i=>{r&&(i.currentTarget.style.background="var(--color-green-hover)")},onMouseLeave:i=>{r&&(i.currentTarget.style.background=r?"var(--color-green)":"var(--color-green-disabled)")},children:n})}function Y({label:e,gap:t=12,labelSize:n=16,labelStyle:o,children:r}){return u.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:t,width:"100%"},children:[u.jsx("label",{style:{fontSize:n,fontWeight:400,color:"var(--color-text)",fontFamily:D,lineHeight:"100%",...o},children:e}),r]})}function ct({show:e,onToggle:t}){return u.jsx("button",{type:"button",tabIndex:-1,onClick:t,style:{position:"absolute",right:14,top:"50%",transform:"translateY(-50%)",background:"none",border:"none",padding:0,cursor:"pointer",color:"var(--color-text-secondary)",display:"flex",alignItems:"center"},children:e?u.jsx(fe.EyeOff,{size:16}):u.jsx(fe.Eye,{size:16})})}function je(){return u.jsx("hr",{style:{width:"100%",border:"none",borderTop:"1px solid var(--color-divider)",margin:0}})}function Se({text:e,linkText:t,onClick:n}){return u.jsxs("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:4,width:"100%"},children:[u.jsx("span",{style:{fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-text)",fontFamily:D},children:e}),u.jsx("button",{type:"button",onClick:n,style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:600,lineHeight:"22px",color:Be,cursor:"pointer",fontFamily:D,textDecoration:"underline"},children:t})]})}function Ce({onTerms:e,onPrivacyPolicy:t,paddingTop:n}){return u.jsx("div",{style:{display:"flex",justifyContent:"center",width:"100%",...n?{marginTop:"auto",paddingTop:n}:{}},children:u.jsxs("span",{style:{fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-text)",fontFamily:D,textAlign:"center"},children:["By continuing, you agree to our"," ",u.jsx("button",{type:"button",onClick:e,style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:400,color:"var(--color-text)",cursor:"pointer",fontFamily:D,textDecoration:"underline",textUnderlineOffset:2},children:"Terms"})," ","and"," ",u.jsx("button",{type:"button",onClick:t,style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:400,color:"var(--color-text)",cursor:"pointer",fontFamily:D,textDecoration:"underline",textUnderlineOffset:2},children:"Privacy Policy"}),"."]})})}function dn({projectId:e,onSuccess:t,onError:n}){return e?u.jsx(ai,{projectId:e,children:u.jsx(fi,{flowId:"sign-up-or-in-otp-or-social",onSuccess:t,onError:n})}):null}function mi({onLogin:e,onForgotPassword:t,onOneTimeCode:n,onVerifyCode:o,onResendCode:r,onSignUp:i,onResetPassword:s,onTerms:l,onPrivacyPolicy:a,onDescopeSuccess:c,onDescopeError:d,descopeProjectId:p,loading:g,error:y,defaultView:v="signin"}){const[f,b]=h.useState(""),[I,j]=h.useState(""),[C,A]=h.useState(!1),[q,L]=h.useState(!1),[F,K]=h.useState(null),[N,B]=h.useState(0),[T,P]=h.useState(v),[J,X]=h.useState(""),[R,_]=h.useState(""),[z,de]=h.useState(["","","",""]),oe=h.useRef([]),[re,we]=h.useState(""),[V,S]=h.useState(""),[ye,Hn]=h.useState(""),[$e,Mn]=h.useState(""),[Dt,zn]=h.useState(""),[We,Vn]=h.useState(!1),[Xe,Gn]=h.useState(!1),[Ye,$n]=h.useState(""),Ee=h.useRef(null),[Qe,Wn]=h.useState(0),Lt=g??q,ue=y??F,Nt=f&&I&&!Lt,Pt=x=>{x.target.style.borderColor=ue?"var(--color-error-border)":"var(--color-green)",x.target.style.boxShadow=ue?"0 0 0 3px var(--color-error-ring)":"0 0 0 3px var(--color-green-ring)"},qt=x=>{x.target.style.borderColor=ue?"var(--color-error-border)":"var(--color-input-border)",x.target.style.boxShadow="none"},Xn=(x,U)=>{var Bt;const $=U.replace(/\D/g,"").slice(-1),Ft=[...z];Ft[x]=$,de(Ft),$&&x<3&&((Bt=oe.current[x+1])==null||Bt.focus())},Yn=(x,U)=>{var $;U.key==="Backspace"&&!z[x]&&x>0&&(($=oe.current[x-1])==null||$.focus())},Qn=async x=>{if(x.preventDefault(),!!Nt){K(null),L(!0);try{await(e==null?void 0:e(f,I))}catch(U){K((U==null?void 0:U.message)||"Something went wrong. Please try again.")}finally{L(!1)}}};return h.useEffect(()=>{const x=setInterval(()=>B(U=>(U+1)%lt.length),6e3);return()=>clearInterval(x)},[]),h.useEffect(()=>{if(!Ee.current)return;const x=()=>Wn(Math.round(Ee.current.offsetWidth*.69));x();const U=new ResizeObserver(x);return U.observe(Ee.current),()=>U.disconnect()},[]),u.jsxs("div",{style:{display:"flex",minHeight:"100vh",fontFamily:D,background:"white"},children:[u.jsxs("div",{style:{flex:"0 0 48%",background:"var(--surface-dark)",display:"flex",flexDirection:"column",padding:"48px 0 40px 48px",position:"relative",overflow:"hidden"},children:[u.jsx("img",{src:vi,alt:"Chordia",style:{width:160,height:44,objectFit:"contain",border:"1px solid black",filter:"drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))",marginBottom:52,flexShrink:0}}),u.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",gap:36},children:[u.jsx("h1",{style:{fontFamily:D,fontSize:"clamp(28px, 2.8vw, 28px)",fontWeight:800,color:"var(--color-text-inverse)",lineHeight:1.08,margin:0,letterSpacing:"-0.02em",paddingRight:48},children:"Three Solutions. One Platform."}),u.jsx("div",{ref:Ee,style:{overflow:"visible",width:"100%"},children:u.jsx("div",{style:{display:"flex",gap:14,transition:"transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)",transform:`translateX(${-N*(Qe+14)}px)`},children:lt.map((x,U)=>u.jsxs("div",{onClick:()=>B(U),style:{flex:`0 0 ${Qe>0?Qe+"px":"69%"}`,background:U===N?"var(--gradient-card-active)":"var(--gradient-card-inactive)",borderRadius:16,padding:"32px 28px",minHeight:310,display:"flex",flexDirection:"column",opacity:1,transition:"background 0.4s ease, transform 0.4s ease",boxSizing:"border-box",cursor:U!==N?"pointer":"default",transform:"translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg)",transformStyle:"preserve-3d",willChange:"transform"},children:[u.jsx("div",{style:{color:"black",marginBottom:28},children:u.jsx(x.Icon,{size:40,strokeWidth:2.5})}),u.jsx("h3",{style:{fontFamily:D,fontSize:24,fontWeight:700,color:"var(--color-text-inverse)",lineHeight:1.2,margin:"0 0 16px 0"},children:x.title}),u.jsx("p",{style:{fontFamily:D,fontSize:16,fontWeight:400,color:"var(--color-text-overlay)",lineHeight:1.6,margin:0},children:x.description})]},U))})})]}),u.jsx("div",{style:{display:"flex",gap:8,paddingTop:32,paddingRight:48},children:lt.map((x,U)=>u.jsx("button",{onClick:()=>B(U),"aria-label":`Solution ${U+1}`,style:{width:80,height:4,borderRadius:6,border:"none",background:U===N?"var(--color-input-border)":"var(--color-text)",cursor:"pointer",padding:0,transition:"all 0.3s ease"}},U))})]}),u.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"48px 72px",position:"relative",background:"white"},children:u.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",maxWidth:360,gap:40},children:T==="signup"?u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Sign Up",subtitle:"Please enter your basic details to continue"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsxs("div",{style:{display:"flex",gap:16,width:"100%"},children:[u.jsx(Y,{label:"First Name",gap:8,children:u.jsx("input",{type:"text",value:re,onChange:x=>we(x.target.value),placeholder:"First name",autoFocus:!0,autoComplete:"given-name",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Y,{label:"Last Name",gap:8,children:u.jsx("input",{type:"text",value:V,onChange:x=>S(x.target.value),placeholder:"Last name",autoComplete:"family-name",style:ee,onFocus:ie,onBlur:se})})]}),u.jsx(Y,{label:"Email",gap:8,children:u.jsx("input",{type:"email",value:ye,onChange:x=>Hn(x.target.value),placeholder:"workemail@example.com",autoComplete:"email",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Y,{label:"Create Password",gap:8,children:u.jsxs("div",{style:{position:"relative"},children:[u.jsx("input",{type:We?"text":"password",value:$e,onChange:x=>Mn(x.target.value),placeholder:"Enter password",autoComplete:"new-password",style:{...ee,padding:"10px 44px 10px 14px"},onFocus:ie,onBlur:se}),u.jsx(ct,{show:We,onToggle:()=>Vn(!We)})]})}),u.jsx(Y,{label:"Confirm Password",gap:8,children:u.jsxs("div",{style:{position:"relative"},children:[u.jsx("input",{type:Xe?"text":"password",value:Dt,onChange:x=>zn(x.target.value),placeholder:"Enter password",autoComplete:"new-password",style:{...ee,padding:"10px 44px 10px 14px"},onFocus:ie,onBlur:se}),u.jsx(ct,{show:Xe,onToggle:()=>Gn(!Xe)})]})}),(()=>{const x=re&&V&&ye&&$e&&Dt;return u.jsx(Ie,{onClick:()=>i==null?void 0:i({firstName:re,lastName:V,email:ye,password:$e}),disabled:!x,children:"Create Account"})})(),u.jsx(je,{}),u.jsx(dn,{projectId:p,onSuccess:c,onError:d}),u.jsx(Se,{text:"I am already a member",linkText:"Sign In",onClick:()=>P("signin")}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a})]})]}):T==="verifycode"?u.jsxs(u.Fragment,{children:[u.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[u.jsx("h2",{style:{fontFamily:D,fontWeight:700,fontSize:"44px",lineHeight:"52px",color:"var(--color-text)",margin:0},children:"Sign In with code"}),u.jsxs("p",{style:{fontFamily:D,fontSize:18,fontWeight:400,lineHeight:"26px",color:"var(--color-text-secondary)",margin:0},children:["We have sent a one-time code to your email:"," ",u.jsx("span",{style:{color:"var(--color-text)"},children:R||"workemail@example.com"})," ",u.jsx("button",{type:"button",onClick:()=>P("getcode"),style:{background:"none",border:"none",padding:0,fontSize:18,fontWeight:400,color:Be,cursor:"pointer",fontFamily:D,textDecoration:"underline"},children:"Change email"})]})]}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsx(Y,{label:"Enter one-time code",gap:12,children:u.jsx("div",{style:{display:"flex",gap:12},children:z.map((x,U)=>u.jsx("input",{ref:$=>{oe.current[U]=$},type:"text",inputMode:"numeric",maxLength:1,value:x,onChange:$=>Xn(U,$.target.value),onKeyDown:$=>Yn(U,$),autoFocus:U===0,style:{width:72,height:72,textAlign:"center",fontSize:24,fontWeight:600,fontFamily:D,color:"var(--color-text)",border:"1px solid var(--color-input-border)",borderRadius:8,outline:"none",background:"white",boxSizing:"border-box",transition:"border-color 0.15s, box-shadow 0.15s",caretColor:Be},onFocus:ie,onBlur:se},U))})}),u.jsx(Ie,{onClick:()=>o==null?void 0:o(R,z.join("")),disabled:z.some(x=>!x),children:"Verify Code"}),u.jsx(je,{}),u.jsx(Se,{text:"Not received yet?",linkText:"Resend",onClick:()=>r==null?void 0:r(R)}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a,paddingTop:40})]})]}):T==="getcode"?u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Get code",subtitle:"We'll send a one time pass-code to your email"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsx(Y,{label:"Email",gap:12,children:u.jsx("input",{type:"email",value:J,onChange:x=>X(x.target.value),placeholder:"workemail@example.com",autoFocus:!0,autoComplete:"email",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Ie,{onClick:()=>{_(J),de(["","","",""]),P("verifycode"),n==null||n(J)},disabled:!J,children:"Send One-time Code"}),u.jsx(je,{}),u.jsx(Se,{text:"I have my password",linkText:"Back to Sign in",onClick:()=>P("signin")}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a,paddingTop:40})]})]}):T==="resetpassword"?u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Reset Password",subtitle:"We'll send an email to reset your password"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",gap:16},children:[u.jsx(Y,{label:"Email",gap:12,children:u.jsx("input",{type:"email",value:Ye,onChange:x=>$n(x.target.value),placeholder:"workemail@example.com",autoFocus:!0,autoComplete:"email",style:ee,onFocus:ie,onBlur:se})}),u.jsx(Ie,{onClick:()=>s==null?void 0:s(Ye),disabled:!Ye,children:"Send Reset Link"}),u.jsx(je,{}),u.jsx(Se,{text:"I have my password",linkText:"Back to Sign in",onClick:()=>P("signin")}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a,paddingTop:40})]})]}):u.jsxs(u.Fragment,{children:[u.jsx(qe,{title:"Sign in",subtitle:"Enter your email & password to continue"}),u.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:48},children:[u.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:16},children:[u.jsxs("form",{onSubmit:Qn,style:{width:"100%",display:"flex",flexDirection:"column",gap:16},children:[u.jsx(Y,{label:"Email",gap:12,children:u.jsx("input",{type:"email",value:f,onChange:x=>b(x.target.value),placeholder:"workemail@example.com",required:!0,autoFocus:!0,autoComplete:"email",style:{...ee,border:`1px solid ${ue?"var(--color-error-border)":"var(--color-input-border)"}`},onFocus:Pt,onBlur:qt})}),u.jsx(Y,{label:"Password",gap:12,labelSize:18,labelStyle:{lineHeight:"26px"},children:u.jsxs("div",{style:{position:"relative"},children:[u.jsx("input",{type:C?"text":"password",value:I,onChange:x=>j(x.target.value),placeholder:"Enter password",required:!0,autoComplete:"current-password",style:{...ee,padding:"10px 44px 10px 16px",border:`1px solid ${ue?"var(--color-error-border)":"var(--color-input-border)"}`},onFocus:Pt,onBlur:qt}),u.jsx(ct,{show:C,onToggle:()=>A(!C)})]})}),ue&&u.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-error)",fontFamily:D},children:[u.jsx(fe.AlertCircle,{size:16,color:"var(--color-error)",style:{flexShrink:0}}),ue]}),u.jsx(Ie,{type:"submit",disabled:!Nt,children:Lt?"Signing in…":"Sign In"})]}),u.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"},children:[u.jsx("button",{type:"button",onClick:()=>{P("resetpassword"),t==null||t()},style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:400,lineHeight:"22px",color:"var(--color-text)",cursor:"pointer",fontFamily:D,textDecoration:"underline"},children:"Forgot Password?"}),u.jsx("button",{type:"button",onClick:()=>{P("getcode"),n==null||n()},style:{background:"none",border:"none",padding:0,fontSize:15,fontWeight:600,lineHeight:"100%",color:Be,cursor:"pointer",fontFamily:D,textDecoration:"underline solid",textUnderlineOffset:0,textDecorationSkipInk:"none"},children:"Sign in with one-time code"})]}),u.jsx(je,{}),u.jsx(dn,{projectId:p,onSuccess:c,onError:d})]}),u.jsx(Se,{text:"Not a member yet?",linkText:"Sign Up",onClick:()=>{P("signup"),i==null||i()}}),u.jsx(Ce,{onTerms:l,onPrivacyPolicy:a})]})]})})})]})}exports.$e=Jn;exports.LoginPage=mi;exports.W=Dn;exports.X=Vr;exports.__awaiter=_n;exports.__classPrivateFieldGet=to;exports.__classPrivateFieldSet=no;exports.__rest=E;exports.h=di;exports.r=li;exports.s=ci;
3
3
  //# sourceMappingURL=index.cjs2.js.map