chordia-ui 3.4.0 → 3.4.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/Timeline.cjs.js +1 -6
- package/dist/Timeline.cjs.js.map +1 -1
- package/dist/Timeline.es.js +129 -597
- package/dist/Timeline.es.js.map +1 -1
- package/dist/TranscriptCard.cjs.js +7 -0
- package/dist/TranscriptCard.cjs.js.map +1 -0
- package/dist/TranscriptCard.es.js +474 -0
- package/dist/TranscriptCard.es.js.map +1 -0
- package/dist/UpdatedInteractionRecording.cjs.js +1 -1
- package/dist/UpdatedInteractionRecording.cjs.js.map +1 -1
- package/dist/UpdatedInteractionRecording.es.js +516 -420
- package/dist/UpdatedInteractionRecording.es.js.map +1 -1
- package/dist/components/UpdatedInteractionDetails.cjs.js +2 -2
- package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
- package/dist/components/UpdatedInteractionDetails.es.js +304 -285
- package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
- package/dist/components/media.cjs.js +1 -1
- package/dist/components/media.cjs.js.map +1 -1
- package/dist/components/media.es.js +9 -8
- package/dist/components/media.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs2.js +1 -1
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs3.js +2 -2
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.es.js +53 -52
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +1 -1
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es3.js +11 -4
- package/dist/index.es3.js.map +1 -1
- package/dist/pages/interactionDetails.cjs.js +2 -2
- package/dist/pages/interactionDetails.cjs.js.map +1 -1
- package/dist/pages/interactionDetails.es.js +17 -16
- package/dist/pages/interactionDetails.es.js.map +1 -1
- package/package.json +1 -1
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +125 -107
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionRecording.jsx +342 -178
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","../src/components/login/SignUpPage.jsx"],"sourcesContent":["import t from\"react\";const e=t.createContext(void 0);export{e as default};\n//# sourceMappingURL=Context.js.map\n","const o=o=>(...e)=>{if(!o)throw Error(\"You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component\");return o(...e)},e=o=>(...e)=>{let r;try{r=o(...e)}catch(o){console.error(o)}return r},r=()=>\"undefined\"!=typeof window&&!!window.descopeBridge;export{r as isDescopeBridge,o as withValidation,e as wrapInTry};\n//# sourceMappingURL=utils.js.map\n","const e={\"x-descope-sdk-name\":\"react\",\"x-descope-sdk-version\":\"2.27.1\"},d=\"undefined\"!=typeof window;export{d as IS_BROWSER,e as baseHeaders};\n//# sourceMappingURL=constants.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","import{jwtDecode as e}from\"jwt-decode\";import{__rest as t}from\"tslib\";var n={accessKey:{exchange:\"/v1/auth/accesskey/exchange\"},otp:{verify:\"/v1/auth/otp/verify\",signIn:\"/v1/auth/otp/signin\",signUp:\"/v1/auth/otp/signup\",update:{email:\"/v1/auth/otp/update/email\",phone:\"/v1/auth/otp/update/phone\"},signUpOrIn:\"/v1/auth/otp/signup-in\"},magicLink:{verify:\"/v1/auth/magiclink/verify\",signIn:\"/v1/auth/magiclink/signin\",signUp:\"/v1/auth/magiclink/signup\",update:{email:\"/v1/auth/magiclink/update/email\",phone:\"/v1/auth/magiclink/update/phone\"},signUpOrIn:\"/v1/auth/magiclink/signup-in\"},enchantedLink:{verify:\"/v1/auth/enchantedlink/verify\",signIn:\"/v1/auth/enchantedlink/signin\",signUp:\"/v1/auth/enchantedlink/signup\",session:\"/v1/auth/enchantedlink/pending-session\",update:{email:\"/v1/auth/enchantedlink/update/email\"},signUpOrIn:\"/v1/auth/enchantedlink/signup-in\"},oauth:{start:\"/v1/auth/oauth/authorize\",exchange:\"/v1/auth/oauth/exchange\",startNative:\"v1/auth/oauth/native/start\",finishNative:\"v1/auth/oauth/native/finish\",oneTap:{getOneTapClientId:\"/v1/auth/onetap/clientid/{provider}\",exchangeOneTapIDToken:\"/v1/auth/onetap/idtoken/exchange\",verifyOneTapIDToken:\"/v1/auth/onetap/idtoken/verify\"}},outbound:{connect:\"/v1/outbound/oauth/connect\"},saml:{start:\"/v1/auth/saml/authorize\",exchange:\"/v1/auth/saml/exchange\"},totp:{verify:\"/v1/auth/totp/verify\",signUp:\"/v1/auth/totp/signup\",update:\"/v1/auth/totp/update\"},notp:{signIn:\"/v1/auth/notp/whatsapp/signin\",signUp:\"/v1/auth/notp/whatsapp/signup\",signUpOrIn:\"/v1/auth/notp/whatsapp/signup-in\",session:\"/v1/auth/notp/pending-session\"},webauthn:{signUp:{start:\"/v1/auth/webauthn/signup/start\",finish:\"/v1/auth/webauthn/signup/finish\"},signIn:{start:\"/v1/auth/webauthn/signin/start\",finish:\"/v1/auth/webauthn/signin/finish\"},signUpOrIn:{start:\"/v1/auth/webauthn/signup-in/start\"},update:{start:\"v1/auth/webauthn/update/start\",finish:\"/v1/auth/webauthn/update/finish\"}},password:{signUp:\"/v1/auth/password/signup\",signIn:\"/v1/auth/password/signin\",sendReset:\"/v1/auth/password/reset\",update:\"/v1/auth/password/update\",replace:\"/v1/auth/password/replace\",policy:\"/v1/auth/password/policy\"},refresh:\"/v1/auth/refresh\",tryRefresh:\"/v1/auth/try-refresh\",selectTenant:\"/v1/auth/tenant/select\",logout:\"/v1/auth/logout\",logoutAll:\"/v1/auth/logoutall\",me:\"/v1/auth/me\",myTenants:\"/v1/auth/me/tenants\",history:\"/v1/auth/me/history\",flow:{start:\"/v1/flow/start\",next:\"/v1/flow/next\"}};const o=\"<region>\",s=`https://api.${o}descope.com`,i=1e3,r=6e5,a=\"dct\",d=()=>{const e={};return{headers(t){const n=\"function\"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},retries(t){return e.Retries=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${\"Title\"!==t?`${t}: `:\"\"}${e[t]}`]:[])).join(\"\\n\")}},p=[503,521,522,524,530],u=[100,5e3,5e3],l=e=>new Promise((t=>setTimeout(t,e))),c=e=>async(...t)=>{let n=await e(...t),o=0;for(;p.includes(n.status)&&o<u.length;)await l(u[o]),n=await e(...t),o++;o>0&&(n.retries=o);const s=await n.text();return n.text=()=>Promise.resolve(s),n.json=()=>Promise.resolve(JSON.parse(s)),n.clone=()=>n,n},g=(e,t)=>{const n=t||fetch;return n||null==e||e.warn(\"Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally\"),e?async(...t)=>{if(!n)throw Error(\"Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally\");e.log((e=>d().title(\"Request\").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const o=await c(n)(...t);return e[o.ok?\"log\":\"error\"](await(async e=>{const t=await e.text();return d().title(\"Response\").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).retries(e.retries).build()})(o)),o}:c(n)};let h;const v=()=>{if(h)return h;const e=new Date,t=`${e.getUTCFullYear().toString()}-${(e.getUTCMonth()+1).toString().padStart(2,\"0\")}-${e.getUTCDate().toString().padStart(2,\"0\")}-${e.getUTCHours().toString().padStart(2,\"0\")}:${e.getUTCMinutes().toString().padStart(2,\"0\")}:${e.getUTCSeconds().toString().padStart(2,\"0\")}:${e.getUTCMilliseconds().toString()}`,n=Math.floor(1e3+9e3*Math.random());return h=`${t}-${n}`,h};var I;!function(e){e.get=\"GET\",e.delete=\"DELETE\",e.post=\"POST\",e.put=\"PUT\",e.patch=\"PATCH\"}(I||(I={}));const f=({path:e,baseUrl:t,queryParams:n,projectId:s})=>{const i=s.slice(1,-27);t=t.replace(o,i?i+\".\":\"\");let r=e?`${t.replace(/\\/$/,\"\")}/${null==e?void 0:e.replace(/^\\//,\"\")}`:t;if(n){const e=Object.keys(n);e.forEach(((t,o)=>{r=`${r}${0===o?\"?\":\"\"}${t}=${encodeURIComponent(n[t])}${o===e.length-1?\"\":\"&\"}`}))}return r},m=(...e)=>new Headers(e.reduce(((e,t)=>((e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t).forEach((([t,n])=>{e[t]=\"function\"==typeof n?n():n})),e)),{})),k={\"Content-Type\":\"application/json\"},b=(e,t=\"\")=>{let n=e;return t&&(n=n+\":\"+t),{Authorization:`Bearer ${n}`}},y=(e,t)=>{const n={\"x-descope-sdk-session-id\":v(),\"x-descope-sdk-name\":\"core-js\",\"x-descope-sdk-version\":\"2.58.0\",\"x-descope-project-id\":e};return t&&(n[\"x-descope-refresh-cookie-name\"]=t),n},O=e=>{try{e=JSON.parse(e)}catch(e){return!1}return\"object\"==typeof e&&null!==e};var w=(e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>{var n;const o=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==o?void 0:o.reduce(((e,t)=>t(e)),e)},afterRequest:async(e,n)=>{var o;const s=[].concat((null===(o=t.hooks)||void 0===o?void 0:o.afterRequest)||[]);if(0==s.length)return;(await Promise.allSettled(null==s?void 0:s.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return\"rejected\"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))},transformResponse:null===(n=t.hooks)||void 0===n?void 0:n.transformResponse}}))})((({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:o,logger:i,hooks:r,cookiePolicy:a,fetch:d})=>{const p=e||s,u=g(i,d),l=async e=>{var s;const i=(null==r?void 0:r.beforeRequest)?r.beforeRequest(e):e,{path:d,body:l,headers:c,queryParams:g,method:h,token:v}=i,I=(e=>void 0===e?void 0:JSON.stringify(e))(l),w={headers:m(b(t,v),y(t,o),(null==n?void 0:n.baseHeaders)||{},O(I)?k:{},c),method:h,body:I};null!==a&&(w.credentials=a||\"include\");const j=await u(f({path:d,baseUrl:p,queryParams:g,projectId:t}),w);if((null==r?void 0:r.afterRequest)&&await r.afterRequest(e,null==j?void 0:j.clone()),null==r?void 0:r.transformResponse){const e=await j.json(),t=((null===(s=j.headers)||void 0===s?void 0:s.get(\"set-cookie\"))||\"\").split(\";\").reduce(((e,t)=>{const[n,o]=t.split(\"=\");return Object.assign(Object.assign({},e),{[n.trim()]:o})}),{}),n=Object.assign(Object.assign({},j),{json:()=>Promise.resolve(e),cookies:t});return n.clone=()=>n,r.transformResponse(n)}return j};return{get:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:I.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.post,token:s}),patch:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.patch,token:s}),put:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.put,token:s}),delete:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:I.delete,token:o}),hooks:r,buildUrl:(e,n)=>f({projectId:t,baseUrl:p,path:e,queryParams:n})}})),j={TOO_MANY_REQUESTS:429};function U(e,t,n){var o;let s=T(e);if(t){if(!(null==s?void 0:s.tenants)&&(null==s?void 0:s[a])===t)return(null==s?void 0:s[n])||[];s=null===(o=null==s?void 0:s.tenants)||void 0===o?void 0:o[t]}const i=null==s?void 0:s[n];return Array.isArray(i)?i:[]}function T(t){if(\"string\"!=typeof t||!t)throw new Error(\"Invalid token provided\");return e(t)}function R(e){const{exp:t}=T(e);return(new Date).getTime()/1e3>t}function P(e){let t=T(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function x(e,t){return U(e,t,\"permissions\")}function $(e,t){return U(e,t,\"roles\")}const q=(...e)=>e.join(\"/\").replace(/\\/{2,}/g,\"/\");async function S(e,t){var n;const o=await e,s={code:o.status,ok:o.ok,response:o},i=await o.clone().json();return o.ok?s.data=t?t(i):i:(s.error=i,o.status===j.TOO_MANY_REQUESTS&&Object.assign(s.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get(\"retry-after\"))||0})),s}function C(e){var t;return(null===(t=T(e))||void 0===t?void 0:t[a])||\"\"}const A=(e,t)=>(n=t)=>t=>!e(t)&&n.replace(\"{val}\",t),L=(e,t)=>(n=t)=>t=>{const o=e.filter((e=>e(t)));return!(o.length<e.length)&&(n?n.replace(\"{val}\",t):o.join(\" OR \"))},E=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),M=e=>t=>e.test(t),N=M(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/),D=M(/^\\+[1-9]{1}[0-9]{3,14}$/),H=(e,t)=>n=>E(...t).validate(((e,t,n)=>{const o=(Array.isArray(t)?t.join(\".\"):String(t)).replace(/\\[\\\\?(\"|')?(\\w|d)+\\\\?(\"|')?\\]/g,((e,t,n)=>\".\"+n)).split(\".\"),s=o.length;let i=0,r=e===Object(e)?e:void 0;for(;null!=r&&i<s;)r=r[o[i++]];return i&&i===s&&void 0!==r?r:n})(n,e)),J=A(N,'\"{val}\" is not a valid email'),z=A(D,'\"{val}\" is not a valid phone number'),_=A((F=1,e=>e.length>=F),\"Minimum length is 1\");var F;const K=A((e=>\"string\"==typeof e),\"Input is not a string\"),V=A((e=>Array.isArray(e)),\"Input is not an array\"),Y=A((e=>\"boolean\"==typeof e),\"Input is not a boolean\"),Z=A((e=>void 0===e),\"Input is defined\"),B=L([K(),Z()],\"Input is not a string or undefined\"),Q=L([V(),Y()],\"Input is not an array or boolean\"),G=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>E(...e).validate(n[t]))),t(...n)),W=e=>[K(`\"${e}\" must be a string`)],X=e=>[B(`\"${e}\" must be string or undefined`)],ee=e=>[K(`\"${e}\" must be a string`),_(`\"${e}\" must not be empty`)],te=e=>[K(`\"${e}\" must be a string`),J()],ne=e=>[K(`\"${e}\" must be a string`),z()],oe=G(ee(\"accessKey\")),se=e=>({exchange:oe(((t,o)=>S(e.post(n.accessKey.exchange,{loginOptions:o},{token:t}))))}),ie=(e,t,n)=>(t.forEach((t=>{const o=t.split(\".\");let s=o.shift(),i=e;for(;o.length>0;){if(i=i[s],!s||!i)throw Error(`Invalid path \"${t}\", \"${s}\" is missing or has no value`);s=o.shift()}if(\"function\"!=typeof i[s])throw Error(`\"${t}\" is not a function`);const r=i[s];i[s]=n(r)})),e),re=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||i,i),timeoutMs:Math.min(t||r,r)});var ae,de;!function(e){e.sms=\"sms\",e.voice=\"voice\",e.whatsapp=\"whatsapp\",e.im=\"im\"}(ae||(ae={})),function(e){e.email=\"email\"}(de||(de={}));const pe=Object.assign(Object.assign({},ae),de);var ue;!function(e){e.waiting=\"waiting\",e.running=\"running\",e.completed=\"completed\",e.failed=\"failed\"}(ue||(ue={}));const le=ee(\"loginId\"),ce=G(ee(\"token\")),ge=G(le),he=G(ee(\"pendingRef\")),ve=G(le,te(\"email\")),Ie=e=>({verify:ce((t=>S(e.post(n.enchantedLink.verify,{token:t})))),signIn:ge(((o,s,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signIn,pe.email),{loginId:o,URI:s,loginOptions:d,providerId:a},{token:r}))})),signUpOrIn:ge(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signUpOrIn,pe.email),{loginId:o,URI:s,loginOptions:a,providerId:r}))})),signUp:ge(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signUp,pe.email),{loginId:o,URI:s,user:i,loginOptions:d,providerId:a}))})),waitForSession:he(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=re(o);let a;const d=setInterval((async()=>{const o=await e.post(n.enchantedLink.session,{pendingRef:t});o.ok&&(clearInterval(d),a&&clearTimeout(a),s(S(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)})))),update:{email:ve(((t,o,s,i,r)=>S(e.post(n.enchantedLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i}))))}}),fe=G(ee(\"flowId\")),me=G(ee(\"executionId\"),ee(\"stepId\"),ee(\"interactionId\")),ke=e=>({start:fe(((t,o,s,i,r,a,d,p=!1)=>S(e.post(n.flow.start,{flowId:t,options:o,conditionInteractionId:s,interactionId:i,componentsVersion:r,flowVersions:a,input:d,isCustomScreen:p})))),next:me(((t,o,s,i,r,a,d=!1)=>S(e.post(n.flow.next,{executionId:t,stepId:o,interactionId:s,version:i,componentsVersion:r,input:a,isCustomScreen:d}))))}),be=ee(\"loginId\"),ye=G(ee(\"token\")),Oe=G(be),we=G(be,ne(\"phone\")),je=G(be,te(\"email\")),Ue=Object.keys(pe).filter((e=>e!==ae.voice&&e!==ae.im)),Te=e=>({verify:ye((t=>S(e.post(n.magicLink.verify,{token:t})))),signIn:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r={},a)=>{var{providerId:d}=r,p=t(r,[\"providerId\"]);return S(e.post(q(n.magicLink.signIn,s),{loginId:o,URI:i,loginOptions:p,providerId:d},{token:a}))}))})),{}),signUp:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r,a={})=>{var{providerId:d}=a,p=t(a,[\"providerId\"]);return S(e.post(q(n.magicLink.signUp,s),{loginId:o,URI:i,user:r,loginOptions:p,providerId:d}))}))})),{}),signUpOrIn:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.magicLink.signUpOrIn,s),{loginId:o,URI:i,loginOptions:d,providerId:a}))}))})),{}),update:{email:je(((t,o,s,i,r)=>S(e.post(n.magicLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i})))),phone:Object.keys(ae).filter((e=>e!==ae.voice)).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:we(((t,s,i,r,a)=>S(e.post(q(n.magicLink.update.phone,o),Object.assign({loginId:t,phone:s,URI:i},a),{token:r}))))})),{})}});var Re;!function(e){e.facebook=\"facebook\",e.github=\"github\",e.google=\"google\",e.microsoft=\"microsoft\",e.gitlab=\"gitlab\",e.apple=\"apple\",e.discord=\"discord\",e.linkedin=\"linkedin\",e.slack=\"slack\"}(Re||(Re={}));const Pe=G(ee(\"code\")),xe=e=>({start:Object.assign(((t,o,s,i,r)=>S(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:t},o&&{redirectURL:o}),r&&{loginHint:r}),token:i}))),Object.keys(Re).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:(t,s,i,r)=>S(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:o},t&&{redirectURL:t}),r&&{loginHint:r}),token:i}))})),{})),exchange:Pe((t=>S(e.post(n.oauth.exchange,{code:t})))),startNative:(t,o,s)=>S(e.post(n.oauth.startNative,{provider:t,loginOptions:o,implicit:s})),finishNative:(t,o,s,i,r)=>S(e.post(n.oauth.finishNative,{provider:t,stateId:o,user:s,code:i,idToken:r})),getOneTapClientId:t=>S(e.get(n.oauth.oneTap.getOneTapClientId.replace(\"{provider}\",t))),verifyOneTapIDToken:(t,o,s,i)=>S(e.post(n.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i})),exchangeOneTapIDToken:(t,o,s,i)=>S(e.post(n.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i}))}),$e=ee(\"appId\"),qe=G($e),Se=e=>({connect:qe(((t,o,s)=>{const i=null==o?void 0:o.tenantId,r=null==o?void 0:o.tenantLevel;return null==o||delete o.tenantId,null==o||delete o.tenantLevel,S(e.post(n.outbound.connect,{appId:t,tenantId:i,tenantLevel:r,options:o},{token:s}))}))}),Ce=ee(\"loginId\"),Ae=G(Ce,ee(\"code\")),Le=G(Ce),Ee=G(Ce,ne(\"phone\")),Me=G(Ce,te(\"email\")),Ne=e=>({verify:Object.keys(pe).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ae(((t,s)=>S(e.post(q(n.otp.verify,o),{code:s,loginId:t}))))})),{}),signIn:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return S(e.post(q(n.otp.signIn,s),{loginId:o,loginOptions:d,providerId:a},{token:r}))}))})),{}),signUp:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.otp.signUp,s),{loginId:o,user:i,loginOptions:d,providerId:a}))}))})),{}),signUpOrIn:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(q(n.otp.signUpOrIn,s),{loginId:o,loginOptions:a,providerId:r}))}))})),{}),update:{email:Me(((t,o,s,i)=>S(e.post(n.otp.update.email,Object.assign({loginId:t,email:o},i),{token:s})))),phone:Object.keys(ae).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ee(((t,s,i,r)=>S(e.post(q(n.otp.update.phone,o),Object.assign({loginId:t,phone:s},r),{token:i}))))})),{})}}),De=G(ee(\"tenant\")),He=G(ee(\"code\")),Je=e=>({start:De(((t,o,s,i,r,a,d,p)=>S(e.post(n.saml.start,s||{},Object.assign({queryParams:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({tenant:t},o&&{redirectURL:o}),r&&{ssoId:r}),a&&{forceAuthn:\"true\"}),d&&{loginHint:d}),p&&{initiatedEmail:t})},i&&{token:i}))))),exchange:He((t=>S(e.post(n.saml.exchange,{code:t}))))}),ze=ee(\"loginId\"),_e=G(ze,ee(\"code\")),Fe=G(ze),Ke=G(ze),Ve=e=>({signUp:Fe(((t,o)=>S(e.post(n.totp.signUp,{loginId:t,user:o})))),verify:_e(((t,o,s,i)=>S(e.post(n.totp.verify,{loginId:t,code:o,loginOptions:s},{token:i})))),update:Ke(((t,o)=>S(e.post(n.totp.update,{loginId:t},{token:o}))))}),Ye=ee(\"loginId\"),Ze=ee(\"newPassword\"),Be=G(Ye,ee(\"password\")),Qe=G(Ye),Ge=G(Ye,Ze),We=G(Ye,ee(\"oldPassword\"),Ze),Xe=e=>({signUp:Be(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(n.password.signUp,{loginId:o,password:s,user:i,loginOptions:d,providerId:a}))})),signIn:Be(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(n.password.signIn,{loginId:o,password:s,loginOptions:a,providerId:r}))})),sendReset:Qe(((t,o,s)=>S(e.post(n.password.sendReset,{loginId:t,redirectUrl:o,templateOptions:s})))),update:Ge(((t,o,s)=>S(e.post(n.password.update,{loginId:t,newPassword:o},{token:s})))),replace:We(((t,o,s)=>S(e.post(n.password.replace,{loginId:t,oldPassword:o,newPassword:s})))),policy:()=>S(e.get(n.password.policy))}),et=W(\"loginId\"),tt=ee(\"loginId\"),nt=ee(\"origin\"),ot=G(tt,nt,ee(\"name\")),st=G(tt,nt),it=G(et,nt),rt=G(tt,nt,X(\"token\")),at=G(ee(\"transactionId\"),ee(\"response\")),dt=e=>({signUp:{start:ot(((t,o,s,i)=>S(e.post(n.webauthn.signUp.start,{user:{loginId:t,name:s},origin:o,passkeyOptions:i})))),finish:at(((t,o)=>S(e.post(n.webauthn.signUp.finish,{transactionId:t,response:o}))))},signIn:{start:it(((t,o,s,i,r)=>S(e.post(n.webauthn.signIn.start,{loginId:t,origin:o,loginOptions:s,passkeyOptions:r},{token:i})))),finish:at(((t,o)=>S(e.post(n.webauthn.signIn.finish,{transactionId:t,response:o}))))},signUpOrIn:{start:st(((t,o,s)=>S(e.post(n.webauthn.signUpOrIn.start,{loginId:t,origin:o,passkeyOptions:s}))))},update:{start:rt(((t,o,s,i)=>S(e.post(n.webauthn.update.start,{loginId:t,origin:o,passkeyOptions:i},{token:s})))),finish:at(((t,o)=>S(e.post(n.webauthn.update.finish,{transactionId:t,response:o}))))}}),pt=W(\"loginId\"),ut=G(pt),lt=G(ee(\"pendingRef\")),ct=e=>({signUpOrIn:ut(((o,s={})=>{var{providerId:i}=s,r=t(s,[\"providerId\"]);return S(e.post(n.notp.signUpOrIn,{loginId:o,loginOptions:r,providerId:i}))})),signUp:ut(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(n.notp.signUp,{loginId:o,user:s,providerId:r,loginOptions:a}))})),signIn:ut(((o,s={},i)=>{var{providerId:r}=s,a=t(s,[\"providerId\"]);return S(e.post(n.notp.signIn,{loginId:o,loginOptions:a,providerId:r},{token:i}))})),waitForSession:lt(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=re(o);let a;const d=setInterval((async()=>{const o=await e.post(n.notp.session,{pendingRef:t});o.ok&&(clearInterval(d),a&&clearTimeout(a),s(S(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)}))))}),gt=G(ee(\"token\")),ht=G(X(\"token\"));var vt,It,ft=G([(vt=\"projectId\",It=ee(\"projectId\"),A(H(vt,It))())])((e=>{const{projectId:t,logger:o,baseUrl:s,cookiePolicy:i,baseHeaders:r={},refreshCookieName:a,fetch:d}=e;return p=w({baseUrl:s,projectId:t,logger:o,hooks:{get beforeRequest(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.beforeRequest},get afterRequest(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.afterRequest},get transformResponse(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.transformResponse}},cookiePolicy:i,baseConfig:{baseHeaders:r},refreshCookieName:a,fetch:d}),{accessKey:se(p),otp:Ne(p),magicLink:Te(p),enchantedLink:Ie(p),oauth:xe(p),outbound:Se(p),saml:Je(p),totp:Ve(p),notp:ct(p),webauthn:dt(p),password:Xe(p),flow:ke(p),refresh:ht(((e,t,o,s)=>{const i={};o&&(i.externalToken=o);const r=s?n.tryRefresh:n.refresh;return S(p.post(r,i,{token:e,queryParams:t}))})),selectTenant:G([K(\"tenantId\")],[B('\"token\" must be string or undefined')])(((e,t)=>S(p.post(n.selectTenant,{tenant:e},{token:t})))),logout:ht((e=>S(p.post(n.logout,{},{token:e})))),logoutAll:ht((e=>S(p.post(n.logoutAll,{},{token:e})))),me:ht((e=>S(p.get(n.me,{token:e})))),myTenants:G([Q('\"tenants\" must a string array or a boolean')],[B('\"token\" must be string or undefined')])(((e,t)=>{const o={};return\"boolean\"==typeof e?o.dct=e:o.ids=e,S(p.post(n.myTenants,o,{token:t}))})),history:ht((e=>S(p.get(n.history,{token:e})))),isJwtExpired:gt(R),getTenants:gt(P),getJwtPermissions:gt(x),getJwtRoles:gt($),getCurrentTenant:gt(C),httpClient:p};var p})),mt=Object.assign(ft,{DeliveryMethods:pe});export{j as HttpStatusCodes,w as createHttpClient,mt as default,re as normalizeWaitForSessionConfig,S as transformResponse,ie as wrapWith};\n//# sourceMappingURL=index.esm.js.map\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * Fingerprint Pro v3.11.6 - Copyright (c) FingerprintJS, Inc, 2025 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function o(e,t,n,r){var o,i=document,a=\"securitypolicyviolation\",u=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(a,u);var R=function(){return i.removeEventListener(a,u)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){var t=new MessageChannel;t.port1.onmessage=function(){return e()},t.port2.postMessage(null)})).then((function(){if(R(),o)return n(o);throw e}))}))}var i={default:\"endpoint\"},a={default:\"tlsEndpoint\"},u=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",l=\"The endpoint parameter is not a valid URL\";function E(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var d=/*#__PURE__*/E(\"WrongRegion\"),p=/*#__PURE__*/E(\"SubscriptionNotActive\"),v=/*#__PURE__*/E(\"UnsupportedVersion\"),_=/*#__PURE__*/E(\"InstallationMethodRestricted\"),O=/*#__PURE__*/E(\"HostnameRestricted\"),h=/*#__PURE__*/E(\"IntegrationFailed\"),I=\"API key required\",N=\"API key not found\",T=\"API key expired\",m=\"Request cannot be parsed\",w=\"Request failed\",A=\"Request failed to process\",P=\"Too many requests, rate limit exceeded\",y=\"Not available for this origin\",D=\"Not available with restricted header\",S=I,g=N,L=T,U=\"3.11.6\",b=\"Failed to load the JS script of the agent\",C=\"9319\";function M(t,n){var r,o,i,a,u,R,c,s=[],E=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),a=100,u=3e3,R=0,o=function(){return Math.random()*Math.min(u,a*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,a=t instanceof Error?t.message:\"\";if(a===f||a===l)r.exclude(),n=0;else if(a===C)r.exclude();else if(a===b){var u=Date.now()-e.getTime()<50,R=r.current();R&&u&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),d=E[0],p=E[1];if(void 0===d)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var v=function(e){var t=new Date,r=function(n){return s.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(null!=c||(c=e),s.length>=5)throw c;var n=p(t,e);if(!n)throw c;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return v(o)}))}))};return v(d).then((function(e){return[e,s]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",B=K;function F(e){var o;e.scriptUrlPattern;var i=e.token,a=e.apiKey,u=void 0===a?i:a,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],l=s[1];return Promise.resolve().then((function(){if(!u||\"string\"!=typeof u)throw new Error(I);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,u);return M(e,V)})).catch((function(e){throw l(),function(e){if(e instanceof Error&&e.message===C)return new Error(b);return e}(e)})).then((function(e){var t=e[0],r=e[1];return l(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function V(e){return o(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(l);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(b))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(k)}function k(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(C);return n}var G={load:F,defaultScriptUrlPattern:B,ERROR_SCRIPT_LOAD_FAIL:b,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:N,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:m,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:u,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:O,ERROR_FORBIDDEN_HEADER:D,ERROR_FORBIDDEN_ORIGIN:y,ERROR_GENERAL_SERVER_FAILURE:w,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:h,ERROR_INVALID_ENDPOINT:l,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:P,ERROR_SERVER_TIMEOUT:A,ERROR_SUBSCRIPTION_NOT_ACTIVE:p,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:g,ERROR_TOKEN_MISSING:S,ERROR_UNSUPPORTED_VERSION:v,ERROR_WRONG_REGION:d,defaultEndpoint:i,defaultTlsEndpoint:a};export{T as ERROR_API_KEY_EXPIRED,N as ERROR_API_KEY_INVALID,I as ERROR_API_KEY_MISSING,m as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,u as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,O as ERROR_FORBIDDEN_ENDPOINT,D as ERROR_FORBIDDEN_HEADER,y as ERROR_FORBIDDEN_ORIGIN,w as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,h as ERROR_INTEGRATION_FAILURE,l as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,P as ERROR_RATE_LIMIT,b as ERROR_SCRIPT_LOAD_FAIL,A as ERROR_SERVER_TIMEOUT,p as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,g as ERROR_TOKEN_INVALID,S as ERROR_TOKEN_MISSING,v as ERROR_UNSUPPORTED_VERSION,d as ERROR_WRONG_REGION,G as default,i as defaultEndpoint,B as defaultScriptUrlPattern,a as defaultTlsEndpoint,F as load};\n","import{__rest as e}from\"tslib\";import{jwtDecode as t}from\"jwt-decode\";import n,{wrapWith as o}from\"@descope/core-js-sdk\";import i from\"js-cookie\";import{load as r,defaultEndpoint as s,defaultScriptUrlPattern as a}from\"@fingerprintjs/fingerprintjs-pro\";const c=\"3.2.0\",l=\"undefined\"!=typeof window,d=Math.pow(2,31)-1,u=`https://descopecdn.com/npm/oidc-client-ts@${c}/dist/browser/oidc-client-ts.min.js`,p=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${c}/dist/browser/oidc-client-ts.min.js`;const f=[\"/v1/auth/refresh\",\"/v1/auth/try-refresh\",\"/v1/auth/me\",\"/v1/auth/me/tenants\",\"/v1/auth/me/history\"];let g;const v=e=>{try{return t(e).exp}catch(e){return null}},h=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:v(n)},w=e=>{const{expires_in:t,expires_at:n,access_token:o}=e;return n||(t?Math.floor(Date.now()/1e3)+t:o?v(o):void 0)},m=t=>{const{access_token:n,id_token:o,refresh_token:i,refresh_expire_in:r}=t,s=e(t,[\"access_token\",\"id_token\",\"refresh_token\",\"refresh_expire_in\"]);return Object.assign({sessionJwt:t.sessionJwt||n,idToken:o,refreshJwt:t.refreshJwt||i,sessionExpiration:t.sessionExpiration||w(t),cookieExpiration:t.cookieExpiration||h(t)},s)},y=(e,t)=>{var n;return[\"beforeRequest\",\"afterRequest\"].reduce(((n,o)=>{var i;return n[o]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[o])||[]).concat((null==t?void 0:t[o])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},b=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json()),n=(null==t?void 0:t.authInfo)||t||{};return m(n)},k=()=>l&&!!window.descopeBridge,S=(e,t)=>{if(!((null==t?void 0:t.status)>=400&&(null==t?void 0:t.status)<500))return!1;const n=(null==e?void 0:e.path)||\"\";return f.includes(n)},O=void 0!==g||l&&void 0!==window.localStorage,I=(e,t)=>{var n,o;return null===(o=null===(n=g||l&&window.localStorage)||void 0===n?void 0:n.setItem)||void 0===o?void 0:o.call(n,e,t)},_=e=>{var t,n;return null===(n=null===(t=g||l&&window.localStorage)||void 0===t?void 0:t.getItem)||void 0===n?void 0:n.call(t,e)},x=e=>{var t,n;return null===(n=null===(t=g||l&&window.localStorage)||void 0===t?void 0:t.removeItem)||void 0===n?void 0:n.call(t,e)},j=e=>{var t,n,o,i,r;return null!==(r=null!==(n=null===(t=null==g?void 0:g.key)||void 0===t?void 0:t.call(g,e))&&void 0!==n?n:l&&(null===(i=null===(o=window.localStorage)||void 0===o?void 0:o.key)||void 0===i?void 0:i.call(o,e)))&&void 0!==r?r:null},U=(...e)=>{console.debug(...e)},D=(...e)=>{console.warn(...e)},T=(e,t)=>{let n;var o;return t>0?(n=1e3*t,U(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-(new Date).getTime():0)-2e4,n>d&&(U(`Timeout is too large (${n}ms), setting it to ${d}ms`),n=d),n},C=\"DS\",A=\"DSR\",R=\"DSI\",$=\"DSRCN\";function E(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:s,cookieExpiration:a,cookieSecure:c}=n,l=new Date(1e3*a),d=N(o);i.set(e,t,{path:r,domain:d?o:void 0,expires:l,sameSite:s,secure:c})}}function N(e){const t=window.location.hostname.split(\".\"),n=null==e?void 0:e.split(\".\");return t.slice(-(null==n?void 0:n.length)).join(\".\")===e}const J=e=>(null==e?void 0:e.cookieName)||C,P=e=>(null==e?void 0:e.cookieName)||A;function L(e=\"\",t){return i.get(P(t))||_(`${e}${A}`)||\"\"}function K(e=\"\",t){return i.get(J(t))||_(`${e}${C}`)||\"\"}function q(e=\"\"){return _(`${e}${R}`)||\"\"}function V(e=\"\",t,n,o){x(`${e}${A}`),x(`${e}${C}`),x(`${e}${R}`),x(`${e}${$}`);const r=J(t);i.remove(r,null==o?void 0:o.session);const s=P(n);i.remove(s,null==o?void 0:o.refresh)}const F=(e,t,n)=>o=>{const i=Object.assign(o,{token:o.token||L(e,t)});if(!n){const t=function(e=\"\"){return _(`${e}${$}`)}(e);t&&(i.headers=Object.assign(Object.assign({},i.headers||{}),{\"x-descope-refresh-cookie-name\":t}))}const r=function(e=\"\"){return _(`${e}DTD`)||\"\"}(e);return r&&(i.headers=Object.assign(Object.assign({},i.headers||{}),{\"x-descope-trusted-device-token\":r})),i},M=l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(\"fingerprint.endpoint.url\"))||\"https://api.descope.com\",H=\"vsid\",B=\"vrid\",G=\"fp\",W=(e=!1)=>{const t=_(G);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},X=async(e,t=M)=>{try{if(W())return;const n=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),o=new URL(t);o.pathname=\"/fXj8gt3x8VulJBna/x96Emn69oZwcd7I6\";const i=new URL(t);i.pathname=\"/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I\";const c=i.toString()+\"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>\",l=r({apiKey:e,endpoint:[o.toString(),s],scriptUrlPattern:[c,a]}),d=await l,{requestId:u}=await d.get({linkedId:n}),p=((e,t)=>({[H]:e,[B]:t}))(n,u);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};I(G,JSON.stringify(t))})(p)}catch(e){console.warn(\"Could not load fingerprint\",e)}},Z=()=>{x(G)},z=e=>{const t=W(!0);return t&&e.body&&(e.body.fpData=t),e},Q=\"descopeFlowNonce\",Y=\"X-Descope-Flow-Nonce\",ee=\"/v1/flow/start\",te=\"/v1/flow/next\",ne=(e,t=Q)=>`${t}${e}`,oe=(e,t=Q)=>{try{const n=ne(e,t);x(n)}catch(e){console.error(\"Error removing flow nonce:\",e)}},ie=e=>{var t;return(null===(t=/.*\\|#\\|(.*)/.exec(e))||void 0===t?void 0:t[1])||null},re=e=>{var t;return e.path===te&&(null===(t=e.body)||void 0===t?void 0:t.executionId)?ie(e.body.executionId):null},se=\"dls_last_user_login_id\",ae=\"dls_last_user_display_name\",ce=e=>I(se,e),le=()=>_(se),de=()=>_(ae),ue=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=le(),r=de();i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r);return await e(...t)},pe=e=>t=>async(...n)=>{const o=await t(...n);return e||(x(se),x(ae)),o};function fe(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const ge=(e,t,n,o)=>i=>async(...r)=>{const s=await i(...r);return V(e,t,n,null==o?void 0:o()),s};async function ve(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=ke(n.publicKey.challenge),n.publicKey.user.id=ke(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=ke(e.id)})),n}(e),n=await navigator.credentials.create(t);return o=n,JSON.stringify({id:o.id,rawId:Se(o.rawId),type:o.type,response:{attestationObject:Se(o.response.attestationObject),clientDataJSON:Se(o.response.clientDataJSON)}});var o}async function he(e){const t=ye(e);return be(await navigator.credentials.get(t))}async function we(e,t){const n=ye(e);n.signal=t.signal,n.mediation=\"conditional\";return be(await navigator.credentials.get(n))}async function me(e=!1){var t,n;if(!l)return Promise.resolve(!1);if(k()){const e=null===(n=null===(t=window.descopeBridge)||void 0===t?void 0:t.hostInfo)||void 0===n?void 0:n.webauthn;if(\"boolean\"==typeof e)return e}const o=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return o&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():o}function ye(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=ke(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=ke(e.id)})),n}function be(e){return JSON.stringify({id:e.id,rawId:Se(e.rawId),type:e.type,response:{authenticatorData:Se(e.response.authenticatorData),clientDataJSON:Se(e.response.clientDataJSON),signature:Se(e.response.signature),userHandle:e.response.userHandle?Se(e.response.userHandle):void 0}})}function ke(e){const t=e.replace(/_/g,\"/\").replace(/-/g,\"+\");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function Se(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\\//g,\"_\").replace(/\\+/g,\"-\").replace(/=/g,\"\")}var Oe,Ie=(Oe=e=>({async signUp(t,n,o){const i=await e.webauthn.signUp.start(t,window.location.origin,n,o);if(!i.ok)return i;const r=await ve(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,r)},async signIn(t,n){const o=await e.webauthn.signIn.start(t,window.location.origin,void 0,void 0,n);if(!o.ok)return o;const i=await he(o.data.options);return await e.webauthn.signIn.finish(o.data.transactionId,i)},async signUpOrIn(t,n){var o;const i=await e.webauthn.signUpOrIn.start(t,window.location.origin,n);if(!i.ok)return i;if(null===(o=i.data)||void 0===o?void 0:o.create){const t=await ve(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,t)}{const t=await he(i.data.options);return await e.webauthn.signIn.finish(i.data.transactionId,t)}},async update(t,n,o){const i=await e.webauthn.update.start(t,window.location.origin,n,o);if(!i.ok)return i;const r=await ve(i.data.options);return await e.webauthn.update.finish(i.data.transactionId,r)},helpers:{create:ve,get:he,isSupported:me,conditional:we}}),(...e)=>{const t=Oe(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t});const _e={config:\"/fedcm/config\"},xe=()=>{if(window.crypto&&window.crypto.getRandomValues){const e=new Uint8Array(16);return window.crypto.getRandomValues(e),Array.from(e,(e=>e.toString(16).padStart(2,\"0\"))).join(\"\")}return Math.random().toString(36).substring(2)};async function je(e,t){var n;try{await Ue(e,t)}catch(e){null===(n=null==t?void 0:t.onFailed)||void 0===n||n.call(t,e)}}async function Ue(e,t){var n,o;const i=await async function(e,t=\"google\",n,o,i){const r=xe(),s=await async function(){return new Promise(((e,t)=>{if(window.google)return void e(window.google.accounts.id);let n=document.getElementById(\"google-gsi-client-script\");n||(n=document.createElement(\"script\"),document.head.appendChild(n),n.async=!0,n.defer=!0,n.id=\"google-gsi-client-script\",n.src=\"https://accounts.google.com/gsi/client\"),n.onload=function(){window.google?e(window.google.accounts.id):t(\"Failed to load Google GSI client script - not loaded properly\")},n.onerror=function(){t(\"Failed to load Google GSI client script - failed to load\")}}))}(),a=await e.oauth.getOneTapClientId(t);if(!a.ok)throw new Error(\"Failed to get OneTap client ID for provider \"+t);const c=a.data.clientId;return new Promise((e=>{var a,l;const d=n=>{e({provider:t,nonce:r,credential:null==n?void 0:n.credential})};s.initialize(Object.assign(Object.assign({},n),{itp_support:null===(a=null==n?void 0:n.itp_support)||void 0===a||a,use_fedcm_for_prompt:null===(l=null==n?void 0:n.use_fedcm_for_prompt)||void 0===l||l,client_id:c,callback:d,nonce:r})),s.prompt((e=>{var t,n;if(i&&(null==e?void 0:e.isDismissedMoment())){const n=null===(t=e.getDismissedReason)||void 0===t?void 0:t.call(e);return null==i||i(n),void d()}if(o&&(null==e?void 0:e.isSkippedMoment())){const t=null===(n=e.getSkippedReason)||void 0===n?void 0:n.call(e);return null==o||o(t),void d()}}))}))}(e,t.provider,t.oneTapConfig,t.onSkipped,t.onDismissed);if(!i.credential)return null;if(null==t?void 0:t.onCodeReceived){const o=await e.oauth.verifyOneTapIDToken(i.provider,i.credential,i.nonce,null==t?void 0:t.loginOptions);if(!o.ok||!o.data)throw new Error(\"Failed to verify OneTap client ID for provider \"+i.provider);null===(n=null==t?void 0:t.onCodeReceived)||void 0===n||n.call(t,o.data.code)}else{const n=await e.oauth.exchangeOneTapIDToken(i.provider,i.credential,i.nonce,null==t?void 0:t.loginOptions);if(!n.ok||!n.data)throw new Error(\"Failed to exchange OneTap client ID for provider \"+i.provider);null===(o=null==t?void 0:t.onAuthenticated)||void 0===o||o.call(t,n.data)}}var De=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await me(),o=Object.assign(Object.assign({location:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n},startOptionsVersion:1});return t[1]=o,e.flow.start(...t)}});const Te=()=>window.location.search.includes(\"code\")&&window.location.search.includes(\"state\");let Ce;const Ae=(e,t)=>new Promise(((n,o)=>{if(!e.length)return o(new Error(\"No URLs provided to loadScriptWithFallback\"));const i=t();if(i)return n(i);const r=e.shift(),s=document.createElement(\"script\");s.src=r,s.id=(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t).toString(16)})(r),s.onload=()=>{const e=t();if(e)return n(e);throw new Error(\"Could not get entry after loading script from URL\")},s.addEventListener(\"error\",(()=>{Ae(e,t),s.setAttribute(\"data-error\",\"true\")})),document.body.appendChild(s)}));const Re=async(e,t,n)=>{Ce||(Ce=(async()=>{try{return require(\"oidc-client-ts\")}catch(e){return Ae([u,p],(()=>window.oidc))}})());const{OidcClient:o,WebStorageStateStore:i}=await Ce;if(!o)throw new Error(\"oidc-client-ts is not installed. Please install it by running `npm install oidc-client-ts`\");const r=(null==n?void 0:n.redirectUri)||window.location.href;let s,a,c,l;if(null==n?void 0:n.issuer){if(!n.clientId)throw new Error(\"clientId is required when providing a custom issuer/authority\");s=n.issuer,a=n.clientId,c=`${a}_user`,l=\"openid\"}else(null==n?void 0:n.applicationId)?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,a=t,c=`${a}_user`,l=\"openid email roles descope.custom_claims offline_access\"):(s=e.httpClient.buildUrl(t),a=t,c=`${a}_user`,l=\"openid email roles descope.custom_claims offline_access\");const d={authority:s,client_id:a,redirect_uri:r,response_type:\"code\",scope:(null==n?void 0:n.scope)||l,stateStore:new i({store:window.localStorage,prefix:a}),loadUserInfo:!0,fetchRequestCredentials:\"same-origin\"};return(null==n?void 0:n.redirectUri)&&(d.redirect_uri=n.redirectUri),{client:new o(d),stateUserKey:c}},$e=(e,t,n)=>{const o=async()=>{let o,i;return o&&i||({client:o,stateUserKey:i}=await Re(e,t,n)),{client:o,stateUserKey:i}},i=async(t=\"\")=>{var n;const{client:i,stateUserKey:r}=await o(),s=await i.processSigninResponse(t||window.location.href);var a;return await(null===(n=e.httpClient.hooks)||void 0===n?void 0:n.afterRequest({},new Response(JSON.stringify(s)))),I(r,JSON.stringify({id_token:(a=s).id_token,session_state:a.session_state,profile:a.profile})),(()=>{const e=new URL(window.location.href);e.searchParams.delete(\"code\"),e.searchParams.delete(\"state\"),window.history.replaceState({},document.title,e.toString())})(),s};return{loginWithRedirect:async(e={},t=!1)=>{const{client:n}=await o(),i=await n.createSigninRequest(e),{url:r}=i;return t||(window.location.href=r),{ok:!0,data:i}},finishLogin:i,finishLoginIfNeed:async(e=\"\")=>{if(Te())return await i(e)},refreshToken:async t=>{var n;const{client:i,stateUserKey:r}=await o(),s=(e=>{const t=_(e);return t?JSON.parse(t):null})(r);if(!s)throw new Error(\"User not found in storage to refresh token\");let a=t;if(!a){const t={};e.httpClient.hooks.beforeRequest(t),a=t.token}const c=await i.useRefreshToken({state:{refresh_token:a,session_state:s.session_state,profile:s.profile}});return await(null===(n=e.httpClient.hooks)||void 0===n?void 0:n.afterRequest({},new Response(JSON.stringify(c)))),c},logout:async(e,t=!1)=>{const{client:n,stateUserKey:i}=await o();e||(e={}),e.id_token_hint=e.id_token_hint||q(),e.post_logout_redirect_uri=e.post_logout_redirect_uri||window.location.href;const r=await n.createSignoutRequest(e),{url:s}=r;return x(i),t||window.location.replace(s),r}}},Ee=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((e=>t=>{var n;return n=t.customStorage,g=n,e(t)}),(t=>n=>{var{fpKey:o,fpLoad:i}=n,r=e(n,[\"fpKey\",\"fpLoad\"]);return l?(o&&i&&X(o).catch((()=>null)),t(y(r,{beforeRequest:z}))):t(r)}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({\"x-descope-sdk-name\":\"web-js\",\"x-descope-sdk-version\":\"1.47.0\"},t.baseHeaders)}))),(e=>t=>{const n=fe(),i=fe(),r=fe(),s=fe(),a=e(y(t,{afterRequest:async(e,t)=>{if(S(e,t))U(\"Session invalidated, notifying subscribers with empty values\"),i.pub(null),r.pub(null),n.pub(null),s.pub(null);else{const e=await(async e=>{const t=await b(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty(\"userId\"))?t:void 0)})(t);e&&r.pub(e);const{sessionJwt:o,sessionExpiration:a,claims:c}=await b(t);o&&i.pub(o),c&&s.pub(c),(a||o)&&n.pub(a||42)}}})),c=o(a,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const o=await e(...t);return i.pub(null),r.pub(null),n.pub(null),s.pub(null),o}));return Object.assign(c,{onSessionTokenChange:i.sub,onUserChange:r.sub,onClaimsChange:s.sub,onIsAuthenticatedChange:e=>n.sub((t=>{e(!!t)}))})}),(t=>n=>{const{enableFlowNonce:o=!0,nonceStoragePrefix:i=Q}=n,r=e(n,[\"enableFlowNonce\",\"nonceStoragePrefix\"]);if(!o)return t(r);((e=Q)=>{try{if(!O)return;for(let i=0;i<(t=void 0,n=void 0,o=void 0,null!==(o=null!==(t=null==g?void 0:g.length)&&void 0!==t?t:l&&(null===(n=window.localStorage)||void 0===n?void 0:n.length))&&void 0!==o?o:0);i++){const t=j(i);if(t&&t.startsWith(e)){const e=_(t);if(e)try{JSON.parse(e).expiry<Date.now()&&x(t)}catch(e){x(t)}}}}catch(e){console.error(\"Error cleaning up expired nonces:\",e)}var t,n,o})(i);return t(y(r,{afterRequest:async(e,t)=>{if(e.path!==ee&&e.path!==te)return;const{nonce:n,executionId:o}=await(async(e,t)=>{try{const n=t.headers.get(Y);let o=await t.clone().json().then((e=>(null==e?void 0:e.executionId)||null)).catch((()=>null));return o||(o=re(e)),{nonce:n,executionId:ie(o)}}catch(e){return{nonce:null,executionId:null}}})(e,t);if(n&&o){((e,t,n,o=Q)=>{try{const i=ne(e,o),r=n?172800:10800,s={value:t,expiry:Date.now()+1e3*r,isStart:n};I(i,JSON.stringify(s))}catch(e){console.error(\"Error setting flow nonce:\",e)}})(o,n,e.path===ee,i)}},beforeRequest:e=>{if(e.path===te){const t=re(e);if(t){const n=((e,t=Q)=>{try{const n=ne(e,t),o=_(n);if(!o)return null;const i=JSON.parse(o);return i.expiry<Date.now()?(oe(e,t),null):i.value}catch(e){return console.error(\"Error getting flow nonce:\",e),null}})(t,i);n&&(e.headers=e.headers||{},e.headers[Y]=n)}}return e}}))}),(n=>i=>{var{autoRefresh:r}=i,s=e(i,[\"autoRefresh\"]);const a=!!r,c=\"object\"==typeof r&&(null==r?void 0:r.customActivityTracking);if(!a||k())return Object.assign(n(s),{markUserActive:()=>{D(\"markUserActive() called but has no effect\")}});const{clearAllTimers:d,setTimer:u}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let p,f,g=null,v=!1,h=!1;c&&(U(\"Activity-based refresh enabled\"),g=(()=>{let e=!0;return{hadActivity:()=>e,reset:()=>{e=!1},markActive:()=>{e=!0}}})()),l&&document.addEventListener(\"visibilitychange\",(()=>{\"visible\"===document.visibilityState&&p&&new Date>p&&(U(\"Expiration time passed, refreshing session\"),w.refresh(L()||f))}));const w=n(y(s,{afterRequest:async(e,n)=>{const{sessionJwt:o,refreshJwt:i,sessionExpiration:r,nextRefreshSeconds:s}=await b(n);if(S(e,n))U(\"Session invalidated, canceling all timers\"),d();else if(o||r){if(p=((e,n)=>{if(n)return new Date(1e3*n);U(\"Could not extract expiration time from session token, trying to decode the token\");try{const n=t(e);if(n.exp)return new Date(1e3*n.exp)}catch(e){return null}})(o,r),!p)return void U(\"Could not extract expiration time from session token\");f=i,v=s>0;const e=T(p,s);if(d(),e<=2e4)return void U(\"Session is too close to expiration, not setting refresh timer\");const n=new Date(Date.now()+e).toLocaleTimeString(\"en-US\",{hour12:!1});U(`Setting refresh timer for ${n}. (${e}ms)`),g&&(g.reset(),h=!1),u((()=>{if(l&&\"hidden\"===document.visibilityState)U(\"Skipping refresh due to timer - document is hidden\");else{if(g&&v&&!g.hadActivity())return U(\"Skipping refresh due to timer - user is idle\"),void(h=!0);U(\"Refreshing session due to timer\"),w.refresh(L()||i)}}),e)}}}));return Object.assign(o(w,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const n=await e(...t);return U(\"Clearing all timers\"),d(),n})),{markUserActive:g?()=>{U(\"markUserActive() called\"),v||U(\"markUserActive() called but server does not have inactivity timeout configured (no nextRefreshSeconds)\"),g.markActive(),h&&(U(\"User became active after skipped refresh, triggering refresh\"),h=!1,d(),w.refresh(L()||f))}:()=>{D(\"markUserActive() called but customActivityTracking is not enabled — this call has no effect\")}})}),(t=>n=>{var{storeLastAuthenticatedUser:i=!0,keepLastAuthenticatedUserAfterLogout:r=!1}=n,s=e(n,[\"storeLastAuthenticatedUser\",\"keepLastAuthenticatedUserAfterLogout\"]);if(!i)return Object.assign(t(s),{getLastUserLoginId:le,getLastUserDisplayName:de});const a=t(y(s,{afterRequest:async(e,t)=>{var n;const{userInfo:o,lastAuth:i}=await(async e=>{if(!(null==e?void 0:e.ok))return{userInfo:void 0,lastAuth:void 0};const t=await(null==e?void 0:e.clone().json()),n=m((null==t?void 0:t.authInfo)||t||{});return{userInfo:(null==n?void 0:n.user)||((null==n?void 0:n.hasOwnProperty(\"userId\"))?n:void 0),lastAuth:t.lastAuth}})(t),r=null===(n=null==o?void 0:o.loginIds)||void 0===n?void 0:n[0],s=null==o?void 0:o.name;r?(ce(r),(e=>{I(ae,e)})(s)):(null==i?void 0:i.loginId)&&ce(i.loginId)}}));let c=o(a,[\"flow.start\"],ue);return c=o(c,[\"logout\",\"logoutAll\"],pe(r)),Object.assign(c,{getLastUserLoginId:le,getLastUserDisplayName:de})}),(t=>n=>{var{persistTokens:r,sessionTokenViaCookie:s,refreshTokenViaCookie:a,storagePrefix:c,refreshCookieName:d}=n,u=e(n,[\"persistTokens\",\"sessionTokenViaCookie\",\"refreshTokenViaCookie\",\"storagePrefix\",\"refreshCookieName\"]);if(!r||!l)return t(Object.assign({refreshCookieName:d},u));let p;const f=t(y(Object.assign({refreshCookieName:d},u),{beforeRequest:F(c,a,d),afterRequest:async(e,t)=>{if(S(e,t))U(\"Session invalidated, clearing persisted tokens\"),V(c,s,a,p);else{const e=await b(t);e.cookieName?I(`${c||\"\"}${$}`,e.cookieName):e.refreshJwt&&x(`${c||\"\"}${$}`);const n=((e={},t=!1,n=\"\",o=!1)=>{var r,s,a,c;const{sessionJwt:l,refreshJwt:d,trustedDeviceJwt:u}=e;let p;if(d)if(o){x(`${n}${A}`);const t=o.sameSite||\"Strict\",i=null===(r=o.secure)||void 0===r||r,a=null!==(s=o.domain)&&void 0!==s?s:e.cookieDomain,c=P(o);i&&\"https:\"!==window.location.protocol&&D(\"Refresh token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass refreshTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }\");const l=Object.assign(Object.assign({},e),{cookieSameSite:t,cookieSecure:i,cookieDomain:a});E(c,d,l);const u=N(a);p=Object.assign(Object.assign({},p),{refresh:{path:l.cookiePath,domain:u?a:void 0}})}else{const e=P(o);i.remove(e),I(`${n}${A}`,d)}if(l)if(t){const n=t.sameSite||\"Strict\",o=null===(a=t.secure)||void 0===a||a,i=null!==(c=t.domain)&&void 0!==c?c:e.cookieDomain,r=J(t);o&&\"https:\"!==window.location.protocol&&D(\"Session token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass sessionTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }\");const s=Object.assign(Object.assign({},e),{cookieSameSite:n,cookieSecure:o,cookieDomain:i});E(r,l,s);const d=N(i);p=Object.assign(Object.assign({},p),{session:{path:s.cookiePath,domain:d?i:void 0}})}else I(`${n}${C}`,l);return e.idToken&&I(`${n}${R}`,e.idToken),u&&I(`${n}DTD`,u),p})(e,s,c,a);n&&(p=n)}}})),g=o(f,[\"logout\",\"logoutAll\",\"oidc.logout\"],ge(c,s,a,(()=>p)));return Object.assign(g,{getRefreshToken:()=>L(c,a),getSessionToken:()=>K(c,s),getIdToken:()=>q(c)})}))((e=>{const t=n(e),o=$e(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(n,i)=>{var r;if(k())return U(`Refresh called in native flow: ${(new Error).stack}`),Promise.resolve({ok:!1,error:{errorCode:\"J171000\",errorDescription:\"Refresh is not supported in native flows via the web SDK\"}});if(e.oidcConfig)try{return await o.refreshToken(n),Promise.resolve({ok:!0})}catch(e){return Promise.resolve({ok:!1,error:{errorCode:\"J161001\",errorDescription:e.toString()}})}const s=K(),a=L();let c=\"\";if(e.getExternalToken)try{c=await(null===(r=e.getExternalToken)||void 0===r?void 0:r.call(e))}catch(e){U(\"Error getting external token while refreshing\",e)}return t.refresh(n,{dcs:s?\"t\":\"f\",dcr:a?\"t\":\"f\"},c,i)},logout:async n=>{if(e.oidcConfig)try{return await o.logout({id_token_hint:n}),Promise.resolve({ok:!0})}catch(e){return Promise.resolve({ok:!1,error:{errorCode:\"J161000\",errorDescription:e.toString()}})}return t.logout(n)},flow:De(t),webauthn:Ie(t),fedcm:(i=t,r=e.projectId,{onetap:{requestExchangeCode(e){je(i,e)},requestAuthentication(e){je(i,e)}},async oneTap(e,t,n,o,r){await Ue(i,{provider:e,oneTapConfig:t,loginOptions:n,onSkipped:o,onDismissed:r})},async launch(e){var t;const n={identity:{context:e||\"signin\",providers:[{configURL:i.httpClient.buildUrl(r+_e.config),clientId:r}]}},o=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(n));return i.refresh(o.token)},isSupported:()=>l&&\"IdentityCredential\"in window,async isLoggedIn(e){var t;const n=i.httpClient.buildUrl(r+_e.config);try{const o={identity:{context:e||\"signin\",providers:[{configURL:n,clientId:r}]}},i=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(o));return!!i&&!!i.token}catch(e){return!1}}}),oidc:o});var i,r}));export{A as REFRESH_TOKEN_KEY,C as SESSION_TOKEN_KEY,Z as clearFingerprintData,Ee as createSdk,Ee as default,X as ensureFingerprintIds,K as getSessionToken,Te as hasOidcParamsInUrl};\n//# sourceMappingURL=index.esm.js.map\n","import{createSdk as e}from\"@descope/web-js-sdk\";import{IS_BROWSER as s}from\"./constants.js\";import{wrapInTry as t}from\"./utils.js\";let o;const n=t=>{const n=e(Object.assign({persistTokens:s,autoRefresh:s},t));return o=n,n},r=()=>n({projectId:\"temp pid\",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});o=r();const i=()=>s?null==o?void 0:o.getSessionToken():(console.warn(\"Get session token is not supported in SSR\"),\"\"),l=()=>s?null==o?void 0:o.getRefreshToken():(console.warn(\"Get refresh token is not supported in SSR\"),\"\"),d=(e=i())=>null==o?void 0:o.isJwtExpired(e),u=(e=l())=>null==o?void 0:o.isJwtExpired(e),p=t(((e=i(),s)=>null==o?void 0:o.getJwtPermissions(e,s))),a=t(((e=i(),s)=>null==o?void 0:o.getJwtRoles(e,s))),c=t(((e=i())=>null==o?void 0:o.getCurrentTenant(e))),f=(e=l())=>null==o?void 0:o.refresh(e),m=()=>o;export{r as createTempSdk,n as default,c as getCurrentTenant,m as getGlobalSdk,p as getJwtPermissions,a as getJwtRoles,l as getRefreshToken,i as getSessionToken,u as isRefreshTokenExpired,d as isSessionTokenExpired,f as refresh};\n//# sourceMappingURL=sdk.js.map\n","import{useMemo as e}from\"react\";import{baseHeaders as o}from\"../../constants.js\";import t from\"../../sdk.js\";var s=({projectId:s,baseUrl:r,persistTokens:i,autoRefresh:a,sessionTokenViaCookie:n,refreshTokenViaCookie:k,refreshCookieName:f,oidcConfig:c,storeLastAuthenticatedUser:h,keepLastAuthenticatedUserAfterLogout:u,getExternalToken:d,hooks:g,customStorage:m})=>e((()=>{if(s)return t({projectId:s,baseUrl:r,sessionTokenViaCookie:n,refreshTokenViaCookie:k,baseHeaders:o,persistTokens:i,autoRefresh:a,refreshCookieName:f,oidcConfig:c,storeLastAuthenticatedUser:h,keepLastAuthenticatedUserAfterLogout:u,hooks:g,getExternalToken:d,customStorage:m})}),[s,r,JSON.stringify(n),JSON.stringify(k),d,m]);export{s as default};\n//# sourceMappingURL=useSdk.js.map\n","import e,{useState as t,useRef as s,useEffect as r,useCallback as o,useMemo as n}from\"react\";import i from\"../../hooks/Context.js\";import{isDescopeBridge as a,withValidation as c}from\"../../utils.js\";import u from\"./useSdk.js\";const h=({projectId:h,baseUrl:d=\"\",baseStaticUrl:f=\"\",baseCdnUrl:k=\"\",sessionTokenViaCookie:l=!1,refreshTokenViaCookie:g=!1,hooks:m,persistTokens:U=!0,autoRefresh:C=!0,oidcConfig:p,storeLastAuthenticatedUser:L=!0,keepLastAuthenticatedUserAfterLogout:A=!1,refreshCookieName:S=\"\",getExternalToken:T,customStorage:b,children:j})=>{const[I,v]=t(),[x,N]=t(),[V,E]=t(),[F,R]=t(!1),[y,O]=t(!1),[P,q]=t(!1),[w,z]=t(!!p),B=s(!1),D=u({projectId:h,baseUrl:d,persistTokens:U,autoRefresh:C,sessionTokenViaCookie:l,refreshTokenViaCookie:g,hooks:m,oidcConfig:p,storeLastAuthenticatedUser:L,keepLastAuthenticatedUserAfterLogout:A,refreshCookieName:S,getExternalToken:T,customStorage:b});r((()=>{if(D){const e=D.onSessionTokenChange(N),t=D.onUserChange(v),s=D.onIsAuthenticatedChange(R),r=D.onClaimsChange(E);return()=>{e(),t(),s(),r()}}}),[D]);const G=s(!1),H=s(!1);r((()=>{D&&p&&!B.current&&(B.current=!0,D.oidc.finishLoginIfNeed().finally((()=>{z(!1),G.current=!0})))}),[]);const J=o((()=>{a()||G.current||(G.current=!0,q(!0),c(null==D?void 0:D.refresh)(void 0,!0).then((()=>{q(!1)})))}),[D]),K=o((()=>{H.current||(H.current=!0,O(!0),c(D.me)().then((()=>{O(!1)})))}),[D]),M=n((()=>({fetchUser:K,user:I,isUserLoading:y,isUserFetched:H.current,fetchSession:J,session:x,isAuthenticated:F,isSessionLoading:P,isOidcLoading:w,isSessionFetched:G.current,projectId:h,baseUrl:d,baseStaticUrl:f,baseCdnUrl:k,storeLastAuthenticatedUser:L,keepLastAuthenticatedUserAfterLogout:A,refreshCookieName:S,customStorage:b,setUser:v,setSession:N,setIsAuthenticated:R,claims:V,sdk:D})),[K,I,y,H.current,J,x,F,P,w,G.current,h,d,f,k,A,S,b,v,N,R,V,D]);return e.createElement(i.Provider,{value:M},j)};export{h as default};\n//# sourceMappingURL=AuthProvider.js.map\n","import{__classPrivateFieldGet as t,__classPrivateFieldSet as e}from\"tslib\";function r(...t){return e=>t.reduce(((t,e)=>e(t)),e)}const n=t=>{const e=document.createElement(\"template\");return e.innerHTML=t,e},s=(...t)=>t.join(\"/\").replace(/\\/+/g,\"/\"),o=(t,e)=>t.length===e.length&&t.every(((t,r)=>t===e[r])),i=t=>{let e,r;return(...n)=>(e&&o(e,n)||(e=n,r=t(...n)),r)},c=t=>t.replace(/([a-z])([A-Z])/g,\"$1-$2\").replace(/[\\s_.]+/g,\"-\").toLowerCase(),u=t=>0===Object.keys(t).length&&t.constructor===Object,l=t=>(e,...r)=>e.reduce(((e,n,s)=>{var o;return`${e}${n}${(null===(o=null==r?void 0:r[s])||void 0===o?void 0:o[t>1?1:0])||\"\"}`}),\"\"),f=(t,e=500)=>{let r;return function(...n){clearTimeout(r),r=setTimeout((()=>t.apply(this,n)),e)}},a=t=>null!==t&&\"object\"==typeof t&&Object.getPrototypeOf(t)===Object.prototype,h=t=>{const e=Symbol((t=>{const e=t.toString();let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r&=r;return r.toString(16)})(t));return r=>{if(r[e])return r;const n=t(r);return n[e]=!0,n}};var p,b,g,j;function O(t,e){const r=Object.getOwnPropertyNames(t),n=Object.getOwnPropertyNames(e);if(r.length!==n.length)return!1;for(let n=0;n<r.length;n+=1){const s=r[n],o=t[s],i=e[s];if(null===o||null===i){if(o!==i)return!1}else if(\"object\"==typeof o&&\"object\"==typeof i){if(!O(o,i))return!1}else if(o!==i)return!1}return!0}class d{constructor(r={},{forceUpdate:n=!1}={}){p.set(this,void 0),b.set(this,{}),g.set(this,0),j.set(this,!0),this.update=r=>{const n=\"function\"==typeof r?r(t(this,p,\"f\")):r,s=Object.assign(Object.assign({},t(this,p,\"f\")),n);if(t(this,j,\"f\")||!O(t(this,p,\"f\"),s)){const r=t(this,p,\"f\");e(this,p,s,\"f\"),Object.freeze(t(this,p,\"f\")),setTimeout((()=>{Object.values(t(this,b,\"f\")).forEach((t=>t(s,r,((t,e)=>r=>t[r]!==e[r])(s,r))))}),0)}},e(this,p,r,\"f\"),e(this,j,n,\"f\")}get current(){return Object.assign({},t(this,p,\"f\"))}subscribe(r){return e(this,g,t(this,g,\"f\")+1,\"f\"),t(this,b,\"f\")[t(this,g,\"f\")]=r,t(this,g,\"f\").toString()}unsubscribe(e){const r=!!t(this,b,\"f\")[e];return r&&delete t(this,b,\"f\")[e],r}unsubscribeAll(){return e(this,b,{},\"f\"),!0}}p=new WeakMap,b=new WeakMap,g=new WeakMap,j=new WeakMap;const m=t=>{try{const e=t.split(\".\")[1].replace(/-/g,\"+\").replace(/_/g,\"/\"),r=decodeURIComponent(atob(e).split(\"\").map((t=>\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2))).join(\"\"));return JSON.parse(r)}catch(t){return null}};export{d as State,o as compareArrays,r as compose,h as createSingletonMixin,n as createTemplate,f as debounce,m as decodeJWT,u as isObjEmpty,a as isPlainObject,c as kebabCase,s as pathJoin,l as pluralize,i as withMemCache};\n//# sourceMappingURL=index.esm.js.map\n","const t=t=>{const[,r,e]=/(.*)\\.(prop|attr)$/.exec(t)||[,t,\"rest\"];return{trimmedKey:r,category:e}},r=t=>\"string\"==typeof t||null==t?t:JSON.stringify(t);export{r as transformAttrValue,t as transformKey};\n//# sourceMappingURL=utils.js.map\n","import r,{useMemo as t,useRef as e,useCallback as o,useImperativeHandle as s}from\"react\";import{kebabCase as c}from\"@descope/sdk-helpers\";import{transformAttrValue as p,transformKey as a}from\"./utils.js\";const n=n=>r.forwardRef(((u,i)=>{const{prop:m,attr:f,rest:l}=t((()=>Object.entries(u).reduce(((r,[t,e])=>{const{trimmedKey:o,category:s}=a(t);return\"prop\"===s?r.prop.push([o,e]):\"attr\"===s?r.attr.push([c(o),p(e)]):Object.assign(r.rest,{[c(o)]:e}),r}),{attr:[],prop:[],rest:{}})),[u]),d=e(null),b=o((r=>{d.current=r,r&&(m.forEach((([r,t])=>{d.current[r]=t})),f.forEach((([t,e])=>{null==e?r.removeAttribute(t):r.setAttribute(t,e)})))}),[m,f,d]);return s(i,(()=>d.current)),r.createElement(n,Object.assign({ref:b},l))}));export{n as default};\n//# sourceMappingURL=index.js.map\n","import{__rest as e}from\"tslib\";import t,{lazy as r,useMemo as n,useState as o,useImperativeHandle as s,useCallback as a,useEffect as l,Suspense as u}from\"react\";import{baseHeaders as d}from\"../constants.js\";import c from\"../hooks/Context.js\";import{getGlobalSdk as i}from\"../sdk.js\";import p from\"./withPropsMapping/index.js\";const m=r((async()=>(((null===customElements||void 0===customElements?void 0:customElements.get(\"descope-wc\"))||await import(\"@descope/web-component\").then((e=>e.default))).sdkConfigOverrides={baseHeaders:d,persistTokens:!1,hooks:{get beforeRequest(){return i().httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:p(t.forwardRef(((r,o)=>{var{\"external-request-id\":s}=r,a=e(r,[\"external-request-id\"]);return n((()=>{var e,t;e=\"x-external-rid\",(t=s)?d[e]=t:delete d[e]}),[s]),t.createElement(\"descope-wc\",Object.assign({ref:o},a))})))}))),f=t.forwardRef((({flowId:e,onSuccess:r,onError:n,onReady:d,logger:i,tenant:p,theme:f,nonce:v,locale:E,debug:b,client:g,form:h,telemetryKey:L,redirectUrl:k,autoFocus:y,validateOnBlur:U,restartOnError:w,errorTransformer:S,styleId:x,onScreenUpdate:I,dismissScreenErrorOnInput:R,outboundAppId:C,outboundAppScopes:O,popupOrigin:q,children:j,externalRequestId:A},N)=>{const[T,B]=o(null);s(N,(()=>T));const{projectId:F,baseUrl:K,baseStaticUrl:H,baseCdnUrl:J,storeLastAuthenticatedUser:M,keepLastAuthenticatedUserAfterLogout:P,refreshCookieName:z,customStorage:D,sdk:G}=t.useContext(c),Q=a((async e=>{await G.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);return l((()=>{const e=T;return null==e||e.addEventListener(\"success\",Q),n&&(null==e||e.addEventListener(\"error\",n)),d&&(null==e||e.addEventListener(\"ready\",d)),()=>{n&&(null==e||e.removeEventListener(\"error\",n)),d&&(null==e||e.removeEventListener(\"ready\",d)),null==e||e.removeEventListener(\"success\",Q)}}),[T,n,Q]),l((()=>{const e=T;return null==e||e.addEventListener(\"success\",Q),()=>{null==e||e.removeEventListener(\"success\",Q)}}),[T,Q]),l((()=>{const e=T;return n&&(null==e||e.addEventListener(\"error\",n)),()=>{n&&(null==e||e.removeEventListener(\"error\",n))}}),[T,n]),l((()=>{const e=T;return d&&(null==e||e.addEventListener(\"ready\",d)),()=>{d&&(null==e||e.removeEventListener(\"error\",d))}}),[T,d]),t.createElement(\"form\",null,t.createElement(u,{fallback:null},t.createElement(m,{projectId:F,flowId:e,baseUrl:K,baseStaticUrl:H,baseCdnUrl:J,ref:B,telemetryKey:L,redirectUrl:k,autoFocus:y,styleId:x,validateOnBlur:U,restartOnError:w,keepLastAuthenticatedUserAfterLogout:P,tenant:p,externalRequestId:A,customStorage:D,\"theme.attr\":f,\"nonce.attr\":v,\"locale.attr\":E,\"form.attr\":h,\"client.attr\":g,\"debug.attr\":b,\"outbound-app-id.attr\":C,\"outbound-app-scopes.attr\":O,\"popup-origin.attr\":q,\"store-last-authenticated-user.attr\":M,\"refreshCookieName.attr\":z,\"dismiss-screen-error-on-input.attr\":R,\"errorTransformer.prop\":S,\"logger.prop\":i,\"onScreenUpdate.prop\":I,\"customStorage.prop\":D},j)))}));export{f as default};\n//# sourceMappingURL=Descope.js.map\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect, useRef } from 'react';\nimport { Eye, EyeOff, CircleCheckBig, Radar, ShieldCheck, ChevronDown } from 'lucide-react';\nimport { Descope, AuthProvider } from '@descope/react-sdk';\nimport chordiaLogo from '../../assets/chordia-logo.png';\nimport '../../tokens/colors.css';\n\n// ── Constants ──────────────────────────────────────────────────────────────────\nconst GREEN = 'var(--color-green)';\nconst FF = 'var(--font-sans)';\n\nconst inputBase = {\n width: '100%', height: 40, padding: '10px 14px', fontSize: 16, fontWeight: 400,\n lineHeight: '23px', border: '1px solid var(--color-input-border)', borderRadius: 4,\n background: 'white', color: 'var(--color-text)', fontFamily: FF,\n outline: 'none', boxSizing: 'border-box', transition: 'border-color 0.15s, box-shadow 0.15s',\n};\n\nconst focusGreen = (e) => {\n e.target.style.borderColor = 'var(--color-green)';\n e.target.style.boxShadow = '0 0 0 3px var(--color-green-ring)';\n};\nconst blurGray = (e) => {\n e.target.style.borderColor = 'var(--color-input-border)';\n e.target.style.boxShadow = 'none';\n};\n\nconst TEAM_SIZE_OPTIONS = [\n { value: '', label: 'Select team size (optional)' },\n { value: '1-10', label: '1–10' },\n { value: '11-50', label: '11–50' },\n { value: '51-200', label: '51–200' },\n { value: '200+', label: '200+' },\n];\n\nconst PHONE_SYSTEM_OPTIONS = [\n 'Nextiva', 'Five9', 'Dialpad', 'RingCentral', 'NICE', 'Genesys', 'Talkdesk', 'Aircall', '8x8', 'Vonage', 'Twilio', 'Other',\n];\n\nconst MEETING_TOOL_OPTIONS = ['Teams', 'Zoom', 'Google Meet', 'Webex', 'Other'];\n\n// ── Shared sub-components ──────────────────────────────────────────────────────\nfunction ViewHeading({ title, subtitle }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '44px', color: 'var(--color-text)', margin: 0 }}>\n {title}\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n {subtitle}\n </p>\n </div>\n );\n}\n\nfunction GreenButton({ onClick, disabled, children, type = 'button' }) {\n const active = !disabled;\n return (\n <button\n type={type}\n onClick={onClick}\n disabled={disabled}\n style={{\n width: '100%', height: 40, display: 'flex', justifyContent: 'center', alignItems: 'center',\n padding: '10px', background: active ? 'var(--color-green)' : 'var(--color-green-disabled)',\n color: 'white', border: 'none', borderRadius: 4, fontSize: 16, fontWeight: 600,\n lineHeight: '23px', fontFamily: FF,\n cursor: active ? 'pointer' : 'not-allowed', transition: 'background 0.15s', boxSizing: 'border-box',\n }}\n onMouseEnter={(e) => { if (active) e.currentTarget.style.background = 'var(--color-green-hover)'; }}\n onMouseLeave={(e) => { if (active) e.currentTarget.style.background = active ? 'var(--color-green)' : 'var(--color-green-disabled)'; }}\n >\n {children}\n </button>\n );\n}\n\nfunction Field({ label, gap = 12, labelSize = 16, labelStyle, children }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap, width: '100%' }}>\n <label style={{ fontSize: labelSize, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, lineHeight: '100%', ...labelStyle }}>\n {label}\n </label>\n {children}\n </div>\n );\n}\n\nfunction EyeBtn({ show, onToggle }) {\n return (\n <button type=\"button\" tabIndex={-1} onClick={onToggle}\n style={{ position: 'absolute', right: 14, top: '50%', transform: 'translateY(-50%)', background: 'none', border: 'none', padding: 0, cursor: 'pointer', color: 'var(--color-text-secondary)', display: 'flex', alignItems: 'center' }}>\n {show ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n );\n}\n\nfunction Divider() {\n return <hr style={{ width: '100%', border: 'none', borderTop: '1px solid var(--color-divider)', margin: 0 }} />;\n}\n\nfunction NavRow({ text, linkText, onClick }) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', gap: 4, width: '100%' }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n {text}\n </span>\n <button type=\"button\" onClick={onClick}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '22px', color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n {linkText}\n </button>\n </div>\n );\n}\n\nfunction TermsFooter({ onTerms, onPrivacyPolicy, paddingTop }) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', width: '100%', marginTop: 'auto', paddingTop: paddingTop || 40, flexShrink: 0 }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF, textAlign: 'center', whiteSpace: 'nowrap' }}>\n By continuing, you agree to our{' '}\n <a href=\"https://chordia.ai/legal/terms-of-use\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Terms\n </a>\n {' '}and{' '}\n <a href=\"https://chordia.ai/legal/privacy-notice\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Privacy Policy\n </a>\n .\n </span>\n </div>\n );\n}\n\nfunction DescopeFlow({ projectId, onSuccess, onError }) {\n if (!projectId) return null;\n return (\n <AuthProvider projectId={projectId}>\n <Descope\n flowId=\"sign-up-or-in-otp-or-social\"\n onSuccess={onSuccess}\n onError={onError}\n />\n </AuthProvider>\n );\n}\n\n/** Multi-select with checkboxes, chips, optional \"Other\" text; click-outside closes. */\nfunction WaitlistMultiSelect({\n options,\n value,\n onChange,\n otherValue,\n onOtherChange,\n placeholder,\n otherPlaceholder = 'Please specify',\n compact = false,\n}) {\n const [open, setOpen] = useState(false);\n const wrapRef = useRef(null);\n\n useEffect(() => {\n const onDoc = (e) => {\n if (wrapRef.current && !wrapRef.current.contains(e.target)) setOpen(false);\n };\n document.addEventListener('mousedown', onDoc);\n return () => document.removeEventListener('mousedown', onDoc);\n }, []);\n\n const toggle = (opt) => {\n if (value.includes(opt)) {\n onChange(value.filter((x) => x !== opt));\n if (opt === 'Other') onOtherChange('');\n } else {\n onChange([...value, opt]);\n }\n };\n\n const removeChip = (opt) => {\n onChange(value.filter((x) => x !== opt));\n if (opt === 'Other') onOtherChange('');\n };\n\n const chipBg = 'rgba(34, 197, 94, 0.14)';\n\n const pad = compact ? '6px 10px' : '8px 12px';\n const minH = compact ? 36 : 40;\n const fs = compact ? 15 : 16;\n const ddMaxH = compact ? 200 : 260;\n const rowPad = compact ? '6px 8px' : '8px 10px';\n\n const showOtherField = value.includes('Other');\n\n const toggleOpen = () => setOpen((o) => !o);\n\n return (\n <div ref={wrapRef} style={{ width: '100%' }}>\n {/* Div (not button) so an inline text field can sit next to chips; chevron opens list */}\n <div style={{ position: 'relative', width: '100%' }}>\n <div\n role=\"combobox\"\n aria-expanded={open}\n onClick={(e) => {\n if (e.target instanceof HTMLInputElement) return;\n if (e.target instanceof HTMLElement && e.target.closest('button')) return;\n toggleOpen();\n }}\n style={{\n width: '100%',\n minHeight: minH,\n padding: pad,\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 8,\n textAlign: 'left',\n fontSize: fs,\n fontWeight: 400,\n lineHeight: '23px',\n border: '1px solid var(--color-input-border)',\n borderRadius: 4,\n background: 'white',\n color: value.length ? 'var(--color-text)' : 'var(--color-text-secondary)',\n fontFamily: FF,\n boxSizing: 'border-box',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n flex: 1,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n gap: 6,\n minWidth: 0,\n cursor: 'text',\n }}\n >\n {value.length === 0 ? (\n <span\n style={{ color: 'var(--color-text-secondary)', cursor: 'pointer' }}\n onClick={(e) => {\n e.stopPropagation();\n toggleOpen();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') toggleOpen();\n }}\n role=\"button\"\n tabIndex={0}\n >\n {placeholder}\n </span>\n ) : (\n <>\n {value.map((v) => (\n <span\n key={v}\n onClick={(e) => e.stopPropagation()}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 4,\n padding: '4px 8px',\n borderRadius: 4,\n background: chipBg,\n fontSize: 13,\n fontWeight: 500,\n color: 'var(--color-text)',\n flexShrink: 0,\n }}\n >\n {v}\n <span\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n e.stopPropagation();\n removeChip(v);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n removeChip(v);\n }\n }}\n style={{ cursor: 'pointer', fontSize: 14, lineHeight: 1, opacity: 0.7 }}\n >\n ×\n </span>\n </span>\n ))}\n {showOtherField && (\n <input\n type=\"text\"\n value={otherValue}\n onChange={(e) => onOtherChange(e.target.value)}\n placeholder={otherPlaceholder}\n onMouseDown={(e) => e.stopPropagation()}\n onClick={(e) => e.stopPropagation()}\n onFocus={(e) => {\n e.stopPropagation();\n e.target.style.borderColor = 'var(--color-green)';\n e.target.style.boxShadow = '0 0 0 3px var(--color-green-ring)';\n }}\n onBlur={(e) => {\n e.target.style.borderColor = '#cfcece';\n e.target.style.boxShadow = 'none';\n }}\n style={{\n flex: '1 1 120px',\n minWidth: 80,\n maxWidth: '100%',\n minHeight: compact ? 26 : 28,\n padding: '2px 8px',\n border: '1px solid #cfcece',\n borderRadius: 4,\n outline: 'none',\n background: 'transparent',\n fontSize: fs,\n fontFamily: FF,\n color: 'var(--color-text)',\n boxSizing: 'border-box',\n }}\n />\n )}\n </>\n )}\n </div>\n <button\n type=\"button\"\n tabIndex={-1}\n onClick={(e) => {\n e.stopPropagation();\n toggleOpen();\n }}\n style={{\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0,\n margin: 0,\n border: 'none',\n background: 'none',\n cursor: 'pointer',\n color: 'var(--color-text-secondary)',\n }}\n aria-label={open ? 'Close options' : 'Open options'}\n >\n <ChevronDown\n size={compact ? 16 : 18}\n style={{\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease',\n }}\n />\n </button>\n </div>\n\n {open && (\n <div\n style={{\n position: 'absolute',\n left: 0,\n right: 0,\n top: '100%',\n marginTop: 4,\n padding: compact ? 6 : 8,\n maxHeight: ddMaxH,\n overflowY: 'auto',\n background: 'white',\n border: '1px solid var(--color-input-border)',\n borderRadius: 4,\n boxShadow: '0 8px 24px rgba(0,0,0,0.08)',\n zIndex: 50,\n boxSizing: 'border-box',\n }}\n >\n {options.map((opt) => (\n <label\n key={opt}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n padding: rowPad,\n borderRadius: 4,\n cursor: 'pointer',\n fontSize: compact ? 14 : 15,\n fontFamily: FF,\n color: 'var(--color-text)',\n }}\n >\n <input\n type=\"checkbox\"\n checked={value.includes(opt)}\n onChange={() => toggle(opt)}\n style={{ width: 16, height: 16, accentColor: 'var(--color-green)' }}\n />\n {opt}\n </label>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n// ── LoginPage ──────────────────────────────────────────────────────────────────\n/**\n * LoginPage — Chordia login page (Figma: Login 1c).\n *\n * Props:\n * - onLogin, onForgotPassword, onOneTimeCode, onGoogleLogin,\n * onSignUp, onRequestDemo, onGettingStarted, onTerms, onPrivacyPolicy\n * - signupMode: 'signup' | 'waitlist' — when 'waitlist', the sign-in footer offers\n * \"Join Waitlist\" and opens the embedded waitlist form (view 'waitlist').\n * - onJoinWaitlist — optional hook when user chooses Join Waitlist (e.g. analytics).\n * - onWaitlistSubmit — host handles API; payload: { name, email, company_name, job_title?, team_size?, phone_systems[], meeting_tools[], source }.\n * - loading: boolean, error: string | null\n */\nexport default function LoginPage({\n onLogin,\n onForgotPassword,\n onOneTimeCode,\n onVerifyCode,\n onResendCode,\n onSignUp,\n onJoinWaitlist,\n onWaitlistSubmit,\n onResetPassword,\n onTerms,\n onPrivacyPolicy,\n onDescopeSuccess,\n onDescopeError,\n descopeProjectId,\n onGoToLogin,\n loading: externalLoading,\n error: externalError,\n codeError,\n defaultView = 'signin',\n signupMode = 'signup',\n}) {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [emailAutofilled, setEmailAutofilled] = useState(false);\n const [passwordAutofilled, setPasswordAutofilled] = useState(false);\n const [showPassword, setShowPassword] = useState(false);\n const [internalLoading, setInternalLoading] = useState(false);\n const [internalError, setInternalError] = useState(null);\n const [view, setView] = useState(defaultView);\n const [codeEmail, setCodeEmail] = useState('');\n const [codeFullName, setCodeFullName] = useState('');\n const [verifyEmail, setVerifyEmail] = useState('');\n const [otpDigits, setOtpDigits] = useState(['', '', '', '', '', '']);\n const otpRefs = useRef([]);\n const [firstName, setFirstName] = useState('');\n const [lastName, setLastName] = useState('');\n const [signupEmail, setSignupEmail] = useState('');\n const [signupPassword, setSignupPassword] = useState('');\n const [signupConfirm, setSignupConfirm] = useState('');\n const [showSignupPassword, setShowSignupPassword] = useState(false);\n const [showSignupConfirm, setShowSignupConfirm] = useState(false);\n const [signupError, setSignupError] = useState('');\n const [resetEmail, setResetEmail] = useState('');\n const [activeSlide, setActiveSlide] = useState(0);\n const SLIDE_COUNT = 3;\n\n const [waitlistFullName, setWaitlistFullName] = useState('');\n const [waitlistEmail, setWaitlistEmail] = useState('');\n const [waitlistCompany, setWaitlistCompany] = useState('');\n const [waitlistJobTitle, setWaitlistJobTitle] = useState('');\n const [waitlistTeamSize, setWaitlistTeamSize] = useState('');\n const [waitlistPhoneSystems, setWaitlistPhoneSystems] = useState([]);\n const [waitlistMeetingTools, setWaitlistMeetingTools] = useState([]);\n const [waitlistPhoneOther, setWaitlistPhoneOther] = useState('');\n const [waitlistMeetingOther, setWaitlistMeetingOther] = useState('');\n const [waitlistError, setWaitlistError] = useState('');\n const [waitlistSubmitting, setWaitlistSubmitting] = useState(false);\n const [waitlistSubmitted, setWaitlistSubmitted] = useState(false);\n const [waitlistPosition, setWaitlistPosition] = useState(1267);\n const [waitlistCalendlyUrl, setWaitlistCalendlyUrl] = useState('');\n\n useEffect(() => {\n const t = setInterval(() => setActiveSlide((p) => (p + 1) % SLIDE_COUNT), 4000);\n return () => clearInterval(t);\n }, []);\n\n // Sync React state with browser autofill (autofill doesn't fire onChange)\n const emailRef = useRef(null);\n const passwordRef = useRef(null);\n useEffect(() => {\n const isAutofilled = (el) => {\n if (!el) return false;\n try {\n return el.matches(':-webkit-autofill, :autofill');\n } catch {\n // Some browsers may throw for unsupported pseudo-class selectors.\n return false;\n }\n };\n\n const sync = () => {\n const e = emailRef.current;\n const p = passwordRef.current;\n if (e && e.value) setEmail(e.value);\n if (p && p.value) setPassword(p.value);\n setEmailAutofilled(isAutofilled(e));\n setPasswordAutofilled(isAutofilled(p));\n };\n // Poll for autofill values at multiple intervals\n const timers = [100, 300, 600, 1000, 2000].map(ms => setTimeout(sync, ms));\n\n // Detect Chrome/Safari autofill via the :-webkit-autofill animation\n const handleAnimationStart = (e) => {\n if (e.animationName === 'onAutoFillStart' || e.target.matches(':-webkit-autofill')) {\n setTimeout(sync, 50);\n }\n };\n const eEl = emailRef.current;\n const pEl = passwordRef.current;\n eEl?.addEventListener('animationstart', handleAnimationStart);\n pEl?.addEventListener('animationstart', handleAnimationStart);\n // Listen for events commonly used by password managers/autofill\n const onInput = () => setTimeout(sync, 0);\n const onChange = () => setTimeout(sync, 0);\n eEl?.addEventListener('input', onInput);\n pEl?.addEventListener('input', onInput);\n eEl?.addEventListener('change', onChange);\n pEl?.addEventListener('change', onChange);\n\n return () => {\n timers.forEach(clearTimeout);\n eEl?.removeEventListener('animationstart', handleAnimationStart);\n pEl?.removeEventListener('animationstart', handleAnimationStart);\n eEl?.removeEventListener('input', onInput);\n pEl?.removeEventListener('input', onInput);\n eEl?.removeEventListener('change', onChange);\n pEl?.removeEventListener('change', onChange);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n const isAutofilled = (el) => {\n if (!el) return false;\n try {\n return el.matches(':-webkit-autofill, :autofill');\n } catch {\n return false;\n }\n };\n\n const syncIfNeeded = () => {\n const nextEmail = emailRef.current?.value || '';\n const nextPassword = passwordRef.current?.value || '';\n\n if (nextEmail && nextEmail !== email) setEmail(nextEmail);\n if (nextPassword && nextPassword !== password) setPassword(nextPassword);\n setEmailAutofilled(isAutofilled(emailRef.current));\n setPasswordAutofilled(isAutofilled(passwordRef.current));\n };\n\n // Some browsers/password managers update input values without firing events.\n const intervalId = setInterval(syncIfNeeded, 250);\n window.addEventListener('focus', syncIfNeeded);\n document.addEventListener('visibilitychange', syncIfNeeded);\n\n return () => {\n clearInterval(intervalId);\n window.removeEventListener('focus', syncIfNeeded);\n document.removeEventListener('visibilitychange', syncIfNeeded);\n };\n }, [email, password]);\n\n // Switch to full-name screen when host app signals unregistered email\n useEffect(() => {\n if (codeError && view === 'verifycode') {\n setOtpDigits(['', '', '', '', '', '']);\n setView('getcodewithname');\n }\n }, [codeError]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const loading = externalLoading ?? internalLoading;\n const error = externalError ?? internalError;\n const currentEmail = (email || emailRef.current?.value || '').trim();\n const currentPassword = password || passwordRef.current?.value || '';\n const hasEmail = Boolean(currentEmail || emailAutofilled);\n const hasPassword = Boolean(currentPassword || passwordAutofilled);\n const canSubmit = Boolean(hasEmail && hasPassword && !loading);\n const otpError = (view === 'verifycode' || view === 'getcodewithname') ? error : null;\n\n // Error-aware focus handlers for sign-in fields\n const focusErr = (e) => {\n e.target.style.borderColor = error ? 'var(--color-text)' : 'var(--color-green)';\n e.target.style.boxShadow = error ? 'none' : '0 0 0 3px var(--color-green-ring)';\n };\n const blurErr = (e) => {\n e.target.style.borderColor = error ? 'var(--color-text)' : 'var(--color-input-border)';\n e.target.style.boxShadow = 'none';\n };\n\n const applyOtpFromString = (startIndex, rawValue) => {\n const clean = (rawValue || '').replace(/\\D/g, '');\n if (!clean) return;\n\n const next = [...otpDigits];\n let lastFilledIndex = startIndex;\n\n for (let i = 0; i < clean.length && startIndex + i < next.length; i += 1) {\n next[startIndex + i] = clean[i];\n lastFilledIndex = startIndex + i;\n }\n\n setOtpDigits(next);\n\n const nextIndex = Math.min(lastFilledIndex + 1, next.length - 1);\n otpRefs.current[nextIndex]?.focus();\n };\n\n const handleOtpChange = (index, value) => {\n const clean = value.replace(/\\D/g, '');\n if (clean.length > 1) {\n applyOtpFromString(index, clean);\n return;\n }\n\n const digit = clean.slice(-1);\n const next = [...otpDigits];\n next[index] = digit;\n setOtpDigits(next);\n if (digit && index < 5) otpRefs.current[index + 1]?.focus();\n };\n\n const handleOtpKeyDown = (index, e) => {\n if (e.key === 'Backspace' && !otpDigits[index] && index > 0) {\n otpRefs.current[index - 1]?.focus();\n }\n };\n\n const handleOtpPaste = (index, e) => {\n e.preventDefault();\n const pasted = e.clipboardData?.getData('text') || '';\n applyOtpFromString(index, pasted);\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!canSubmit) return;\n // Read directly from DOM if React state missed autofill\n const submitEmail = email || emailRef.current?.value || '';\n const submitPassword = password || passwordRef.current?.value || '';\n if (!submitEmail || !submitPassword) return;\n setInternalError(null);\n setInternalLoading(true);\n try {\n await onLogin?.(submitEmail, submitPassword);\n } catch (err) {\n setInternalError(err?.message || 'Something went wrong. Please try again.');\n } finally {\n setInternalLoading(false);\n }\n };\n\n const handleWaitlistSubmit = async () => {\n setWaitlistError('');\n const name = waitlistFullName.trim();\n const em = waitlistEmail.trim();\n const co = waitlistCompany.trim();\n if (name.length < 2) {\n setWaitlistError('Please enter your full name.');\n return;\n }\n if (!em) {\n setWaitlistError('Please enter your work email.');\n return;\n }\n if (co.length < 2) {\n setWaitlistError('Please enter your company name (at least 2 characters).');\n return;\n }\n const phone_systems = waitlistPhoneSystems.map((p) =>\n (p === 'Other' && waitlistPhoneOther.trim() ? `Other: ${waitlistPhoneOther.trim()}` : p));\n const meeting_tools = waitlistMeetingTools.map((m) =>\n (m === 'Other' && waitlistMeetingOther.trim() ? `Other: ${waitlistMeetingOther.trim()}` : m));\n setWaitlistSubmitting(true);\n try {\n const response = await onWaitlistSubmit?.({\n name,\n email: em,\n company_name: co,\n job_title: waitlistJobTitle.trim() || undefined,\n team_size: waitlistTeamSize || undefined,\n phone_systems,\n meeting_tools,\n source: 'website',\n });\n const nextPosition = Number(response?.position);\n if (Number.isFinite(nextPosition) && nextPosition > 0) setWaitlistPosition(nextPosition);\n if (response?.calendly_url) setWaitlistCalendlyUrl(String(response.calendly_url));\n setWaitlistSubmitted(true);\n } catch (err) {\n setWaitlistError(err?.message || 'Unable to join waitlist right now. Please try again.');\n } finally {\n setWaitlistSubmitting(false);\n }\n };\n\n const handleWaitlistCheck = () => {\n console.log('handleWaitlistCheck');\n setWaitlistSubmitted(false);\n };\n\n return (\n <div style={{ position: 'fixed', inset: 0, display: 'flex', overflow: 'hidden', fontFamily: FF, background: 'white' }}>\n\n {/* ── LEFT — Dark Brand Panel ── */}\n <div style={{\n flex: '0 0 628px', width: 628, minHeight: 0, background: 'var(--surface-dark)', display: 'flex', flexDirection: 'column',\n padding: '48px 0 40px 48px', position: 'relative', overflow: 'hidden',\n }}>\n <img src={chordiaLogo} alt=\"Chordia\" style={{\n width: 175, height: 48, objectFit: 'contain', marginBottom: 100, flexShrink: 0,\n }} />\n\n <div style={{ flex: 1, display: 'flex', flexDirection: 'column', justifyContent: 'flex-start', gap: 22 }}>\n <h1 style={{\n fontFamily: FF, fontSize: 'clamp(28px, 2.8vw, 28px)', fontWeight: 800,\n color: 'var(--color-text-inverse)', lineHeight: 1.08, margin: 0, letterSpacing: '-0.02em', paddingRight: 48,\n }}>\n Three Solutions. One Platform.\n </h1>\n\n {/* Carousel — card components */}\n <div style={{ position: 'relative', width: 412, height: 320, overflow: 'hidden', WebkitMaskImage: '-webkit-radial-gradient(white, black)' }}>\n <div style={{\n display: 'flex',\n gap: 16,\n height: '100%',\n transform: `translateX(${-activeSlide * 280}px)`,\n transition: 'transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)',\n }}>\n {[\n {\n Icon: CircleCheckBig,\n title: 'Evaluation Quality Monitoring',\n info: 'Stop sampling 2% of calls and hoping for the best. Chordia analyzes every conversation for quality, compliance, and coaching signals — with evidence, not opinions.',\n },\n {\n Icon: ShieldCheck,\n title: 'Compliance Monitoring',\n info: 'Continuously monitor customer service conversations for missed disclosures, risky language, and compliance gaps.',\n },\n {\n Icon: Radar,\n title: 'Signal Intelligence',\n info: 'Identify emerging themes, sentiment shifts, and customer issues hidden inside everyday service conversations.',\n },\n ].map(({ Icon, title, info }, i) => (\n <div key={i} style={{\n flexShrink: 0,\n width: 264,\n height: 320,\n padding: 32,\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 24,\n borderRadius: 16,\n border: '1px solid var(--surface-card-dark-border)',\n background: 'var(--surface-card-dark)',\n }}>\n <Icon width={36} height={36} color=\"var(--color-card-icon)\" strokeWidth={2.5} />\n <div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>\n <span style={{\n fontFamily: FF,\n fontSize: 24,\n fontStyle: 'normal',\n fontWeight: 600,\n lineHeight: '28px',\n color: 'var(--color-card-text)',\n }}>\n {title}\n </span>\n <span style={{\n fontFamily: FF,\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: 'normal',\n color: 'rgba(255,255,255,0.65)',\n }}>\n {info}\n </span>\n </div>\n </div>\n ))}\n </div>\n {/* Fade overlay — starts right after active card, second card only half-visible */}\n <div style={{\n position: 'absolute', top: 0,\n left: 280, right: 0,\n height: '100%',\n background: 'linear-gradient(270deg, #1D1E20 0%, rgba(29,30,32,0.80) 100%)',\n pointerEvents: 'none',\n }} />\n </div>\n\n {/* Dots */}\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 8, height: 4, marginTop: 'auto', flexShrink: 0 }}>\n {Array.from({ length: SLIDE_COUNT }).map((_, i) => (\n <button key={i} onClick={() => setActiveSlide(i)}\n style={{\n width: 80, height: 4, borderRadius: 6, border: 'none', padding: 0, cursor: 'pointer',\n background: i === activeSlide ? 'rgba(255,255,255,0.7)' : 'rgba(255,255,255,0.25)',\n transition: 'background 0.3s ease',\n }}\n />\n ))}\n </div>\n\n </div>\n </div>\n\n {/* ── RIGHT — Form Panel ── */}\n <div style={{\n flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', justifyContent: 'center',\n alignItems: 'center', padding: view === 'waitlist' ? '20px 48px' : '32px 72px', position: 'relative',\n background: 'white',\n overflowY: 'auto', minHeight: 0,\n }}>\n <div style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n width: '100%',\n maxWidth: view === 'waitlist' ? 430 : 360,\n gap: view === 'waitlist' ? 22 : 28,\n }}>\n\n {view === 'waitlist' ? (\n /* ── Join Waitlist (matches Sign Up panel styling) ── */\n <>\n {waitlistSubmitted ? (\n <div style={{ width: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', gap: 24 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 700, fontSize: '32px', lineHeight: '44px', color: 'var(--color-text)', margin: 0 }}>\n Chordia\n </h2>\n <h3 style={{ fontFamily: FF, fontWeight: 700, fontSize: '32px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n You're on the list!\n </h3>\n <p style={{ fontFamily: FF, fontWeight: 700, fontSize: '56px', lineHeight: '68px', color: 'var(--color-green)', margin: 0 }}>\n #{waitlistPosition.toLocaleString()}\n </p>\n <p style={{ fontFamily: FF, fontWeight: 400, fontSize: 18, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0, maxWidth: 470 }}>\n We’re working hard to increase capacity and will notify you very quickly. Check your email for confirmation.\n </p>\n\n <div style={{\n width: '100%',\n borderRadius: 12,\n border: '1px solid var(--color-input-border)',\n background: 'white',\n boxShadow: '0 1px 6px rgba(0,0,0,0.06)',\n padding: '24px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 14,\n }}>\n <p style={{ margin: 0, fontFamily: FF, fontSize: '24px', lineHeight: '40px', fontWeight: 700, color: 'var(--color-text)' }}>\n Want to skip the line?\n </p>\n <p style={{ margin: 0, fontFamily: FF, fontSize: '18px', lineHeight: '24px', fontWeight: 400, color: 'var(--color-text-secondary)' }}>\n Schedule a demo with our CEO and get immediate access.\n </p>\n <button\n type=\"button\"\n onClick={() => {\n if (waitlistCalendlyUrl) window.open(waitlistCalendlyUrl, '_blank', 'noopener,noreferrer');\n }}\n style={{\n minWidth: 220,\n height: 48,\n padding: '0 20px',\n borderRadius: 8,\n border: '2px solid #111111',\n background: 'white',\n color: 'var(--color-text)',\n fontFamily: FF,\n fontSize: 20,\n fontWeight: 700,\n lineHeight: '28px',\n cursor: waitlistCalendlyUrl ? 'pointer' : 'default',\n opacity: waitlistCalendlyUrl ? 1 : 0.65,\n }}\n disabled={!waitlistCalendlyUrl}\n >\n Schedule a Demo\n </button>\n </div>\n\n {/* <button\n type=\"button\"\n onClick={handleWaitlistCheck}\n style={{\n background: 'none',\n border: 'none',\n padding: 0,\n fontFamily: FF,\n fontSize: 24,\n lineHeight: '40px',\n fontWeight: 700,\n color: 'var(--color-text)',\n textDecoration: 'underline',\n textUnderlineOffset: 4,\n cursor: 'pointer',\n }}\n >\n Check your status\n </button> */}\n </div>\n ) : (\n <>\n <ViewHeading title=\"Join the Waitlist\" subtitle=\"Get early access to Chordia. We onboard new companies every week.\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 12 }}>\n <Field label=\"Full Name\" gap={8}>\n <input\n type=\"text\"\n value={waitlistFullName}\n onChange={(e) => { setWaitlistFullName(e.target.value); setWaitlistError(''); }}\n placeholder=\"Your full name\"\n autoFocus\n autoComplete=\"name\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Work Email\" gap={8}>\n <input\n type=\"email\"\n value={waitlistEmail}\n onChange={(e) => { setWaitlistEmail(e.target.value); setWaitlistError(''); }}\n placeholder=\"workemail@example.com\"\n autoComplete=\"email\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Company Name\" gap={8}>\n <input\n type=\"text\"\n value={waitlistCompany}\n onChange={(e) => { setWaitlistCompany(e.target.value); setWaitlistError(''); }}\n placeholder=\"Your Company\"\n autoComplete=\"organization\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n </div>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Job Title\" gap={8}>\n <input\n type=\"text\"\n value={waitlistJobTitle}\n onChange={(e) => setWaitlistJobTitle(e.target.value)}\n placeholder=\"Optional\"\n autoComplete=\"organization-title\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Team Size\" gap={8}>\n <div style={{ position: 'relative' }}>\n <select\n value={waitlistTeamSize}\n onChange={(e) => setWaitlistTeamSize(e.target.value)}\n style={{\n ...inputBase,\n appearance: 'none',\n WebkitAppearance: 'none',\n paddingRight: 36,\n cursor: 'pointer',\n fontSize: 15,\n color: waitlistTeamSize ? 'var(--color-text)' : 'var(--color-text-secondary)',\n }}\n >\n {TEAM_SIZE_OPTIONS.map((o) => (\n <option key={o.value || 'empty'} value={o.value}>{o.label}</option>\n ))}\n </select>\n <ChevronDown\n size={16}\n style={{\n position: 'absolute',\n right: 10,\n top: '50%',\n transform: 'translateY(-50%)',\n pointerEvents: 'none',\n color: 'var(--color-text-secondary)',\n }}\n />\n </div>\n </Field>\n </div>\n </div>\n\n <Field label=\"Phone systems\" gap={8}>\n <WaitlistMultiSelect\n compact\n options={PHONE_SYSTEM_OPTIONS}\n value={waitlistPhoneSystems}\n onChange={setWaitlistPhoneSystems}\n otherValue={waitlistPhoneOther}\n onOtherChange={setWaitlistPhoneOther}\n placeholder=\"Select (optional)\"\n otherPlaceholder=\"Please specify your phone system\"\n />\n </Field>\n <Field label=\"Meeting tools\" gap={8}>\n <WaitlistMultiSelect\n compact\n options={MEETING_TOOL_OPTIONS}\n value={waitlistMeetingTools}\n onChange={setWaitlistMeetingTools}\n otherValue={waitlistMeetingOther}\n onOtherChange={setWaitlistMeetingOther}\n placeholder=\"Select (optional)\"\n otherPlaceholder=\"Please specify your meeting tool\"\n />\n </Field>\n\n {waitlistError && (\n <div style={{\n display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box',\n background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px',\n color: 'var(--color-text)', fontFamily: FF,\n }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {waitlistError}\n </div>\n )}\n\n <GreenButton type=\"button\" onClick={handleWaitlistSubmit} disabled={waitlistSubmitting}>\n {waitlistSubmitting ? 'Joining...' : 'Join Waitlist'}\n </GreenButton>\n\n <NavRow text=\"I am already a member\" linkText=\"Log In\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={16} />\n </div>\n </>\n )}\n </>\n ) : view === 'signup' ? (\n /* ── Sign Up ── */\n <>\n <ViewHeading title=\"Sign Up\" subtitle=\"Please enter your basic details to continue\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <Field label=\"First Name\" gap={8}>\n <input type=\"text\" value={firstName} onChange={(e) => setFirstName(e.target.value)}\n placeholder=\"First name\" autoFocus autoComplete=\"given-name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n <Field label=\"Last Name\" gap={8}>\n <input type=\"text\" value={lastName} onChange={(e) => setLastName(e.target.value)}\n placeholder=\"Last name\" autoComplete=\"family-name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n </div>\n\n <Field label=\"Email\" gap={8}>\n <input type=\"text\" value={signupEmail} onChange={(e) => { setSignupEmail(e.target.value); setSignupError(''); }}\n placeholder=\"workemail@example.com\" autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Create Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showSignupPassword ? 'text' : 'password'} value={signupPassword}\n onChange={(e) => { setSignupPassword(e.target.value); setSignupError(''); }}\n placeholder=\"Enter password\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showSignupPassword} onToggle={() => setShowSignupPassword(!showSignupPassword)} />\n </div>\n </Field>\n\n <Field label=\"Confirm Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showSignupConfirm ? 'text' : 'password'} value={signupConfirm}\n onChange={(e) => { setSignupConfirm(e.target.value); setSignupError(''); }}\n placeholder=\"Enter password\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showSignupConfirm} onToggle={() => setShowSignupConfirm(!showSignupConfirm)} />\n </div>\n </Field>\n\n {signupError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {signupError}\n </div>\n )}\n\n {(() => {\n const canCreate = firstName && lastName && signupEmail && signupPassword && signupConfirm;\n return (\n <GreenButton onClick={() => {\n setSignupError('');\n if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(signupEmail)) {\n setSignupError('Please enter a valid email address.');\n return;\n }\n if (signupPassword !== signupConfirm) {\n setSignupError('Password and Confirm Password do not match!');\n return;\n }\n onSignUp?.({ firstName, lastName, email: signupEmail, password: signupPassword });\n setView('verifyemail');\n }} disabled={!canCreate}>\n Create Account\n </GreenButton>\n );\n })()}\n\n <NavRow text=\"I am already a member\" linkText=\"Sign In\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} />\n </div>\n </>\n\n ) : view === 'verifyemail' ? (\n /* ── Verify Email ── */\n <>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n Verify Email\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Verify your email to continue the signup process.\n </p>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 24 }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '24px', color: 'var(--color-text-secondary)', margin: 0 }}>\n We have sent a verification link to:\n </p>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 600, lineHeight: '24px', color: 'var(--color-text)', margin: 0 }}>\n {signupEmail || 'youremail@workemail.com'}\n </p>\n </div>\n\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '24px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Click on the link to complete the verification process. You might need to check your Spam folder\n </p>\n\n <GreenButton onClick={() => { setView('signin'); onGoToLogin?.(); }}>\n Go To Login\n </GreenButton>\n </div>\n\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </>\n\n ) : view === 'verifycode' ? (\n /* ── Verify Code ── */\n <>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n Sign In with code\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n We have sent a one-time code to your email:{' '}\n <span style={{ color: 'var(--color-text)' }}>{verifyEmail || 'workemail@example.com'}</span>{' '}\n <button type=\"button\" onClick={() => setView('getcode')}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 18, fontWeight: 400, color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Change email\n </button>\n </p>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Enter one-time code\" gap={12}>\n <div style={{ display: 'flex', gap: 8 }}>\n {otpDigits.map((digit, i) => (\n <input key={i} ref={(el) => { otpRefs.current[i] = el; }}\n type=\"text\" inputMode=\"numeric\" maxLength={1} value={digit}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n onKeyDown={(e) => handleOtpKeyDown(i, e)}\n onPaste={(e) => handleOtpPaste(i, e)}\n autoFocus={i === 0}\n style={{\n flex: 1, minWidth: 0, height: 40, textAlign: 'center', fontSize: 16, fontWeight: 600,\n fontFamily: FF, color: 'var(--color-text)', border: '1px solid var(--color-input-border)',\n borderRadius: 4, outline: 'none', background: 'white', boxSizing: 'border-box',\n transition: 'border-color 0.15s, box-shadow 0.15s', caretColor: GREEN,\n }}\n onFocus={focusGreen} onBlur={blurGray}\n />\n ))}\n </div>\n </Field>\n\n <GreenButton onClick={() => onVerifyCode?.(verifyEmail, otpDigits.join(''))} disabled={otpDigits.some(d => !d)}>\n Verify Code\n </GreenButton>\n {otpError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {otpError}\n </div>\n )}\n <Divider />\n <NavRow text=\"Not received yet?\" linkText=\"Resend\" onClick={() => onResendCode?.(verifyEmail)} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={24} />\n </div>\n </>\n\n ) : view === 'getcode' ? (\n /* ── Get Code (original — email only) ── */\n <>\n <ViewHeading title=\"Get code\" subtitle=\"We'll send a one time pass-code to your email\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={codeEmail} onChange={(e) => setCodeEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoFocus autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <GreenButton onClick={() => { setVerifyEmail(codeEmail); setOtpDigits(['', '', '', '', '', '']); setView('verifycode'); onOneTimeCode?.(codeEmail); }} disabled={!codeEmail}>\n Send One-time Code\n </GreenButton>\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : view === 'getcodewithname' ? (\n /* ── Get Code with Full Name (unregistered email) ── */\n <>\n <ViewHeading title=\"Complete your sign in\" subtitle=\"We’ve sent a one-time code to your email. Please enter the code and your full name to sign in\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n \n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={codeEmail} onChange={(e) => setCodeEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Full Name\" gap={12}>\n <input type=\"text\" value={codeFullName} onChange={(e) => setCodeFullName(e.target.value)}\n placeholder=\"Enter your full name\" autoComplete=\"name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Enter one-time code\" gap={12}>\n <div style={{ display: 'flex', gap: 8 }}>\n {otpDigits.map((digit, i) => (\n <input key={i} ref={(el) => { otpRefs.current[i] = el; }}\n type=\"text\" inputMode=\"numeric\" maxLength={1} value={digit}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n onKeyDown={(e) => handleOtpKeyDown(i, e)}\n onPaste={(e) => handleOtpPaste(i, e)}\n autoFocus={i === 0}\n style={{\n flex: 1, minWidth: 0, height: 40, textAlign: 'center', fontSize: 16, fontWeight: 600,\n fontFamily: FF, color: 'var(--color-text)', border: '1px solid var(--color-input-border)',\n borderRadius: 4, outline: 'none', background: 'white', boxSizing: 'border-box',\n transition: 'border-color 0.15s, box-shadow 0.15s', caretColor: GREEN,\n }}\n onFocus={focusGreen} onBlur={blurGray}\n />\n ))}\n </div>\n </Field>\n\n <GreenButton onClick={() => { setVerifyEmail(codeEmail); onOneTimeCode?.(codeEmail, codeFullName, otpDigits.join('')); }} disabled={!codeEmail || !codeFullName || otpDigits.some(d => !d)}>\n Verify & Sign In\n </GreenButton>\n {otpError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {otpError}\n </div>\n )}\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : view === 'resetpassword' ? (\n /* ── Reset Password ── */\n <>\n <ViewHeading title=\"Reset Password\" subtitle=\"We'll send an email to reset your password\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={resetEmail} onChange={(e) => setResetEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoFocus autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <GreenButton onClick={() => onResetPassword?.(resetEmail)} disabled={!resetEmail}>\n Send Reset Link\n </GreenButton>\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : (\n /* ── Sign In ── */\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 48 }}>\n <ViewHeading title=\"Sign in\" subtitle=\"Enter your email & password to continue\" />\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 8 }}>\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 16 }}>\n\n <form onSubmit={handleSubmit} style={{ width: '100%', display: 'flex', flexDirection: 'column', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input ref={emailRef} type=\"email\" value={email} onChange={(e) => setEmail(e.target.value)}\n placeholder=\"workemail@example.com\" required autoComplete=\"email\"\n style={{ ...inputBase, border: `1px solid ${error ? 'var(--color-text)' : 'var(--color-input-border)'}` }}\n onFocus={focusErr} onBlur={blurErr} />\n </Field>\n\n <Field label=\"Password\" gap={12}>\n <div style={{ position: 'relative' }}>\n <input ref={passwordRef} type={showPassword ? 'text' : 'password'} value={password}\n onChange={(e) => setPassword(e.target.value)}\n placeholder=\"Enter password\" required autoComplete=\"current-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 16px', border: `1px solid ${error ? 'var(--color-text)' : 'var(--color-input-border)'}` }}\n onFocus={focusErr} onBlur={blurErr} />\n <EyeBtn show={showPassword} onToggle={() => setShowPassword(!showPassword)} />\n </div>\n </Field>\n\n <GreenButton type=\"submit\" disabled={!canSubmit}>\n {loading ? 'Signing in\\u2026' : 'Sign In'}\n </GreenButton>\n </form>\n\n {error && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {error}\n </div>\n )}\n\n <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', width: '100%' }}>\n <button type=\"button\" onClick={() => { setView('resetpassword'); onForgotPassword?.(); }}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 400, lineHeight: '100%', color: 'var(--color-text)', cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Forgot Password?\n </button>\n <button type=\"button\" onClick={() => { setView('getcode'); onOneTimeCode?.(); }}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '100%', color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline solid', textUnderlineOffset: 0, textDecorationSkipInk: 'none' }}>\n Sign in with one-time code\n </button>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 2 }}>\n <Divider />\n <DescopeFlow projectId={descopeProjectId} onSuccess={onDescopeSuccess} onError={onDescopeError} />\n </div>\n </div>\n\n <NavRow\n text={signupMode === 'waitlist' ? \"Don't have an account yet?\" : 'Not a member yet?'}\n linkText={signupMode === 'waitlist' ? 'Join Waitlist' : 'Sign Up'}\n onClick={() => {\n if (signupMode === 'waitlist') {\n setView('waitlist');\n onJoinWaitlist?.();\n return;\n }\n setView('signup');\n onSignUp?.();\n }}\n />\n {/* <NavRow text=\"Not a member yet?\" linkText=\"Sign Up\" onClick={() => { setFirstName(''); setLastName(''); setSignupEmail(''); setSignupPassword(''); setSignupConfirm(''); setSignupError(''); setView('signup'); onSignUp?.(); }} /> */}\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={16} />\n </div>\n </div>\n )}\n\n </div>\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { Eye, EyeOff, CircleCheckBig, Radar, ShieldCheck } from 'lucide-react';\nimport chordiaLogo from '../../assets/chordia-logo.png';\nimport '../../tokens/colors.css';\n\n// ── Constants ──────────────────────────────────────────────────────────────────\nconst GREEN = 'var(--color-green)';\nconst FF = 'var(--font-sans)';\nconst SLIDE_COUNT = 3;\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 disabledInput = {\n ...inputBase,\n background: 'var(--color-input-disabled-bg, #f5f5f5)',\n color: 'var(--color-text-secondary)',\n cursor: 'not-allowed',\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// ── Sub-components ───────────────────────────────────────────────────────────\nfunction Field({ label, gap = 12, children }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap, width: '100%' }}>\n <label style={{ fontSize: 16, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, lineHeight: '100%' }}>\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 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 TermsFooter() {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', width: '100%', marginTop: 'auto', paddingTop: 40, flexShrink: 0 }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF, textAlign: 'center', whiteSpace: 'nowrap' }}>\n By continuing, you agree to our{' '}\n <a href=\"https://chordia.ai/legal/terms-of-use\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Terms\n </a>\n {' '}and{' '}\n <a href=\"https://chordia.ai/legal/privacy-notice\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Privacy Policy\n </a>\n .\n </span>\n </div>\n );\n}\n\n// ── SignUpPage ────────────────────────────────────────────────────────────────\n/**\n * SignUpPage — For invited users to set their password.\n *\n * Props:\n * - firstName: string — pre-filled, disabled\n * - lastName: string — pre-filled, disabled\n * - email: string — pre-filled, disabled\n * - onSubmit: ({ firstName, lastName, email, password }) => void\n * - onGoToLogin: () => void\n * - loading: boolean\n * - error: string | null\n */\nexport default function SignUpPage({\n firstName: initialFirstName = '',\n lastName: initialLastName = '',\n email: initialEmail = '',\n onSubmit,\n onGoToLogin,\n loading = false,\n error: externalError = null,\n}) {\n const [password, setPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [showConfirm, setShowConfirm] = useState(false);\n const [localError, setLocalError] = useState('');\n const [activeSlide, setActiveSlide] = useState(0);\n\n useEffect(() => {\n const t = setInterval(() => setActiveSlide((p) => (p + 1) % SLIDE_COUNT), 4000);\n return () => clearInterval(t);\n }, []);\n\n const error = externalError || localError;\n const canSubmit = password && confirmPassword && !loading;\n\n const handleSubmit = () => {\n setLocalError('');\n if (password.length < 8) {\n setLocalError('Password must be at least 8 characters.');\n return;\n }\n if (password !== confirmPassword) {\n setLocalError('Password and Confirm Password do not match!');\n return;\n }\n onSubmit?.({ firstName: initialFirstName, lastName: initialLastName, email: initialEmail, password });\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 */}\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, fontSize: 24, fontStyle: 'normal', fontWeight: 600,\n lineHeight: '28px', color: 'var(--color-card-text)',\n }}>\n {title}\n </span>\n <span style={{\n fontFamily: FF, fontSize: 12, fontStyle: 'normal', fontWeight: 400,\n lineHeight: 'normal', color: 'rgba(255,255,255,0.65)',\n }}>\n {info}\n </span>\n </div>\n </div>\n ))}\n </div>\n {/* Fade overlay */}\n <div style={{\n position: 'absolute', top: 0, left: 280, right: 0, 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, display: 'flex', flexDirection: 'column', alignItems: 'center',\n padding: '48px 80px 40px', overflow: 'auto', minWidth: 0,\n }}>\n <div style={{\n width: '100%', maxWidth: 420, display: 'flex', flexDirection: 'column',\n alignItems: 'stretch', gap: 24, flex: 1,\n }}>\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 Set Password\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Complete your account setup by creating a password\n </p>\n </div>\n\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={initialFirstName} disabled\n style={disabledInput} />\n </Field>\n <Field label=\"Last Name\" gap={8}>\n <input type=\"text\" value={initialLastName} disabled\n style={disabledInput} />\n </Field>\n </div>\n\n <Field label=\"Email\" gap={8}>\n <input type=\"email\" value={initialEmail} disabled\n style={disabledInput} />\n </Field>\n\n <Field label=\"Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showPassword ? 'text' : 'password'} value={password}\n onChange={(e) => { setPassword(e.target.value); setLocalError(''); }}\n placeholder=\"At least 8 characters\" autoComplete=\"new-password\" autoFocus\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showPassword} onToggle={() => setShowPassword(!showPassword)} />\n </div>\n </Field>\n\n <Field label=\"Confirm Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showConfirm ? 'text' : 'password'} value={confirmPassword}\n onChange={(e) => { setConfirmPassword(e.target.value); setLocalError(''); }}\n placeholder=\"At least 8 characters\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showConfirm} onToggle={() => setShowConfirm(!showConfirm)} />\n </div>\n </Field>\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: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {error}\n </div>\n )}\n\n <GreenButton onClick={handleSubmit} disabled={!canSubmit}>\n {loading ? 'Setting up...' : 'Set Password'}\n </GreenButton>\n\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 Already have an account?\n </span>\n <button type=\"button\" onClick={onGoToLogin}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '22px', color: 'var(--color-green)', cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Sign In\n </button>\n </div>\n\n <TermsFooter />\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["e","t","o","r","d","__assign","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","__spreadArray","to","from","pack","l","ar","__classPrivateFieldGet","receiver","state","kind","f","__classPrivateFieldSet","InvalidTokenError","b64DecodeUnicode","str","m","code","base64UrlDecode","output","jwtDecode","token","options","pos","part","decoded","a","u","c","g","h","v","I","k","b","y","O","w","j","U","T","R","x","$","q","S","C","A","L","E","M","N","D","H","J","z","_","F","K","V","Y","Z","B","Q","G","W","X","ee","te","ne","oe","se","ie","re","ae","de","pe","ue","le","ce","ge","he","ve","Ie","fe","me","ke","be","ye","Oe","we","je","Ue","Te","Re","Pe","xe","$e","qe","Se","Ce","Ae","Le","Ee","Me","Ne","De","He","Je","ze","_e","Fe","Ke","Ve","Ye","Ze","Be","Qe","Ge","We","Xe","et","tt","nt","ot","st","it","rt","at","dt","pt","ut","lt","ct","gt","ht","vt","It","ft","mt","assign","target","source","key","defaultConverter","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","chordiaLogo","GREEN","FF","inputBase","focusGreen","blurGray","TEAM_SIZE_OPTIONS","PHONE_SYSTEM_OPTIONS","MEETING_TOOL_OPTIONS","ViewHeading","title","subtitle","jsxs","jsx","GreenButton","onClick","disabled","children","type","active","Field","label","gap","labelSize","labelStyle","EyeBtn","show","onToggle","EyeOff","Eye","Divider","NavRow","text","linkText","TermsFooter","onTerms","onPrivacyPolicy","paddingTop","DescopeFlow","projectId","onSuccess","onError","AuthProvider","Descope","WaitlistMultiSelect","onChange","otherValue","onOtherChange","placeholder","otherPlaceholder","compact","open","setOpen","useState","wrapRef","useRef","useEffect","onDoc","toggle","opt","removeChip","chipBg","pad","minH","fs","ddMaxH","rowPad","showOtherField","toggleOpen","Fragment","ChevronDown","LoginPage","onLogin","onForgotPassword","onOneTimeCode","onVerifyCode","onResendCode","onSignUp","onJoinWaitlist","onWaitlistSubmit","onResetPassword","onDescopeSuccess","onDescopeError","descopeProjectId","onGoToLogin","externalLoading","externalError","codeError","defaultView","signupMode","email","setEmail","password","setPassword","emailAutofilled","setEmailAutofilled","passwordAutofilled","setPasswordAutofilled","showPassword","setShowPassword","internalLoading","setInternalLoading","internalError","setInternalError","view","setView","codeEmail","setCodeEmail","codeFullName","setCodeFullName","verifyEmail","setVerifyEmail","otpDigits","setOtpDigits","otpRefs","firstName","setFirstName","lastName","setLastName","signupEmail","setSignupEmail","signupPassword","setSignupPassword","signupConfirm","setSignupConfirm","showSignupPassword","setShowSignupPassword","showSignupConfirm","setShowSignupConfirm","signupError","setSignupError","resetEmail","setResetEmail","activeSlide","setActiveSlide","SLIDE_COUNT","waitlistFullName","setWaitlistFullName","waitlistEmail","setWaitlistEmail","waitlistCompany","setWaitlistCompany","waitlistJobTitle","setWaitlistJobTitle","waitlistTeamSize","setWaitlistTeamSize","waitlistPhoneSystems","setWaitlistPhoneSystems","waitlistMeetingTools","setWaitlistMeetingTools","waitlistPhoneOther","setWaitlistPhoneOther","waitlistMeetingOther","setWaitlistMeetingOther","waitlistError","setWaitlistError","waitlistSubmitting","setWaitlistSubmitting","waitlistSubmitted","setWaitlistSubmitted","waitlistPosition","setWaitlistPosition","waitlistCalendlyUrl","setWaitlistCalendlyUrl","emailRef","passwordRef","isAutofilled","el","sync","timers","ms","handleAnimationStart","eEl","pEl","onInput","syncIfNeeded","nextEmail","_a","nextPassword","_b","intervalId","loading","error","currentEmail","currentPassword","canSubmit","otpError","focusErr","blurErr","applyOtpFromString","startIndex","rawValue","clean","next","lastFilledIndex","nextIndex","handleOtpChange","index","digit","handleOtpKeyDown","handleOtpPaste","pasted","handleSubmit","submitEmail","submitPassword","err","handleWaitlistSubmit","em","co","phone_systems","meeting_tools","response","nextPosition","CircleCheckBig","ShieldCheck","Radar","Icon","info","disabledInput","SignUpPage","initialFirstName","initialLastName","initialEmail","onSubmit","confirmPassword","setConfirmPassword","showConfirm","setShowConfirm","localError","setLocalError"],"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","../src/components/login/SignUpPage.jsx"],"sourcesContent":["import t from\"react\";const e=t.createContext(void 0);export{e as default};\n//# sourceMappingURL=Context.js.map\n","const o=o=>(...e)=>{if(!o)throw Error(\"You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component\");return o(...e)},e=o=>(...e)=>{let r;try{r=o(...e)}catch(o){console.error(o)}return r},r=()=>\"undefined\"!=typeof window&&!!window.descopeBridge;export{r as isDescopeBridge,o as withValidation,e as wrapInTry};\n//# sourceMappingURL=utils.js.map\n","const e={\"x-descope-sdk-name\":\"react\",\"x-descope-sdk-version\":\"2.27.2\"},d=\"undefined\"!=typeof window;export{d as IS_BROWSER,e as baseHeaders};\n//# sourceMappingURL=constants.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","import{jwtDecode as e}from\"jwt-decode\";import{__rest as t}from\"tslib\";var n={accessKey:{exchange:\"/v1/auth/accesskey/exchange\"},otp:{verify:\"/v1/auth/otp/verify\",signIn:\"/v1/auth/otp/signin\",signUp:\"/v1/auth/otp/signup\",update:{email:\"/v1/auth/otp/update/email\",phone:\"/v1/auth/otp/update/phone\"},signUpOrIn:\"/v1/auth/otp/signup-in\"},magicLink:{verify:\"/v1/auth/magiclink/verify\",signIn:\"/v1/auth/magiclink/signin\",signUp:\"/v1/auth/magiclink/signup\",update:{email:\"/v1/auth/magiclink/update/email\",phone:\"/v1/auth/magiclink/update/phone\"},signUpOrIn:\"/v1/auth/magiclink/signup-in\"},enchantedLink:{verify:\"/v1/auth/enchantedlink/verify\",signIn:\"/v1/auth/enchantedlink/signin\",signUp:\"/v1/auth/enchantedlink/signup\",session:\"/v1/auth/enchantedlink/pending-session\",update:{email:\"/v1/auth/enchantedlink/update/email\"},signUpOrIn:\"/v1/auth/enchantedlink/signup-in\"},oauth:{start:\"/v1/auth/oauth/authorize\",exchange:\"/v1/auth/oauth/exchange\",startNative:\"v1/auth/oauth/native/start\",finishNative:\"v1/auth/oauth/native/finish\",oneTap:{getOneTapClientId:\"/v1/auth/onetap/clientid/{provider}\",exchangeOneTapIDToken:\"/v1/auth/onetap/idtoken/exchange\",verifyOneTapIDToken:\"/v1/auth/onetap/idtoken/verify\"}},outbound:{connect:\"/v1/outbound/oauth/connect\"},saml:{start:\"/v1/auth/saml/authorize\",exchange:\"/v1/auth/saml/exchange\"},totp:{verify:\"/v1/auth/totp/verify\",signUp:\"/v1/auth/totp/signup\",update:\"/v1/auth/totp/update\"},notp:{signIn:\"/v1/auth/notp/whatsapp/signin\",signUp:\"/v1/auth/notp/whatsapp/signup\",signUpOrIn:\"/v1/auth/notp/whatsapp/signup-in\",session:\"/v1/auth/notp/pending-session\"},webauthn:{signUp:{start:\"/v1/auth/webauthn/signup/start\",finish:\"/v1/auth/webauthn/signup/finish\"},signIn:{start:\"/v1/auth/webauthn/signin/start\",finish:\"/v1/auth/webauthn/signin/finish\"},signUpOrIn:{start:\"/v1/auth/webauthn/signup-in/start\"},update:{start:\"v1/auth/webauthn/update/start\",finish:\"/v1/auth/webauthn/update/finish\"}},password:{signUp:\"/v1/auth/password/signup\",signIn:\"/v1/auth/password/signin\",sendReset:\"/v1/auth/password/reset\",update:\"/v1/auth/password/update\",replace:\"/v1/auth/password/replace\",policy:\"/v1/auth/password/policy\"},refresh:\"/v1/auth/refresh\",tryRefresh:\"/v1/auth/try-refresh\",selectTenant:\"/v1/auth/tenant/select\",logout:\"/v1/auth/logout\",logoutAll:\"/v1/auth/logoutall\",me:\"/v1/auth/me\",myTenants:\"/v1/auth/me/tenants\",history:\"/v1/auth/me/history\",flow:{start:\"/v1/flow/start\",next:\"/v1/flow/next\"}};const o=\"<region>\",s=`https://api.${o}descope.com`,i=1e3,r=6e5,a=\"dct\",d=()=>{const e={};return{headers(t){const n=\"function\"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},retries(t){return e.Retries=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${\"Title\"!==t?`${t}: `:\"\"}${e[t]}`]:[])).join(\"\\n\")}},p=[503,521,522,524,530],u=[100,5e3,5e3],l=e=>new Promise((t=>setTimeout(t,e))),c=e=>async(...t)=>{let n=await e(...t),o=0;for(;p.includes(n.status)&&o<u.length;)await l(u[o]),n=await e(...t),o++;o>0&&(n.retries=o);const s=await n.text();return n.text=()=>Promise.resolve(s),n.json=()=>Promise.resolve(JSON.parse(s)),n.clone=()=>n,n},g=(e,t)=>{const n=t||fetch;return n||null==e||e.warn(\"Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally\"),e?async(...t)=>{if(!n)throw Error(\"Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally\");e.log((e=>d().title(\"Request\").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const o=await c(n)(...t);return e[o.ok?\"log\":\"error\"](await(async e=>{const t=await e.text();return d().title(\"Response\").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).retries(e.retries).build()})(o)),o}:c(n)};let h;const v=()=>{if(h)return h;const e=new Date,t=`${e.getUTCFullYear().toString()}-${(e.getUTCMonth()+1).toString().padStart(2,\"0\")}-${e.getUTCDate().toString().padStart(2,\"0\")}-${e.getUTCHours().toString().padStart(2,\"0\")}:${e.getUTCMinutes().toString().padStart(2,\"0\")}:${e.getUTCSeconds().toString().padStart(2,\"0\")}:${e.getUTCMilliseconds().toString()}`,n=Math.floor(1e3+9e3*Math.random());return h=`${t}-${n}`,h};var I;!function(e){e.get=\"GET\",e.delete=\"DELETE\",e.post=\"POST\",e.put=\"PUT\",e.patch=\"PATCH\"}(I||(I={}));const f=({path:e,baseUrl:t,queryParams:n,projectId:s})=>{const i=s.slice(1,-27);t=t.replace(o,i?i+\".\":\"\");let r=e?`${t.replace(/\\/$/,\"\")}/${null==e?void 0:e.replace(/^\\//,\"\")}`:t;if(n){const e=Object.keys(n);e.forEach(((t,o)=>{r=`${r}${0===o?\"?\":\"\"}${t}=${encodeURIComponent(n[t])}${o===e.length-1?\"\":\"&\"}`}))}return r},m=(...e)=>new Headers(e.reduce(((e,t)=>((e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t).forEach((([t,n])=>{e[t]=\"function\"==typeof n?n():n})),e)),{})),k={\"Content-Type\":\"application/json\"},b=(e,t=\"\")=>{let n=e;return t&&(n=n+\":\"+t),{Authorization:`Bearer ${n}`}},y=(e,t)=>{const n={\"x-descope-sdk-session-id\":v(),\"x-descope-sdk-name\":\"core-js\",\"x-descope-sdk-version\":\"2.58.0\",\"x-descope-project-id\":e};return t&&(n[\"x-descope-refresh-cookie-name\"]=t),n},O=e=>{try{e=JSON.parse(e)}catch(e){return!1}return\"object\"==typeof e&&null!==e};var w=(e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>{var n;const o=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==o?void 0:o.reduce(((e,t)=>t(e)),e)},afterRequest:async(e,n)=>{var o;const s=[].concat((null===(o=t.hooks)||void 0===o?void 0:o.afterRequest)||[]);if(0==s.length)return;(await Promise.allSettled(null==s?void 0:s.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return\"rejected\"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))},transformResponse:null===(n=t.hooks)||void 0===n?void 0:n.transformResponse}}))})((({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:o,logger:i,hooks:r,cookiePolicy:a,fetch:d})=>{const p=e||s,u=g(i,d),l=async e=>{var s;const i=(null==r?void 0:r.beforeRequest)?r.beforeRequest(e):e,{path:d,body:l,headers:c,queryParams:g,method:h,token:v}=i,I=(e=>void 0===e?void 0:JSON.stringify(e))(l),w={headers:m(b(t,v),y(t,o),(null==n?void 0:n.baseHeaders)||{},O(I)?k:{},c),method:h,body:I};null!==a&&(w.credentials=a||\"include\");const j=await u(f({path:d,baseUrl:p,queryParams:g,projectId:t}),w);if((null==r?void 0:r.afterRequest)&&await r.afterRequest(e,null==j?void 0:j.clone()),null==r?void 0:r.transformResponse){const e=await j.json(),t=((null===(s=j.headers)||void 0===s?void 0:s.get(\"set-cookie\"))||\"\").split(\";\").reduce(((e,t)=>{const[n,o]=t.split(\"=\");return Object.assign(Object.assign({},e),{[n.trim()]:o})}),{}),n=Object.assign(Object.assign({},j),{json:()=>Promise.resolve(e),cookies:t});return n.clone=()=>n,r.transformResponse(n)}return j};return{get:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:I.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.post,token:s}),patch:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.patch,token:s}),put:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:I.put,token:s}),delete:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:I.delete,token:o}),hooks:r,buildUrl:(e,n)=>f({projectId:t,baseUrl:p,path:e,queryParams:n})}})),j={TOO_MANY_REQUESTS:429};function U(e,t,n){var o;let s=T(e);if(t){if(!(null==s?void 0:s.tenants)&&(null==s?void 0:s[a])===t)return(null==s?void 0:s[n])||[];s=null===(o=null==s?void 0:s.tenants)||void 0===o?void 0:o[t]}const i=null==s?void 0:s[n];return Array.isArray(i)?i:[]}function T(t){if(\"string\"!=typeof t||!t)throw new Error(\"Invalid token provided\");return e(t)}function R(e){const{exp:t}=T(e);return(new Date).getTime()/1e3>t}function P(e){let t=T(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function x(e,t){return U(e,t,\"permissions\")}function $(e,t){return U(e,t,\"roles\")}const q=(...e)=>e.join(\"/\").replace(/\\/{2,}/g,\"/\");async function S(e,t){var n;const o=await e,s={code:o.status,ok:o.ok,response:o},i=await o.clone().json();return o.ok?s.data=t?t(i):i:(s.error=i,o.status===j.TOO_MANY_REQUESTS&&Object.assign(s.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get(\"retry-after\"))||0})),s}function C(e){var t;return(null===(t=T(e))||void 0===t?void 0:t[a])||\"\"}const A=(e,t)=>(n=t)=>t=>!e(t)&&n.replace(\"{val}\",t),L=(e,t)=>(n=t)=>t=>{const o=e.filter((e=>e(t)));return!(o.length<e.length)&&(n?n.replace(\"{val}\",t):o.join(\" OR \"))},E=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),M=e=>t=>e.test(t),N=M(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/),D=M(/^\\+[1-9]{1}[0-9]{3,14}$/),H=(e,t)=>n=>E(...t).validate(((e,t,n)=>{const o=(Array.isArray(t)?t.join(\".\"):String(t)).replace(/\\[\\\\?(\"|')?(\\w|d)+\\\\?(\"|')?\\]/g,((e,t,n)=>\".\"+n)).split(\".\"),s=o.length;let i=0,r=e===Object(e)?e:void 0;for(;null!=r&&i<s;)r=r[o[i++]];return i&&i===s&&void 0!==r?r:n})(n,e)),J=A(N,'\"{val}\" is not a valid email'),z=A(D,'\"{val}\" is not a valid phone number'),_=A((F=1,e=>e.length>=F),\"Minimum length is 1\");var F;const K=A((e=>\"string\"==typeof e),\"Input is not a string\"),V=A((e=>Array.isArray(e)),\"Input is not an array\"),Y=A((e=>\"boolean\"==typeof e),\"Input is not a boolean\"),Z=A((e=>void 0===e),\"Input is defined\"),B=L([K(),Z()],\"Input is not a string or undefined\"),Q=L([V(),Y()],\"Input is not an array or boolean\"),G=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>E(...e).validate(n[t]))),t(...n)),W=e=>[K(`\"${e}\" must be a string`)],X=e=>[B(`\"${e}\" must be string or undefined`)],ee=e=>[K(`\"${e}\" must be a string`),_(`\"${e}\" must not be empty`)],te=e=>[K(`\"${e}\" must be a string`),J()],ne=e=>[K(`\"${e}\" must be a string`),z()],oe=G(ee(\"accessKey\")),se=e=>({exchange:oe(((t,o)=>S(e.post(n.accessKey.exchange,{loginOptions:o},{token:t}))))}),ie=(e,t,n)=>(t.forEach((t=>{const o=t.split(\".\");let s=o.shift(),i=e;for(;o.length>0;){if(i=i[s],!s||!i)throw Error(`Invalid path \"${t}\", \"${s}\" is missing or has no value`);s=o.shift()}if(\"function\"!=typeof i[s])throw Error(`\"${t}\" is not a function`);const r=i[s];i[s]=n(r)})),e),re=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||i,i),timeoutMs:Math.min(t||r,r)});var ae,de;!function(e){e.sms=\"sms\",e.voice=\"voice\",e.whatsapp=\"whatsapp\",e.im=\"im\"}(ae||(ae={})),function(e){e.email=\"email\"}(de||(de={}));const pe=Object.assign(Object.assign({},ae),de);var ue;!function(e){e.waiting=\"waiting\",e.running=\"running\",e.completed=\"completed\",e.failed=\"failed\"}(ue||(ue={}));const le=ee(\"loginId\"),ce=G(ee(\"token\")),ge=G(le),he=G(ee(\"pendingRef\")),ve=G(le,te(\"email\")),Ie=e=>({verify:ce((t=>S(e.post(n.enchantedLink.verify,{token:t})))),signIn:ge(((o,s,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signIn,pe.email),{loginId:o,URI:s,loginOptions:d,providerId:a},{token:r}))})),signUpOrIn:ge(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signUpOrIn,pe.email),{loginId:o,URI:s,loginOptions:a,providerId:r}))})),signUp:ge(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.enchantedLink.signUp,pe.email),{loginId:o,URI:s,user:i,loginOptions:d,providerId:a}))})),waitForSession:he(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=re(o);let a;const d=setInterval((async()=>{const o=await e.post(n.enchantedLink.session,{pendingRef:t});o.ok&&(clearInterval(d),a&&clearTimeout(a),s(S(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)})))),update:{email:ve(((t,o,s,i,r)=>S(e.post(n.enchantedLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i}))))}}),fe=G(ee(\"flowId\")),me=G(ee(\"executionId\"),ee(\"stepId\"),ee(\"interactionId\")),ke=e=>({start:fe(((t,o,s,i,r,a,d,p=!1)=>S(e.post(n.flow.start,{flowId:t,options:o,conditionInteractionId:s,interactionId:i,componentsVersion:r,flowVersions:a,input:d,isCustomScreen:p})))),next:me(((t,o,s,i,r,a,d=!1)=>S(e.post(n.flow.next,{executionId:t,stepId:o,interactionId:s,version:i,componentsVersion:r,input:a,isCustomScreen:d}))))}),be=ee(\"loginId\"),ye=G(ee(\"token\")),Oe=G(be),we=G(be,ne(\"phone\")),je=G(be,te(\"email\")),Ue=Object.keys(pe).filter((e=>e!==ae.voice&&e!==ae.im)),Te=e=>({verify:ye((t=>S(e.post(n.magicLink.verify,{token:t})))),signIn:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r={},a)=>{var{providerId:d}=r,p=t(r,[\"providerId\"]);return S(e.post(q(n.magicLink.signIn,s),{loginId:o,URI:i,loginOptions:p,providerId:d},{token:a}))}))})),{}),signUp:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r,a={})=>{var{providerId:d}=a,p=t(a,[\"providerId\"]);return S(e.post(q(n.magicLink.signUp,s),{loginId:o,URI:i,user:r,loginOptions:p,providerId:d}))}))})),{}),signUpOrIn:Ue.reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Oe(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.magicLink.signUpOrIn,s),{loginId:o,URI:i,loginOptions:d,providerId:a}))}))})),{}),update:{email:je(((t,o,s,i,r)=>S(e.post(n.magicLink.update.email,Object.assign({loginId:t,email:o,URI:s},r),{token:i})))),phone:Object.keys(ae).filter((e=>e!==ae.voice)).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:we(((t,s,i,r,a)=>S(e.post(q(n.magicLink.update.phone,o),Object.assign({loginId:t,phone:s,URI:i},a),{token:r}))))})),{})}});var Re;!function(e){e.facebook=\"facebook\",e.github=\"github\",e.google=\"google\",e.microsoft=\"microsoft\",e.gitlab=\"gitlab\",e.apple=\"apple\",e.discord=\"discord\",e.linkedin=\"linkedin\",e.slack=\"slack\"}(Re||(Re={}));const Pe=G(ee(\"code\")),xe=e=>({start:Object.assign(((t,o,s,i,r)=>S(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:t},o&&{redirectURL:o}),r&&{loginHint:r}),token:i}))),Object.keys(Re).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:(t,s,i,r)=>S(e.post(n.oauth.start,s||{},{queryParams:Object.assign(Object.assign({provider:o},t&&{redirectURL:t}),r&&{loginHint:r}),token:i}))})),{})),exchange:Pe((t=>S(e.post(n.oauth.exchange,{code:t})))),startNative:(t,o,s)=>S(e.post(n.oauth.startNative,{provider:t,loginOptions:o,implicit:s})),finishNative:(t,o,s,i,r)=>S(e.post(n.oauth.finishNative,{provider:t,stateId:o,user:s,code:i,idToken:r})),getOneTapClientId:t=>S(e.get(n.oauth.oneTap.getOneTapClientId.replace(\"{provider}\",t))),verifyOneTapIDToken:(t,o,s,i)=>S(e.post(n.oauth.oneTap.verifyOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i})),exchangeOneTapIDToken:(t,o,s,i)=>S(e.post(n.oauth.oneTap.exchangeOneTapIDToken,{provider:t,idToken:o,nonce:s,loginOptions:i}))}),$e=ee(\"appId\"),qe=G($e),Se=e=>({connect:qe(((t,o,s)=>{const i=null==o?void 0:o.tenantId,r=null==o?void 0:o.tenantLevel;return null==o||delete o.tenantId,null==o||delete o.tenantLevel,S(e.post(n.outbound.connect,{appId:t,tenantId:i,tenantLevel:r,options:o},{token:s}))}))}),Ce=ee(\"loginId\"),Ae=G(Ce,ee(\"code\")),Le=G(Ce),Ee=G(Ce,ne(\"phone\")),Me=G(Ce,te(\"email\")),Ne=e=>({verify:Object.keys(pe).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ae(((t,s)=>S(e.post(q(n.otp.verify,o),{code:s,loginId:t}))))})),{}),signIn:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i={},r)=>{var{providerId:a}=i,d=t(i,[\"providerId\"]);return S(e.post(q(n.otp.signIn,s),{loginId:o,loginOptions:d,providerId:a},{token:r}))}))})),{}),signUp:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(q(n.otp.signUp,s),{loginId:o,user:i,loginOptions:d,providerId:a}))}))})),{}),signUpOrIn:Object.keys(pe).reduce(((o,s)=>Object.assign(Object.assign({},o),{[s]:Le(((o,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(q(n.otp.signUpOrIn,s),{loginId:o,loginOptions:a,providerId:r}))}))})),{}),update:{email:Me(((t,o,s,i)=>S(e.post(n.otp.update.email,Object.assign({loginId:t,email:o},i),{token:s})))),phone:Object.keys(ae).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:Ee(((t,s,i,r)=>S(e.post(q(n.otp.update.phone,o),Object.assign({loginId:t,phone:s},r),{token:i}))))})),{})}}),De=G(ee(\"tenant\")),He=G(ee(\"code\")),Je=e=>({start:De(((t,o,s,i,r,a,d,p)=>S(e.post(n.saml.start,s||{},Object.assign({queryParams:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({tenant:t},o&&{redirectURL:o}),r&&{ssoId:r}),a&&{forceAuthn:\"true\"}),d&&{loginHint:d}),p&&{initiatedEmail:t})},i&&{token:i}))))),exchange:He((t=>S(e.post(n.saml.exchange,{code:t}))))}),ze=ee(\"loginId\"),_e=G(ze,ee(\"code\")),Fe=G(ze),Ke=G(ze),Ve=e=>({signUp:Fe(((t,o)=>S(e.post(n.totp.signUp,{loginId:t,user:o})))),verify:_e(((t,o,s,i)=>S(e.post(n.totp.verify,{loginId:t,code:o,loginOptions:s},{token:i})))),update:Ke(((t,o)=>S(e.post(n.totp.update,{loginId:t},{token:o}))))}),Ye=ee(\"loginId\"),Ze=ee(\"newPassword\"),Be=G(Ye,ee(\"password\")),Qe=G(Ye),Ge=G(Ye,Ze),We=G(Ye,ee(\"oldPassword\"),Ze),Xe=e=>({signUp:Be(((o,s,i,r={})=>{var{providerId:a}=r,d=t(r,[\"providerId\"]);return S(e.post(n.password.signUp,{loginId:o,password:s,user:i,loginOptions:d,providerId:a}))})),signIn:Be(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(n.password.signIn,{loginId:o,password:s,loginOptions:a,providerId:r}))})),sendReset:Qe(((t,o,s)=>S(e.post(n.password.sendReset,{loginId:t,redirectUrl:o,templateOptions:s})))),update:Ge(((t,o,s)=>S(e.post(n.password.update,{loginId:t,newPassword:o},{token:s})))),replace:We(((t,o,s)=>S(e.post(n.password.replace,{loginId:t,oldPassword:o,newPassword:s})))),policy:()=>S(e.get(n.password.policy))}),et=W(\"loginId\"),tt=ee(\"loginId\"),nt=ee(\"origin\"),ot=G(tt,nt,ee(\"name\")),st=G(tt,nt),it=G(et,nt),rt=G(tt,nt,X(\"token\")),at=G(ee(\"transactionId\"),ee(\"response\")),dt=e=>({signUp:{start:ot(((t,o,s,i)=>S(e.post(n.webauthn.signUp.start,{user:{loginId:t,name:s},origin:o,passkeyOptions:i})))),finish:at(((t,o)=>S(e.post(n.webauthn.signUp.finish,{transactionId:t,response:o}))))},signIn:{start:it(((t,o,s,i,r)=>S(e.post(n.webauthn.signIn.start,{loginId:t,origin:o,loginOptions:s,passkeyOptions:r},{token:i})))),finish:at(((t,o)=>S(e.post(n.webauthn.signIn.finish,{transactionId:t,response:o}))))},signUpOrIn:{start:st(((t,o,s)=>S(e.post(n.webauthn.signUpOrIn.start,{loginId:t,origin:o,passkeyOptions:s}))))},update:{start:rt(((t,o,s,i)=>S(e.post(n.webauthn.update.start,{loginId:t,origin:o,passkeyOptions:i},{token:s})))),finish:at(((t,o)=>S(e.post(n.webauthn.update.finish,{transactionId:t,response:o}))))}}),pt=W(\"loginId\"),ut=G(pt),lt=G(ee(\"pendingRef\")),ct=e=>({signUpOrIn:ut(((o,s={})=>{var{providerId:i}=s,r=t(s,[\"providerId\"]);return S(e.post(n.notp.signUpOrIn,{loginId:o,loginOptions:r,providerId:i}))})),signUp:ut(((o,s,i={})=>{var{providerId:r}=i,a=t(i,[\"providerId\"]);return S(e.post(n.notp.signUp,{loginId:o,user:s,providerId:r,loginOptions:a}))})),signIn:ut(((o,s={},i)=>{var{providerId:r}=s,a=t(s,[\"providerId\"]);return S(e.post(n.notp.signIn,{loginId:o,loginOptions:a,providerId:r},{token:i}))})),waitForSession:lt(((t,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:r}=re(o);let a;const d=setInterval((async()=>{const o=await e.post(n.notp.session,{pendingRef:t});o.ok&&(clearInterval(d),a&&clearTimeout(a),s(S(Promise.resolve(o))))}),i);a=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${r}ms`,errorCode:\"0\"},ok:!1}),clearInterval(d)}),r)}))))}),gt=G(ee(\"token\")),ht=G(X(\"token\"));var vt,It,ft=G([(vt=\"projectId\",It=ee(\"projectId\"),A(H(vt,It))())])((e=>{const{projectId:t,logger:o,baseUrl:s,cookiePolicy:i,baseHeaders:r={},refreshCookieName:a,fetch:d}=e;return p=w({baseUrl:s,projectId:t,logger:o,hooks:{get beforeRequest(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.beforeRequest},get afterRequest(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.afterRequest},get transformResponse(){var t;return null===(t=e.hooks)||void 0===t?void 0:t.transformResponse}},cookiePolicy:i,baseConfig:{baseHeaders:r},refreshCookieName:a,fetch:d}),{accessKey:se(p),otp:Ne(p),magicLink:Te(p),enchantedLink:Ie(p),oauth:xe(p),outbound:Se(p),saml:Je(p),totp:Ve(p),notp:ct(p),webauthn:dt(p),password:Xe(p),flow:ke(p),refresh:ht(((e,t,o,s)=>{const i={};o&&(i.externalToken=o);const r=s?n.tryRefresh:n.refresh;return S(p.post(r,i,{token:e,queryParams:t}))})),selectTenant:G([K(\"tenantId\")],[B('\"token\" must be string or undefined')])(((e,t)=>S(p.post(n.selectTenant,{tenant:e},{token:t})))),logout:ht((e=>S(p.post(n.logout,{},{token:e})))),logoutAll:ht((e=>S(p.post(n.logoutAll,{},{token:e})))),me:ht((e=>S(p.get(n.me,{token:e})))),myTenants:G([Q('\"tenants\" must a string array or a boolean')],[B('\"token\" must be string or undefined')])(((e,t)=>{const o={};return\"boolean\"==typeof e?o.dct=e:o.ids=e,S(p.post(n.myTenants,o,{token:t}))})),history:ht((e=>S(p.get(n.history,{token:e})))),isJwtExpired:gt(R),getTenants:gt(P),getJwtPermissions:gt(x),getJwtRoles:gt($),getCurrentTenant:gt(C),httpClient:p};var p})),mt=Object.assign(ft,{DeliveryMethods:pe});export{j as HttpStatusCodes,w as createHttpClient,mt as default,re as normalizeWaitForSessionConfig,S as transformResponse,ie as wrapWith};\n//# sourceMappingURL=index.esm.js.map\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * Fingerprint Pro v3.11.6 - Copyright (c) FingerprintJS, Inc, 2025 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function o(e,t,n,r){var o,i=document,a=\"securitypolicyviolation\",u=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(a,u);var R=function(){return i.removeEventListener(a,u)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){var t=new MessageChannel;t.port1.onmessage=function(){return e()},t.port2.postMessage(null)})).then((function(){if(R(),o)return n(o);throw e}))}))}var i={default:\"endpoint\"},a={default:\"tlsEndpoint\"},u=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",l=\"The endpoint parameter is not a valid URL\";function E(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var d=/*#__PURE__*/E(\"WrongRegion\"),p=/*#__PURE__*/E(\"SubscriptionNotActive\"),v=/*#__PURE__*/E(\"UnsupportedVersion\"),_=/*#__PURE__*/E(\"InstallationMethodRestricted\"),O=/*#__PURE__*/E(\"HostnameRestricted\"),h=/*#__PURE__*/E(\"IntegrationFailed\"),I=\"API key required\",N=\"API key not found\",T=\"API key expired\",m=\"Request cannot be parsed\",w=\"Request failed\",A=\"Request failed to process\",P=\"Too many requests, rate limit exceeded\",y=\"Not available for this origin\",D=\"Not available with restricted header\",S=I,g=N,L=T,U=\"3.11.6\",b=\"Failed to load the JS script of the agent\",C=\"9319\";function M(t,n){var r,o,i,a,u,R,c,s=[],E=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),a=100,u=3e3,R=0,o=function(){return Math.random()*Math.min(u,a*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,a=t instanceof Error?t.message:\"\";if(a===f||a===l)r.exclude(),n=0;else if(a===C)r.exclude();else if(a===b){var u=Date.now()-e.getTime()<50,R=r.current();R&&u&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),d=E[0],p=E[1];if(void 0===d)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var v=function(e){var t=new Date,r=function(n){return s.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(null!=c||(c=e),s.length>=5)throw c;var n=p(t,e);if(!n)throw c;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return v(o)}))}))};return v(d).then((function(e){return[e,s]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",B=K;function F(e){var o;e.scriptUrlPattern;var i=e.token,a=e.apiKey,u=void 0===a?i:a,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],l=s[1];return Promise.resolve().then((function(){if(!u||\"string\"!=typeof u)throw new Error(I);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,u);return M(e,V)})).catch((function(e){throw l(),function(e){if(e instanceof Error&&e.message===C)return new Error(b);return e}(e)})).then((function(e){var t=e[0],r=e[1];return l(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function V(e){return o(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(l);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(b))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(k)}function k(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(C);return n}var G={load:F,defaultScriptUrlPattern:B,ERROR_SCRIPT_LOAD_FAIL:b,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:N,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:m,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:u,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:O,ERROR_FORBIDDEN_HEADER:D,ERROR_FORBIDDEN_ORIGIN:y,ERROR_GENERAL_SERVER_FAILURE:w,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:h,ERROR_INVALID_ENDPOINT:l,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:P,ERROR_SERVER_TIMEOUT:A,ERROR_SUBSCRIPTION_NOT_ACTIVE:p,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:g,ERROR_TOKEN_MISSING:S,ERROR_UNSUPPORTED_VERSION:v,ERROR_WRONG_REGION:d,defaultEndpoint:i,defaultTlsEndpoint:a};export{T as ERROR_API_KEY_EXPIRED,N as ERROR_API_KEY_INVALID,I as ERROR_API_KEY_MISSING,m as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,u as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,O as ERROR_FORBIDDEN_ENDPOINT,D as ERROR_FORBIDDEN_HEADER,y as ERROR_FORBIDDEN_ORIGIN,w as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,h as ERROR_INTEGRATION_FAILURE,l as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,P as ERROR_RATE_LIMIT,b as ERROR_SCRIPT_LOAD_FAIL,A as ERROR_SERVER_TIMEOUT,p as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,g as ERROR_TOKEN_INVALID,S as ERROR_TOKEN_MISSING,v as ERROR_UNSUPPORTED_VERSION,d as ERROR_WRONG_REGION,G as default,i as defaultEndpoint,B as defaultScriptUrlPattern,a as defaultTlsEndpoint,F as load};\n","import{__rest as e}from\"tslib\";import{jwtDecode as t}from\"jwt-decode\";import n,{wrapWith as o}from\"@descope/core-js-sdk\";import i from\"js-cookie\";import{load as r,defaultEndpoint as s,defaultScriptUrlPattern as a}from\"@fingerprintjs/fingerprintjs-pro\";const c=\"3.2.0\",l=\"undefined\"!=typeof window,d=Math.pow(2,31)-1,u=`https://descopecdn.com/npm/oidc-client-ts@${c}/dist/browser/oidc-client-ts.min.js`,p=`https://cdn.jsdelivr.net/npm/oidc-client-ts@${c}/dist/browser/oidc-client-ts.min.js`;const f=[\"/v1/auth/refresh\",\"/v1/auth/try-refresh\",\"/v1/auth/me\",\"/v1/auth/me/tenants\",\"/v1/auth/me/history\"];let g;const v=e=>{try{return t(e).exp}catch(e){return null}},h=e=>{const{refresh_expire_in:t,refresh_token:n}=e;return t?Math.floor(Date.now()/1e3)+t:v(n)},w=e=>{const{expires_in:t,expires_at:n,access_token:o}=e;return n||(t?Math.floor(Date.now()/1e3)+t:o?v(o):void 0)},m=t=>{const{access_token:n,id_token:o,refresh_token:i,refresh_expire_in:r}=t,s=e(t,[\"access_token\",\"id_token\",\"refresh_token\",\"refresh_expire_in\"]);return Object.assign({sessionJwt:t.sessionJwt||n,idToken:o,refreshJwt:t.refreshJwt||i,sessionExpiration:t.sessionExpiration||w(t),cookieExpiration:t.cookieExpiration||h(t)},s)},y=(e,t)=>{var n;return[\"beforeRequest\",\"afterRequest\"].reduce(((n,o)=>{var i;return n[o]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[o])||[]).concat((null==t?void 0:t[o])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},b=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json()),n=(null==t?void 0:t.authInfo)||t||{};return m(n)},k=()=>l&&!!window.descopeBridge,S=(e,t)=>{if(!((null==t?void 0:t.status)>=400&&(null==t?void 0:t.status)<500))return!1;const n=(null==e?void 0:e.path)||\"\";return f.includes(n)},O=void 0!==g||l&&void 0!==window.localStorage,I=(e,t)=>{var n,o;return null===(o=null===(n=g||l&&window.localStorage)||void 0===n?void 0:n.setItem)||void 0===o?void 0:o.call(n,e,t)},_=e=>{var t,n;return null===(n=null===(t=g||l&&window.localStorage)||void 0===t?void 0:t.getItem)||void 0===n?void 0:n.call(t,e)},x=e=>{var t,n;return null===(n=null===(t=g||l&&window.localStorage)||void 0===t?void 0:t.removeItem)||void 0===n?void 0:n.call(t,e)},j=e=>{var t,n,o,i,r;return null!==(r=null!==(n=null===(t=null==g?void 0:g.key)||void 0===t?void 0:t.call(g,e))&&void 0!==n?n:l&&(null===(i=null===(o=window.localStorage)||void 0===o?void 0:o.key)||void 0===i?void 0:i.call(o,e)))&&void 0!==r?r:null},U=(...e)=>{console.debug(...e)},D=(...e)=>{console.warn(...e)},T=(e,t)=>{let n;var o;return t>0?(n=1e3*t,U(`Using provided nextRefreshSeconds: ${t}s`)):n=((o=e)?o.getTime()-(new Date).getTime():0)-2e4,n>d&&(U(`Timeout is too large (${n}ms), setting it to ${d}ms`),n=d),n},C=\"DS\",A=\"DSR\",R=\"DSI\",$=\"DSRCN\";function E(e,t,n){if(t){const{cookieDomain:o,cookiePath:r,cookieSameSite:s,cookieExpiration:a,cookieSecure:c}=n,l=new Date(1e3*a),d=N(o);i.set(e,t,{path:r,domain:d?o:void 0,expires:l,sameSite:s,secure:c})}}function N(e){const t=window.location.hostname.split(\".\"),n=null==e?void 0:e.split(\".\");return t.slice(-(null==n?void 0:n.length)).join(\".\")===e}const J=e=>(null==e?void 0:e.cookieName)||C,P=e=>(null==e?void 0:e.cookieName)||A;function L(e=\"\",t){return i.get(P(t))||_(`${e}${A}`)||\"\"}function K(e=\"\",t){return i.get(J(t))||_(`${e}${C}`)||\"\"}function q(e=\"\"){return _(`${e}${R}`)||\"\"}function V(e=\"\",t,n,o){x(`${e}${A}`),x(`${e}${C}`),x(`${e}${R}`),x(`${e}${$}`);const r=J(t);i.remove(r,null==o?void 0:o.session);const s=P(n);i.remove(s,null==o?void 0:o.refresh)}const F=(e,t,n)=>o=>{const i=Object.assign(o,{token:o.token||L(e,t)});if(!n){const t=function(e=\"\"){return _(`${e}${$}`)}(e);t&&(i.headers=Object.assign(Object.assign({},i.headers||{}),{\"x-descope-refresh-cookie-name\":t}))}const r=function(e=\"\"){return _(`${e}DTD`)||\"\"}(e);return r&&(i.headers=Object.assign(Object.assign({},i.headers||{}),{\"x-descope-trusted-device-token\":r})),i},M=l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(\"fingerprint.endpoint.url\"))||\"https://api.descope.com\",H=\"vsid\",B=\"vrid\",G=\"fp\",W=(e=!1)=>{const t=_(G);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},X=async(e,t=M)=>{try{if(W())return;const n=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),o=new URL(t);o.pathname=\"/fXj8gt3x8VulJBna/x96Emn69oZwcd7I6\";const i=new URL(t);i.pathname=\"/fXj8gt3x8VulJBna/w78aRZnnDZ3Aqw0I\";const c=i.toString()+\"?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>\",l=r({apiKey:e,endpoint:[o.toString(),s],scriptUrlPattern:[c,a]}),d=await l,{requestId:u}=await d.get({linkedId:n}),p=((e,t)=>({[H]:e,[B]:t}))(n,u);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};I(G,JSON.stringify(t))})(p)}catch(e){console.warn(\"Could not load fingerprint\",e)}},Z=()=>{x(G)},z=e=>{const t=W(!0);return t&&e.body&&(e.body.fpData=t),e},Q=\"descopeFlowNonce\",Y=\"X-Descope-Flow-Nonce\",ee=\"/v1/flow/start\",te=\"/v1/flow/next\",ne=(e,t=Q)=>`${t}${e}`,oe=(e,t=Q)=>{try{const n=ne(e,t);x(n)}catch(e){console.error(\"Error removing flow nonce:\",e)}},ie=e=>{var t;return(null===(t=/.*\\|#\\|(.*)/.exec(e))||void 0===t?void 0:t[1])||null},re=e=>{var t;return e.path===te&&(null===(t=e.body)||void 0===t?void 0:t.executionId)?ie(e.body.executionId):null},se=\"dls_last_user_login_id\",ae=\"dls_last_user_display_name\",ce=e=>I(se,e),le=()=>_(se),de=()=>_(ae),ue=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,o={}]=t,i=le(),r=de();i&&(null!==(n=o.lastAuth)&&void 0!==n||(o.lastAuth={}),o.lastAuth.loginId=i,o.lastAuth.name=r);return await e(...t)},pe=e=>t=>async(...n)=>{const o=await t(...n);return e||(x(se),x(ae)),o};function fe(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const ge=(e,t,n,o)=>i=>async(...r)=>{const s=await i(...r);return V(e,t,n,null==o?void 0:o()),s};async function ve(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=ke(n.publicKey.challenge),n.publicKey.user.id=ke(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=ke(e.id)})),n}(e),n=await navigator.credentials.create(t);return o=n,JSON.stringify({id:o.id,rawId:Se(o.rawId),type:o.type,response:{attestationObject:Se(o.response.attestationObject),clientDataJSON:Se(o.response.clientDataJSON)}});var o}async function he(e){const t=ye(e);return be(await navigator.credentials.get(t))}async function we(e,t){const n=ye(e);n.signal=t.signal,n.mediation=\"conditional\";return be(await navigator.credentials.get(n))}async function me(e=!1){var t,n;if(!l)return Promise.resolve(!1);if(k()){const e=null===(n=null===(t=window.descopeBridge)||void 0===t?void 0:t.hostInfo)||void 0===n?void 0:n.webauthn;if(\"boolean\"==typeof e)return e}const o=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return o&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():o}function ye(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=ke(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=ke(e.id)})),n}function be(e){return JSON.stringify({id:e.id,rawId:Se(e.rawId),type:e.type,response:{authenticatorData:Se(e.response.authenticatorData),clientDataJSON:Se(e.response.clientDataJSON),signature:Se(e.response.signature),userHandle:e.response.userHandle?Se(e.response.userHandle):void 0}})}function ke(e){const t=e.replace(/_/g,\"/\").replace(/-/g,\"+\");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function Se(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\\//g,\"_\").replace(/\\+/g,\"-\").replace(/=/g,\"\")}var Oe,Ie=(Oe=e=>({async signUp(t,n,o){const i=await e.webauthn.signUp.start(t,window.location.origin,n,o);if(!i.ok)return i;const r=await ve(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,r)},async signIn(t,n){const o=await e.webauthn.signIn.start(t,window.location.origin,void 0,void 0,n);if(!o.ok)return o;const i=await he(o.data.options);return await e.webauthn.signIn.finish(o.data.transactionId,i)},async signUpOrIn(t,n){var o;const i=await e.webauthn.signUpOrIn.start(t,window.location.origin,n);if(!i.ok)return i;if(null===(o=i.data)||void 0===o?void 0:o.create){const t=await ve(i.data.options);return await e.webauthn.signUp.finish(i.data.transactionId,t)}{const t=await he(i.data.options);return await e.webauthn.signIn.finish(i.data.transactionId,t)}},async update(t,n,o){const i=await e.webauthn.update.start(t,window.location.origin,n,o);if(!i.ok)return i;const r=await ve(i.data.options);return await e.webauthn.update.finish(i.data.transactionId,r)},helpers:{create:ve,get:he,isSupported:me,conditional:we}}),(...e)=>{const t=Oe(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t});const _e={config:\"/fedcm/config\"},xe=()=>{if(window.crypto&&window.crypto.getRandomValues){const e=new Uint8Array(16);return window.crypto.getRandomValues(e),Array.from(e,(e=>e.toString(16).padStart(2,\"0\"))).join(\"\")}return Math.random().toString(36).substring(2)};async function je(e,t){var n;try{await Ue(e,t)}catch(e){null===(n=null==t?void 0:t.onFailed)||void 0===n||n.call(t,e)}}async function Ue(e,t){var n,o;const i=await async function(e,t=\"google\",n,o,i){const r=xe(),s=await async function(){return new Promise(((e,t)=>{if(window.google)return void e(window.google.accounts.id);let n=document.getElementById(\"google-gsi-client-script\");n||(n=document.createElement(\"script\"),document.head.appendChild(n),n.async=!0,n.defer=!0,n.id=\"google-gsi-client-script\",n.src=\"https://accounts.google.com/gsi/client\"),n.onload=function(){window.google?e(window.google.accounts.id):t(\"Failed to load Google GSI client script - not loaded properly\")},n.onerror=function(){t(\"Failed to load Google GSI client script - failed to load\")}}))}(),a=await e.oauth.getOneTapClientId(t);if(!a.ok)throw new Error(\"Failed to get OneTap client ID for provider \"+t);const c=a.data.clientId;return new Promise((e=>{var a,l;const d=n=>{e({provider:t,nonce:r,credential:null==n?void 0:n.credential})};s.initialize(Object.assign(Object.assign({},n),{itp_support:null===(a=null==n?void 0:n.itp_support)||void 0===a||a,use_fedcm_for_prompt:null===(l=null==n?void 0:n.use_fedcm_for_prompt)||void 0===l||l,client_id:c,callback:d,nonce:r})),s.prompt((e=>{var t,n;if(i&&(null==e?void 0:e.isDismissedMoment())){const n=null===(t=e.getDismissedReason)||void 0===t?void 0:t.call(e);return null==i||i(n),void d()}if(o&&(null==e?void 0:e.isSkippedMoment())){const t=null===(n=e.getSkippedReason)||void 0===n?void 0:n.call(e);return null==o||o(t),void d()}}))}))}(e,t.provider,t.oneTapConfig,t.onSkipped,t.onDismissed);if(!i.credential)return null;if(null==t?void 0:t.onCodeReceived){const o=await e.oauth.verifyOneTapIDToken(i.provider,i.credential,i.nonce,null==t?void 0:t.loginOptions);if(!o.ok||!o.data)throw new Error(\"Failed to verify OneTap client ID for provider \"+i.provider);null===(n=null==t?void 0:t.onCodeReceived)||void 0===n||n.call(t,o.data.code)}else{const n=await e.oauth.exchangeOneTapIDToken(i.provider,i.credential,i.nonce,null==t?void 0:t.loginOptions);if(!n.ok||!n.data)throw new Error(\"Failed to exchange OneTap client ID for provider \"+i.provider);null===(o=null==t?void 0:t.onAuthenticated)||void 0===o||o.call(t,n.data)}}var De=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await me(),o=Object.assign(Object.assign({location:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n},startOptionsVersion:1});return t[1]=o,e.flow.start(...t)}});const Te=()=>window.location.search.includes(\"code\")&&window.location.search.includes(\"state\");let Ce;const Ae=(e,t)=>new Promise(((n,o)=>{if(!e.length)return o(new Error(\"No URLs provided to loadScriptWithFallback\"));const i=t();if(i)return n(i);const r=e.shift(),s=document.createElement(\"script\");s.src=r,s.id=(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t).toString(16)})(r),s.onload=()=>{const e=t();if(e)return n(e);throw new Error(\"Could not get entry after loading script from URL\")},s.addEventListener(\"error\",(()=>{Ae(e,t),s.setAttribute(\"data-error\",\"true\")})),document.body.appendChild(s)}));const Re=async(e,t,n)=>{Ce||(Ce=(async()=>{try{return require(\"oidc-client-ts\")}catch(e){return Ae([u,p],(()=>window.oidc))}})());const{OidcClient:o,WebStorageStateStore:i}=await Ce;if(!o)throw new Error(\"oidc-client-ts is not installed. Please install it by running `npm install oidc-client-ts`\");const r=(null==n?void 0:n.redirectUri)||window.location.href;let s,a,c,l;if(null==n?void 0:n.issuer){if(!n.clientId)throw new Error(\"clientId is required when providing a custom issuer/authority\");s=n.issuer,a=n.clientId,c=`${a}_user`,l=\"openid\"}else(null==n?void 0:n.applicationId)?(s=e.httpClient.buildUrl(t),s=`${s}/${n.applicationId}`,a=t,c=`${a}_user`,l=\"openid email roles descope.custom_claims offline_access\"):(s=e.httpClient.buildUrl(t),a=t,c=`${a}_user`,l=\"openid email roles descope.custom_claims offline_access\");const d={authority:s,client_id:a,redirect_uri:r,response_type:\"code\",scope:(null==n?void 0:n.scope)||l,stateStore:new i({store:window.localStorage,prefix:a}),loadUserInfo:!0,fetchRequestCredentials:\"same-origin\"};return(null==n?void 0:n.redirectUri)&&(d.redirect_uri=n.redirectUri),{client:new o(d),stateUserKey:c}},$e=(e,t,n)=>{const o=async()=>{let o,i;return o&&i||({client:o,stateUserKey:i}=await Re(e,t,n)),{client:o,stateUserKey:i}},i=async(t=\"\")=>{var n;const{client:i,stateUserKey:r}=await o(),s=await i.processSigninResponse(t||window.location.href);var a;return await(null===(n=e.httpClient.hooks)||void 0===n?void 0:n.afterRequest({},new Response(JSON.stringify(s)))),I(r,JSON.stringify({id_token:(a=s).id_token,session_state:a.session_state,profile:a.profile})),(()=>{const e=new URL(window.location.href);e.searchParams.delete(\"code\"),e.searchParams.delete(\"state\"),window.history.replaceState({},document.title,e.toString())})(),s};return{loginWithRedirect:async(e={},t=!1)=>{const{client:n}=await o(),i=await n.createSigninRequest(e),{url:r}=i;return t||(window.location.href=r),{ok:!0,data:i}},finishLogin:i,finishLoginIfNeed:async(e=\"\")=>{if(Te())return await i(e)},refreshToken:async t=>{var n;const{client:i,stateUserKey:r}=await o(),s=(e=>{const t=_(e);return t?JSON.parse(t):null})(r);if(!s)throw new Error(\"User not found in storage to refresh token\");let a=t;if(!a){const t={};e.httpClient.hooks.beforeRequest(t),a=t.token}const c=await i.useRefreshToken({state:{refresh_token:a,session_state:s.session_state,profile:s.profile}});return await(null===(n=e.httpClient.hooks)||void 0===n?void 0:n.afterRequest({},new Response(JSON.stringify(c)))),c},logout:async(e,t=!1)=>{const{client:n,stateUserKey:i}=await o();e||(e={}),e.id_token_hint=e.id_token_hint||q(),e.post_logout_redirect_uri=e.post_logout_redirect_uri||window.location.href;const r=await n.createSignoutRequest(e),{url:s}=r;return x(i),t||window.location.replace(s),r}}},Ee=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((e=>t=>{var n;return n=t.customStorage,g=n,e(t)}),(t=>n=>{var{fpKey:o,fpLoad:i}=n,r=e(n,[\"fpKey\",\"fpLoad\"]);return l?(o&&i&&X(o).catch((()=>null)),t(y(r,{beforeRequest:z}))):t(r)}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({\"x-descope-sdk-name\":\"web-js\",\"x-descope-sdk-version\":\"1.47.0\"},t.baseHeaders)}))),(e=>t=>{const n=fe(),i=fe(),r=fe(),s=fe(),a=e(y(t,{afterRequest:async(e,t)=>{if(S(e,t))U(\"Session invalidated, notifying subscribers with empty values\"),i.pub(null),r.pub(null),n.pub(null),s.pub(null);else{const e=await(async e=>{const t=await b(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty(\"userId\"))?t:void 0)})(t);e&&r.pub(e);const{sessionJwt:o,sessionExpiration:a,claims:c}=await b(t);o&&i.pub(o),c&&s.pub(c),(a||o)&&n.pub(a||42)}}})),c=o(a,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const o=await e(...t);return i.pub(null),r.pub(null),n.pub(null),s.pub(null),o}));return Object.assign(c,{onSessionTokenChange:i.sub,onUserChange:r.sub,onClaimsChange:s.sub,onIsAuthenticatedChange:e=>n.sub((t=>{e(!!t)}))})}),(t=>n=>{const{enableFlowNonce:o=!0,nonceStoragePrefix:i=Q}=n,r=e(n,[\"enableFlowNonce\",\"nonceStoragePrefix\"]);if(!o)return t(r);((e=Q)=>{try{if(!O)return;for(let i=0;i<(t=void 0,n=void 0,o=void 0,null!==(o=null!==(t=null==g?void 0:g.length)&&void 0!==t?t:l&&(null===(n=window.localStorage)||void 0===n?void 0:n.length))&&void 0!==o?o:0);i++){const t=j(i);if(t&&t.startsWith(e)){const e=_(t);if(e)try{JSON.parse(e).expiry<Date.now()&&x(t)}catch(e){x(t)}}}}catch(e){console.error(\"Error cleaning up expired nonces:\",e)}var t,n,o})(i);return t(y(r,{afterRequest:async(e,t)=>{if(e.path!==ee&&e.path!==te)return;const{nonce:n,executionId:o}=await(async(e,t)=>{try{const n=t.headers.get(Y);let o=await t.clone().json().then((e=>(null==e?void 0:e.executionId)||null)).catch((()=>null));return o||(o=re(e)),{nonce:n,executionId:ie(o)}}catch(e){return{nonce:null,executionId:null}}})(e,t);if(n&&o){((e,t,n,o=Q)=>{try{const i=ne(e,o),r=n?172800:10800,s={value:t,expiry:Date.now()+1e3*r,isStart:n};I(i,JSON.stringify(s))}catch(e){console.error(\"Error setting flow nonce:\",e)}})(o,n,e.path===ee,i)}},beforeRequest:e=>{if(e.path===te){const t=re(e);if(t){const n=((e,t=Q)=>{try{const n=ne(e,t),o=_(n);if(!o)return null;const i=JSON.parse(o);return i.expiry<Date.now()?(oe(e,t),null):i.value}catch(e){return console.error(\"Error getting flow nonce:\",e),null}})(t,i);n&&(e.headers=e.headers||{},e.headers[Y]=n)}}return e}}))}),(n=>i=>{var{autoRefresh:r}=i,s=e(i,[\"autoRefresh\"]);const a=!!r,c=\"object\"==typeof r&&(null==r?void 0:r.customActivityTracking);if(!a||k())return Object.assign(n(s),{markUserActive:()=>{D(\"markUserActive() called but has no effect\")}});const{clearAllTimers:d,setTimer:u}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let p,f,g=null,v=!1,h=!1;c&&(U(\"Activity-based refresh enabled\"),g=(()=>{let e=!0;return{hadActivity:()=>e,reset:()=>{e=!1},markActive:()=>{e=!0}}})()),l&&document.addEventListener(\"visibilitychange\",(()=>{\"visible\"===document.visibilityState&&p&&new Date>p&&(U(\"Expiration time passed, refreshing session\"),w.refresh(L()||f))}));const w=n(y(s,{afterRequest:async(e,n)=>{const{sessionJwt:o,refreshJwt:i,sessionExpiration:r,nextRefreshSeconds:s}=await b(n);if(S(e,n))U(\"Session invalidated, canceling all timers\"),d();else if(o||r){if(p=((e,n)=>{if(n)return new Date(1e3*n);U(\"Could not extract expiration time from session token, trying to decode the token\");try{const n=t(e);if(n.exp)return new Date(1e3*n.exp)}catch(e){return null}})(o,r),!p)return void U(\"Could not extract expiration time from session token\");f=i,v=s>0;const e=T(p,s);if(d(),e<=2e4)return void U(\"Session is too close to expiration, not setting refresh timer\");const n=new Date(Date.now()+e).toLocaleTimeString(\"en-US\",{hour12:!1});U(`Setting refresh timer for ${n}. (${e}ms)`),g&&(g.reset(),h=!1),u((()=>{if(l&&\"hidden\"===document.visibilityState)U(\"Skipping refresh due to timer - document is hidden\");else{if(g&&v&&!g.hadActivity())return U(\"Skipping refresh due to timer - user is idle\"),void(h=!0);U(\"Refreshing session due to timer\"),w.refresh(L()||i)}}),e)}}}));return Object.assign(o(w,[\"logout\",\"logoutAll\",\"oidc.logout\"],(e=>async(...t)=>{const n=await e(...t);return U(\"Clearing all timers\"),d(),n})),{markUserActive:g?()=>{U(\"markUserActive() called\"),v||U(\"markUserActive() called but server does not have inactivity timeout configured (no nextRefreshSeconds)\"),g.markActive(),h&&(U(\"User became active after skipped refresh, triggering refresh\"),h=!1,d(),w.refresh(L()||f))}:()=>{D(\"markUserActive() called but customActivityTracking is not enabled — this call has no effect\")}})}),(t=>n=>{var{storeLastAuthenticatedUser:i=!0,keepLastAuthenticatedUserAfterLogout:r=!1}=n,s=e(n,[\"storeLastAuthenticatedUser\",\"keepLastAuthenticatedUserAfterLogout\"]);if(!i)return Object.assign(t(s),{getLastUserLoginId:le,getLastUserDisplayName:de});const a=t(y(s,{afterRequest:async(e,t)=>{var n;const{userInfo:o,lastAuth:i}=await(async e=>{if(!(null==e?void 0:e.ok))return{userInfo:void 0,lastAuth:void 0};const t=await(null==e?void 0:e.clone().json()),n=m((null==t?void 0:t.authInfo)||t||{});return{userInfo:(null==n?void 0:n.user)||((null==n?void 0:n.hasOwnProperty(\"userId\"))?n:void 0),lastAuth:t.lastAuth}})(t),r=null===(n=null==o?void 0:o.loginIds)||void 0===n?void 0:n[0],s=null==o?void 0:o.name;r?(ce(r),(e=>{I(ae,e)})(s)):(null==i?void 0:i.loginId)&&ce(i.loginId)}}));let c=o(a,[\"flow.start\"],ue);return c=o(c,[\"logout\",\"logoutAll\"],pe(r)),Object.assign(c,{getLastUserLoginId:le,getLastUserDisplayName:de})}),(t=>n=>{var{persistTokens:r,sessionTokenViaCookie:s,refreshTokenViaCookie:a,storagePrefix:c,refreshCookieName:d}=n,u=e(n,[\"persistTokens\",\"sessionTokenViaCookie\",\"refreshTokenViaCookie\",\"storagePrefix\",\"refreshCookieName\"]);if(!r||!l)return t(Object.assign({refreshCookieName:d},u));let p;const f=t(y(Object.assign({refreshCookieName:d},u),{beforeRequest:F(c,a,d),afterRequest:async(e,t)=>{if(S(e,t))U(\"Session invalidated, clearing persisted tokens\"),V(c,s,a,p);else{const e=await b(t);e.cookieName?I(`${c||\"\"}${$}`,e.cookieName):e.refreshJwt&&x(`${c||\"\"}${$}`);const n=((e={},t=!1,n=\"\",o=!1)=>{var r,s,a,c;const{sessionJwt:l,refreshJwt:d,trustedDeviceJwt:u}=e;let p;if(d)if(o){x(`${n}${A}`);const t=o.sameSite||\"Strict\",i=null===(r=o.secure)||void 0===r||r,a=null!==(s=o.domain)&&void 0!==s?s:e.cookieDomain,c=P(o);i&&\"https:\"!==window.location.protocol&&D(\"Refresh token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass refreshTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }\");const l=Object.assign(Object.assign({},e),{cookieSameSite:t,cookieSecure:i,cookieDomain:a});E(c,d,l);const u=N(a);p=Object.assign(Object.assign({},p),{refresh:{path:l.cookiePath,domain:u?a:void 0}})}else{const e=P(o);i.remove(e),I(`${n}${A}`,d)}if(l)if(t){const n=t.sameSite||\"Strict\",o=null===(a=t.secure)||void 0===a||a,i=null!==(c=t.domain)&&void 0!==c?c:e.cookieDomain,r=J(t);o&&\"https:\"!==window.location.protocol&&D(\"Session token cookie is configured with secure=true but the page is not using HTTPS. The cookie will not be set. To fix this, pass sessionTokenViaCookie: { secure: process.env['NODE_ENV'] !== 'development' }\");const s=Object.assign(Object.assign({},e),{cookieSameSite:n,cookieSecure:o,cookieDomain:i});E(r,l,s);const d=N(i);p=Object.assign(Object.assign({},p),{session:{path:s.cookiePath,domain:d?i:void 0}})}else I(`${n}${C}`,l);return e.idToken&&I(`${n}${R}`,e.idToken),u&&I(`${n}DTD`,u),p})(e,s,c,a);n&&(p=n)}}})),g=o(f,[\"logout\",\"logoutAll\",\"oidc.logout\"],ge(c,s,a,(()=>p)));return Object.assign(g,{getRefreshToken:()=>L(c,a),getSessionToken:()=>K(c,s),getIdToken:()=>q(c)})}))((e=>{const t=n(e),o=$e(t,e.projectId,e.oidcConfig);return Object.assign(Object.assign({},t),{refresh:async(n,i)=>{var r;if(k())return U(`Refresh called in native flow: ${(new Error).stack}`),Promise.resolve({ok:!1,error:{errorCode:\"J171000\",errorDescription:\"Refresh is not supported in native flows via the web SDK\"}});if(e.oidcConfig)try{return await o.refreshToken(n),Promise.resolve({ok:!0})}catch(e){return Promise.resolve({ok:!1,error:{errorCode:\"J161001\",errorDescription:e.toString()}})}const s=K(),a=L();let c=\"\";if(e.getExternalToken)try{c=await(null===(r=e.getExternalToken)||void 0===r?void 0:r.call(e))}catch(e){U(\"Error getting external token while refreshing\",e)}return t.refresh(n,{dcs:s?\"t\":\"f\",dcr:a?\"t\":\"f\"},c,i)},logout:async n=>{if(e.oidcConfig)try{return await o.logout({id_token_hint:n}),Promise.resolve({ok:!0})}catch(e){return Promise.resolve({ok:!1,error:{errorCode:\"J161000\",errorDescription:e.toString()}})}return t.logout(n)},flow:De(t),webauthn:Ie(t),fedcm:(i=t,r=e.projectId,{onetap:{requestExchangeCode(e){je(i,e)},requestAuthentication(e){je(i,e)}},async oneTap(e,t,n,o,r){await Ue(i,{provider:e,oneTapConfig:t,loginOptions:n,onSkipped:o,onDismissed:r})},async launch(e){var t;const n={identity:{context:e||\"signin\",providers:[{configURL:i.httpClient.buildUrl(r+_e.config),clientId:r}]}},o=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(n));return i.refresh(o.token)},isSupported:()=>l&&\"IdentityCredential\"in window,async isLoggedIn(e){var t;const n=i.httpClient.buildUrl(r+_e.config);try{const o={identity:{context:e||\"signin\",providers:[{configURL:n,clientId:r}]}},i=await(null===(t=navigator.credentials)||void 0===t?void 0:t.get(o));return!!i&&!!i.token}catch(e){return!1}}}),oidc:o});var i,r}));export{A as REFRESH_TOKEN_KEY,C as SESSION_TOKEN_KEY,Z as clearFingerprintData,Ee as createSdk,Ee as default,X as ensureFingerprintIds,K as getSessionToken,Te as hasOidcParamsInUrl};\n//# sourceMappingURL=index.esm.js.map\n","import{createSdk as e}from\"@descope/web-js-sdk\";import{IS_BROWSER as s}from\"./constants.js\";import{wrapInTry as t}from\"./utils.js\";let o;const n=t=>{const n=e(Object.assign({persistTokens:s,autoRefresh:s},t));return o=n,n},r=()=>n({projectId:\"temp pid\",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});o=r();const i=()=>s?null==o?void 0:o.getSessionToken():(console.warn(\"Get session token is not supported in SSR\"),\"\"),l=()=>s?null==o?void 0:o.getRefreshToken():(console.warn(\"Get refresh token is not supported in SSR\"),\"\"),d=(e=i())=>null==o?void 0:o.isJwtExpired(e),u=(e=l())=>null==o?void 0:o.isJwtExpired(e),p=t(((e=i(),s)=>null==o?void 0:o.getJwtPermissions(e,s))),a=t(((e=i(),s)=>null==o?void 0:o.getJwtRoles(e,s))),c=t(((e=i())=>null==o?void 0:o.getCurrentTenant(e))),f=(e=l())=>null==o?void 0:o.refresh(e),m=()=>o;export{r as createTempSdk,n as default,c as getCurrentTenant,m as getGlobalSdk,p as getJwtPermissions,a as getJwtRoles,l as getRefreshToken,i as getSessionToken,u as isRefreshTokenExpired,d as isSessionTokenExpired,f as refresh};\n//# sourceMappingURL=sdk.js.map\n","import{useMemo as e}from\"react\";import{baseHeaders as o}from\"../../constants.js\";import t from\"../../sdk.js\";var s=({projectId:s,baseUrl:r,persistTokens:i,autoRefresh:a,sessionTokenViaCookie:n,refreshTokenViaCookie:k,refreshCookieName:f,oidcConfig:c,storeLastAuthenticatedUser:h,keepLastAuthenticatedUserAfterLogout:u,getExternalToken:d,hooks:g,customStorage:m})=>e((()=>{if(s)return t({projectId:s,baseUrl:r,sessionTokenViaCookie:n,refreshTokenViaCookie:k,baseHeaders:o,persistTokens:i,autoRefresh:a,refreshCookieName:f,oidcConfig:c,storeLastAuthenticatedUser:h,keepLastAuthenticatedUserAfterLogout:u,hooks:g,getExternalToken:d,customStorage:m})}),[s,r,JSON.stringify(n),JSON.stringify(k),d,m]);export{s as default};\n//# sourceMappingURL=useSdk.js.map\n","import e,{useState as t,useRef as s,useEffect as r,useCallback as o,useMemo as n}from\"react\";import i from\"../../hooks/Context.js\";import{isDescopeBridge as a,withValidation as c}from\"../../utils.js\";import u from\"./useSdk.js\";const h=({projectId:h,baseUrl:d=\"\",baseStaticUrl:f=\"\",baseCdnUrl:k=\"\",sessionTokenViaCookie:l=!1,refreshTokenViaCookie:g=!1,hooks:m,persistTokens:U=!0,autoRefresh:C=!0,oidcConfig:p,storeLastAuthenticatedUser:L=!0,keepLastAuthenticatedUserAfterLogout:A=!1,refreshCookieName:S=\"\",getExternalToken:T,customStorage:b,children:j})=>{const[I,v]=t(),[x,N]=t(),[V,E]=t(),[F,R]=t(!1),[y,O]=t(!1),[P,q]=t(!1),[w,z]=t(!!p),B=s(!1),D=u({projectId:h,baseUrl:d,persistTokens:U,autoRefresh:C,sessionTokenViaCookie:l,refreshTokenViaCookie:g,hooks:m,oidcConfig:p,storeLastAuthenticatedUser:L,keepLastAuthenticatedUserAfterLogout:A,refreshCookieName:S,getExternalToken:T,customStorage:b});r((()=>{if(D){const e=D.onSessionTokenChange(N),t=D.onUserChange(v),s=D.onIsAuthenticatedChange(R),r=D.onClaimsChange(E);return()=>{e(),t(),s(),r()}}}),[D]);const G=s(!1),H=s(!1);r((()=>{D&&p&&!B.current&&(B.current=!0,D.oidc.finishLoginIfNeed().finally((()=>{z(!1),G.current=!0})))}),[]);const J=o((()=>{a()||G.current||(G.current=!0,q(!0),c(null==D?void 0:D.refresh)(void 0,!0).then((()=>{q(!1)})))}),[D]),K=o((()=>{H.current||(H.current=!0,O(!0),c(D.me)().then((()=>{O(!1)})))}),[D]),M=n((()=>({fetchUser:K,user:I,isUserLoading:y,isUserFetched:H.current,fetchSession:J,session:x,isAuthenticated:F,isSessionLoading:P,isOidcLoading:w,isSessionFetched:G.current,projectId:h,baseUrl:d,baseStaticUrl:f,baseCdnUrl:k,storeLastAuthenticatedUser:L,keepLastAuthenticatedUserAfterLogout:A,refreshCookieName:S,customStorage:b,setUser:v,setSession:N,setIsAuthenticated:R,claims:V,sdk:D})),[K,I,y,H.current,J,x,F,P,w,G.current,h,d,f,k,A,S,b,v,N,R,V,D]);return e.createElement(i.Provider,{value:M},j)};export{h as default};\n//# sourceMappingURL=AuthProvider.js.map\n","import{__classPrivateFieldGet as t,__classPrivateFieldSet as e}from\"tslib\";function r(...t){return e=>t.reduce(((t,e)=>e(t)),e)}const n=t=>{const e=document.createElement(\"template\");return e.innerHTML=t,e},s=(...t)=>t.join(\"/\").replace(/\\/+/g,\"/\"),o=(t,e)=>t.length===e.length&&t.every(((t,r)=>t===e[r])),i=t=>{let e,r;return(...n)=>(e&&o(e,n)||(e=n,r=t(...n)),r)},c=t=>t.replace(/([a-z])([A-Z])/g,\"$1-$2\").replace(/[\\s_.]+/g,\"-\").toLowerCase(),u=t=>0===Object.keys(t).length&&t.constructor===Object,l=t=>(e,...r)=>e.reduce(((e,n,s)=>{var o;return`${e}${n}${(null===(o=null==r?void 0:r[s])||void 0===o?void 0:o[t>1?1:0])||\"\"}`}),\"\"),f=(t,e=500)=>{let r;return function(...n){clearTimeout(r),r=setTimeout((()=>t.apply(this,n)),e)}},a=t=>null!==t&&\"object\"==typeof t&&Object.getPrototypeOf(t)===Object.prototype,h=t=>{const e=Symbol((t=>{const e=t.toString();let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r&=r;return r.toString(16)})(t));return r=>{if(r[e])return r;const n=t(r);return n[e]=!0,n}};var p,b,g,j;function O(t,e){const r=Object.getOwnPropertyNames(t),n=Object.getOwnPropertyNames(e);if(r.length!==n.length)return!1;for(let n=0;n<r.length;n+=1){const s=r[n],o=t[s],i=e[s];if(null===o||null===i){if(o!==i)return!1}else if(\"object\"==typeof o&&\"object\"==typeof i){if(!O(o,i))return!1}else if(o!==i)return!1}return!0}class d{constructor(r={},{forceUpdate:n=!1}={}){p.set(this,void 0),b.set(this,{}),g.set(this,0),j.set(this,!0),this.update=r=>{const n=\"function\"==typeof r?r(t(this,p,\"f\")):r,s=Object.assign(Object.assign({},t(this,p,\"f\")),n);if(t(this,j,\"f\")||!O(t(this,p,\"f\"),s)){const r=t(this,p,\"f\");e(this,p,s,\"f\"),Object.freeze(t(this,p,\"f\")),setTimeout((()=>{Object.values(t(this,b,\"f\")).forEach((t=>t(s,r,((t,e)=>r=>t[r]!==e[r])(s,r))))}),0)}},e(this,p,r,\"f\"),e(this,j,n,\"f\")}get current(){return Object.assign({},t(this,p,\"f\"))}subscribe(r){return e(this,g,t(this,g,\"f\")+1,\"f\"),t(this,b,\"f\")[t(this,g,\"f\")]=r,t(this,g,\"f\").toString()}unsubscribe(e){const r=!!t(this,b,\"f\")[e];return r&&delete t(this,b,\"f\")[e],r}unsubscribeAll(){return e(this,b,{},\"f\"),!0}}p=new WeakMap,b=new WeakMap,g=new WeakMap,j=new WeakMap;const m=t=>{try{const e=t.split(\".\")[1].replace(/-/g,\"+\").replace(/_/g,\"/\"),r=decodeURIComponent(atob(e).split(\"\").map((t=>\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2))).join(\"\"));return JSON.parse(r)}catch(t){return null}};export{d as State,o as compareArrays,r as compose,h as createSingletonMixin,n as createTemplate,f as debounce,m as decodeJWT,u as isObjEmpty,a as isPlainObject,c as kebabCase,s as pathJoin,l as pluralize,i as withMemCache};\n//# sourceMappingURL=index.esm.js.map\n","const t=t=>{const[,r,e]=/(.*)\\.(prop|attr)$/.exec(t)||[,t,\"rest\"];return{trimmedKey:r,category:e}},r=t=>\"string\"==typeof t||null==t?t:JSON.stringify(t);export{r as transformAttrValue,t as transformKey};\n//# sourceMappingURL=utils.js.map\n","import r,{useMemo as t,useRef as e,useCallback as o,useImperativeHandle as s}from\"react\";import{kebabCase as c}from\"@descope/sdk-helpers\";import{transformAttrValue as p,transformKey as a}from\"./utils.js\";const n=n=>r.forwardRef(((u,i)=>{const{prop:m,attr:f,rest:l}=t((()=>Object.entries(u).reduce(((r,[t,e])=>{const{trimmedKey:o,category:s}=a(t);return\"prop\"===s?r.prop.push([o,e]):\"attr\"===s?r.attr.push([c(o),p(e)]):Object.assign(r.rest,{[c(o)]:e}),r}),{attr:[],prop:[],rest:{}})),[u]),d=e(null),b=o((r=>{d.current=r,r&&(m.forEach((([r,t])=>{d.current[r]=t})),f.forEach((([t,e])=>{null==e?r.removeAttribute(t):r.setAttribute(t,e)})))}),[m,f,d]);return s(i,(()=>d.current)),r.createElement(n,Object.assign({ref:b},l))}));export{n as default};\n//# sourceMappingURL=index.js.map\n","import{__rest as e}from\"tslib\";import t,{lazy as r,useMemo as n,useState as o,useImperativeHandle as s,useCallback as a,useEffect as l,Suspense as u}from\"react\";import{baseHeaders as d}from\"../constants.js\";import c from\"../hooks/Context.js\";import{getGlobalSdk as i}from\"../sdk.js\";import p from\"./withPropsMapping/index.js\";const m=r((async()=>(((null===customElements||void 0===customElements?void 0:customElements.get(\"descope-wc\"))||await import(\"@descope/web-component\").then((e=>e.default))).sdkConfigOverrides={baseHeaders:d,persistTokens:!1,hooks:{get beforeRequest(){return i().httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:p(t.forwardRef(((r,o)=>{var{\"external-request-id\":s}=r,a=e(r,[\"external-request-id\"]);return n((()=>{var e,t;e=\"x-external-rid\",(t=s)?d[e]=t:delete d[e]}),[s]),t.createElement(\"descope-wc\",Object.assign({ref:o},a))})))}))),f=t.forwardRef((({flowId:e,onSuccess:r,onError:n,onReady:d,logger:i,tenant:p,theme:f,nonce:v,locale:E,debug:b,client:g,form:h,telemetryKey:L,redirectUrl:k,autoFocus:y,validateOnBlur:U,restartOnError:w,errorTransformer:S,styleId:x,onScreenUpdate:I,dismissScreenErrorOnInput:R,outboundAppId:C,outboundAppScopes:O,popupOrigin:q,children:j,externalRequestId:A},N)=>{const[T,B]=o(null);s(N,(()=>T));const{projectId:F,baseUrl:K,baseStaticUrl:H,baseCdnUrl:J,storeLastAuthenticatedUser:M,keepLastAuthenticatedUserAfterLogout:P,refreshCookieName:z,customStorage:D,sdk:G}=t.useContext(c),Q=a((async e=>{await G.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);return l((()=>{const e=T;return null==e||e.addEventListener(\"success\",Q),n&&(null==e||e.addEventListener(\"error\",n)),d&&(null==e||e.addEventListener(\"ready\",d)),()=>{n&&(null==e||e.removeEventListener(\"error\",n)),d&&(null==e||e.removeEventListener(\"ready\",d)),null==e||e.removeEventListener(\"success\",Q)}}),[T,n,Q]),l((()=>{const e=T;return null==e||e.addEventListener(\"success\",Q),()=>{null==e||e.removeEventListener(\"success\",Q)}}),[T,Q]),l((()=>{const e=T;return n&&(null==e||e.addEventListener(\"error\",n)),()=>{n&&(null==e||e.removeEventListener(\"error\",n))}}),[T,n]),l((()=>{const e=T;return d&&(null==e||e.addEventListener(\"ready\",d)),()=>{d&&(null==e||e.removeEventListener(\"error\",d))}}),[T,d]),t.createElement(\"form\",null,t.createElement(u,{fallback:null},t.createElement(m,{projectId:F,flowId:e,baseUrl:K,baseStaticUrl:H,baseCdnUrl:J,ref:B,telemetryKey:L,redirectUrl:k,autoFocus:y,styleId:x,validateOnBlur:U,restartOnError:w,keepLastAuthenticatedUserAfterLogout:P,tenant:p,externalRequestId:A,customStorage:D,\"theme.attr\":f,\"nonce.attr\":v,\"locale.attr\":E,\"form.attr\":h,\"client.attr\":g,\"debug.attr\":b,\"outbound-app-id.attr\":C,\"outbound-app-scopes.attr\":O,\"popup-origin.attr\":q,\"store-last-authenticated-user.attr\":M,\"refreshCookieName.attr\":z,\"dismiss-screen-error-on-input.attr\":R,\"errorTransformer.prop\":S,\"logger.prop\":i,\"onScreenUpdate.prop\":I,\"customStorage.prop\":D},j)))}));export{f as default};\n//# sourceMappingURL=Descope.js.map\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect, useRef } from 'react';\nimport { Eye, EyeOff, CircleCheckBig, Radar, ShieldCheck, ChevronDown } from 'lucide-react';\nimport { Descope, AuthProvider } from '@descope/react-sdk';\nimport chordiaLogo from '../../assets/chordia-logo.png';\nimport '../../tokens/colors.css';\n\n// ── Constants ──────────────────────────────────────────────────────────────────\nconst GREEN = 'var(--color-green)';\nconst FF = 'var(--font-sans)';\n\nconst inputBase = {\n width: '100%', height: 40, padding: '10px 14px', fontSize: 16, fontWeight: 400,\n lineHeight: '23px', border: '1px solid var(--color-input-border)', borderRadius: 4,\n background: 'white', color: 'var(--color-text)', fontFamily: FF,\n outline: 'none', boxSizing: 'border-box', transition: 'border-color 0.15s, box-shadow 0.15s',\n};\n\nconst focusGreen = (e) => {\n e.target.style.borderColor = 'var(--color-green)';\n e.target.style.boxShadow = '0 0 0 3px var(--color-green-ring)';\n};\nconst blurGray = (e) => {\n e.target.style.borderColor = 'var(--color-input-border)';\n e.target.style.boxShadow = 'none';\n};\n\nconst TEAM_SIZE_OPTIONS = [\n { value: '', label: 'Select team size (optional)' },\n { value: '1-10', label: '1–10' },\n { value: '11-50', label: '11–50' },\n { value: '51-200', label: '51–200' },\n { value: '200+', label: '200+' },\n];\n\nconst PHONE_SYSTEM_OPTIONS = [\n 'Nextiva', 'Five9', 'Dialpad', 'RingCentral', 'NICE', 'Genesys', 'Talkdesk', 'Aircall', '8x8', 'Vonage', 'Twilio', 'Other',\n];\n\nconst MEETING_TOOL_OPTIONS = ['Teams', 'Zoom', 'Google Meet', 'Webex', 'Other'];\n\n// ── Shared sub-components ──────────────────────────────────────────────────────\nfunction ViewHeading({ title, subtitle }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '44px', color: 'var(--color-text)', margin: 0 }}>\n {title}\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n {subtitle}\n </p>\n </div>\n );\n}\n\nfunction GreenButton({ onClick, disabled, children, type = 'button' }) {\n const active = !disabled;\n return (\n <button\n type={type}\n onClick={onClick}\n disabled={disabled}\n style={{\n width: '100%', height: 40, display: 'flex', justifyContent: 'center', alignItems: 'center',\n padding: '10px', background: active ? 'var(--color-green)' : 'var(--color-green-disabled)',\n color: 'white', border: 'none', borderRadius: 4, fontSize: 16, fontWeight: 600,\n lineHeight: '23px', fontFamily: FF,\n cursor: active ? 'pointer' : 'not-allowed', transition: 'background 0.15s', boxSizing: 'border-box',\n }}\n onMouseEnter={(e) => { if (active) e.currentTarget.style.background = 'var(--color-green-hover)'; }}\n onMouseLeave={(e) => { if (active) e.currentTarget.style.background = active ? 'var(--color-green)' : 'var(--color-green-disabled)'; }}\n >\n {children}\n </button>\n );\n}\n\nfunction Field({ label, gap = 12, labelSize = 16, labelStyle, children }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap, width: '100%' }}>\n <label style={{ fontSize: labelSize, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, lineHeight: '100%', ...labelStyle }}>\n {label}\n </label>\n {children}\n </div>\n );\n}\n\nfunction EyeBtn({ show, onToggle }) {\n return (\n <button type=\"button\" tabIndex={-1} onClick={onToggle}\n style={{ position: 'absolute', right: 14, top: '50%', transform: 'translateY(-50%)', background: 'none', border: 'none', padding: 0, cursor: 'pointer', color: 'var(--color-text-secondary)', display: 'flex', alignItems: 'center' }}>\n {show ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n );\n}\n\nfunction Divider() {\n return <hr style={{ width: '100%', border: 'none', borderTop: '1px solid var(--color-divider)', margin: 0 }} />;\n}\n\nfunction NavRow({ text, linkText, onClick }) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', gap: 4, width: '100%' }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n {text}\n </span>\n <button type=\"button\" onClick={onClick}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '22px', color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n {linkText}\n </button>\n </div>\n );\n}\n\nfunction TermsFooter({ onTerms, onPrivacyPolicy, paddingTop }) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', width: '100%', marginTop: 'auto', paddingTop: paddingTop || 40, flexShrink: 0 }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF, textAlign: 'center', whiteSpace: 'nowrap' }}>\n By continuing, you agree to our{' '}\n <a href=\"https://chordia.ai/legal/terms-of-use\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Terms\n </a>\n {' '}and{' '}\n <a href=\"https://chordia.ai/legal/privacy-notice\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Privacy Policy\n </a>\n .\n </span>\n </div>\n );\n}\n\nfunction DescopeFlow({ projectId, onSuccess, onError }) {\n if (!projectId) return null;\n return (\n <AuthProvider projectId={projectId}>\n <Descope\n flowId=\"sign-up-or-in-otp-or-social\"\n onSuccess={onSuccess}\n onError={onError}\n />\n </AuthProvider>\n );\n}\n\n/** Multi-select with checkboxes, chips, optional \"Other\" text; click-outside closes. */\nfunction WaitlistMultiSelect({\n options,\n value,\n onChange,\n otherValue,\n onOtherChange,\n placeholder,\n otherPlaceholder = 'Please specify',\n compact = false,\n}) {\n const [open, setOpen] = useState(false);\n const wrapRef = useRef(null);\n\n useEffect(() => {\n const onDoc = (e) => {\n if (wrapRef.current && !wrapRef.current.contains(e.target)) setOpen(false);\n };\n document.addEventListener('mousedown', onDoc);\n return () => document.removeEventListener('mousedown', onDoc);\n }, []);\n\n const toggle = (opt) => {\n if (value.includes(opt)) {\n onChange(value.filter((x) => x !== opt));\n if (opt === 'Other') onOtherChange('');\n } else {\n onChange([...value, opt]);\n }\n };\n\n const removeChip = (opt) => {\n onChange(value.filter((x) => x !== opt));\n if (opt === 'Other') onOtherChange('');\n };\n\n const chipBg = 'rgba(34, 197, 94, 0.14)';\n\n const pad = compact ? '6px 10px' : '8px 12px';\n const minH = compact ? 36 : 40;\n const fs = compact ? 15 : 16;\n const ddMaxH = compact ? 200 : 260;\n const rowPad = compact ? '6px 8px' : '8px 10px';\n\n const showOtherField = value.includes('Other');\n\n const toggleOpen = () => setOpen((o) => !o);\n\n return (\n <div ref={wrapRef} style={{ width: '100%' }}>\n {/* Div (not button) so an inline text field can sit next to chips; chevron opens list */}\n <div style={{ position: 'relative', width: '100%' }}>\n <div\n role=\"combobox\"\n aria-expanded={open}\n onClick={(e) => {\n if (e.target instanceof HTMLInputElement) return;\n if (e.target instanceof HTMLElement && e.target.closest('button')) return;\n toggleOpen();\n }}\n style={{\n width: '100%',\n minHeight: minH,\n padding: pad,\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 8,\n textAlign: 'left',\n fontSize: fs,\n fontWeight: 400,\n lineHeight: '23px',\n border: '1px solid var(--color-input-border)',\n borderRadius: 4,\n background: 'white',\n color: value.length ? 'var(--color-text)' : 'var(--color-text-secondary)',\n fontFamily: FF,\n boxSizing: 'border-box',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n flex: 1,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n gap: 6,\n minWidth: 0,\n cursor: 'text',\n }}\n >\n {value.length === 0 ? (\n <span\n style={{ color: 'var(--color-text-secondary)', cursor: 'pointer' }}\n onClick={(e) => {\n e.stopPropagation();\n toggleOpen();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') toggleOpen();\n }}\n role=\"button\"\n tabIndex={0}\n >\n {placeholder}\n </span>\n ) : (\n <>\n {value.map((v) => (\n <span\n key={v}\n onClick={(e) => e.stopPropagation()}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 4,\n padding: '4px 8px',\n borderRadius: 4,\n background: chipBg,\n fontSize: 13,\n fontWeight: 500,\n color: 'var(--color-text)',\n flexShrink: 0,\n }}\n >\n {v}\n <span\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n e.stopPropagation();\n removeChip(v);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n removeChip(v);\n }\n }}\n style={{ cursor: 'pointer', fontSize: 14, lineHeight: 1, opacity: 0.7 }}\n >\n ×\n </span>\n </span>\n ))}\n {showOtherField && (\n <input\n type=\"text\"\n value={otherValue}\n onChange={(e) => onOtherChange(e.target.value)}\n placeholder={otherPlaceholder}\n onMouseDown={(e) => e.stopPropagation()}\n onClick={(e) => e.stopPropagation()}\n onFocus={(e) => {\n e.stopPropagation();\n e.target.style.borderColor = 'var(--color-green)';\n e.target.style.boxShadow = '0 0 0 3px var(--color-green-ring)';\n }}\n onBlur={(e) => {\n e.target.style.borderColor = '#cfcece';\n e.target.style.boxShadow = 'none';\n }}\n style={{\n flex: '1 1 120px',\n minWidth: 80,\n maxWidth: '100%',\n minHeight: compact ? 26 : 28,\n padding: '2px 8px',\n border: '1px solid #cfcece',\n borderRadius: 4,\n outline: 'none',\n background: 'transparent',\n fontSize: fs,\n fontFamily: FF,\n color: 'var(--color-text)',\n boxSizing: 'border-box',\n }}\n />\n )}\n </>\n )}\n </div>\n <button\n type=\"button\"\n tabIndex={-1}\n onClick={(e) => {\n e.stopPropagation();\n toggleOpen();\n }}\n style={{\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0,\n margin: 0,\n border: 'none',\n background: 'none',\n cursor: 'pointer',\n color: 'var(--color-text-secondary)',\n }}\n aria-label={open ? 'Close options' : 'Open options'}\n >\n <ChevronDown\n size={compact ? 16 : 18}\n style={{\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease',\n }}\n />\n </button>\n </div>\n\n {open && (\n <div\n style={{\n position: 'absolute',\n left: 0,\n right: 0,\n top: '100%',\n marginTop: 4,\n padding: compact ? 6 : 8,\n maxHeight: ddMaxH,\n overflowY: 'auto',\n background: 'white',\n border: '1px solid var(--color-input-border)',\n borderRadius: 4,\n boxShadow: '0 8px 24px rgba(0,0,0,0.08)',\n zIndex: 50,\n boxSizing: 'border-box',\n }}\n >\n {options.map((opt) => (\n <label\n key={opt}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n padding: rowPad,\n borderRadius: 4,\n cursor: 'pointer',\n fontSize: compact ? 14 : 15,\n fontFamily: FF,\n color: 'var(--color-text)',\n }}\n >\n <input\n type=\"checkbox\"\n checked={value.includes(opt)}\n onChange={() => toggle(opt)}\n style={{ width: 16, height: 16, accentColor: 'var(--color-green)' }}\n />\n {opt}\n </label>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n// ── LoginPage ──────────────────────────────────────────────────────────────────\n/**\n * LoginPage — Chordia login page (Figma: Login 1c).\n *\n * Props:\n * - onLogin, onForgotPassword, onOneTimeCode, onGoogleLogin,\n * onSignUp, onRequestDemo, onGettingStarted, onTerms, onPrivacyPolicy\n * - signupMode: 'signup' | 'waitlist' — when 'waitlist', the sign-in footer offers\n * \"Join Waitlist\" and opens the embedded waitlist form (view 'waitlist').\n * - onJoinWaitlist — optional hook when user chooses Join Waitlist (e.g. analytics).\n * - onWaitlistSubmit — host handles API; payload: { name, email, company_name, job_title?, team_size?, phone_systems[], meeting_tools[], source }.\n * - loading: boolean, error: string | null\n */\nexport default function LoginPage({\n onLogin,\n onForgotPassword,\n onOneTimeCode,\n onVerifyCode,\n onResendCode,\n onSignUp,\n onJoinWaitlist,\n onWaitlistSubmit,\n onResetPassword,\n onTerms,\n onPrivacyPolicy,\n onDescopeSuccess,\n onDescopeError,\n descopeProjectId,\n onGoToLogin,\n loading: externalLoading,\n error: externalError,\n codeError,\n defaultView = 'signin',\n signupMode = 'signup',\n}) {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [emailAutofilled, setEmailAutofilled] = useState(false);\n const [passwordAutofilled, setPasswordAutofilled] = useState(false);\n const [showPassword, setShowPassword] = useState(false);\n const [internalLoading, setInternalLoading] = useState(false);\n const [internalError, setInternalError] = useState(null);\n const [view, setView] = useState(defaultView);\n const [codeEmail, setCodeEmail] = useState('');\n const [codeFullName, setCodeFullName] = useState('');\n const [verifyEmail, setVerifyEmail] = useState('');\n const [otpDigits, setOtpDigits] = useState(['', '', '', '', '', '']);\n const otpRefs = useRef([]);\n const [firstName, setFirstName] = useState('');\n const [lastName, setLastName] = useState('');\n const [signupEmail, setSignupEmail] = useState('');\n const [signupPassword, setSignupPassword] = useState('');\n const [signupConfirm, setSignupConfirm] = useState('');\n const [showSignupPassword, setShowSignupPassword] = useState(false);\n const [showSignupConfirm, setShowSignupConfirm] = useState(false);\n const [signupError, setSignupError] = useState('');\n const [resetEmail, setResetEmail] = useState('');\n const [activeSlide, setActiveSlide] = useState(0);\n const SLIDE_COUNT = 3;\n\n const [waitlistFullName, setWaitlistFullName] = useState('');\n const [waitlistEmail, setWaitlistEmail] = useState('');\n const [waitlistCompany, setWaitlistCompany] = useState('');\n const [waitlistJobTitle, setWaitlistJobTitle] = useState('');\n const [waitlistTeamSize, setWaitlistTeamSize] = useState('');\n const [waitlistPhoneSystems, setWaitlistPhoneSystems] = useState([]);\n const [waitlistMeetingTools, setWaitlistMeetingTools] = useState([]);\n const [waitlistPhoneOther, setWaitlistPhoneOther] = useState('');\n const [waitlistMeetingOther, setWaitlistMeetingOther] = useState('');\n const [waitlistError, setWaitlistError] = useState('');\n const [waitlistSubmitting, setWaitlistSubmitting] = useState(false);\n const [waitlistSubmitted, setWaitlistSubmitted] = useState(false);\n const [waitlistPosition, setWaitlistPosition] = useState(1267);\n const [waitlistCalendlyUrl, setWaitlistCalendlyUrl] = useState('');\n\n useEffect(() => {\n const t = setInterval(() => setActiveSlide((p) => (p + 1) % SLIDE_COUNT), 4000);\n return () => clearInterval(t);\n }, []);\n\n // Sync React state with browser autofill (autofill doesn't fire onChange)\n const emailRef = useRef(null);\n const passwordRef = useRef(null);\n useEffect(() => {\n const isAutofilled = (el) => {\n if (!el) return false;\n try {\n return el.matches(':-webkit-autofill, :autofill');\n } catch {\n // Some browsers may throw for unsupported pseudo-class selectors.\n return false;\n }\n };\n\n const sync = () => {\n const e = emailRef.current;\n const p = passwordRef.current;\n if (e && e.value) setEmail(e.value);\n if (p && p.value) setPassword(p.value);\n setEmailAutofilled(isAutofilled(e));\n setPasswordAutofilled(isAutofilled(p));\n };\n // Poll for autofill values at multiple intervals\n const timers = [100, 300, 600, 1000, 2000].map(ms => setTimeout(sync, ms));\n\n // Detect Chrome/Safari autofill via the :-webkit-autofill animation\n const handleAnimationStart = (e) => {\n if (e.animationName === 'onAutoFillStart' || e.target.matches(':-webkit-autofill')) {\n setTimeout(sync, 50);\n }\n };\n const eEl = emailRef.current;\n const pEl = passwordRef.current;\n eEl?.addEventListener('animationstart', handleAnimationStart);\n pEl?.addEventListener('animationstart', handleAnimationStart);\n // Listen for events commonly used by password managers/autofill\n const onInput = () => setTimeout(sync, 0);\n const onChange = () => setTimeout(sync, 0);\n eEl?.addEventListener('input', onInput);\n pEl?.addEventListener('input', onInput);\n eEl?.addEventListener('change', onChange);\n pEl?.addEventListener('change', onChange);\n\n return () => {\n timers.forEach(clearTimeout);\n eEl?.removeEventListener('animationstart', handleAnimationStart);\n pEl?.removeEventListener('animationstart', handleAnimationStart);\n eEl?.removeEventListener('input', onInput);\n pEl?.removeEventListener('input', onInput);\n eEl?.removeEventListener('change', onChange);\n pEl?.removeEventListener('change', onChange);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n const isAutofilled = (el) => {\n if (!el) return false;\n try {\n return el.matches(':-webkit-autofill, :autofill');\n } catch {\n return false;\n }\n };\n\n const syncIfNeeded = () => {\n const nextEmail = emailRef.current?.value || '';\n const nextPassword = passwordRef.current?.value || '';\n\n if (nextEmail && nextEmail !== email) setEmail(nextEmail);\n if (nextPassword && nextPassword !== password) setPassword(nextPassword);\n setEmailAutofilled(isAutofilled(emailRef.current));\n setPasswordAutofilled(isAutofilled(passwordRef.current));\n };\n\n // Some browsers/password managers update input values without firing events.\n const intervalId = setInterval(syncIfNeeded, 250);\n window.addEventListener('focus', syncIfNeeded);\n document.addEventListener('visibilitychange', syncIfNeeded);\n\n return () => {\n clearInterval(intervalId);\n window.removeEventListener('focus', syncIfNeeded);\n document.removeEventListener('visibilitychange', syncIfNeeded);\n };\n }, [email, password]);\n\n // Switch to full-name screen when host app signals unregistered email\n useEffect(() => {\n if (codeError && view === 'verifycode') {\n setOtpDigits(['', '', '', '', '', '']);\n setView('getcodewithname');\n }\n }, [codeError]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const loading = externalLoading ?? internalLoading;\n const error = externalError ?? internalError;\n const currentEmail = (email || emailRef.current?.value || '').trim();\n const currentPassword = password || passwordRef.current?.value || '';\n const hasEmail = Boolean(currentEmail || emailAutofilled);\n const hasPassword = Boolean(currentPassword || passwordAutofilled);\n const canSubmit = Boolean(hasEmail && hasPassword && !loading);\n const otpError = (view === 'verifycode' || view === 'getcodewithname') ? error : null;\n\n // Error-aware focus handlers for sign-in fields\n const focusErr = (e) => {\n e.target.style.borderColor = error ? 'var(--color-text)' : 'var(--color-green)';\n e.target.style.boxShadow = error ? 'none' : '0 0 0 3px var(--color-green-ring)';\n };\n const blurErr = (e) => {\n e.target.style.borderColor = error ? 'var(--color-text)' : 'var(--color-input-border)';\n e.target.style.boxShadow = 'none';\n };\n\n const applyOtpFromString = (startIndex, rawValue) => {\n const clean = (rawValue || '').replace(/\\D/g, '');\n if (!clean) return;\n\n const next = [...otpDigits];\n let lastFilledIndex = startIndex;\n\n for (let i = 0; i < clean.length && startIndex + i < next.length; i += 1) {\n next[startIndex + i] = clean[i];\n lastFilledIndex = startIndex + i;\n }\n\n setOtpDigits(next);\n\n const nextIndex = Math.min(lastFilledIndex + 1, next.length - 1);\n otpRefs.current[nextIndex]?.focus();\n };\n\n const handleOtpChange = (index, value) => {\n const clean = value.replace(/\\D/g, '');\n if (clean.length > 1) {\n applyOtpFromString(index, clean);\n return;\n }\n\n const digit = clean.slice(-1);\n const next = [...otpDigits];\n next[index] = digit;\n setOtpDigits(next);\n if (digit && index < 5) otpRefs.current[index + 1]?.focus();\n };\n\n const handleOtpKeyDown = (index, e) => {\n if (e.key === 'Backspace' && !otpDigits[index] && index > 0) {\n otpRefs.current[index - 1]?.focus();\n }\n };\n\n const handleOtpPaste = (index, e) => {\n e.preventDefault();\n const pasted = e.clipboardData?.getData('text') || '';\n applyOtpFromString(index, pasted);\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!canSubmit) return;\n // Read directly from DOM if React state missed autofill\n const submitEmail = email || emailRef.current?.value || '';\n const submitPassword = password || passwordRef.current?.value || '';\n if (!submitEmail || !submitPassword) return;\n setInternalError(null);\n setInternalLoading(true);\n try {\n await onLogin?.(submitEmail, submitPassword);\n } catch (err) {\n setInternalError(err?.message || 'Something went wrong. Please try again.');\n } finally {\n setInternalLoading(false);\n }\n };\n\n const handleWaitlistSubmit = async () => {\n setWaitlistError('');\n const name = waitlistFullName.trim();\n const em = waitlistEmail.trim();\n const co = waitlistCompany.trim();\n if (name.length < 2) {\n setWaitlistError('Please enter your full name.');\n return;\n }\n if (!em) {\n setWaitlistError('Please enter your work email.');\n return;\n }\n if (co.length < 2) {\n setWaitlistError('Please enter your company name (at least 2 characters).');\n return;\n }\n const phone_systems = waitlistPhoneSystems.map((p) =>\n (p === 'Other' && waitlistPhoneOther.trim() ? `Other: ${waitlistPhoneOther.trim()}` : p));\n const meeting_tools = waitlistMeetingTools.map((m) =>\n (m === 'Other' && waitlistMeetingOther.trim() ? `Other: ${waitlistMeetingOther.trim()}` : m));\n setWaitlistSubmitting(true);\n try {\n const response = await onWaitlistSubmit?.({\n name,\n email: em,\n company_name: co,\n job_title: waitlistJobTitle.trim() || undefined,\n team_size: waitlistTeamSize || undefined,\n phone_systems,\n meeting_tools,\n source: 'website',\n });\n const nextPosition = Number(response?.position);\n if (Number.isFinite(nextPosition) && nextPosition > 0) setWaitlistPosition(nextPosition);\n if (response?.calendly_url) setWaitlistCalendlyUrl(String(response.calendly_url));\n setWaitlistSubmitted(true);\n } catch (err) {\n setWaitlistError(err?.message || 'Unable to join waitlist right now. Please try again.');\n } finally {\n setWaitlistSubmitting(false);\n }\n };\n\n const handleWaitlistCheck = () => {\n console.log('handleWaitlistCheck');\n setWaitlistSubmitted(false);\n };\n\n return (\n <div style={{ position: 'fixed', inset: 0, display: 'flex', overflow: 'hidden', fontFamily: FF, background: 'white' }}>\n\n {/* ── LEFT — Dark Brand Panel ── */}\n <div style={{\n flex: '0 0 628px', width: 628, minHeight: 0, background: 'var(--surface-dark)', display: 'flex', flexDirection: 'column',\n padding: '48px 0 40px 48px', position: 'relative', overflow: 'hidden',\n }}>\n <img src={chordiaLogo} alt=\"Chordia\" style={{\n width: 175, height: 48, objectFit: 'contain', marginBottom: 100, flexShrink: 0,\n }} />\n\n <div style={{ flex: 1, display: 'flex', flexDirection: 'column', justifyContent: 'flex-start', gap: 22 }}>\n <h1 style={{\n fontFamily: FF, fontSize: 'clamp(28px, 2.8vw, 28px)', fontWeight: 800,\n color: 'var(--color-text-inverse)', lineHeight: 1.08, margin: 0, letterSpacing: '-0.02em', paddingRight: 48,\n }}>\n Three Solutions. One Platform.\n </h1>\n\n {/* Carousel — card components */}\n <div style={{ position: 'relative', width: 412, height: 320, overflow: 'hidden', WebkitMaskImage: '-webkit-radial-gradient(white, black)' }}>\n <div style={{\n display: 'flex',\n gap: 16,\n height: '100%',\n transform: `translateX(${-activeSlide * 280}px)`,\n transition: 'transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)',\n }}>\n {[\n {\n Icon: CircleCheckBig,\n title: 'Evaluation Quality Monitoring',\n info: 'Stop sampling 2% of calls and hoping for the best. Chordia analyzes every conversation for quality, compliance, and coaching signals — with evidence, not opinions.',\n },\n {\n Icon: ShieldCheck,\n title: 'Compliance Monitoring',\n info: 'Continuously monitor customer service conversations for missed disclosures, risky language, and compliance gaps.',\n },\n {\n Icon: Radar,\n title: 'Signal Intelligence',\n info: 'Identify emerging themes, sentiment shifts, and customer issues hidden inside everyday service conversations.',\n },\n ].map(({ Icon, title, info }, i) => (\n <div key={i} style={{\n flexShrink: 0,\n width: 264,\n height: 320,\n padding: 32,\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 24,\n borderRadius: 16,\n border: '1px solid var(--surface-card-dark-border)',\n background: 'var(--surface-card-dark)',\n }}>\n <Icon width={36} height={36} color=\"var(--color-card-icon)\" strokeWidth={2.5} />\n <div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>\n <span style={{\n fontFamily: FF,\n fontSize: 24,\n fontStyle: 'normal',\n fontWeight: 600,\n lineHeight: '28px',\n color: 'var(--color-card-text)',\n }}>\n {title}\n </span>\n <span style={{\n fontFamily: FF,\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: 'normal',\n color: 'rgba(255,255,255,0.65)',\n }}>\n {info}\n </span>\n </div>\n </div>\n ))}\n </div>\n {/* Fade overlay — starts right after active card, second card only half-visible */}\n <div style={{\n position: 'absolute', top: 0,\n left: 280, right: 0,\n height: '100%',\n background: 'linear-gradient(270deg, #1D1E20 0%, rgba(29,30,32,0.80) 100%)',\n pointerEvents: 'none',\n }} />\n </div>\n\n {/* Dots */}\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 8, height: 4, marginTop: 'auto', flexShrink: 0 }}>\n {Array.from({ length: SLIDE_COUNT }).map((_, i) => (\n <button key={i} onClick={() => setActiveSlide(i)}\n style={{\n width: 80, height: 4, borderRadius: 6, border: 'none', padding: 0, cursor: 'pointer',\n background: i === activeSlide ? 'rgba(255,255,255,0.7)' : 'rgba(255,255,255,0.25)',\n transition: 'background 0.3s ease',\n }}\n />\n ))}\n </div>\n\n </div>\n </div>\n\n {/* ── RIGHT — Form Panel ── */}\n <div style={{\n flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', justifyContent: 'center',\n alignItems: 'center', padding: view === 'waitlist' ? '20px 48px' : '32px 72px', position: 'relative',\n background: 'white',\n overflowY: 'auto', minHeight: 0,\n }}>\n <div style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n width: '100%',\n maxWidth: view === 'waitlist' ? 430 : 360,\n gap: view === 'waitlist' ? 22 : 28,\n }}>\n\n {view === 'waitlist' ? (\n /* ── Join Waitlist (matches Sign Up panel styling) ── */\n <>\n {waitlistSubmitted ? (\n <div style={{ width: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', gap: 24 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 700, fontSize: '32px', lineHeight: '44px', color: 'var(--color-text)', margin: 0 }}>\n Chordia\n </h2>\n <h3 style={{ fontFamily: FF, fontWeight: 700, fontSize: '32px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n You're on the list!\n </h3>\n <p style={{ fontFamily: FF, fontWeight: 700, fontSize: '56px', lineHeight: '68px', color: 'var(--color-green)', margin: 0 }}>\n #{waitlistPosition.toLocaleString()}\n </p>\n <p style={{ fontFamily: FF, fontWeight: 400, fontSize: 18, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0, maxWidth: 470 }}>\n We’re working hard to increase capacity and will notify you very quickly. Check your email for confirmation.\n </p>\n\n <div style={{\n width: '100%',\n borderRadius: 12,\n border: '1px solid var(--color-input-border)',\n background: 'white',\n boxShadow: '0 1px 6px rgba(0,0,0,0.06)',\n padding: '24px 20px',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 14,\n }}>\n <p style={{ margin: 0, fontFamily: FF, fontSize: '24px', lineHeight: '40px', fontWeight: 700, color: 'var(--color-text)' }}>\n Want to skip the line?\n </p>\n <p style={{ margin: 0, fontFamily: FF, fontSize: '18px', lineHeight: '24px', fontWeight: 400, color: 'var(--color-text-secondary)' }}>\n Schedule a demo with our CEO and get immediate access.\n </p>\n <button\n type=\"button\"\n onClick={() => {\n if (waitlistCalendlyUrl) window.open(waitlistCalendlyUrl, '_blank', 'noopener,noreferrer');\n }}\n style={{\n minWidth: 220,\n height: 48,\n padding: '0 20px',\n borderRadius: 8,\n border: '2px solid #111111',\n background: 'white',\n color: 'var(--color-text)',\n fontFamily: FF,\n fontSize: 20,\n fontWeight: 700,\n lineHeight: '28px',\n cursor: waitlistCalendlyUrl ? 'pointer' : 'default',\n opacity: waitlistCalendlyUrl ? 1 : 0.65,\n }}\n disabled={!waitlistCalendlyUrl}\n >\n Schedule a Demo\n </button>\n </div>\n\n {/* <button\n type=\"button\"\n onClick={handleWaitlistCheck}\n style={{\n background: 'none',\n border: 'none',\n padding: 0,\n fontFamily: FF,\n fontSize: 24,\n lineHeight: '40px',\n fontWeight: 700,\n color: 'var(--color-text)',\n textDecoration: 'underline',\n textUnderlineOffset: 4,\n cursor: 'pointer',\n }}\n >\n Check your status\n </button> */}\n </div>\n ) : (\n <>\n <ViewHeading title=\"Join the Waitlist\" subtitle=\"Get early access to Chordia. We onboard new companies every week.\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 12 }}>\n <Field label=\"Full Name\" gap={8}>\n <input\n type=\"text\"\n value={waitlistFullName}\n onChange={(e) => { setWaitlistFullName(e.target.value); setWaitlistError(''); }}\n placeholder=\"Your full name\"\n autoFocus\n autoComplete=\"name\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Work Email\" gap={8}>\n <input\n type=\"email\"\n value={waitlistEmail}\n onChange={(e) => { setWaitlistEmail(e.target.value); setWaitlistError(''); }}\n placeholder=\"workemail@example.com\"\n autoComplete=\"email\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Company Name\" gap={8}>\n <input\n type=\"text\"\n value={waitlistCompany}\n onChange={(e) => { setWaitlistCompany(e.target.value); setWaitlistError(''); }}\n placeholder=\"Your Company\"\n autoComplete=\"organization\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n </div>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Job Title\" gap={8}>\n <input\n type=\"text\"\n value={waitlistJobTitle}\n onChange={(e) => setWaitlistJobTitle(e.target.value)}\n placeholder=\"Optional\"\n autoComplete=\"organization-title\"\n style={inputBase}\n onFocus={focusGreen}\n onBlur={blurGray}\n />\n </Field>\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <Field label=\"Team Size\" gap={8}>\n <div style={{ position: 'relative' }}>\n <select\n value={waitlistTeamSize}\n onChange={(e) => setWaitlistTeamSize(e.target.value)}\n style={{\n ...inputBase,\n appearance: 'none',\n WebkitAppearance: 'none',\n paddingRight: 36,\n cursor: 'pointer',\n fontSize: 15,\n color: waitlistTeamSize ? 'var(--color-text)' : 'var(--color-text-secondary)',\n }}\n >\n {TEAM_SIZE_OPTIONS.map((o) => (\n <option key={o.value || 'empty'} value={o.value}>{o.label}</option>\n ))}\n </select>\n <ChevronDown\n size={16}\n style={{\n position: 'absolute',\n right: 10,\n top: '50%',\n transform: 'translateY(-50%)',\n pointerEvents: 'none',\n color: 'var(--color-text-secondary)',\n }}\n />\n </div>\n </Field>\n </div>\n </div>\n\n <Field label=\"Phone systems\" gap={8}>\n <WaitlistMultiSelect\n compact\n options={PHONE_SYSTEM_OPTIONS}\n value={waitlistPhoneSystems}\n onChange={setWaitlistPhoneSystems}\n otherValue={waitlistPhoneOther}\n onOtherChange={setWaitlistPhoneOther}\n placeholder=\"Select (optional)\"\n otherPlaceholder=\"Please specify your phone system\"\n />\n </Field>\n <Field label=\"Meeting tools\" gap={8}>\n <WaitlistMultiSelect\n compact\n options={MEETING_TOOL_OPTIONS}\n value={waitlistMeetingTools}\n onChange={setWaitlistMeetingTools}\n otherValue={waitlistMeetingOther}\n onOtherChange={setWaitlistMeetingOther}\n placeholder=\"Select (optional)\"\n otherPlaceholder=\"Please specify your meeting tool\"\n />\n </Field>\n\n {waitlistError && (\n <div style={{\n display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box',\n background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px',\n color: 'var(--color-text)', fontFamily: FF,\n }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {waitlistError}\n </div>\n )}\n\n <GreenButton type=\"button\" onClick={handleWaitlistSubmit} disabled={waitlistSubmitting}>\n {waitlistSubmitting ? 'Joining...' : 'Join Waitlist'}\n </GreenButton>\n\n <NavRow text=\"I am already a member\" linkText=\"Log In\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={16} />\n </div>\n </>\n )}\n </>\n ) : view === 'signup' ? (\n /* ── Sign Up ── */\n <>\n <ViewHeading title=\"Sign Up\" subtitle=\"Please enter your basic details to continue\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n\n <div style={{ display: 'flex', gap: 16, width: '100%' }}>\n <Field label=\"First Name\" gap={8}>\n <input type=\"text\" value={firstName} onChange={(e) => setFirstName(e.target.value)}\n placeholder=\"First name\" autoFocus autoComplete=\"given-name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n <Field label=\"Last Name\" gap={8}>\n <input type=\"text\" value={lastName} onChange={(e) => setLastName(e.target.value)}\n placeholder=\"Last name\" autoComplete=\"family-name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n </div>\n\n <Field label=\"Email\" gap={8}>\n <input type=\"text\" value={signupEmail} onChange={(e) => { setSignupEmail(e.target.value); setSignupError(''); }}\n placeholder=\"workemail@example.com\" autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Create Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showSignupPassword ? 'text' : 'password'} value={signupPassword}\n onChange={(e) => { setSignupPassword(e.target.value); setSignupError(''); }}\n placeholder=\"Enter password\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showSignupPassword} onToggle={() => setShowSignupPassword(!showSignupPassword)} />\n </div>\n </Field>\n\n <Field label=\"Confirm Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showSignupConfirm ? 'text' : 'password'} value={signupConfirm}\n onChange={(e) => { setSignupConfirm(e.target.value); setSignupError(''); }}\n placeholder=\"Enter password\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showSignupConfirm} onToggle={() => setShowSignupConfirm(!showSignupConfirm)} />\n </div>\n </Field>\n\n {signupError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {signupError}\n </div>\n )}\n\n {(() => {\n const canCreate = firstName && lastName && signupEmail && signupPassword && signupConfirm;\n return (\n <GreenButton onClick={() => {\n setSignupError('');\n if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(signupEmail)) {\n setSignupError('Please enter a valid email address.');\n return;\n }\n if (signupPassword !== signupConfirm) {\n setSignupError('Password and Confirm Password do not match!');\n return;\n }\n onSignUp?.({ firstName, lastName, email: signupEmail, password: signupPassword });\n setView('verifyemail');\n }} disabled={!canCreate}>\n Create Account\n </GreenButton>\n );\n })()}\n\n <NavRow text=\"I am already a member\" linkText=\"Sign In\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} />\n </div>\n </>\n\n ) : view === 'verifyemail' ? (\n /* ── Verify Email ── */\n <>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n Verify Email\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Verify your email to continue the signup process.\n </p>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 24 }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '24px', color: 'var(--color-text-secondary)', margin: 0 }}>\n We have sent a verification link to:\n </p>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 600, lineHeight: '24px', color: 'var(--color-text)', margin: 0 }}>\n {signupEmail || 'youremail@workemail.com'}\n </p>\n </div>\n\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '24px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Click on the link to complete the verification process. You might need to check your Spam folder\n </p>\n\n <GreenButton onClick={() => { setView('signin'); onGoToLogin?.(); }}>\n Go To Login\n </GreenButton>\n </div>\n\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </>\n\n ) : view === 'verifycode' ? (\n /* ── Verify Code ── */\n <>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n <h2 style={{ fontFamily: FF, fontWeight: 600, fontSize: '36px', lineHeight: '52px', color: 'var(--color-text)', margin: 0 }}>\n Sign In with code\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n We have sent a one-time code to your email:{' '}\n <span style={{ color: 'var(--color-text)' }}>{verifyEmail || 'workemail@example.com'}</span>{' '}\n <button type=\"button\" onClick={() => setView('getcode')}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 18, fontWeight: 400, color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Change email\n </button>\n </p>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Enter one-time code\" gap={12}>\n <div style={{ display: 'flex', gap: 8 }}>\n {otpDigits.map((digit, i) => (\n <input key={i} ref={(el) => { otpRefs.current[i] = el; }}\n type=\"text\" inputMode=\"numeric\" maxLength={1} value={digit}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n onKeyDown={(e) => handleOtpKeyDown(i, e)}\n onPaste={(e) => handleOtpPaste(i, e)}\n autoFocus={i === 0}\n style={{\n flex: 1, minWidth: 0, height: 40, textAlign: 'center', fontSize: 16, fontWeight: 600,\n fontFamily: FF, color: 'var(--color-text)', border: '1px solid var(--color-input-border)',\n borderRadius: 4, outline: 'none', background: 'white', boxSizing: 'border-box',\n transition: 'border-color 0.15s, box-shadow 0.15s', caretColor: GREEN,\n }}\n onFocus={focusGreen} onBlur={blurGray}\n />\n ))}\n </div>\n </Field>\n\n <GreenButton onClick={() => onVerifyCode?.(verifyEmail, otpDigits.join(''))} disabled={otpDigits.some(d => !d)}>\n Verify Code\n </GreenButton>\n {otpError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {otpError}\n </div>\n )}\n <Divider />\n <NavRow text=\"Not received yet?\" linkText=\"Resend\" onClick={() => onResendCode?.(verifyEmail)} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={24} />\n </div>\n </>\n\n ) : view === 'getcode' ? (\n /* ── Get Code (original — email only) ── */\n <>\n <ViewHeading title=\"Get code\" subtitle=\"We'll send a one time pass-code to your email\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={codeEmail} onChange={(e) => setCodeEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoFocus autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <GreenButton onClick={() => { setVerifyEmail(codeEmail); setOtpDigits(['', '', '', '', '', '']); setView('verifycode'); onOneTimeCode?.(codeEmail); }} disabled={!codeEmail}>\n Send One-time Code\n </GreenButton>\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : view === 'getcodewithname' ? (\n /* ── Get Code with Full Name (unregistered email) ── */\n <>\n <ViewHeading title=\"Complete your sign in\" subtitle=\"We’ve sent a one-time code to your email. Please enter the code and your full name to sign in\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n \n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={codeEmail} onChange={(e) => setCodeEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Full Name\" gap={12}>\n <input type=\"text\" value={codeFullName} onChange={(e) => setCodeFullName(e.target.value)}\n placeholder=\"Enter your full name\" autoComplete=\"name\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <Field label=\"Enter one-time code\" gap={12}>\n <div style={{ display: 'flex', gap: 8 }}>\n {otpDigits.map((digit, i) => (\n <input key={i} ref={(el) => { otpRefs.current[i] = el; }}\n type=\"text\" inputMode=\"numeric\" maxLength={1} value={digit}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n onKeyDown={(e) => handleOtpKeyDown(i, e)}\n onPaste={(e) => handleOtpPaste(i, e)}\n autoFocus={i === 0}\n style={{\n flex: 1, minWidth: 0, height: 40, textAlign: 'center', fontSize: 16, fontWeight: 600,\n fontFamily: FF, color: 'var(--color-text)', border: '1px solid var(--color-input-border)',\n borderRadius: 4, outline: 'none', background: 'white', boxSizing: 'border-box',\n transition: 'border-color 0.15s, box-shadow 0.15s', caretColor: GREEN,\n }}\n onFocus={focusGreen} onBlur={blurGray}\n />\n ))}\n </div>\n </Field>\n\n <GreenButton onClick={() => { setVerifyEmail(codeEmail); onOneTimeCode?.(codeEmail, codeFullName, otpDigits.join('')); }} disabled={!codeEmail || !codeFullName || otpDigits.some(d => !d)}>\n Verify & Sign In\n </GreenButton>\n {otpError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {otpError}\n </div>\n )}\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : view === 'resetpassword' ? (\n /* ── Reset Password ── */\n <>\n <ViewHeading title=\"Reset Password\" subtitle=\"We'll send an email to reset your password\" />\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input type=\"email\" value={resetEmail} onChange={(e) => setResetEmail(e.target.value)}\n placeholder=\"workemail@example.com\" autoFocus autoComplete=\"email\"\n style={inputBase} onFocus={focusGreen} onBlur={blurGray} />\n </Field>\n\n <GreenButton onClick={() => onResetPassword?.(resetEmail)} disabled={!resetEmail}>\n Send Reset Link\n </GreenButton>\n <Divider />\n <NavRow text=\"I have my password\" linkText=\"Back to Sign in\" onClick={() => { setView('signin'); onGoToLogin?.(); }} />\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={40} />\n </div>\n </>\n\n ) : (\n /* ── Sign In ── */\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 48 }}>\n <ViewHeading title=\"Sign in\" subtitle=\"Enter your email & password to continue\" />\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 8 }}>\n <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', gap: 16 }}>\n\n <form onSubmit={handleSubmit} style={{ width: '100%', display: 'flex', flexDirection: 'column', gap: 16 }}>\n <Field label=\"Email\" gap={12}>\n <input ref={emailRef} type=\"email\" value={email} onChange={(e) => setEmail(e.target.value)}\n placeholder=\"workemail@example.com\" required autoComplete=\"email\"\n style={{ ...inputBase, border: `1px solid ${error ? 'var(--color-text)' : 'var(--color-input-border)'}` }}\n onFocus={focusErr} onBlur={blurErr} />\n </Field>\n\n <Field label=\"Password\" gap={12}>\n <div style={{ position: 'relative' }}>\n <input ref={passwordRef} type={showPassword ? 'text' : 'password'} value={password}\n onChange={(e) => setPassword(e.target.value)}\n placeholder=\"Enter password\" required autoComplete=\"current-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 16px', border: `1px solid ${error ? 'var(--color-text)' : 'var(--color-input-border)'}` }}\n onFocus={focusErr} onBlur={blurErr} />\n <EyeBtn show={showPassword} onToggle={() => setShowPassword(!showPassword)} />\n </div>\n </Field>\n\n <GreenButton type=\"submit\" disabled={!canSubmit}>\n {loading ? 'Signing in\\u2026' : 'Sign In'}\n </GreenButton>\n </form>\n\n {error && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {error}\n </div>\n )}\n\n <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', width: '100%' }}>\n <button type=\"button\" onClick={() => { setView('resetpassword'); onForgotPassword?.(); }}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 400, lineHeight: '100%', color: 'var(--color-text)', cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Forgot Password?\n </button>\n <button type=\"button\" onClick={() => { setView('getcode'); onOneTimeCode?.(); }}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '100%', color: GREEN, cursor: 'pointer', fontFamily: FF, textDecoration: 'underline solid', textUnderlineOffset: 0, textDecorationSkipInk: 'none' }}>\n Sign in with one-time code\n </button>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', gap: 2 }}>\n <Divider />\n <DescopeFlow projectId={descopeProjectId} onSuccess={onDescopeSuccess} onError={onDescopeError} />\n </div>\n </div>\n\n <NavRow\n text={signupMode === 'waitlist' ? \"Don't have an account yet?\" : 'Not a member yet?'}\n linkText={signupMode === 'waitlist' ? 'Join Waitlist' : 'Sign Up'}\n onClick={() => {\n if (signupMode === 'waitlist') {\n setView('waitlist');\n onJoinWaitlist?.();\n return;\n }\n setView('signup');\n onSignUp?.();\n }}\n />\n {/* <NavRow text=\"Not a member yet?\" linkText=\"Sign Up\" onClick={() => { setFirstName(''); setLastName(''); setSignupEmail(''); setSignupPassword(''); setSignupConfirm(''); setSignupError(''); setView('signup'); onSignUp?.(); }} /> */}\n <TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={16} />\n </div>\n </div>\n )}\n\n </div>\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { Eye, EyeOff, CircleCheckBig, Radar, ShieldCheck } from 'lucide-react';\nimport chordiaLogo from '../../assets/chordia-logo.png';\nimport '../../tokens/colors.css';\n\n// ── Constants ──────────────────────────────────────────────────────────────────\nconst GREEN = 'var(--color-green)';\nconst FF = 'var(--font-sans)';\nconst SLIDE_COUNT = 3;\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 disabledInput = {\n ...inputBase,\n background: 'var(--color-input-disabled-bg, #f5f5f5)',\n color: 'var(--color-text-secondary)',\n cursor: 'not-allowed',\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// ── Sub-components ───────────────────────────────────────────────────────────\nfunction Field({ label, gap = 12, children }) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap, width: '100%' }}>\n <label style={{ fontSize: 16, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, lineHeight: '100%' }}>\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 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 TermsFooter() {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', width: '100%', marginTop: 'auto', paddingTop: 40, flexShrink: 0 }}>\n <span style={{ fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF, textAlign: 'center', whiteSpace: 'nowrap' }}>\n By continuing, you agree to our{' '}\n <a href=\"https://chordia.ai/legal/terms-of-use\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Terms\n </a>\n {' '}and{' '}\n <a href=\"https://chordia.ai/legal/privacy-notice\" target=\"_blank\" rel=\"noopener noreferrer\"\n style={{ fontSize: 15, fontWeight: 400, color: 'var(--color-text)', fontFamily: FF, textDecoration: 'underline', textUnderlineOffset: 2 }}>\n Privacy Policy\n </a>\n .\n </span>\n </div>\n );\n}\n\n// ── SignUpPage ────────────────────────────────────────────────────────────────\n/**\n * SignUpPage — For invited users to set their password.\n *\n * Props:\n * - firstName: string — pre-filled, disabled\n * - lastName: string — pre-filled, disabled\n * - email: string — pre-filled, disabled\n * - onSubmit: ({ firstName, lastName, email, password }) => void\n * - onGoToLogin: () => void\n * - loading: boolean\n * - error: string | null\n */\nexport default function SignUpPage({\n firstName: initialFirstName = '',\n lastName: initialLastName = '',\n email: initialEmail = '',\n onSubmit,\n onGoToLogin,\n loading = false,\n error: externalError = null,\n}) {\n const [password, setPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [showConfirm, setShowConfirm] = useState(false);\n const [localError, setLocalError] = useState('');\n const [activeSlide, setActiveSlide] = useState(0);\n\n useEffect(() => {\n const t = setInterval(() => setActiveSlide((p) => (p + 1) % SLIDE_COUNT), 4000);\n return () => clearInterval(t);\n }, []);\n\n const error = externalError || localError;\n const canSubmit = password && confirmPassword && !loading;\n\n const handleSubmit = () => {\n setLocalError('');\n if (password.length < 8) {\n setLocalError('Password must be at least 8 characters.');\n return;\n }\n if (password !== confirmPassword) {\n setLocalError('Password and Confirm Password do not match!');\n return;\n }\n onSubmit?.({ firstName: initialFirstName, lastName: initialLastName, email: initialEmail, password });\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 */}\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, fontSize: 24, fontStyle: 'normal', fontWeight: 600,\n lineHeight: '28px', color: 'var(--color-card-text)',\n }}>\n {title}\n </span>\n <span style={{\n fontFamily: FF, fontSize: 12, fontStyle: 'normal', fontWeight: 400,\n lineHeight: 'normal', color: 'rgba(255,255,255,0.65)',\n }}>\n {info}\n </span>\n </div>\n </div>\n ))}\n </div>\n {/* Fade overlay */}\n <div style={{\n position: 'absolute', top: 0, left: 280, right: 0, 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, display: 'flex', flexDirection: 'column', alignItems: 'center',\n padding: '48px 80px 40px', overflow: 'auto', minWidth: 0,\n }}>\n <div style={{\n width: '100%', maxWidth: 420, display: 'flex', flexDirection: 'column',\n alignItems: 'stretch', gap: 24, flex: 1,\n }}>\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 Set Password\n </h2>\n <p style={{ fontFamily: FF, fontSize: 18, fontWeight: 400, lineHeight: '26px', color: 'var(--color-text-secondary)', margin: 0 }}>\n Complete your account setup by creating a password\n </p>\n </div>\n\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={initialFirstName} disabled\n style={disabledInput} />\n </Field>\n <Field label=\"Last Name\" gap={8}>\n <input type=\"text\" value={initialLastName} disabled\n style={disabledInput} />\n </Field>\n </div>\n\n <Field label=\"Email\" gap={8}>\n <input type=\"email\" value={initialEmail} disabled\n style={disabledInput} />\n </Field>\n\n <Field label=\"Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showPassword ? 'text' : 'password'} value={password}\n onChange={(e) => { setPassword(e.target.value); setLocalError(''); }}\n placeholder=\"At least 8 characters\" autoComplete=\"new-password\" autoFocus\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showPassword} onToggle={() => setShowPassword(!showPassword)} />\n </div>\n </Field>\n\n <Field label=\"Confirm Password\" gap={8}>\n <div style={{ position: 'relative' }}>\n <input type={showConfirm ? 'text' : 'password'} value={confirmPassword}\n onChange={(e) => { setConfirmPassword(e.target.value); setLocalError(''); }}\n placeholder=\"At least 8 characters\" autoComplete=\"new-password\"\n style={{ ...inputBase, padding: '10px 44px 10px 14px' }}\n onFocus={focusGreen} onBlur={blurGray} />\n <EyeBtn show={showConfirm} onToggle={() => setShowConfirm(!showConfirm)} />\n </div>\n </Field>\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: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"var(--color-text)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {error}\n </div>\n )}\n\n <GreenButton onClick={handleSubmit} disabled={!canSubmit}>\n {loading ? 'Setting up...' : 'Set Password'}\n </GreenButton>\n\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 Already have an account?\n </span>\n <button type=\"button\" onClick={onGoToLogin}\n style={{ background: 'none', border: 'none', padding: 0, fontSize: 15, fontWeight: 600, lineHeight: '22px', color: 'var(--color-green)', cursor: 'pointer', fontFamily: FF, textDecoration: 'underline' }}>\n Sign In\n </button>\n </div>\n\n <TermsFooter />\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["e","t","o","r","d","__assign","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","__spreadArray","to","from","pack","l","ar","__classPrivateFieldGet","receiver","state","kind","f","__classPrivateFieldSet","InvalidTokenError","b64DecodeUnicode","str","m","code","base64UrlDecode","output","jwtDecode","token","options","pos","part","decoded","a","u","c","g","h","v","I","k","b","y","O","w","j","U","T","R","x","$","q","S","C","A","L","E","M","N","D","H","J","z","_","F","K","V","Y","Z","B","Q","G","W","X","ee","te","ne","oe","se","ie","re","ae","de","pe","ue","le","ce","ge","he","ve","Ie","fe","me","ke","be","ye","Oe","we","je","Ue","Te","Re","Pe","xe","$e","qe","Se","Ce","Ae","Le","Ee","Me","Ne","De","He","Je","ze","_e","Fe","Ke","Ve","Ye","Ze","Be","Qe","Ge","We","Xe","et","tt","nt","ot","st","it","rt","at","dt","pt","ut","lt","ct","gt","ht","vt","It","ft","mt","assign","target","source","key","defaultConverter","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","chordiaLogo","GREEN","FF","inputBase","focusGreen","blurGray","TEAM_SIZE_OPTIONS","PHONE_SYSTEM_OPTIONS","MEETING_TOOL_OPTIONS","ViewHeading","title","subtitle","jsxs","jsx","GreenButton","onClick","disabled","children","type","active","Field","label","gap","labelSize","labelStyle","EyeBtn","show","onToggle","EyeOff","Eye","Divider","NavRow","text","linkText","TermsFooter","onTerms","onPrivacyPolicy","paddingTop","DescopeFlow","projectId","onSuccess","onError","AuthProvider","Descope","WaitlistMultiSelect","onChange","otherValue","onOtherChange","placeholder","otherPlaceholder","compact","open","setOpen","useState","wrapRef","useRef","useEffect","onDoc","toggle","opt","removeChip","chipBg","pad","minH","fs","ddMaxH","rowPad","showOtherField","toggleOpen","Fragment","ChevronDown","LoginPage","onLogin","onForgotPassword","onOneTimeCode","onVerifyCode","onResendCode","onSignUp","onJoinWaitlist","onWaitlistSubmit","onResetPassword","onDescopeSuccess","onDescopeError","descopeProjectId","onGoToLogin","externalLoading","externalError","codeError","defaultView","signupMode","email","setEmail","password","setPassword","emailAutofilled","setEmailAutofilled","passwordAutofilled","setPasswordAutofilled","showPassword","setShowPassword","internalLoading","setInternalLoading","internalError","setInternalError","view","setView","codeEmail","setCodeEmail","codeFullName","setCodeFullName","verifyEmail","setVerifyEmail","otpDigits","setOtpDigits","otpRefs","firstName","setFirstName","lastName","setLastName","signupEmail","setSignupEmail","signupPassword","setSignupPassword","signupConfirm","setSignupConfirm","showSignupPassword","setShowSignupPassword","showSignupConfirm","setShowSignupConfirm","signupError","setSignupError","resetEmail","setResetEmail","activeSlide","setActiveSlide","SLIDE_COUNT","waitlistFullName","setWaitlistFullName","waitlistEmail","setWaitlistEmail","waitlistCompany","setWaitlistCompany","waitlistJobTitle","setWaitlistJobTitle","waitlistTeamSize","setWaitlistTeamSize","waitlistPhoneSystems","setWaitlistPhoneSystems","waitlistMeetingTools","setWaitlistMeetingTools","waitlistPhoneOther","setWaitlistPhoneOther","waitlistMeetingOther","setWaitlistMeetingOther","waitlistError","setWaitlistError","waitlistSubmitting","setWaitlistSubmitting","waitlistSubmitted","setWaitlistSubmitted","waitlistPosition","setWaitlistPosition","waitlistCalendlyUrl","setWaitlistCalendlyUrl","emailRef","passwordRef","isAutofilled","el","sync","timers","ms","handleAnimationStart","eEl","pEl","onInput","syncIfNeeded","nextEmail","_a","nextPassword","_b","intervalId","loading","error","currentEmail","currentPassword","canSubmit","otpError","focusErr","blurErr","applyOtpFromString","startIndex","rawValue","clean","next","lastFilledIndex","nextIndex","handleOtpChange","index","digit","handleOtpKeyDown","handleOtpPaste","pasted","handleSubmit","submitEmail","submitPassword","err","handleWaitlistSubmit","em","co","phone_systems","meeting_tools","response","nextPosition","CircleCheckBig","ShieldCheck","Radar","Icon","info","disabledInput","SignUpPage","initialFirstName","initialLastName","initialEmail","onSubmit","confirmPassword","setConfirmPassword","showConfirm","setShowConfirm","localError","setLocalError"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|