chordia-ui 3.3.8 → 3.3.9

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 (159) hide show
  1. package/dist/AgentLiftCard.cjs.js.map +1 -1
  2. package/dist/AgentLiftCard.es.js +5 -3
  3. package/dist/AgentLiftCard.es.js.map +1 -1
  4. package/dist/CustomFilterChips.cjs.js.map +1 -1
  5. package/dist/CustomFilterChips.es.js +2 -1
  6. package/dist/CustomFilterChips.es.js.map +1 -1
  7. package/dist/FileUploadingState.cjs.js.map +1 -1
  8. package/dist/FileUploadingState.es.js +16 -10
  9. package/dist/FileUploadingState.es.js.map +1 -1
  10. package/dist/IntegrationCard.cjs.js.map +1 -1
  11. package/dist/IntegrationCard.es.js +3 -3
  12. package/dist/IntegrationCard.es.js.map +1 -1
  13. package/dist/SectionLabel.cjs.js.map +1 -1
  14. package/dist/SectionLabel.es.js.map +1 -1
  15. package/dist/SmallButton.cjs.js.map +1 -1
  16. package/dist/SmallButton.es.js +16 -16
  17. package/dist/SmallButton.es.js.map +1 -1
  18. package/dist/SummarySection.cjs.js.map +1 -1
  19. package/dist/SummarySection.es.js +11 -9
  20. package/dist/SummarySection.es.js.map +1 -1
  21. package/dist/TextInput.cjs.js.map +1 -1
  22. package/dist/TextInput.es.js.map +1 -1
  23. package/dist/Timeline.cjs.js.map +1 -1
  24. package/dist/Timeline.es.js +14 -8
  25. package/dist/Timeline.es.js.map +1 -1
  26. package/dist/Tooltip.cjs.js +1 -1
  27. package/dist/Tooltip.cjs.js.map +1 -1
  28. package/dist/Tooltip.es.js +31 -20
  29. package/dist/Tooltip.es.js.map +1 -1
  30. package/dist/TourGuideTooltip.cjs.js.map +1 -1
  31. package/dist/TourGuideTooltip.es.js +2 -1
  32. package/dist/TourGuideTooltip.es.js.map +1 -1
  33. package/dist/UpdatedInteractionRecording.cjs.js +1 -1
  34. package/dist/UpdatedInteractionRecording.cjs.js.map +1 -1
  35. package/dist/UpdatedInteractionRecording.es.js +79 -97
  36. package/dist/UpdatedInteractionRecording.es.js.map +1 -1
  37. package/dist/UploadInteraction.cjs.js.map +1 -1
  38. package/dist/UploadInteraction.es.js.map +1 -1
  39. package/dist/colors.cjs.js +2 -0
  40. package/dist/colors.cjs.js.map +1 -0
  41. package/dist/colors.es.js +2 -0
  42. package/dist/colors.es.js.map +1 -0
  43. package/dist/components/UpdatedInteractionDetails.cjs.js +10 -1
  44. package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
  45. package/dist/components/UpdatedInteractionDetails.es.js +1531 -9
  46. package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
  47. package/dist/components/chat.cjs.js +30 -1
  48. package/dist/components/chat.cjs.js.map +1 -1
  49. package/dist/components/chat.es.js +2222 -7
  50. package/dist/components/chat.es.js.map +1 -1
  51. package/dist/components/common.cjs.js +1 -1
  52. package/dist/components/common.es.js +32 -25
  53. package/dist/components/common.es.js.map +1 -1
  54. package/dist/components/data.cjs.js +1 -1
  55. package/dist/components/data.cjs.js.map +1 -1
  56. package/dist/components/data.es.js +1033 -4
  57. package/dist/components/data.es.js.map +1 -1
  58. package/dist/components/layout.cjs.js +3 -1
  59. package/dist/components/layout.cjs.js.map +1 -1
  60. package/dist/components/layout.es.js +1533 -8
  61. package/dist/components/layout.es.js.map +1 -1
  62. package/dist/components/login.cjs.js +1 -1
  63. package/dist/components/login.es.js +6 -2
  64. package/dist/components/login.es.js.map +1 -1
  65. package/dist/components/media.cjs.js +1 -1
  66. package/dist/components/media.cjs.js.map +1 -1
  67. package/dist/components/media.es.js +220 -6
  68. package/dist/components/media.es.js.map +1 -1
  69. package/dist/components/models.cjs.js +1 -1
  70. package/dist/components/models.cjs.js.map +1 -1
  71. package/dist/components/models.es.js +91 -2
  72. package/dist/components/models.es.js.map +1 -1
  73. package/dist/components/navigation.cjs.js +1 -1
  74. package/dist/components/navigation.cjs.js.map +1 -1
  75. package/dist/components/navigation.es.js +766 -7
  76. package/dist/components/navigation.es.js.map +1 -1
  77. package/dist/components/notifications.cjs.js +1 -1
  78. package/dist/components/notifications.cjs.js.map +1 -1
  79. package/dist/components/notifications.es.js +368 -3
  80. package/dist/components/notifications.es.js.map +1 -1
  81. package/dist/components/onboarding.cjs.js +1 -1
  82. package/dist/components/onboarding.cjs.js.map +1 -1
  83. package/dist/components/onboarding.es.js +985 -7
  84. package/dist/components/onboarding.es.js.map +1 -1
  85. package/dist/components/primitives.cjs.js +1 -1
  86. package/dist/components/primitives.cjs.js.map +1 -1
  87. package/dist/components/primitives.es.js +635 -25
  88. package/dist/components/primitives.es.js.map +1 -1
  89. package/dist/debugger-wc.cjs.js +4 -4
  90. package/dist/debugger-wc.cjs.js.map +1 -1
  91. package/dist/debugger-wc.es.js +15 -11
  92. package/dist/debugger-wc.es.js.map +1 -1
  93. package/dist/index.cjs.js +1 -1
  94. package/dist/index.cjs2.js +2 -49
  95. package/dist/index.cjs2.js.map +1 -1
  96. package/dist/index.cjs3.js +50 -0
  97. package/dist/index.cjs3.js.map +1 -0
  98. package/dist/index.es.js +104 -99
  99. package/dist/index.es.js.map +1 -1
  100. package/dist/index.es2.js +2632 -1776
  101. package/dist/index.es2.js.map +1 -1
  102. package/dist/index.es3.js +1944 -0
  103. package/dist/index.es3.js.map +1 -0
  104. package/dist/pages/interactionDetails.cjs.js +1 -1
  105. package/dist/pages/interactionDetails.cjs.js.map +1 -1
  106. package/dist/pages/interactionDetails.es.js +70 -47
  107. package/dist/pages/interactionDetails.es.js.map +1 -1
  108. package/dist/sortable.esm.cjs.js +1 -1
  109. package/dist/sortable.esm.cjs.js.map +1 -1
  110. package/dist/sortable.esm.es.js +55 -53
  111. package/dist/sortable.esm.es.js.map +1 -1
  112. package/dist/{chordia-ui.css → style.css} +1 -1
  113. package/package.json +1 -1
  114. package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +318 -77
  115. package/src/components/UpdatedInteractionDetails/UpdatedInteractionRecording.jsx +7 -17
  116. package/dist/ChartRenderer.cjs.js +0 -31
  117. package/dist/ChartRenderer.cjs.js.map +0 -1
  118. package/dist/ChartRenderer.es.js +0 -2210
  119. package/dist/ChartRenderer.es.js.map +0 -1
  120. package/dist/GettingStarted.cjs.js +0 -2
  121. package/dist/GettingStarted.cjs.js.map +0 -1
  122. package/dist/GettingStarted.es.js +0 -983
  123. package/dist/GettingStarted.es.js.map +0 -1
  124. package/dist/InlineConfirm.cjs.js +0 -2
  125. package/dist/InlineConfirm.cjs.js.map +0 -1
  126. package/dist/InlineConfirm.es.js +0 -618
  127. package/dist/InlineConfirm.es.js.map +0 -1
  128. package/dist/InteractionSummaryCard.cjs.js +0 -2
  129. package/dist/InteractionSummaryCard.cjs.js.map +0 -1
  130. package/dist/InteractionSummaryCard.es.js +0 -216
  131. package/dist/InteractionSummaryCard.es.js.map +0 -1
  132. package/dist/LoginPage.cjs.js +0 -3
  133. package/dist/LoginPage.cjs.js.map +0 -1
  134. package/dist/LoginPage.es.js +0 -2618
  135. package/dist/LoginPage.es.js.map +0 -1
  136. package/dist/NavigationBar.cjs.js +0 -2
  137. package/dist/NavigationBar.cjs.js.map +0 -1
  138. package/dist/NavigationBar.es.js +0 -762
  139. package/dist/NavigationBar.es.js.map +0 -1
  140. package/dist/NotificationPanel.cjs.js +0 -2
  141. package/dist/NotificationPanel.cjs.js.map +0 -1
  142. package/dist/NotificationPanel.es.js +0 -371
  143. package/dist/NotificationPanel.es.js.map +0 -1
  144. package/dist/OverlayPanel.cjs.js +0 -2
  145. package/dist/OverlayPanel.cjs.js.map +0 -1
  146. package/dist/OverlayPanel.es.js +0 -93
  147. package/dist/OverlayPanel.es.js.map +0 -1
  148. package/dist/SplitPane.cjs.js +0 -4
  149. package/dist/SplitPane.cjs.js.map +0 -1
  150. package/dist/SplitPane.es.js +0 -1531
  151. package/dist/SplitPane.es.js.map +0 -1
  152. package/dist/SummaryStatsPanel.cjs.js +0 -2
  153. package/dist/SummaryStatsPanel.cjs.js.map +0 -1
  154. package/dist/SummaryStatsPanel.es.js +0 -1027
  155. package/dist/SummaryStatsPanel.es.js.map +0 -1
  156. package/dist/UpdatedInteractionDetails.cjs.js +0 -11
  157. package/dist/UpdatedInteractionDetails.cjs.js.map +0 -1
  158. package/dist/UpdatedInteractionDetails.es.js +0 -1310
  159. package/dist/UpdatedInteractionDetails.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es2.js","sources":["../node_modules/@descope/web-component/dist/esm/constants/general.js","../node_modules/@descope/web-component/dist/esm/constants/content.js","../node_modules/@descope/web-component/dist/esm/constants/uiComponents.js","../node_modules/@descope/web-component/dist/esm/constants/index.js","../node_modules/@descope/web-component/dist/esm/constants/customScreens.js","../node_modules/@descope/web-component/dist/esm/types.js","../node_modules/@descope/web-component/dist/esm/helpers/helpers.js","../node_modules/@descope/web-component/dist/esm/helpers/state.js","../node_modules/@descope/escape-markdown/dist/index.esm.js","../node_modules/@descope/web-component/dist/esm/helpers/templates.js","../node_modules/@descope/web-component/dist/esm/helpers/webauthn.js","../node_modules/@descope/web-component/dist/esm/helpers/storage.js","../node_modules/@descope/web-component/dist/esm/helpers/abTestingKey.js","../node_modules/@descope/web-component/dist/esm/helpers/conditions.js","../node_modules/@descope/web-component/dist/esm/helpers/lastAuth.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/loggerMixin/loggerMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/constants.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/staticResourcesMixin/constants.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/createValidateAttributesMixin/commonValidators.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/initLifecycleMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/observeAttributesMixin/helpers.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/observeAttributesMixin/observeAttributesMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/createValidateAttributesMixin/createValidateAttributesMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/projectIdMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/baseUrlMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/staticResourcesMixin/fetchWithFallbacks.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/staticResourcesMixin/staticResourcesMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/configMixin/constants.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/resetMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/configMixin/configMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/injectNpmLibMixin/constants.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/injectNpmLibMixin/helpers.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/injectNpmLibMixin/injectNpmLibMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/descopeUiMixin/helpers.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/descopeUiMixin/constants.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/descopeUiMixin/descopeUiMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/cspNonceMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/injectStyleMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/initElementMixin.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/themeMixin/constants.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/themeMixin/helpers.js","../node_modules/@descope/sdk-mixins/dist/esm/mixins/themeMixin/themeMixin.js","../node_modules/@descope/web-component/dist/esm/helpers/flowInputs.js","../node_modules/@descope/web-component/dist/esm/mixins/formMountMixin.js","../node_modules/@descope/web-component/dist/esm/descope-wc/BaseDescopeWc.js","../node_modules/@descope/web-component/dist/esm/descope-wc/DescopeWc.js","../node_modules/@descope/web-component/dist/esm/descope-wc/index.js"],"sourcesContent":["const e=\"undefined\"!=typeof localStorage,o=\"J151000\",t=\"J151001\",n=\"E103205\",E=\"E102004\",a=\"E103202\";export{t as FETCH_ERROR_RESPONSE_ERROR_CODE,o as FETCH_EXCEPTION_ERROR_CODE,E as FLOW_REQUESTED_IS_IN_OLD_VERSION_ERROR_CODE,n as FLOW_TIMED_OUT_ERROR_CODE,e as IS_LOCAL_STORAGE,a as POLLING_STATUS_NOT_FOUND_ERROR_CODE};\n//# sourceMappingURL=general.js.map\n","import{IS_LOCAL_STORAGE as t}from\"./general.js\";const e=t&&localStorage.getItem(\"base.content.url\")||\"\",o=\"https://static.descope.com/pages\",a=\"v2-beta\",s=\"v2-alpha\",c=\"config.json\";export{a as ASSETS_FOLDER,o as BASE_CONTENT_URL,c as CONFIG_FILENAME,e as OVERRIDE_CONTENT_URL,s as PREV_VER_ASSETS_FOLDER};\n//# sourceMappingURL=content.js.map\n","import{IS_LOCAL_STORAGE as e}from\"./general.js\";const o=\"base.ui.components.url\";e&&localStorage.getItem(o),e&&localStorage.getItem(o);export{o as UI_COMPONENTS_URL_KEY};\n//# sourceMappingURL=uiComponents.js.map\n","export{ASSETS_FOLDER,BASE_CONTENT_URL,CONFIG_FILENAME,OVERRIDE_CONTENT_URL,PREV_VER_ASSETS_FOLDER}from\"./content.js\";export{UI_COMPONENTS_URL_KEY}from\"./uiComponents.js\";const e=\"descope-login-flow\",t=\"t\",a=\"code\",i=\"redirect_mode\",d=\"err\",o=\"ra-challenge\",r=\"ra-callback\",_=\"ra-backup-callback\",p=\"ra-initiator\",c=\"data-descope-\",l=\"data-exclude-field\",s=\"data-exclude-next\",n=\"dls_last_auth\",u=\"state_id\",m=\"saml_idp_state_id\",E=\"saml_idp_username\",b=\"descope_idp_initiated\",h=\"sso_app_id\",R=\"third_party_app_id\",S=\"third_party_app_state_id\",x=\"oidc_login_hint\",N=\"oidc_prompt\",O=\"oidc_resource\",g=\"oidc_error_redirect_uri\",C=\"application_scopes\",T=\"data-type\",F=\"sdkScriptsResults\",L={redirect:\"redirect\",poll:\"poll\",webauthnCreate:\"webauthnCreate\",webauthnGet:\"webauthnGet\",nativeBridge:\"nativeBridge\",loadForm:\"loadForm\"},w={submit:\"submit\",polling:\"polling\"},f=\"data-has-dynamic-attr-values\",k=[\"descope-multi-select-combo-box\",\"descope-text-area\"],y=5e3;export{C as APPLICATION_SCOPES_PARAM_NAME,w as CUSTOM_INTERACTIONS,l as DESCOPE_ATTRIBUTE_EXCLUDE_FIELD,s as DESCOPE_ATTRIBUTE_EXCLUDE_NEXT_BUTTON,c as DESCOPE_ATTRIBUTE_PREFIX,b as DESCOPE_IDP_INITIATED_PARAM_NAME,n as DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY,k as ELEMENTS_TO_IGNORE_ENTER_KEY_ON,T as ELEMENT_TYPE_ATTRIBUTE,f as HAS_DYNAMIC_VALUES_ATTR_NAME,g as OIDC_ERROR_REDIRECT_URI_PARAM_NAME,u as OIDC_IDP_STATE_ID_PARAM_NAME,x as OIDC_LOGIN_HINT_PARAM_NAME,N as OIDC_PROMPT_PARAM_NAME,O as OIDC_RESOURCE_PARAM_NAME,L as RESPONSE_ACTIONS,m as SAML_IDP_STATE_ID_PARAM_NAME,E as SAML_IDP_USERNAME_PARAM_NAME,y as SDK_SCRIPTS_LOAD_TIMEOUT,F as SDK_SCRIPT_RESULTS_KEY,h as SSO_APP_ID_PARAM_NAME,R as THIRD_PARTY_APP_ID_PARAM_NAME,S as THIRD_PARTY_APP_STATE_ID_PARAM_NAME,a as URL_CODE_PARAM_NAME,d as URL_ERR_PARAM_NAME,_ as URL_REDIRECT_AUTH_BACKUP_CALLBACK_PARAM_NAME,r as URL_REDIRECT_AUTH_CALLBACK_PARAM_NAME,o as URL_REDIRECT_AUTH_CHALLENGE_PARAM_NAME,p as URL_REDIRECT_AUTH_INITIATOR_PARAM_NAME,i as URL_REDIRECT_MODE_PARAM_NAME,e as URL_RUN_IDS_PARAM_NAME,t as URL_TOKEN_PARAM_NAME};\n//# sourceMappingURL=index.js.map\n","const r=[\"cssVars\",\"componentsConfig\",\"inputs\",\"errorText\",\"errorType\",\"clientScripts\"];export{r as EXCLUDED_STATE_KEYS};\n//# sourceMappingURL=customScreens.js.map\n","var r;!function(r){r.backward=\"backward\",r.forward=\"forward\"}(r||(r={}));export{r as Direction};\n//# sourceMappingURL=types.js.map\n","import{__awaiter as t}from\"tslib\";import{URL_RUN_IDS_PARAM_NAME as e,URL_TOKEN_PARAM_NAME as n,URL_CODE_PARAM_NAME as o,URL_REDIRECT_MODE_PARAM_NAME as r,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 d,THIRD_PARTY_APP_ID_PARAM_NAME as l,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,OIDC_RESOURCE_PARAM_NAME as w,DESCOPE_ATTRIBUTE_PREFIX as g,SDK_SCRIPT_RESULTS_KEY as b,URL_REDIRECT_AUTH_CHALLENGE_PARAM_NAME as S,URL_REDIRECT_AUTH_CALLBACK_PARAM_NAME as A,URL_REDIRECT_AUTH_BACKUP_CALLBACK_PARAM_NAME as y,URL_REDIRECT_AUTH_INITIATOR_PARAM_NAME as I}from\"../constants/index.js\";import{EXCLUDED_STATE_KEYS as C}from\"../constants/customScreens.js\";import{Direction as k}from\"../types.js\";import{OVERRIDE_CONTENT_URL as L,BASE_CONTENT_URL as P,ASSETS_FOLDER as E}from\"../constants/content.js\";const U=[\"descope-enriched-text\"];function x(e,n,o){return(...r)=>t(this,void 0,void 0,(function*(){let t;const i=o+1;for(let c=0;c<i;c++)try{return yield e(...r)}catch(e){t=e,c<o&&(yield new Promise((t=>{setTimeout(t,n*Math.pow(2,c+1))})))}throw t}))}function T(t){return new URLSearchParams(window.location.search).get(t)}function $(t){if(window.history.replaceState&&T(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 j(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](),headers:Object.fromEntries(t.headers.entries())}}))}function O({projectId:t,filename:e,assetsFolder:n=E,baseUrl:o}){const r=new URL(L||o||P);return r.pathname=((...t)=>t.join(\"/\").replace(/\\/+/g,\"/\"))(r.pathname,t,n,e),r.toString()}function R(t,e){if(!e)return;const n=+t,o=+e;return Number.isNaN(n)||Number.isNaN(o)?void 0:n>o?k.forward:n<o?k.backward:void 0}const F=t=>{let[n=\"\",o=\"\"]=(T(e)||\"\").split(\"_\");const r=(t=>{var e;return(null===(e=/(.*)\\|#\\|.*/.exec(t))||void 0===e?void 0:e[1])||\"\"})(n);return(!t||r&&r!==t)&&(n=\"\",o=\"\"),{executionId:n,stepId:o,executionFlowId:r}};function N(){return/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}function H(){$(e)}function B(){return T(n)||void 0}function M(){$(n)}function q(){return T(o)||void 0}function W(){return\"popup\"===T(r)}function _(){return T(i)||void 0}function Q(){$(o)}function z(){$(r)}function D(){$(i)}function G(){return{redirectAuthCodeChallenge:T(S),redirectAuthCallbackUrl:T(A),redirectAuthBackupCallbackUri:T(y),redirectAuthInitiator:T(I)}}function V(){return T(c)}function J(){$(c)}function K(){return T(a)}function X(){$(a)}function Y(){return T(u)}function Z(){$(u)}function tt(){return T(s)}function et(){$(s)}function nt(){return T(d)}function ot(){return T(l)}function rt(){$(d)}function it(){$(l)}function ct(){return T(p)}function at(){$(p)}function ut(){return T(f)}function st(){$(f)}function dt(){return T(m)}function lt(){$(m)}function pt(){return T(h)}function ft(){$(h)}function mt(){return T(v)}function ht(){$(v)}function vt(){return T(w)}function wt(){$(w)}const gt=t=>t.replace(/-./g,(t=>t[1].toUpperCase())),bt=(t,e)=>n=>t[n]!==e[n],St=t=>Array.from((null==t?void 0:t.attributes)||[]).reduce(((t,e)=>{var n;const o=null===(n=new RegExp(`^${g}(\\\\S+)$`).exec(e.name))||void 0===n?void 0:n[1];return o?Object.assign(t,{[o]:e.value}):t}),{}),At=(t,e)=>{const{executionId:n,stepId:o,executionFlowId:r}=F(t);if(r&&t!==r)return e.debug(\"Flow id does not match the execution flow id, skipping url params handling\"),{ssoQueryParams:{}};(n||o)&&H();const i=B();i&&M();const c=q();c&&Q();const a=W();a&&z();const u=_();u&&D();const{redirectAuthCodeChallenge:s,redirectAuthCallbackUrl:d,redirectAuthBackupCallbackUri:l,redirectAuthInitiator:p}=G(),f=V();f&&J();const m=K();m&&X();const h=Y();m&&Z();const v=tt();v&&et();const w=nt();w&&rt();const g=ot();g&&it();const b=ct();b&&at();const S=ut();S&&st();const A=dt();A&&lt();const y=pt();y&&ft();const I=mt();I&&ht();const C=vt();C&&wt();return{executionId:n,stepId:o,token:i,code:c,isPopup:a,exchangeError:u,redirectAuthCodeChallenge:s,redirectAuthCallbackUrl:d,redirectAuthBackupCallbackUri:l,redirectAuthInitiator:p,ssoQueryParams:{oidcIdpStateId:f,samlIdpStateId:m,samlIdpUsername:h,descopeIdpInitiated:\"true\"===v,ssoAppId:w,oidcLoginHint:A,oidcPrompt:y,oidcErrorRedirectUri:I,oidcResource:C,thirdPartyAppId:g,thirdPartyAppStateId:b,applicationScopes:S}}},yt=t=>{let e,n;return Object.assign(((...o)=>{return e&&(i=o,(r=e).length===i.length&&r.every(((t,e)=>t===i[e])))||(e=o,n=t(...o)),n;var r,i}),{reset:()=>{e=void 0,n=void 0}})},It='*[name]:not([auto-focus=\"false\"]):not([aria-hidden=\"true\"])',Ct=(t,e,n)=>{if(!0===e||\"skipFirstScreen\"===e&&!n){const e=t.querySelector(It);setTimeout((()=>{null==e||e.focus()}))}},kt=t=>{t.querySelectorAll(\"*[name]\").forEach((e=>{e.addEventListener(\"blur\",(()=>{var n;const o=()=>{var t;const n=e.focus;e.focus=()=>{},null===(t=e.reportValidity)||void 0===t||t.call(e),setTimeout((()=>{e.focus=n}))};if(\"true\"===e.getAttribute(\"invalid\")||(null===(n=e.value)||void 0===n?void 0:n.length))return void o();const r={timer:void 0},i=t=>{\"true\"===t.target.getAttribute(\"formnovalidate\")&&(clearTimeout(r.timer),r.timer=void 0)};r.timer=setTimeout((()=>{t.removeEventListener(\"click\",i),o(),r.timer=void 0}),150),t.addEventListener(\"click\",i,{once:!0})}))}))};function Lt(t,e,n){return new Promise(((o,r)=>{let i=!1;const c=setTimeout((()=>{i=!0,void 0!==n?o(n):r(new Error(`Promise timed out after ${t} ms`))}),t);e.then((t=>{i||(clearTimeout(c),o(t))})).catch((t=>{i||(clearTimeout(c),r(t))}))}))}const Pt=()=>{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},Et=(t,{oidcIdpStateId:e,samlIdpStateId:n,samlIdpUsername:o,ssoAppId:r,oidcLoginHint:i,oidcPrompt:c,oidcErrorRedirectUri:a,oidcResource:u,thirdPartyAppId:s,thirdPartyAppStateId:d,applicationScopes:l})=>!(!t||e||n||o||r||i||c||a||u||s||d||l),Ut=(t,e,n,o)=>{const r=document.createElement(\"form\");r.method=\"POST\",r.action=t,r.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(r),o(r)},xt=t=>null==t?void 0:t.submit(),Tt=(t,e)=>{const n=e.find((e=>t[e]));return n?t[n]:null},$t=(t,e=100)=>{let n;return function(...o){n||t.apply(this,o),clearTimeout(n),n=setTimeout((()=>{n=null}),e)}};function jt(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 Ot=()=>{document.querySelectorAll('[data-hidden-input=\"true\"]').forEach((t=>t.remove()))},Rt=t=>U.includes(t),Ft=t=>{var e,n,o;const r=(i=t.screenState,c=(t,e)=>C.includes(e)||e.startsWith(\"_\"),Object.fromEntries(Object.entries(i).filter((([t,e])=>!c(e,t)))));var i,c;const{screenState:{errorText:a,errorType:u}}=t;return(a||u)&&(r.error={text:a,type:u}),t.action&&(r.action=t.action),(null===(o=null===(n=null===(e=t.screenState)||void 0===e?void 0:e.componentsConfig)||void 0===n?void 0:n.thirdPartyAppApproveScopes)||void 0===o?void 0:o.data)&&(r.inboundAppApproveScopes=t.screenState.componentsConfig.thirdPartyAppApproveScopes.data),r},Nt=t=>{const e=Object.assign({},t);return t.inboundAppApproveScopes&&(e.thirdPartyAppApproveScopes=t.inboundAppApproveScopes),e};function Ht(t,e){return`${b}.${e?`${t}_${e}`:t}`}const Bt=(t,e,n,o)=>{const r=void 0!==window.screenLeft?window.screenLeft:window.screen.left,i=void 0!==window.screenTop?window.screenTop:window.screen.top,c=((window.innerWidth||document.documentElement.clientWidth||window.screen.width)-n)/2+r,a=((window.innerHeight||document.documentElement.clientHeight||window.screen.height)-o)/2+i,u=function(){const t=navigator.userAgent||\"\",e=/\\b(iPhone)\\b/.test(t),n=/Safari/.test(t)&&!/CriOS|FxiOS|OPiOS|EdgiOS|Chrome|Chromium/.test(t);return e&&n}()?\"about:blank\":\"\",s=window.open(u,e,`width=${n},height=${o},top=${a},left=${c},scrollbars=yes,resizable=yes`);return s.location.href=t,s.focus(),s};export{It as FOCUSABLE_INPUTS_SELECTOR,gt as camelCase,st as clearApplicationScopesParamFromUrl,Q as clearCodeFromUrl,et as clearDescopeIDPInitiatedParamFromUrl,D as clearExchangeErrorFromUrl,z as clearIsPopupFromUrl,ht as clearOIDCErrorRedirectUriParamFromUrl,J as clearOIDCIDPParamFromUrl,lt as clearOIDCLoginHintParamFromUrl,ft as clearOIDCPromptParamFromUrl,wt as clearOIDCResourceParamFromUrl,Ot as clearPreviousExternalInputs,H as clearRunIdsFromUrl,X as clearSAMLIDPParamFromUrl,Z as clearSAMLIDPUsernameParamFromUrl,rt as clearSSOAppIdParamFromUrl,it as clearThirdPartyAppIdParamFromUrl,at as clearThirdPartyAppStateIdParamFromUrl,M as clearTokenFromUrl,bt as createIsChanged,j as fetchContent,R as getAnimationDirection,ut as getApplicationScopesParamFromUrl,Pt as getChromiumVersion,q as getCodeFromUrl,O as getContentUrl,tt as getDescopeIDPInitiatedParamFromUrl,St as getElementDescopeAttributes,_ as getExchangeErrorFromUrl,Tt as getFirstNonEmptyValue,W as getIsPopupFromUrl,mt as getOIDCErrorRedirectUriParamFromUrl,V as getOIDCIDPParamFromUrl,dt as getOIDCLoginHintParamFromUrl,pt as getOIDCPromptParamFromUrl,vt as getOIDCResourceParamFromUrl,G as getRedirectAuthFromUrl,F as getRunIdsFromUrl,K as getSAMLIDPParamFromUrl,Y as getSAMLIDPUsernameParamFromUrl,nt as getSSOAppIdParamFromUrl,Ht as getScriptResultPath,ot as getThirdPartyAppIdParamFromUrl,ct as getThirdPartyAppStateIdParamFromUrl,B as getTokenFromUrl,jt as getUserLocale,Ct as handleAutoFocus,kt as handleReportValidityOnBlur,At as handleUrlParams,Ut as injectSamlIdpForm,N as isChromium,$t as leadingDebounce,Bt as openCenteredPopup,Rt as shouldHandleMarkdown,Et as showFirstScreenOnExecutionInit,xt as submitForm,Lt as timeoutPromise,Nt as transformScreenInputs,Ft as transformStepStateForCustomScreen,yt as withMemCache,x as withRetry};\n//# sourceMappingURL=helpers.js.map\n","import{__classPrivateFieldGet as t,__classPrivateFieldSet as e}from\"tslib\";import{createIsChanged as s}from\"./helpers.js\";var r,i,f,n;function o(t,e){const s=Object.getOwnPropertyNames(t),r=Object.getOwnPropertyNames(e);if(s.length!==r.length)return!1;for(let r=0;r<s.length;r+=1){const i=s[r],f=t[i],n=e[i];if(null===f||null===n){if(f!==n)return!1}else if(\"object\"==typeof f&&\"object\"==typeof n){if(!o(f,n))return!1}else if(f!==n)return!1}return!0}class c{constructor(c={},{forceUpdate:h=!1}={}){r.set(this,void 0),i.set(this,{}),f.set(this,0),n.set(this,!0),this.update=f=>{const c=\"function\"==typeof f?f(t(this,r,\"f\")):f,h=Object.assign(Object.assign({},t(this,r,\"f\")),c),u=t(this,r,\"f\");e(this,r,h,\"f\"),Object.freeze(t(this,r,\"f\")),setTimeout((()=>{Object.values(t(this,i,\"f\")).forEach((({cb:e,selector:r,forceUpdate:i})=>{const f=r(u),c=r(h);(t(this,n,\"f\")||i||(function(t){if(\"object\"!=typeof t||null===t)return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}(c)?!o(f,c):f!==c))&&e(c,f,s(c,f))}))}),0)},e(this,r,c,\"f\"),e(this,n,h,\"f\")}get current(){return Object.assign({},t(this,r,\"f\"))}set forceUpdate(t){e(this,n,t,\"f\")}subscribe(s,r=t=>t,{forceUpdate:n=!1}={}){return e(this,f,t(this,f,\"f\")+1,\"f\"),t(this,i,\"f\")[t(this,f,\"f\")]={cb:s,selector:r,forceUpdate:n},t(this,f,\"f\").toString()}unsubscribe(e){const s=!!t(this,i,\"f\")[e];return s&&delete t(this,i,\"f\")[e],s}unsubscribeAll(){return e(this,i,{},\"f\"),!0}}r=new WeakMap,i=new WeakMap,f=new WeakMap,n=new WeakMap;export{c as default};\n//# sourceMappingURL=state.js.map\n","const e=[\"*\",\"#\",\"/\",\"(\",\")\",\"[\",\"]\",\"_\",\"<\",\">\",\"`\"],t=t=>{const n=e.map((e=>`${t}${e}`)).join(\"|\");return new RegExp(`(${n})`,\"g\")},n=e=>\"string\"!=typeof e?e:e.replace(t(\"\\\\\"),\"\\\\$1\"),p=e=>\"string\"!=typeof e?e:e.replace(t(\"\\\\\\\\\"),(e=>e.slice(1)));export{n as escapeMarkdown,p as unescapeMarkdown};\n//# sourceMappingURL=index.esm.js.map\n","import{__rest as e}from\"tslib\";import{escapeMarkdown as t}from\"@descope/escape-markdown\";import{ELEMENT_TYPE_ATTRIBUTE as o,HAS_DYNAMIC_VALUES_ATTR_NAME as r,DESCOPE_ATTRIBUTE_EXCLUDE_FIELD as s}from\"../constants/index.js\";import{shouldHandleMarkdown as n}from\"./helpers.js\";const c=[\"disabled\"],i=(e,t,r=\"\")=>{e.querySelectorAll(`[${o}=\"${t}\"]`).forEach((e=>{e.textContent=r,e.classList[r?\"remove\":\"add\"](\"hide\")}))},l=(e,t)=>{Object.entries(t||{}).forEach((([t,o])=>{Array.from(e.querySelectorAll(`*[name=\"${t}\"]:not([${s}])`)).forEach((e=>{e.value=o}))}))},a=(e,t)=>t.split(\".\").reduce(((e,t)=>(null==e?void 0:e[t])||\"\"),e),d=(e,o,r)=>e.replace(/{{(.+?)}}/g,((e,s)=>r?t(a(o,s)):a(o,s))),u=(e,t,r)=>{e.querySelectorAll(`[${o}=\"${t}\"]`).forEach((e=>{e.setAttribute(\"href\",r)}))},f=(e,t,o,r)=>{o&&Object.keys(o).forEach((s=>{if(!t.querySelector(s))return void r.debug(`Skipping css vars for component \"${s}\"`,`Got css vars for component ${s} but Could not find it on next page`);const n=customElements.get(s);n?Object.keys(o[s]).forEach((t=>{var c;const i=o[s],l=null===(c=null==n?void 0:n.cssVarList)||void 0===c?void 0:c[t];if(!l)return void r.info(`Could not find css variable name for ${t} in ${s}`,\"Check if the css variable is defined in the component\");const a=i[t];e.style.setProperty(l,a)})):r.debug(`Could not find component class for ${s}`,\"Check if the component is registered\")}))},p=(e,t,o)=>{var r,s;const n=null===(r=customElements.get(t))||void 0===r?void 0:r.cssVarList.url;o&&n&&(null===(s=null==e?void 0:e.style)||void 0===s||s.setProperty(n,`url(data:image/jpg;base64,${o})`))},m=(t,o,s,i)=>{var l,a;u(t,\"totp-link\",null===(l=null==o?void 0:o.totp)||void 0===l?void 0:l.provisionUrl),u(t,\"notp-link\",null===(a=null==o?void 0:o.notp)||void 0===a?void 0:a.redirectUrl),((e,t)=>{e.querySelectorAll(\"descope-text,descope-link,descope-enriched-text,descope-code-snippet\").forEach((e=>{const o=n(e.localName);e.textContent=d(e.textContent,t,o);const r=e.getAttribute(\"href\");r&&e.setAttribute(\"href\",d(r,t))}))})(t,o),((t,o,r)=>{if(!o)return;const{componentsDynamicAttrs:s}=o,n=e(o,[\"componentsDynamicAttrs\"]),c=Object.keys(n).reduce(((e,t)=>(e[`[name=${t}]`]=n[t],e)),{});s&&Object.keys(s).forEach((e=>{const t=s[e];if(t){const{attributes:o}=t;o&&Object.keys(o).length&&(c[e]=o)}})),Object.keys(c).forEach((e=>{t.querySelectorAll(e).forEach((t=>{const o=c[e];Object.keys(o).forEach((e=>{let s=o[e];if(\"string\"!=typeof s)try{s=JSON.stringify(s)}catch(t){r.error(`Could not stringify value \"${s}\" for \"${e}\"`,t.message),s=\"\"}t.setAttribute(e,s)}))}))}))})(t,null==o?void 0:o.componentsConfig,i),((e,t)=>{e.querySelectorAll(`[${r}]`).forEach((e=>{Array.from(e.attributes).forEach((e=>{e.value=d(e.value,t)}))}))})(t,o),((e,t)=>{Object.entries(t).forEach((([t,o])=>{e.querySelectorAll(`[name=\"${t}\"]`).forEach((e=>{Object.entries(o).forEach((([t,o])=>{c.includes(t)&&e.setAttribute(t,o)}))}))}))})(t,s),((e,t={},o)=>{Object.entries(t).forEach((([t,r])=>{e.querySelectorAll(`[id=\"${CSS.escape(t)}\"]`).forEach((e=>{switch(r){case\"disable\":e.setAttribute(\"disabled\",\"true\");break;case\"hide\":e.classList.add(\"hidden\");break;default:null==o||o.error(`Unknown component state \"${r}\" for component with id \"${t}\"`,'Valid states are \"disable\" and \"hide\"')}}))}))})(t,null==o?void 0:o.componentsState,i)},h=(e,t)=>{l(e,null==t?void 0:t.inputs),l(e,null==t?void 0:t.form)},b=(e,t)=>{p(e,\"descope-totp-image\",t)},v=(e,t)=>{p(e,\"descope-notp-image\",t)},y=(e,t)=>{Array.from(e.querySelectorAll('[default-code=\"autoDetect\"]')).forEach((e=>{e.setAttribute(\"default-code\",t)}))},A=e=>{e.querySelectorAll(`descope-button[${o}=\"biometrics\"]`).forEach((e=>e.setAttribute(\"disabled\",\"true\")))};export{A as disableWebauthnButtons,i as replaceElementMessage,f as setCssVars,v as setNOTPVariable,y as setPhoneAutoDetectDefaultCode,b as setTOTPVariable,h as updateScreenFromScreenState,m as updateTemplateFromScreenState};\n//# sourceMappingURL=templates.js.map\n","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};\n//# sourceMappingURL=webauthn.js.map\n","let o;const w=(w,l)=>{o?o.setItem(w,l):void 0!==(null===window||void 0===window?void 0:window.localStorage)&&window.localStorage.setItem(w,l)},l=w=>o?o.getItem(w):void 0!==(null===window||void 0===window?void 0:window.localStorage)?window.localStorage.getItem(w):null,t=w=>{o=w};export{l as getStorageItem,t as setCustomStorage,w as setStorageItem};\n//# sourceMappingURL=storage.js.map\n","import{getStorageItem as t,setStorageItem as r}from\"./storage.js\";const o=\"dls_ab_testing_id\",n=()=>{const n=t(o);if(!n){const t=Math.floor(100*Math.random()+1);return r(o,t.toString()),t}return Number(n)};export{n as getABTestingKey};\n//# sourceMappingURL=abTestingKey.js.map\n","const e={\"lastAuth.loginId\":{\"not-empty\":e=>{var n;return!!e.loginId||!!(null===(n=e.lastAuth)||void 0===n?void 0:n.loginId)},empty:e=>{var n;return!e.loginId&&!(null===(n=e.lastAuth)||void 0===n?void 0:n.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,n)=>(e.abTestingKey||0)>n,\"less-than\":(e,n)=>(e.abTestingKey||0)<n,\"greater-than-or-equal\":(e,n)=>(e.abTestingKey||0)>=n,\"less-than-or-equal\":(e,n)=>(e.abTestingKey||0)<=n,\"in-range\":(e,n)=>{const[t,i]=n?n.split(\",\").map(Number):[void 0,void 0];return(e.abTestingKey||0)>=(null!=t?t:0)&&(e.abTestingKey||0)<=(null!=i?i:0)},\"not-in-range\":(e,n)=>{const[t,i]=n?n.split(\",\").map(Number):[void 0,void 0];return!(void 0!==t&&void 0!==i&&!Number.isNaN(t)&&!Number.isNaN(i))||((e.abTestingKey||0)<t||(e.abTestingKey||0)>i)},\"devised-by\":(e,n)=>{const t=Number(n);return!Number.isNaN(t)&&(e.abTestingKey||0)%t==0}}},n=(n,t)=>{var i;const r=null===(i=e[null==n?void 0:n.key])||void 0===i?void 0:i[n.operator];if(!r)return{};const o=r(t,n.predicate)?n.met:n.unmet;return{startScreenId:null==o?void 0:o.screenId,startScreenName:null==o?void 0:o.screenName,conditionInteractionId:null==o?void 0:o.interactionId}},t=(n,t)=>{const i=null==t?void 0:t.find((({key:t,operator:i,predicate:r})=>{var o;if(\"ELSE\"===t)return!0;const a=null===(o=e[t])||void 0===o?void 0:o[i];return!!(null==a?void 0:a(n,r))}));return i?{startScreenId:i.met.screenId,startScreenName:i.met.screenName,conditionInteractionId:i.met.interactionId,clientScripts:i.met.clientScripts,componentsConfig:i.met.componentsConfig}:{}};export{n as calculateCondition,t as calculateConditions};\n//# sourceMappingURL=conditions.js.map\n","import{DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY as n}from\"../constants/index.js\";import{getStorageItem as o,setStorageItem as t}from\"./storage.js\";function i(t){const i={};try{Object.assign(i,JSON.parse(o(n)))}catch(n){}return(null==i?void 0:i.loginId)||t?i:{}}function r(o,i){(null==o?void 0:o.authMethod)&&(i&&!(null==o?void 0:o.loginId)||t(n,JSON.stringify(o)))}export{i as getLastAuth,r as setLastAuth};\n//# sourceMappingURL=lastAuth.js.map\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';\nimport { createSingletonMixin } from '@descope/sdk-helpers';\n\nconst logLevels = ['error', 'warn', 'info', 'debug'];\nconst defaultLogger = {\n error: console.error.bind(console, '[Descope]'),\n warn: console.warn.bind(console, '[Descope]'),\n info: console.info.bind(console, '[Descope]'),\n debug: console.debug.bind(console, '[Descope]'),\n};\nconst loggerMixin = createSingletonMixin((superclass) => { var _LoggerMixinClass_instances, _LoggerMixinClass_logger, _LoggerMixinClass_wrapLogger, _a; return _a = class LoggerMixinClass extends superclass {\n constructor() {\n super(...arguments);\n _LoggerMixinClass_instances.add(this);\n _LoggerMixinClass_logger.set(this, __classPrivateFieldGet(this, _LoggerMixinClass_instances, \"m\", _LoggerMixinClass_wrapLogger).call(this, defaultLogger));\n }\n set logger(logger) {\n __classPrivateFieldSet(this, _LoggerMixinClass_logger, __classPrivateFieldGet(this, _LoggerMixinClass_instances, \"m\", _LoggerMixinClass_wrapLogger).call(this, logger || defaultLogger), \"f\");\n }\n get logger() {\n return __classPrivateFieldGet(this, _LoggerMixinClass_logger, \"f\");\n }\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n onLogEvent(logLevel, data) { }\n },\n _LoggerMixinClass_logger = new WeakMap(),\n _LoggerMixinClass_instances = new WeakSet(),\n _LoggerMixinClass_wrapLogger = function _LoggerMixinClass_wrapLogger(logger) {\n return logLevels.reduce((acc, logLevel) => {\n acc[logLevel] = (...args) => {\n var _b;\n this.onLogEvent(logLevel, args);\n (_b = logger[logLevel]) === null || _b === void 0 ? void 0 : _b.call(logger, ...args);\n };\n return acc;\n }, {});\n },\n _a; });\n\nexport { loggerMixin };\n//# sourceMappingURL=loggerMixin.js.map\n","const IS_LOCAL_STORAGE = typeof localStorage !== 'undefined';\n\nexport { IS_LOCAL_STORAGE };\n//# sourceMappingURL=constants.js.map\n","import { IS_LOCAL_STORAGE } from '../../constants.js';\n\nconst BASE_CONTENT_URL_KEY = 'base.content.url';\nconst BASE_CONTENT_URL = 'https://static.descope.com/pages';\nconst BASE_CONTENT_URL_FALLBACK = 'https://static2.descope.com/pages';\nconst OVERRIDE_CONTENT_URL = (IS_LOCAL_STORAGE && localStorage.getItem(BASE_CONTENT_URL_KEY)) || '';\nconst ASSETS_FOLDER = 'v2-beta';\n\nexport { ASSETS_FOLDER, BASE_CONTENT_URL, BASE_CONTENT_URL_FALLBACK, OVERRIDE_CONTENT_URL };\n//# sourceMappingURL=constants.js.map\n","const missingAttrValidator = (attrName, value) => !value &&\n `${attrName} cannot be empty, please make sure to set this attribute`;\n\nexport { missingAttrValidator };\n//# sourceMappingURL=commonValidators.js.map\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';\nimport { createSingletonMixin } from '@descope/sdk-helpers';\n\nconst initLifecycleMixin = createSingletonMixin((superclass) => { var _InitLifecycleMixinClass_isInit, _a; return _a = class InitLifecycleMixinClass extends superclass {\n constructor() {\n super(...arguments);\n _InitLifecycleMixinClass_isInit.set(this, true);\n }\n connectedCallback() {\n var _b, _c;\n (_b = super.connectedCallback) === null || _b === void 0 ? void 0 : _b.call(this);\n if ((_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.isConnected) {\n // the init function is running once, on the first time the component is connected\n if (__classPrivateFieldGet(this, _InitLifecycleMixinClass_isInit, \"f\")) {\n __classPrivateFieldSet(this, _InitLifecycleMixinClass_isInit, false, \"f\");\n this.init();\n }\n }\n }\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n async init() { }\n },\n _InitLifecycleMixinClass_isInit = new WeakMap(),\n _a; });\n\nexport { initLifecycleMixin };\n//# sourceMappingURL=initLifecycleMixin.js.map\n","const attributesObserver = (ele, callback) => {\n // sync all attrs on init\n Array.from(ele.attributes).forEach((attr) => callback(attr.name));\n const observer = new MutationObserver((mutationsList) => {\n mutationsList.forEach((mutation) => {\n if (mutation.type === 'attributes') {\n callback(mutation.attributeName);\n }\n });\n });\n observer.observe(ele, { attributes: true });\n};\n\nexport { attributesObserver };\n//# sourceMappingURL=helpers.js.map\n","import { __classPrivateFieldGet } from 'tslib';\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { initLifecycleMixin } from '../initLifecycleMixin.js';\nimport { loggerMixin } from '../loggerMixin/loggerMixin.js';\nimport { attributesObserver } from './helpers.js';\n\nconst observeAttributesMixin = createSingletonMixin((superclass) => {\n var _ObserveAttributesMixinClass_observeMappings, _a;\n const BaseClass = compose(loggerMixin, initLifecycleMixin)(superclass);\n return _a = class ObserveAttributesMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _ObserveAttributesMixinClass_observeMappings.set(this, {});\n }\n async init() {\n var _b;\n await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));\n attributesObserver(this, (attrName) => {\n var _b;\n (_b = __classPrivateFieldGet(this, _ObserveAttributesMixinClass_observeMappings, \"f\")[attrName]) === null || _b === void 0 ? void 0 : _b.forEach((cb) => {\n cb(attrName, this.getAttribute(attrName));\n });\n });\n }\n observeAttribute(attrName, onAttrChange) {\n if (!__classPrivateFieldGet(this, _ObserveAttributesMixinClass_observeMappings, \"f\")[attrName]) {\n __classPrivateFieldGet(this, _ObserveAttributesMixinClass_observeMappings, \"f\")[attrName] = [];\n }\n const idx = __classPrivateFieldGet(this, _ObserveAttributesMixinClass_observeMappings, \"f\")[attrName].push(onAttrChange);\n return () => __classPrivateFieldGet(this, _ObserveAttributesMixinClass_observeMappings, \"f\")[attrName].splice(idx, 1);\n }\n observeAttributes(attrs, cb) {\n const unobserveList = attrs.reduce((acc, attrName) => {\n acc.push(this.observeAttribute(attrName, cb));\n return acc;\n }, []);\n return () => unobserveList.forEach((unobserve) => unobserve());\n }\n },\n _ObserveAttributesMixinClass_observeMappings = new WeakMap(),\n _a;\n});\n\nexport { observeAttributesMixin };\n//# sourceMappingURL=observeAttributesMixin.js.map\n","import { __classPrivateFieldGet } from 'tslib';\nimport { compose } from '@descope/sdk-helpers';\nimport { observeAttributesMixin } from '../observeAttributesMixin/observeAttributesMixin.js';\nimport { initLifecycleMixin } from '../initLifecycleMixin.js';\nimport { loggerMixin } from '../loggerMixin/loggerMixin.js';\nimport { missingAttrValidator } from './commonValidators.js';\n\nconst createValidateAttributesMixin = (mappings) => (superclass) => {\n var _ValidateAttributesMixinClass_instances, _ValidateAttributesMixinClass_handleError, _a;\n const BaseClass = compose(loggerMixin, initLifecycleMixin, observeAttributesMixin)(superclass);\n const mappingsNames = Object.keys(mappings);\n return _a = class ValidateAttributesMixinClass extends BaseClass {\n constructor(...args) {\n super(...args);\n _ValidateAttributesMixinClass_instances.add(this);\n this.observeAttributes(mappingsNames, __classPrivateFieldGet(this, _ValidateAttributesMixinClass_instances, \"m\", _ValidateAttributesMixinClass_handleError).bind(this));\n }\n async init() {\n var _b;\n // check attributes initial values\n mappingsNames.forEach((attr) => __classPrivateFieldGet(this, _ValidateAttributesMixinClass_instances, \"m\", _ValidateAttributesMixinClass_handleError).call(this, attr, this.getAttribute(attr)));\n await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));\n }\n },\n _ValidateAttributesMixinClass_instances = new WeakSet(),\n _ValidateAttributesMixinClass_handleError = function _ValidateAttributesMixinClass_handleError(attrName, newValue) {\n const onError = mappings[attrName];\n const error = typeof onError === 'function' ? onError(attrName, newValue) : onError;\n if (error) {\n this.logger.error(error);\n }\n },\n _a;\n};\ncreateValidateAttributesMixin.missingAttrValidator = missingAttrValidator;\n\nexport { createValidateAttributesMixin };\n//# sourceMappingURL=createValidateAttributesMixin.js.map\n","import { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { missingAttrValidator } from './createValidateAttributesMixin/commonValidators.js';\nimport { createValidateAttributesMixin } from './createValidateAttributesMixin/createValidateAttributesMixin.js';\n\nconst projectIdMixin = createSingletonMixin((superclass) => {\n const BaseClass = compose(createValidateAttributesMixin({ 'project-id': missingAttrValidator }))(superclass);\n return class ProjectIdMixinClass extends BaseClass {\n get projectId() {\n return this.getAttribute('project-id');\n }\n };\n});\n\nexport { projectIdMixin };\n//# sourceMappingURL=projectIdMixin.js.map\n","import { createSingletonMixin } from '@descope/sdk-helpers';\n\nconst baseUrlMixin = createSingletonMixin((superclass) => {\n return class BaseUrlMixinClass extends superclass {\n get baseUrl() {\n return this.getAttribute('base-url') || '';\n }\n };\n});\n\nexport { baseUrlMixin };\n//# sourceMappingURL=baseUrlMixin.js.map\n","const notLastMsgSuffix = 'Trying the next fallback URL...';\n// reties in case on network error\nconst fetchWithRetry = async (url, init, { logger } = {}) => {\n try {\n return await fetch(url, init);\n }\n catch (e) {\n // if there is an exception, we want to retry\n // so we can overcome network errors\n logger === null || logger === void 0 ? void 0 : logger.debug(`Network error fetching URL ${url} [${e.message}], retrying...`);\n return fetch(url, init);\n }\n};\nconst fetchWithFallbacks = async (fallbacks, init, { logger, onSuccess, } = {}) => {\n const fallbacksArr = Array.isArray(fallbacks) ? fallbacks : [fallbacks];\n for (let index = 0; index < fallbacksArr.length; index++) {\n const url = fallbacksArr[index];\n const isLast = index === fallbacksArr.length - 1;\n try {\n const res = await fetchWithRetry(url.toString(), init, { logger });\n if (res.ok) {\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(index);\n logger === null || logger === void 0 ? void 0 : logger.debug(`Successfully fetched URL ${url}`);\n return res;\n }\n const errMsg = `Error fetching URL ${url} [${res.status}]`;\n if (isLast)\n throw new Error(errMsg);\n logger === null || logger === void 0 ? void 0 : logger.debug(`${errMsg}. ${notLastMsgSuffix}`);\n }\n catch (e) {\n const errMsg = `Error fetching URL ${url} [${e.message}]`;\n if (isLast)\n throw new Error(errMsg);\n logger === null || logger === void 0 ? void 0 : logger.debug(`${errMsg}. ${notLastMsgSuffix}`);\n }\n }\n};\n\nexport { fetchWithFallbacks };\n//# sourceMappingURL=fetchWithFallbacks.js.map\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';\nimport { createSingletonMixin, compose, pathJoin } from '@descope/sdk-helpers';\nimport { loggerMixin } from '../loggerMixin/loggerMixin.js';\nimport { ASSETS_FOLDER, BASE_CONTENT_URL, OVERRIDE_CONTENT_URL, BASE_CONTENT_URL_FALLBACK } from './constants.js';\nimport { projectIdMixin } from '../projectIdMixin.js';\nimport { baseUrlMixin } from '../baseUrlMixin.js';\nimport { fetchWithFallbacks } from './fetchWithFallbacks.js';\n\nfunction getResourceUrl({ projectId, filename, assetsFolder = ASSETS_FOLDER, baseUrl = BASE_CONTENT_URL, }) {\n const url = new URL(baseUrl);\n url.pathname = pathJoin(url.pathname, projectId, assetsFolder, filename);\n // we want to keep the baseUrl so we can use it later\n url.baseUrl = baseUrl;\n return url;\n}\nconst staticResourcesMixin = createSingletonMixin((superclass) => {\n var _StaticResourcesMixinClass_instances, _StaticResourcesMixinClass_lastBaseUrl, _StaticResourcesMixinClass_workingBaseUrl, _StaticResourcesMixinClass_failedUrls, _StaticResourcesMixinClass_getResourceUrls, _StaticResourcesMixinClass_createResourceUrl, _a;\n const BaseClass = compose(loggerMixin, projectIdMixin, baseUrlMixin)(superclass);\n // the logic should be as following:\n // 1. if there is a local storage override, use it\n // 2. otherwise, if there is a base-static-url attribute, use it\n // 3. otherwise, try to use base-url\n // 4. otherwise, try to use default content url (BASE_CONTENT_URL)\n // 5. otherwise, try to use the fallback content url (BASE_CONTENT_URL_FALLBACK)\n // For steps 3-5: if the url is valid, keep using it, and if not, don't try it anymore\n return _a = class StaticResourcesMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _StaticResourcesMixinClass_instances.add(this);\n _StaticResourcesMixinClass_lastBaseUrl.set(this, void 0);\n _StaticResourcesMixinClass_workingBaseUrl.set(this, void 0);\n _StaticResourcesMixinClass_failedUrls.set(this, new Set());\n }\n async fetchStaticResource(filename, format) {\n const resourceUrls = __classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_getResourceUrls).call(this, filename);\n // Cache the working URL and mark failed URLs\n const onSuccess = !Array.isArray(resourceUrls)\n ? null\n : (index) => {\n const { baseUrl } = resourceUrls[index];\n __classPrivateFieldSet(this, _StaticResourcesMixinClass_workingBaseUrl, baseUrl, \"f\");\n // Mark all URLs before this one as failed\n for (let i = 0; i < index; i++) {\n const failedUrl = resourceUrls[i].baseUrl;\n __classPrivateFieldGet(this, _StaticResourcesMixinClass_failedUrls, \"f\").add(failedUrl);\n }\n };\n try {\n const res = await fetchWithFallbacks(resourceUrls, { cache: 'default' }, { logger: this.logger, onSuccess });\n return {\n body: await res[format](),\n headers: Object.fromEntries(res.headers.entries()),\n };\n }\n catch (e) {\n this.logger.error(e.message);\n }\n }\n get baseStaticUrl() {\n return this.getAttribute('base-static-url') || '';\n }\n },\n _StaticResourcesMixinClass_lastBaseUrl = new WeakMap(),\n _StaticResourcesMixinClass_workingBaseUrl = new WeakMap(),\n _StaticResourcesMixinClass_failedUrls = new WeakMap(),\n _StaticResourcesMixinClass_instances = new WeakSet(),\n _StaticResourcesMixinClass_getResourceUrls = function _StaticResourcesMixinClass_getResourceUrls(filename) {\n const overrideUrl = OVERRIDE_CONTENT_URL || this.baseStaticUrl;\n // Steps 1-2: Override URL or base-static-url takes precedence\n if (overrideUrl) {\n return __classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_createResourceUrl).call(this, filename, overrideUrl);\n }\n // Reset state if base-url changed\n if (__classPrivateFieldGet(this, _StaticResourcesMixinClass_lastBaseUrl, \"f\") !== this.baseUrl) {\n __classPrivateFieldSet(this, _StaticResourcesMixinClass_lastBaseUrl, this.baseUrl, \"f\");\n __classPrivateFieldSet(this, _StaticResourcesMixinClass_workingBaseUrl, undefined, \"f\");\n __classPrivateFieldGet(this, _StaticResourcesMixinClass_failedUrls, \"f\").clear();\n }\n // Build URL list based on cached state or fallback chain\n const urls = [];\n if (__classPrivateFieldGet(this, _StaticResourcesMixinClass_workingBaseUrl, \"f\")) {\n // Use cached working URL\n urls.push(__classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_createResourceUrl).call(this, filename, __classPrivateFieldGet(this, _StaticResourcesMixinClass_workingBaseUrl, \"f\")));\n // Add fallback only for BASE_CONTENT_URL (for resilience)\n if (__classPrivateFieldGet(this, _StaticResourcesMixinClass_workingBaseUrl, \"f\") === BASE_CONTENT_URL) {\n urls.push(__classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_createResourceUrl).call(this, filename, BASE_CONTENT_URL_FALLBACK));\n }\n }\n else {\n // Build fallback chain: try URLs that haven't failed yet\n const baseUrlWithPages = this.baseUrl + '/pages';\n if (this.baseUrl && !__classPrivateFieldGet(this, _StaticResourcesMixinClass_failedUrls, \"f\").has(baseUrlWithPages)) {\n urls.push(__classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_createResourceUrl).call(this, filename, baseUrlWithPages));\n }\n if (!__classPrivateFieldGet(this, _StaticResourcesMixinClass_failedUrls, \"f\").has(BASE_CONTENT_URL)) {\n urls.push(__classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_createResourceUrl).call(this, filename, BASE_CONTENT_URL));\n }\n urls.push(__classPrivateFieldGet(this, _StaticResourcesMixinClass_instances, \"m\", _StaticResourcesMixinClass_createResourceUrl).call(this, filename, BASE_CONTENT_URL_FALLBACK));\n }\n return urls.length === 1 ? urls[0] : urls;\n },\n _StaticResourcesMixinClass_createResourceUrl = function _StaticResourcesMixinClass_createResourceUrl(filename, baseUrl) {\n return getResourceUrl({\n projectId: this.projectId,\n filename,\n baseUrl,\n });\n },\n _a;\n});\n\nexport { getResourceUrl, staticResourcesMixin };\n//# sourceMappingURL=staticResourcesMixin.js.map\n","const CONFIG_FILENAME = 'config.json';\n\nexport { CONFIG_FILENAME };\n//# sourceMappingURL=constants.js.map\n","import { __classPrivateFieldGet } from 'tslib';\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { missingAttrValidator } from './createValidateAttributesMixin/commonValidators.js';\nimport { createValidateAttributesMixin } from './createValidateAttributesMixin/createValidateAttributesMixin.js';\n\nconst resetMixin = createSingletonMixin((superclass) => {\n var _ResetMixinClass_callbacks, _a;\n const BaseClass = compose(createValidateAttributesMixin({ 'project-id': missingAttrValidator }))(superclass);\n return _a = class ResetMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _ResetMixinClass_callbacks.set(this, new Map());\n }\n onReset(sectionId, callback) {\n if (!__classPrivateFieldGet(this, _ResetMixinClass_callbacks, \"f\").has(sectionId)) {\n __classPrivateFieldGet(this, _ResetMixinClass_callbacks, \"f\").set(sectionId, callback);\n return () => {\n __classPrivateFieldGet(this, _ResetMixinClass_callbacks, \"f\").delete(sectionId);\n };\n }\n else {\n throw new Error(`Callback for sectionId ${sectionId} already exists`);\n }\n }\n async reset(...sectionIds) {\n if (sectionIds.length === 0) {\n await Promise.all(Array.from(__classPrivateFieldGet(this, _ResetMixinClass_callbacks, \"f\").values()).map((callback) => callback()));\n }\n else {\n await Promise.all(sectionIds.map((sectionId) => {\n var _b;\n if (!__classPrivateFieldGet(this, _ResetMixinClass_callbacks, \"f\").has(sectionId)) {\n throw new Error(`Callback for sectionId ${sectionId} does not exist`);\n }\n return (_b = __classPrivateFieldGet(this, _ResetMixinClass_callbacks, \"f\").get(sectionId)) === null || _b === void 0 ? void 0 : _b();\n }));\n }\n }\n },\n _ResetMixinClass_callbacks = new WeakMap(),\n _a;\n});\n\nexport { resetMixin };\n//# sourceMappingURL=resetMixin.js.map\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { staticResourcesMixin } from '../staticResourcesMixin/staticResourcesMixin.js';\nimport { CONFIG_FILENAME } from './constants.js';\nimport { resetMixin } from '../resetMixin.js';\nimport { initLifecycleMixin } from '../initLifecycleMixin.js';\n\nconst configMixin = createSingletonMixin((superclass) => {\n var _ConfigMixinClass_instances, _ConfigMixinClass_configCacheClear, _ConfigMixinClass__configResource, _ConfigMixinClass_fetchConfig, _a;\n const BaseClass = compose(staticResourcesMixin, resetMixin, initLifecycleMixin)(superclass);\n return _a = class ConfigMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _ConfigMixinClass_instances.add(this);\n _ConfigMixinClass__configResource.set(this, void 0);\n _ConfigMixinClass_fetchConfig.set(this, async () => {\n try {\n const { body, headers, } = await this.fetchStaticResource(CONFIG_FILENAME, 'json');\n return {\n projectConfig: body,\n executionContext: { geo: headers['x-geo'] },\n };\n }\n catch (e) {\n this.logger.error('Cannot fetch config file', 'make sure that your projectId & flowId are correct');\n }\n return undefined;\n });\n }\n async init() {\n await super.init();\n this.onReset('config', __classPrivateFieldGet(this, _ConfigMixinClass_instances, \"m\", _ConfigMixinClass_configCacheClear).bind(this));\n }\n get config() {\n if (!__classPrivateFieldGet(this, _ConfigMixinClass__configResource, \"f\")) {\n __classPrivateFieldSet(this, _ConfigMixinClass__configResource, __classPrivateFieldGet(this, _ConfigMixinClass_fetchConfig, \"f\").call(this), \"f\");\n }\n return __classPrivateFieldGet(this, _ConfigMixinClass__configResource, \"f\");\n }\n },\n _ConfigMixinClass__configResource = new WeakMap(),\n _ConfigMixinClass_fetchConfig = new WeakMap(),\n _ConfigMixinClass_instances = new WeakSet(),\n _ConfigMixinClass_configCacheClear = function _ConfigMixinClass_configCacheClear() {\n __classPrivateFieldSet(this, _ConfigMixinClass__configResource, undefined, \"f\");\n },\n _a;\n});\n\nexport { configMixin };\n//# sourceMappingURL=configMixin.js.map\n","const BASE_URLS = [\n 'https://descopecdn.com',\n 'https://static.descope.com',\n 'https://cdn.jsdelivr.net',\n];\n\nexport { BASE_URLS };\n//# sourceMappingURL=constants.js.map\n","const getExistingScript = (scriptId) => {\n return document.querySelector(`script#${scriptId}`);\n};\nconst isScriptLoaded = (script) => {\n return script.getAttribute('status') === 'loaded';\n};\nconst isScriptError = (script) => {\n return script.getAttribute('status') === 'error';\n};\nconst hashUrl = (url) => {\n let hash = 0;\n const urlStr = url.toString();\n for (let i = 0; i < urlStr.length; i++) {\n const char = urlStr.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32-bit integer\n }\n return `${Math.abs(hash).toString()}`;\n};\nconst setupScript = (id, integrity) => {\n const scriptEle = document.createElement('script');\n scriptEle.id = id;\n if (integrity) {\n scriptEle.integrity = integrity;\n scriptEle.crossOrigin = 'anonymous';\n }\n if (window.DESCOPE_NONCE) {\n scriptEle.setAttribute('nonce', window.DESCOPE_NONCE);\n }\n return scriptEle;\n};\nconst injectScript = (scriptId, url, integrity) => {\n return new Promise((res, rej) => {\n const scriptEle = setupScript(scriptId, integrity);\n scriptEle.onerror = (error) => {\n scriptEle.setAttribute('status', 'error');\n rej(error);\n };\n scriptEle.onload = () => {\n scriptEle.setAttribute('status', 'loaded');\n res(scriptEle);\n };\n scriptEle.src = url.toString();\n document.body.appendChild(scriptEle);\n });\n};\nconst handleExistingScript = (existingScript, expectedIntegrity) => {\n if (expectedIntegrity) {\n const actualIntegrity = existingScript.integrity;\n if (actualIntegrity !== expectedIntegrity) {\n return Promise.reject(new Error(`Integrity mismatch: expected ${expectedIntegrity}, found ${actualIntegrity}`));\n }\n }\n if (isScriptLoaded(existingScript)) {\n return Promise.resolve(existingScript);\n }\n if (isScriptError(existingScript)) {\n return Promise.reject();\n }\n return new Promise((res, rej) => {\n existingScript.addEventListener('load', () => {\n res(existingScript);\n });\n existingScript.addEventListener('error', (error) => {\n rej(error);\n });\n });\n};\nconst injectScriptWithFallbacks = async (scriptsData, onError) => {\n for (const scriptData of scriptsData) {\n const { id, url, integrity } = scriptData;\n const existingScript = getExistingScript(id);\n if (existingScript) {\n try {\n await handleExistingScript(existingScript, integrity);\n return scriptData;\n }\n catch (e) {\n onError(scriptData, true);\n }\n }\n else {\n try {\n await injectScript(id, url, integrity);\n return scriptData;\n }\n catch (e) {\n onError(scriptData, false);\n }\n }\n }\n throw new Error('All scripts failed to load');\n};\nconst generateLibUrls = (baseUrls, libName, version, path = '', integrity) => baseUrls.reduce((prev, curr) => {\n const baseUrl = curr;\n if (!baseUrl) {\n return prev;\n }\n let url;\n try {\n url = new URL(baseUrl);\n }\n catch (e) {\n throw new Error(`Invalid URL: ${baseUrl}`);\n }\n const isUrlIncludesPath = url.pathname !== '/';\n if (!isUrlIncludesPath) {\n url.pathname = `/npm/${libName}@${version}/${path}`;\n }\n const scriptData = {\n url: url,\n id: `npmlib-${libName.replaceAll('@', '').replaceAll('/', '_')}-${hashUrl(url)}`,\n };\n if (integrity) {\n scriptData.integrity = integrity;\n }\n return [...prev, scriptData];\n}, []);\n\nexport { generateLibUrls, injectScriptWithFallbacks };\n//# sourceMappingURL=helpers.js.map\n","import { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { loggerMixin } from '../loggerMixin/loggerMixin.js';\nimport { BASE_URLS } from './constants.js';\nimport { injectScriptWithFallbacks, generateLibUrls } from './helpers.js';\n\nconst injectNpmLibMixin = createSingletonMixin((superclass) => {\n const BaseClass = compose(loggerMixin)(superclass);\n return class InjectNpmLibMixinClass extends BaseClass {\n get baseCdnUrl() {\n return this.getAttribute('base-cdn-url') || '';\n }\n injectNpmLib(libName, version, filePath = '', overrides = [], integrity) {\n this.logger.debug(`Injecting npm lib: \"${libName}\" with version: \"${version}\"${integrity ? ' with SRI integrity check' : ''}`);\n return injectScriptWithFallbacks(generateLibUrls([...overrides, this.baseCdnUrl, ...BASE_URLS], libName, version, filePath, integrity), (scriptData, existingScript) => {\n if (existingScript) {\n this.logger.error(`Existing script cannot be loaded: \"${scriptData.url}\"`);\n return;\n }\n this.logger.error(`Cannot load script from URL, Make sure this URL is valid and return the correct script: \"${scriptData.url}\"`);\n });\n }\n };\n});\n\nexport { injectNpmLibMixin };\n//# sourceMappingURL=injectNpmLibMixin.js.map\n","const getDescopeUiComponentsList = (template) => [\n ...Array.from(template.content.querySelectorAll('*')).reduce((acc, el) => el.localName.startsWith('descope-') ? acc.add(el.localName) : acc, new Set()),\n];\n\nexport { getDescopeUiComponentsList };\n//# sourceMappingURL=helpers.js.map\n","import { IS_LOCAL_STORAGE } from '../../constants.js';\n\nconst UI_COMPONENTS_URL_KEY = 'base.ui.components.url';\nconst LOCAL_STORAGE_OVERRIDE = IS_LOCAL_STORAGE && localStorage.getItem(UI_COMPONENTS_URL_KEY);\nconst JS_FILE_PATH = 'dist/umd/index.js';\nconst WEB_COMPONENTS_UI_LIB_NAME = '@descope/web-components-ui';\n\nexport { JS_FILE_PATH, LOCAL_STORAGE_OVERRIDE, UI_COMPONENTS_URL_KEY, WEB_COMPONENTS_UI_LIB_NAME };\n//# sourceMappingURL=constants.js.map\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { configMixin } from '../configMixin/configMixin.js';\nimport { injectNpmLibMixin } from '../injectNpmLibMixin/injectNpmLibMixin.js';\nimport { loggerMixin } from '../loggerMixin/loggerMixin.js';\nimport { getDescopeUiComponentsList } from './helpers.js';\nimport { WEB_COMPONENTS_UI_LIB_NAME, JS_FILE_PATH, LOCAL_STORAGE_OVERRIDE } from './constants.js';\n\nconst descopeUiMixin = createSingletonMixin((superclass) => {\n var _DescopeUiMixinClass_instances, _DescopeUiMixinClass_getComponentsVersion, _DescopeUiMixinClass_getComponentsVersionSri, _DescopeUiMixinClass_descopeUi, _DescopeUiMixinClass_loadDescopeUiComponent, _DescopeUiMixinClass_getDescopeUi, _a;\n const BaseClass = compose(loggerMixin, configMixin, injectNpmLibMixin)(superclass);\n return _a = class DescopeUiMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _DescopeUiMixinClass_instances.add(this);\n _DescopeUiMixinClass_descopeUi.set(this, void 0);\n }\n get descopeUi() {\n if (!__classPrivateFieldGet(this, _DescopeUiMixinClass_descopeUi, \"f\")) {\n __classPrivateFieldSet(this, _DescopeUiMixinClass_descopeUi, __classPrivateFieldGet(this, _DescopeUiMixinClass_instances, \"m\", _DescopeUiMixinClass_getDescopeUi).call(this), \"f\");\n }\n return __classPrivateFieldGet(this, _DescopeUiMixinClass_descopeUi, \"f\");\n }\n async loadDescopeUiComponents(templateOrComponentNames) {\n const descopeUiComponentsList = Array.isArray(templateOrComponentNames)\n ? templateOrComponentNames\n : getDescopeUiComponentsList(templateOrComponentNames);\n return Promise.all(descopeUiComponentsList.map((componentName) => __classPrivateFieldGet(this, _DescopeUiMixinClass_instances, \"m\", _DescopeUiMixinClass_loadDescopeUiComponent).call(this, componentName)));\n }\n },\n _DescopeUiMixinClass_descopeUi = new WeakMap(),\n _DescopeUiMixinClass_instances = new WeakSet(),\n _DescopeUiMixinClass_getComponentsVersion = \n // eslint-disable-next-line class-methods-use-this\n async function _DescopeUiMixinClass_getComponentsVersion() {\n var _b;\n const config = await this.config;\n const componentsVersion = (_b = config === null || config === void 0 ? void 0 : config.projectConfig) === null || _b === void 0 ? void 0 : _b.componentsVersion;\n if (!componentsVersion) {\n this.logger.error('Could not get components version');\n }\n else {\n this.logger.debug(`Got component version \"${componentsVersion}\"`);\n }\n return componentsVersion;\n },\n _DescopeUiMixinClass_getComponentsVersionSri = async function _DescopeUiMixinClass_getComponentsVersionSri() {\n var _b;\n const config = await this.config;\n const componentsVersionSri = (_b = config === null || config === void 0 ? void 0 : config.projectConfig) === null || _b === void 0 ? void 0 : _b.componentsVersionSri;\n if (componentsVersionSri) {\n this.logger.debug('SRI hash available for components');\n }\n return componentsVersionSri;\n },\n _DescopeUiMixinClass_loadDescopeUiComponent = async function _DescopeUiMixinClass_loadDescopeUiComponent(componentName) {\n const isComponentAlreadyDefined = !!customElements.get(componentName);\n if (isComponentAlreadyDefined) {\n this.logger.debug(`Loading component \"${componentName}\" is skipped as it is already defined`);\n return undefined;\n }\n const descopeUI = await this.descopeUi;\n if (!descopeUI[componentName]) {\n this.logger.error(`Cannot load UI component \"${componentName}\"`, `Descope UI does not have a component named \"${componentName}\", available components are: \"${Object.keys(descopeUI).join(', ')}\"`);\n return undefined;\n }\n try {\n // eslint-disable-next-line @typescript-eslint/return-await\n return await descopeUI[componentName]();\n }\n catch (e) {\n // this error is thrown when trying to register a component which is already registered\n // when running 2 flows on the same page, it might happen that the register fn is called twice\n // in case it happens, we are silently ignore the error\n if (e.name === 'NotSupportedError') {\n // eslint-disable-next-line no-console\n console.debug(`Encountered an error while attempting to define the \"${componentName}\" component, it is likely that this component is already defined`);\n }\n else {\n throw e;\n }\n }\n return undefined;\n },\n _DescopeUiMixinClass_getDescopeUi = async function _DescopeUiMixinClass_getDescopeUi() {\n if (globalThis.DescopeUI) {\n return globalThis.DescopeUI;\n }\n try {\n const componentsVersion = await __classPrivateFieldGet(this, _DescopeUiMixinClass_instances, \"m\", _DescopeUiMixinClass_getComponentsVersion).call(this);\n const componentsVersionSri = await __classPrivateFieldGet(this, _DescopeUiMixinClass_instances, \"m\", _DescopeUiMixinClass_getComponentsVersionSri).call(this);\n await this.injectNpmLib(WEB_COMPONENTS_UI_LIB_NAME, componentsVersion, JS_FILE_PATH, [LOCAL_STORAGE_OVERRIDE], componentsVersionSri);\n this.logger.debug('DescopeUI was loaded');\n return globalThis.DescopeUI;\n }\n catch (error) {\n this.logger.error(error);\n throw new Error('DescopeUI was not loaded');\n }\n },\n _a;\n});\n\nexport { descopeUiMixin };\n//# sourceMappingURL=descopeUiMixin.js.map\n","import { __classPrivateFieldGet } from 'tslib';\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { initLifecycleMixin } from './initLifecycleMixin.js';\nimport { observeAttributesMixin } from './observeAttributesMixin/observeAttributesMixin.js';\n\nconst cspNonceMixin = createSingletonMixin((superclass) => {\n var _CspNonceMixinClass_instances, _CspNonceMixinClass_setNonce, _a;\n const BaseClass = compose(initLifecycleMixin, observeAttributesMixin)(superclass);\n return _a = class CspNonceMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _CspNonceMixinClass_instances.add(this);\n }\n get nonce() {\n return this.getAttribute('nonce') || '';\n }\n async init() {\n var _b;\n await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));\n this.observeAttribute('nonce', __classPrivateFieldGet(this, _CspNonceMixinClass_instances, \"m\", _CspNonceMixinClass_setNonce).bind(this));\n __classPrivateFieldGet(this, _CspNonceMixinClass_instances, \"m\", _CspNonceMixinClass_setNonce).call(this);\n }\n },\n _CspNonceMixinClass_instances = new WeakSet(),\n _CspNonceMixinClass_setNonce = function _CspNonceMixinClass_setNonce() {\n if (this.nonce) {\n window.DESCOPE_NONCE = this.nonce;\n }\n },\n _a;\n});\n\nexport { cspNonceMixin };\n//# sourceMappingURL=cspNonceMixin.js.map\n","import { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { cspNonceMixin } from './cspNonceMixin.js';\n\n// we should mimic the CSSStyleSheet API for the fns we are using\nclass CSSStyleSheetMock {\n constructor(ref, nonce, { prepend = false } = {}) {\n this.styleEle = document.createElement('style');\n this.styleEle.setAttribute('nonce', nonce);\n this.ref = ref;\n if (!this.ref) {\n return;\n }\n if (prepend) {\n this.ref.prepend(this.styleEle);\n }\n else {\n this.ref.append(this.styleEle);\n }\n }\n replaceSync(cssString) {\n this.styleEle.textContent = cssString;\n }\n get cssRules() {\n var _a;\n return (_a = this.styleEle.sheet) === null || _a === void 0 ? void 0 : _a.cssRules;\n }\n}\nconst injectStyleMixin = createSingletonMixin((superclass) => {\n const BaseClass = compose(cspNonceMixin)(superclass);\n return class InjectStyleMixinClass extends BaseClass {\n injectStyle(cssString, { prepend = false } = {}) {\n let style;\n try {\n style = new CSSStyleSheet();\n }\n catch (e) {\n // fallback for browsers that don't support CSSStyleSheet\n style = new CSSStyleSheetMock(this.shadowRoot, this.nonce, {\n prepend,\n });\n }\n if (cssString) {\n style.replaceSync(cssString);\n }\n if (style instanceof CSSStyleSheet) {\n const ref = this.shadowRoot;\n if (ref && 'adoptedStyleSheets' in ref) {\n const adoptedStyleSheets = [...(ref.adoptedStyleSheets || [])];\n adoptedStyleSheets[prepend ? 'unshift' : 'push'](style);\n ref.adoptedStyleSheets = adoptedStyleSheets;\n }\n }\n return style;\n }\n };\n});\n\nexport { injectStyleMixin };\n//# sourceMappingURL=injectStyleMixin.js.map\n","import { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { injectStyleMixin } from './injectStyleMixin.js';\n\nconst CONTENT_ROOT_ID = 'content-root';\nconst ROOT_ID = 'root';\nconst initElementMixin = createSingletonMixin((superclass) => {\n const BaseClass = compose(injectStyleMixin)(superclass);\n return class InitElementMixinClass extends BaseClass {\n constructor(...rest) {\n var _a, _b;\n super(...rest);\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div id=\"${ROOT_ID}\">\n <div id=\"${CONTENT_ROOT_ID}\"></div>\n </div>\n `;\n this.injectStyle(`\n #${ROOT_ID}, #${CONTENT_ROOT_ID} {\n height: 100%;\n }\n #${ROOT_ID} {\n position: relative;\n height: fit-content;\n }\n `);\n this.contentRootElement =\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById(CONTENT_ROOT_ID);\n this.rootElement = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById(ROOT_ID);\n }\n };\n});\n\nexport { initElementMixin };\n//# sourceMappingURL=initElementMixin.js.map\n","// Those files are saved on a new folder to prevent breaking changes\nconst DEFAULT_STYLE_ID = 'theme';\n\nexport { DEFAULT_STYLE_ID };\n//# sourceMappingURL=constants.js.map\n","import { UI_COMPONENTS_URL_KEY } from '../descopeUiMixin/constants.js';\n\nconst loadFont = (url) => {\n const font = document.createElement('link');\n font.href = url;\n font.rel = 'stylesheet';\n document.head.appendChild(font);\n};\nconst loadDevTheme = async () => {\n const componentsUrl = localStorage.getItem(UI_COMPONENTS_URL_KEY);\n const descopeDevUrl = componentsUrl === null || componentsUrl === void 0 ? void 0 : componentsUrl.replace(/[^\\/]+$/, 'DescopeDev.js');\n // eslint-disable-next-line no-console\n console.warn('Trying to load DescopeDev.js from', descopeDevUrl);\n const scriptEle = document.createElement('script');\n scriptEle.src = descopeDevUrl;\n document.body.appendChild(scriptEle);\n await new Promise((resolve, reject) => {\n scriptEle.onload = resolve;\n scriptEle.onerror = reject;\n });\n if (globalThis.DescopeDev) {\n const { themeToStyle, defaultTheme, darkTheme } = globalThis.DescopeDev;\n return {\n light: themeToStyle(defaultTheme),\n dark: themeToStyle(darkTheme),\n };\n }\n};\n\nexport { loadDevTheme, loadFont };\n//# sourceMappingURL=helpers.js.map\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { configMixin } from '../configMixin/configMixin.js';\nimport { createValidateAttributesMixin } from '../createValidateAttributesMixin/createValidateAttributesMixin.js';\nimport { descopeUiMixin } from '../descopeUiMixin/descopeUiMixin.js';\nimport { initElementMixin } from '../initElementMixin.js';\nimport { initLifecycleMixin } from '../initLifecycleMixin.js';\nimport { staticResourcesMixin } from '../staticResourcesMixin/staticResourcesMixin.js';\nimport { DEFAULT_STYLE_ID } from './constants.js';\nimport { loadFont, loadDevTheme } from './helpers.js';\nimport { observeAttributesMixin } from '../observeAttributesMixin/observeAttributesMixin.js';\nimport { UI_COMPONENTS_URL_KEY } from '../descopeUiMixin/constants.js';\nimport { injectStyleMixin } from '../injectStyleMixin.js';\n\nconst themeValidation = (_, theme) => (theme || false) &&\n theme !== 'light' &&\n theme !== 'dark' &&\n 'Supported theme values are \"light\", \"dark\", or leave empty for using the OS theme';\nconst themeMixin = createSingletonMixin((superclass) => {\n var _ThemeMixinClass_instances, _ThemeMixinClass_globalStyle, _ThemeMixinClass__themeResource, _ThemeMixinClass_fetchTheme, _ThemeMixinClass_themeResource_get, _ThemeMixinClass_loadGlobalStyle, _ThemeMixinClass_loadComponentsStyle, _ThemeMixinClass_getFontsConfig, _ThemeMixinClass_loadFonts, _ThemeMixinClass_applyTheme, _ThemeMixinClass_onThemeChange, _ThemeMixinClass_loadTheme, _ThemeMixinClass_toggleOsThemeChangeListener, _a;\n const BaseClass = compose(createValidateAttributesMixin({ theme: themeValidation }), staticResourcesMixin, initLifecycleMixin, descopeUiMixin, configMixin, initElementMixin, observeAttributesMixin, injectStyleMixin)(superclass);\n return _a = class ThemeMixinClass extends BaseClass {\n constructor() {\n super(...arguments);\n _ThemeMixinClass_instances.add(this);\n _ThemeMixinClass_globalStyle.set(this, void 0);\n _ThemeMixinClass__themeResource.set(this, void 0);\n _ThemeMixinClass_onThemeChange.set(this, () => {\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadTheme).call(this);\n __classPrivateFieldGet(this, _ThemeMixinClass_toggleOsThemeChangeListener, \"f\").call(this, this.getAttribute('theme') === 'os');\n });\n // add or remove os theme change listener\n _ThemeMixinClass_toggleOsThemeChangeListener.set(this, (listen) => {\n var _b, _c, _d;\n const method = listen ? 'addEventListener' : 'removeEventListener';\n (_d = (_c = (_b = window\n .matchMedia) === null || _b === void 0 ? void 0 : _b.call(window, '(prefers-color-scheme: dark)')) === null || _c === void 0 ? void 0 : _c[method]) === null || _d === void 0 ? void 0 : _d.call(_c, 'change', () => __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadTheme).call(this));\n });\n }\n get theme() {\n var _b, _c;\n const theme = this.getAttribute('theme');\n if (theme === 'os') {\n const isOsDark = window.matchMedia &&\n ((_c = (_b = window.matchMedia) === null || _b === void 0 ? void 0 : _b.call(window, '(prefers-color-scheme: dark)')) === null || _c === void 0 ? void 0 : _c.matches);\n return isOsDark ? 'dark' : 'light';\n }\n return theme || 'light';\n }\n get styleId() {\n return this.getAttribute('style-id') || DEFAULT_STYLE_ID;\n }\n async init() {\n var _b;\n await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));\n __classPrivateFieldGet(this, _ThemeMixinClass_onThemeChange, \"f\").call(this);\n await Promise.all([\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadGlobalStyle).call(this),\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadComponentsStyle).call(this),\n ]);\n this.observeAttributes(['theme'], __classPrivateFieldGet(this, _ThemeMixinClass_onThemeChange, \"f\"));\n this.observeAttributes(['style-id'], () => {\n __classPrivateFieldSet(this, _ThemeMixinClass__themeResource, null, \"f\");\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadFonts).call(this);\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadGlobalStyle).call(this);\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadComponentsStyle).call(this);\n });\n }\n },\n _ThemeMixinClass_globalStyle = new WeakMap(),\n _ThemeMixinClass__themeResource = new WeakMap(),\n _ThemeMixinClass_onThemeChange = new WeakMap(),\n _ThemeMixinClass_toggleOsThemeChangeListener = new WeakMap(),\n _ThemeMixinClass_instances = new WeakSet(),\n _ThemeMixinClass_fetchTheme = async function _ThemeMixinClass_fetchTheme() {\n try {\n const { body: fetchedTheme } = await this.fetchStaticResource(`${this.styleId}.json`, 'json');\n // In development mode, we sometimes want to override the UI components URL\n // The override components might have a different theme, so we need to merge it with the project theme in order to see the components correctly\n if (process.env.NODE_ENV === 'development') {\n if (localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem(UI_COMPONENTS_URL_KEY)) {\n try {\n this.logger.warn('You are in DEV mode, and UI components override URL was found\\ntrying to merge project theme with the default theme of the UI components');\n const devTheme = await loadDevTheme();\n if (devTheme) {\n fetchedTheme.light.components = Object.assign(Object.assign({}, fetchedTheme.light.components), devTheme.light.components);\n fetchedTheme.dark.components = Object.assign(Object.assign({}, fetchedTheme.dark.components), devTheme.dark.components);\n this.logger.warn('Theme was merged successfully');\n // eslint-disable-next-line no-console\n console.log('%cNOTICE! This is not the theme that will be used in production!\\n\\nMake sure to test it without the override UI components URL!', 'color: black; background-color:yellow; font-size: x-large');\n }\n }\n catch (e) {\n this.logger.error('Failed to merge UI components theme\\n', e);\n }\n }\n }\n return fetchedTheme;\n }\n catch (e) {\n this.logger.error('Cannot fetch theme file', 'make sure that your projectId & flowId are correct');\n }\n return undefined;\n },\n _ThemeMixinClass_themeResource_get = function _ThemeMixinClass_themeResource_get() {\n if (!__classPrivateFieldGet(this, _ThemeMixinClass__themeResource, \"f\")) {\n __classPrivateFieldSet(this, _ThemeMixinClass__themeResource, __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_fetchTheme).call(this), \"f\");\n __classPrivateFieldGet(this, _ThemeMixinClass__themeResource, \"f\").then((theme) => this.logger.debug('Fetched theme', theme));\n }\n // eslint-disable-next-line no-underscore-dangle\n return __classPrivateFieldGet(this, _ThemeMixinClass__themeResource, \"f\");\n },\n _ThemeMixinClass_loadGlobalStyle = async function _ThemeMixinClass_loadGlobalStyle() {\n var _b, _c;\n const theme = await __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"a\", _ThemeMixinClass_themeResource_get);\n if (!theme)\n return;\n if (!__classPrivateFieldGet(this, _ThemeMixinClass_globalStyle, \"f\")) {\n __classPrivateFieldSet(this, _ThemeMixinClass_globalStyle, this.injectStyle(''), \"f\");\n }\n __classPrivateFieldGet(this, _ThemeMixinClass_globalStyle, \"f\").replaceSync((((_b = theme === null || theme === void 0 ? void 0 : theme.light) === null || _b === void 0 ? void 0 : _b.globals) || '') + (((_c = theme === null || theme === void 0 ? void 0 : theme.dark) === null || _c === void 0 ? void 0 : _c.globals) || ''));\n },\n _ThemeMixinClass_loadComponentsStyle = async function _ThemeMixinClass_loadComponentsStyle() {\n var _b, _c;\n const theme = await __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"a\", _ThemeMixinClass_themeResource_get);\n if (!theme)\n return;\n const descopeUi = await this.descopeUi;\n if (descopeUi === null || descopeUi === void 0 ? void 0 : descopeUi.componentsThemeManager) {\n descopeUi.componentsThemeManager.themes = {\n light: (_b = theme === null || theme === void 0 ? void 0 : theme.light) === null || _b === void 0 ? void 0 : _b.components,\n dark: (_c = theme === null || theme === void 0 ? void 0 : theme.dark) === null || _c === void 0 ? void 0 : _c.components,\n };\n }\n },\n _ThemeMixinClass_getFontsConfig = async function _ThemeMixinClass_getFontsConfig() {\n var _b, _c;\n const { projectConfig } = (await this.config) || {};\n const newConfig = (_b = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.styles) === null || _b === void 0 ? void 0 : _b[this.styleId];\n const oldConfig = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.cssTemplate;\n const config = newConfig || oldConfig;\n const fonts = (_c = config === null || config === void 0 ? void 0 : config[this.theme]) === null || _c === void 0 ? void 0 : _c.fonts;\n return fonts;\n },\n _ThemeMixinClass_loadFonts = async function _ThemeMixinClass_loadFonts() {\n const fonts = await __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_getFontsConfig).call(this);\n if (fonts) {\n Object.values(fonts).forEach((font) => {\n if (font.url) {\n this.logger.debug(`Loading font from URL \"${font.url}\"`);\n loadFont(font.url);\n }\n });\n }\n else {\n this.logger.debug('No fonts to load');\n }\n },\n _ThemeMixinClass_applyTheme = async function _ThemeMixinClass_applyTheme() {\n this.rootElement.setAttribute('data-theme', this.theme);\n const descopeUi = await this.descopeUi;\n if (descopeUi === null || descopeUi === void 0 ? void 0 : descopeUi.componentsThemeManager) {\n descopeUi.componentsThemeManager.currentThemeName = this.theme;\n }\n },\n _ThemeMixinClass_loadTheme = function _ThemeMixinClass_loadTheme() {\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_loadFonts).call(this);\n __classPrivateFieldGet(this, _ThemeMixinClass_instances, \"m\", _ThemeMixinClass_applyTheme).call(this);\n },\n _a;\n});\n\nexport { themeMixin };\n//# sourceMappingURL=themeMixin.js.map\n","const e=(t,r=\"\")=>Object.keys(t).reduce(((s,a)=>{var n;if(Array.isArray(t[a]))return Object.assign(Object.assign({},s),{[a]:{value:t[a].map((t=>\"object\"==typeof t&&null!==t?e(t):t))}});if(\"object\"==typeof t[a]&&null!==t[a]&&!(null===(n=t[a])||void 0===n?void 0:n.value))return Object.assign(Object.assign({},s),e(t[a],`${r+a}.`));const c=\"object\"==typeof t[a]?t[a]:{value:t[a]},i=Object.assign(Object.assign({},s),{[r+a]:c,[`form.${r}${a}`]:c});return\"displayName\"===a?Object.assign(Object.assign({},i),{[`${r}fullName`]:c,[`form.${r}fullName`]:c}):i}),[]),t=t=>{try{return e(JSON.parse(t))}catch(e){return{}}},r=(e,t)=>Object.fromEntries(Object.entries(e).map((([e,r])=>[e,r[t]])));export{r as extractNestedAttribute,t as transformFlowInputFormData};\n//# sourceMappingURL=flowInputs.js.map\n","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};\n//# sourceMappingURL=formMountMixin.js.map\n","import{__classPrivateFieldGet as t,__awaiter as e,__classPrivateFieldSet as i}from\"tslib\";import{compose as r}from\"@descope/sdk-helpers\";import{staticResourcesMixin as o}from\"@descope/sdk-mixins/static-resources-mixin\";import{themeMixin as s}from\"@descope/sdk-mixins/theme-mixin\";import{injectStyleMixin as n}from\"@descope/sdk-mixins/inject-style-mixin\";import{createSdk as u}from\"@descope/web-js-sdk\";import{ELEMENTS_TO_IGNORE_ENTER_KEY_ON as a}from\"../constants/index.js\";import{handleUrlParams as l,clearRunIdsFromUrl as d,camelCase as c,getRunIdsFromUrl as h,getContentUrl as g,fetchContent as f,withRetry as p}from\"../helpers/helpers.js\";import m from\"../helpers/state.js\";import\"@descope/escape-markdown\";import\"../helpers/webauthn.js\";import{setCustomStorage as b}from\"../helpers/storage.js\";import{transformFlowInputFormData as v,extractNestedAttribute as w}from\"../helpers/flowInputs.js\";import{formMountMixin as k}from\"../mixins/formMountMixin.js\";import{CONFIG_FILENAME as C,PREV_VER_ASSETS_FOLDER as y}from\"../constants/content.js\";import{FETCH_EXCEPTION_ERROR_CODE as A}from\"../constants/general.js\";var x,I,j,E,L,S,U,M,O,W,D,P,N,F,K,R,T,B,H,J,V,q;const $=r(s,o,k,n)(HTMLElement);class z extends ${static get observedAttributes(){return[\"project-id\",\"flow-id\",\"base-url\",\"tenant\",\"locale\",\"debug\",\"storage-prefix\",\"preview\",\"redirect-url\",\"auto-focus\",\"store-last-authenticated-user\",\"refresh-cookie-name\",\"keep-last-authenticated-user-after-logout\",\"validate-on-blur\",\"style-id\"]}constructor(r){super(),x.add(this),j.set(this,!1),E.set(this,void 0),this.flowStatus=\"initial\",this.loggerWrapper={error:(e,i=\"\")=>{this.logger.error(e,i,new Error),t(this,x,\"m\",q).call(this,e,i)},warn:(t,e=\"\")=>{this.logger.warn(t,e)},info:(t,e=\"\",i={})=>{this.logger.info(t,e,i)},debug:(t,e=\"\")=>{this.logger.debug(t,e)}},L.set(this,new m),S.set(this,new m),U.set(this,{}),this.getComponentsContext=()=>t(this,U,\"f\"),this.nextRequestStatus=new m({isLoading:!1}),M.set(this,void 0),O.set(this,{popstate:t(this,x,\"m\",F).bind(this),componentsContext:t(this,x,\"m\",H).bind(this)}),W.set(this,void 0),this.getConfig=()=>e(this,void 0,void 0,(function*(){return(yield this.config)||{isMissingConfig:!0}})),i(this,W,r,\"f\"),t(this,x,\"m\",P).call(this)}get flowId(){return this.getAttribute(\"flow-id\")}get client(){try{return JSON.parse(this.getAttribute(\"client\"))||{}}catch(t){return{}}}get tenantId(){return this.getAttribute(\"tenant\")||void 0}get redirectUrl(){return this.getAttribute(\"redirect-url\")||void 0}get debug(){return\"true\"===this.getAttribute(\"debug\")}get locale(){return this.getAttribute(\"locale\")||void 0}get autoFocus(){var t;const e=null!==(t=this.getAttribute(\"auto-focus\"))&&void 0!==t?t:\"true\";return\"skipFirstScreen\"===e?e:\"true\"===e}get validateOnBlur(){return\"true\"===this.getAttribute(\"validate-on-blur\")}get storeLastAuthenticatedUser(){var t;return\"true\"===(null!==(t=this.getAttribute(\"store-last-authenticated-user\"))&&void 0!==t?t:\"true\")}get refreshCookieName(){return this.getAttribute(\"refresh-cookie-name\")||\"\"}get keepLastAuthenticatedUserAfterLogout(){return\"true\"===this.getAttribute(\"keep-last-authenticated-user-after-logout\")}get storagePrefix(){return this.getAttribute(\"storage-prefix\")||\"\"}get preview(){return!!this.getAttribute(\"preview\")}get formConfig(){return v(this.form)}get form(){return this.getAttribute(\"form\")}get formConfigValues(){return w(this.formConfig,\"value\")}get outboundAppId(){return this.getAttribute(\"outbound-app-id\")}get outboundAppScopes(){try{const t=JSON.parse(this.getAttribute(\"outbound-app-scopes\"));return t||null}catch(t){return null}}get popupOrigin(){return this.getAttribute(\"popup-origin\")}get customStorage(){return t(this,E,\"f\")}set customStorage(t){if(t&&\"function\"!=typeof t.getItem)throw new Error(\"Custom storage must have a getItem method\");if(t&&\"function\"!=typeof t.setItem)throw new Error(\"Custom storage must have a setItem method\");if(t&&\"function\"!=typeof t.removeItem)throw new Error(\"Custom storage must have a removeItem method\");i(this,E,t,\"f\"),b(t)}get isRestartOnError(){return\"true\"===this.getAttribute(\"restart-on-error\")}getExecutionContext(){return e(this,void 0,void 0,(function*(){const t=yield this.getConfig();return\"executionContext\"in t?t.executionContext:void 0}))}getProjectConfig(){return e(this,void 0,void 0,(function*(){const t=yield this.getConfig();return\"projectConfig\"in t?t.projectConfig:void 0}))}getFlowConfig(){return e(this,void 0,void 0,(function*(){var t,e;const i=yield this.getProjectConfig(),r=(null===(t=null==i?void 0:i.flows)||void 0===t?void 0:t[this.flowId])||{};return null!==(e=r.version)&&void 0!==e||(r.version=0),r}))}getTargetLocales(){return e(this,void 0,void 0,(function*(){const t=yield this.getFlowConfig();return((null==t?void 0:t.targetLocales)||[]).map((t=>t.toLowerCase()))}))}handleKeyPress(){this.logger.debug(\"Enable key press handler\"),this.rootElement.onkeydown=t=>{var e,i,r;const o=!!(null===(e=this.shadowRoot.activeElement)||void 0===e?void 0:e.getAttribute(\"href\")),s=a.includes(null!==(r=null===(i=this.shadowRoot.activeElement)||void 0===i?void 0:i.localName)&&void 0!==r?r:\"\");if(\"Enter\"!==t.key||o||s)return;t.preventDefault();const n=this.rootElement.querySelectorAll(\"descope-button\");if(1===n.length&&\"false\"!==n[0].getAttribute(\"auto-submit\"))return void n[0].click();const u=Array.from(n).filter((t=>\"true\"===t.getAttribute(\"auto-submit\")));if(1===u.length)return void u[0].click();const l=Array.from(n).filter((t=>\"button\"===t.getAttribute(\"data-type\")));if(1===l.length)\"false\"!==l[0].getAttribute(\"auto-submit\")&&l[0].click();else if(0===l.length){const t=Array.from(n).filter((t=>\"sso\"===t.getAttribute(\"data-type\")));1===t.length&&\"false\"!==t[0].getAttribute(\"auto-submit\")&&t[0].click()}}}disableKeyPressHandler(){this.logger.debug(\"Disable key press handler\"),this.rootElement.onkeydown=null}getComponentsVersion(){return e(this,void 0,void 0,(function*(){var t;const e=yield this.getConfig(),i=\"projectConfig\"in e?null===(t=e.projectConfig)||void 0===t?void 0:t.componentsVersion:{};return i||(this.logger.error(\"Did not get components version, using latest version\"),\"latest\")}))}init(){const r=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;if(this.flowStatus=\"loading\",[\"ready\",\"error\",\"success\"].forEach((t=>this.addEventListener(t,(()=>{this.flowStatus=t})))),yield null===(e=r.init)||void 0===e?void 0:e.call(this),t(this,S,\"f\").subscribe(t(this,x,\"m\",V).bind(this)),t(this,S,\"f\").update({isDebug:this.debug}),t(this,x,\"m\",N).call(this),yield t(this,x,\"m\",T).call(this))return void this.loggerWrapper.error(\"This SDK version does not support your flows version\",\"Make sure to upgrade your flows to the latest version or use an older SDK version\");const o=yield this.getConfig();if(\"isMissingConfig\"in o&&o.isMissingConfig)return void this.loggerWrapper.error(\"Cannot get config file\",\"Make sure that your projectId & flowId are correct\");const{executionId:s,stepId:n,token:u,code:a,isPopup:d,exchangeError:c,redirectAuthCallbackUrl:h,redirectAuthBackupCallbackUri:g,redirectAuthCodeChallenge:f,redirectAuthInitiator:p,ssoQueryParams:m}=l(this.flowId,this.loggerWrapper);window.addEventListener(\"popstate\",t(this,O,\"f\").popstate),window.addEventListener(\"components-context\",t(this,O,\"f\").componentsContext),t(this,L,\"f\").subscribe(t(this,x,\"m\",R).bind(this)),t(this,L,\"f\").update(Object.assign({projectId:this.projectId,flowId:this.flowId,baseUrl:this.baseUrl,tenant:this.tenantId,redirectUrl:this.redirectUrl,locale:this.locale,stepId:n,executionId:s,token:u,code:a,isPopup:d,exchangeError:c,redirectAuthCallbackUrl:h,redirectAuthBackupCallbackUri:g,redirectAuthCodeChallenge:f,redirectAuthInitiator:p},m)),i(this,j,!0,\"f\")}))}disconnectedCallback(){t(this,L,\"f\").unsubscribeAll(),t(this,S,\"f\").unsubscribeAll(),t(this,x,\"m\",J).call(this),window.removeEventListener(\"popstate\",t(this,O,\"f\").popstate),window.removeEventListener(\"components-context\",t(this,O,\"f\").componentsContext)}attributeChangedCallback(e,i,r){if(this.shadowRoot.isConnected&&t(this,j,\"f\")&&i!==r&&I.observedAttributes.includes(e)){t(this,x,\"m\",N).call(this);const o=null===i;t(this,L,\"f\").update((({stepId:t,executionId:i})=>{let s=t,n=i;return o||(n=null,s=null,d()),{[c(e)]:r,stepId:s,executionId:n}})),t(this,S,\"f\").update({isDebug:this.debug})}}}I=z,j=new WeakMap,E=new WeakMap,L=new WeakMap,S=new WeakMap,U=new WeakMap,M=new WeakMap,O=new WeakMap,W=new WeakMap,x=new WeakSet,D=function(){this.injectStyle(\"\\n :host {\\n\\t\\t\\twidth: 100%;\\n display: block;\\n\\t\\t}\\n\\n\\t\\t#root {\\n\\t\\t\\theight: 100%;\\n display: flex;\\n flex-direction: column;\\n\\t\\t}\\n\\n #content-root {\\n all: initial;\\n transition: opacity 200ms ease-in-out;\\n }\\n\\n\\t\\t#root[data-theme] {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t.fade-out {\\n\\t\\t\\topacity: 0.1!important;\\n\\t\\t}\\n\\n .hidden {\\n display: none;\\n }\\n \")},P=function(){t(this,x,\"m\",D).call(this),this.slotElement=document.createElement(\"slot\"),this.slotElement.classList.add(\"hidden\"),this.rootElement.appendChild(this.slotElement)},N=function(){const t=[\"base-url\",\"tenant\",\"locale\",\"debug\",\"redirect-url\",\"auto-focus\",\"store-last-authenticated-user\",\"refresh-cookie-name\",\"keep-last-authenticated-user-after-logout\",\"preview\",\"storage-prefix\",\"form\",\"client\",\"validate-on-blur\",\"style-id\",\"outbound-app-id\",\"outbound-app-scopes\"];I.observedAttributes.forEach((e=>{if(!t.includes(e)&&!this[c(e)])throw Error(`${e} cannot be empty`)}))},F=function(){const{stepId:e,executionId:i}=h(this.flowId);t(this,L,\"f\").update({stepId:e,executionId:i})},K=function(i,r){u&&\"function\"==typeof u||this.logger.error(\"SDK was not loaded properly\",u,JSON.stringify(u));const o=Object.assign(Object.assign({persistTokens:!0,preview:this.preview,storagePrefix:this.storagePrefix,storeLastAuthenticatedUser:this.storeLastAuthenticatedUser,keepLastAuthenticatedUserAfterLogout:this.keepLastAuthenticatedUserAfterLogout,refreshCookieName:this.refreshCookieName},I.sdkConfigOverrides),{projectId:i,baseUrl:r});t(this,E,\"f\")&&(o.customStorage=t(this,E,\"f\")),this.sdk=u(o),[\"start\",\"next\"].forEach((t=>{const i=this.sdk.flow[t],r=p(i,1e3,3);this.sdk.flow[t]=(...i)=>e(this,void 0,void 0,(function*(){try{return yield r(...i)}catch(e){return this.logger.error(`Error in sdk flow ${t} function`,e),{error:{errorCode:A,errorDescription:e.toString()}}}}))}))},R=function(i,r,o){return e(this,void 0,void 0,(function*(){const{projectId:e,baseUrl:r}=i;if(o(\"projectId\")||o(\"baseUrl\")){if(!e)return;t(this,x,\"m\",K).call(this,e,r)}t(this,W,\"f\").call(this,i)}))},T=function(){return e(this,void 0,void 0,(function*(){const e=yield this.getConfig();return\"isMissingConfig\"in e&&e.isMissingConfig&&(yield t(this,x,\"m\",B).call(this))}))},B=function(){return e(this,void 0,void 0,(function*(){const t=g({projectId:this.projectId,filename:C,assetsFolder:y,baseUrl:this.baseStaticUrl});try{return yield f(t,\"json\"),!0}catch(t){return!1}}))},H=function(e){i(this,U,Object.assign(Object.assign({},t(this,U,\"f\")),e.detail),\"f\")},J=function(){var e;null===(e=t(this,M,\"f\"))||void 0===e||e.remove(),i(this,M,null,\"f\")},V=function(r){return e(this,arguments,void 0,(function*({isDebug:e}){e?(i(this,M,document.createElement(\"descope-debugger\"),\"f\"),Object.assign(t(this,M,\"f\").style,{position:\"fixed\",top:\"0\",right:\"0\",height:\"100vh\",width:\"100vw\",pointerEvents:\"none\",zIndex:99999}),yield import(\"../debugger-wc.js\"),document.body.appendChild(t(this,M,\"f\"))):t(this,x,\"m\",J).call(this)}))},q=function(e,i){var r;e&&this.debug&&(null===(r=t(this,M,\"f\"))||void 0===r||r.updateData({title:e,description:i}))},z.sdkConfigOverrides={baseHeaders:{\"x-descope-sdk-name\":\"web-component\",\"x-descope-sdk-version\":\"3.56.0\"}};export{z as default};\n//# sourceMappingURL=BaseDescopeWc.js.map\n","import{__classPrivateFieldGet as e,__classPrivateFieldSet as t,__awaiter as i,__rest as s}from\"tslib\";import{ensureFingerprintIds as o,clearFingerprintData as n}from\"@descope/web-js-sdk\";import{RESPONSE_ACTIONS as r,CUSTOM_INTERACTIONS as a,URL_CODE_PARAM_NAME as l,URL_TOKEN_PARAM_NAME as d,URL_RUN_IDS_PARAM_NAME as c,SDK_SCRIPTS_LOAD_TIMEOUT as h,DESCOPE_ATTRIBUTE_EXCLUDE_FIELD as p,ELEMENT_TYPE_ATTRIBUTE as u,DESCOPE_ATTRIBUTE_EXCLUDE_NEXT_BUTTON as g}from\"../constants/index.js\";import{timeoutPromise as v,withMemCache as m,leadingDebounce as f,getUserLocale as b,showFirstScreenOnExecutionInit as w,injectSamlIdpForm as S,openCenteredPopup as y,getAnimationDirection as C,handleAutoFocus as I,transformStepStateForCustomScreen as k,getElementDescopeAttributes as R,getScriptResultPath as O,submitForm as W,transformScreenInputs as E,handleReportValidityOnBlur as x,getFirstNonEmptyValue as A,clearPreviousExternalInputs as j}from\"../helpers/helpers.js\";import T from\"../helpers/state.js\";import{disableWebauthnButtons as P,updateTemplateFromScreenState as L,setPhoneAutoDetectDefaultCode as U,setTOTPVariable as $,setNOTPVariable as N,setCssVars as M,updateScreenFromScreenState as q,replaceElementMessage as F}from\"../helpers/templates.js\";import{isConditionalLoginSupported as V}from\"../helpers/webauthn.js\";import{getABTestingKey as D}from\"../helpers/abTestingKey.js\";import{calculateConditions as B,calculateCondition as K}from\"../helpers/conditions.js\";import{setLastAuth as H,getLastAuth as _}from\"../helpers/lastAuth.js\";import G from\"./BaseDescopeWc.js\";import{FETCH_EXCEPTION_ERROR_CODE as J,FETCH_ERROR_RESPONSE_ERROR_CODE as z,FLOW_REQUESTED_IS_IN_OLD_VERSION_ERROR_CODE as Q,FLOW_TIMED_OUT_ERROR_CODE as X,POLLING_STATUS_NOT_FOUND_ERROR_CODE as Y}from\"../constants/general.js\";var Z,ee,te,ie,se,oe,ne,re,ae,le,de,ce,he,pe,ue,ge,ve,me,fe,be,we,Se,ye,Ce,Ie,ke,Re,Oe,We,Ee,xe,Ae,je,Te,Pe,Le,Ue,$e;class Ne extends G{static set sdkConfigOverrides(e){G.sdkConfigOverrides=e}static get sdkConfigOverrides(){return G.sdkConfigOverrides}constructor(){const s=new T({deferredRedirect:!1,deferredPolling:!1});super(s.update.bind(s)),Z.add(this),this.stepState=new T({}),ee.set(this,void 0),te.set(this,null),ie.set(this,null),se.set(this,{visibilitychange:e(this,Z,\"m\",oe).bind(this)}),this.bridgeVersion=2,this.nativeCallbacks={},pe.set(this,!1),this.handleRedirect=e=>{window.location.assign(e)},ge.set(this,(t=>{const i=()=>{this.contentRootElement.classList.toggle(\"hidden\",t),this.slotElement.classList.toggle(\"hidden\",!t),t&&(this.contentRootElement.innerHTML=\"\")};t&&this.contentRootElement.hasChildNodes()?e(this,Z,\"m\",ve).call(this,i):i()})),me.set(this,((s,o,n,l,d=!1)=>{const c=[X,Y];if(this.flowState.current.action===r.poll){if(e(this,be,\"f\").call(this)&&document.hidden)return this.logger.debug(\"polling - Deferring polling until in foreground\"),void this.flowState.update({deferredPolling:!0});this.logger.debug(\"polling - Scheduling polling request\");const r=Date.now(),h=d?500:2e3;t(this,ee,setTimeout((()=>i(this,void 0,void 0,(function*(){var t,i;this.logger.debug(\"polling - Calling next\");const p=this.sdk.flow.next(s,o,a.polling,n,l,{}),u=document.hidden&&!d&&Date.now()-r>h+500;let g;u&&this.logger.debug(\"polling - The polling seems to be throttled\");try{const e=u?1e3:6e3;g=yield v(e,p)}catch(t){return this.logger.warn(`polling - The ${u?\"throttled fetch\":\"fetch\"} call timed out or was aborted`),void e(this,me,\"f\").call(this,s,o,n,l,u)}if((null===(t=null==g?void 0:g.error)||void 0===t?void 0:t.errorCode)===J)return this.logger.debug(\"polling - Got a generic error due to exception in fetch call\"),void e(this,me,\"f\").call(this,s,o,n,l);this.logger.debug(\"polling - Got a response\"),(null==g?void 0:g.error)&&this.logger.debug(\"polling - Response has an error\",JSON.stringify(g.error,null,4)),(null===(i=null==g?void 0:g.error)||void 0===i?void 0:i.errorCode)&&c.includes(g.error.errorCode)?this.logger.debug(\"polling - Stopping polling due to error\"):e(this,me,\"f\").call(this,s,o,n,l),e(this,we,\"f\").call(this,g)}))),h),\"f\")}})),fe.set(this,(()=>{clearTimeout(e(this,ee,\"f\")),t(this,ee,null,\"f\")})),be.set(this,(()=>!!window.descopeBridge||/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))),we.set(this,(i=>{var s,o,n,a,l,d,c,h,p,u,g,v,m;if(!(null==i?void 0:i.ok)){const t=null===(s=null==i?void 0:i.response)||void 0===s?void 0:s.url,r=`${null===(o=null==i?void 0:i.response)||void 0===o?void 0:o.status} - ${null===(n=null==i?void 0:i.response)||void 0===n?void 0:n.statusText}`;e(this,Z,\"m\",Ue).call(this,\"error\",(null==i?void 0:i.error)||{errorCode:z,errorDescription:r,errorMessage:t}),this.loggerWrapper.error((null===(a=null==i?void 0:i.error)||void 0===a?void 0:a.errorDescription)||t,(null===(l=null==i?void 0:i.error)||void 0===l?void 0:l.errorMessage)||r);const c=null===(d=null==i?void 0:i.error)||void 0===d?void 0:d.errorCode;return void(c!==Q&&c!==X||!this.isRestartOnError||e(this,Z,\"m\",he).call(this))}null===(h=null===(c=i.data)||void 0===c?void 0:c.runnerLogs)||void 0===h||h.forEach((e=>{const{level:t,title:i,log:s}=e;t&&this.loggerWrapper[t]?this.loggerWrapper[t](i,s):this.loggerWrapper.info(i,s)}));const f=null===(g=null===(u=null===(p=i.data)||void 0===p?void 0:p.screen)||void 0===u?void 0:u.state)||void 0===g?void 0:g.errorText;(null===(v=i.data)||void 0===v?void 0:v.error)?this.loggerWrapper.error(`[${i.data.error.code}]: ${i.data.error.description}`,`${f?`${f} - `:\"\"}${i.data.error.message}`):f&&this.loggerWrapper.error(f);const{status:b,authInfo:w,lastAuth:S,action:y,openInNewTabUrl:C}=i.data;if(y!==r.poll&&e(this,fe,\"f\").call(this),\"completed\"===b){this.storeLastAuthenticatedUser&&H(S);const t=Object.assign({},w);return i.data.output&&Object.keys(i.data.output).length>0&&(t.flowOutput=i.data.output),void e(this,Z,\"m\",Ue).call(this,\"success\",t)}this.storeLastAuthenticatedUser&&H(S,!0),C&&window.open(C,\"_blank\");const{executionId:I,stepId:k,stepName:R,screen:O,redirect:W,webauthn:E,error:x,samlIdpResponse:A,nativeResponse:j}=i.data,T=Date.now();y!==r.poll?(this.loggerWrapper.info(`Step \"${R||`#${k}`}\" is ${b}`,\"\",{screen:O,status:b,stepId:k,stepName:R,action:y,error:x}),(null===(m=O.state)||void 0===m?void 0:m.clientScripts)&&t(this,ie,this.loadSdkScripts(O.state.clientScripts),\"f\"),this.flowState.update({stepId:k,stepName:R,executionId:I,action:y,redirectTo:null==W?void 0:W.url,redirectIsPopup:null==W?void 0:W.isPopup,screenId:null==O?void 0:O.id,screenState:null==O?void 0:O.state,webauthnTransactionId:null==E?void 0:E.transactionId,webauthnOptions:null==E?void 0:E.options,samlIdpResponseUrl:null==A?void 0:A.url,samlIdpResponseSamlResponse:null==A?void 0:A.samlResponse,samlIdpResponseRelayState:null==A?void 0:A.relayState,nativeResponseType:null==j?void 0:j.type,nativePayload:null==j?void 0:j.payload,reqTimestamp:T})):this.flowState.update({action:y,reqTimestamp:T})})),Se.set(this,m((()=>i(this,void 0,void 0,(function*(){var e;try{const t=yield this.sdk.webauthn.signIn.start(\"\",window.location.origin);return t.ok||this.loggerWrapper.warn(\"Webauthn start failed\",null===(e=null==t?void 0:t.error)||void 0===e?void 0:e.errorMessage),t.data}catch(e){this.loggerWrapper.warn(\"Webauthn start failed\",e.message)}}))))),Oe.set(this,null),je.set(this,f(((t,s)=>i(this,void 0,void 0,(function*(){var i;if(\"true\"===t.getAttribute(\"formnovalidate\")||e(this,Z,\"m\",ke).call(this)){const o=null==t?void 0:t.getAttribute(\"id\");e(this,Z,\"m\",We).call(this,t);const n=yield e(this,Z,\"m\",Re).call(this),r=R(t);this.nextRequestStatus.update({isLoading:!0});const a=Object.assign(Object.assign(Object.assign({},r),n),{origin:(null===(i=this.nativeOptions)||void 0===i?void 0:i.origin)||window.location.origin});yield s(o,a),this.nextRequestStatus.update({isLoading:!1}),e(this,Z,\"m\",Ee).call(this,n)}}))))),this.flowState=s}nativeResume(t,i){var s,o,n,r,a;const h=JSON.parse(i);if(\"oauthWeb\"===t||\"sso\"===t){let{exchangeCode:e}=h;if(!e){e=null===(s=new URL(h.url).searchParams)||void 0===s?void 0:s.get(l)}null===(n=(o=this.nativeCallbacks).complete)||void 0===n||n.call(o,{exchangeCode:e,idpInitiated:!0})}else if(\"magicLink\"===t){const t=new URL(h.url),i=t.searchParams.get(d),s=t.searchParams.get(c).split(\"_\").pop();e(this,fe,\"f\").call(this),this.flowState.update({token:i,stepId:s,action:void 0})}else if(\"beforeScreen\"===t){const{screenResolve:e}=this.nativeCallbacks;this.nativeCallbacks.screenResolve=null;const{override:t}=h;t||(this.nativeCallbacks.screenNext=null),null==e||e(t)}else if(\"resumeScreen\"===t){const{interactionId:e,form:t}=h,{screenNext:i}=this.nativeCallbacks;this.nativeCallbacks.screenNext=null,null==i||i(e,t)}else null===(a=(r=this.nativeCallbacks).complete)||void 0===a||a.call(r,h)}loadSdkScriptsModules(){const e=this.shadowRoot.querySelectorAll(\"div[data-script-id]\");return Array.from(e).map((e=>e.moduleRes)).filter((e=>!!e))}loadSdkScripts(e){if(!(null==e?void 0:e.length))return null;const t=(e,t)=>i=>{this.dispatchEvent(new CustomEvent(\"components-context\",{detail:{[O(e.id,e.resultKey)]:i},bubbles:!0,composed:!0})),t(e.id)};this.loggerWrapper.debug(`Preparing to load scripts: ${e.map((e=>e.id)).join(\", \")}`);const s=Promise.all(null==e?void 0:e.map((e=>i(this,void 0,void 0,(function*(){var i,s;const o=this.shadowRoot.querySelector(`[data-script-id=\"${e.id}\"]`);if(o){this.loggerWrapper.debug(\"Script already loaded\",e.id);const{moduleRes:t}=o;return null===(i=null==t?void 0:t.start)||void 0===i||i.call(t),t}yield this.injectNpmLib(\"@descope/flow-scripts\",\"1.0.13\",`dist/${e.id}.js`);const n=null===(s=globalThis.descope)||void 0===s?void 0:s[e.id];return new Promise(((i,s)=>{try{const s=n(e.initArgs,{baseUrl:this.baseUrl,ref:this},t(e,i),this.loggerWrapper);if(s){const t=document.createElement(\"div\");t.setAttribute(\"data-script-id\",e.id),t.moduleRes=s,this.shadowRoot.appendChild(t),this.nextRequestStatus.subscribe((()=>{var t;this.loggerWrapper.debug(\"Unloading script\",e.id),null===(t=s.stop)||void 0===t||t.call(s)}))}}catch(e){s(e)}}))}))))),o=new Promise((e=>{setTimeout((()=>{this.loggerWrapper.warn(\"SDK scripts loading timeout\"),e(!0)}),h)}));return Promise.race([s,o])}get isDismissScreenErrorOnInput(){return\"true\"===this.getAttribute(\"dismiss-screen-error-on-input\")}init(){if(!window.descopeBridge)return this._init();this.lazyInit=this._init}_init(){const t=Object.create(null,{init:{get:()=>super.init}});return i(this,void 0,void 0,(function*(){var i,s;this.shadowRoot.isConnected&&(null===(i=this.flowState)||void 0===i||i.subscribe(this.onFlowChange.bind(this)),e(this,Z,\"m\",de).call(this),window.addEventListener(\"visibilitychange\",e(this,se,\"f\").visibilitychange)),yield null===(s=t.init)||void 0===s?void 0:s.call(this)}))}disconnectedCallback(){var i;super.disconnectedCallback(),this.flowState.unsubscribeAll(),this.stepState.unsubscribeAll(),e(this,fe,\"f\").call(this),null===(i=e(this,te,\"f\"))||void 0===i||i.abort(),t(this,te,null,\"f\"),window.removeEventListener(\"visibilitychange\",e(this,se,\"f\").visibilitychange)}getHtmlFilenameWithLocale(e,t){return i(this,void 0,void 0,(function*(){let i;const s=b(e),o=yield this.getTargetLocales();return o.includes(s.locale)?i=`${t}-${s.locale}.html`:o.includes(s.fallback)&&(i=`${t}-${s.fallback}.html`),i}))}getPageContent(e,t){return i(this,void 0,void 0,(function*(){if(t)try{const{body:e}=yield this.fetchStaticResource(t,\"text\");return e}catch(i){this.loggerWrapper.error(`Failed to fetch flow page from ${t}. Fallback to url ${e}`,i)}try{const{body:t}=yield this.fetchStaticResource(e,\"text\");return t}catch(e){this.loggerWrapper.error(\"Failed to fetch flow page\",e.message)}return null}))}onFlowChange(l,d,c){return i(this,void 0,void 0,(function*(){var h,p;const{projectId:u,flowId:g,tenant:v,stepId:m,executionId:f,action:I,screenId:k,screenState:R,redirectTo:O,redirectIsPopup:x,redirectUrl:A,token:j,code:T,isPopup:P,exchangeError:L,webauthnTransactionId:U,webauthnOptions:$,redirectAuthCodeChallenge:N,redirectAuthCallbackUrl:M,redirectAuthBackupCallbackUri:q,redirectAuthInitiator:F,locale:V,samlIdpResponseUrl:H,samlIdpResponseSamlResponse:G,samlIdpResponseRelayState:J,nativeResponseType:z,nativePayload:Q,reqTimestamp:X}=l,Y=s(l,[\"projectId\",\"flowId\",\"tenant\",\"stepId\",\"executionId\",\"action\",\"screenId\",\"screenState\",\"redirectTo\",\"redirectIsPopup\",\"redirectUrl\",\"token\",\"code\",\"isPopup\",\"exchangeError\",\"webauthnTransactionId\",\"webauthnOptions\",\"redirectAuthCodeChallenge\",\"redirectAuthCallbackUrl\",\"redirectAuthBackupCallbackUri\",\"redirectAuthInitiator\",\"locale\",\"samlIdpResponseUrl\",\"samlIdpResponseSamlResponse\",\"samlIdpResponseRelayState\",\"nativeResponseType\",\"nativePayload\",\"reqTimestamp\"]);let ee,se,oe;const ne=D(),{outboundAppId:re}=this,{outboundAppScopes:le}=this,de=this.sdk.getLastUserLoginId(),ce=yield this.getFlowConfig(),he=yield this.getProjectConfig(),pe=Object.entries(he.flows||{}).reduce(((e,[t,i])=>(e[t]=i.version,e)),{}),ge=M&&N?{callbackUrl:M,codeChallenge:N,backupCallbackUri:q}:void 0,ve=this.nativeOptions?{platform:this.nativeOptions.platform,bridgeVersion:this.nativeOptions.bridgeVersion,oauthProvider:this.nativeOptions.oauthProvider,oauthRedirect:this.nativeOptions.oauthRedirect,magicLinkRedirect:this.nativeOptions.magicLinkRedirect,ssoRedirect:this.nativeOptions.ssoRedirect}:void 0;let fe={};if(!f){const i=[...ce.clientScripts||[],...ce.sdkScripts||[]];if(ce.conditions){let e=[];({startScreenId:ee,conditionInteractionId:oe,startScreenName:se,clientScripts:e,componentsConfig:fe}=B({loginId:de,code:T,token:j,abTestingKey:ne,lastAuth:_(de)},ce.conditions)),i.push(...e||[])}else ce.condition?({startScreenId:ee,conditionInteractionId:oe}=K(ce.condition,{loginId:de,code:T,token:j,abTestingKey:ne,lastAuth:_(de)})):(se=ce.startScreenName,ee=ce.startScreenId);if(t(this,ie,this.loadSdkScripts(i),\"f\"),ce.fingerprintEnabled&&ce.fingerprintKey?yield o(ce.fingerprintKey,this.baseUrl):n(),!w(ee,Y)){const t=yield this.sdk.flow.start(g,Object.assign(Object.assign(Object.assign(Object.assign({tenant:v,redirectAuth:ge},Y),{client:this.client}),A&&{redirectUrl:A}),{lastAuth:_(de),abTestingKey:ne,locale:b(V).locale,nativeOptions:ve,outboundAppId:re,outboundAppScopes:le}),oe,\"\",he.componentsVersion,pe,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),T?{exchangeCode:T,idpInitiated:!0}:{}),Y.descopeIdpInitiated&&{idpInitiated:!0}),j?{token:j}:{}),Y.oidcLoginHint?{externalId:Y.oidcLoginHint}:{}));return e(this,we,\"f\").call(this,t),void(\"completed\"!==(null===(h=null==t?void 0:t.data)||void 0===h?void 0:h.status)&&this.flowState.update({code:void 0,token:void 0}))}}if(this.loggerWrapper.debug(\"Before popup postmessage send\",JSON.stringify({isPopup:P,code:T,exchangeError:L,isCodeChanged:c(\"code\"),isExchangeErrorChanged:c(\"exchangeError\")})),P&&(c(\"code\")&&T||c(\"exchangeError\")&&L))return void e(this,Z,\"m\",$e).call(this,f,T,L);if(f&&(c(\"token\")&&j||c(\"code\")&&T||c(\"exchangeError\")&&L)){const t=yield this.sdk.flow.next(f,m,a.submit,ce.version,he.componentsVersion,{token:j,exchangeCode:T,exchangeError:L});return e(this,we,\"f\").call(this,t),void this.flowState.update({token:void 0,code:void 0,exchangeError:void 0})}if(I===r.loadForm&&[\"samlIdpResponseUrl\",\"samlIdpResponseSamlResponse\",\"samlIdpResponseRelayState\"].some((e=>c(e)))){if(!H||!G)return void this.loggerWrapper.error(\"Did not get saml idp params data to load\");S(H,G,J||\"\",W)}if(I===r.redirect&&(c(\"redirectTo\")||c(\"deferredRedirect\"))){if(!O)return void this.loggerWrapper.error(\"Did not get redirect url\");if(\"no-op\"===O)return;if(\"android\"===F&&document.hidden)return void this.flowState.update({deferredRedirect:!0});if(this.loggerWrapper.debug(`Redirect is popup ${x}`),x){this.loggerWrapper.debug(\"Opening redirect in popup\");const t=y(O,\"?\",598,700),i=this.shouldUsePopupPostMessage();i&&(t.name=`descope-wc|${window.location.origin}`),this.loggerWrapper.debug(\"Popup communication method: \"+(i?\"postMessage\":\"BroadcastChannel\"));const s=e=>{this.loggerWrapper.debug(\"Received popup message\",JSON.stringify(e.data));const t=i?this.popupOrigin:window.location.origin;if(e.origin!==t)return void this.loggerWrapper.debug(`Ignoring message from unexpected origin. received: \"${e.origin}\", expected: \"${t}\"`);const{action:s,data:o}=e.data||{};\"code\"===s&&this.flowState.update({code:o.code,exchangeError:o.exchangeError})};let o;this.loggerWrapper.debug(\"Starting popup closed detection\");const n=setInterval((()=>{t.closed&&(this.loggerWrapper.debug(\"Popup closed, dispatching popupclosed event\"),clearInterval(n),e(this,Z,\"m\",Ue).call(this,\"popupclosed\",{}),this.loggerWrapper.debug(\"Cleaning up popup listeners\"),null==o||o())}),1e3);if(i)window.addEventListener(\"message\",s),o=()=>{this.loggerWrapper.debug(\"Cleaning up popup postMessage listener\"),window.removeEventListener(\"message\",s)};else{this.loggerWrapper.debug(\"Creating broadcast channel\");const e=new BroadcastChannel(f);e.onmessage=s,o=()=>{this.loggerWrapper.debug(\"Closing channel\"),e.close()}}}else this.handleRedirect(O),this.flowState.update({redirectTo:\"no-op\"}),e(this,Z,\"m\",Ue).call(this,\"popupclosed\",{});return}if(I===r.webauthnCreate||I===r.webauthnGet){if(!U||!$)return void this.loggerWrapper.error(\"Did not get webauthn transaction id or options\");let i,s;null===(p=e(this,te,\"f\"))||void 0===p||p.abort(),t(this,te,null,\"f\");try{i=I===r.webauthnCreate?yield this.sdk.webauthn.helpers.create($):yield this.sdk.webauthn.helpers.get($)}catch(e){\"InvalidStateError\"===e.name?this.loggerWrapper.warn(\"WebAuthn operation failed\",e.message):\"NotAllowedError\"!==e.name&&this.loggerWrapper.error(e.message),s=e.name}const o=yield this.sdk.flow.next(f,m,a.submit,ce.version,he.componentsVersion,{transactionId:U,response:i,failure:s});e(this,we,\"f\").call(this,o)}if(I===r.nativeBridge)return this.nativeCallbacks.complete=t=>i(this,void 0,void 0,(function*(){const i=yield this.sdk.flow.next(f,m,a.submit,ce.version,he.componentsVersion,t);e(this,we,\"f\").call(this,i)})),e(this,Z,\"m\",ae).call(this,z,Q),void setTimeout((()=>{this.dispatchEvent(new Event(\"popupclosed\"))}),500);if((c(\"action\")||c(\"deferredPolling\"))&&e(this,me,\"f\").call(this,f,m,ce.version,he.componentsVersion),!k&&!ee)return void this.loggerWrapper.warn(\"No screen was found to show\");const be=ee||k,Se=yield this.getHtmlFilenameWithLocale(V,be),{oidcLoginHint:ye,oidcPrompt:Ce,oidcErrorRedirectUri:Ie,oidcResource:ke,samlIdpUsername:Re}=Y,Oe={direction:C(m,d.stepId),screenState:Object.assign(Object.assign({},R),{form:Object.assign(Object.assign({},this.formConfigValues),null==R?void 0:R.form),lastAuth:{loginId:de,name:this.sdk.getLastUserDisplayName()||de},componentsConfig:Object.assign(Object.assign(Object.assign({},ce.componentsConfig),fe),null==R?void 0:R.componentsConfig)}),htmlFilename:`${be}.html`,htmlLocaleFilename:Se,screenId:be,stepName:l.stepName||se,samlIdpUsername:Re,oidcLoginHint:ye,oidcPrompt:Ce,oidcErrorRedirectUri:Ie,oidcResource:ke,action:I},We=_(de);w(ee,Y)?Oe.next=(t,s)=>i(this,void 0,void 0,(function*(){const i=(null==ce?void 0:ce.clientScripts)||[];yield e(this,Z,\"m\",Te).call(this,i);const o=yield this.sdk.flow.start(g,Object.assign(Object.assign(Object.assign(Object.assign({tenant:v,redirectAuth:ge},Y),{lastAuth:We,preview:this.preview,abTestingKey:ne,client:this.client}),A&&{redirectUrl:A}),{locale:b(V).locale,nativeOptions:ve,outboundAppId:re,outboundAppScopes:le}),oe,t,he.componentsVersion,pe,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.formConfigValues),this.getComponentsContext()),E(s)),T&&{exchangeCode:T,idpInitiated:!0}),Y.descopeIdpInitiated&&{idpInitiated:!0}),j&&{token:j}),Oe.next.isCustomScreen);return e(this,we,\"f\").call(this,o),o})):(c(\"projectId\")||c(\"baseUrl\")||c(\"executionId\")||c(\"stepId\"))&&(Oe.next=(t,s)=>i(this,void 0,void 0,(function*(){const i=(null==R?void 0:R.clientScripts)||[];yield e(this,Z,\"m\",Te).call(this,i);const o=yield this.sdk.flow.next(f,m,t,ce.version,he.componentsVersion,Object.assign(Object.assign({},this.getComponentsContext()),E(s)),Oe.next.isCustomScreen);return e(this,we,\"f\").call(this,o),o}))),this.loggerWrapper.debug(\"Got a screen with id\",Oe.screenId),yield e(this,Z,\"m\",ue).call(this,Oe),this.stepState.update(Oe)}))}onStepChange(t,s){return i(this,void 0,void 0,(function*(){var o,n;const{htmlFilename:r,htmlLocaleFilename:l,direction:d,next:c,screenState:h}=t;this.loggerWrapper.debug(\"Rendering a flow screen\");const p=document.createElement(\"template\");p.innerHTML=yield this.getPageContent(r,l);const g=p.content.cloneNode(!0),v=this.loadDescopeUiComponents(p);this.sdk.webauthn.helpers.isSupported()?yield e(this,Z,\"m\",Ce).call(this,g,c):P(g),!t.samlIdpUsername||(null===(o=h.form)||void 0===o?void 0:o.loginId)||(null===(n=h.form)||void 0===n?void 0:n.email)||(h.form||(h.form={}),h.form.loginId=t.samlIdpUsername,h.form.email=t.samlIdpUsername),L(g,h,this.formConfig,this.loggerWrapper);const{geo:m}=yield this.getExecutionContext();U(g,m);const f=()=>i(this,void 0,void 0,(function*(){var i,o;yield v;const n=this.contentRootElement;$(n,null===(i=null==h?void 0:h.totp)||void 0===i?void 0:i.image),N(n,null===(o=null==h?void 0:h.notp)||void 0===o?void 0:o.image),M(n,g,h.cssVars,this.loggerWrapper),n.replaceChildren(g);const r=!s.htmlFilename;setTimeout((()=>{e(this,Z,\"m\",xe).call(this),this.validateOnBlur&&x(n),q(n,h),e(this,Z,\"m\",Ie).call(this,{isFirstScreen:r,isCustomScreen:!1,stepName:t.stepName}),I(n,this.autoFocus,r)})),e(this,Z,\"m\",Le).call(this,c);n.querySelector(`[${u}=\"polling\"]`)&&c(a.polling,{})}));d?e(this,Z,\"m\",ve).call(this,f):f()}))}getInputs(){return Array.from(this.shadowRoot.querySelectorAll(`*:not(slot)[name]:not([${p}])`))}shouldUsePopupPostMessage(){if(!this.popupOrigin)return!1;try{new URL(this.popupOrigin)}catch(e){return!1}return!0}}ee=new WeakMap,te=new WeakMap,ie=new WeakMap,se=new WeakMap,pe=new WeakMap,ge=new WeakMap,me=new WeakMap,fe=new WeakMap,be=new WeakMap,we=new WeakMap,Se=new WeakMap,Oe=new WeakMap,je=new WeakMap,Z=new WeakSet,oe=function(){document.hidden||setTimeout((()=>{this.flowState.update({deferredRedirect:!1,deferredPolling:!1})}),300)},ne=function(t,s,o){return i(this,void 0,void 0,(function*(){var i;return(null===(i=this.nativeOptions)||void 0===i?void 0:i.bridgeVersion)>=2&&new Promise((i=>{this.nativeCallbacks.screenNext=o,this.nativeCallbacks.screenResolve=i,e(this,Z,\"m\",ae).call(this,\"beforeScreen\",{screen:t,context:s})}))}))},re=function(t){var i;(null===(i=this.nativeOptions)||void 0===i?void 0:i.bridgeVersion)>=2&&e(this,Z,\"m\",ae).call(this,\"afterScreen\",{screen:t})},ae=function(t,i){e(this,Z,\"m\",Ue).call(this,\"bridge\",{type:t,payload:i})},le=function({errorText:e,errorType:t}){const i=()=>{var i;let s=e;try{s=(null===(i=this.errorTransformer)||void 0===i?void 0:i.call(this,{text:e,type:t}))||e}catch(e){this.loggerWrapper.error(\"Error transforming error message\",e.message)}F(this.contentRootElement,\"error-message\",s)};this.addEventListener(\"screen-updated\",i,{once:!0}),i()},de=function(){var t,i,o;null===(t=this.stepState)||void 0===t||t.subscribe(this.onStepChange.bind(this),(e=>{var t=e.screenState,i=s(void 0===t?{}:t,[\"errorText\",\"errorType\"]),o=s(e,[\"screenState\"]);return Object.assign(Object.assign({},o),{screenState:i})})),null===(i=this.stepState)||void 0===i||i.subscribe(e(this,Z,\"m\",le).bind(this),(e=>{var t,i;return{errorText:null===(t=null==e?void 0:e.screenState)||void 0===t?void 0:t.errorText,errorType:null===(i=null==e?void 0:e.screenState)||void 0===i?void 0:i.errorType}}),{forceUpdate:!0}),null===(o=this.stepState)||void 0===o||o.subscribe(e(this,Z,\"m\",ce).bind(this),(e=>{var t,i;return{errorText:null===(t=null==e?void 0:e.screenState)||void 0===t?void 0:t.errorText,errorType:null===(i=null==e?void 0:e.screenState)||void 0===i?void 0:i.errorType}}),{forceUpdate:!0})},ce=function({errorText:e,errorType:t}){(t||e)&&(this.contentRootElement.querySelectorAll('descope-passcode[data-auto-submit=\"true\"]').forEach((e=>{e.shadowRoot.querySelectorAll(\"descope-text-field[data-id]\").forEach((e=>{e.value=\"\"}))})),I(this.contentRootElement,this.autoFocus,!1))},he=function(){return i(this,void 0,void 0,(function*(){this.loggerWrapper.debug(\"Trying to restart the flow\");const e=yield this.getComponentsVersion();this.reset();e===(yield this.getComponentsVersion())?(this.loggerWrapper.debug(\"Components version was not changed, restarting flow\"),this.flowState.update({stepId:null,executionId:null})):this.loggerWrapper.error(\"Components version mismatch, please reload the page\")}))},ue=function(o){return i(this,void 0,void 0,(function*(){var i;const n=Object.assign(Object.assign({},this.stepState.current),o),{next:r,stepName:a}=n,l=s(n,[\"next\",\"stepName\"]),d=k(l);let c=yield e(this,Z,\"m\",ne).call(this,a,d,r);c||(c=Boolean(yield null===(i=this.onScreenUpdate)||void 0===i?void 0:i.call(this,a,d,r,this)));const h=!this.stepState.current.htmlFilename;if(e(this,ge,\"f\").call(this,c),r&&(r.isCustomScreen=c),e(this,pe,\"f\")!==c){const[i,s]=[\"flow\",\"custom\"].sort((()=>c?-1:1));this.loggerWrapper.debug(`Switching from ${s} screen to ${i} screen`),t(this,pe,c,\"f\"),c?this.stepState.unsubscribeAll():e(this,Z,\"m\",de).call(this)}c?(this.loggerWrapper.debug(\"Showing a custom screen\"),e(this,Z,\"m\",Ie).call(this,{isFirstScreen:h,isCustomScreen:c,stepName:o.stepName}),this.disableKeyPressHandler()):this.handleKeyPress(),this.stepState.forceUpdate=c}))},ve=function(e){this.contentRootElement.addEventListener(\"transitionend\",(()=>{this.loggerWrapper.debug(\"page switch transition end\"),this.contentRootElement.classList.remove(\"fade-out\"),e()}),{once:!0}),this.loggerWrapper.debug(\"page switch transition start\"),this.contentRootElement.classList.add(\"fade-out\")},ye=function(e){const t=e.getAttribute(\"name\");if(![\"email\"].includes(t)){const i=`user-${t}`;e.setAttribute(\"name\",i),e.addEventListener(\"input\",(()=>{e.setAttribute(\"name\",e.value?t:i)}))}},Ce=function(s,o){return i(this,void 0,void 0,(function*(){var n;null===(n=e(this,te,\"f\"))||void 0===n||n.abort();const r=s.querySelector('*[autocomplete=\"webauthn\"]');if(r&&(yield V())){const{options:s,transactionId:n}=(yield e(this,Se,\"f\").call(this))||{};s&&n&&(e(this,Z,\"m\",ye).call(this,r),t(this,te,new AbortController,\"f\"),this.sdk.webauthn.helpers.conditional(s,e(this,te,\"f\")).then((e=>i(this,void 0,void 0,(function*(){o(r.id,{transactionId:n,response:e})})))).catch((e=>{\"AbortError\"!==e.name&&this.loggerWrapper.error(\"Conditional login failed\",e.message)})))}}))},Ie=function({isFirstScreen:t,isCustomScreen:i,stepName:s}){t&&e(this,Z,\"m\",Ue).call(this,\"ready\",{}),i||e(this,Z,\"m\",re).call(this,s),e(this,Z,\"m\",Ue).call(this,\"page-updated\",{screenName:s}),e(this,Z,\"m\",Ue).call(this,\"screen-updated\",{screenName:s})},ke=function(){let e=!0;return Array.from(this.shadowRoot.querySelectorAll(\"*[name]\")).reverse().forEach((t=>{var i,s;\"slot\"===t.localName||t.classList.contains(\"hidden\")||(null===(i=t.reportValidity)||void 0===i||i.call(t),e&&(e=null===(s=t.checkValidity)||void 0===s?void 0:s.call(t)))})),e},Re=function(){return i(this,void 0,void 0,(function*(){const e=this.getInputs();return(yield Promise.all(e.map((e=>i(this,void 0,void 0,(function*(){return{name:e.getAttribute(\"name\"),value:e.value}})))))).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.name]:t.value})),{})}))},We=function(s){const o=Array.from(this.contentRootElement.querySelectorAll(':not([disabled]), [disabled=\"false\"]')).filter((e=>e!==s)),n=()=>i(this,void 0,void 0,(function*(){this.loggerWrapper.debug(\"Restoring components state\"),this.removeEventListener(\"popupclosed\",n),s.removeAttribute(\"loading\"),o.forEach((e=>{e.removeAttribute(\"disabled\")}));const e=yield this.getFlowConfig(),t=[...e.clientScripts||[],...e.sdkScripts||[]];this.loadSdkScripts(t)})),r=()=>{var i;window.removeEventListener(\"pageshow\",e(this,Oe,\"f\")),t(this,Oe,(e=>{e.persisted&&(this.logger.debug(\"Page was loaded from cache, restoring components state\"),n())}),\"f\"),window.addEventListener(\"pageshow\",e(this,Oe,\"f\"),{once:!0});const s=null===(i=this.stepState)||void 0===i?void 0:i.subscribe(((e,t)=>{e===t&&n(),this.removeEventListener(\"popupclosed\",n),this.stepState.unsubscribe(s)}),(e=>e.screenId),{forceUpdate:!0})},a=this.nextRequestStatus.subscribe((({isLoading:e})=>{e?(this.addEventListener(\"popupclosed\",n,{once:!0}),s.setAttribute(\"loading\",\"true\"),o.forEach((e=>e.setAttribute(\"disabled\",\"true\")))):(this.nextRequestStatus.unsubscribe(a),r())}))},Ee=function(e={}){var t,i;const s=A(e,[\"externalId\",\"email\",\"phone\"]),o=A(e,[\"newPassword\",\"password\"]);if(s&&o)try{if(!globalThis.PasswordCredential)return;const e=new globalThis.PasswordCredential({id:s,password:o});null===(i=null===(t=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===t?void 0:t.store)||void 0===i||i.call(t,e)}catch(e){this.loggerWrapper.error(\"Could not store credentials\",e.message)}},xe=function(){j();this.contentRootElement.querySelectorAll('[external-input=\"true\"]').forEach((t=>e(this,Z,\"m\",Ae).call(this,t)))},Ae=function(e){if(!e)return;e.querySelectorAll(\"input\").forEach((t=>{const i=t.getAttribute(\"slot\"),s=`input-${e.id}-${i}`,o=document.createElement(\"slot\");o.setAttribute(\"name\",s),o.setAttribute(\"slot\",i),e.appendChild(o),t.setAttribute(\"slot\",s),this.appendChild(t)}))},Te=function(t){return i(this,void 0,void 0,(function*(){if(e(this,ie,\"f\")){this.loggerWrapper.debug(\"Waiting for sdk scripts to load\");const t=Date.now();yield e(this,ie,\"f\"),this.loggerWrapper.debug(\"Sdk scripts loaded for\",(Date.now()-t).toString())}const i=this.loadSdkScriptsModules(),s=t.map((e=>e.id));for(const e of i)if(s.includes(e.id))try{if(\"function\"==typeof e.present){(yield e.present())||this.loggerWrapper.debug(`Sdk script ${e.id} was cancelled`)}}catch(t){this.loggerWrapper.error(`Failed to present ${e.id} script module`,t.message)}const o=[];for(const e of i)\"function\"==typeof e.refresh&&o.push(e.refresh());if(o.length>0)try{yield v(h,Promise.all(o),null)}catch(e){this.loggerWrapper.error(\"Failed to refresh script module\",e.message)}}))},Pe=function(t){this.contentRootElement.querySelectorAll('descope-passcode[data-auto-submit=\"true\"]').forEach((i=>{i.addEventListener(\"input\",(()=>{var s;(null===(s=i.checkValidity)||void 0===s?void 0:s.call(i))&&e(this,je,\"f\").call(this,i,t)}))}))},Le=function(t){this.contentRootElement.querySelectorAll(`descope-button:not([${g}]), [data-type=\"button\"]:not([${g}]`).forEach((i=>{i.onclick=()=>{e(this,je,\"f\").call(this,i,t)}})),e(this,Z,\"m\",Pe).call(this,t),this.isDismissScreenErrorOnInput&&this.contentRootElement.querySelectorAll(`*[name]:not([${p}])`).forEach((e=>{e.addEventListener(\"input\",(()=>{this.stepState.update((e=>Object.assign(Object.assign({},e),{screenState:Object.assign(Object.assign({},e.screenState),{errorText:\"\",errorType:\"\"})})))}))}))},Ue=function(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))},$e=function(e,t,i){var s;const[o,n]=(null===(s=window.name)||void 0===s?void 0:s.split(\"|\"))||[],r={data:{code:t,exchangeError:i},action:\"code\"};if(\"descope-wc\"===o&&n){this.loggerWrapper.debug(\"Using postMessage fallback to notify opener in origin\",n);try{window.opener.postMessage(r,n)}catch(e){this.loggerWrapper.error(\"Failed to send postMessage fallback (likely COOP isolation)\",null==e?void 0:e.message)}}else{this.loggerWrapper.debug(\"Creating popup channel\",e);const t=new BroadcastChannel(e);t.postMessage(r),t.close()}try{window.close()}catch(e){}};export{Ne as default};\n//# sourceMappingURL=DescopeWc.js.map\n","import e from\"./DescopeWc.js\";customElements.get(\"descope-wc\")?console.log(\"descope-wc is already defined\"):customElements.define(\"descope-wc\",e);export{e as default};\n//# sourceMappingURL=index.js.map\n"],"names":["e","o","t","n","E","a","s","c","i","d","r","_","p","l","u","m","b","h","R","S","x","N","O","g","C","T","F","L","w","f","k","y","U","$","j","P","H","B","M","q","W","Q","z","D","G","A","I","V","J","K","X","Y","Z","tt","et","nt","ot","rt","it","ct","at","ut","st","dt","lt","pt","ft","mt","v","ht","vt","wt","gt","bt","St","At","yt","It","Ct","kt","Lt","Pt","Ut","xt","Tt","$t","jt","Ot","Rt","Ft","Nt","Ht","Bt","c$1","logLevels","defaultLogger","loggerMixin","createSingletonMixin","superclass","_LoggerMixinClass_instances","_LoggerMixinClass_logger","_LoggerMixinClass_wrapLogger","_a","__classPrivateFieldGet","logger","__classPrivateFieldSet","logLevel","data","acc","args","_b","IS_LOCAL_STORAGE","BASE_CONTENT_URL_KEY","BASE_CONTENT_URL","BASE_CONTENT_URL_FALLBACK","OVERRIDE_CONTENT_URL","ASSETS_FOLDER","missingAttrValidator","attrName","value","initLifecycleMixin","_InitLifecycleMixinClass_isInit","_c","attributesObserver","ele","callback","attr","mutationsList","mutation","observeAttributesMixin","_ObserveAttributesMixinClass_observeMappings","BaseClass","compose","cb","onAttrChange","idx","attrs","unobserveList","unobserve","createValidateAttributesMixin","mappings","_ValidateAttributesMixinClass_instances","_ValidateAttributesMixinClass_handleError","mappingsNames","newValue","onError","error","projectIdMixin","baseUrlMixin","notLastMsgSuffix","fetchWithRetry","url","init","fetchWithFallbacks","fallbacks","onSuccess","fallbacksArr","index","isLast","res","errMsg","getResourceUrl","projectId","filename","assetsFolder","baseUrl","pathJoin","staticResourcesMixin","_StaticResourcesMixinClass_instances","_StaticResourcesMixinClass_lastBaseUrl","_StaticResourcesMixinClass_workingBaseUrl","_StaticResourcesMixinClass_failedUrls","_StaticResourcesMixinClass_getResourceUrls","_StaticResourcesMixinClass_createResourceUrl","format","resourceUrls","failedUrl","overrideUrl","urls","baseUrlWithPages","CONFIG_FILENAME","resetMixin","_ResetMixinClass_callbacks","sectionId","sectionIds","configMixin","_ConfigMixinClass_instances","_ConfigMixinClass_configCacheClear","_ConfigMixinClass__configResource","_ConfigMixinClass_fetchConfig","body","headers","BASE_URLS","getExistingScript","scriptId","isScriptLoaded","script","isScriptError","hashUrl","hash","urlStr","char","setupScript","id","integrity","scriptEle","injectScript","rej","handleExistingScript","existingScript","expectedIntegrity","actualIntegrity","injectScriptWithFallbacks","scriptsData","scriptData","generateLibUrls","baseUrls","libName","version","path","prev","curr","injectNpmLibMixin","filePath","overrides","getDescopeUiComponentsList","template","el","UI_COMPONENTS_URL_KEY","LOCAL_STORAGE_OVERRIDE","JS_FILE_PATH","WEB_COMPONENTS_UI_LIB_NAME","descopeUiMixin","_DescopeUiMixinClass_instances","_DescopeUiMixinClass_getComponentsVersion","_DescopeUiMixinClass_getComponentsVersionSri","_DescopeUiMixinClass_descopeUi","_DescopeUiMixinClass_loadDescopeUiComponent","_DescopeUiMixinClass_getDescopeUi","templateOrComponentNames","descopeUiComponentsList","componentName","config","componentsVersion","componentsVersionSri","descopeUI","cspNonceMixin","_CspNonceMixinClass_instances","_CspNonceMixinClass_setNonce","CSSStyleSheetMock","ref","nonce","prepend","cssString","injectStyleMixin","style","adoptedStyleSheets","CONTENT_ROOT_ID","ROOT_ID","initElementMixin","rest","DEFAULT_STYLE_ID","loadFont","font","loadDevTheme","componentsUrl","descopeDevUrl","resolve","reject","themeToStyle","defaultTheme","darkTheme","themeValidation","theme","themeMixin","_ThemeMixinClass_instances","_ThemeMixinClass_globalStyle","_ThemeMixinClass__themeResource","_ThemeMixinClass_fetchTheme","_ThemeMixinClass_themeResource_get","_ThemeMixinClass_loadGlobalStyle","_ThemeMixinClass_loadComponentsStyle","_ThemeMixinClass_getFontsConfig","_ThemeMixinClass_loadFonts","_ThemeMixinClass_applyTheme","_ThemeMixinClass_onThemeChange","_ThemeMixinClass_loadTheme","_ThemeMixinClass_toggleOsThemeChangeListener","listen","_d","method","fetchedTheme","devTheme","descopeUi","projectConfig","newConfig","oldConfig","fonts","ee","te","ie","se","oe","ne","re","ae","le","de","ce","he","pe","ue","ge","ve","me","fe","be","we","Se","ye","Ce","Ie","ke","Re","Oe","We","Ee","xe","Ae","je","Te","Pe","Le","Ue","$e","Ne"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]}
1
+ {"version":3,"file":"index.es2.js","sources":["../node_modules/@descope/react-sdk/dist/esm/hooks/Context.js","../node_modules/@descope/react-sdk/dist/esm/utils.js","../node_modules/@descope/react-sdk/dist/esm/constants.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/jwt-decode/build/esm/index.js","../node_modules/@descope/core-js-sdk/dist/index.esm.js","../node_modules/js-cookie/dist/js.cookie.mjs","../node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","../node_modules/@descope/web-js-sdk/dist/index.esm.js","../node_modules/@descope/react-sdk/dist/esm/sdk.js","../node_modules/@descope/react-sdk/dist/esm/components/AuthProvider/useSdk.js","../node_modules/@descope/react-sdk/dist/esm/components/AuthProvider/AuthProvider.js","../node_modules/@descope/sdk-helpers/dist/index.esm.js","../node_modules/@descope/react-sdk/dist/esm/components/withPropsMapping/utils.js","../node_modules/@descope/react-sdk/dist/esm/components/withPropsMapping/index.js","../node_modules/@descope/react-sdk/dist/esm/components/Descope.js","../src/assets/chordia-logo.png","../src/components/login/LoginPage.jsx"],"sourcesContent":["import t from\"react\";const e=t.createContext(void 0);export{e as default};\n//# sourceMappingURL=Context.js.map\n","const o=o=>(...e)=>{if(!o)throw Error(\"You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component\");return o(...e)},e=o=>(...e)=>{let r;try{r=o(...e)}catch(o){console.error(o)}return r},r=()=>\"undefined\"!=typeof window&&!!window.descopeBridge;export{r as isDescopeBridge,o as withValidation,e as wrapInTry};\n//# sourceMappingURL=utils.js.map\n","const e={\"x-descope-sdk-name\":\"react\",\"x-descope-sdk-version\":\"2.27.1\"},d=\"undefined\"!=typeof window;export{d as IS_BROWSER,e as baseHeaders};\n//# sourceMappingURL=constants.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","import{jwtDecode as e}from\"jwt-decode\";import{__rest as t}from\"tslib\";var n={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 o=\"<region>\",s=`https://api.${o}descope.com`,i=1e3,r=6e5,a=\"dct\",d=()=>{const e={};return{headers(t){const n=\"function\"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},retries(t){return e.Retries=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${\"Title\"!==t?`${t}: `:\"\"}${e[t]}`]:[])).join(\"\\n\")}},p=[503,521,522,524,530],u=[100,5e3,5e3],l=e=>new Promise((t=>setTimeout(t,e))),c=e=>async(...t)=>{let n=await e(...t),o=0;for(;p.includes(n.status)&&o<u.length;)await l(u[o]),n=await e(...t),o++;o>0&&(n.retries=o);const s=await n.text();return n.text=()=>Promise.resolve(s),n.json=()=>Promise.resolve(JSON.parse(s)),n.clone=()=>n,n},g=(e,t)=>{const n=t||fetch;return n||null==e||e.warn(\"Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally\"),e?async(...t)=>{if(!n)throw Error(\"Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally\");e.log((e=>d().title(\"Request\").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const o=await c(n)(...t);return e[o.ok?\"log\":\"error\"](await(async e=>{const t=await e.text();return d().title(\"Response\").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).retries(e.retries).build()})(o)),o}:c(n)};let h;const v=()=>{if(h)return h;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 h=`${t}-${n}`,h};var I;!function(e){e.get=\"GET\",e.delete=\"DELETE\",e.post=\"POST\",e.put=\"PUT\",e.patch=\"PATCH\"}(I||(I={}));const f=({path:e,baseUrl:t,queryParams:n,projectId:s})=>{const i=s.slice(1,-27);t=t.replace(o,i?i+\".\":\"\");let r=e?`${t.replace(/\\/$/,\"\")}/${null==e?void 0:e.replace(/^\\//,\"\")}`:t;if(n){const e=Object.keys(n);e.forEach(((t,o)=>{r=`${r}${0===o?\"?\":\"\"}${t}=${encodeURIComponent(n[t])}${o===e.length-1?\"\":\"&\"}`}))}return r},m=(...e)=>new Headers(e.reduce(((e,t)=>((e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t).forEach((([t,n])=>{e[t]=\"function\"==typeof n?n():n})),e)),{})),k={\"Content-Type\":\"application/json\"},b=(e,t=\"\")=>{let n=e;return t&&(n=n+\":\"+t),{Authorization:`Bearer ${n}`}},y=(e,t)=>{const n={\"x-descope-sdk-session-id\":v(),\"x-descope-sdk-name\":\"core-js\",\"x-descope-sdk-version\":\"2.58.0\",\"x-descope-project-id\":e};return t&&(n[\"x-descope-refresh-cookie-name\"]=t),n},O=e=>{try{e=JSON.parse(e)}catch(e){return!1}return\"object\"==typeof e&&null!==e};var w=(e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>{var n;const o=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==o?void 0:o.reduce(((e,t)=>t(e)),e)},afterRequest:async(e,n)=>{var o;const s=[].concat((null===(o=t.hooks)||void 0===o?void 0:o.afterRequest)||[]);if(0==s.length)return;(await Promise.allSettled(null==s?void 0:s.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return\"rejected\"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))},transformResponse:null===(n=t.hooks)||void 0===n?void 0:n.transformResponse}}))})((({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:o,logger:i,hooks:r,cookiePolicy:a,fetch:d})=>{const p=e||s,u=g(i,d),l=async e=>{var s;const i=(null==r?void 0:r.beforeRequest)?r.beforeRequest(e):e,{path:d,body:l,headers:c,queryParams:g,method:h,token:v}=i,I=(e=>void 0===e?void 0:JSON.stringify(e))(l),w={headers:m(b(t,v),y(t,o),(null==n?void 0:n.baseHeaders)||{},O(I)?k:{},c),method:h,body:I};null!==a&&(w.credentials=a||\"include\");const j=await u(f({path:d,baseUrl:p,queryParams:g,projectId:t}),w);if((null==r?void 0:r.afterRequest)&&await r.afterRequest(e,null==j?void 0:j.clone()),null==r?void 0:r.transformResponse){const e=await j.json(),t=((null===(s=j.headers)||void 0===s?void 0:s.get(\"set-cookie\"))||\"\").split(\";\").reduce(((e,t)=>{const[n,o]=t.split(\"=\");return Object.assign(Object.assign({},e),{[n.trim()]:o})}),{}),n=Object.assign(Object.assign({},j),{json:()=>Promise.resolve(e),cookies:t});return n.clone=()=>n,r.transformResponse(n)}return j};return{get:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:I.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.post,token:s}),patch:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.patch,token:s}),put:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.put,token:s}),delete:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:I.delete,token:o}),hooks:r,buildUrl:(e,n)=>f({projectId:t,baseUrl:p,path:e,queryParams:n})}})),j={TOO_MANY_REQUESTS:429};function U(e,t,n){var o;let s=T(e);if(t){if(!(null==s?void 0:s.tenants)&&(null==s?void 0:s[a])===t)return(null==s?void 0:s[n])||[];s=null===(o=null==s?void 0:s.tenants)||void 0===o?void 0:o[t]}const i=null==s?void 0:s[n];return Array.isArray(i)?i:[]}function T(t){if(\"string\"!=typeof t||!t)throw new Error(\"Invalid token provided\");return e(t)}function R(e){const{exp:t}=T(e);return(new Date).getTime()/1e3>t}function P(e){let t=T(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function x(e,t){return U(e,t,\"permissions\")}function $(e,t){return U(e,t,\"roles\")}const q=(...e)=>e.join(\"/\").replace(/\\/{2,}/g,\"/\");async function S(e,t){var n;const o=await e,s={code:o.status,ok:o.ok,response:o},i=await o.clone().json();return o.ok?s.data=t?t(i):i:(s.error=i,o.status===j.TOO_MANY_REQUESTS&&Object.assign(s.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get(\"retry-after\"))||0})),s}function C(e){var t;return(null===(t=T(e))||void 0===t?void 0:t[a])||\"\"}const A=(e,t)=>(n=t)=>t=>!e(t)&&n.replace(\"{val}\",t),L=(e,t)=>(n=t)=>t=>{const o=e.filter((e=>e(t)));return!(o.length<e.length)&&(n?n.replace(\"{val}\",t):o.join(\" OR \"))},E=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),M=e=>t=>e.test(t),N=M(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/),D=M(/^\\+[1-9]{1}[0-9]{3,14}$/),H=(e,t)=>n=>E(...t).validate(((e,t,n)=>{const o=(Array.isArray(t)?t.join(\".\"):String(t)).replace(/\\[\\\\?(\"|')?(\\w|d)+\\\\?(\"|')?\\]/g,((e,t,n)=>\".\"+n)).split(\".\"),s=o.length;let i=0,r=e===Object(e)?e:void 0;for(;null!=r&&i<s;)r=r[o[i++]];return i&&i===s&&void 0!==r?r:n})(n,e)),J=A(N,'\"{val}\" is not a valid email'),z=A(D,'\"{val}\" is not a valid phone number'),_=A((F=1,e=>e.length>=F),\"Minimum length is 1\");var F;const K=A((e=>\"string\"==typeof e),\"Input is not a string\"),V=A((e=>Array.isArray(e)),\"Input is not an array\"),Y=A((e=>\"boolean\"==typeof e),\"Input is not a boolean\"),Z=A((e=>void 0===e),\"Input is defined\"),B=L([K(),Z()],\"Input is not a string or undefined\"),Q=L([V(),Y()],\"Input is not an array or boolean\"),G=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>E(...e).validate(n[t]))),t(...n)),W=e=>[K(`\"${e}\" must be a string`)],X=e=>[B(`\"${e}\" must be string or undefined`)],ee=e=>[K(`\"${e}\" must be a string`),_(`\"${e}\" must not be empty`)],te=e=>[K(`\"${e}\" must be a string`),J()],ne=e=>[K(`\"${e}\" must be a string`),z()],oe=G(ee(\"accessKey\")),se=e=>({exchange:oe(((t,o)=>S(e.post(n.accessKey.exchange,{loginOptions:o},{token:t}))))}),ie=(e,t,n)=>(t.forEach((t=>{const o=t.split(\".\");let s=o.shift(),i=e;for(;o.length>0;){if(i=i[s],!s||!i)throw Error(`Invalid path \"${t}\", \"${s}\" is missing or has no value`);s=o.shift()}if(\"function\"!=typeof i[s])throw Error(`\"${t}\" is not a function`);const r=i[s];i[s]=n(r)})),e),re=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||i,i),timeoutMs:Math.min(t||r,r)});var ae,de;!function(e){e.sms=\"sms\",e.voice=\"voice\",e.whatsapp=\"whatsapp\",e.im=\"im\"}(ae||(ae={})),function(e){e.email=\"email\"}(de||(de={}));const pe=Object.assign(Object.assign({},ae),de);var ue;!function(e){e.waiting=\"waiting\",e.running=\"running\",e.completed=\"completed\",e.failed=\"failed\"}(ue||(ue={}));const le=ee(\"loginId\"),ce=G(ee(\"token\")),ge=G(le),he=G(ee(\"pendingRef\")),ve=G(le,te(\"email\")),Ie=e=>({verify:ce((t=>S(e.post(n.enchantedLink.verify,{token:t})))),signIn:ge(((o,s,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signIn,pe.email),{loginId:o,URI:s,loginOptions:d,providerId:a},{token:r}))})),signUpOrIn:ge(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signUpOrIn,pe.email),{loginId:o,URI:s,loginOptions:a,providerId:r}))})),signUp:ge(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signUp,pe.email),{loginId:o,URI:s,user:i,loginOptions:d,providerId:a}))})),waitForSession:he(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=re(o);let a;const d=setInterval((async()=>{const o=await e.post(n.enchantedLink.session,{pendingRef:t});o.ok&&(clearInterval(d),a&&clearTimeout(a),s(S(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)})))),update:{email:ve(((t,o,s,i,r)=>S(e.post(n.enchantedLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i}))))}}),fe=G(ee(\"flowId\")),me=G(ee(\"executionId\"),ee(\"stepId\"),ee(\"interactionId\")),ke=e=>({start:fe(((t,o,s,i,r,a,d,p=!1)=>S(e.post(n.flow.start,{flowId:t,options:o,conditionInteractionId:s,interactionId:i,componentsVersion:r,flowVersions:a,input:d,isCustomScreen:p})))),next:me(((t,o,s,i,r,a,d=!1)=>S(e.post(n.flow.next,{executionId:t,stepId:o,interactionId:s,version:i,componentsVersion:r,input:a,isCustomScreen:d}))))}),be=ee(\"loginId\"),ye=G(ee(\"token\")),Oe=G(be),we=G(be,ne(\"phone\")),je=G(be,te(\"email\")),Ue=Object.keys(pe).filter((e=>e!==ae.voice&&e!==ae.im)),Te=e=>({verify:ye((t=>S(e.post(n.magicLink.verify,{token:t})))),signIn:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r={},a)=>{var{providerId:d}=r,p=t(r,[\"providerId\"]);return S(e.post(q(n.magicLink.signIn,s),{loginId:o,URI:i,loginOptions:p,providerId:d},{token:a}))}))})),{}),signUp:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r,a={})=>{var{providerId:d}=a,p=t(a,[\"providerId\"]);return S(e.post(q(n.magicLink.signUp,s),{loginId:o,URI:i,user:r,loginOptions:p,providerId:d}))}))})),{}),signUpOrIn:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.magicLink.signUpOrIn,s),{loginId:o,URI:i,loginOptions:d,providerId:a}))}))})),{}),update:{email:je(((t,o,s,i,r)=>S(e.post(n.magicLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i})))),phone:Object.keys(ae).filter((e=>e!==ae.voice)).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:we(((t,s,i,r,a)=>S(e.post(q(n.magicLink.update.phone,o),Object.assign({loginId:t,phone:s,URI:i},a),{token:r}))))})),{})}});var Re;!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\"}(Re||(Re={}));const Pe=G(ee(\"code\")),xe=e=>({start:Object.assign(((t,o,s,i,r)=>S(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:t},o&&{redirectURL:o}),r&&{loginHint:r}),token:i}))),Object.keys(Re).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:(t,s,i,r)=>S(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:o},t&&{redirectURL:t}),r&&{loginHint:r}),token:i}))})),{})),exchange:Pe((t=>S(e.post(n.oauth.exchange,{code:t})))),startNative:(t,o,s)=>S(e.post(n.oauth.startNative,{provider:t,loginOptions:o,implicit:s})),finishNative:(t,o,s,i,r)=>S(e.post(n.oauth.finishNative,{provider:t,stateId:o,user:s,code:i,idToken:r})),getOneTapClientId:t=>S(e.get(n.oauth.oneTap.getOneTapClientId.replace(\"{provider}\",t))),verifyOneTapIDToken:(t,o,s,i)=>S(e.post(n.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i})),exchangeOneTapIDToken:(t,o,s,i)=>S(e.post(n.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i}))}),$e=ee(\"appId\"),qe=G($e),Se=e=>({connect:qe(((t,o,s)=>{const i=null==o?void 0:o.tenantId,r=null==o?void 0:o.tenantLevel;return null==o||delete o.tenantId,null==o||delete o.tenantLevel,S(e.post(n.outbound.connect,{appId:t,tenantId:i,tenantLevel:r,options:o},{token:s}))}))}),Ce=ee(\"loginId\"),Ae=G(Ce,ee(\"code\")),Le=G(Ce),Ee=G(Ce,ne(\"phone\")),Me=G(Ce,te(\"email\")),Ne=e=>({verify:Object.keys(pe).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ae(((t,s)=>S(e.post(q(n.otp.verify,o),{code:s,loginId:t}))))})),{}),signIn:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return S(e.post(q(n.otp.signIn,s),{loginId:o,loginOptions:d,providerId:a},{token:r}))}))})),{}),signUp:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.otp.signUp,s),{loginId:o,user:i,loginOptions:d,providerId:a}))}))})),{}),signUpOrIn:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(q(n.otp.signUpOrIn,s),{loginId:o,loginOptions:a,providerId:r}))}))})),{}),update:{email:Me(((t,o,s,i)=>S(e.post(n.otp.update.email,Object.assign({loginId:t,email:o},i),{token:s})))),phone:Object.keys(ae).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ee(((t,s,i,r)=>S(e.post(q(n.otp.update.phone,o),Object.assign({loginId:t,phone:s},r),{token:i}))))})),{})}}),De=G(ee(\"tenant\")),He=G(ee(\"code\")),Je=e=>({start:De(((t,o,s,i,r,a,d,p)=>S(e.post(n.saml.start,s||{},Object.assign({queryParams:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({tenant:t},o&&{redirectURL:o}),r&&{ssoId:r}),a&&{forceAuthn:\"true\"}),d&&{loginHint:d}),p&&{initiatedEmail:t})},i&&{token:i}))))),exchange:He((t=>S(e.post(n.saml.exchange,{code:t}))))}),ze=ee(\"loginId\"),_e=G(ze,ee(\"code\")),Fe=G(ze),Ke=G(ze),Ve=e=>({signUp:Fe(((t,o)=>S(e.post(n.totp.signUp,{loginId:t,user:o})))),verify:_e(((t,o,s,i)=>S(e.post(n.totp.verify,{loginId:t,code:o,loginOptions:s},{token:i})))),update:Ke(((t,o)=>S(e.post(n.totp.update,{loginId:t},{token:o}))))}),Ye=ee(\"loginId\"),Ze=ee(\"newPassword\"),Be=G(Ye,ee(\"password\")),Qe=G(Ye),Ge=G(Ye,Ze),We=G(Ye,ee(\"oldPassword\"),Ze),Xe=e=>({signUp:Be(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(n.password.signUp,{loginId:o,password:s,user:i,loginOptions:d,providerId:a}))})),signIn:Be(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(n.password.signIn,{loginId:o,password:s,loginOptions:a,providerId:r}))})),sendReset:Qe(((t,o,s)=>S(e.post(n.password.sendReset,{loginId:t,redirectUrl:o,templateOptions:s})))),update:Ge(((t,o,s)=>S(e.post(n.password.update,{loginId:t,newPassword:o},{token:s})))),replace:We(((t,o,s)=>S(e.post(n.password.replace,{loginId:t,oldPassword:o,newPassword:s})))),policy:()=>S(e.get(n.password.policy))}),et=W(\"loginId\"),tt=ee(\"loginId\"),nt=ee(\"origin\"),ot=G(tt,nt,ee(\"name\")),st=G(tt,nt),it=G(et,nt),rt=G(tt,nt,X(\"token\")),at=G(ee(\"transactionId\"),ee(\"response\")),dt=e=>({signUp:{start:ot(((t,o,s,i)=>S(e.post(n.webauthn.signUp.start,{user:{loginId:t,name:s},origin:o,passkeyOptions:i})))),finish:at(((t,o)=>S(e.post(n.webauthn.signUp.finish,{transactionId:t,response:o}))))},signIn:{start:it(((t,o,s,i,r)=>S(e.post(n.webauthn.signIn.start,{loginId:t,origin:o,loginOptions:s,passkeyOptions:r},{token:i})))),finish:at(((t,o)=>S(e.post(n.webauthn.signIn.finish,{transactionId:t,response:o}))))},signUpOrIn:{start:st(((t,o,s)=>S(e.post(n.webauthn.signUpOrIn.start,{loginId:t,origin:o,passkeyOptions:s}))))},update:{start:rt(((t,o,s,i)=>S(e.post(n.webauthn.update.start,{loginId:t,origin:o,passkeyOptions:i},{token:s})))),finish:at(((t,o)=>S(e.post(n.webauthn.update.finish,{transactionId:t,response:o}))))}}),pt=W(\"loginId\"),ut=G(pt),lt=G(ee(\"pendingRef\")),ct=e=>({signUpOrIn:ut(((o,s={})=>{var{providerId:i}=s,r=t(s,[\"providerId\"]);return S(e.post(n.notp.signUpOrIn,{loginId:o,loginOptions:r,providerId:i}))})),signUp:ut(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(n.notp.signUp,{loginId:o,user:s,providerId:r,loginOptions:a}))})),signIn:ut(((o,s={},i)=>{var{providerId:r}=s,a=t(s,[\"providerId\"]);return S(e.post(n.notp.signIn,{loginId:o,loginOptions:a,providerId:r},{token:i}))})),waitForSession:lt(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=re(o);let a;const d=setInterval((async()=>{const o=await e.post(n.notp.session,{pendingRef:t});o.ok&&(clearInterval(d),a&&clearTimeout(a),s(S(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)}))))}),gt=G(ee(\"token\")),ht=G(X(\"token\"));var vt,It,ft=G([(vt=\"projectId\",It=ee(\"projectId\"),A(H(vt,It))())])((e=>{const{projectId:t,logger:o,baseUrl:s,cookiePolicy:i,baseHeaders:r={},refreshCookieName:a,fetch:d}=e;return p=w({baseUrl:s,projectId:t,logger:o,hooks:{get beforeRequest(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.beforeRequest},get afterRequest(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.afterRequest},get transformResponse(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.transformResponse}},cookiePolicy:i,baseConfig:{baseHeaders:r},refreshCookieName:a,fetch:d}),{accessKey:se(p),otp:Ne(p),magicLink:Te(p),enchantedLink:Ie(p),oauth:xe(p),outbound:Se(p),saml:Je(p),totp:Ve(p),notp:ct(p),webauthn:dt(p),password:Xe(p),flow:ke(p),refresh:ht(((e,t,o,s)=>{const i={};o&&(i.externalToken=o);const r=s?n.tryRefresh:n.refresh;return S(p.post(r,i,{token:e,queryParams:t}))})),selectTenant:G([K(\"tenantId\")],[B('\"token\" must be string or undefined')])(((e,t)=>S(p.post(n.selectTenant,{tenant:e},{token:t})))),logout:ht((e=>S(p.post(n.logout,{},{token:e})))),logoutAll:ht((e=>S(p.post(n.logoutAll,{},{token:e})))),me:ht((e=>S(p.get(n.me,{token:e})))),myTenants:G([Q('\"tenants\" must a string array or a boolean')],[B('\"token\" must be string or undefined')])(((e,t)=>{const o={};return\"boolean\"==typeof e?o.dct=e:o.ids=e,S(p.post(n.myTenants,o,{token:t}))})),history:ht((e=>S(p.get(n.history,{token:e})))),isJwtExpired:gt(R),getTenants:gt(P),getJwtPermissions:gt(x),getJwtRoles:gt($),getCurrentTenant:gt(C),httpClient:p};var p})),mt=Object.assign(ft,{DeliveryMethods:pe});export{j as HttpStatusCodes,w as createHttpClient,mt as default,re as normalizeWaitForSessionConfig,S as transformResponse,ie as wrapWith};\n//# sourceMappingURL=index.esm.js.map\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * Fingerprint Pro v3.11.6 - Copyright (c) FingerprintJS, Inc, 2025 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function o(e,t,n,r){var o,i=document,a=\"securitypolicyviolation\",u=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(a,u);var R=function(){return i.removeEventListener(a,u)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){var t=new MessageChannel;t.port1.onmessage=function(){return e()},t.port2.postMessage(null)})).then((function(){if(R(),o)return n(o);throw e}))}))}var i={default:\"endpoint\"},a={default:\"tlsEndpoint\"},u=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",l=\"The endpoint parameter is not a valid URL\";function E(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var d=/*#__PURE__*/E(\"WrongRegion\"),p=/*#__PURE__*/E(\"SubscriptionNotActive\"),v=/*#__PURE__*/E(\"UnsupportedVersion\"),_=/*#__PURE__*/E(\"InstallationMethodRestricted\"),O=/*#__PURE__*/E(\"HostnameRestricted\"),h=/*#__PURE__*/E(\"IntegrationFailed\"),I=\"API key required\",N=\"API key not found\",T=\"API key expired\",m=\"Request cannot be parsed\",w=\"Request failed\",A=\"Request failed to process\",P=\"Too many requests, rate limit exceeded\",y=\"Not available for this origin\",D=\"Not available with restricted header\",S=I,g=N,L=T,U=\"3.11.6\",b=\"Failed to load the JS script of the agent\",C=\"9319\";function M(t,n){var r,o,i,a,u,R,c,s=[],E=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),a=100,u=3e3,R=0,o=function(){return Math.random()*Math.min(u,a*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,a=t instanceof Error?t.message:\"\";if(a===f||a===l)r.exclude(),n=0;else if(a===C)r.exclude();else if(a===b){var u=Date.now()-e.getTime()<50,R=r.current();R&&u&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),d=E[0],p=E[1];if(void 0===d)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var v=function(e){var t=new Date,r=function(n){return s.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(null!=c||(c=e),s.length>=5)throw c;var n=p(t,e);if(!n)throw c;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return v(o)}))}))};return v(d).then((function(e){return[e,s]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",B=K;function F(e){var o;e.scriptUrlPattern;var i=e.token,a=e.apiKey,u=void 0===a?i:a,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],l=s[1];return Promise.resolve().then((function(){if(!u||\"string\"!=typeof u)throw new Error(I);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,u);return M(e,V)})).catch((function(e){throw l(),function(e){if(e instanceof Error&&e.message===C)return new Error(b);return e}(e)})).then((function(e){var t=e[0],r=e[1];return l(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function V(e){return o(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(l);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(b))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(k)}function k(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(C);return n}var G={load:F,defaultScriptUrlPattern:B,ERROR_SCRIPT_LOAD_FAIL:b,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:N,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:m,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:u,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:O,ERROR_FORBIDDEN_HEADER:D,ERROR_FORBIDDEN_ORIGIN:y,ERROR_GENERAL_SERVER_FAILURE:w,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:h,ERROR_INVALID_ENDPOINT:l,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:P,ERROR_SERVER_TIMEOUT:A,ERROR_SUBSCRIPTION_NOT_ACTIVE:p,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:g,ERROR_TOKEN_MISSING:S,ERROR_UNSUPPORTED_VERSION:v,ERROR_WRONG_REGION:d,defaultEndpoint:i,defaultTlsEndpoint:a};export{T as ERROR_API_KEY_EXPIRED,N as ERROR_API_KEY_INVALID,I as ERROR_API_KEY_MISSING,m as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,u as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,O as ERROR_FORBIDDEN_ENDPOINT,D as ERROR_FORBIDDEN_HEADER,y as ERROR_FORBIDDEN_ORIGIN,w as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,h as ERROR_INTEGRATION_FAILURE,l as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,P as ERROR_RATE_LIMIT,b as ERROR_SCRIPT_LOAD_FAIL,A as ERROR_SERVER_TIMEOUT,p as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,g as ERROR_TOKEN_INVALID,S as ERROR_TOKEN_MISSING,v as ERROR_UNSUPPORTED_VERSION,d as ERROR_WRONG_REGION,G as default,i as defaultEndpoint,B as defaultScriptUrlPattern,a as defaultTlsEndpoint,F as load};\n","import{__rest as e}from\"tslib\";import{jwtDecode as t}from\"jwt-decode\";import n,{wrapWith as o}from\"@descope/core-js-sdk\";import i from\"js-cookie\";import{load as r,defaultEndpoint as s,defaultScriptUrlPattern as a}from\"@fingerprintjs/fingerprintjs-pro\";const c=\"3.2.0\",l=\"undefined\"!=typeof window,d=Math.pow(2,31)-1,u=`https://descopecdn.com/npm/oidc-client-ts@${c}/dist/browser/oidc-client-ts.min.js`,p=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${c}/dist/browser/oidc-client-ts.min.js`;const f=[\"/v1/auth/refresh\",\"/v1/auth/try-refresh\",\"/v1/auth/me\",\"/v1/auth/me/tenants\",\"/v1/auth/me/history\"];let g;const v=e=>{try{return t(e).exp}catch(e){return null}},h=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:v(n)},w=e=>{const{expires_in:t,expires_at:n,access_token:o}=e;return n||(t?Math.floor(Date.now()/1e3)+t:o?v(o):void 0)},m=t=>{const{access_token:n,id_token:o,refresh_token:i,refresh_expire_in:r}=t,s=e(t,[\"access_token\",\"id_token\",\"refresh_token\",\"refresh_expire_in\"]);return Object.assign({sessionJwt:t.sessionJwt||n,idToken:o,refreshJwt:t.refreshJwt||i,sessionExpiration:t.sessionExpiration||w(t),cookieExpiration:t.cookieExpiration||h(t)},s)},y=(e,t)=>{var n;return[\"beforeRequest\",\"afterRequest\"].reduce(((n,o)=>{var i;return n[o]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[o])||[]).concat((null==t?void 0:t[o])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},b=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json()),n=(null==t?void 0:t.authInfo)||t||{};return m(n)},k=()=>l&&!!window.descopeBridge,S=(e,t)=>{if(!((null==t?void 0:t.status)>=400&&(null==t?void 0:t.status)<500))return!1;const n=(null==e?void 0:e.path)||\"\";return f.includes(n)},O=void 0!==g||l&&void 0!==window.localStorage,I=(e,t)=>{var n,o;return null===(o=null===(n=g||l&&window.localStorage)||void 0===n?void 0:n.setItem)||void 0===o?void 0:o.call(n,e,t)},_=e=>{var t,n;return null===(n=null===(t=g||l&&window.localStorage)||void 0===t?void 0:t.getItem)||void 0===n?void 0:n.call(t,e)},x=e=>{var t,n;return null===(n=null===(t=g||l&&window.localStorage)||void 0===t?void 0:t.removeItem)||void 0===n?void 0:n.call(t,e)},j=e=>{var t,n,o,i,r;return null!==(r=null!==(n=null===(t=null==g?void 0:g.key)||void 0===t?void 0:t.call(g,e))&&void 0!==n?n:l&&(null===(i=null===(o=window.localStorage)||void 0===o?void 0:o.key)||void 0===i?void 0:i.call(o,e)))&&void 0!==r?r:null},U=(...e)=>{console.debug(...e)},D=(...e)=>{console.warn(...e)},T=(e,t)=>{let n;var o;return t>0?(n=1e3*t,U(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-(new Date).getTime():0)-2e4,n>d&&(U(`Timeout is too large (${n}ms), setting it to ${d}ms`),n=d),n},C=\"DS\",A=\"DSR\",R=\"DSI\",$=\"DSRCN\";function E(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:s,cookieExpiration:a,cookieSecure:c}=n,l=new Date(1e3*a),d=N(o);i.set(e,t,{path:r,domain:d?o:void 0,expires:l,sameSite:s,secure:c})}}function N(e){const t=window.location.hostname.split(\".\"),n=null==e?void 0:e.split(\".\");return t.slice(-(null==n?void 0:n.length)).join(\".\")===e}const J=e=>(null==e?void 0:e.cookieName)||C,P=e=>(null==e?void 0:e.cookieName)||A;function L(e=\"\",t){return i.get(P(t))||_(`${e}${A}`)||\"\"}function K(e=\"\",t){return i.get(J(t))||_(`${e}${C}`)||\"\"}function q(e=\"\"){return _(`${e}${R}`)||\"\"}function V(e=\"\",t,n,o){x(`${e}${A}`),x(`${e}${C}`),x(`${e}${R}`),x(`${e}${$}`);const r=J(t);i.remove(r,null==o?void 0:o.session);const s=P(n);i.remove(s,null==o?void 0:o.refresh)}const F=(e,t,n)=>o=>{const i=Object.assign(o,{token:o.token||L(e,t)});if(!n){const t=function(e=\"\"){return _(`${e}${$}`)}(e);t&&(i.headers=Object.assign(Object.assign({},i.headers||{}),{\"x-descope-refresh-cookie-name\":t}))}const r=function(e=\"\"){return _(`${e}DTD`)||\"\"}(e);return r&&(i.headers=Object.assign(Object.assign({},i.headers||{}),{\"x-descope-trusted-device-token\":r})),i},M=l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(\"fingerprint.endpoint.url\"))||\"https://api.descope.com\",H=\"vsid\",B=\"vrid\",G=\"fp\",W=(e=!1)=>{const t=_(G);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},X=async(e,t=M)=>{try{if(W())return;const n=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),o=new URL(t);o.pathname=\"/fXj8gt3x8VulJBna/x96Emn69oZwcd7I6\";const i=new URL(t);i.pathname=\"/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I\";const c=i.toString()+\"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>\",l=r({apiKey:e,endpoint:[o.toString(),s],scriptUrlPattern:[c,a]}),d=await l,{requestId:u}=await d.get({linkedId:n}),p=((e,t)=>({[H]:e,[B]:t}))(n,u);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};I(G,JSON.stringify(t))})(p)}catch(e){console.warn(\"Could not load fingerprint\",e)}},Z=()=>{x(G)},z=e=>{const t=W(!0);return t&&e.body&&(e.body.fpData=t),e},Q=\"descopeFlowNonce\",Y=\"X-Descope-Flow-Nonce\",ee=\"/v1/flow/start\",te=\"/v1/flow/next\",ne=(e,t=Q)=>`${t}${e}`,oe=(e,t=Q)=>{try{const n=ne(e,t);x(n)}catch(e){console.error(\"Error removing flow nonce:\",e)}},ie=e=>{var t;return(null===(t=/.*\\|#\\|(.*)/.exec(e))||void 0===t?void 0:t[1])||null},re=e=>{var t;return e.path===te&&(null===(t=e.body)||void 0===t?void 0:t.executionId)?ie(e.body.executionId):null},se=\"dls_last_user_login_id\",ae=\"dls_last_user_display_name\",ce=e=>I(se,e),le=()=>_(se),de=()=>_(ae),ue=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=le(),r=de();i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r);return await e(...t)},pe=e=>t=>async(...n)=>{const o=await t(...n);return e||(x(se),x(ae)),o};function fe(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const ge=(e,t,n,o)=>i=>async(...r)=>{const s=await i(...r);return V(e,t,n,null==o?void 0:o()),s};async function ve(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=ke(n.publicKey.challenge),n.publicKey.user.id=ke(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=ke(e.id)})),n}(e),n=await navigator.credentials.create(t);return o=n,JSON.stringify({id:o.id,rawId:Se(o.rawId),type:o.type,response:{attestationObject:Se(o.response.attestationObject),clientDataJSON:Se(o.response.clientDataJSON)}});var o}async function he(e){const t=ye(e);return be(await navigator.credentials.get(t))}async function we(e,t){const n=ye(e);n.signal=t.signal,n.mediation=\"conditional\";return be(await navigator.credentials.get(n))}async function me(e=!1){var t,n;if(!l)return Promise.resolve(!1);if(k()){const e=null===(n=null===(t=window.descopeBridge)||void 0===t?void 0:t.hostInfo)||void 0===n?void 0:n.webauthn;if(\"boolean\"==typeof e)return e}const o=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return o&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():o}function ye(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=ke(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=ke(e.id)})),n}function be(e){return JSON.stringify({id:e.id,rawId:Se(e.rawId),type:e.type,response:{authenticatorData:Se(e.response.authenticatorData),clientDataJSON:Se(e.response.clientDataJSON),signature:Se(e.response.signature),userHandle:e.response.userHandle?Se(e.response.userHandle):void 0}})}function ke(e){const t=e.replace(/_/g,\"/\").replace(/-/g,\"+\");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function Se(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\\//g,\"_\").replace(/\\+/g,\"-\").replace(/=/g,\"\")}var Oe,Ie=(Oe=e=>({async signUp(t,n,o){const i=await e.webauthn.signUp.start(t,window.location.origin,n,o);if(!i.ok)return i;const r=await ve(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,r)},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 i=await he(o.data.options);return await e.webauthn.signIn.finish(o.data.transactionId,i)},async signUpOrIn(t,n){var o;const i=await e.webauthn.signUpOrIn.start(t,window.location.origin,n);if(!i.ok)return i;if(null===(o=i.data)||void 0===o?void 0:o.create){const t=await ve(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,t)}{const t=await he(i.data.options);return await e.webauthn.signIn.finish(i.data.transactionId,t)}},async update(t,n,o){const i=await e.webauthn.update.start(t,window.location.origin,n,o);if(!i.ok)return i;const r=await ve(i.data.options);return await e.webauthn.update.finish(i.data.transactionId,r)},helpers:{create:ve,get:he,isSupported:me,conditional:we}}),(...e)=>{const t=Oe(...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 _e={config:\"/fedcm/config\"},xe=()=>{if(window.crypto&&window.crypto.getRandomValues){const e=new Uint8Array(16);return window.crypto.getRandomValues(e),Array.from(e,(e=>e.toString(16).padStart(2,\"0\"))).join(\"\")}return Math.random().toString(36).substring(2)};async function je(e,t){var n;try{await Ue(e,t)}catch(e){null===(n=null==t?void 0:t.onFailed)||void 0===n||n.call(t,e)}}async function Ue(e,t){var n,o;const i=await async function(e,t=\"google\",n,o,i){const r=xe(),s=await async function(){return new Promise(((e,t)=>{if(window.google)return void e(window.google.accounts.id);let n=document.getElementById(\"google-gsi-client-script\");n||(n=document.createElement(\"script\"),document.head.appendChild(n),n.async=!0,n.defer=!0,n.id=\"google-gsi-client-script\",n.src=\"https://accounts.google.com/gsi/client\"),n.onload=function(){window.google?e(window.google.accounts.id):t(\"Failed to load Google GSI client script - not loaded properly\")},n.onerror=function(){t(\"Failed to load Google GSI client script - failed to load\")}}))}(),a=await e.oauth.getOneTapClientId(t);if(!a.ok)throw new Error(\"Failed to get OneTap client ID for provider \"+t);const c=a.data.clientId;return new Promise((e=>{var a,l;const d=n=>{e({provider:t,nonce:r,credential:null==n?void 0:n.credential})};s.initialize(Object.assign(Object.assign({},n),{itp_support:null===(a=null==n?void 0:n.itp_support)||void 0===a||a,use_fedcm_for_prompt:null===(l=null==n?void 0:n.use_fedcm_for_prompt)||void 0===l||l,client_id:c,callback:d,nonce:r})),s.prompt((e=>{var t,n;if(i&&(null==e?void 0:e.isDismissedMoment())){const n=null===(t=e.getDismissedReason)||void 0===t?void 0:t.call(e);return null==i||i(n),void d()}if(o&&(null==e?void 0:e.isSkippedMoment())){const t=null===(n=e.getSkippedReason)||void 0===n?void 0:n.call(e);return null==o||o(t),void d()}}))}))}(e,t.provider,t.oneTapConfig,t.onSkipped,t.onDismissed);if(!i.credential)return null;if(null==t?void 0:t.onCodeReceived){const o=await e.oauth.verifyOneTapIDToken(i.provider,i.credential,i.nonce,null==t?void 0:t.loginOptions);if(!o.ok||!o.data)throw new Error(\"Failed to verify OneTap client ID for provider \"+i.provider);null===(n=null==t?void 0:t.onCodeReceived)||void 0===n||n.call(t,o.data.code)}else{const n=await e.oauth.exchangeOneTapIDToken(i.provider,i.credential,i.nonce,null==t?void 0:t.loginOptions);if(!n.ok||!n.data)throw new Error(\"Failed to exchange OneTap client ID for provider \"+i.provider);null===(o=null==t?void 0:t.onAuthenticated)||void 0===o||o.call(t,n.data)}}var De=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await me(),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 Te=()=>window.location.search.includes(\"code\")&&window.location.search.includes(\"state\");let Ce;const Ae=(e,t)=>new Promise(((n,o)=>{if(!e.length)return o(new Error(\"No URLs provided to loadScriptWithFallback\"));const i=t();if(i)return n(i);const r=e.shift(),s=document.createElement(\"script\");s.src=r,s.id=(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t).toString(16)})(r),s.onload=()=>{const e=t();if(e)return n(e);throw new Error(\"Could not get entry after loading script from URL\")},s.addEventListener(\"error\",(()=>{Ae(e,t),s.setAttribute(\"data-error\",\"true\")})),document.body.appendChild(s)}));const Re=async(e,t,n)=>{Ce||(Ce=(async()=>{try{return require(\"oidc-client-ts\")}catch(e){return Ae([u,p],(()=>window.oidc))}})());const{OidcClient:o,WebStorageStateStore:i}=await Ce;if(!o)throw new Error(\"oidc-client-ts is not installed. Please install it by running `npm install oidc-client-ts`\");const r=(null==n?void 0:n.redirectUri)||window.location.href;let s,a,c,l;if(null==n?void 0:n.issuer){if(!n.clientId)throw new Error(\"clientId is required when providing a custom issuer/authority\");s=n.issuer,a=n.clientId,c=`${a}_user`,l=\"openid\"}else(null==n?void 0:n.applicationId)?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,a=t,c=`${a}_user`,l=\"openid email roles descope.custom_claims offline_access\"):(s=e.httpClient.buildUrl(t),a=t,c=`${a}_user`,l=\"openid email roles descope.custom_claims offline_access\");const d={authority:s,client_id:a,redirect_uri:r,response_type:\"code\",scope:(null==n?void 0:n.scope)||l,stateStore:new i({store:window.localStorage,prefix:a}),loadUserInfo:!0,fetchRequestCredentials:\"same-origin\"};return(null==n?void 0:n.redirectUri)&&(d.redirect_uri=n.redirectUri),{client:new o(d),stateUserKey:c}},$e=(e,t,n)=>{const o=async()=>{let o,i;return o&&i||({client:o,stateUserKey:i}=await Re(e,t,n)),{client:o,stateUserKey:i}},i=async(t=\"\")=>{var n;const{client:i,stateUserKey:r}=await o(),s=await i.processSigninResponse(t||window.location.href);var a;return await(null===(n=e.httpClient.hooks)||void 0===n?void 0:n.afterRequest({},new Response(JSON.stringify(s)))),I(r,JSON.stringify({id_token:(a=s).id_token,session_state:a.session_state,profile:a.profile})),(()=>{const e=new URL(window.location.href);e.searchParams.delete(\"code\"),e.searchParams.delete(\"state\"),window.history.replaceState({},document.title,e.toString())})(),s};return{loginWithRedirect:async(e={},t=!1)=>{const{client:n}=await o(),i=await n.createSigninRequest(e),{url:r}=i;return t||(window.location.href=r),{ok:!0,data:i}},finishLogin:i,finishLoginIfNeed:async(e=\"\")=>{if(Te())return await i(e)},refreshToken:async t=>{var n;const{client:i,stateUserKey:r}=await o(),s=(e=>{const t=_(e);return t?JSON.parse(t):null})(r);if(!s)throw new Error(\"User not found in storage to refresh token\");let a=t;if(!a){const t={};e.httpClient.hooks.beforeRequest(t),a=t.token}const c=await i.useRefreshToken({state:{refresh_token:a,session_state:s.session_state,profile:s.profile}});return await(null===(n=e.httpClient.hooks)||void 0===n?void 0:n.afterRequest({},new Response(JSON.stringify(c)))),c},logout:async(e,t=!1)=>{const{client:n,stateUserKey:i}=await o();e||(e={}),e.id_token_hint=e.id_token_hint||q(),e.post_logout_redirect_uri=e.post_logout_redirect_uri||window.location.href;const r=await n.createSignoutRequest(e),{url:s}=r;return x(i),t||window.location.replace(s),r}}},Ee=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((e=>t=>{var n;return n=t.customStorage,g=n,e(t)}),(t=>n=>{var{fpKey:o,fpLoad:i}=n,r=e(n,[\"fpKey\",\"fpLoad\"]);return l?(o&&i&&X(o).catch((()=>null)),t(y(r,{beforeRequest:z}))):t(r)}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({\"x-descope-sdk-name\":\"web-js\",\"x-descope-sdk-version\":\"1.47.0\"},t.baseHeaders)}))),(e=>t=>{const n=fe(),i=fe(),r=fe(),s=fe(),a=e(y(t,{afterRequest:async(e,t)=>{if(S(e,t))U(\"Session invalidated, notifying subscribers with empty values\"),i.pub(null),r.pub(null),n.pub(null),s.pub(null);else{const e=await(async e=>{const t=await b(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty(\"userId\"))?t:void 0)})(t);e&&r.pub(e);const{sessionJwt:o,sessionExpiration:a,claims:c}=await b(t);o&&i.pub(o),c&&s.pub(c),(a||o)&&n.pub(a||42)}}})),c=o(a,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const o=await e(...t);return i.pub(null),r.pub(null),n.pub(null),s.pub(null),o}));return Object.assign(c,{onSessionTokenChange:i.sub,onUserChange:r.sub,onClaimsChange:s.sub,onIsAuthenticatedChange:e=>n.sub((t=>{e(!!t)}))})}),(t=>n=>{const{enableFlowNonce:o=!0,nonceStoragePrefix:i=Q}=n,r=e(n,[\"enableFlowNonce\",\"nonceStoragePrefix\"]);if(!o)return t(r);((e=Q)=>{try{if(!O)return;for(let i=0;i<(t=void 0,n=void 0,o=void 0,null!==(o=null!==(t=null==g?void 0:g.length)&&void 0!==t?t:l&&(null===(n=window.localStorage)||void 0===n?void 0:n.length))&&void 0!==o?o:0);i++){const t=j(i);if(t&&t.startsWith(e)){const e=_(t);if(e)try{JSON.parse(e).expiry<Date.now()&&x(t)}catch(e){x(t)}}}}catch(e){console.error(\"Error cleaning up expired nonces:\",e)}var t,n,o})(i);return t(y(r,{afterRequest:async(e,t)=>{if(e.path!==ee&&e.path!==te)return;const{nonce:n,executionId:o}=await(async(e,t)=>{try{const n=t.headers.get(Y);let o=await t.clone().json().then((e=>(null==e?void 0:e.executionId)||null)).catch((()=>null));return o||(o=re(e)),{nonce:n,executionId:ie(o)}}catch(e){return{nonce:null,executionId:null}}})(e,t);if(n&&o){((e,t,n,o=Q)=>{try{const i=ne(e,o),r=n?172800:10800,s={value:t,expiry:Date.now()+1e3*r,isStart:n};I(i,JSON.stringify(s))}catch(e){console.error(\"Error setting flow nonce:\",e)}})(o,n,e.path===ee,i)}},beforeRequest:e=>{if(e.path===te){const t=re(e);if(t){const n=((e,t=Q)=>{try{const n=ne(e,t),o=_(n);if(!o)return null;const i=JSON.parse(o);return i.expiry<Date.now()?(oe(e,t),null):i.value}catch(e){return console.error(\"Error getting flow nonce:\",e),null}})(t,i);n&&(e.headers=e.headers||{},e.headers[Y]=n)}}return e}}))}),(n=>i=>{var{autoRefresh:r}=i,s=e(i,[\"autoRefresh\"]);const a=!!r,c=\"object\"==typeof r&&(null==r?void 0:r.customActivityTracking);if(!a||k())return Object.assign(n(s),{markUserActive:()=>{D(\"markUserActive() called but has no effect\")}});const{clearAllTimers:d,setTimer:u}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let p,f,g=null,v=!1,h=!1;c&&(U(\"Activity-based refresh enabled\"),g=(()=>{let e=!0;return{hadActivity:()=>e,reset:()=>{e=!1},markActive:()=>{e=!0}}})()),l&&document.addEventListener(\"visibilitychange\",(()=>{\"visible\"===document.visibilityState&&p&&new Date>p&&(U(\"Expiration time passed, refreshing session\"),w.refresh(L()||f))}));const w=n(y(s,{afterRequest:async(e,n)=>{const{sessionJwt:o,refreshJwt:i,sessionExpiration:r,nextRefreshSeconds:s}=await b(n);if(S(e,n))U(\"Session invalidated, canceling all timers\"),d();else if(o||r){if(p=((e,n)=>{if(n)return new Date(1e3*n);U(\"Could not extract expiration time from session token, trying to decode the token\");try{const n=t(e);if(n.exp)return new Date(1e3*n.exp)}catch(e){return null}})(o,r),!p)return void U(\"Could not extract expiration time from session token\");f=i,v=s>0;const e=T(p,s);if(d(),e<=2e4)return void U(\"Session is too close to expiration, not setting refresh timer\");const n=new Date(Date.now()+e).toLocaleTimeString(\"en-US\",{hour12:!1});U(`Setting refresh timer for ${n}. (${e}ms)`),g&&(g.reset(),h=!1),u((()=>{if(l&&\"hidden\"===document.visibilityState)U(\"Skipping refresh due to timer - document is hidden\");else{if(g&&v&&!g.hadActivity())return U(\"Skipping refresh due to timer - user is idle\"),void(h=!0);U(\"Refreshing session due to timer\"),w.refresh(L()||i)}}),e)}}}));return Object.assign(o(w,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const n=await e(...t);return U(\"Clearing all timers\"),d(),n})),{markUserActive:g?()=>{U(\"markUserActive() called\"),v||U(\"markUserActive() called but server does not have inactivity timeout configured (no nextRefreshSeconds)\"),g.markActive(),h&&(U(\"User became active after skipped refresh, triggering refresh\"),h=!1,d(),w.refresh(L()||f))}:()=>{D(\"markUserActive() called but customActivityTracking is not enabled — this call has no effect\")}})}),(t=>n=>{var{storeLastAuthenticatedUser:i=!0,keepLastAuthenticatedUserAfterLogout:r=!1}=n,s=e(n,[\"storeLastAuthenticatedUser\",\"keepLastAuthenticatedUserAfterLogout\"]);if(!i)return Object.assign(t(s),{getLastUserLoginId:le,getLastUserDisplayName:de});const a=t(y(s,{afterRequest:async(e,t)=>{var n;const{userInfo:o,lastAuth:i}=await(async e=>{if(!(null==e?void 0:e.ok))return{userInfo:void 0,lastAuth:void 0};const t=await(null==e?void 0:e.clone().json()),n=m((null==t?void 0:t.authInfo)||t||{});return{userInfo:(null==n?void 0:n.user)||((null==n?void 0:n.hasOwnProperty(\"userId\"))?n:void 0),lastAuth:t.lastAuth}})(t),r=null===(n=null==o?void 0:o.loginIds)||void 0===n?void 0:n[0],s=null==o?void 0:o.name;r?(ce(r),(e=>{I(ae,e)})(s)):(null==i?void 0:i.loginId)&&ce(i.loginId)}}));let c=o(a,[\"flow.start\"],ue);return c=o(c,[\"logout\",\"logoutAll\"],pe(r)),Object.assign(c,{getLastUserLoginId:le,getLastUserDisplayName:de})}),(t=>n=>{var{persistTokens:r,sessionTokenViaCookie:s,refreshTokenViaCookie:a,storagePrefix:c,refreshCookieName:d}=n,u=e(n,[\"persistTokens\",\"sessionTokenViaCookie\",\"refreshTokenViaCookie\",\"storagePrefix\",\"refreshCookieName\"]);if(!r||!l)return t(Object.assign({refreshCookieName:d},u));let p;const f=t(y(Object.assign({refreshCookieName:d},u),{beforeRequest:F(c,a,d),afterRequest:async(e,t)=>{if(S(e,t))U(\"Session invalidated, clearing persisted tokens\"),V(c,s,a,p);else{const e=await b(t);e.cookieName?I(`${c||\"\"}${$}`,e.cookieName):e.refreshJwt&&x(`${c||\"\"}${$}`);const n=((e={},t=!1,n=\"\",o=!1)=>{var r,s,a,c;const{sessionJwt:l,refreshJwt:d,trustedDeviceJwt:u}=e;let p;if(d)if(o){x(`${n}${A}`);const t=o.sameSite||\"Strict\",i=null===(r=o.secure)||void 0===r||r,a=null!==(s=o.domain)&&void 0!==s?s:e.cookieDomain,c=P(o);i&&\"https:\"!==window.location.protocol&&D(\"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 l=Object.assign(Object.assign({},e),{cookieSameSite:t,cookieSecure:i,cookieDomain:a});E(c,d,l);const u=N(a);p=Object.assign(Object.assign({},p),{refresh:{path:l.cookiePath,domain:u?a:void 0}})}else{const e=P(o);i.remove(e),I(`${n}${A}`,d)}if(l)if(t){const n=t.sameSite||\"Strict\",o=null===(a=t.secure)||void 0===a||a,i=null!==(c=t.domain)&&void 0!==c?c:e.cookieDomain,r=J(t);o&&\"https:\"!==window.location.protocol&&D(\"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 s=Object.assign(Object.assign({},e),{cookieSameSite:n,cookieSecure:o,cookieDomain:i});E(r,l,s);const d=N(i);p=Object.assign(Object.assign({},p),{session:{path:s.cookiePath,domain:d?i:void 0}})}else I(`${n}${C}`,l);return e.idToken&&I(`${n}${R}`,e.idToken),u&&I(`${n}DTD`,u),p})(e,s,c,a);n&&(p=n)}}})),g=o(f,[\"logout\",\"logoutAll\",\"oidc.logout\"],ge(c,s,a,(()=>p)));return Object.assign(g,{getRefreshToken:()=>L(c,a),getSessionToken:()=>K(c,s),getIdToken:()=>q(c)})}))((e=>{const t=n(e),o=$e(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(n,i)=>{var r;if(k())return U(`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 o.refreshToken(n),Promise.resolve({ok:!0})}catch(e){return Promise.resolve({ok:!1,error:{errorCode:\"J161001\",errorDescription:e.toString()}})}const s=K(),a=L();let c=\"\";if(e.getExternalToken)try{c=await(null===(r=e.getExternalToken)||void 0===r?void 0:r.call(e))}catch(e){U(\"Error getting external token while refreshing\",e)}return t.refresh(n,{dcs:s?\"t\":\"f\",dcr:a?\"t\":\"f\"},c,i)},logout:async n=>{if(e.oidcConfig)try{return await o.logout({id_token_hint:n}),Promise.resolve({ok:!0})}catch(e){return Promise.resolve({ok:!1,error:{errorCode:\"J161000\",errorDescription:e.toString()}})}return t.logout(n)},flow:De(t),webauthn:Ie(t),fedcm:(i=t,r=e.projectId,{onetap:{requestExchangeCode(e){je(i,e)},requestAuthentication(e){je(i,e)}},async oneTap(e,t,n,o,r){await Ue(i,{provider:e,oneTapConfig:t,loginOptions:n,onSkipped:o,onDismissed:r})},async launch(e){var t;const n={identity:{context:e||\"signin\",providers:[{configURL:i.httpClient.buildUrl(r+_e.config),clientId:r}]}},o=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(n));return i.refresh(o.token)},isSupported:()=>l&&\"IdentityCredential\"in window,async isLoggedIn(e){var t;const n=i.httpClient.buildUrl(r+_e.config);try{const o={identity:{context:e||\"signin\",providers:[{configURL:n,clientId:r}]}},i=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(o));return!!i&&!!i.token}catch(e){return!1}}}),oidc:o});var i,r}));export{A as REFRESH_TOKEN_KEY,C as SESSION_TOKEN_KEY,Z as clearFingerprintData,Ee as createSdk,Ee as default,X as ensureFingerprintIds,K as getSessionToken,Te as hasOidcParamsInUrl};\n//# sourceMappingURL=index.esm.js.map\n","import{createSdk as e}from\"@descope/web-js-sdk\";import{IS_BROWSER as s}from\"./constants.js\";import{wrapInTry as t}from\"./utils.js\";let o;const n=t=>{const n=e(Object.assign({persistTokens:s,autoRefresh:s},t));return o=n,n},r=()=>n({projectId:\"temp pid\",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});o=r();const i=()=>s?null==o?void 0:o.getSessionToken():(console.warn(\"Get session token is not supported in SSR\"),\"\"),l=()=>s?null==o?void 0:o.getRefreshToken():(console.warn(\"Get refresh token is not supported in SSR\"),\"\"),d=(e=i())=>null==o?void 0:o.isJwtExpired(e),u=(e=l())=>null==o?void 0:o.isJwtExpired(e),p=t(((e=i(),s)=>null==o?void 0:o.getJwtPermissions(e,s))),a=t(((e=i(),s)=>null==o?void 0:o.getJwtRoles(e,s))),c=t(((e=i())=>null==o?void 0:o.getCurrentTenant(e))),f=(e=l())=>null==o?void 0:o.refresh(e),m=()=>o;export{r as createTempSdk,n as default,c as getCurrentTenant,m as getGlobalSdk,p as getJwtPermissions,a as getJwtRoles,l as getRefreshToken,i as getSessionToken,u as isRefreshTokenExpired,d as isSessionTokenExpired,f as refresh};\n//# sourceMappingURL=sdk.js.map\n","import{useMemo as e}from\"react\";import{baseHeaders as o}from\"../../constants.js\";import t from\"../../sdk.js\";var s=({projectId:s,baseUrl:r,persistTokens:i,autoRefresh:a,sessionTokenViaCookie:n,refreshTokenViaCookie:k,refreshCookieName:f,oidcConfig:c,storeLastAuthenticatedUser:h,keepLastAuthenticatedUserAfterLogout:u,getExternalToken:d,hooks:g,customStorage:m})=>e((()=>{if(s)return t({projectId:s,baseUrl:r,sessionTokenViaCookie:n,refreshTokenViaCookie:k,baseHeaders:o,persistTokens:i,autoRefresh:a,refreshCookieName:f,oidcConfig:c,storeLastAuthenticatedUser:h,keepLastAuthenticatedUserAfterLogout:u,hooks:g,getExternalToken:d,customStorage:m})}),[s,r,JSON.stringify(n),JSON.stringify(k),d,m]);export{s as default};\n//# sourceMappingURL=useSdk.js.map\n","import e,{useState as t,useRef as s,useEffect as r,useCallback as o,useMemo as n}from\"react\";import i from\"../../hooks/Context.js\";import{isDescopeBridge as a,withValidation as c}from\"../../utils.js\";import u from\"./useSdk.js\";const h=({projectId:h,baseUrl:d=\"\",baseStaticUrl:f=\"\",baseCdnUrl:k=\"\",sessionTokenViaCookie:l=!1,refreshTokenViaCookie:g=!1,hooks:m,persistTokens:U=!0,autoRefresh:C=!0,oidcConfig:p,storeLastAuthenticatedUser:L=!0,keepLastAuthenticatedUserAfterLogout:A=!1,refreshCookieName:S=\"\",getExternalToken:T,customStorage:b,children:j})=>{const[I,v]=t(),[x,N]=t(),[V,E]=t(),[F,R]=t(!1),[y,O]=t(!1),[P,q]=t(!1),[w,z]=t(!!p),B=s(!1),D=u({projectId:h,baseUrl:d,persistTokens:U,autoRefresh:C,sessionTokenViaCookie:l,refreshTokenViaCookie:g,hooks:m,oidcConfig:p,storeLastAuthenticatedUser:L,keepLastAuthenticatedUserAfterLogout:A,refreshCookieName:S,getExternalToken:T,customStorage:b});r((()=>{if(D){const e=D.onSessionTokenChange(N),t=D.onUserChange(v),s=D.onIsAuthenticatedChange(R),r=D.onClaimsChange(E);return()=>{e(),t(),s(),r()}}}),[D]);const G=s(!1),H=s(!1);r((()=>{D&&p&&!B.current&&(B.current=!0,D.oidc.finishLoginIfNeed().finally((()=>{z(!1),G.current=!0})))}),[]);const J=o((()=>{a()||G.current||(G.current=!0,q(!0),c(null==D?void 0:D.refresh)(void 0,!0).then((()=>{q(!1)})))}),[D]),K=o((()=>{H.current||(H.current=!0,O(!0),c(D.me)().then((()=>{O(!1)})))}),[D]),M=n((()=>({fetchUser:K,user:I,isUserLoading:y,isUserFetched:H.current,fetchSession:J,session:x,isAuthenticated:F,isSessionLoading:P,isOidcLoading:w,isSessionFetched:G.current,projectId:h,baseUrl:d,baseStaticUrl:f,baseCdnUrl:k,storeLastAuthenticatedUser:L,keepLastAuthenticatedUserAfterLogout:A,refreshCookieName:S,customStorage:b,setUser:v,setSession:N,setIsAuthenticated:R,claims:V,sdk:D})),[K,I,y,H.current,J,x,F,P,w,G.current,h,d,f,k,A,S,b,v,N,R,V,D]);return e.createElement(i.Provider,{value:M},j)};export{h as default};\n//# sourceMappingURL=AuthProvider.js.map\n","import{__classPrivateFieldGet as t,__classPrivateFieldSet as e}from\"tslib\";function r(...t){return e=>t.reduce(((t,e)=>e(t)),e)}const n=t=>{const e=document.createElement(\"template\");return e.innerHTML=t,e},s=(...t)=>t.join(\"/\").replace(/\\/+/g,\"/\"),o=(t,e)=>t.length===e.length&&t.every(((t,r)=>t===e[r])),i=t=>{let e,r;return(...n)=>(e&&o(e,n)||(e=n,r=t(...n)),r)},c=t=>t.replace(/([a-z])([A-Z])/g,\"$1-$2\").replace(/[\\s_.]+/g,\"-\").toLowerCase(),u=t=>0===Object.keys(t).length&&t.constructor===Object,l=t=>(e,...r)=>e.reduce(((e,n,s)=>{var o;return`${e}${n}${(null===(o=null==r?void 0:r[s])||void 0===o?void 0:o[t>1?1:0])||\"\"}`}),\"\"),f=(t,e=500)=>{let r;return function(...n){clearTimeout(r),r=setTimeout((()=>t.apply(this,n)),e)}},a=t=>null!==t&&\"object\"==typeof t&&Object.getPrototypeOf(t)===Object.prototype,h=t=>{const e=Symbol((t=>{const e=t.toString();let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r&=r;return r.toString(16)})(t));return r=>{if(r[e])return r;const n=t(r);return n[e]=!0,n}};var p,b,g,j;function O(t,e){const r=Object.getOwnPropertyNames(t),n=Object.getOwnPropertyNames(e);if(r.length!==n.length)return!1;for(let n=0;n<r.length;n+=1){const s=r[n],o=t[s],i=e[s];if(null===o||null===i){if(o!==i)return!1}else if(\"object\"==typeof o&&\"object\"==typeof i){if(!O(o,i))return!1}else if(o!==i)return!1}return!0}class d{constructor(r={},{forceUpdate:n=!1}={}){p.set(this,void 0),b.set(this,{}),g.set(this,0),j.set(this,!0),this.update=r=>{const n=\"function\"==typeof r?r(t(this,p,\"f\")):r,s=Object.assign(Object.assign({},t(this,p,\"f\")),n);if(t(this,j,\"f\")||!O(t(this,p,\"f\"),s)){const r=t(this,p,\"f\");e(this,p,s,\"f\"),Object.freeze(t(this,p,\"f\")),setTimeout((()=>{Object.values(t(this,b,\"f\")).forEach((t=>t(s,r,((t,e)=>r=>t[r]!==e[r])(s,r))))}),0)}},e(this,p,r,\"f\"),e(this,j,n,\"f\")}get current(){return Object.assign({},t(this,p,\"f\"))}subscribe(r){return e(this,g,t(this,g,\"f\")+1,\"f\"),t(this,b,\"f\")[t(this,g,\"f\")]=r,t(this,g,\"f\").toString()}unsubscribe(e){const r=!!t(this,b,\"f\")[e];return r&&delete t(this,b,\"f\")[e],r}unsubscribeAll(){return e(this,b,{},\"f\"),!0}}p=new WeakMap,b=new WeakMap,g=new WeakMap,j=new WeakMap;const m=t=>{try{const e=t.split(\".\")[1].replace(/-/g,\"+\").replace(/_/g,\"/\"),r=decodeURIComponent(atob(e).split(\"\").map((t=>\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2))).join(\"\"));return JSON.parse(r)}catch(t){return null}};export{d as State,o as compareArrays,r as compose,h as createSingletonMixin,n as createTemplate,f as debounce,m as decodeJWT,u as isObjEmpty,a as isPlainObject,c as kebabCase,s as pathJoin,l as pluralize,i as withMemCache};\n//# sourceMappingURL=index.esm.js.map\n","const t=t=>{const[,r,e]=/(.*)\\.(prop|attr)$/.exec(t)||[,t,\"rest\"];return{trimmedKey:r,category:e}},r=t=>\"string\"==typeof t||null==t?t:JSON.stringify(t);export{r as transformAttrValue,t as transformKey};\n//# sourceMappingURL=utils.js.map\n","import r,{useMemo as t,useRef as e,useCallback as o,useImperativeHandle as s}from\"react\";import{kebabCase as c}from\"@descope/sdk-helpers\";import{transformAttrValue as p,transformKey as a}from\"./utils.js\";const n=n=>r.forwardRef(((u,i)=>{const{prop:m,attr:f,rest:l}=t((()=>Object.entries(u).reduce(((r,[t,e])=>{const{trimmedKey:o,category:s}=a(t);return\"prop\"===s?r.prop.push([o,e]):\"attr\"===s?r.attr.push([c(o),p(e)]):Object.assign(r.rest,{[c(o)]:e}),r}),{attr:[],prop:[],rest:{}})),[u]),d=e(null),b=o((r=>{d.current=r,r&&(m.forEach((([r,t])=>{d.current[r]=t})),f.forEach((([t,e])=>{null==e?r.removeAttribute(t):r.setAttribute(t,e)})))}),[m,f,d]);return s(i,(()=>d.current)),r.createElement(n,Object.assign({ref:b},l))}));export{n as default};\n//# sourceMappingURL=index.js.map\n","import{__rest as e}from\"tslib\";import t,{lazy as r,useMemo as n,useState as o,useImperativeHandle as s,useCallback as a,useEffect as l,Suspense as u}from\"react\";import{baseHeaders as d}from\"../constants.js\";import c from\"../hooks/Context.js\";import{getGlobalSdk as i}from\"../sdk.js\";import p from\"./withPropsMapping/index.js\";const m=r((async()=>(((null===customElements||void 0===customElements?void 0:customElements.get(\"descope-wc\"))||await import(\"@descope/web-component\").then((e=>e.default))).sdkConfigOverrides={baseHeaders:d,persistTokens:!1,hooks:{get beforeRequest(){return i().httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:p(t.forwardRef(((r,o)=>{var{\"external-request-id\":s}=r,a=e(r,[\"external-request-id\"]);return n((()=>{var e,t;e=\"x-external-rid\",(t=s)?d[e]=t:delete d[e]}),[s]),t.createElement(\"descope-wc\",Object.assign({ref:o},a))})))}))),f=t.forwardRef((({flowId:e,onSuccess:r,onError:n,onReady:d,logger:i,tenant:p,theme:f,nonce:v,locale:E,debug:b,client:g,form:h,telemetryKey:L,redirectUrl:k,autoFocus:y,validateOnBlur:U,restartOnError:w,errorTransformer:S,styleId:x,onScreenUpdate:I,dismissScreenErrorOnInput:R,outboundAppId:C,outboundAppScopes:O,popupOrigin:q,children:j,externalRequestId:A},N)=>{const[T,B]=o(null);s(N,(()=>T));const{projectId:F,baseUrl:K,baseStaticUrl:H,baseCdnUrl:J,storeLastAuthenticatedUser:M,keepLastAuthenticatedUserAfterLogout:P,refreshCookieName:z,customStorage:D,sdk:G}=t.useContext(c),Q=a((async e=>{await G.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);return l((()=>{const e=T;return null==e||e.addEventListener(\"success\",Q),n&&(null==e||e.addEventListener(\"error\",n)),d&&(null==e||e.addEventListener(\"ready\",d)),()=>{n&&(null==e||e.removeEventListener(\"error\",n)),d&&(null==e||e.removeEventListener(\"ready\",d)),null==e||e.removeEventListener(\"success\",Q)}}),[T,n,Q]),l((()=>{const e=T;return null==e||e.addEventListener(\"success\",Q),()=>{null==e||e.removeEventListener(\"success\",Q)}}),[T,Q]),l((()=>{const e=T;return n&&(null==e||e.addEventListener(\"error\",n)),()=>{n&&(null==e||e.removeEventListener(\"error\",n))}}),[T,n]),l((()=>{const e=T;return d&&(null==e||e.addEventListener(\"ready\",d)),()=>{d&&(null==e||e.removeEventListener(\"error\",d))}}),[T,d]),t.createElement(\"form\",null,t.createElement(u,{fallback:null},t.createElement(m,{projectId:F,flowId:e,baseUrl:K,baseStaticUrl:H,baseCdnUrl:J,ref:B,telemetryKey:L,redirectUrl:k,autoFocus:y,styleId:x,validateOnBlur:U,restartOnError:w,keepLastAuthenticatedUserAfterLogout:P,tenant:p,externalRequestId:A,customStorage:D,\"theme.attr\":f,\"nonce.attr\":v,\"locale.attr\":E,\"form.attr\":h,\"client.attr\":g,\"debug.attr\":b,\"outbound-app-id.attr\":C,\"outbound-app-scopes.attr\":O,\"popup-origin.attr\":q,\"store-last-authenticated-user.attr\":M,\"refreshCookieName.attr\":z,\"dismiss-screen-error-on-input.attr\":R,\"errorTransformer.prop\":S,\"logger.prop\":i,\"onScreenUpdate.prop\":I,\"customStorage.prop\":D},j)))}));export{f as default};\n//# sourceMappingURL=Descope.js.map\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect, useRef } from 'react';\nimport { Eye, EyeOff, CircleCheckBig, Radar, ShieldCheck, ChevronDown } from 'lucide-react';\nimport { Descope, AuthProvider } from '@descope/react-sdk';\nimport chordiaLogo from '../../assets/chordia-logo.png';\nimport '../../tokens/colors.css';\n\n// ── Constants ──────────────────────────────────────────────────────────────────\nconst GREEN = 'var(--color-green)';\nconst FF = 'var(--font-sans)';\n\nconst inputBase = {\n width: '100%', height: 40, padding: '10px 14px', fontSize: 16, fontWeight: 400,\n lineHeight: '23px', border: '1px solid var(--color-input-border)', borderRadius: 4,\n background: 'white', color: 'var(--color-text)', fontFamily: FF,\n outline: 'none', boxSizing: 'border-box', transition: 'border-color 0.15s, box-shadow 0.15s',\n};\n\nconst focusGreen = (e) => {\n e.target.style.borderColor = 'var(--color-green)';\n e.target.style.boxShadow = '0 0 0 3px var(--color-green-ring)';\n};\nconst blurGray = (e) => {\n e.target.style.borderColor = 'var(--color-input-border)';\n e.target.style.boxShadow = 'none';\n};\n\nconst TEAM_SIZE_OPTIONS = [\n { value: '', label: 'Select team size (optional)' },\n { value: '1-10', label: '1–10' },\n { value: '11-50', label: '11–50' },\n { value: '51-200', label: '51–200' },\n { value: '200+', label: '200+' },\n];\n\nconst PHONE_SYSTEM_OPTIONS = [\n 'Nextiva', 'Five9', 'Dialpad', 'RingCentral', 'NICE', 'Genesys', 'Talkdesk', 'Aircall', '8x8', 'Vonage', 'Twilio', 'Other',\n];\n\nconst MEETING_TOOL_OPTIONS = ['Teams', 'Zoom', 'Google Meet', 'Webex', 'Other'];\n\n// ── Shared sub-components ──────────────────────────────────────────────────────\nfunction ViewHeading({ title, subtitle }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '44px', color: 'var(--color-text)', margin: 0 }}>\n {title}\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n {subtitle}\n </p>\n </div>\n );\n}\n\nfunction GreenButton({ onClick, disabled, children, type = 'button' }) {\n const active = !disabled;\n return (\n <button\n type={type}\n onClick={onClick}\n disabled={disabled}\n style={{\n width: '100%', height: 40, display: 'flex', justifyContent: 'center', alignItems: 'center',\n padding: '10px', background: active ? 'var(--color-green)' : 'var(--color-green-disabled)',\n color: 'white', border: 'none', borderRadius: 4, fontSize: 16, fontWeight: 600,\n lineHeight: '23px', fontFamily: FF,\n cursor: active ? 'pointer' : 'not-allowed', transition: 'background 0.15s', boxSizing: 'border-box',\n }}\n onMouseEnter={(e) => { if (active) e.currentTarget.style.background = 'var(--color-green-hover)'; }}\n onMouseLeave={(e) => { if (active) e.currentTarget.style.background = active ? 'var(--color-green)' : 'var(--color-green-disabled)'; }}\n >\n {children}\n </button>\n );\n}\n\nfunction Field({ label, gap = 12, labelSize = 16, labelStyle, children }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap, width: '100%' }}>\n <label style={{ fontSize: labelSize, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, lineHeight: '100%', ...labelStyle }}>\n {label}\n </label>\n {children}\n </div>\n );\n}\n\nfunction EyeBtn({ show, onToggle }) {\n return (\n <button type=\"button\" tabIndex={-1} onClick={onToggle}\n 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' }}>\n {show ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n );\n}\n\nfunction Divider() {\n return <hr style={{ width: '100%', border: 'none', borderTop: '1px solid var(--color-divider)', margin: 0 }} />;\n}\n\nfunction NavRow({ text, linkText, onClick }) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', gap: 4, width: '100%' }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n {text}\n </span>\n <button type=\"button\" onClick={onClick}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '22px', color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n {linkText}\n </button>\n </div>\n );\n}\n\nfunction TermsFooter({ onTerms, onPrivacyPolicy, paddingTop }) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', width: '100%', marginTop: 'auto', paddingTop: paddingTop || 40, flexShrink: 0 }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF, textAlign: 'center', whiteSpace: 'nowrap' }}>\n By continuing, you agree to our{' '}\n <a href=\"https://chordia.ai/legal/terms-of-use\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Terms\n </a>\n {' '}and{' '}\n <a href=\"https://chordia.ai/legal/privacy-notice\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Privacy Policy\n </a>\n .\n </span>\n </div>\n );\n}\n\nfunction DescopeFlow({ projectId, onSuccess, onError }) {\n if (!projectId) return null;\n return (\n <AuthProvider projectId={projectId}>\n <Descope\n flowId=\"sign-up-or-in-otp-or-social\"\n onSuccess={onSuccess}\n onError={onError}\n />\n </AuthProvider>\n );\n}\n\n/** Multi-select with checkboxes, chips, optional \"Other\" text; click-outside closes. */\nfunction WaitlistMultiSelect({\n options,\n value,\n onChange,\n otherValue,\n onOtherChange,\n placeholder,\n otherPlaceholder = 'Please specify',\n compact = false,\n}) {\n const [open, setOpen] = useState(false);\n const wrapRef = useRef(null);\n\n useEffect(() => {\n const onDoc = (e) => {\n if (wrapRef.current && !wrapRef.current.contains(e.target)) setOpen(false);\n };\n document.addEventListener('mousedown', onDoc);\n return () => document.removeEventListener('mousedown', onDoc);\n }, []);\n\n const toggle = (opt) => {\n if (value.includes(opt)) {\n onChange(value.filter((x) => x !== opt));\n if (opt === 'Other') onOtherChange('');\n } else {\n onChange([...value, opt]);\n }\n };\n\n const removeChip = (opt) => {\n onChange(value.filter((x) => x !== opt));\n if (opt === 'Other') onOtherChange('');\n };\n\n const chipBg = 'rgba(34, 197, 94, 0.14)';\n\n const pad = compact ? '6px 10px' : '8px 12px';\n const minH = compact ? 36 : 40;\n const fs = compact ? 15 : 16;\n const ddMaxH = compact ? 200 : 260;\n const rowPad = compact ? '6px 8px' : '8px 10px';\n\n const showOtherField = value.includes('Other');\n\n const toggleOpen = () => setOpen((o) => !o);\n\n return (\n <div ref={wrapRef} style={{ width: '100%' }}>\n {/* Div (not button) so an inline text field can sit next to chips; chevron opens list */}\n <div style={{ position: 'relative', width: '100%' }}>\n <div\n role=\"combobox\"\n aria-expanded={open}\n onClick={(e) => {\n if (e.target instanceof HTMLInputElement) return;\n if (e.target instanceof HTMLElement && e.target.closest('button')) return;\n toggleOpen();\n }}\n style={{\n width: '100%',\n minHeight: minH,\n padding: pad,\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 8,\n textAlign: 'left',\n fontSize: fs,\n fontWeight: 400,\n lineHeight: '23px',\n border: '1px solid var(--color-input-border)',\n borderRadius: 4,\n background: 'white',\n color: value.length ? 'var(--color-text)' : 'var(--color-text-secondary)',\n fontFamily: FF,\n boxSizing: 'border-box',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n flex: 1,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n gap: 6,\n minWidth: 0,\n cursor: 'text',\n }}\n >\n {value.length === 0 ? (\n <span\n style={{ color: 'var(--color-text-secondary)', cursor: 'pointer' }}\n onClick={(e) => {\n e.stopPropagation();\n toggleOpen();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') toggleOpen();\n }}\n role=\"button\"\n tabIndex={0}\n >\n {placeholder}\n </span>\n ) : (\n <>\n {value.map((v) => (\n <span\n key={v}\n onClick={(e) => e.stopPropagation()}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 4,\n padding: '4px 8px',\n borderRadius: 4,\n background: chipBg,\n fontSize: 13,\n fontWeight: 500,\n color: 'var(--color-text)',\n flexShrink: 0,\n }}\n >\n {v}\n <span\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n e.stopPropagation();\n removeChip(v);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n removeChip(v);\n }\n }}\n style={{ cursor: 'pointer', fontSize: 14, lineHeight: 1, opacity: 0.7 }}\n >\n ×\n </span>\n </span>\n ))}\n {showOtherField && (\n <input\n type=\"text\"\n value={otherValue}\n onChange={(e) => onOtherChange(e.target.value)}\n placeholder={otherPlaceholder}\n onMouseDown={(e) => e.stopPropagation()}\n onClick={(e) => e.stopPropagation()}\n onFocus={(e) => {\n e.stopPropagation();\n e.target.style.borderColor = 'var(--color-green)';\n e.target.style.boxShadow = '0 0 0 3px var(--color-green-ring)';\n }}\n onBlur={(e) => {\n e.target.style.borderColor = '#cfcece';\n e.target.style.boxShadow = 'none';\n }}\n style={{\n flex: '1 1 120px',\n minWidth: 80,\n maxWidth: '100%',\n minHeight: compact ? 26 : 28,\n padding: '2px 8px',\n border: '1px solid #cfcece',\n borderRadius: 4,\n outline: 'none',\n background: 'transparent',\n fontSize: fs,\n fontFamily: FF,\n color: 'var(--color-text)',\n boxSizing: 'border-box',\n }}\n />\n )}\n </>\n )}\n </div>\n <button\n type=\"button\"\n tabIndex={-1}\n onClick={(e) => {\n e.stopPropagation();\n toggleOpen();\n }}\n style={{\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0,\n margin: 0,\n border: 'none',\n background: 'none',\n cursor: 'pointer',\n color: 'var(--color-text-secondary)',\n }}\n aria-label={open ? 'Close options' : 'Open options'}\n >\n <ChevronDown\n size={compact ? 16 : 18}\n style={{\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease',\n }}\n />\n </button>\n </div>\n\n {open && (\n <div\n style={{\n position: 'absolute',\n left: 0,\n right: 0,\n top: '100%',\n marginTop: 4,\n padding: compact ? 6 : 8,\n maxHeight: ddMaxH,\n overflowY: 'auto',\n background: 'white',\n border: '1px solid var(--color-input-border)',\n borderRadius: 4,\n boxShadow: '0 8px 24px rgba(0,0,0,0.08)',\n zIndex: 50,\n boxSizing: 'border-box',\n }}\n >\n {options.map((opt) => (\n <label\n key={opt}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n padding: rowPad,\n borderRadius: 4,\n cursor: 'pointer',\n fontSize: compact ? 14 : 15,\n fontFamily: FF,\n color: 'var(--color-text)',\n }}\n >\n <input\n type=\"checkbox\"\n checked={value.includes(opt)}\n onChange={() => toggle(opt)}\n style={{ width: 16, height: 16, accentColor: 'var(--color-green)' }}\n />\n {opt}\n </label>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n// ── LoginPage ──────────────────────────────────────────────────────────────────\n/**\n * LoginPage — Chordia login page (Figma: Login 1c).\n *\n * Props:\n * - onLogin, onForgotPassword, onOneTimeCode, onGoogleLogin,\n * onSignUp, onRequestDemo, onGettingStarted, onTerms, onPrivacyPolicy\n * - signupMode: 'signup' | 'waitlist' — when 'waitlist', the sign-in footer offers\n * \"Join Waitlist\" and opens the embedded waitlist form (view 'waitlist').\n * - onJoinWaitlist — optional hook when user chooses Join Waitlist (e.g. analytics).\n * - onWaitlistSubmit — host handles API; payload: { name, email, company_name, job_title?, team_size?, phone_systems[], meeting_tools[], source }.\n * - loading: boolean, error: string | null\n */\nexport default function LoginPage({\n onLogin,\n onForgotPassword,\n onOneTimeCode,\n onVerifyCode,\n onResendCode,\n onSignUp,\n onJoinWaitlist,\n onWaitlistSubmit,\n onResetPassword,\n onTerms,\n onPrivacyPolicy,\n onDescopeSuccess,\n onDescopeError,\n descopeProjectId,\n onGoToLogin,\n loading: externalLoading,\n error: externalError,\n codeError,\n defaultView = 'signin',\n signupMode = 'signup',\n}) {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [emailAutofilled, setEmailAutofilled] = useState(false);\n const [passwordAutofilled, setPasswordAutofilled] = useState(false);\n const [showPassword, setShowPassword] = useState(false);\n const [internalLoading, setInternalLoading] = useState(false);\n const [internalError, setInternalError] = useState(null);\n const [view, setView] = useState(defaultView);\n const [codeEmail, setCodeEmail] = useState('');\n const [codeFullName, setCodeFullName] = useState('');\n const [verifyEmail, setVerifyEmail] = useState('');\n const [otpDigits, setOtpDigits] = useState(['', '', '', '', '', '']);\n const otpRefs = useRef([]);\n const [firstName, setFirstName] = useState('');\n const [lastName, setLastName] = useState('');\n const [signupEmail, setSignupEmail] = useState('');\n const [signupPassword, setSignupPassword] = useState('');\n const [signupConfirm, setSignupConfirm] = useState('');\n const [showSignupPassword, setShowSignupPassword] = useState(false);\n const [showSignupConfirm, setShowSignupConfirm] = useState(false);\n const [signupError, setSignupError] = useState('');\n const [resetEmail, setResetEmail] = useState('');\n const [activeSlide, setActiveSlide] = useState(0);\n const SLIDE_COUNT = 3;\n\n const [waitlistFullName, setWaitlistFullName] = useState('');\n const [waitlistEmail, setWaitlistEmail] = useState('');\n const [waitlistCompany, setWaitlistCompany] = useState('');\n const [waitlistJobTitle, setWaitlistJobTitle] = useState('');\n const [waitlistTeamSize, setWaitlistTeamSize] = useState('');\n const [waitlistPhoneSystems, setWaitlistPhoneSystems] = useState([]);\n const [waitlistMeetingTools, setWaitlistMeetingTools] = useState([]);\n const [waitlistPhoneOther, setWaitlistPhoneOther] = useState('');\n const [waitlistMeetingOther, setWaitlistMeetingOther] = useState('');\n const [waitlistError, setWaitlistError] = useState('');\n const [waitlistSubmitting, setWaitlistSubmitting] = useState(false);\n const [waitlistSubmitted, setWaitlistSubmitted] = useState(false);\n const [waitlistPosition, setWaitlistPosition] = useState(1267);\n const [waitlistCalendlyUrl, setWaitlistCalendlyUrl] = useState('');\n\n useEffect(() => {\n const t = setInterval(() => setActiveSlide((p) => (p + 1) % SLIDE_COUNT), 4000);\n return () => clearInterval(t);\n }, []);\n\n // Sync React state with browser autofill (autofill doesn't fire onChange)\n const emailRef = useRef(null);\n const passwordRef = useRef(null);\n useEffect(() => {\n const isAutofilled = (el) => {\n if (!el) return false;\n try {\n return el.matches(':-webkit-autofill, :autofill');\n } catch {\n // Some browsers may throw for unsupported pseudo-class selectors.\n return false;\n }\n };\n\n const sync = () => {\n const e = emailRef.current;\n const p = passwordRef.current;\n if (e && e.value) setEmail(e.value);\n if (p && p.value) setPassword(p.value);\n setEmailAutofilled(isAutofilled(e));\n setPasswordAutofilled(isAutofilled(p));\n };\n // Poll for autofill values at multiple intervals\n const timers = [100, 300, 600, 1000, 2000].map(ms => setTimeout(sync, ms));\n\n // Detect Chrome/Safari autofill via the :-webkit-autofill animation\n const handleAnimationStart = (e) => {\n if (e.animationName === 'onAutoFillStart' || e.target.matches(':-webkit-autofill')) {\n setTimeout(sync, 50);\n }\n };\n const eEl = emailRef.current;\n const pEl = passwordRef.current;\n eEl?.addEventListener('animationstart', handleAnimationStart);\n pEl?.addEventListener('animationstart', handleAnimationStart);\n // Listen for events commonly used by password managers/autofill\n const onInput = () => setTimeout(sync, 0);\n const onChange = () => setTimeout(sync, 0);\n eEl?.addEventListener('input', onInput);\n pEl?.addEventListener('input', onInput);\n eEl?.addEventListener('change', onChange);\n pEl?.addEventListener('change', onChange);\n\n return () => {\n timers.forEach(clearTimeout);\n eEl?.removeEventListener('animationstart', handleAnimationStart);\n pEl?.removeEventListener('animationstart', handleAnimationStart);\n eEl?.removeEventListener('input', onInput);\n pEl?.removeEventListener('input', onInput);\n eEl?.removeEventListener('change', onChange);\n pEl?.removeEventListener('change', onChange);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n const isAutofilled = (el) => {\n if (!el) return false;\n try {\n return el.matches(':-webkit-autofill, :autofill');\n } catch {\n return false;\n }\n };\n\n const syncIfNeeded = () => {\n const nextEmail = emailRef.current?.value || '';\n const nextPassword = passwordRef.current?.value || '';\n\n if (nextEmail && nextEmail !== email) setEmail(nextEmail);\n if (nextPassword && nextPassword !== password) setPassword(nextPassword);\n setEmailAutofilled(isAutofilled(emailRef.current));\n setPasswordAutofilled(isAutofilled(passwordRef.current));\n };\n\n // Some browsers/password managers update input values without firing events.\n const intervalId = setInterval(syncIfNeeded, 250);\n window.addEventListener('focus', syncIfNeeded);\n document.addEventListener('visibilitychange', syncIfNeeded);\n\n return () => {\n clearInterval(intervalId);\n window.removeEventListener('focus', syncIfNeeded);\n document.removeEventListener('visibilitychange', syncIfNeeded);\n };\n }, [email, password]);\n\n // Switch to full-name screen when host app signals unregistered email\n useEffect(() => {\n if (codeError && view === 'verifycode') {\n setOtpDigits(['', '', '', '', '', '']);\n setView('getcodewithname');\n }\n }, [codeError]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const loading = externalLoading ?? internalLoading;\n const error = externalError ?? internalError;\n const currentEmail = (email || emailRef.current?.value || '').trim();\n const currentPassword = password || passwordRef.current?.value || '';\n const hasEmail = Boolean(currentEmail || emailAutofilled);\n const hasPassword = Boolean(currentPassword || passwordAutofilled);\n const canSubmit = Boolean(hasEmail && hasPassword && !loading);\n const otpError = (view === 'verifycode' || view === 'getcodewithname') ? error : null;\n\n // Error-aware focus handlers for sign-in fields\n const focusErr = (e) => {\n e.target.style.borderColor = error ? 'var(--color-text)' : 'var(--color-green)';\n e.target.style.boxShadow = error ? 'none' : '0 0 0 3px var(--color-green-ring)';\n };\n const blurErr = (e) => {\n e.target.style.borderColor = error ? 'var(--color-text)' : 'var(--color-input-border)';\n e.target.style.boxShadow = 'none';\n };\n\n const applyOtpFromString = (startIndex, rawValue) => {\n const clean = (rawValue || '').replace(/\\D/g, '');\n if (!clean) return;\n\n const next = [...otpDigits];\n let lastFilledIndex = startIndex;\n\n for (let i = 0; i < clean.length && startIndex + i < next.length; i += 1) {\n next[startIndex + i] = clean[i];\n lastFilledIndex = startIndex + i;\n }\n\n setOtpDigits(next);\n\n const nextIndex = Math.min(lastFilledIndex + 1, next.length - 1);\n otpRefs.current[nextIndex]?.focus();\n };\n\n const handleOtpChange = (index, value) => {\n const clean = value.replace(/\\D/g, '');\n if (clean.length > 1) {\n applyOtpFromString(index, clean);\n return;\n }\n\n const digit = clean.slice(-1);\n const next = [...otpDigits];\n next[index] = digit;\n setOtpDigits(next);\n if (digit && index < 5) otpRefs.current[index + 1]?.focus();\n };\n\n const handleOtpKeyDown = (index, e) => {\n if (e.key === 'Backspace' && !otpDigits[index] && index > 0) {\n otpRefs.current[index - 1]?.focus();\n }\n };\n\n const handleOtpPaste = (index, e) => {\n e.preventDefault();\n const pasted = e.clipboardData?.getData('text') || '';\n applyOtpFromString(index, pasted);\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!canSubmit) return;\n // Read directly from DOM if React state missed autofill\n const submitEmail = email || emailRef.current?.value || '';\n const submitPassword = password || passwordRef.current?.value || '';\n if (!submitEmail || !submitPassword) return;\n setInternalError(null);\n setInternalLoading(true);\n try {\n await onLogin?.(submitEmail, submitPassword);\n } catch (err) {\n setInternalError(err?.message || 'Something went wrong. Please try again.');\n } finally {\n setInternalLoading(false);\n }\n };\n\n const handleWaitlistSubmit = async () => {\n setWaitlistError('');\n const name = waitlistFullName.trim();\n const em = waitlistEmail.trim();\n const co = waitlistCompany.trim();\n if (name.length < 2) {\n setWaitlistError('Please enter your full name.');\n return;\n }\n if (!em) {\n setWaitlistError('Please enter your work email.');\n return;\n }\n if (co.length < 2) {\n setWaitlistError('Please enter your company name (at least 2 characters).');\n return;\n }\n const phone_systems = waitlistPhoneSystems.map((p) =>\n (p === 'Other' && waitlistPhoneOther.trim() ? `Other: ${waitlistPhoneOther.trim()}` : p));\n const meeting_tools = waitlistMeetingTools.map((m) =>\n (m === 'Other' && waitlistMeetingOther.trim() ? `Other: ${waitlistMeetingOther.trim()}` : m));\n setWaitlistSubmitting(true);\n try {\n const response = await onWaitlistSubmit?.({\n name,\n email: em,\n company_name: co,\n job_title: waitlistJobTitle.trim() || undefined,\n team_size: waitlistTeamSize || undefined,\n phone_systems,\n meeting_tools,\n source: 'website',\n });\n const nextPosition = Number(response?.position);\n if (Number.isFinite(nextPosition) && nextPosition > 0) setWaitlistPosition(nextPosition);\n if (response?.calendly_url) setWaitlistCalendlyUrl(String(response.calendly_url));\n setWaitlistSubmitted(true);\n } catch (err) {\n setWaitlistError(err?.message || 'Unable to join waitlist right now. Please try again.');\n } finally {\n setWaitlistSubmitting(false);\n }\n };\n\n const handleWaitlistCheck = () => {\n console.log('handleWaitlistCheck');\n setWaitlistSubmitted(false);\n };\n\n return (\n <div style={{ position: 'fixed', inset: 0, display: 'flex', overflow: 'hidden', fontFamily: FF, background: 'white' }}>\n\n {/* ── LEFT — Dark Brand Panel ── */}\n <div style={{\n flex: '0 0 628px', width: 628, minHeight: 0, background: 'var(--surface-dark)', display: 'flex', flexDirection: 'column',\n padding: '48px 0 40px 48px', position: 'relative', overflow: 'hidden',\n }}>\n <img src={chordiaLogo} alt=\"Chordia\" style={{\n width: 175, height: 48, objectFit: 'contain', marginBottom: 100, flexShrink: 0,\n }} />\n\n <div style={{ flex: 1, display: 'flex', flexDirection: 'column', justifyContent: 'flex-start', gap: 22 }}>\n <h1 style={{\n fontFamily: FF, fontSize: 'clamp(28px, 2.8vw, 28px)', fontWeight: 800,\n color: 'var(--color-text-inverse)', lineHeight: 1.08, margin: 0, letterSpacing: '-0.02em', paddingRight: 48,\n }}>\n Three Solutions. One Platform.\n </h1>\n\n {/* Carousel — card components */}\n <div style={{ position: 'relative', width: 412, height: 320, overflow: 'hidden', WebkitMaskImage: '-webkit-radial-gradient(white, black)' }}>\n <div style={{\n display: 'flex',\n gap: 16,\n height: '100%',\n transform: `translateX(${-activeSlide * 280}px)`,\n transition: 'transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)',\n }}>\n {[\n {\n Icon: CircleCheckBig,\n title: 'Evaluation Quality Monitoring',\n info: 'Stop sampling 2% of calls and hoping for the best. Chordia analyzes every conversation for quality, compliance, and coaching signals — with evidence, not opinions.',\n },\n {\n Icon: ShieldCheck,\n title: 'Compliance Monitoring',\n info: 'Continuously monitor customer service conversations for missed disclosures, risky language, and compliance gaps.',\n },\n {\n Icon: Radar,\n title: 'Signal Intelligence',\n info: 'Identify emerging themes, sentiment shifts, and customer issues hidden inside everyday service conversations.',\n },\n ].map(({ Icon, title, info }, i) => (\n <div key={i} style={{\n flexShrink: 0,\n width: 264,\n height: 320,\n padding: 32,\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 24,\n borderRadius: 16,\n border: '1px solid var(--surface-card-dark-border)',\n background: 'var(--surface-card-dark)',\n }}>\n <Icon width={36} height={36} color=\"var(--color-card-icon)\" strokeWidth={2.5} />\n <div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>\n <span style={{\n fontFamily: FF,\n fontSize: 24,\n fontStyle: 'normal',\n fontWeight: 600,\n lineHeight: '28px',\n color: 'var(--color-card-text)',\n }}>\n {title}\n </span>\n <span style={{\n fontFamily: FF,\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: 'normal',\n color: 'rgba(255,255,255,0.65)',\n }}>\n {info}\n </span>\n </div>\n </div>\n ))}\n </div>\n {/* Fade overlay — starts right after active card, second card only half-visible */}\n <div style={{\n position: 'absolute', top: 0,\n left: 280, right: 0,\n height: '100%',\n background: 'linear-gradient(270deg, #1D1E20 0%, rgba(29,30,32,0.80) 100%)',\n pointerEvents: 'none',\n }} />\n </div>\n\n {/* Dots */}\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 8, height: 4, marginTop: 'auto', flexShrink: 0 }}>\n {Array.from({ length: SLIDE_COUNT }).map((_, i) => (\n <button key={i} onClick={() => setActiveSlide(i)}\n style={{\n width: 80, height: 4, borderRadius: 6, border: 'none', padding: 0, cursor: 'pointer',\n background: i === activeSlide ? 'rgba(255,255,255,0.7)' : 'rgba(255,255,255,0.25)',\n transition: 'background 0.3s ease',\n }}\n />\n ))}\n </div>\n\n </div>\n </div>\n\n {/* ── RIGHT — Form Panel ── */}\n <div style={{\n flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', justifyContent: 'center',\n alignItems: 'center', padding: view === 'waitlist' ? '20px 48px' : '32px 72px', position: 'relative',\n background: 'white',\n overflowY: 'auto', minHeight: 0,\n }}>\n <div style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n width: '100%',\n maxWidth: view === 'waitlist' ? 430 : 360,\n gap: view === 'waitlist' ? 22 : 28,\n }}>\n\n {view === 'waitlist' ? (\n /* ── Join Waitlist (matches Sign Up panel styling) ── */\n <>\n {waitlistSubmitted ? (\n <div style={{ width: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', gap: 24 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 700, fontSize: '32px', lineHeight: '44px', color: 'var(--color-text)', margin: 0 }}>\n Chordia\n </h2>\n <h3 style={{ fontFamily: FF, fontWeight: 700, fontSize: '32px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n You're on the list!\n </h3>\n <p style={{ fontFamily: FF, fontWeight: 700, fontSize: '56px', lineHeight: '68px', color: 'var(--color-green)', margin: 0 }}>\n #{waitlistPosition.toLocaleString()}\n </p>\n <p style={{ fontFamily: FF, fontWeight: 400, fontSize: 18, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0, maxWidth: 470 }}>\n We’re working hard to increase capacity and will notify you very quickly. Check your email for confirmation.\n </p>\n\n <div style={{\n width: '100%',\n borderRadius: 12,\n border: '1px solid var(--color-input-border)',\n background: 'white',\n boxShadow: '0 1px 6px rgba(0,0,0,0.06)',\n padding: '24px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 14,\n }}>\n <p style={{ margin: 0, fontFamily: FF, fontSize: '24px', lineHeight: '40px', fontWeight: 700, color: 'var(--color-text)' }}>\n Want to skip the line?\n </p>\n <p style={{ margin: 0, fontFamily: FF, fontSize: '18px', lineHeight: '24px', fontWeight: 400, color: 'var(--color-text-secondary)' }}>\n Schedule a demo with our CEO and get immediate access.\n </p>\n <button\n type=\"button\"\n onClick={() => {\n if (waitlistCalendlyUrl) window.open(waitlistCalendlyUrl, '_blank', 'noopener,noreferrer');\n }}\n style={{\n minWidth: 220,\n height: 48,\n padding: '0 20px',\n borderRadius: 8,\n border: '2px solid #111111',\n background: 'white',\n color: 'var(--color-text)',\n fontFamily: FF,\n fontSize: 20,\n fontWeight: 700,\n lineHeight: '28px',\n cursor: waitlistCalendlyUrl ? 'pointer' : 'default',\n opacity: waitlistCalendlyUrl ? 1 : 0.65,\n }}\n disabled={!waitlistCalendlyUrl}\n >\n Schedule a Demo\n </button>\n </div>\n\n {/* <button\n type=\"button\"\n onClick={handleWaitlistCheck}\n style={{\n background: 'none',\n border: 'none',\n padding: 0,\n fontFamily: FF,\n fontSize: 24,\n lineHeight: '40px',\n fontWeight: 700,\n color: 'var(--color-text)',\n textDecoration: 'underline',\n textUnderlineOffset: 4,\n cursor: 'pointer',\n }}\n >\n Check your status\n </button> */}\n </div>\n ) : (\n <>\n <ViewHeading title=\"Join the Waitlist\" subtitle=\"Get early access to Chordia. We onboard new companies every week.\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 12 }}>\n <Field label=\"Full Name\" gap={8}>\n <input\n type=\"text\"\n value={waitlistFullName}\n onChange={(e) => { setWaitlistFullName(e.target.value); setWaitlistError(''); }}\n placeholder=\"Your full name\"\n autoFocus\n autoComplete=\"name\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Work Email\" gap={8}>\n <input\n type=\"email\"\n value={waitlistEmail}\n onChange={(e) => { setWaitlistEmail(e.target.value); setWaitlistError(''); }}\n placeholder=\"workemail@example.com\"\n autoComplete=\"email\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Company Name\" gap={8}>\n <input\n type=\"text\"\n value={waitlistCompany}\n onChange={(e) => { setWaitlistCompany(e.target.value); setWaitlistError(''); }}\n placeholder=\"Your Company\"\n autoComplete=\"organization\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n </div>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Job Title\" gap={8}>\n <input\n type=\"text\"\n value={waitlistJobTitle}\n onChange={(e) => setWaitlistJobTitle(e.target.value)}\n placeholder=\"Optional\"\n autoComplete=\"organization-title\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Team Size\" gap={8}>\n <div style={{ position: 'relative' }}>\n <select\n value={waitlistTeamSize}\n onChange={(e) => setWaitlistTeamSize(e.target.value)}\n style={{\n ...inputBase,\n appearance: 'none',\n WebkitAppearance: 'none',\n paddingRight: 36,\n cursor: 'pointer',\n fontSize: 15,\n color: waitlistTeamSize ? 'var(--color-text)' : 'var(--color-text-secondary)',\n }}\n >\n {TEAM_SIZE_OPTIONS.map((o) => (\n <option key={o.value || 'empty'} value={o.value}>{o.label}</option>\n ))}\n </select>\n <ChevronDown\n size={16}\n style={{\n position: 'absolute',\n right: 10,\n top: '50%',\n transform: 'translateY(-50%)',\n pointerEvents: 'none',\n color: 'var(--color-text-secondary)',\n }}\n />\n </div>\n </Field>\n </div>\n </div>\n\n <Field label=\"Phone systems\" gap={8}>\n <WaitlistMultiSelect\n compact\n options={PHONE_SYSTEM_OPTIONS}\n value={waitlistPhoneSystems}\n onChange={setWaitlistPhoneSystems}\n otherValue={waitlistPhoneOther}\n onOtherChange={setWaitlistPhoneOther}\n placeholder=\"Select (optional)\"\n otherPlaceholder=\"Please specify your phone system\"\n />\n </Field>\n <Field label=\"Meeting tools\" gap={8}>\n <WaitlistMultiSelect\n compact\n options={MEETING_TOOL_OPTIONS}\n value={waitlistMeetingTools}\n onChange={setWaitlistMeetingTools}\n otherValue={waitlistMeetingOther}\n onOtherChange={setWaitlistMeetingOther}\n placeholder=\"Select (optional)\"\n otherPlaceholder=\"Please specify your meeting tool\"\n />\n </Field>\n\n {waitlistError && (\n <div style={{\n display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box',\n background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px',\n color: 'var(--color-text)', fontFamily: FF,\n }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {waitlistError}\n </div>\n )}\n\n <GreenButton type=\"button\" onClick={handleWaitlistSubmit} disabled={waitlistSubmitting}>\n {waitlistSubmitting ? 'Joining...' : 'Join Waitlist'}\n </GreenButton>\n\n <NavRow text=\"I am already a member\" linkText=\"Log In\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={16} />\n </div>\n </>\n )}\n </>\n ) : view === 'signup' ? (\n /* ── Sign Up ── */\n <>\n <ViewHeading title=\"Sign Up\" subtitle=\"Please enter your basic details to continue\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <Field label=\"First Name\" gap={8}>\n <input type=\"text\" value={firstName} onChange={(e) => setFirstName(e.target.value)}\n placeholder=\"First name\" autoFocus autoComplete=\"given-name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n <Field label=\"Last Name\" gap={8}>\n <input type=\"text\" value={lastName} onChange={(e) => setLastName(e.target.value)}\n placeholder=\"Last name\" autoComplete=\"family-name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n </div>\n\n <Field label=\"Email\" gap={8}>\n <input type=\"text\" value={signupEmail} onChange={(e) => { setSignupEmail(e.target.value); setSignupError(''); }}\n placeholder=\"workemail@example.com\" autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Create Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showSignupPassword ? 'text' : 'password'} value={signupPassword}\n onChange={(e) => { setSignupPassword(e.target.value); setSignupError(''); }}\n placeholder=\"Enter password\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showSignupPassword} onToggle={() => setShowSignupPassword(!showSignupPassword)} />\n </div>\n </Field>\n\n <Field label=\"Confirm Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showSignupConfirm ? 'text' : 'password'} value={signupConfirm}\n onChange={(e) => { setSignupConfirm(e.target.value); setSignupError(''); }}\n placeholder=\"Enter password\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showSignupConfirm} onToggle={() => setShowSignupConfirm(!showSignupConfirm)} />\n </div>\n </Field>\n\n {signupError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {signupError}\n </div>\n )}\n\n {(() => {\n const canCreate = firstName && lastName && signupEmail && signupPassword && signupConfirm;\n return (\n <GreenButton onClick={() => {\n setSignupError('');\n if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(signupEmail)) {\n setSignupError('Please enter a valid email address.');\n return;\n }\n if (signupPassword !== signupConfirm) {\n setSignupError('Password and Confirm Password do not match!');\n return;\n }\n onSignUp?.({ firstName, lastName, email: signupEmail, password: signupPassword });\n setView('verifyemail');\n }} disabled={!canCreate}>\n Create Account\n </GreenButton>\n );\n })()}\n\n <NavRow text=\"I am already a member\" linkText=\"Sign In\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} />\n </div>\n </>\n\n ) : view === 'verifyemail' ? (\n /* ── Verify Email ── */\n <>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n Verify Email\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Verify your email to continue the signup process.\n </p>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 24 }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '24px', color: 'var(--color-text-secondary)', margin: 0 }}>\n We have sent a verification link to:\n </p>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 600, lineHeight: '24px', color: 'var(--color-text)', margin: 0 }}>\n {signupEmail || 'youremail@workemail.com'}\n </p>\n </div>\n\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '24px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Click on the link to complete the verification process. You might need to check your Spam folder\n </p>\n\n <GreenButton onClick={() => { setView('signin'); onGoToLogin?.(); }}>\n Go To Login\n </GreenButton>\n </div>\n\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </>\n\n ) : view === 'verifycode' ? (\n /* ── Verify Code ── */\n <>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n Sign In with code\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n We have sent a one-time code to your email:{' '}\n <span style={{ color: 'var(--color-text)' }}>{verifyEmail || 'workemail@example.com'}</span>{' '}\n <button type=\"button\" onClick={() => setView('getcode')}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 18, fontWeight: 400, color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Change email\n </button>\n </p>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Enter one-time code\" gap={12}>\n <div style={{ display: 'flex', gap: 8 }}>\n {otpDigits.map((digit, i) => (\n <input key={i} ref={(el) => { otpRefs.current[i] = el; }}\n type=\"text\" inputMode=\"numeric\" maxLength={1} value={digit}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n onKeyDown={(e) => handleOtpKeyDown(i, e)}\n onPaste={(e) => handleOtpPaste(i, e)}\n autoFocus={i === 0}\n style={{\n flex: 1, minWidth: 0, height: 40, textAlign: 'center', fontSize: 16, fontWeight: 600,\n fontFamily: FF, color: 'var(--color-text)', border: '1px solid var(--color-input-border)',\n borderRadius: 4, outline: 'none', background: 'white', boxSizing: 'border-box',\n transition: 'border-color 0.15s, box-shadow 0.15s', caretColor: GREEN,\n }}\n onFocus={focusGreen} onBlur={blurGray}\n />\n ))}\n </div>\n </Field>\n\n <GreenButton onClick={() => onVerifyCode?.(verifyEmail, otpDigits.join(''))} disabled={otpDigits.some(d => !d)}>\n Verify Code\n </GreenButton>\n {otpError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {otpError}\n </div>\n )}\n <Divider />\n <NavRow text=\"Not received yet?\" linkText=\"Resend\" onClick={() => onResendCode?.(verifyEmail)} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={24} />\n </div>\n </>\n\n ) : view === 'getcode' ? (\n /* ── Get Code (original — email only) ── */\n <>\n <ViewHeading title=\"Get code\" subtitle=\"We'll send a one time pass-code to your email\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={codeEmail} onChange={(e) => setCodeEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoFocus autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <GreenButton onClick={() => { setVerifyEmail(codeEmail); setOtpDigits(['', '', '', '', '', '']); setView('verifycode'); onOneTimeCode?.(codeEmail); }} disabled={!codeEmail}>\n Send One-time Code\n </GreenButton>\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : view === 'getcodewithname' ? (\n /* ── Get Code with Full Name (unregistered email) ── */\n <>\n <ViewHeading title=\"Complete your sign in\" subtitle=\"We’ve sent a one-time code to your email. Please enter the code and your full name to sign in\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n \n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={codeEmail} onChange={(e) => setCodeEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Full Name\" gap={12}>\n <input type=\"text\" value={codeFullName} onChange={(e) => setCodeFullName(e.target.value)}\n placeholder=\"Enter your full name\" autoComplete=\"name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Enter one-time code\" gap={12}>\n <div style={{ display: 'flex', gap: 8 }}>\n {otpDigits.map((digit, i) => (\n <input key={i} ref={(el) => { otpRefs.current[i] = el; }}\n type=\"text\" inputMode=\"numeric\" maxLength={1} value={digit}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n onKeyDown={(e) => handleOtpKeyDown(i, e)}\n onPaste={(e) => handleOtpPaste(i, e)}\n autoFocus={i === 0}\n style={{\n flex: 1, minWidth: 0, height: 40, textAlign: 'center', fontSize: 16, fontWeight: 600,\n fontFamily: FF, color: 'var(--color-text)', border: '1px solid var(--color-input-border)',\n borderRadius: 4, outline: 'none', background: 'white', boxSizing: 'border-box',\n transition: 'border-color 0.15s, box-shadow 0.15s', caretColor: GREEN,\n }}\n onFocus={focusGreen} onBlur={blurGray}\n />\n ))}\n </div>\n </Field>\n\n <GreenButton onClick={() => { setVerifyEmail(codeEmail); onOneTimeCode?.(codeEmail, codeFullName, otpDigits.join('')); }} disabled={!codeEmail || !codeFullName || otpDigits.some(d => !d)}>\n Verify & Sign In\n </GreenButton>\n {otpError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {otpError}\n </div>\n )}\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : view === 'resetpassword' ? (\n /* ── Reset Password ── */\n <>\n <ViewHeading title=\"Reset Password\" subtitle=\"We'll send an email to reset your password\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={resetEmail} onChange={(e) => setResetEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoFocus autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <GreenButton onClick={() => onResetPassword?.(resetEmail)} disabled={!resetEmail}>\n Send Reset Link\n </GreenButton>\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : (\n /* ── Sign In ── */\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 48 }}>\n <ViewHeading title=\"Sign in\" subtitle=\"Enter your email & password to continue\" />\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 8 }}>\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 16 }}>\n\n <form onSubmit={handleSubmit} style={{ width: '100%', display: 'flex', flexDirection: 'column', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input ref={emailRef} type=\"email\" value={email} onChange={(e) => setEmail(e.target.value)}\n placeholder=\"workemail@example.com\" required autoComplete=\"email\"\n style={{ ...inputBase, border: `1px solid ${error ? 'var(--color-text)' : 'var(--color-input-border)'}` }}\n onFocus={focusErr} onBlur={blurErr} />\n </Field>\n\n <Field label=\"Password\" gap={12}>\n <div style={{ position: 'relative' }}>\n <input ref={passwordRef} type={showPassword ? 'text' : 'password'} value={password}\n onChange={(e) => setPassword(e.target.value)}\n placeholder=\"Enter password\" required autoComplete=\"current-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 16px', border: `1px solid ${error ? 'var(--color-text)' : 'var(--color-input-border)'}` }}\n onFocus={focusErr} onBlur={blurErr} />\n <EyeBtn show={showPassword} onToggle={() => setShowPassword(!showPassword)} />\n </div>\n </Field>\n\n <GreenButton type=\"submit\" disabled={!canSubmit}>\n {loading ? 'Signing in\\u2026' : 'Sign In'}\n </GreenButton>\n </form>\n\n {error && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {error}\n </div>\n )}\n\n <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', width: '100%' }}>\n <button type=\"button\" onClick={() => { setView('resetpassword'); onForgotPassword?.(); }}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 400, lineHeight: '100%', color: 'var(--color-text)', cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Forgot Password?\n </button>\n <button type=\"button\" onClick={() => { setView('getcode'); onOneTimeCode?.(); }}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '100%', color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline solid', textUnderlineOffset: 0, textDecorationSkipInk: 'none' }}>\n Sign in with one-time code\n </button>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 2 }}>\n <Divider />\n <DescopeFlow projectId={descopeProjectId} onSuccess={onDescopeSuccess} onError={onDescopeError} />\n </div>\n </div>\n\n <NavRow\n text={signupMode === 'waitlist' ? \"Don't have an account yet?\" : 'Not a member yet?'}\n linkText={signupMode === 'waitlist' ? 'Join Waitlist' : 'Sign Up'}\n onClick={() => {\n if (signupMode === 'waitlist') {\n setView('waitlist');\n onJoinWaitlist?.();\n return;\n }\n setView('signup');\n onSignUp?.();\n }}\n />\n {/* <NavRow text=\"Not a member yet?\" linkText=\"Sign Up\" onClick={() => { setFirstName(''); setLastName(''); setSignupEmail(''); setSignupPassword(''); setSignupConfirm(''); setSignupError(''); setView('signup'); onSignUp?.(); }} /> */}\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={16} />\n </div>\n </div>\n )}\n\n </div>\n </div>\n </div>\n );\n}\n"],"names":["e","t","o","r","d","__assign","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","__spreadArray","to","from","pack","l","ar","__classPrivateFieldGet","receiver","state","kind","f","__classPrivateFieldSet","InvalidTokenError","b64DecodeUnicode","str","m","code","base64UrlDecode","output","jwtDecode","token","options","pos","part","decoded","a","u","c","g","h","v","I","k","b","y","O","w","j","U","T","R","x","$","q","S","C","A","L","E","M","N","D","H","J","z","_","F","K","V","Y","Z","B","Q","G","W","X","ee","te","ne","oe","se","ie","re","ae","de","pe","ue","le","ce","ge","he","ve","Ie","fe","me","ke","be","ye","Oe","we","je","Ue","Te","Re","Pe","xe","$e","qe","Se","Ce","Ae","Le","Ee","Me","Ne","De","He","Je","ze","_e","Fe","Ke","Ve","Ye","Ze","Be","Qe","Ge","We","Xe","et","tt","nt","ot","st","it","rt","at","dt","pt","ut","lt","ct","gt","ht","vt","It","ft","mt","assign","target","source","key","defaultConverter","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","chordiaLogo","GREEN","FF","inputBase","focusGreen","blurGray","TEAM_SIZE_OPTIONS","PHONE_SYSTEM_OPTIONS","MEETING_TOOL_OPTIONS","ViewHeading","title","subtitle","jsxs","jsx","GreenButton","onClick","disabled","children","type","active","Field","label","gap","labelSize","labelStyle","EyeBtn","show","onToggle","EyeOff","Eye","Divider","NavRow","text","linkText","TermsFooter","onTerms","onPrivacyPolicy","paddingTop","DescopeFlow","projectId","onSuccess","onError","AuthProvider","Descope","WaitlistMultiSelect","onChange","otherValue","onOtherChange","placeholder","otherPlaceholder","compact","open","setOpen","useState","wrapRef","useRef","useEffect","onDoc","toggle","opt","removeChip","chipBg","pad","minH","fs","ddMaxH","rowPad","showOtherField","toggleOpen","Fragment","ChevronDown","LoginPage","onLogin","onForgotPassword","onOneTimeCode","onVerifyCode","onResendCode","onSignUp","onJoinWaitlist","onWaitlistSubmit","onResetPassword","onDescopeSuccess","onDescopeError","descopeProjectId","onGoToLogin","externalLoading","externalError","codeError","defaultView","signupMode","email","setEmail","password","setPassword","emailAutofilled","setEmailAutofilled","passwordAutofilled","setPasswordAutofilled","showPassword","setShowPassword","internalLoading","setInternalLoading","internalError","setInternalError","view","setView","codeEmail","setCodeEmail","codeFullName","setCodeFullName","verifyEmail","setVerifyEmail","otpDigits","setOtpDigits","otpRefs","firstName","setFirstName","lastName","setLastName","signupEmail","setSignupEmail","signupPassword","setSignupPassword","signupConfirm","setSignupConfirm","showSignupPassword","setShowSignupPassword","showSignupConfirm","setShowSignupConfirm","signupError","setSignupError","resetEmail","setResetEmail","activeSlide","setActiveSlide","SLIDE_COUNT","waitlistFullName","setWaitlistFullName","waitlistEmail","setWaitlistEmail","waitlistCompany","setWaitlistCompany","waitlistJobTitle","setWaitlistJobTitle","waitlistTeamSize","setWaitlistTeamSize","waitlistPhoneSystems","setWaitlistPhoneSystems","waitlistMeetingTools","setWaitlistMeetingTools","waitlistPhoneOther","setWaitlistPhoneOther","waitlistMeetingOther","setWaitlistMeetingOther","waitlistError","setWaitlistError","waitlistSubmitting","setWaitlistSubmitting","waitlistSubmitted","setWaitlistSubmitted","waitlistPosition","setWaitlistPosition","waitlistCalendlyUrl","setWaitlistCalendlyUrl","emailRef","passwordRef","isAutofilled","el","sync","timers","ms","handleAnimationStart","eEl","pEl","onInput","syncIfNeeded","nextEmail","_a","nextPassword","_b","intervalId","loading","error","currentEmail","currentPassword","canSubmit","otpError","focusErr","blurErr","applyOtpFromString","startIndex","rawValue","clean","next","lastFilledIndex","nextIndex","handleOtpChange","index","digit","handleOtpKeyDown","handleOtpPaste","pasted","handleSubmit","submitEmail","submitPassword","err","handleWaitlistSubmit","em","co","phone_systems","meeting_tools","response","nextPosition","CircleCheckBig","ShieldCheck","Radar","Icon","info"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}