@descope/web-component 0.0.0-custom-screens.1

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.
Files changed (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +166 -0
  3. package/dist/cjs/constants/content.js +1 -0
  4. package/dist/cjs/constants/general.js +1 -0
  5. package/dist/cjs/constants/index.js +1 -0
  6. package/dist/cjs/constants/uiComponents.js +1 -0
  7. package/dist/cjs/debugger-wc.js +1 -0
  8. package/dist/cjs/descope-wc/BaseDescopeWc.js +1 -0
  9. package/dist/cjs/descope-wc/DescopeWc.js +1 -0
  10. package/dist/cjs/descope-wc/index.js +1 -0
  11. package/dist/cjs/descope-wc/initTemplate.js +1 -0
  12. package/dist/cjs/descope-wc/sdkScripts/fingerprint.js +1 -0
  13. package/dist/cjs/descope-wc/sdkScripts/fingerprintDescope.js +1 -0
  14. package/dist/cjs/descope-wc/sdkScripts/forter.js +1 -0
  15. package/dist/cjs/descope-wc/sdkScripts/index.js +1 -0
  16. package/dist/cjs/helpers/abTestingKey.js +1 -0
  17. package/dist/cjs/helpers/conditions.js +1 -0
  18. package/dist/cjs/helpers/flowInputs.js +1 -0
  19. package/dist/cjs/helpers/helpers.js +1 -0
  20. package/dist/cjs/helpers/lastAuth.js +1 -0
  21. package/dist/cjs/helpers/positionHelpers.js +1 -0
  22. package/dist/cjs/helpers/state.js +1 -0
  23. package/dist/cjs/helpers/templates.js +1 -0
  24. package/dist/cjs/helpers/webauthn.js +1 -0
  25. package/dist/cjs/mixins/formMountMixin.js +1 -0
  26. package/dist/cjs/types.js +1 -0
  27. package/dist/esm/constants/content.js +1 -0
  28. package/dist/esm/constants/general.js +1 -0
  29. package/dist/esm/constants/index.js +1 -0
  30. package/dist/esm/constants/uiComponents.js +1 -0
  31. package/dist/esm/debugger-wc.js +1 -0
  32. package/dist/esm/descope-wc/BaseDescopeWc.js +1 -0
  33. package/dist/esm/descope-wc/DescopeWc.js +1 -0
  34. package/dist/esm/descope-wc/index.js +1 -0
  35. package/dist/esm/descope-wc/initTemplate.js +1 -0
  36. package/dist/esm/descope-wc/sdkScripts/fingerprint.js +1 -0
  37. package/dist/esm/descope-wc/sdkScripts/fingerprintDescope.js +1 -0
  38. package/dist/esm/descope-wc/sdkScripts/forter.js +1 -0
  39. package/dist/esm/descope-wc/sdkScripts/index.js +1 -0
  40. package/dist/esm/helpers/abTestingKey.js +1 -0
  41. package/dist/esm/helpers/conditions.js +1 -0
  42. package/dist/esm/helpers/flowInputs.js +1 -0
  43. package/dist/esm/helpers/helpers.js +1 -0
  44. package/dist/esm/helpers/lastAuth.js +1 -0
  45. package/dist/esm/helpers/positionHelpers.js +1 -0
  46. package/dist/esm/helpers/state.js +1 -0
  47. package/dist/esm/helpers/templates.js +1 -0
  48. package/dist/esm/helpers/webauthn.js +1 -0
  49. package/dist/esm/mixins/formMountMixin.js +1 -0
  50. package/dist/esm/types.js +1 -0
  51. package/dist/index.d.ts +1365 -0
  52. package/dist/index.js +3 -0
  53. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ import{__awaiter as t}from"tslib";const n='\n(function () {\nvar merchantConfig = {\n csp: false\n};\n\nvar siteId = "{{SITE_ID}}";\nfunction t(t,n){for(var e=t.split(""),r=0;r<e.length;++r)e[r]=String.fromCharCode(e[r].charCodeAt(0)+n);return e.join("")}function n(n){return t(n,-L).replace(/%SN%/g,siteId)}function e(){var t="no"+"op"+"fn",n="g"+"a",e="n"+"ame";return window[n]&&window[n][e]===t}function r(){return!(!navigator.brave||"function"!=typeof navigator.brave.isBrave)}function o(){return document.currentScript&&document.currentScript.src}function i(t){try{if("number"==typeof t&&window.location&&window.location.pathname){for(var n=window.location.pathname.split("/"),e=[],r=0;r<=Math.min(n.length-1,Math.abs(t));r++)e.push(n[r]);return e.join("/")||"/"}}catch(t){}return"/"}function c(t){try{G.ex=t,e()&&-1===G.ex.indexOf(B.uB)&&(G.ex+=B.uB),r()&&-1===G.ex.indexOf(B.uBr)&&(G.ex+=B.uBr),o()&&-1===G.ex.indexOf(B.nIL)&&(G.ex+=B.nIL),window.ftr__snp_cwc||(G.ex+=B.s),M(G)}catch(t){}}function a(t,n){function e(o){try{o.blockedURI===t&&(n(),document.removeEventListener(r,e))}catch(t){document.removeEventListener(r,e)}}var r="securitypolicyviolation";document.addEventListener(r,e),setTimeout(function(){document.removeEventListener(r,e)},2*60*1e3)}function u(t,n,e,r){var o=!1;t="https://"+t,a(t,function(){r(!0),o=!0});var i=document.createElement("script");i.onerror=function(){if(!o)try{r(!1),o=!0}catch(t){}},i.onload=e,i.type="text/javascript",i.id="ftr__script",i.async=!0,i.src=t;var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(i,c)}function f(){J(B.uDF),setTimeout(h,I,B.uDF)}function d(t,n,e,r){var o=!1,i=new XMLHttpRequest;if(a("https:"+t,function(){e(new Error("CSP Violation"),!0),o=!0}),"//"===t.slice(0,2)&&(t="https:"+t),"withCredentials"in i)i.open("GET",t,!0);else{if("undefined"==typeof XDomainRequest)return;i=new XDomainRequest,i.open("GET",t)}Object.keys(r).forEach(function(t){i.setRequestHeader(t,r[t])}),i.onload=function(){"function"==typeof n&&n(i)},i.onerror=function(t){if("function"==typeof e&&!o)try{e(t,!1),o=!0}catch(t){}},i.onprogress=function(){},i.ontimeout=function(){"function"==typeof e&&e("tim"+"eo"+"ut",!1)},setTimeout(function(){i.send()},0)}function s(t,siteId,n){function e(t){var n=t.toString(16);return n.length%2?"0"+n:n}function r(t){if(t<=0)return"";for(var n="0123456789abcdef",e="",r=0;r<t;r++)e+=n[Math.floor(Math.random()*n.length)];return e}function o(t){for(var n="",r=0;r<t.length;r++)n+=e(t.charCodeAt(r));return n}function i(t){for(var n=t.split(""),e=0;e<n.length;++e)n[e]=String.fromCharCode(255^n[e].charCodeAt(0));return n.join("")}n=n?"1":"0";var c=[];return c.push(t),c.push(siteId),c.push(n),function(t){var n=40,e="";return t.length<n/2&&(e=","+r(n/2-t.length-1)),o(i(t+e))}(c.join(","))}function w(){function t(){D&&(J(B.dUAL),setTimeout(h,I,B.dUAL))}function n(t,n){c(n?B.uAS+B.uF+B.cP:B.uAS+B.uF)}window.ftr__fdad(t,n)}function h(t){try{var n;switch(t){case B.uFP:n=q;break;case B.uDF:n=E;break;default:n=D}if(!n)return;u(n,void 0,function(){try{K(),c(t+B.uS)}catch(t){}},function(n){try{K(),G.td=1*new Date-G.ts,c(n?t+B.uF+B.cP:t+B.uF),t===B.uFP&&f(),t===B.uDF&&w()}catch(t){c(B.eUoe)}})}catch(n){c(t+B.eTlu)}}var m="22ge:t7mj8unkn;1forxgiurqw1qhw2vwdwxv",v="fort",l="erTo",p="ken";window.ftr__config={m:merchantConfig,s:"23",si:siteId};var g=!1,_=v+l+p,y=400*24*60,T=10,k={write:function(t,n,e,r){void 0===r&&(r=!0);var o=0;window.ftr__config&&window.ftr__config.m&&window.ftr__config.m.ckDepth&&(o=window.ftr__config.m.ckDepth);var c,a,u=i(o);if(e?(c=new Date,c.setTime(c.getTime()+60*e*1e3),a="; expires="+c.toGMTString()):a="",!r)return void(document.cookie=escape(t)+"="+escape(n)+a+"; path="+u);for(var f=1,d=document.domain.split("."),s=T,w=!0;w&&d.length>=f&&s>0;){var h=d.slice(-f).join(".");document.cookie=escape(t)+"="+escape(n)+a+"; path="+u+"; domain="+h;var m=k.read(t);null!=m&&m==n||(h="."+h,document.cookie=escape(t)+"="+escape(n)+a+"; path="+u+"; domain="+h),w=-1===document.cookie.indexOf(t+"="+n),f++,s--}},read:function(t){var n=null;try{for(var e=escape(t)+"=",r=document.cookie.split(";"),o=32,i=0;i<r.length;i++){for(var c=r[i];c.charCodeAt(0)===o;)c=c.substring(1,c.length);0===c.indexOf(e)&&(n=unescape(c.substring(e.length,c.length)))}}finally{return n}}},S=window.ftr__config.s;S+="ck";var x=function(t){var n=!1,e=null,r=function(){try{if(!e||!n)return;e.remove&&"function"==typeof e.remove?e.remove():document.head.removeChild(e),n=!1}catch(t){}};document.head&&(!function(){e=document.createElement("link"),e.setAttribute("rel","pre"+"con"+"nect"),e.setAttribute("cros"+"sori"+"gin","anonymous"),e.onload=r,e.onerror=r,e.setAttribute("href",t),document.head.appendChild(e),n=!0}(),setTimeout(r,3e3))},L=3,A=n(m||"22ge:t7mj8unkn;1forxgiurqw1qhw2vwdwxv"),F=t("[0Uhtxhvw0LG",-L),U=t("[0Fruuhodwlrq0LG",-L),b=t("Li0Qrqh0Pdwfk",-L),D,C="fgq71iruwhu1frp",E=n("(VQ(1"+C+"2vq2(VQ(2vfulsw1mv"),V=n("(VQ(1"+C+"2vqV2(VQ(2vfulsw1mv"),q;window.ftr__config&&window.ftr__config.m&&window.ftr__config.m.fpi&&(q=window.ftr__config.m.fpi+n("2vq2(VQ(2vfulsw1mv"));var I=10;window.ftr__startScriptLoad=1*new Date;var R=function(t){var n="ft"+"r:tok"+"enR"+"eady";window.ftr__tt&&clearTimeout(window.ftr__tt),window.ftr__tt=setTimeout(function(){try{delete window.ftr__tt,t+="_tt";var e=document.createEvent("Event");e.initEvent(n,!1,!1),e.detail=t,document.dispatchEvent(e)}catch(t){}},1e3)},M=function(t){var n=function(t){return t||""},e=n(t.id)+"_"+n(t.ts)+"_"+n(t.td)+"_"+n(t.ex)+"_"+n(S),r=y;!isNaN(window.ftr__config.m.ckTTL)&&window.ftr__config.m.ckTTL&&(r=window.ftr__config.m.ckTTL),k.write(_,e,r,!0),R(e),window.ftr__gt=e},P=function(){var t=k.read(_)||"",n=t.split("_"),e=function(t){return n[t]||void 0};return{id:e(0),ts:e(1),td:e(2),ex:e(3),vr:e(4)}},j=function(){for(var t={},n="fgu",e=[],r=0;r<256;r++)e[r]=(r<16?"0":"")+r.toString(16);var o=function(t,n,r,o,i){var c=i?"-":"";return e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]+c+e[255&n]+e[n>>8&255]+c+e[n>>16&15|64]+e[n>>24&255]+c+e[63&r|128]+e[r>>8&255]+c+e[r>>16&255]+e[r>>24&255]+e[255&o]+e[o>>8&255]+e[o>>16&255]+e[o>>24&255]},i=function(){if(window.Uint32Array&&window.crypto&&window.crypto.getRandomValues){var t=new window.Uint32Array(4);return window.crypto.getRandomValues(t),{d0:t[0],d1:t[1],d2:t[2],d3:t[3]}}return{d0:4294967296*Math.random()>>>0,d1:4294967296*Math.random()>>>0,d2:4294967296*Math.random()>>>0,d3:4294967296*Math.random()>>>0}},c=function(){var t="",n=function(t,n){for(var e="",r=t;r>0;--r)e+=n.charAt(1e3*Math.random()%n.length);return e};return t+=n(2,"0123456789"),t+=n(1,"123456789"),t+=n(8,"0123456789")};return t.safeGenerateNoDash=function(){try{var t=i();return o(t.d0,t.d1,t.d2,t.d3,!1)}catch(t){try{return n+c()}catch(t){}}},t.isValidNumericalToken=function(t){return t&&t.toString().length<=11&&t.length>=9&&parseInt(t,10).toString().length<=11&&parseInt(t,10).toString().length>=9},t.isValidUUIDToken=function(t){return t&&32===t.toString().length&&/^[a-z0-9]+$/.test(t)},t.isValidFGUToken=function(t){return 0==t.indexOf(n)&&t.length>=12},t}(),B={uDF:"UDF",dUAL:"dUAL",uAS:"UAS",uFP:"UFP",mLd:"1",eTlu:"2",eUoe:"3",uS:"4",uF:"9",tmos:["T5","T10","T15","T30","T60"],tmosSecs:[5,10,15,30,60],bIR:"43",uB:"u",uBr:"b",cP:"c",nIL:"i",s:"s"};try{var G=P();try{G.id&&(j.isValidNumericalToken(G.id)||j.isValidUUIDToken(G.id)||j.isValidFGUToken(G.id))?window.ftr__ncd=!1:(G.id=j.safeGenerateNoDash(),window.ftr__ncd=!0),G.ts=window.ftr__startScriptLoad,M(G),window.ftr__snp_cwc=!!k.read(_),window.ftr__snp_cwc||(E=V);for(var N="for"+"ter"+".co"+"m",O="ht"+"tps://c"+"dn9."+N,Q="ht"+"tps://"+G.id+"-"+siteId+".cd"+"n."+N,H="http"+"s://cd"+"n3."+N,X=[O,Q,H],z=0;z<X.length;z++)x(X[z]);var $=new Array(B.tmosSecs.length),J=function(t){for(var n=0;n<B.tmosSecs.length;n++)$[n]=setTimeout(c,1e3*B.tmosSecs[n],t+B.tmos[n])},K=function(){for(var t=0;t<B.tmosSecs.length;t++)clearTimeout($[t])};window.ftr__fdad=function(n,e){if(!g){g=!0;var r={};r[b]=s(window.ftr__config.s,siteId,window.ftr__config.m.csp),d(A,function(e){try{var r=e.getAllResponseHeaders().toLowerCase();if(r.indexOf(U.toLowerCase())>=0){var o=e.getResponseHeader(U);window.ftr__altd2=t(atob(o),-L-1)}if(r.indexOf(F.toLowerCase())<0)return;var i=e.getResponseHeader(F),c=t(atob(i),-L-1);if(c){var a=c.split(":");if(a&&2===a.length){for(var u=a[0],f=a[1],d="",s=0,w=0;s<20;++s)d+=s%3>0&&w<12?siteId.charAt(w++):G.id.charAt(s);var h=f.split(",");if(h.length>1){var m=h[0],v=h[1];D=u+"/"+m+"."+d+"."+v}}}n()}catch(t){}},function(t,n){e&&e(t,n)},r)}};var W=q?B.uFP:B.uDF;J(W),setTimeout(h,I,W)}catch(t){c(B.mLd)}}catch(t){}})();\n',e=(e,r,o)=>t(void 0,void 0,void 0,(function*(){const{siteId:t}=e,r=n.replace(/{{SITE_ID}}/g,t),i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("id",t),i.text=r,document.body.appendChild(i),document.addEventListener("ftr:tokenReady",(t=>{o(t.detail)}))}));export{e as default};
@@ -0,0 +1 @@
1
+ import{__awaiter as r}from"tslib";import{SDK_SCRIPT_RESULTS_KEY as t}from"../../constants/index.js";function e(r,e){return`${t}.${e?`${r}_${e}`:r}`}function i(t){return r(this,void 0,void 0,(function*(){let r;switch(t){case"forter":return r=yield import("./forter.js"),r.default;case"fingerprint":return r=yield import("./fingerprint.js"),r.default;case"fingerprintDescope":return r=yield import("./fingerprintDescope.js"),r.default;default:throw new Error(`Unknown script id: ${t}`)}}))}export{i as default,e as getScriptResultPath};
@@ -0,0 +1 @@
1
+ const t="dls_ab_testing_id",o=()=>{const o=localStorage.getItem(t);if(!o){const o=Math.floor(100*Math.random()+1);return localStorage.setItem(t,o.toString()),o}return Number(o)};export{o as getABTestingKey};
@@ -0,0 +1 @@
1
+ const e={"lastAuth.loginId":{"not-empty":e=>!!e.loginId,empty:e=>!e.loginId},idpInitiated:{"is-true":e=>!!e.code,"is-false":e=>!e.code},externalToken:{"is-true":e=>!!e.token,"is-false":e=>!e.token},abTestingKey:{"greater-than":(e,t)=>(e.abTestingKey||0)>t,"less-than":(e,t)=>(e.abTestingKey||0)<t}},t=(t,n)=>{var i;const o=null===(i=e[null==t?void 0:t.key])||void 0===i?void 0:i[t.operator];if(!o)return{};const r=o(n,t.predicate)?t.met:t.unmet;return{startScreenId:null==r?void 0:r.screenId,conditionInteractionId:null==r?void 0:r.interactionId}},n=(t,n)=>{const i=null==n?void 0:n.find((({key:n,operator:i,predicate:o})=>{var r;if("ELSE"===n)return!0;const d=null===(r=e[n])||void 0===r?void 0:r[i];return!!(null==d?void 0:d(t,o))}));return i?{startScreenId:i.met.screenId,conditionInteractionId:i.met.interactionId}:{}};export{t as calculateCondition,n as calculateConditions};
@@ -0,0 +1 @@
1
+ const e=(t,s="")=>Object.keys(t).reduce(((r,a)=>{var c;if("object"==typeof t[a]&&null!==t[a]&&!(null===(c=t[a])||void 0===c?void 0:c.value))return Object.assign(Object.assign({},r),e(t[a],`${s+a}.`));const n="object"==typeof t[a]?t[a]:{value:t[a]},i=Object.assign(Object.assign({},r),{[s+a]:n,[`form.${s}${a}`]:n});return"displayName"===a?Object.assign(Object.assign({},i),{[`${s}fullName`]:n,[`form.${s}fullName`]:n}):i}),[]),t=t=>{try{return e(JSON.parse(t))}catch(e){return{}}},s=(e,t)=>Object.fromEntries(Object.entries(e).map((([e,s])=>[e,s[t]])));export{s as extractNestedAttribute,t as transformFlowInputFormData};
@@ -0,0 +1 @@
1
+ import{__awaiter as t,__rest as e}from"tslib";import{URL_RUN_IDS_PARAM_NAME as n,URL_TOKEN_PARAM_NAME as r,URL_CODE_PARAM_NAME as o,URL_ERR_PARAM_NAME as i,OIDC_IDP_STATE_ID_PARAM_NAME as c,SAML_IDP_STATE_ID_PARAM_NAME as a,SAML_IDP_USERNAME_PARAM_NAME as u,DESCOPE_IDP_INITIATED_PARAM_NAME as s,SSO_APP_ID_PARAM_NAME as l,THIRD_PARTY_APP_ID_PARAM_NAME as d,THIRD_PARTY_APP_STATE_ID_PARAM_NAME as p,APPLICATION_SCOPES_PARAM_NAME as f,OIDC_LOGIN_HINT_PARAM_NAME as m,OIDC_PROMPT_PARAM_NAME as h,OIDC_ERROR_REDIRECT_URI_PARAM_NAME as v,DESCOPE_ATTRIBUTE_PREFIX as g,URL_REDIRECT_AUTH_CHALLENGE_PARAM_NAME as I,URL_REDIRECT_AUTH_CALLBACK_PARAM_NAME as b,URL_REDIRECT_AUTH_BACKUP_CALLBACK_PARAM_NAME as w,URL_REDIRECT_AUTH_INITIATOR_PARAM_NAME as S}from"../constants/index.js";import{Direction as y}from"../types.js";import{OVERRIDE_CONTENT_URL as A,BASE_CONTENT_URL as C,ASSETS_FOLDER as L}from"../constants/content.js";const k=["descope-enriched-text"];function U(t){return new URLSearchParams(window.location.search).get(t)}function x(t){if(window.history.replaceState&&U(t)){const e=new URL(window.location.href),n=new URLSearchParams(e.search);n.delete(t),e.search=n.toString(),window.history.replaceState({},"",e.toString())}}function P(e,n){return t(this,void 0,void 0,(function*(){const t=yield fetch(e,{cache:"default"});if(!t.ok)throw Error(`Error fetching URL ${e} [${t.status}]`);return{body:yield t[n||"text"](),headers:Object.fromEntries(t.headers.entries())}}))}function E({projectId:t,filename:e,assetsFolder:n=L,baseUrl:r}){const o=new URL(A||r||C);return o.pathname=((...t)=>t.join("/").replace(/\/+/g,"/"))(o.pathname,t,n,e),o.toString()}function j(t,e){if(!e)return;const n=+t,r=+e;return Number.isNaN(n)||Number.isNaN(r)?void 0:n>r?y.forward:n<r?y.backward:void 0}const F=t=>{let[e="",r=""]=(U(n)||"").split("_");const o=(t=>{var e;return(null===(e=/(.*)\|#\|.*/.exec(t))||void 0===e?void 0:e[1])||""})(e);return(!t||o&&o!==t)&&(e="",r=""),{executionId:e,stepId:r,executionFlowId:o}};function R(){return/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}function T(){x(n)}function O(){return U(r)||void 0}function $(){x(r)}function N(){return U(o)||void 0}function B(){return U(i)||void 0}function q(){x(o)}function H(){x(i)}function M(){return{redirectAuthCodeChallenge:U(I),redirectAuthCallbackUrl:U(b),redirectAuthBackupCallbackUri:U(w),redirectAuthInitiator:U(S)}}function Q(){return U(c)}function D(){x(c)}function G(){return U(a)}function V(){x(a)}function _(){return U(u)}function z(){x(u)}function J(){return U(s)}function K(){x(s)}function W(){return U(l)}function X(){return U(d)}function Y(){x(l)}function Z(){x(d)}function tt(){return U(p)}function et(){x(p)}function nt(){return U(f)}function rt(){x(f)}function ot(){return U(m)}function it(){x(m)}function ct(){return U(h)}function at(){x(h)}function ut(){return U(v)}function st(){x(v)}const lt=t=>t.replace(/-./g,(t=>t[1].toUpperCase())),dt=(t,e)=>n=>t[n]!==e[n],pt=t=>Array.from((null==t?void 0:t.attributes)||[]).reduce(((t,e)=>{var n;const r=null===(n=new RegExp(`^${g}(\\S+)$`).exec(e.name))||void 0===n?void 0:n[1];return r?Object.assign(t,{[r]:e.value}):t}),{}),ft=(t,e)=>{const{executionId:n,stepId:r,executionFlowId:o}=F(t);if(o&&t!==o)return e.debug("Flow id does not match the execution flow id, skipping url params handling"),{ssoQueryParams:{}};(n||r)&&T();const i=O();i&&$();const c=N();c&&q();const a=B();a&&H();const{redirectAuthCodeChallenge:u,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:l,redirectAuthInitiator:d}=M(),p=Q();p&&D();const f=G();f&&V();const m=_();f&&z();const h=J();h&&K();const v=W();v&&Y();const g=X();g&&Z();const I=tt();I&&et();const b=nt();b&&rt();const w=ot();w&&it();const S=ct();S&&at();const y=ut();y&&st();return{executionId:n,stepId:r,token:i,code:c,exchangeError:a,redirectAuthCodeChallenge:u,redirectAuthCallbackUrl:s,redirectAuthBackupCallbackUri:l,redirectAuthInitiator:d,ssoQueryParams:{oidcIdpStateId:p,samlIdpStateId:f,samlIdpUsername:m,descopeIdpInitiated:"true"===h,ssoAppId:v,oidcLoginHint:w,oidcPrompt:S,oidcErrorRedirectUri:y,thirdPartyAppId:g,thirdPartyAppStateId:I,applicationScopes:b}}},mt=t=>{let e,n;return Object.assign(((...r)=>{return e&&(i=r,(o=e).length===i.length&&o.every(((t,e)=>t===i[e])))||(e=r,n=t(...r)),n;var o,i}),{reset:()=>{e=void 0,n=void 0}})},ht=(t,e,n)=>{if(!0===e||"skipFirstScreen"===e&&!n){const e=t.querySelector("*[name]");setTimeout((()=>{null==e||e.focus()}))}},vt=t=>{t.querySelectorAll("*[name]").forEach((t=>{t.addEventListener("blur",(()=>{var e;const n=t.focus;t.focus=()=>{},null===(e=t.reportValidity)||void 0===e||e.call(t),setTimeout((()=>{t.focus=n}))}))}))};function gt(t,e,n){return new Promise(((r,o)=>{let i=!1;const c=setTimeout((()=>{i=!0,void 0!==n?r(n):o(new Error(`Promise timed out after ${t} ms`))}),t);e.then((t=>{i||(clearTimeout(c),r(t))})).catch((t=>{i||(clearTimeout(c),o(t))}))}))}const It=()=>{var t;const e=null===(t=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===t?void 0:t.brands,n=null==e?void 0:e.find((({brand:t,version:e})=>"Chromium"===t&&parseFloat(e)));return n?n.version:0},bt=(t,{oidcIdpStateId:e,samlIdpStateId:n,samlIdpUsername:r,ssoAppId:o,oidcLoginHint:i,oidcPrompt:c,oidcErrorRedirectUri:a,thirdPartyAppId:u,thirdPartyAppStateId:s,applicationScopes:l})=>!(!t||e||n||r||o||i||c||a||u||s||l),wt=(t,e,n,r)=>{const o=document.createElement("form");o.method="POST",o.action=t,o.innerHTML=`\n <input type="hidden" role="saml-response" name="SAMLResponse" value="${e}" />\n <input type="hidden" role="saml-relay-state" name="RelayState" value="${n}" />\n <input style="display: none;" id="SAMLSubmitButton" type="submit" value="Continue" />\n `,document.body.appendChild(o),r(o)},St=t=>null==t?void 0:t.submit(),yt=(t,e)=>{const n=e.find((e=>t[e]));return n?t[n]:null},At=(t,e=100)=>{let n;return function(...r){n||t.apply(this,r),clearTimeout(n),n=setTimeout((()=>{n=null}),e)}};function Ct(t){if(t)return{locale:t.toLowerCase(),fallback:t.toLowerCase()};const e=navigator.language;return e?e.includes("-")?{locale:e.toLowerCase(),fallback:e.split("-")[0].toLowerCase()}:{locale:e.toLowerCase(),fallback:e.toLowerCase()}:{locale:"",fallback:""}}const Lt=()=>{document.querySelectorAll('[data-hidden-input="true"]').forEach((t=>t.remove()))},kt=t=>k.includes(t),Ut=t=>{const n=t.screenState,r=e(n,["inputs"]),{htmlFilename:o,htmlLocaleFilename:i}=t,c=e(t,["screenState","htmlFilename","htmlLocaleFilename"]),a=null==o?void 0:o.replace(".html","");return Object.assign(Object.assign({},c),{screenId:a,screenState:Object.assign({},r)})};export{lt as camelCase,rt as clearApplicationScopesParamFromUrl,q as clearCodeFromUrl,K as clearDescopeIDPInitiatedParamFromUrl,H as clearExchangeErrorFromUrl,st as clearOIDCErrorRedirectUriParamFromUrl,D as clearOIDCIDPParamFromUrl,it as clearOIDCLoginHintParamFromUrl,at as clearOIDCPromptParamFromUrl,Lt as clearPreviousExternalInputs,T as clearRunIdsFromUrl,V as clearSAMLIDPParamFromUrl,z as clearSAMLIDPUsernameParamFromUrl,Y as clearSSOAppIdParamFromUrl,Z as clearThirdPartyAppIdParamFromUrl,et as clearThirdPartyAppStateIdParamFromUrl,$ as clearTokenFromUrl,dt as createIsChanged,P as fetchContent,j as getAnimationDirection,nt as getApplicationScopesParamFromUrl,It as getChromiumVersion,N as getCodeFromUrl,E as getContentUrl,J as getDescopeIDPInitiatedParamFromUrl,pt as getElementDescopeAttributes,B as getExchangeErrorFromUrl,yt as getFirstNonEmptyValue,ut as getOIDCErrorRedirectUriParamFromUrl,Q as getOIDCIDPParamFromUrl,ot as getOIDCLoginHintParamFromUrl,ct as getOIDCPromptParamFromUrl,M as getRedirectAuthFromUrl,F as getRunIdsFromUrl,G as getSAMLIDPParamFromUrl,_ as getSAMLIDPUsernameParamFromUrl,W as getSSOAppIdParamFromUrl,X as getThirdPartyAppIdParamFromUrl,tt as getThirdPartyAppStateIdParamFromUrl,O as getTokenFromUrl,Ct as getUserLocale,ht as handleAutoFocus,vt as handleReportValidityOnBlur,ft as handleUrlParams,wt as injectSamlIdpForm,R as isChromium,At as leadingDebounce,kt as shouldHandleMarkdown,bt as showFirstScreenOnExecutionInit,St as submitForm,gt as timeoutPromise,Ut as transformStepStateForCustomScreen,mt as withMemCache};
@@ -0,0 +1 @@
1
+ import{DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY as t}from"../constants/index.js";import{IS_LOCAL_STORAGE as o}from"../constants/general.js";function n(o){const n={};if(o)try{Object.assign(n,JSON.parse(localStorage.getItem(t)))}catch(t){}return n}function e(n){(null==n?void 0:n.authMethod)&&o&&localStorage.setItem(t,JSON.stringify(n))}export{n as getLastAuth,e as setLastAuth};
@@ -0,0 +1 @@
1
+ const t=(t,e,o,n={})=>{var i,l,f,u;return[Math.min(Math.max(e,("all"===n.left?t.offsetWidth:null!==(i=n.left)&&void 0!==i?i:0)-t.offsetWidth),window.innerWidth-("all"===n.right?t.offsetWidth:null!==(l=n.right)&&void 0!==l?l:0)),Math.min(Math.max(o,("all"===n.top?t.offsetHeight:null!==(f=n.top)&&void 0!==f?f:0)-t.offsetHeight),window.innerHeight-("all"===n.bottom?t.offsetHeight:null!==(u=n.bottom)&&void 0!==u?u:0))]},e=(e,o,n)=>{let i=0,l=0,f=0,u=0;function s(o){o.preventDefault(),i=f-o.clientX,l=u-o.clientY,f=o.clientX,u=o.clientY;const[s,a]=t(e,e.offsetLeft-i,e.offsetTop-l,n);e.style.top=`${a}px`,e.style.left=`${s}px`}function a(){document.onmouseup=null,document.onmousemove=null}function h(t){t.preventDefault(),f=t.clientX,u=t.clientY,document.onmouseup=a,document.onmousemove=s}o?o.onmousedown=h:e.onmousedown=h},o=t=>{t.onmousemove=e=>{(e.target.w&&e.target.w!==e.target.offsetWidth||e.target.h&&e.target.h!==e.target.offsetHeight)&&t.onresize(e),e.target.w=e.target.offsetWidth,e.target.h=e.target.offsetHeight}};export{o as addOnResize,e as dragElement,t as limitCoordinateToScreenBoundaries};
@@ -0,0 +1 @@
1
+ import{__classPrivateFieldGet as t,__classPrivateFieldSet as e}from"tslib";import{createIsChanged as s}from"./helpers.js";var i,n,r,f;function h(t,e){const s=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(s.length!==i.length)return!1;for(let i=0;i<s.length;i+=1){const n=s[i],r=t[n],f=e[n];if(null===r||null===f){if(r!==f)return!1}else if("object"==typeof r&&"object"==typeof f){if(!h(r,f))return!1}else if(r!==f)return!1}return!0}class o{constructor(o={},{updateOnlyOnChange:u=!0}={}){i.set(this,void 0),n.set(this,{}),r.set(this,0),f.set(this,!1),this.update=r=>{const o="function"==typeof r?r(t(this,i,"f")):r,u=Object.assign(Object.assign({},t(this,i,"f")),o);if(!t(this,f,"f")||!h(t(this,i,"f"),u)){const r=t(this,i,"f");e(this,i,u,"f"),Object.freeze(t(this,i,"f")),setTimeout((()=>{Object.values(t(this,n,"f")).forEach((t=>t(u,r,s(u,r))))}),0)}},e(this,i,o,"f"),e(this,f,u,"f")}get current(){return Object.assign({},t(this,i,"f"))}subscribe(s){return e(this,r,t(this,r,"f")+1,"f"),t(this,n,"f")[t(this,r,"f")]=s,t(this,r,"f").toString()}unsubscribe(e){const s=!!t(this,n,"f")[e];return s&&delete t(this,n,"f")[e],s}unsubscribeAll(){return e(this,n,{},"f"),!0}}i=new WeakMap,n=new WeakMap,r=new WeakMap,f=new WeakMap;export{o as default};
@@ -0,0 +1 @@
1
+ import{escapeMarkdown as e}from"@descope/escape-markdown";import{ELEMENT_TYPE_ATTRIBUTE as t,HAS_DYNAMIC_VALUES_ATTR_NAME as o,DESCOPE_ATTRIBUTE_EXCLUDE_FIELD as r}from"../constants/index.js";import{shouldHandleMarkdown as l}from"./helpers.js";const s=["disabled"],n=(e,t)=>{Object.entries(t||{}).forEach((([t,o])=>{Array.from(e.querySelectorAll(`*[name="${t}"]:not([${r}])`)).forEach((e=>{e.value=o}))}))},i=(e,t)=>t.split(".").reduce(((e,t)=>(null==e?void 0:e[t])||""),e),c=(t,o,r)=>t.replace(/{{(.+?)}}/g,((t,l)=>r?e(i(o,l)):i(o,l))),a=(e,o,r)=>{e.querySelectorAll(`[${t}="${o}"]`).forEach((e=>{e.setAttribute("href",r)}))},d=(e,t,o,r)=>{o&&Object.keys(o).forEach((l=>{t.querySelector(l)||r.debug(`Skipping css vars for component "${l}}"`,`Got css vars for component ${l} but Could not find it on next page`);const s=customElements.get(l);s?Object.keys(o[l]).forEach((t=>{var n;const i=o[l],c=null===(n=null==s?void 0:s.cssVarList)||void 0===n?void 0:n[t];if(!c)return void r.info(`Could not find css variable name for ${t} in ${l}`,"Check if the css variable is defined in the component");const a=i[t];e.style.setProperty(c,a)})):r.info(`Could not find component class for ${l}`,"Check if the component is registered")}))},u=(e,t,o)=>{var r,l;const s=null===(r=customElements.get(t))||void 0===r?void 0:r.cssVarList.url;o&&s&&(null===(l=null==e?void 0:e.style)||void 0===l||l.setProperty(s,`url(data:image/jpg;base64,${o})`))},f=(e,r,n,i,d,u)=>{var f,p;let m=null==r?void 0:r.errorText;try{m=(null==d?void 0:d({text:null==r?void 0:r.errorText,type:null==r?void 0:r.errorType}))||(null==r?void 0:r.errorText)}catch(e){u.error("Error transforming error message",e.message)}((e,o,r="")=>{e.querySelectorAll(`[${t}="${o}"]`).forEach((e=>{e.textContent=r,e.classList[r?"remove":"add"]("hide")}))})(e,"error-message",m),a(e,"totp-link",null===(f=null==r?void 0:r.totp)||void 0===f?void 0:f.provisionUrl),a(e,"notp-link",null===(p=null==r?void 0:r.notp)||void 0===p?void 0:p.redirectUrl),((e,t)=>{e.querySelectorAll("descope-text,descope-link,descope-enriched-text,descope-code-snippet").forEach((e=>{const o=l(e.localName);e.textContent=c(e.textContent,t,o);const r=e.getAttribute("href");r&&e.setAttribute("href",c(r,t))}))})(e,r),((e,t,o)=>{t&&Object.keys(t).forEach((r=>{e.querySelectorAll(`[name=${r}]`).forEach((e=>{const l=t[r];Object.keys(l).forEach((t=>{let r=l[t];if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){o.error(`Could not stringify value "${r}" for "${t}"`,e.message),r=""}e.setAttribute(t,r)}))}))}))})(e,n,u),((e,t)=>{e.querySelectorAll(`[${o}]`).forEach((e=>{Array.from(e.attributes).forEach((e=>{e.value=c(e.value,t)}))}))})(e,r),((e,t)=>{Object.entries(t).forEach((([t,o])=>{e.querySelectorAll(`[name="${t}"]`).forEach((e=>{Object.entries(o).forEach((([t,o])=>{s.includes(t)&&e.setAttribute(t,o)}))}))}))})(e,i)},p=(e,t)=>{n(e,null==t?void 0:t.inputs),n(e,null==t?void 0:t.form)},m=(e,t)=>{u(e,"descope-totp-image",t)},v=(e,t)=>{u(e,"descope-notp-image",t)},h=(e,t)=>{Array.from(e.querySelectorAll('[default-code="autoDetect"]')).forEach((e=>{e.setAttribute("default-code",t)}))},y=e=>{e.querySelectorAll(`descope-button[${t}="biometrics"]`).forEach((e=>e.setAttribute("disabled","true")))};export{y as disableWebauthnButtons,d as setCssVars,v as setNOTPVariable,h as setPhoneAutoDetectDefaultCode,m as setTOTPVariable,p as updateScreenFromScreenState,f as updateTemplateFromScreenState};
@@ -0,0 +1 @@
1
+ import{__awaiter as i}from"tslib";import{withMemCache as e,getChromiumVersion as l,timeoutPromise as o}from"./helpers.js";const n=e((()=>i(void 0,void 0,void 0,(function*(){var i,e;if(!window.PublicKeyCredential||!PublicKeyCredential.isConditionalMediationAvailable||!PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)return!1;try{const n=Promise.all([null===(i=window.PublicKeyCredential)||void 0===i?void 0:i.isConditionalMediationAvailable(),null===(e=window.PublicKeyCredential)||void 0===e?void 0:e.isUserVerifyingPlatformAuthenticatorAvailable()]).then((i=>i.every((i=>!!i)))),r=l()>=108;return yield o(100,n,r)}catch(i){return console.error("Conditional login check failed",i),!1}}))));export{n as isConditionalLoginSupported};
@@ -0,0 +1 @@
1
+ import{__classPrivateFieldGet as t}from"tslib";import{createSingletonMixin as e}from"@descope/sdk-helpers";import{isChromium as s}from"../helpers/helpers.js";import"../helpers/state.js";import"@descope/escape-markdown";import"../constants/content.js";import"../constants/uiComponents.js";import"../helpers/webauthn.js";const o=e((e=>{var o,n,r,l;return l=class extends e{constructor(){super(...arguments),o.add(this)}connectedCallback(){var e;t(this,o,"m",n).call(this)&&t(this,o,"m",r).call(this),null===(e=super.connectedCallback)||void 0===e||e.call(this)}},o=new WeakSet,n=function(){return!this.shadowRoot.host.closest("form")&&s()},r=function(){const t=this.shadowRoot.host,e=document.createElement("form");e.style.width="100%",e.style.height="100%",t.parentElement.appendChild(e),e.appendChild(t)},l}));export{o as formMountMixin};
@@ -0,0 +1 @@
1
+ var r;!function(r){r.backward="backward",r.forward="forward"}(r||(r={}));export{r as Direction};