chordia-ui 3.3.0 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FileUploadingState.cjs.js +2 -2
- package/dist/FileUploadingState.cjs.js.map +1 -1
- package/dist/FileUploadingState.es.js +5 -4
- package/dist/FileUploadingState.es.js.map +1 -1
- package/dist/components/onboarding.cjs.js +1 -1
- package/dist/components/onboarding.cjs.js.map +1 -1
- package/dist/components/onboarding.es.js +540 -417
- package/dist/components/onboarding.es.js.map +1 -1
- package/dist/index.cjs2.js +2 -2
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.es2.js +449 -437
- package/dist/index.es2.js.map +1 -1
- package/package.json +1 -1
- package/src/components/common/FileUploadingState.jsx +4 -4
- package/src/components/login/LoginPage.jsx +21 -3
- package/src/components/onboarding/AddTeammates.jsx +246 -66
package/dist/index.es2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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.26.7\"},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=[521,524],u=e=>async(...t)=>{let n=await e(...t);p.includes(n.status)&&(n=await e(...t),n.retries=1);const o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n},l=(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 u(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}:u(n)};let c;const g=()=>{if(c)return c;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 c=`${t}-${n}`,c};var h;!function(e){e.get=\"GET\",e.delete=\"DELETE\",e.post=\"POST\",e.put=\"PUT\",e.patch=\"PATCH\"}(h||(h={}));const v=({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},I=(...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)),{})),f={\"Content-Type\":\"application/json\"},m=(e,t=\"\")=>{let n=e;return t&&(n=n+\":\"+t),{Authorization:`Bearer ${n}`}},k=(e,t)=>{const n={\"x-descope-sdk-session-id\":g(),\"x-descope-sdk-name\":\"core-js\",\"x-descope-sdk-version\":\"2.57.0\",\"x-descope-project-id\":e};return t&&(n[\"x-descope-refresh-cookie-name\"]=t),n},b=e=>{try{e=JSON.parse(e)}catch(e){return!1}return\"object\"==typeof e&&null!==e};var y=(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=l(i,d),c=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:y}=i,O=(e=>void 0===e?void 0:JSON.stringify(e))(l),w={headers:I(m(t,y),k(t,o),(null==n?void 0:n.baseHeaders)||{},b(O)?f:{},c),method:h,body:O};null!==a&&(w.credentials=a||\"include\");const j=await u(v({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}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:h.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:s}={})=>c({path:e,headers:n,queryParams:o,body:t,method:h.post,token:s}),patch:(e,t,{headers:n,queryParams:o,token:s}={})=>c({path:e,headers:n,queryParams:o,body:t,method:h.patch,token:s}),put:(e,t,{headers:n,queryParams:o,token:s}={})=>c({path:e,headers:n,queryParams:o,body:t,method:h.put,token:s}),delete:(e,{headers:t,queryParams:n,token:o}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:h.delete,token:o}),hooks:r,buildUrl:(e,n)=>v({projectId:t,baseUrl:p,path:e,queryParams:n})}})),O={TOO_MANY_REQUESTS:429};function w(e,t,n){var o;let s=j(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 j(t){if(\"string\"!=typeof t||!t)throw new Error(\"Invalid token provided\");return e(t)}function U(e){const{exp:t}=j(e);return(new Date).getTime()/1e3>t}function T(e){let t=j(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function R(e,t){return w(e,t,\"permissions\")}function x(e,t){return w(e,t,\"roles\")}const P=(...e)=>e.join(\"/\").replace(/\\/{2,}/g,\"/\");async function $(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===O.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 q(e){var t;return(null===(t=j(e))||void 0===t?void 0:t[a])||\"\"}const S=(e,t)=>(n=t)=>t=>!e(t)&&n.replace(\"{val}\",t),C=(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 \"))},A=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),L=e=>t=>e.test(t),E=L(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/),M=L(/^\\+[1-9]{1}[0-9]{3,14}$/),N=(e,t)=>n=>A(...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)),D=S(E,'\"{val}\" is not a valid email'),H=S(M,'\"{val}\" is not a valid phone number'),J=S((z=1,e=>e.length>=z),\"Minimum length is 1\");var z;const _=S((e=>\"string\"==typeof e),\"Input is not a string\"),F=S((e=>Array.isArray(e)),\"Input is not an array\"),K=S((e=>\"boolean\"==typeof e),\"Input is not a boolean\"),V=S((e=>void 0===e),\"Input is defined\"),Y=C([_(),V()],\"Input is not a string or undefined\"),Z=C([F(),K()],\"Input is not an array or boolean\"),B=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>A(...e).validate(n[t]))),t(...n)),Q=e=>[_(`\"${e}\" must be a string`)],G=e=>[Y(`\"${e}\" must be string or undefined`)],W=e=>[_(`\"${e}\" must be a string`),J(`\"${e}\" must not be empty`)],X=e=>[_(`\"${e}\" must be a string`),D()],ee=e=>[_(`\"${e}\" must be a string`),H()],te=B(W(\"accessKey\")),ne=e=>({exchange:te(((t,o)=>$(e.post(n.accessKey.exchange,{loginOptions:o},{token:t}))))}),oe=(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),se=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||i,i),timeoutMs:Math.min(t||r,r)});var ie,re;!function(e){e.sms=\"sms\",e.voice=\"voice\",e.whatsapp=\"whatsapp\",e.im=\"im\"}(ie||(ie={})),function(e){e.email=\"email\"}(re||(re={}));const ae=Object.assign(Object.assign({},ie),re);var de;!function(e){e.waiting=\"waiting\",e.running=\"running\",e.completed=\"completed\",e.failed=\"failed\"}(de||(de={}));const pe=W(\"loginId\"),ue=B(W(\"token\")),le=B(pe),ce=B(W(\"pendingRef\")),ge=B(pe,X(\"email\")),he=e=>({verify:ue((t=>$(e.post(n.enchantedLink.verify,{token:t})))),signIn:le(((o,s,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return $(e.post(P(n.enchantedLink.signIn,ae.email),{loginId:o,URI:s,loginOptions:d,providerId:a},{token:r}))})),signUpOrIn:le(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(P(n.enchantedLink.signUpOrIn,ae.email),{loginId:o,URI:s,loginOptions:a,providerId:r}))})),signUp:le(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(P(n.enchantedLink.signUp,ae.email),{loginId:o,URI:s,user:i,loginOptions:d,providerId:a}))})),waitForSession:ce(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=se(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($(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)})))),update:{email:ge(((t,o,s,i,r)=>$(e.post(n.enchantedLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i}))))}}),ve=B(W(\"flowId\")),Ie=B(W(\"executionId\"),W(\"stepId\"),W(\"interactionId\")),fe=e=>({start:ve(((t,o,s,i,r,a,d,p=!1)=>$(e.post(n.flow.start,{flowId:t,options:o,conditionInteractionId:s,interactionId:i,componentsVersion:r,flowVersions:a,input:d,isCustomScreen:p})))),next:Ie(((t,o,s,i,r,a,d=!1)=>$(e.post(n.flow.next,{executionId:t,stepId:o,interactionId:s,version:i,componentsVersion:r,input:a,isCustomScreen:d}))))}),me=W(\"loginId\"),ke=B(W(\"token\")),be=B(me),ye=B(me,ee(\"phone\")),Oe=B(me,X(\"email\")),we=Object.keys(ae).filter((e=>e!==ie.voice&&e!==ie.im)),je=e=>({verify:ke((t=>$(e.post(n.magicLink.verify,{token:t})))),signIn:we.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:be(((o,i,r={},a)=>{var{providerId:d}=r,p=t(r,[\"providerId\"]);return $(e.post(P(n.magicLink.signIn,s),{loginId:o,URI:i,loginOptions:p,providerId:d},{token:a}))}))})),{}),signUp:we.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:be(((o,i,r,a={})=>{var{providerId:d}=a,p=t(a,[\"providerId\"]);return $(e.post(P(n.magicLink.signUp,s),{loginId:o,URI:i,user:r,loginOptions:p,providerId:d}))}))})),{}),signUpOrIn:we.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:be(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(P(n.magicLink.signUpOrIn,s),{loginId:o,URI:i,loginOptions:d,providerId:a}))}))})),{}),update:{email:Oe(((t,o,s,i,r)=>$(e.post(n.magicLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i})))),phone:Object.keys(ie).filter((e=>e!==ie.voice)).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:ye(((t,s,i,r,a)=>$(e.post(P(n.magicLink.update.phone,o),Object.assign({loginId:t,phone:s,URI:i},a),{token:r}))))})),{})}});var Ue;!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\"}(Ue||(Ue={}));const Te=B(W(\"code\")),Re=e=>({start:Object.assign(((t,o,s,i,r)=>$(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:t},o&&{redirectURL:o}),r&&{loginHint:r}),token:i}))),Object.keys(Ue).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:(t,s,i,r)=>$(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:o},t&&{redirectURL:t}),r&&{loginHint:r}),token:i}))})),{})),exchange:Te((t=>$(e.post(n.oauth.exchange,{code:t})))),startNative:(t,o,s)=>$(e.post(n.oauth.startNative,{provider:t,loginOptions:o,implicit:s})),finishNative:(t,o,s,i,r)=>$(e.post(n.oauth.finishNative,{provider:t,stateId:o,user:s,code:i,idToken:r})),getOneTapClientId:t=>$(e.get(n.oauth.oneTap.getOneTapClientId.replace(\"{provider}\",t))),verifyOneTapIDToken:(t,o,s,i)=>$(e.post(n.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i})),exchangeOneTapIDToken:(t,o,s,i)=>$(e.post(n.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i}))}),xe=W(\"appId\"),Pe=B(xe),$e=e=>({connect:Pe(((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,$(e.post(n.outbound.connect,{appId:t,tenantId:i,tenantLevel:r,options:o},{token:s}))}))}),qe=W(\"loginId\"),Se=B(qe,W(\"code\")),Ce=B(qe),Ae=B(qe,ee(\"phone\")),Le=B(qe,X(\"email\")),Ee=e=>({verify:Object.keys(ae).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Se(((t,s)=>$(e.post(P(n.otp.verify,o),{code:s,loginId:t}))))})),{}),signIn:Object.keys(ae).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Ce(((o,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return $(e.post(P(n.otp.signIn,s),{loginId:o,loginOptions:d,providerId:a},{token:r}))}))})),{}),signUp:Object.keys(ae).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Ce(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(P(n.otp.signUp,s),{loginId:o,user:i,loginOptions:d,providerId:a}))}))})),{}),signUpOrIn:Object.keys(ae).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Ce(((o,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(P(n.otp.signUpOrIn,s),{loginId:o,loginOptions:a,providerId:r}))}))})),{}),update:{email:Le(((t,o,s,i)=>$(e.post(n.otp.update.email,Object.assign({loginId:t,email:o},i),{token:s})))),phone:Object.keys(ie).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ae(((t,s,i,r)=>$(e.post(P(n.otp.update.phone,o),Object.assign({loginId:t,phone:s},r),{token:i}))))})),{})}}),Me=B(W(\"tenant\")),Ne=B(W(\"code\")),De=e=>({start:Me(((t,o,s,i,r,a,d,p)=>$(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:Ne((t=>$(e.post(n.saml.exchange,{code:t}))))}),He=W(\"loginId\"),Je=B(He,W(\"code\")),ze=B(He),_e=B(He),Fe=e=>({signUp:ze(((t,o)=>$(e.post(n.totp.signUp,{loginId:t,user:o})))),verify:Je(((t,o,s,i)=>$(e.post(n.totp.verify,{loginId:t,code:o,loginOptions:s},{token:i})))),update:_e(((t,o)=>$(e.post(n.totp.update,{loginId:t},{token:o}))))}),Ke=W(\"loginId\"),Ve=W(\"newPassword\"),Ye=B(Ke,W(\"password\")),Ze=B(Ke),Be=B(Ke,Ve),Qe=B(Ke,W(\"oldPassword\"),Ve),Ge=e=>({signUp:Ye(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(n.password.signUp,{loginId:o,password:s,user:i,loginOptions:d,providerId:a}))})),signIn:Ye(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(n.password.signIn,{loginId:o,password:s,loginOptions:a,providerId:r}))})),sendReset:Ze(((t,o,s)=>$(e.post(n.password.sendReset,{loginId:t,redirectUrl:o,templateOptions:s})))),update:Be(((t,o,s)=>$(e.post(n.password.update,{loginId:t,newPassword:o},{token:s})))),replace:Qe(((t,o,s)=>$(e.post(n.password.replace,{loginId:t,oldPassword:o,newPassword:s})))),policy:()=>$(e.get(n.password.policy))}),We=Q(\"loginId\"),Xe=W(\"loginId\"),et=W(\"origin\"),tt=B(Xe,et,W(\"name\")),nt=B(Xe,et),ot=B(We,et),st=B(Xe,et,G(\"token\")),it=B(W(\"transactionId\"),W(\"response\")),rt=e=>({signUp:{start:tt(((t,o,s,i)=>$(e.post(n.webauthn.signUp.start,{user:{loginId:t,name:s},origin:o,passkeyOptions:i})))),finish:it(((t,o)=>$(e.post(n.webauthn.signUp.finish,{transactionId:t,response:o}))))},signIn:{start:ot(((t,o,s,i,r)=>$(e.post(n.webauthn.signIn.start,{loginId:t,origin:o,loginOptions:s,passkeyOptions:r},{token:i})))),finish:it(((t,o)=>$(e.post(n.webauthn.signIn.finish,{transactionId:t,response:o}))))},signUpOrIn:{start:nt(((t,o,s)=>$(e.post(n.webauthn.signUpOrIn.start,{loginId:t,origin:o,passkeyOptions:s}))))},update:{start:st(((t,o,s,i)=>$(e.post(n.webauthn.update.start,{loginId:t,origin:o,passkeyOptions:i},{token:s})))),finish:it(((t,o)=>$(e.post(n.webauthn.update.finish,{transactionId:t,response:o}))))}}),at=Q(\"loginId\"),dt=B(at),pt=B(W(\"pendingRef\")),ut=e=>({signUpOrIn:dt(((o,s={})=>{var{providerId:i}=s,r=t(s,[\"providerId\"]);return $(e.post(n.notp.signUpOrIn,{loginId:o,loginOptions:r,providerId:i}))})),signUp:dt(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(n.notp.signUp,{loginId:o,user:s,providerId:r,loginOptions:a}))})),signIn:dt(((o,s={},i)=>{var{providerId:r}=s,a=t(s,[\"providerId\"]);return $(e.post(n.notp.signIn,{loginId:o,loginOptions:a,providerId:r},{token:i}))})),waitForSession:pt(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=se(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($(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)}))))}),lt=B(W(\"token\")),ct=B(G(\"token\"));var gt,ht,vt=B([(gt=\"projectId\",ht=W(\"projectId\"),S(N(gt,ht))())])((e=>{const{projectId:t,logger:o,baseUrl:s,cookiePolicy:i,baseHeaders:r={},refreshCookieName:a,fetch:d}=e;return p=y({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:ne(p),otp:Ee(p),magicLink:je(p),enchantedLink:he(p),oauth:Re(p),outbound:$e(p),saml:De(p),totp:Fe(p),notp:ut(p),webauthn:rt(p),password:Ge(p),flow:fe(p),refresh:ct(((e,t,o,s)=>{const i={};o&&(i.externalToken=o);const r=s?n.tryRefresh:n.refresh;return $(p.post(r,i,{token:e,queryParams:t}))})),selectTenant:B([_(\"tenantId\")],[Y('\"token\" must be string or undefined')])(((e,t)=>$(p.post(n.selectTenant,{tenant:e},{token:t})))),logout:ct((e=>$(p.post(n.logout,{},{token:e})))),logoutAll:ct((e=>$(p.post(n.logoutAll,{},{token:e})))),me:ct((e=>$(p.get(n.me,{token:e})))),myTenants:B([Z('\"tenants\" must a string array or a boolean')],[Y('\"token\" must be string or undefined')])(((e,t)=>{const o={};return\"boolean\"==typeof e?o.dct=e:o.ids=e,$(p.post(n.myTenants,o,{token:t}))})),history:ct((e=>$(p.get(n.history,{token:e})))),isJwtExpired:lt(U),getTenants:lt(T),getJwtPermissions:lt(R),getJwtRoles:lt(x),getCurrentTenant:lt(q),httpClient:p};var p})),It=Object.assign(vt,{DeliveryMethods:ae});export{O as HttpStatusCodes,y as createHttpClient,It as default,se as normalizeWaitForSessionConfig,$ as transformResponse,oe 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 l=\"3.2.0\",c=\"undefined\"!=typeof window,d=Math.pow(2,31)-1,u=`https://descopecdn.com/npm/oidc-client-ts@${l}/dist/browser/oidc-client-ts.min.js`,p=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${l}/dist/browser/oidc-client-ts.min.js`;const g=[\"/v1/auth/refresh\",\"/v1/auth/try-refresh\",\"/v1/auth/me\",\"/v1/auth/me/tenants\",\"/v1/auth/me/history\"];let f;const v=e=>{try{return t(e).exp}catch(e){return null}},w=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:v(n)},h=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||h(t),cookieExpiration:t.cookieExpiration||w(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=()=>c&&!!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 g.includes(n)},I=void 0!==f||c&&void 0!==window.localStorage,O=(e,t)=>{var n,o;return null===(o=null===(n=f||c&&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=f||c&&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=f||c&&window.localStorage)||void 0===t?void 0:t.removeItem)||void 0===n?void 0:n.call(t,e)},D=e=>{var t,n,o,i,r;return null!==(r=null!==(n=null===(t=null==f?void 0:f.key)||void 0===t?void 0:t.call(f,e))&&void 0!==n?n:c&&(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},T=(...e)=>{console.debug(...e)},j=(...e)=>{console.warn(...e)},C=(e,t)=>{let n;var o;return t>0?(n=1e3*t,T(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-(new Date).getTime():0)-2e4,n>d&&(T(`Timeout is too large (${n}ms), setting it to ${d}ms`),n=d),n},U=\"DS\",R=\"DSR\",E=\"DSI\";function $(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:s,cookieExpiration:a,cookieSecure:l}=n,c=new Date(1e3*a),d=A(o);i.set(e,t,{path:r,domain:d?o:void 0,expires:c,sameSite:s,secure:l})}}function A(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)||U,N=e=>(null==e?void 0:e.cookieName)||R;function P(e=\"\",t){return i.get(N(t))||_(`${e}${R}`)||\"\"}function L(e=\"\",t){return i.get(J(t))||_(`${e}${U}`)||\"\"}function K(e=\"\"){return _(`${e}${E}`)||\"\"}function q(e=\"\",t,n,o){x(`${e}${R}`),x(`${e}${U}`),x(`${e}${E}`);const r=J(t);i.remove(r,null==o?void 0:o.session);const s=N(n);i.remove(s,null==o?void 0:o.refresh)}const V=(e,t)=>n=>{const o=Object.assign(n,{token:n.token||P(e,t)}),i=function(e=\"\"){return _(`${e}DTD`)||\"\"}(e);return i&&(o.headers=Object.assign(Object.assign({},o.headers||{}),{\"x-descope-trusted-device-token\":i})),o},F=c&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(\"fingerprint.endpoint.url\"))||\"https://api.descope.com\",M=\"vsid\",H=\"vrid\",B=\"fp\",G=(e=!1)=>{const t=_(B);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},W=async(e,t=F)=>{try{if(G())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 l=i.toString()+\"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>\",c=r({apiKey:e,endpoint:[o.toString(),s],scriptUrlPattern:[l,a]}),d=await c,{requestId:u}=await d.get({linkedId:n}),p=((e,t)=>({[M]:e,[H]:t}))(n,u);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};O(B,JSON.stringify(t))})(p)}catch(e){console.warn(\"Could not load fingerprint\",e)}},X=()=>{x(B)},Z=e=>{const t=G(!0);return t&&e.body&&(e.body.fpData=t),e},z=\"descopeFlowNonce\",Q=\"X-Descope-Flow-Nonce\",Y=\"/v1/flow/start\",ee=\"/v1/flow/next\",te=(e,t=z)=>`${t}${e}`,ne=(e,t=z)=>{try{const n=te(e,t);x(n)}catch(e){console.error(\"Error removing flow nonce:\",e)}},oe=e=>{var t;return(null===(t=/.*\\|#\\|(.*)/.exec(e))||void 0===t?void 0:t[1])||null},ie=e=>{var t;return e.path===ee&&(null===(t=e.body)||void 0===t?void 0:t.executionId)?oe(e.body.executionId):null},re=\"dls_last_user_login_id\",se=\"dls_last_user_display_name\",ae=e=>O(re,e),le=()=>_(re),ce=()=>_(se),de=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=le(),r=ce();i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r);return await e(...t)},ue=e=>t=>async(...n)=>{const o=await t(...n);return e||(x(re),x(se)),o};function pe(){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 q(e,t,n,null==o?void 0:o()),s};async function fe(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=be(n.publicKey.challenge),n.publicKey.user.id=be(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=be(e.id)})),n}(e),n=await navigator.credentials.create(t);return o=n,JSON.stringify({id:o.id,rawId:ke(o.rawId),type:o.type,response:{attestationObject:ke(o.response.attestationObject),clientDataJSON:ke(o.response.clientDataJSON)}});var o}async function ve(e){const t=me(e);return ye(await navigator.credentials.get(t))}async function we(e,t){const n=me(e);n.signal=t.signal,n.mediation=\"conditional\";return ye(await navigator.credentials.get(n))}async function he(e=!1){var t,n;if(!c)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 me(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=be(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=be(e.id)})),n}function ye(e){return JSON.stringify({id:e.id,rawId:ke(e.rawId),type:e.type,response:{authenticatorData:ke(e.response.authenticatorData),clientDataJSON:ke(e.response.clientDataJSON),signature:ke(e.response.signature),userHandle:e.response.userHandle?ke(e.response.userHandle):void 0}})}function be(e){const t=e.replace(/_/g,\"/\").replace(/-/g,\"+\");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function ke(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\\//g,\"_\").replace(/\\+/g,\"-\").replace(/=/g,\"\")}var Se,Ie=(Se=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 fe(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 ve(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 fe(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,t)}{const t=await ve(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 fe(i.data.options);return await e.webauthn.update.finish(i.data.transactionId,r)},helpers:{create:fe,get:ve,isSupported:he,conditional:we}}),(...e)=>{const t=Se(...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 Oe={config:\"/fedcm/config\"},_e=()=>{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 xe(e,t){var n;try{await De(e,t)}catch(e){null===(n=null==t?void 0:t.onFailed)||void 0===n||n.call(t,e)}}async function De(e,t){var n,o;const i=await async function(e,t=\"google\",n,o,i){const r=_e(),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 l=a.data.clientId;return new Promise((e=>{var a,c;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===(c=null==n?void 0:n.use_fedcm_for_prompt)||void 0===c||c,client_id:l,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 Te=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await he(),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 je=()=>window.location.search.includes(\"code\")&&window.location.search.includes(\"state\");let Ce;const Ue=(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\",(()=>{Ue(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 Ue([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,l,c;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,l=`${a}_user`,c=\"openid\"}else(null==n?void 0:n.applicationId)?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,a=t,l=`${a}_user`,c=\"openid email roles descope.custom_claims offline_access\"):(s=e.httpClient.buildUrl(t),a=t,l=`${a}_user`,c=\"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)||c,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:l}},Ee=(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)))),O(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(je())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 l=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(l)))),l},logout:async(e,t=!1)=>{const{client:n,stateUserKey:i}=await o();e||(e={}),e.id_token_hint=e.id_token_hint||K(),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}}},$e=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((e=>t=>{var n;return n=t.customStorage,f=n,e(t)}),(t=>n=>{var{fpKey:o,fpLoad:i}=n,r=e(n,[\"fpKey\",\"fpLoad\"]);return c?(o&&i&&W(o).catch((()=>null)),t(y(r,{beforeRequest:Z}))):t(r)}),(n=>i=>{var{autoRefresh:r}=i,s=e(i,[\"autoRefresh\"]);if(!r||k())return n(s);const{clearAllTimers:a,setTimer:l}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let d,u;c&&document.addEventListener(\"visibilitychange\",(()=>{\"visible\"===document.visibilityState&&d&&new Date>d&&(T(\"Expiration time passed, refreshing session\"),p.refresh(P()||u))}));const p=n(y(s,{afterRequest:async(e,n)=>{const{sessionJwt:o,refreshJwt:i,sessionExpiration:r,nextRefreshSeconds:s}=await b(n);if(S(e,n))T(\"Session invalidated, canceling all timers\"),a();else if(o||r){if(d=((e,n)=>{if(n)return new Date(1e3*n);T(\"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),!d)return void T(\"Could not extract expiration time from session token\");u=i;const e=C(d,s);if(a(),e<=2e4)return void T(\"Session is too close to expiration, not setting refresh timer\");const n=new Date(Date.now()+e).toLocaleTimeString(\"en-US\",{hour12:!1});T(`Setting refresh timer for ${n}. (${e}ms)`),l((()=>{c&&\"hidden\"===document.visibilityState?T(\"Skipping refresh due to timer - document is hidden\"):(T(\"Refreshing session due to timer\"),p.refresh(P()||i))}),e)}}}));return o(p,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const n=await e(...t);return T(\"Clearing all timers\"),a(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({\"x-descope-sdk-name\":\"web-js\",\"x-descope-sdk-version\":\"1.45.0\"},t.baseHeaders)}))),(e=>t=>{const n=pe(),i=pe(),r=pe(),s=pe(),a=e(y(t,{afterRequest:async(e,t)=>{if(S(e,t))T(\"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:l}=await b(t);o&&i.pub(o),l&&s.pub(l),(a||o)&&n.pub(a||42)}}})),l=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(l,{onSessionTokenChange:i.sub,onUserChange:r.sub,onClaimsChange:s.sub,onIsAuthenticatedChange:e=>n.sub((t=>{e(!!t)}))})}),(t=>n=>{const{enableFlowNonce:o=!0,nonceStoragePrefix:i=z}=n,r=e(n,[\"enableFlowNonce\",\"nonceStoragePrefix\"]);if(!o)return t(r);((e=z)=>{try{if(!I)return;for(let i=0;i<(t=void 0,n=void 0,o=void 0,null!==(o=null!==(t=null==f?void 0:f.length)&&void 0!==t?t:c&&(null===(n=window.localStorage)||void 0===n?void 0:n.length))&&void 0!==o?o:0);i++){const t=D(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!==Y&&e.path!==ee)return;const{nonce:n,executionId:o}=await(async(e,t)=>{try{const n=t.headers.get(Q);let o=await t.clone().json().then((e=>(null==e?void 0:e.executionId)||null)).catch((()=>null));return o||(o=ie(e)),{nonce:n,executionId:oe(o)}}catch(e){return{nonce:null,executionId:null}}})(e,t);if(n&&o){((e,t,n,o=z)=>{try{const i=te(e,o),r=n?172800:10800,s={value:t,expiry:Date.now()+1e3*r,isStart:n};O(i,JSON.stringify(s))}catch(e){console.error(\"Error setting flow nonce:\",e)}})(o,n,e.path===Y,i)}},beforeRequest:e=>{if(e.path===ee){const t=ie(e);if(t){const n=((e,t=z)=>{try{const n=te(e,t),o=_(n);if(!o)return null;const i=JSON.parse(o);return i.expiry<Date.now()?(ne(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[Q]=n)}}return e}}))}),(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:ce});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?(ae(r),(e=>{O(se,e)})(s)):(null==i?void 0:i.loginId)&&ae(i.loginId)}}));let l=o(a,[\"flow.start\"],de);return l=o(l,[\"logout\",\"logoutAll\"],ue(r)),Object.assign(l,{getLastUserLoginId:le,getLastUserDisplayName:ce})}),(t=>n=>{var{persistTokens:r,sessionTokenViaCookie:s,refreshTokenViaCookie:a,storagePrefix:l}=n,d=e(n,[\"persistTokens\",\"sessionTokenViaCookie\",\"refreshTokenViaCookie\",\"storagePrefix\"]);if(!r||!c)return t(d);let u;const p=t(y(d,{beforeRequest:V(l,a),afterRequest:async(e,t)=>{if(S(e,t))T(\"Session invalidated, clearing persisted tokens\"),q(l,s,a,u);else{const e=((e={},t=!1,n=\"\",o=!1)=>{var r,s,a,l;const{sessionJwt:c,refreshJwt:d,trustedDeviceJwt:u}=e;let p;if(d)if(o){x(`${n}${R}`);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,l=N(o);i&&\"https:\"!==window.location.protocol&&j(\"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 c=Object.assign(Object.assign({},e),{cookieSameSite:t,cookieSecure:i,cookieDomain:a});$(l,d,c);const u=A(a);p=Object.assign(Object.assign({},p),{refresh:{path:c.cookiePath,domain:u?a:void 0}})}else{const e=N(o);i.remove(e),O(`${n}${R}`,d)}if(c)if(t){const n=t.sameSite||\"Strict\",o=null===(a=t.secure)||void 0===a||a,i=null!==(l=t.domain)&&void 0!==l?l:e.cookieDomain,r=J(t);o&&\"https:\"!==window.location.protocol&&j(\"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});$(r,c,s);const d=A(i);p=Object.assign(Object.assign({},p),{session:{path:s.cookiePath,domain:d?i:void 0}})}else O(`${n}${U}`,c);return e.idToken&&O(`${n}${E}`,e.idToken),u&&O(`${n}DTD`,u),p})(await b(t),s,l,a);e&&(u=e)}}})),g=o(p,[\"logout\",\"logoutAll\",\"oidc.logout\"],ge(l,s,a,(()=>u)));return Object.assign(g,{getRefreshToken:()=>P(l,a),getSessionToken:()=>L(l,s),getIdToken:()=>K(l)})}))((e=>{const t=n(e),o=Ee(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(n,i)=>{var r;if(k())return T(`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=L(),a=P();let l=\"\";if(e.getExternalToken)try{l=await(null===(r=e.getExternalToken)||void 0===r?void 0:r.call(e))}catch(e){T(\"Error getting external token while refreshing\",e)}return t.refresh(n,{dcs:s?\"t\":\"f\",dcr:a?\"t\":\"f\"},l,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:Te(t),webauthn:Ie(t),fedcm:(i=t,r=e.projectId,{onetap:{requestExchangeCode(e){xe(i,e)},requestAuthentication(e){xe(i,e)}},async oneTap(e,t,n,o,r){await De(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+Oe.config),clientId:r}]}},o=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(n));return i.refresh(o.token)},isSupported:()=>c&&\"IdentityCredential\"in window,async isLoggedIn(e){var t;const n=i.httpClient.buildUrl(r+Oe.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{R as REFRESH_TOKEN_KEY,U as SESSION_TOKEN_KEY,X as clearFingerprintData,$e as createSdk,$e as default,W as ensureFingerprintIds,L as getSessionToken,je 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 } 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\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://pages.chordia.ai/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://pages.chordia.ai/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// ── 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 * - loading: boolean, error: string | null\n */\nexport default function LoginPage({\n onLogin,\n onForgotPassword,\n onOneTimeCode,\n onVerifyCode,\n onResendCode,\n onSignUp,\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}) {\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 [resetEmail, setResetEmail] = useState('');\n const [activeSlide, setActiveSlide] = useState(0);\n const SLIDE_COUNT = 3;\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\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: '32px 72px', position: 'relative', background: 'white',\n overflowY: 'auto', minHeight: 0,\n }}>\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', maxWidth: 360, gap: 28 }}>\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=\"email\" value={signupEmail} onChange={(e) => setSignupEmail(e.target.value)}\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)}\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)}\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 {(() => {\n const canCreate = firstName && lastName && signupEmail && signupPassword && signupConfirm;\n return (\n <GreenButton onClick={() => { onSignUp?.({ firstName, lastName, email: signupEmail, password: signupPassword }); setView('verifyemail'); }} 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={40} />\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 text=\"Not a member yet?\" linkText=\"Sign Up\" onClick={() => { 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","xe","Pe","$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","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","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","LoginPage","onLogin","onForgotPassword","onOneTimeCode","onVerifyCode","onResendCode","onSignUp","onResetPassword","onDescopeSuccess","onDescopeError","descopeProjectId","onGoToLogin","externalLoading","externalError","codeError","defaultView","email","setEmail","useState","password","setPassword","emailAutofilled","setEmailAutofilled","passwordAutofilled","setPasswordAutofilled","showPassword","setShowPassword","internalLoading","setInternalLoading","internalError","setInternalError","view","setView","codeEmail","setCodeEmail","codeFullName","setCodeFullName","verifyEmail","setVerifyEmail","otpDigits","setOtpDigits","otpRefs","useRef","firstName","setFirstName","lastName","setLastName","signupEmail","setSignupEmail","signupPassword","setSignupPassword","signupConfirm","setSignupConfirm","showSignupPassword","setShowSignupPassword","showSignupConfirm","setShowSignupConfirm","resetEmail","setResetEmail","activeSlide","setActiveSlide","SLIDE_COUNT","useEffect","emailRef","passwordRef","isAutofilled","el","sync","timers","ms","handleAnimationStart","eEl","pEl","onInput","onChange","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","CircleCheckBig","ShieldCheck","Radar","Icon","info","Fragment"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|
|
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.26.7\"},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=[521,524],u=e=>async(...t)=>{let n=await e(...t);p.includes(n.status)&&(n=await e(...t),n.retries=1);const o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n},l=(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 u(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}:u(n)};let c;const g=()=>{if(c)return c;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 c=`${t}-${n}`,c};var h;!function(e){e.get=\"GET\",e.delete=\"DELETE\",e.post=\"POST\",e.put=\"PUT\",e.patch=\"PATCH\"}(h||(h={}));const v=({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},I=(...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)),{})),f={\"Content-Type\":\"application/json\"},m=(e,t=\"\")=>{let n=e;return t&&(n=n+\":\"+t),{Authorization:`Bearer ${n}`}},k=(e,t)=>{const n={\"x-descope-sdk-session-id\":g(),\"x-descope-sdk-name\":\"core-js\",\"x-descope-sdk-version\":\"2.57.0\",\"x-descope-project-id\":e};return t&&(n[\"x-descope-refresh-cookie-name\"]=t),n},b=e=>{try{e=JSON.parse(e)}catch(e){return!1}return\"object\"==typeof e&&null!==e};var y=(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=l(i,d),c=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:y}=i,O=(e=>void 0===e?void 0:JSON.stringify(e))(l),w={headers:I(m(t,y),k(t,o),(null==n?void 0:n.baseHeaders)||{},b(O)?f:{},c),method:h,body:O};null!==a&&(w.credentials=a||\"include\");const j=await u(v({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}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:h.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:s}={})=>c({path:e,headers:n,queryParams:o,body:t,method:h.post,token:s}),patch:(e,t,{headers:n,queryParams:o,token:s}={})=>c({path:e,headers:n,queryParams:o,body:t,method:h.patch,token:s}),put:(e,t,{headers:n,queryParams:o,token:s}={})=>c({path:e,headers:n,queryParams:o,body:t,method:h.put,token:s}),delete:(e,{headers:t,queryParams:n,token:o}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:h.delete,token:o}),hooks:r,buildUrl:(e,n)=>v({projectId:t,baseUrl:p,path:e,queryParams:n})}})),O={TOO_MANY_REQUESTS:429};function w(e,t,n){var o;let s=j(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 j(t){if(\"string\"!=typeof t||!t)throw new Error(\"Invalid token provided\");return e(t)}function U(e){const{exp:t}=j(e);return(new Date).getTime()/1e3>t}function T(e){let t=j(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function R(e,t){return w(e,t,\"permissions\")}function x(e,t){return w(e,t,\"roles\")}const P=(...e)=>e.join(\"/\").replace(/\\/{2,}/g,\"/\");async function $(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===O.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 q(e){var t;return(null===(t=j(e))||void 0===t?void 0:t[a])||\"\"}const S=(e,t)=>(n=t)=>t=>!e(t)&&n.replace(\"{val}\",t),C=(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 \"))},A=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),L=e=>t=>e.test(t),E=L(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/),M=L(/^\\+[1-9]{1}[0-9]{3,14}$/),N=(e,t)=>n=>A(...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)),D=S(E,'\"{val}\" is not a valid email'),H=S(M,'\"{val}\" is not a valid phone number'),J=S((z=1,e=>e.length>=z),\"Minimum length is 1\");var z;const _=S((e=>\"string\"==typeof e),\"Input is not a string\"),F=S((e=>Array.isArray(e)),\"Input is not an array\"),K=S((e=>\"boolean\"==typeof e),\"Input is not a boolean\"),V=S((e=>void 0===e),\"Input is defined\"),Y=C([_(),V()],\"Input is not a string or undefined\"),Z=C([F(),K()],\"Input is not an array or boolean\"),B=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>A(...e).validate(n[t]))),t(...n)),Q=e=>[_(`\"${e}\" must be a string`)],G=e=>[Y(`\"${e}\" must be string or undefined`)],W=e=>[_(`\"${e}\" must be a string`),J(`\"${e}\" must not be empty`)],X=e=>[_(`\"${e}\" must be a string`),D()],ee=e=>[_(`\"${e}\" must be a string`),H()],te=B(W(\"accessKey\")),ne=e=>({exchange:te(((t,o)=>$(e.post(n.accessKey.exchange,{loginOptions:o},{token:t}))))}),oe=(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),se=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||i,i),timeoutMs:Math.min(t||r,r)});var ie,re;!function(e){e.sms=\"sms\",e.voice=\"voice\",e.whatsapp=\"whatsapp\",e.im=\"im\"}(ie||(ie={})),function(e){e.email=\"email\"}(re||(re={}));const ae=Object.assign(Object.assign({},ie),re);var de;!function(e){e.waiting=\"waiting\",e.running=\"running\",e.completed=\"completed\",e.failed=\"failed\"}(de||(de={}));const pe=W(\"loginId\"),ue=B(W(\"token\")),le=B(pe),ce=B(W(\"pendingRef\")),ge=B(pe,X(\"email\")),he=e=>({verify:ue((t=>$(e.post(n.enchantedLink.verify,{token:t})))),signIn:le(((o,s,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return $(e.post(P(n.enchantedLink.signIn,ae.email),{loginId:o,URI:s,loginOptions:d,providerId:a},{token:r}))})),signUpOrIn:le(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(P(n.enchantedLink.signUpOrIn,ae.email),{loginId:o,URI:s,loginOptions:a,providerId:r}))})),signUp:le(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(P(n.enchantedLink.signUp,ae.email),{loginId:o,URI:s,user:i,loginOptions:d,providerId:a}))})),waitForSession:ce(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=se(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($(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)})))),update:{email:ge(((t,o,s,i,r)=>$(e.post(n.enchantedLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i}))))}}),ve=B(W(\"flowId\")),Ie=B(W(\"executionId\"),W(\"stepId\"),W(\"interactionId\")),fe=e=>({start:ve(((t,o,s,i,r,a,d,p=!1)=>$(e.post(n.flow.start,{flowId:t,options:o,conditionInteractionId:s,interactionId:i,componentsVersion:r,flowVersions:a,input:d,isCustomScreen:p})))),next:Ie(((t,o,s,i,r,a,d=!1)=>$(e.post(n.flow.next,{executionId:t,stepId:o,interactionId:s,version:i,componentsVersion:r,input:a,isCustomScreen:d}))))}),me=W(\"loginId\"),ke=B(W(\"token\")),be=B(me),ye=B(me,ee(\"phone\")),Oe=B(me,X(\"email\")),we=Object.keys(ae).filter((e=>e!==ie.voice&&e!==ie.im)),je=e=>({verify:ke((t=>$(e.post(n.magicLink.verify,{token:t})))),signIn:we.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:be(((o,i,r={},a)=>{var{providerId:d}=r,p=t(r,[\"providerId\"]);return $(e.post(P(n.magicLink.signIn,s),{loginId:o,URI:i,loginOptions:p,providerId:d},{token:a}))}))})),{}),signUp:we.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:be(((o,i,r,a={})=>{var{providerId:d}=a,p=t(a,[\"providerId\"]);return $(e.post(P(n.magicLink.signUp,s),{loginId:o,URI:i,user:r,loginOptions:p,providerId:d}))}))})),{}),signUpOrIn:we.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:be(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(P(n.magicLink.signUpOrIn,s),{loginId:o,URI:i,loginOptions:d,providerId:a}))}))})),{}),update:{email:Oe(((t,o,s,i,r)=>$(e.post(n.magicLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i})))),phone:Object.keys(ie).filter((e=>e!==ie.voice)).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:ye(((t,s,i,r,a)=>$(e.post(P(n.magicLink.update.phone,o),Object.assign({loginId:t,phone:s,URI:i},a),{token:r}))))})),{})}});var Ue;!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\"}(Ue||(Ue={}));const Te=B(W(\"code\")),Re=e=>({start:Object.assign(((t,o,s,i,r)=>$(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:t},o&&{redirectURL:o}),r&&{loginHint:r}),token:i}))),Object.keys(Ue).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:(t,s,i,r)=>$(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:o},t&&{redirectURL:t}),r&&{loginHint:r}),token:i}))})),{})),exchange:Te((t=>$(e.post(n.oauth.exchange,{code:t})))),startNative:(t,o,s)=>$(e.post(n.oauth.startNative,{provider:t,loginOptions:o,implicit:s})),finishNative:(t,o,s,i,r)=>$(e.post(n.oauth.finishNative,{provider:t,stateId:o,user:s,code:i,idToken:r})),getOneTapClientId:t=>$(e.get(n.oauth.oneTap.getOneTapClientId.replace(\"{provider}\",t))),verifyOneTapIDToken:(t,o,s,i)=>$(e.post(n.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i})),exchangeOneTapIDToken:(t,o,s,i)=>$(e.post(n.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i}))}),xe=W(\"appId\"),Pe=B(xe),$e=e=>({connect:Pe(((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,$(e.post(n.outbound.connect,{appId:t,tenantId:i,tenantLevel:r,options:o},{token:s}))}))}),qe=W(\"loginId\"),Se=B(qe,W(\"code\")),Ce=B(qe),Ae=B(qe,ee(\"phone\")),Le=B(qe,X(\"email\")),Ee=e=>({verify:Object.keys(ae).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Se(((t,s)=>$(e.post(P(n.otp.verify,o),{code:s,loginId:t}))))})),{}),signIn:Object.keys(ae).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Ce(((o,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return $(e.post(P(n.otp.signIn,s),{loginId:o,loginOptions:d,providerId:a},{token:r}))}))})),{}),signUp:Object.keys(ae).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Ce(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(P(n.otp.signUp,s),{loginId:o,user:i,loginOptions:d,providerId:a}))}))})),{}),signUpOrIn:Object.keys(ae).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Ce(((o,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(P(n.otp.signUpOrIn,s),{loginId:o,loginOptions:a,providerId:r}))}))})),{}),update:{email:Le(((t,o,s,i)=>$(e.post(n.otp.update.email,Object.assign({loginId:t,email:o},i),{token:s})))),phone:Object.keys(ie).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ae(((t,s,i,r)=>$(e.post(P(n.otp.update.phone,o),Object.assign({loginId:t,phone:s},r),{token:i}))))})),{})}}),Me=B(W(\"tenant\")),Ne=B(W(\"code\")),De=e=>({start:Me(((t,o,s,i,r,a,d,p)=>$(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:Ne((t=>$(e.post(n.saml.exchange,{code:t}))))}),He=W(\"loginId\"),Je=B(He,W(\"code\")),ze=B(He),_e=B(He),Fe=e=>({signUp:ze(((t,o)=>$(e.post(n.totp.signUp,{loginId:t,user:o})))),verify:Je(((t,o,s,i)=>$(e.post(n.totp.verify,{loginId:t,code:o,loginOptions:s},{token:i})))),update:_e(((t,o)=>$(e.post(n.totp.update,{loginId:t},{token:o}))))}),Ke=W(\"loginId\"),Ve=W(\"newPassword\"),Ye=B(Ke,W(\"password\")),Ze=B(Ke),Be=B(Ke,Ve),Qe=B(Ke,W(\"oldPassword\"),Ve),Ge=e=>({signUp:Ye(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return $(e.post(n.password.signUp,{loginId:o,password:s,user:i,loginOptions:d,providerId:a}))})),signIn:Ye(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(n.password.signIn,{loginId:o,password:s,loginOptions:a,providerId:r}))})),sendReset:Ze(((t,o,s)=>$(e.post(n.password.sendReset,{loginId:t,redirectUrl:o,templateOptions:s})))),update:Be(((t,o,s)=>$(e.post(n.password.update,{loginId:t,newPassword:o},{token:s})))),replace:Qe(((t,o,s)=>$(e.post(n.password.replace,{loginId:t,oldPassword:o,newPassword:s})))),policy:()=>$(e.get(n.password.policy))}),We=Q(\"loginId\"),Xe=W(\"loginId\"),et=W(\"origin\"),tt=B(Xe,et,W(\"name\")),nt=B(Xe,et),ot=B(We,et),st=B(Xe,et,G(\"token\")),it=B(W(\"transactionId\"),W(\"response\")),rt=e=>({signUp:{start:tt(((t,o,s,i)=>$(e.post(n.webauthn.signUp.start,{user:{loginId:t,name:s},origin:o,passkeyOptions:i})))),finish:it(((t,o)=>$(e.post(n.webauthn.signUp.finish,{transactionId:t,response:o}))))},signIn:{start:ot(((t,o,s,i,r)=>$(e.post(n.webauthn.signIn.start,{loginId:t,origin:o,loginOptions:s,passkeyOptions:r},{token:i})))),finish:it(((t,o)=>$(e.post(n.webauthn.signIn.finish,{transactionId:t,response:o}))))},signUpOrIn:{start:nt(((t,o,s)=>$(e.post(n.webauthn.signUpOrIn.start,{loginId:t,origin:o,passkeyOptions:s}))))},update:{start:st(((t,o,s,i)=>$(e.post(n.webauthn.update.start,{loginId:t,origin:o,passkeyOptions:i},{token:s})))),finish:it(((t,o)=>$(e.post(n.webauthn.update.finish,{transactionId:t,response:o}))))}}),at=Q(\"loginId\"),dt=B(at),pt=B(W(\"pendingRef\")),ut=e=>({signUpOrIn:dt(((o,s={})=>{var{providerId:i}=s,r=t(s,[\"providerId\"]);return $(e.post(n.notp.signUpOrIn,{loginId:o,loginOptions:r,providerId:i}))})),signUp:dt(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return $(e.post(n.notp.signUp,{loginId:o,user:s,providerId:r,loginOptions:a}))})),signIn:dt(((o,s={},i)=>{var{providerId:r}=s,a=t(s,[\"providerId\"]);return $(e.post(n.notp.signIn,{loginId:o,loginOptions:a,providerId:r},{token:i}))})),waitForSession:pt(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=se(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($(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)}))))}),lt=B(W(\"token\")),ct=B(G(\"token\"));var gt,ht,vt=B([(gt=\"projectId\",ht=W(\"projectId\"),S(N(gt,ht))())])((e=>{const{projectId:t,logger:o,baseUrl:s,cookiePolicy:i,baseHeaders:r={},refreshCookieName:a,fetch:d}=e;return p=y({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:ne(p),otp:Ee(p),magicLink:je(p),enchantedLink:he(p),oauth:Re(p),outbound:$e(p),saml:De(p),totp:Fe(p),notp:ut(p),webauthn:rt(p),password:Ge(p),flow:fe(p),refresh:ct(((e,t,o,s)=>{const i={};o&&(i.externalToken=o);const r=s?n.tryRefresh:n.refresh;return $(p.post(r,i,{token:e,queryParams:t}))})),selectTenant:B([_(\"tenantId\")],[Y('\"token\" must be string or undefined')])(((e,t)=>$(p.post(n.selectTenant,{tenant:e},{token:t})))),logout:ct((e=>$(p.post(n.logout,{},{token:e})))),logoutAll:ct((e=>$(p.post(n.logoutAll,{},{token:e})))),me:ct((e=>$(p.get(n.me,{token:e})))),myTenants:B([Z('\"tenants\" must a string array or a boolean')],[Y('\"token\" must be string or undefined')])(((e,t)=>{const o={};return\"boolean\"==typeof e?o.dct=e:o.ids=e,$(p.post(n.myTenants,o,{token:t}))})),history:ct((e=>$(p.get(n.history,{token:e})))),isJwtExpired:lt(U),getTenants:lt(T),getJwtPermissions:lt(R),getJwtRoles:lt(x),getCurrentTenant:lt(q),httpClient:p};var p})),It=Object.assign(vt,{DeliveryMethods:ae});export{O as HttpStatusCodes,y as createHttpClient,It as default,se as normalizeWaitForSessionConfig,$ as transformResponse,oe 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 l=\"3.2.0\",c=\"undefined\"!=typeof window,d=Math.pow(2,31)-1,u=`https://descopecdn.com/npm/oidc-client-ts@${l}/dist/browser/oidc-client-ts.min.js`,p=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${l}/dist/browser/oidc-client-ts.min.js`;const g=[\"/v1/auth/refresh\",\"/v1/auth/try-refresh\",\"/v1/auth/me\",\"/v1/auth/me/tenants\",\"/v1/auth/me/history\"];let f;const v=e=>{try{return t(e).exp}catch(e){return null}},w=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:v(n)},h=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||h(t),cookieExpiration:t.cookieExpiration||w(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=()=>c&&!!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 g.includes(n)},I=void 0!==f||c&&void 0!==window.localStorage,O=(e,t)=>{var n,o;return null===(o=null===(n=f||c&&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=f||c&&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=f||c&&window.localStorage)||void 0===t?void 0:t.removeItem)||void 0===n?void 0:n.call(t,e)},D=e=>{var t,n,o,i,r;return null!==(r=null!==(n=null===(t=null==f?void 0:f.key)||void 0===t?void 0:t.call(f,e))&&void 0!==n?n:c&&(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},T=(...e)=>{console.debug(...e)},j=(...e)=>{console.warn(...e)},C=(e,t)=>{let n;var o;return t>0?(n=1e3*t,T(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-(new Date).getTime():0)-2e4,n>d&&(T(`Timeout is too large (${n}ms), setting it to ${d}ms`),n=d),n},U=\"DS\",R=\"DSR\",E=\"DSI\";function $(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:s,cookieExpiration:a,cookieSecure:l}=n,c=new Date(1e3*a),d=A(o);i.set(e,t,{path:r,domain:d?o:void 0,expires:c,sameSite:s,secure:l})}}function A(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)||U,N=e=>(null==e?void 0:e.cookieName)||R;function P(e=\"\",t){return i.get(N(t))||_(`${e}${R}`)||\"\"}function L(e=\"\",t){return i.get(J(t))||_(`${e}${U}`)||\"\"}function K(e=\"\"){return _(`${e}${E}`)||\"\"}function q(e=\"\",t,n,o){x(`${e}${R}`),x(`${e}${U}`),x(`${e}${E}`);const r=J(t);i.remove(r,null==o?void 0:o.session);const s=N(n);i.remove(s,null==o?void 0:o.refresh)}const V=(e,t)=>n=>{const o=Object.assign(n,{token:n.token||P(e,t)}),i=function(e=\"\"){return _(`${e}DTD`)||\"\"}(e);return i&&(o.headers=Object.assign(Object.assign({},o.headers||{}),{\"x-descope-trusted-device-token\":i})),o},F=c&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(\"fingerprint.endpoint.url\"))||\"https://api.descope.com\",M=\"vsid\",H=\"vrid\",B=\"fp\",G=(e=!1)=>{const t=_(B);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},W=async(e,t=F)=>{try{if(G())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 l=i.toString()+\"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>\",c=r({apiKey:e,endpoint:[o.toString(),s],scriptUrlPattern:[l,a]}),d=await c,{requestId:u}=await d.get({linkedId:n}),p=((e,t)=>({[M]:e,[H]:t}))(n,u);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};O(B,JSON.stringify(t))})(p)}catch(e){console.warn(\"Could not load fingerprint\",e)}},X=()=>{x(B)},Z=e=>{const t=G(!0);return t&&e.body&&(e.body.fpData=t),e},z=\"descopeFlowNonce\",Q=\"X-Descope-Flow-Nonce\",Y=\"/v1/flow/start\",ee=\"/v1/flow/next\",te=(e,t=z)=>`${t}${e}`,ne=(e,t=z)=>{try{const n=te(e,t);x(n)}catch(e){console.error(\"Error removing flow nonce:\",e)}},oe=e=>{var t;return(null===(t=/.*\\|#\\|(.*)/.exec(e))||void 0===t?void 0:t[1])||null},ie=e=>{var t;return e.path===ee&&(null===(t=e.body)||void 0===t?void 0:t.executionId)?oe(e.body.executionId):null},re=\"dls_last_user_login_id\",se=\"dls_last_user_display_name\",ae=e=>O(re,e),le=()=>_(re),ce=()=>_(se),de=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=le(),r=ce();i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r);return await e(...t)},ue=e=>t=>async(...n)=>{const o=await t(...n);return e||(x(re),x(se)),o};function pe(){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 q(e,t,n,null==o?void 0:o()),s};async function fe(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=be(n.publicKey.challenge),n.publicKey.user.id=be(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=be(e.id)})),n}(e),n=await navigator.credentials.create(t);return o=n,JSON.stringify({id:o.id,rawId:ke(o.rawId),type:o.type,response:{attestationObject:ke(o.response.attestationObject),clientDataJSON:ke(o.response.clientDataJSON)}});var o}async function ve(e){const t=me(e);return ye(await navigator.credentials.get(t))}async function we(e,t){const n=me(e);n.signal=t.signal,n.mediation=\"conditional\";return ye(await navigator.credentials.get(n))}async function he(e=!1){var t,n;if(!c)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 me(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=be(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=be(e.id)})),n}function ye(e){return JSON.stringify({id:e.id,rawId:ke(e.rawId),type:e.type,response:{authenticatorData:ke(e.response.authenticatorData),clientDataJSON:ke(e.response.clientDataJSON),signature:ke(e.response.signature),userHandle:e.response.userHandle?ke(e.response.userHandle):void 0}})}function be(e){const t=e.replace(/_/g,\"/\").replace(/-/g,\"+\");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function ke(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\\//g,\"_\").replace(/\\+/g,\"-\").replace(/=/g,\"\")}var Se,Ie=(Se=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 fe(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 ve(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 fe(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,t)}{const t=await ve(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 fe(i.data.options);return await e.webauthn.update.finish(i.data.transactionId,r)},helpers:{create:fe,get:ve,isSupported:he,conditional:we}}),(...e)=>{const t=Se(...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 Oe={config:\"/fedcm/config\"},_e=()=>{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 xe(e,t){var n;try{await De(e,t)}catch(e){null===(n=null==t?void 0:t.onFailed)||void 0===n||n.call(t,e)}}async function De(e,t){var n,o;const i=await async function(e,t=\"google\",n,o,i){const r=_e(),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 l=a.data.clientId;return new Promise((e=>{var a,c;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===(c=null==n?void 0:n.use_fedcm_for_prompt)||void 0===c||c,client_id:l,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 Te=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await he(),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 je=()=>window.location.search.includes(\"code\")&&window.location.search.includes(\"state\");let Ce;const Ue=(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\",(()=>{Ue(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 Ue([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,l,c;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,l=`${a}_user`,c=\"openid\"}else(null==n?void 0:n.applicationId)?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,a=t,l=`${a}_user`,c=\"openid email roles descope.custom_claims offline_access\"):(s=e.httpClient.buildUrl(t),a=t,l=`${a}_user`,c=\"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)||c,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:l}},Ee=(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)))),O(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(je())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 l=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(l)))),l},logout:async(e,t=!1)=>{const{client:n,stateUserKey:i}=await o();e||(e={}),e.id_token_hint=e.id_token_hint||K(),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}}},$e=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((e=>t=>{var n;return n=t.customStorage,f=n,e(t)}),(t=>n=>{var{fpKey:o,fpLoad:i}=n,r=e(n,[\"fpKey\",\"fpLoad\"]);return c?(o&&i&&W(o).catch((()=>null)),t(y(r,{beforeRequest:Z}))):t(r)}),(n=>i=>{var{autoRefresh:r}=i,s=e(i,[\"autoRefresh\"]);if(!r||k())return n(s);const{clearAllTimers:a,setTimer:l}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let d,u;c&&document.addEventListener(\"visibilitychange\",(()=>{\"visible\"===document.visibilityState&&d&&new Date>d&&(T(\"Expiration time passed, refreshing session\"),p.refresh(P()||u))}));const p=n(y(s,{afterRequest:async(e,n)=>{const{sessionJwt:o,refreshJwt:i,sessionExpiration:r,nextRefreshSeconds:s}=await b(n);if(S(e,n))T(\"Session invalidated, canceling all timers\"),a();else if(o||r){if(d=((e,n)=>{if(n)return new Date(1e3*n);T(\"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),!d)return void T(\"Could not extract expiration time from session token\");u=i;const e=C(d,s);if(a(),e<=2e4)return void T(\"Session is too close to expiration, not setting refresh timer\");const n=new Date(Date.now()+e).toLocaleTimeString(\"en-US\",{hour12:!1});T(`Setting refresh timer for ${n}. (${e}ms)`),l((()=>{c&&\"hidden\"===document.visibilityState?T(\"Skipping refresh due to timer - document is hidden\"):(T(\"Refreshing session due to timer\"),p.refresh(P()||i))}),e)}}}));return o(p,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const n=await e(...t);return T(\"Clearing all timers\"),a(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({\"x-descope-sdk-name\":\"web-js\",\"x-descope-sdk-version\":\"1.45.0\"},t.baseHeaders)}))),(e=>t=>{const n=pe(),i=pe(),r=pe(),s=pe(),a=e(y(t,{afterRequest:async(e,t)=>{if(S(e,t))T(\"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:l}=await b(t);o&&i.pub(o),l&&s.pub(l),(a||o)&&n.pub(a||42)}}})),l=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(l,{onSessionTokenChange:i.sub,onUserChange:r.sub,onClaimsChange:s.sub,onIsAuthenticatedChange:e=>n.sub((t=>{e(!!t)}))})}),(t=>n=>{const{enableFlowNonce:o=!0,nonceStoragePrefix:i=z}=n,r=e(n,[\"enableFlowNonce\",\"nonceStoragePrefix\"]);if(!o)return t(r);((e=z)=>{try{if(!I)return;for(let i=0;i<(t=void 0,n=void 0,o=void 0,null!==(o=null!==(t=null==f?void 0:f.length)&&void 0!==t?t:c&&(null===(n=window.localStorage)||void 0===n?void 0:n.length))&&void 0!==o?o:0);i++){const t=D(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!==Y&&e.path!==ee)return;const{nonce:n,executionId:o}=await(async(e,t)=>{try{const n=t.headers.get(Q);let o=await t.clone().json().then((e=>(null==e?void 0:e.executionId)||null)).catch((()=>null));return o||(o=ie(e)),{nonce:n,executionId:oe(o)}}catch(e){return{nonce:null,executionId:null}}})(e,t);if(n&&o){((e,t,n,o=z)=>{try{const i=te(e,o),r=n?172800:10800,s={value:t,expiry:Date.now()+1e3*r,isStart:n};O(i,JSON.stringify(s))}catch(e){console.error(\"Error setting flow nonce:\",e)}})(o,n,e.path===Y,i)}},beforeRequest:e=>{if(e.path===ee){const t=ie(e);if(t){const n=((e,t=z)=>{try{const n=te(e,t),o=_(n);if(!o)return null;const i=JSON.parse(o);return i.expiry<Date.now()?(ne(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[Q]=n)}}return e}}))}),(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:ce});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?(ae(r),(e=>{O(se,e)})(s)):(null==i?void 0:i.loginId)&&ae(i.loginId)}}));let l=o(a,[\"flow.start\"],de);return l=o(l,[\"logout\",\"logoutAll\"],ue(r)),Object.assign(l,{getLastUserLoginId:le,getLastUserDisplayName:ce})}),(t=>n=>{var{persistTokens:r,sessionTokenViaCookie:s,refreshTokenViaCookie:a,storagePrefix:l}=n,d=e(n,[\"persistTokens\",\"sessionTokenViaCookie\",\"refreshTokenViaCookie\",\"storagePrefix\"]);if(!r||!c)return t(d);let u;const p=t(y(d,{beforeRequest:V(l,a),afterRequest:async(e,t)=>{if(S(e,t))T(\"Session invalidated, clearing persisted tokens\"),q(l,s,a,u);else{const e=((e={},t=!1,n=\"\",o=!1)=>{var r,s,a,l;const{sessionJwt:c,refreshJwt:d,trustedDeviceJwt:u}=e;let p;if(d)if(o){x(`${n}${R}`);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,l=N(o);i&&\"https:\"!==window.location.protocol&&j(\"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 c=Object.assign(Object.assign({},e),{cookieSameSite:t,cookieSecure:i,cookieDomain:a});$(l,d,c);const u=A(a);p=Object.assign(Object.assign({},p),{refresh:{path:c.cookiePath,domain:u?a:void 0}})}else{const e=N(o);i.remove(e),O(`${n}${R}`,d)}if(c)if(t){const n=t.sameSite||\"Strict\",o=null===(a=t.secure)||void 0===a||a,i=null!==(l=t.domain)&&void 0!==l?l:e.cookieDomain,r=J(t);o&&\"https:\"!==window.location.protocol&&j(\"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});$(r,c,s);const d=A(i);p=Object.assign(Object.assign({},p),{session:{path:s.cookiePath,domain:d?i:void 0}})}else O(`${n}${U}`,c);return e.idToken&&O(`${n}${E}`,e.idToken),u&&O(`${n}DTD`,u),p})(await b(t),s,l,a);e&&(u=e)}}})),g=o(p,[\"logout\",\"logoutAll\",\"oidc.logout\"],ge(l,s,a,(()=>u)));return Object.assign(g,{getRefreshToken:()=>P(l,a),getSessionToken:()=>L(l,s),getIdToken:()=>K(l)})}))((e=>{const t=n(e),o=Ee(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(n,i)=>{var r;if(k())return T(`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=L(),a=P();let l=\"\";if(e.getExternalToken)try{l=await(null===(r=e.getExternalToken)||void 0===r?void 0:r.call(e))}catch(e){T(\"Error getting external token while refreshing\",e)}return t.refresh(n,{dcs:s?\"t\":\"f\",dcr:a?\"t\":\"f\"},l,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:Te(t),webauthn:Ie(t),fedcm:(i=t,r=e.projectId,{onetap:{requestExchangeCode(e){xe(i,e)},requestAuthentication(e){xe(i,e)}},async oneTap(e,t,n,o,r){await De(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+Oe.config),clientId:r}]}},o=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(n));return i.refresh(o.token)},isSupported:()=>c&&\"IdentityCredential\"in window,async isLoggedIn(e){var t;const n=i.httpClient.buildUrl(r+Oe.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{R as REFRESH_TOKEN_KEY,U as SESSION_TOKEN_KEY,X as clearFingerprintData,$e as createSdk,$e as default,W as ensureFingerprintIds,L as getSessionToken,je 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 } 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\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://pages.chordia.ai/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://pages.chordia.ai/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// ── 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 * - loading: boolean, error: string | null\n */\nexport default function LoginPage({\n onLogin,\n onForgotPassword,\n onOneTimeCode,\n onVerifyCode,\n onResendCode,\n onSignUp,\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}) {\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 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\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: '32px 72px', position: 'relative', background: 'white',\n overflowY: 'auto', minHeight: 0,\n }}>\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', maxWidth: 360, gap: 28 }}>\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=\"email\" value={signupEmail} onChange={(e) => setSignupEmail(e.target.value)}\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: 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 {signupError}\n </div>\n )}\n\n {(() => {\n const canCreate = firstName && lastName && signupEmail && signupPassword && signupConfirm;\n return (\n <GreenButton onClick={() => {\n setSignupError('');\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={40} />\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 text=\"Not a member yet?\" linkText=\"Sign Up\" onClick={() => { 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","xe","Pe","$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","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","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","LoginPage","onLogin","onForgotPassword","onOneTimeCode","onVerifyCode","onResendCode","onSignUp","onResetPassword","onDescopeSuccess","onDescopeError","descopeProjectId","onGoToLogin","externalLoading","externalError","codeError","defaultView","email","setEmail","useState","password","setPassword","emailAutofilled","setEmailAutofilled","passwordAutofilled","setPasswordAutofilled","showPassword","setShowPassword","internalLoading","setInternalLoading","internalError","setInternalError","view","setView","codeEmail","setCodeEmail","codeFullName","setCodeFullName","verifyEmail","setVerifyEmail","otpDigits","setOtpDigits","otpRefs","useRef","firstName","setFirstName","lastName","setLastName","signupEmail","setSignupEmail","signupPassword","setSignupPassword","signupConfirm","setSignupConfirm","showSignupPassword","setShowSignupPassword","showSignupConfirm","setShowSignupConfirm","signupError","setSignupError","resetEmail","setResetEmail","activeSlide","setActiveSlide","SLIDE_COUNT","useEffect","emailRef","passwordRef","isAutofilled","el","sync","timers","ms","handleAnimationStart","eEl","pEl","onInput","onChange","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","CircleCheckBig","ShieldCheck","Radar","Icon","info","Fragment"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|