@nibssplc/cams-sdk-react 0.0.1-beta.60 → 0.0.1-beta.62
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/OTPAuthentication.svg +1 -0
- package/dist/components/UnifiedCAMSProvider.d.ts +0 -1
- package/dist/context/CAMSContext.d.ts +0 -1
- package/dist/hooks/useCAMSMSALAuth.d.ts +1 -2
- package/dist/index.cjs.js +50 -24
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +51 -25
- package/dist/index.esm.js.map +1 -1
- package/dist/microsoftauthenticator.svg +18 -0
- package/package.json +1 -1
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.js","../src/hooks/useCAMSAuth.ts","../src/hooks/useCAMSMSALAuth.ts","../src/hooks/useCAMSPopupAuth.ts","../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../src/components/CAMSProvider.tsx","../src/components/ProtectedRoute.tsx","../src/components/CAMSMSALProvider.tsx","../src/components/ClientOnly.tsx","../src/context/CAMSContext.tsx","../src/components/UnifiedCAMSProvider.tsx","../../../node_modules/zod/v4/core/core.js","../../../node_modules/zod/v4/core/util.js","../../../node_modules/zod/v4/core/errors.js","../../../node_modules/zod/v4/core/parse.js","../../../node_modules/@hookform/resolvers/zod/dist/zod.mjs","../src/lib/utils.ts","../src/components/ui/input-otp.tsx","../src/components/ui/form.tsx","../src/components/ui/card.tsx","../src/components/GenericOTP.tsx","../src/components/ui/button.tsx","../src/components/ui/dialog.tsx","../../../node_modules/ldrs/dist/react/Waveform.js","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/Loading.tsx","../src/components/AuthSuccessAnimation.tsx","../src/hooks/useOTPHandler.tsx","../src/components/MFAOptions.tsx","../src/components/LoginButton.tsx","../src/components/MFAGate.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\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);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\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;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\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]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { useState, useCallback, useRef, useEffect } from \"react\";\nimport {\n CAMSSessionManager,\n CAMSConfig,\n CAMSError,\n Profile,\n isPopupWindow,\n initializePopupAuth,\n} from \"@nibssplc/cams-sdk\";\n\nexport interface UseCAMSAuthOptions {\n appCode: string;\n storageKey?: string;\n onAuthSuccess?: (token: string) => void;\n onAuthError?: (error: CAMSError) => void;\n onTokenExpired?: () => void;\n autoClose?: boolean;\n idleTimeout?: number;\n}\n\nexport interface UseCAMSAuthReturn {\n login: (config: CAMSConfig) => Promise<void>;\n logout: () => Promise<void>;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: CAMSError | null;\n token: string | null;\n profile: Profile | null;\n appCode: string;\n storageKey: string;\n}\n\nexport function useCAMSAuth(\n options: UseCAMSAuthOptions = {\n appCode: \"\",\n storageKey: \"CAMS-AUTH-SDK\",\n }\n): UseCAMSAuthReturn {\n const [isAuthenticated, setIsAuthenticated] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<CAMSError | null>(null);\n const [token, setToken] = useState<string>(\"\");\n const [profile, setProfile] = useState<Profile | null>(null);\n\n const sessionManagerRef = useRef<CAMSSessionManager | null>(null);\n\n useEffect(() => {\n // Only initialize on client side\n if (typeof window === \"undefined\") return;\n\n // Initialize popup auth handler if in popup\n if (isPopupWindow()) {\n initializePopupAuth();\n }\n\n sessionManagerRef.current ??= new CAMSSessionManager(\n localStorage,\n options.storageKey || \"CAMS-SDK\",\n {\n onAuthSuccess: (res: any) => {\n setToken(res.userProfile.tokens.Bearer);\n setIsAuthenticated(true);\n setIsLoading(false);\n options.onAuthSuccess?.(res.userProfile.tokens.Bearer);\n },\n onAuthError: (error: CAMSError) => {\n setError(error);\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n setIsLoading(false);\n options.onAuthError?.(error);\n },\n onTokenExpired: () => {\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n options.onTokenExpired?.();\n },\n }\n );\n\n // Check initial auth state (skip if in popup)\n if (!isPopupWindow()) {\n const initialAuth = sessionManagerRef.current.isAuthenticated();\n setIsAuthenticated(initialAuth);\n if (initialAuth) {\n setToken(sessionManagerRef.current.getAccessToken() ?? \"\");\n sessionManagerRef.current.getProfile().then(setProfile);\n }\n }\n }, [options.storageKey]);\n\n const login = useCallback(\n async (config: CAMSConfig) => {\n if (!sessionManagerRef.current) return;\n\n setIsLoading(true);\n setError(null);\n\n try {\n const loginConfig: CAMSConfig = {\n ...config,\n // autoClose: options.autoClose ?? config.autoClose,\n idleTimeout: options.idleTimeout ?? config.idleTimeout,\n };\n await sessionManagerRef.current.login(loginConfig);\n // State updates are handled by onAuthSuccess callback\n const userProfile = await sessionManagerRef.current.getProfile();\n setProfile(userProfile);\n } catch (err) {\n setError(err as CAMSError);\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n } finally {\n setIsLoading(false);\n }\n },\n [options.idleTimeout]\n );\n\n const logout = useCallback(async () => {\n if (!sessionManagerRef.current) return;\n\n await sessionManagerRef.current.logout();\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n setError(null);\n }, []);\n\n return {\n login,\n logout,\n isAuthenticated,\n isLoading,\n error,\n token,\n profile,\n appCode: options.appCode,\n storageKey: options.storageKey || \"CAMS-SDK\",\n };\n}\n","import { useState, useCallback, useEffect } from \"react\";\nimport { useMsal, useAccount } from \"@azure/msal-react\";\nimport { InteractionStatus } from \"@azure/msal-browser\";\nimport {\n CAMSError,\n CAMSErrorType,\n Logger,\n CAMSMFAAuthenticator,\n MFAConfig,\n MFAResponse,\n} from \"@nibssplc/cams-sdk\";\n\nexport interface UseCAMSMSALAuthOptions {\n onAuthSuccess?: (token: string) => void;\n onAuthError?: (error: CAMSError) => void;\n onTokenExpired?: () => void;\n scopes?: string[];\n storageKey?: string;\n mfaUrl?: string;\n prompt?: string;\n messageOrigin?: string;\n appCode: string;\n allowedOrigins?: string[];\n mfaApiEndpoint?: string;\n}\n\nexport interface UseCAMSMSALAuthReturn {\n login: () => Promise<void>;\n logout: () => Promise<void>;\n storageKey: string;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: CAMSError | null;\n idToken: string;\n accessToken: string;\n appCode: string;\n mfaAuthenticator: CAMSMFAAuthenticator | null;\n requiresMFA: boolean;\n completeMFA: (code: string, type: 'EmailOTP' | 'AuthenticatorCode') => Promise<MFAResponse>;\n sendEmailOTP: () => Promise<boolean>;\n}\n\nexport function useCAMSMSALAuth(\n options: UseCAMSMSALAuthOptions = {\n appCode: \"\",\n mfaUrl: \"/auth/multi-factor\",\n storageKey: \"CAMS-MSAL-AUTH-SDK\",\n }\n): UseCAMSMSALAuthReturn {\n const { instance, inProgress, accounts } = useMsal();\n const account = useAccount(accounts[0] || {});\n\n const [error, setError] = useState<CAMSError | null>(null);\n const [idToken, setIdToken] = useState<string>(\"\");\n const [accessToken, setAccessToken] = useState<string>(\"\");\n const [mfaAuthenticator, setMfaAuthenticator] = useState<CAMSMFAAuthenticator | null>(null);\n const [requiresMFA, setRequiresMFA] = useState<boolean>(false);\n\n const isLoading = inProgress !== InteractionStatus.None;\n const isAuthenticated = !!account && !!accessToken && !requiresMFA;\n\n const scopes = options.scopes || [\"openid\", \"profile\", \"email\"];\n\n const isTokenValid = (token: string): boolean => {\n try {\n const payload = JSON.parse(atob(token.split(\".\")[1]));\n return payload.exp * 1000 > Date.now();\n } catch {\n return false;\n }\n };\n\n useEffect(() => {\n if (typeof window !== \"undefined\" && !accessToken) {\n const stored = localStorage.getItem(options.storageKey!);\n if (stored) {\n try {\n const { accessToken, idToken, appCode } = JSON.parse(stored);\n if (accessToken && isTokenValid(accessToken)) {\n setAccessToken(accessToken);\n setIdToken(idToken);\n\n console.log(\"App Code >>>\", appCode, options.appCode);\n } else {\n localStorage.removeItem(options.storageKey!);\n }\n } catch {}\n }\n }\n }, [accessToken]);\n\n // useEffect(() => {\n // const handleRedirect = async () => {\n // try {\n // const response = await instance.handleRedirectPromise();\n\n // if (response) {\n // const account = response.account;\n // instance.setActiveA ccount(account);\n\n // const tokenResponse = await instance.acq uireTokenSilent({\n // scopes,\n // account,\n // });\n\n // setToken(tokenResponse.accessToken);\n // setAccessToken(tokenResponse.accessToken);\n // setIdToken(tokenResponse.idTo ken);\n\n // options.onAuthSuccess?.(tokenR esponse.accessToken);\n\n // if (\n // typeof window !== \"undefined\" &&\n // process.env.NODE_ENV !== \"test\"\n // ) {\n // window.location.href = options.mfaUrl!;\n // }\n // }\n // } catch (err) {\n // console.error(\"Redirect handling failed:\", err);\n // }\n // };\n\n // handleRedirect();\n // }, []);\n\n const login = useCallback(async () => {\n setError(null);\n\n try {\n const response = await instance.loginPopup({\n scopes,\n prompt: options.prompt || \"login\",\n });\n Logger.debug(\"Login Token response:\", {\n accessToken: response.accessToken,\n idToken: response.idToken,\n });\n setAccessToken(response.accessToken);\n setIdToken(response.idToken);\n\n // Initialize MFA authenticator\n const mfaConfig: MFAConfig = {\n accessToken: response.accessToken,\n idToken: response.idToken,\n appCode: options.appCode,\n provider: \"MSAL\",\n apiEndpoint: options.mfaApiEndpoint,\n };\n \n const authenticator = new CAMSMFAAuthenticator(mfaConfig);\n setMfaAuthenticator(authenticator);\n setRequiresMFA(true);\n\n // Don't persist as authenticated until MFA is complete\n if (typeof window !== \"undefined\") {\n localStorage.setItem(\n options.storageKey!,\n JSON.stringify({\n isAuthenticated: false,\n requiresMFA: true,\n accessToken: response.accessToken,\n idToken: response.idToken,\n })\n );\n }\n\n options.onAuthSuccess?.(response.accessToken);\n } catch (err: any) {\n // Handle user cancellation gracefully\n if (err.errorCode === \"user_cancelled\") {\n Logger.info(\"User cancelled login\");\n setError(null); // Don't treat cancellation as an error\n return;\n }\n\n // If popup is blocked\n if (\n err.errorCode === \"popup_window_error\" ||\n err.message?.includes(\"popup\")\n ) {\n const camsError = new CAMSError(\n CAMSErrorType.POPUP_BLOCKED,\n \"Popup blocked by browser. Please allow popups and try again.\"\n );\n setError(camsError);\n options.onAuthError?.(camsError);\n return;\n }\n\n const camsError = new CAMSError(\n CAMSErrorType.API_VALIDATION_ERROR,\n \"Login failed: \" + err.message || err\n );\n setError(camsError);\n options.onAuthError?.(camsError);\n }\n }, [instance, scopes, options]);\n\n const completeMFA = useCallback(async (code: string, type: 'EmailOTP' | 'AuthenticatorCode'): Promise<MFAResponse> => {\n if (!mfaAuthenticator) {\n throw new CAMSError(CAMSErrorType.API_VALIDATION_ERROR, \"MFA authenticator not initialized\");\n }\n\n try {\n const mfaResponse = await mfaAuthenticator.verifyOTP(code, type);\n \n if (mfaResponse.isAuthenticated) {\n setRequiresMFA(false);\n \n // Update storage with complete authentication\n if (typeof window !== \"undefined\") {\n localStorage.setItem(\n options.storageKey!,\n JSON.stringify({\n isAuthenticated: true,\n requiresMFA: false,\n accessToken,\n idToken,\n userProfile: mfaResponse,\n })\n );\n }\n }\n \n return mfaResponse;\n } catch (error) {\n setError(error as CAMSError);\n throw error;\n }\n }, [mfaAuthenticator, accessToken, idToken, options.storageKey]);\n\n const sendEmailOTP = useCallback(async (): Promise<boolean> => {\n if (!mfaAuthenticator) {\n return false;\n }\n return await mfaAuthenticator.sendEmailOTP();\n }, [mfaAuthenticator]);\n\n const logout = useCallback(async () => {\n try {\n await instance.logoutRedirect();\n\n setAccessToken(\"\");\n setIdToken(\"\");\n setError(null);\n setMfaAuthenticator(null);\n setRequiresMFA(false);\n if (typeof window !== \"undefined\") {\n localStorage.removeItem(options.storageKey!);\n }\n } catch (err: any) {\n const camsError = new CAMSError(\n CAMSErrorType.API_VALIDATION_ERROR,\n \"Logout failed: \" + err\n );\n setError(camsError);\n }\n }, [instance, options.storageKey]);\n\n return {\n login,\n logout,\n storageKey: options.storageKey!,\n isAuthenticated,\n isLoading,\n error,\n idToken,\n accessToken,\n appCode: options.appCode,\n mfaAuthenticator,\n requiresMFA,\n completeMFA,\n sendEmailOTP,\n };\n}\n","import { useEffect, useCallback } from \"react\";\nimport {\n CAMSSessionManager,\n Profile,\n isPopupWindow,\n initializePopupAuth,\n} from \"@nibssplc/cams-sdk\";\n\nexport interface UseCAMSPopupAuthOptions {\n storageKey?: string;\n targetOrigin?: string;\n onAuthComplete?: (profile: Profile) => void;\n onAuthError?: (error: any) => void;\n}\n\nexport interface UseCAMSPopupAuthReturn {\n completeAuth: (profile: Profile) => void;\n errorAuth: (error: any) => void;\n isPopup: boolean;\n}\n\n/**\n * Hook for handling authentication in popup windows\n * This should be used by the popup app to complete authentication\n */\nexport function useCAMSPopupAuth(\n options: UseCAMSPopupAuthOptions = {}\n): UseCAMSPopupAuthReturn {\n const { storageKey = \"CAMS-SDK\", targetOrigin, onAuthComplete, onAuthError } = options;\n\n useEffect(() => {\n if (typeof window === \"undefined\" || !isPopupWindow()) return;\n\n // Initialize popup auth handler\n initializePopupAuth(targetOrigin);\n\n // Set up global handlers for the popup app\n const globalHandlers = (window as any).__CAMS_POPUP_AUTH__;\n if (globalHandlers) {\n const originalCompleteAuth = globalHandlers.completeAuth;\n const originalErrorAuth = globalHandlers.errorAuth;\n\n globalHandlers.completeAuth = (profile: Profile) => {\n onAuthComplete?.(profile);\n originalCompleteAuth(profile);\n };\n\n globalHandlers.errorAuth = (error: any) => {\n onAuthError?.(error);\n originalErrorAuth(error);\n };\n }\n }, [targetOrigin, onAuthComplete, onAuthError]);\n\n const completeAuth = useCallback((profile: Profile) => {\n if (!isPopupWindow()) {\n console.warn(\"completeAuth called outside of popup window\");\n return;\n }\n\n const sessionManager = new CAMSSessionManager(localStorage, storageKey);\n sessionManager.completePopupAuth(profile, targetOrigin);\n }, [storageKey, targetOrigin]);\n\n const errorAuth = useCallback((error: any) => {\n if (!isPopupWindow()) {\n console.warn(\"errorAuth called outside of popup window\");\n return;\n }\n\n const sessionManager = new CAMSSessionManager(localStorage, storageKey);\n sessionManager.errorPopupAuth(error, targetOrigin);\n }, [storageKey, targetOrigin]);\n\n return {\n completeAuth,\n errorAuth,\n isPopup: isPopupWindow(),\n };\n}","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React, {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Profile } from '@nibssplc/cams-sdk';\nimport { useCAMSAuth, UseCAMSAuthReturn, UseCAMSAuthOptions } from '../hooks/useCAMSAuth';\n\ninterface CAMSContextValue extends UseCAMSAuthReturn {\n userProfile: Profile | null;\n setUserProfile: (profile: Profile | null) => void;\n}\n\nconst CAMSContext = createContext<CAMSContextValue | null>(null);\n\nexport interface CAMSProviderProps extends UseCAMSAuthOptions {\n children: React.ReactNode;\n}\n\nconst setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(Date.now() + days * 864e5).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nconst getCookie = (name: string): string | null => {\n return document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))\n ?.split(\"=\")[1]\n ? decodeURIComponent(\n document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))!\n .split(\"=\")[1]\n )\n : null;\n};\n\nconst deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};\n\n\n\nexport function CAMSProvider({\n children,\n ...authOptions\n}: Readonly<CAMSProviderProps>) {\n const auth = useCAMSAuth(authOptions);\n const profileStorageKey = `${auth.storageKey}-PROFILE`;\n\n const getInitialProfile = (): Profile | null => {\n if (typeof window === \"undefined\") {\n return null;\n }\n try {\n const storedProfile = getCookie(profileStorageKey);\n return storedProfile ? JSON.parse(storedProfile) : null;\n } catch {\n return null;\n }\n };\n\n const [userProfile, setUserProfile] = useState<Profile | null>(\n getInitialProfile\n );\n\n // Load profile from storage on mount\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n const storedProfile = getCookie(profileStorageKey);\n if (storedProfile) {\n try {\n setUserProfile(JSON.parse(storedProfile));\n } catch {}\n }\n }\n }, [profileStorageKey]);\n\n\n\n // Persist profile separately\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n if (userProfile) {\n setCookie(profileStorageKey, JSON.stringify(userProfile), 1);\n } else {\n deleteCookie(profileStorageKey);\n }\n }\n }, [userProfile, profileStorageKey]);\n\n // Enhanced logout that also clears profile\n const enhancedLogout = async () => {\n await auth.logout();\n setUserProfile(null);\n\n if (typeof window !== \"undefined\") {\n deleteCookie(profileStorageKey);\n }\n };\n\n const value = useMemo(\n () => ({\n ...auth,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n }),\n [auth, userProfile]\n );\n\n return (\n <CAMSContext.Provider value={value}>\n {children}\n </CAMSContext.Provider>\n );\n}\n\nexport function useCAMSContext(): CAMSContextValue {\n const context = useContext(CAMSContext);\n if (!context) {\n throw new Error('useCAMSContext must be used within a CAMSProvider');\n }\n return context;\n}","import React, { ReactNode } from 'react';\nimport { useCAMSContext } from './CAMSProvider';\n\nexport interface ProtectedRouteProps {\n children: ReactNode;\n fallback?: ReactNode;\n redirectTo?: string;\n}\n\nexport function ProtectedRoute({ children, fallback, redirectTo }: ProtectedRouteProps) {\n const { isAuthenticated, isLoading } = useCAMSContext();\n\n if (isLoading) {\n return fallback || <div>Loading...</div>;\n }\n\n if (!isAuthenticated) {\n if (redirectTo && typeof window !== 'undefined') {\n window.location.href = redirectTo;\n return null;\n }\n return fallback || <div>Access denied. Please log in.</div>;\n }\n\n return <>{children}</>;\n}","import React, {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { MsalProvider } from \"@azure/msal-react\";\nimport { PublicClientApplication, Configuration } from \"@azure/msal-browser\";\nimport { Profile } from \"@nibssplc/cams-sdk\";\nimport {\n useCAMSMSALAuth,\n UseCAMSMSALAuthReturn,\n UseCAMSMSALAuthOptions,\n} from \"../hooks/useCAMSMSALAuth\";\n\ninterface CAMSMSALContextValue extends UseCAMSMSALAuthReturn {\n userProfile: Profile | null;\n setUserProfile: (profile: Profile | null) => void;\n}\n\nconst CAMSMSALContext = createContext<CAMSMSALContextValue | null>(null);\n\nexport interface CAMSMSALProviderProps extends UseCAMSMSALAuthOptions {\n children: React.ReactNode;\n msalConfig: Configuration;\n msalInstance?: PublicClientApplication;\n}\n\nconst setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(Date.now() + days * 864e5).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nconst getCookie = (name: string): string | null => {\n return document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))\n ?.split(\"=\")[1]\n ? decodeURIComponent(\n document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))!\n .split(\"=\")[1]\n )\n : null;\n};\n\nconst deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};\n\nconst isTokenValid = (token: string): boolean => {\n try {\n const payload = JSON.parse(atob(token.split(\".\")[1]));\n return payload.exp * 1000 > Date.now();\n } catch {\n return false;\n }\n};\n\nfunction CAMSMSALProviderInner({\n children,\n ...authOptions\n}: Readonly<Omit<CAMSMSALProviderProps, \"msalConfig\" | \"msalInstance\">>) {\n const auth = useCAMSMSALAuth(authOptions);\n const profileStorageKey = `${auth.storageKey}-PROFILE`;\n\n const getInitialProfile = (): Profile | null => {\n if (typeof window === \"undefined\") {\n return null;\n }\n try {\n const storedProfile = getCookie(profileStorageKey);\n return storedProfile ? JSON.parse(storedProfile) : null;\n } catch {\n return null;\n }\n };\n\n const [userProfile, setUserProfile] = useState<Profile | null>(\n getInitialProfile\n );\n\n // Load profile from storage on mount\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n // const storedProfile = localStorage.get Item(profileStorageKey);\n const storedProfile = getCookie(profileStorageKey);\n if (storedProfile) {\n try {\n setUserProfile(JSON.parse(storedProfile));\n } catch {}\n }\n }\n }, [profileStorageKey]);\n\n // Persist tokens and profile\n useEffect(() => {\n if (\n auth.accessToken &&\n isTokenValid(auth.accessToken) &&\n typeof window !== \"undefined\"\n ) {\n localStorage.setItem(\n auth.storageKey,\n JSON.stringify({\n accessToken: auth.accessToken,\n idToken: auth.idToken,\n appCode: auth.appCode\n })\n );\n }\n }, [auth.accessToken, auth.idToken, auth.storageKey]);\n\n // Persist profile separately\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n\n if (userProfile) {\n setCookie(profileStorageKey, JSON.stringify(userProfile), 1); // Store for 1 day\n } else {\n deleteCookie(profileStorageKey);\n }\n }\n }, [userProfile, profileStorageKey]);\n\n // Enhanced logout that also clears profile\n const enhancedLogout = async () => {\n await auth.logout();\n setUserProfile(null);\n\n if (typeof window !== \"undefined\") {\n deleteCookie(profileStorageKey);\n }\n };\n\n const value = useMemo(\n () => ({\n ...auth,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n }),\n [auth, userProfile]\n );\n\n return (\n <CAMSMSALContext.Provider value={value}>\n {children}\n </CAMSMSALContext.Provider>\n );\n}\n\nexport function CAMSMSALProvider(props: Readonly<CAMSMSALProviderProps>) {\n const { msalConfig, msalInstance } = props;\n const instance = msalInstance || new PublicClientApplication(msalConfig);\n\n return (\n <MsalProvider instance={instance}>\n <CAMSMSALProviderInner {...props} />\n </MsalProvider>\n );\n}\n\nexport function useCAMSMSALContext(): CAMSMSALContextValue {\n const context = useContext(CAMSMSALContext);\n if (!context) {\n throw new Error(\n \"useCAMSMSALContext must be used within a CAMSMSALProvider\"\n );\n }\n return context;\n}\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\ninterface ClientOnlyProps {\n children: React.ReactNode;\n fallback?: React.ReactNode;\n}\n\nconst ClientOnly = ({ children, fallback = null }: ClientOnlyProps) => {\n const [hasMounted, setHasMounted] = useState(false);\n\n useEffect(() => {\n setHasMounted(true);\n }, []);\n\n if (!hasMounted) {\n return <>{fallback}</>;\n }\n\n return <>{children}</>;\n};\n\nexport default ClientOnly;","import { createContext, useContext } from \"react\";\nimport { Profile } from \"@nibssplc/cams-sdk\";\nimport {\n UseCAMSAuthReturn,\n} from \"../hooks/useCAMSAuth\";\nimport {\n UseCAMSMSALAuthReturn,\n} from \"../hooks/useCAMSMSALAuth\";\n\ntype AuthMode = \"REGULAR\" | \"MSAL\";\n\ninterface BaseCAMSContextValue {\n userProfile: Profile | null;\n setUserProfile: (profile: Profile | null) => void;\n authMode: AuthMode;\n validateTokenUrl?: string;\n}\n\ninterface RegularCAMSContextValue\n extends BaseCAMSContextValue,\n UseCAMSAuthReturn {\n authMode: \"REGULAR\";\n}\n\ninterface MSALCAMSContextValue\n extends BaseCAMSContextValue,\n UseCAMSMSALAuthReturn {\n authMode: \"MSAL\";\n}\n\nexport type CAMSContextValue = RegularCAMSContextValue | MSALCAMSContextValue;\n\nexport const CAMSContext = createContext<CAMSContextValue | null>(null);\n\nexport function useCAMSContext(): CAMSContextValue {\n const context = useContext(CAMSContext);\n if (!context) {\n throw new Error(\"useCAMSContext must be used within a UnifiedCAMSProvider\");\n }\n return context;\n}\n","import React, {\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { z } from \"zod\";\nimport { MsalProvider } from \"@azure/msal-react\";\nimport { PublicClientApplication, Configuration } from \"@azure/msal-browser\";\nimport { Profile } from \"@nibssplc/cams-sdk\";\nimport {\n useCAMSAuth,\n UseCAMSAuthOptions,\n} from \"../hooks/useCAMSAuth\";\nimport {\n useCAMSMSALAuth,\n UseCAMSMSALAuthOptions,\n} from \"../hooks/useCAMSMSALAuth\";\nimport { CAMSContext, CAMSContextValue, useCAMSContext } from \"../context/CAMSContext\";\nimport ClientOnly from \"./ClientOnly\";\n\nconst GuidSchema = z.uuid(\"appCode must be a valid GUID\");\nconst UrlSchema = z.url(\"validateTokenUrl must be a valid URL\");\n\ninterface BaseProviderProps {\n children: React.ReactNode;\n appCode: string;\n}\n\ninterface RegularProviderProps\n extends BaseProviderProps,\n Omit<UseCAMSAuthOptions, \"appCode\"> {\n mode: \"REGULAR\";\n}\n\ninterface MSALProviderProps extends BaseProviderProps, UseCAMSMSALAuthOptions {\n mode: \"MSAL\";\n msalConfig: Configuration;\n msalInstance?: PublicClientApplication;\n validateTokenUrl?: string;\n}\n\ntype UnifiedCAMSProviderProps = RegularProviderProps | MSALProviderProps;\n\nconst setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(\n Date.now() + days * 24 * 60 * 60 * 1000\n ).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nconst getCookie = (name: string): string | null => {\n return document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))\n ?.split(\"=\")[1]\n ? decodeURIComponent(\n document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))!\n .split(\"=\")[1]\n )\n : null;\n};\n\nconst deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};\n\nfunction CAMSProviderInner(props: UnifiedCAMSProviderProps) {\n return (\n <ClientOnly fallback={<div>Loading...</div>}>\n <CAMSProviderCore {...props} />\n </ClientOnly>\n );\n}\n\nfunction CAMSProviderCore(props: UnifiedCAMSProviderProps) {\n const { children, mode, appCode, validateTokenUrl } = props as UnifiedCAMSProviderProps & { validateTokenUrl?: string };\n\n // Always call both hooks to satisfy Rules of Hooks\n const regularAuth = useCAMSAuth(\n mode === \"REGULAR\"\n ? ({ ...props, appCode } as UseCAMSAuthOptions)\n : { appCode: \"\" }\n );\n const msalAuth = useCAMSMSALAuth(\n mode === \"MSAL\"\n ? ({ ...props, appCode } as UseCAMSMSALAuthOptions)\n : { appCode: \"\" }\n );\n\n const auth = mode === \"REGULAR\" ? regularAuth : msalAuth;\n const profileStorageKey = `${auth.storageKey}-PROFILE`;\n\n const getInitialProfile = (): Profile | null => {\n if (typeof window === \"undefined\") return null;\n try {\n const storedProfile = getCookie(profileStorageKey);\n return storedProfile ? JSON.parse(storedProfile) : null;\n } catch {\n return null;\n }\n };\n\n const [userProfile, setUserProfile] = useState<Profile | null>(\n getInitialProfile\n );\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n const storedProfile = getCookie(profileStorageKey);\n if (storedProfile) {\n try {\n setUserProfile(JSON.parse(storedProfile));\n } catch {}\n }\n }\n }, [profileStorageKey]);\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n if (userProfile) {\n setCookie(profileStorageKey, JSON.stringify(userProfile), 1);\n } else {\n deleteCookie(profileStorageKey);\n }\n }\n }, [userProfile, profileStorageKey]);\n\n const enhancedLogout = async () => {\n await auth.logout();\n setUserProfile(null);\n if (typeof window !== \"undefined\") {\n deleteCookie(profileStorageKey);\n }\n };\n\n // Handle MFA completion for MSAL mode\n useEffect(() => {\n if (mode === \"MSAL\" && \"requiresMFA\" in auth && !auth.requiresMFA && auth.isAuthenticated && !userProfile) {\n // MFA completed, extract profile from stored data\n const storedData = getCookie(auth.storageKey);\n if (storedData) {\n try {\n const parsed = JSON.parse(storedData);\n if (parsed.userProfile) {\n setUserProfile(parsed.userProfile);\n }\n } catch {}\n }\n }\n }, [mode, auth, userProfile]);\n\n const value = useMemo(\n () =>\n ({\n ...auth,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n authMode: mode,\n validateTokenUrl,\n } as CAMSContextValue),\n [auth, userProfile, mode, validateTokenUrl]\n );\n\n return <CAMSContext.Provider value={value}>{children}</CAMSContext.Provider>;\n}\n\nexport function UnifiedCAMSProvider(props: UnifiedCAMSProviderProps) {\n // Validate appCode is a valid GUID\n const appCodeValidation = GuidSchema.safeParse(props.appCode);\n if (!appCodeValidation.success) {\n throw new Error(\n `Invalid appCode: ${appCodeValidation.error.issues[0].message}`\n );\n }\n\n // Validate validateTokenUrl if provided\n if (props.mode === \"MSAL\" && props.validateTokenUrl) {\n const urlValidation = UrlSchema.safeParse(props.validateTokenUrl);\n if (!urlValidation.success) {\n throw new Error(\n `Invalid validateTokenUrl: ${urlValidation.error.issues[0].message}`\n );\n }\n }\n\n if (props.mode === \"MSAL\") {\n const { msalConfig, msalInstance } = props;\n const instance = msalInstance || new PublicClientApplication(msalConfig);\n\n return (\n <MsalProvider instance={instance}>\n <CAMSProviderCore {...props} />\n </MsalProvider>\n );\n }\n\n return (\n <ClientOnly fallback={<div>Loading...</div>}>\n <CAMSProviderCore {...props} />\n </ClientOnly>\n );\n}\n\n// Backward compatibility exports\nexport const CAMSProvider = (props: Omit<RegularProviderProps, \"mode\">) => (\n <UnifiedCAMSProvider {...props} mode=\"REGULAR\" />\n);\n\nexport const CAMSMSALProvider = (props: Omit<MSALProviderProps, \"mode\">) => (\n <UnifiedCAMSProvider {...props} mode=\"MSAL\" />\n);\n\n// Export useCAMSContext\nexport { useCAMSContext };\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n var _a;\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod ?? {},\n enumerable: false,\n });\n (_a = inst._zod).traits ?? (_a.traits = new Set());\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n for (const k in _.prototype) {\n if (!(k in inst))\n Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });\n }\n inst._zod.constr = _;\n inst._zod.def = def;\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\"Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = {\n ...schema._zod.def,\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: schema._zod.def.checks,\n };\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n","import{validateFieldsNatively as r,toNestErrors as e}from\"@hookform/resolvers\";import{appendErrors as o}from\"react-hook-form\";import*as n from\"zod/v4/core\";function t(r,e){try{var o=r()}catch(r){return e(r)}return o&&o.then?o.then(void 0,e):o}function s(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"unionErrors\"in t){var u=t.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"unionErrors\"in t&&t.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function i(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"invalid_union\"===t.code&&t.errors.length>0){var u=t.errors[0][0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"invalid_union\"===t.code&&t.errors.forEach(function(e){return e.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function a(o,a,u){if(void 0===u&&(u={}),function(r){return\"_def\"in r&&\"object\"==typeof r._def&&\"typeName\"in r._def}(o))return function(n,i,c){try{return Promise.resolve(t(function(){return Promise.resolve(o[\"sync\"===u.mode?\"parse\":\"parseAsync\"](n,a)).then(function(e){return c.shouldUseNativeValidation&&r({},c),{errors:{},values:u.raw?Object.assign({},n):e}})},function(r){if(function(r){return Array.isArray(null==r?void 0:r.issues)}(r))return{values:{},errors:e(s(r.errors,!c.shouldUseNativeValidation&&\"all\"===c.criteriaMode),c)};throw r}))}catch(r){return Promise.reject(r)}};if(function(r){return\"_zod\"in r&&\"object\"==typeof r._zod}(o))return function(s,c,f){try{return Promise.resolve(t(function(){return Promise.resolve((\"sync\"===u.mode?n.parse:n.parseAsync)(o,s,a)).then(function(e){return f.shouldUseNativeValidation&&r({},f),{errors:{},values:u.raw?Object.assign({},s):e}})},function(r){if(function(r){return r instanceof n.$ZodError}(r))return{values:{},errors:e(i(r.issues,!f.shouldUseNativeValidation&&\"all\"===f.criteriaMode),f)};throw r}))}catch(r){return Promise.reject(r)}};throw new Error(\"Invalid input: not a Zod schema\")}export{a as zodResolver};\n//# sourceMappingURL=zod.module.js.map\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { MinusIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string\n}) {\n return (\n <OTPInput\n data-slot=\"input-otp\"\n containerClassName={cn(\n \"flex items-center gap-2 has-disabled:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\"flex items-center\", className)}\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n index: number\n}) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n \"data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n <MinusIcon />\n </div>\n )\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Label } from \"./label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? \"\") : props.children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n )\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}","import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","// components/GenericOTPVerifier.tsx\nimport { z } from \"zod\";\nimport { REGEXP_ONLY_DIGITS } from \"input-otp\";\nimport { RectangleEllipsis } from \"lucide-react\";\nimport { useForm } from \"react-hook-form\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n} from \"./ui/input-otp\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormMessage,\n} from \"./ui/form\";\nimport { CardHeader, CardTitle } from \"./ui/card\";\n\ninterface GenericOTPProps {\n value: string;\n setValue: (v: string) => void;\n setLoading?: React.Dispatch<React.SetStateAction<boolean>>;\n isDisabled: boolean;\n onChangeOTP: (val: string) => void;\n fieldName: \"AuthenticatorCode\" | \"EmailOTP\";\n attemptCount?: number;\n remainingAttempts?: number;\n isMaxAttemptsReached?: boolean;\n}\n\nexport const GenericOTPVerifier = ({\n value,\n setValue,\n setLoading,\n onChangeOTP,\n fieldName = \"EmailOTP\",\n attemptCount = 0,\n remainingAttempts = 3,\n isMaxAttemptsReached = false,\n}: GenericOTPProps) => {\n const Schema = z.object({\n [fieldName]: z.string().min(6, {\n message: \"One Time Password must be 6 characters.\",\n }),\n });\n\n const form = useForm<z.infer<typeof Schema>>({\n resolver: zodResolver(Schema),\n defaultValues: { [fieldName]: \"\" },\n });\n\n return (\n <div className=\"relative rounded space-y-4 p-0 m-0 py-8 space-x-6\">\n <CardHeader className=\"flex items-center justify-center flex-col gap-2 mt-2 text-center mb-8\">\n <div className=\"w-16 h-16 bg-gradient-to-br from-lime-400 via-green-500 to-emerald-600 rounded-xl flex items-center justify-center text-white text-2xl mb-6 group-hover:scale-110 transition-transform duration-300\">\n <RectangleEllipsis />\n </div>\n <CardTitle className=\"font-bold text-emerald-700 text-2xl\">\n One-Time-Password (OTP)\n </CardTitle>\n {attemptCount > 0 && (\n <div className={`text-sm mt-2 ${\n isMaxAttemptsReached ? 'text-red-600' : 'text-orange-600'\n }`}>\n {isMaxAttemptsReached \n ? 'Maximum attempts reached. Please try again later.' \n : `Attempt ${attemptCount}/3 - ${remainingAttempts} attempts remaining`\n }\n </div>\n )}\n </CardHeader>\n\n <div className=\"space-y-6\">\n <Form {...form}>\n <form className=\"flex items-center justify-center my-4 \">\n <FormField\n control={form.control}\n name={fieldName}\n render={() => (\n <FormItem className=\"flex items-center justify-center flex-col gap-y-1 space-y-4\">\n <FormControl>\n <InputOTP\n maxLength={6}\n value={value}\n disabled={isMaxAttemptsReached}\n onChange={(authenticationValue) => {\n setValue(authenticationValue);\n\n if (authenticationValue.length === 6 && !isMaxAttemptsReached) {\n setLoading?.(true);\n onChangeOTP(authenticationValue);\n }\n }}\n pattern={REGEXP_ONLY_DIGITS}\n >\n <InputOTPGroup className=\"space-x-2\">\n {[...Array(6)].map((_, idx) => (\n <InputOTPSlot\n key={idx + 1}\n className={`border border-l-2 ${\n isMaxAttemptsReached ? 'opacity-50 cursor-not-allowed' : ''\n }`}\n index={idx}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </form>\n {/* <div className=\"flex flex-col gap-3 items-center justify-center\">\n <Button\n className=\"bg-emerald-700 px-12 py-4 mt-8 space-y-6\"\n onClick={submitOTP}\n disabled={isDisabled}\n >\n {isDisabled\n ? `Resend Code? Retry in ${formattedTime}`\n : \"Resend Code\"}\n </Button>\n </div> */}\n </Form>\n </div>\n </div>\n );\n};\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}","import{jsx as e,jsxs as s}from\"react/jsx-runtime\";var a=\"container_f782f4\",i=\"inner_37f4c9\",c=\"bar_409d0f\";const r=({size:r=35,color:l=\"black\",speed:d=1,stroke:o=3.5})=>e(\"div\",{className:a,style:{\"--uib-size\":r+\"px\",\"--uib-color\":l,\"--uib-speed\":d+\"s\",\"--uib-stroke\":o+\"px\"},children:s(\"div\",{className:i,children:[e(\"div\",{className:c}),e(\"div\",{className:c}),e(\"div\",{className:c}),e(\"div\",{className:c})]})});export{r as default};\n//# sourceMappingURL=Waveform.js.map\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","\"use client\";\n\nimport \"ldrs/waveform\";\nimport { Waveform } from \"ldrs/react\";\nimport \"ldrs/react/Waveform.css\";\n\nconst LoadingSpinner = ({ loadingText }: { loadingText?: string }) => {\n return (\n <div className=\"flex flex-col justify-center items-center\">\n <script\n type=\"module\"\n defer\n src=\"https://cdn.jsdelivr.net/npm/ldrs/dist/auto/waveform.js\"\n />\n\n <Waveform size=\"35\" stroke=\"3.5\" speed=\"1\" color=\"green\" />\n\n {loadingText && (\n <p className=\"text-center font-semibold mt-3\">Loading...</p>\n )}\n </div>\n );\n};\n\nexport default LoadingSpinner;\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\nimport { CheckCircle } from \"lucide-react\";\n\ninterface AuthSuccessAnimationProps {\n onComplete?: () => void;\n}\n\nexport const AuthSuccessAnimation = ({ onComplete }: AuthSuccessAnimationProps) => {\n return (\n <motion.div\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ duration: 0.5, ease: \"easeOut\" }}\n className=\"flex flex-col items-center justify-center space-y-6 p-8\"\n onAnimationComplete={onComplete}\n >\n <motion.div\n initial={{ scale: 0 }}\n animate={{ scale: 1 }}\n transition={{ delay: 0.2, duration: 0.6, type: \"spring\", stiffness: 200 }}\n >\n <CheckCircle className=\"w-20 h-20 text-green-500\" />\n </motion.div>\n \n <motion.div\n initial={{ y: 20, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n transition={{ delay: 0.4, duration: 0.5 }}\n className=\"text-center space-y-2\"\n >\n <h2 className=\"text-2xl font-bold text-green-600\">Authentication Successful!</h2>\n <p className=\"text-gray-600\">Redirecting you to the application...</p>\n </motion.div>\n \n <motion.div\n initial={{ width: 0 }}\n animate={{ width: \"100%\" }}\n transition={{ delay: 0.8, duration: 2 }}\n className=\"h-1 bg-green-500 rounded-full max-w-xs\"\n />\n </motion.div>\n );\n};","\"use client\";\n\nimport { useState, useCallback, useMemo } from \"react\";\nimport axios from \"axios\";\n\nexport const useOTPHandler = ({\n provider,\n accessToken,\n idToken,\n appCode,\n authenticationType,\n validateTokenUrl,\n onAuthComplete,\n}: {\n provider: string;\n accessToken: string;\n idToken: string;\n appCode: string;\n authenticationType: \"AuthenticatorCode\" | \"EmailOTP\" | null;\n validateTokenUrl: string;\n onAuthComplete: (state: boolean, data: UserValidatedResponse | null) => void;\n}) => {\n const [loading, setLoading] = useState(false);\n const [attemptCount, setAttemptCount] = useState(0);\n const [isMaxAttemptsReached, setIsMaxAttemptsReached] = useState(false);\n const MAX_ATTEMPTS = 3;\n\n const handleSubmitOTP = useMemo(\n () => async (authenticationValue: string) => {\n if (isMaxAttemptsReached) {\n onAuthComplete(false, {\n message: \"Maximum attempts reached\",\n } as UserValidatedResponse);\n return false;\n }\n\n try {\n setLoading(true);\n const currentAttempt = attemptCount + 1;\n setAttemptCount(currentAttempt);\n\n if (authenticationType === null) return false;\n\n const { data: response } = await axios.post(validateTokenUrl, {\n provider,\n accessToken,\n idToken,\n authenticationType,\n MFACode: authenticationValue,\n appCode,\n });\n\n if (response) {\n onAuthComplete(true, response);\n return true;\n } else {\n if (currentAttempt >= MAX_ATTEMPTS) {\n setIsMaxAttemptsReached(true);\n onAuthComplete(false, {\n message: \"Maximum attempts reached\",\n } as UserValidatedResponse);\n } else {\n onAuthComplete(false, response);\n }\n return false;\n }\n } catch (error) {\n console.error(error);\n\n const currentAttempt = attemptCount + 1;\n if (currentAttempt >= MAX_ATTEMPTS) {\n setIsMaxAttemptsReached(true);\n onAuthComplete(false, error as UserValidatedResponse);\n } else {\n onAuthComplete(false, error as UserValidatedResponse);\n }\n\n onAuthComplete(false, error as UserValidatedResponse);\n return false;\n } finally {\n setLoading(false);\n }\n },\n [\n accessToken,\n idToken,\n authenticationType,\n onAuthComplete,\n validateTokenUrl,\n attemptCount,\n isMaxAttemptsReached,\n ]\n );\n\n const resetAttempts = useCallback(() => {\n setAttemptCount(0);\n setIsMaxAttemptsReached(false);\n }, []);\n\n return {\n handleSubmitOTP,\n loading,\n setLoading,\n attemptCount,\n isMaxAttemptsReached,\n resetAttempts,\n remainingAttempts: MAX_ATTEMPTS - attemptCount,\n };\n};\n","\"use client\";\n\nimport { useState } from \"react\";\nimport { GenericOTPVerifier } from \"./GenericOTP\";\nimport { Mail, ShieldCheck, ShieldClose } from \"lucide-react\";\nimport {\n Card,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../components/ui/card\";\nimport { Button } from \"./ui/button\";\nimport { Dialog, DialogTitle, DialogContent, DialogHeader } from \"./ui/dialog\";\nimport LoadingSpinner from \"./Loading\";\nimport { toast } from \"sonner\";\nimport { AuthSuccessAnimation } from \"./AuthSuccessAnimation\";\nimport { useCAMSContext } from \"../context/CAMSContext\";\nimport { useOTPHandler } from \"../hooks/useOTPHandler\";\n\ninterface MFAOptionsProps {\n onComplete?: (success: boolean) => void;\n}\n\nconst MFAOptions = ({ onComplete }: MFAOptionsProps = {}) => {\n const [value, setValue] = useState(\"\");\n const [otpVisible, setOtpVisible] = useState<boolean>(false);\n const [showSuccessAnimation, setShowSuccessAnimation] =\n useState<boolean>(false);\n const [authType, setAuthType] = useState<\n \"AuthenticatorCode\" | \"EmailOTP\" | null\n >(null);\n\n const context = useCAMSContext();\n const isSDKMode = context.authMode === \"MSAL\" && \"completeMFA\" in context;\n const { completeMFA, sendEmailOTP } = isSDKMode\n ? context\n : { completeMFA: null, sendEmailOTP: null };\n\n const accessToken = context.authMode === \"MSAL\" ? context.accessToken : \"\";\n const idToken = context.authMode === \"MSAL\" ? context.idToken : \"\";\n\n const {\n handleSubmitOTP,\n loading,\n attemptCount,\n isMaxAttemptsReached,\n remainingAttempts,\n resetAttempts,\n } = useOTPHandler({\n provider: \"azure\",\n accessToken: accessToken || \"\",\n idToken: idToken || \"\",\n appCode: context.appCode || \"\",\n authenticationType: authType,\n validateTokenUrl: context.validateTokenUrl || \"/api/validate-token\",\n onAuthComplete: (success, data) => {\n if (success) {\n setShowSuccessAnimation(true);\n toast.success(\n <div className=\"flex items-center gap-2 text-sm text-green-600 bg-green-50 p-3 rounded-lg\">\n <ShieldCheck className=\"w-4 h-4\" />\n <span>Multi-Factor Authentication Successful</span>\n </div>\n );\n setTimeout(() => onComplete?.(true), 2000);\n } else {\n toast.error(\n <div className=\"flex items-center gap-2 text-sm text-red-600 bg-red-50 p-3 rounded-lg\">\n <ShieldClose className=\"w-4 h-4\" />\n <span>{data?.message || \"Invalid code. Please try again.\"}</span>\n </div>\n );\n if (isMaxAttemptsReached) {\n setTimeout(() => onComplete?.(false), 1000);\n }\n }\n },\n });\n\n const handleGoBack = () => {\n setAuthType(null);\n setOtpVisible(false);\n setValue(\"\");\n resetAttempts();\n };\n\n // Show success animation if authentication is successful\n if (showSuccessAnimation) {\n return (\n <Card className=\"mx-auto space-y-6 p-6 bg-white rounded-lg shadow-md\">\n <AuthSuccessAnimation\n onComplete={() => {\n // Animation completed, can add additional logic here if needed\n }}\n />\n </Card>\n );\n }\n\n let content: React.JSX.Element = <></>;\n\n if (!authType) {\n content = (\n <div className=\"space-y-4\">\n <p className=\"text-sm text-gray-600 text-center mb-6\">\n Choose your preferred authentication method:\n </p>\n <div className=\"flex flex-col gap-3\">\n <Button\n variant=\"outline\"\n className=\"w-full flex items-center justify-start gap-3 p-4 h-auto border-2 hover:border-[#506f4a] hover:bg-[#506f4a]/5 transition-all\"\n onClick={async () => {\n resetAttempts();\n setAuthType(\"EmailOTP\");\n setOtpVisible(true);\n if (isSDKMode && sendEmailOTP) {\n const success = await sendEmailOTP();\n if (success) {\n toast.success(\n <div className=\"flex items-center gap-2 text-sm text-green-600 bg-green-50 p-3 rounded-lg\">\n <ShieldCheck className=\"w-4 h-4\" />\n <span>OTP sent to your email address</span>\n </div>\n );\n }\n }\n }}\n // disabled={true}\n >\n <Mail className=\"w-5 h-5\" />\n <div className=\"text-left\">\n <div className=\"font-medium\">Email OTP</div>\n <div className=\"text-sm text-gray-500\">\n Send code to your email\n </div>\n </div>\n </Button>\n\n <Button\n variant=\"outline\"\n className=\"w-full flex items-center justify-start gap-3 p-4 h-auto border-2 hover:border-[#506f4a] hover:bg-[#506f4a]/5 transition-all\"\n onClick={() => {\n resetAttempts();\n setAuthType(\"AuthenticatorCode\");\n setOtpVisible(true);\n }}\n >\n <img\n src=\"/microsoftauthenticator.svg\"\n alt=\"Authenticator\"\n className=\"rounded-full\"\n width={24}\n height={24}\n />\n <div className=\"text-left\">\n <div className=\"font-medium\">Authenticator App</div>\n <div className=\"text-sm text-gray-500\">Use Authenticator App</div>\n </div>\n </Button>\n </div>\n </div>\n );\n } else if (authType === \"EmailOTP\") {\n content = (\n <Dialog\n open={otpVisible}\n onOpenChange={() => {\n setAuthType(null);\n setOtpVisible(false);\n setValue(\"\");\n }}\n >\n <DialogHeader>\n <DialogTitle>Email OTP</DialogTitle>\n </DialogHeader>\n <DialogContent className=\"sm:max-w-[425px]\">\n <div className=\"space-y-4\">\n <GenericOTPVerifier\n value={value}\n setValue={setValue}\n isDisabled={loading || isMaxAttemptsReached}\n onChangeOTP={handleSubmitOTP}\n fieldName=\"EmailOTP\"\n attemptCount={attemptCount}\n remainingAttempts={remainingAttempts}\n isMaxAttemptsReached={isMaxAttemptsReached}\n />\n <Button\n variant=\"ghost\"\n className=\"w-full text-sm\"\n onClick={handleGoBack}\n >\n ← Choose different method\n </Button>\n </div>\n </DialogContent>\n </Dialog>\n );\n } else if (authType === \"AuthenticatorCode\") {\n content = (\n <Dialog open={otpVisible} onOpenChange={handleGoBack}>\n <DialogHeader>\n <DialogTitle>Authenticator App</DialogTitle>\n </DialogHeader>\n <DialogContent className=\"sm:max-w-[425px]\">\n {loading ? (\n <div className=\"p-3 flex justify-center items-center\">\n <LoadingSpinner />\n </div>\n ) : (\n <div className=\"space-y-4\">\n <p className=\"text-sm text-gray-600 text-center\">\n Enter the 6-digit Code from your Authenticator app\n </p>\n <GenericOTPVerifier\n value={value}\n setValue={setValue}\n isDisabled={loading || isMaxAttemptsReached}\n onChangeOTP={handleSubmitOTP}\n fieldName=\"AuthenticatorCode\"\n attemptCount={attemptCount}\n remainingAttempts={remainingAttempts}\n isMaxAttemptsReached={isMaxAttemptsReached}\n />\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <Card className=\"mx-auto space-y-6 p-6 bg-white rounded-lg shadow-md\">\n <CardHeader>\n <img\n src=\"/OTPAuthentication1.svg\"\n alt=\"NIBSS Logo\"\n width={365}\n height={365}\n />\n\n <CardTitle className=\"text-3xl font-bold mb-6 text-center\">\n Two-Factor Authentication\n </CardTitle>\n <CardTitle className=\"text-gray-300 text-sm -tracking-wide text-center\">\n Your Microsoft account has been validated. Please complete two-factor\n authentication to continue.\n </CardTitle>\n </CardHeader>\n\n <CardContent>{content}</CardContent>\n\n <CardFooter className=\"flex items-center justify-center mt-6 space-x-2 text-gray-400 text-sm\">\n <ShieldCheck className=\"w-4 h-4 text-[#506f4a] pulse-glow\" />\n <span>Powered By NIBSS</span>\n </CardFooter>\n </Card>\n );\n};\n\nexport default MFAOptions;\n","\"use client\";\n\nimport { useCAMSContext } from \"./UnifiedCAMSProvider\";\nimport { Button } from \"./ui/button\";\n\nconst LoginButton = () => {\n const context = useCAMSContext();\n const { login, isLoading, error, authMode } = context;\n\n const handleLogin = () => {\n if (authMode === \"MSAL\") {\n (login as () => Promise<void>)();\n } else {\n // For regular mode, you'd need to provide CAMSConfig\n console.warn(\"Regular CAMS login requires configuration\");\n }\n };\n\n return (\n <div className=\"flex flex-col items-center gap-4 p-6\">\n <Button onClick={handleLogin} disabled={isLoading} className=\"min-w-[200px]\">\n {isLoading ? 'Logging in...' : 'Login with Microsoft'}\n </Button>\n {error && (\n <p className=\"text-red-600 text-sm text-center\">\n Error: {error.message}\n </p>\n )}\n </div>\n );\n};\n\nexport default LoginButton;","\"use client\";\n\nimport { useCAMSContext } from \"./UnifiedCAMSProvider\";\nimport MFAOptions from \"./MFAOptions\";\nimport LoginButton from \"./LoginButton\";\n\ninterface MFAGateProps {\n children: React.ReactNode;\n fallback?: React.ReactNode;\n loginComponent?: React.ComponentType;\n}\n\nconst MFAGate = ({ children, fallback, loginComponent: LoginComponent }: MFAGateProps) => {\n const context = useCAMSContext();\n\n // Only apply MFA gate for MSAL mode\n if (context.authMode !== \"MSAL\") {\n return <>{children}</>;\n }\n\n const { requiresMFA, isAuthenticated, isLoading } = context;\n\n if (isLoading) {\n return fallback || <div>Loading...</div>;\n }\n\n if (requiresMFA) {\n return (\n <MFAOptions\n onComplete={(success) => {\n if (!success) {\n console.error(\"MFA authentication failed\");\n }\n }}\n />\n );\n }\n\n if (!isAuthenticated) {\n return fallback || (LoginComponent ? <LoginComponent /> : <LoginButton />);\n }\n\n return <>{children}</>;\n};\n\nexport default MFAGate;"],"names":["useState","useRef","useEffect","isPopupWindow","initializePopupAuth","CAMSSessionManager","useCallback","useMsal","useAccount","InteractionStatus","Logger","CAMSMFAAuthenticator","CAMSError","CAMSErrorType","React","require$$0","jsxRuntimeModule","require$$1","CAMSContext","createContext","useCAMSContext","useContext","_jsx","_Fragment","setCookie","getCookie","deleteCookie","useMemo","PublicClientApplication","MsalProvider","z","util.jsonStringifyReplacer","core.$ZodAsyncError","util.finalizeIssue","core.config","util.captureStackTrace","errors.$ZodRealError","o","i","a","r","e","n.parse","n.parseAsync","n.$ZodError","twMerge","clsx","OTPInput","OTPInputContext","_jsxs","FormProvider","Controller","useFormContext","useFormState","Slot","useForm","zodResolver","RectangleEllipsis","REGEXP_ONLY_DIGITS","cva","DialogPrimitive","XIcon","s","Waveform","motion","CheckCircle","toast","ShieldCheck","ShieldClose","Mail"],"mappings":"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","x_google_ignoreList":[0,4,5,6,13,14,15,16,17,25,26]}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.js","../src/hooks/useCAMSAuth.ts","../src/hooks/useCAMSMSALAuth.ts","../src/hooks/useCAMSPopupAuth.ts","../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../src/components/CAMSProvider.tsx","../src/components/ProtectedRoute.tsx","../src/components/CAMSMSALProvider.tsx","../src/components/ClientOnly.tsx","../src/context/CAMSContext.tsx","../src/components/UnifiedCAMSProvider.tsx","../../../node_modules/zod/v4/core/core.js","../../../node_modules/zod/v4/core/util.js","../../../node_modules/zod/v4/core/errors.js","../../../node_modules/zod/v4/core/parse.js","../../../node_modules/@hookform/resolvers/zod/dist/zod.mjs","../src/lib/utils.ts","../src/components/ui/input-otp.tsx","../src/components/ui/form.tsx","../src/components/ui/card.tsx","../src/components/GenericOTP.tsx","../src/assets/images/OTPAuthentication.svg","../src/assets/images/microsoftauthenticator.svg","../src/components/ui/button.tsx","../src/components/ui/dialog.tsx","../../../node_modules/ldrs/dist/react/Waveform.js","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/Loading.tsx","../src/components/AuthSuccessAnimation.tsx","../src/hooks/useOTPHandler.tsx","../src/components/MFAOptions.tsx","../src/components/LoginButton.tsx","../src/components/MFAGate.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\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);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\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;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\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]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { useState, useCallback, useRef, useEffect } from \"react\";\nimport {\n CAMSSessionManager,\n CAMSConfig,\n CAMSError,\n Profile,\n isPopupWindow,\n initializePopupAuth,\n} from \"@nibssplc/cams-sdk\";\n\nexport interface UseCAMSAuthOptions {\n appCode: string;\n storageKey?: string;\n onAuthSuccess?: (token: string) => void;\n onAuthError?: (error: CAMSError) => void;\n onTokenExpired?: () => void;\n autoClose?: boolean;\n idleTimeout?: number;\n}\n\nexport interface UseCAMSAuthReturn {\n login: (config: CAMSConfig) => Promise<void>;\n logout: () => Promise<void>;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: CAMSError | null;\n token: string | null;\n profile: Profile | null;\n appCode: string;\n storageKey: string;\n}\n\nexport function useCAMSAuth(\n options: UseCAMSAuthOptions = {\n appCode: \"\",\n storageKey: \"CAMS-AUTH-SDK\",\n }\n): UseCAMSAuthReturn {\n const [isAuthenticated, setIsAuthenticated] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<CAMSError | null>(null);\n const [token, setToken] = useState<string>(\"\");\n const [profile, setProfile] = useState<Profile | null>(null);\n\n const sessionManagerRef = useRef<CAMSSessionManager | null>(null);\n\n useEffect(() => {\n // Only initialize on client side\n if (typeof window === \"undefined\") return;\n\n // Initialize popup auth handler if in popup\n if (isPopupWindow()) {\n initializePopupAuth();\n }\n\n sessionManagerRef.current ??= new CAMSSessionManager(\n localStorage,\n options.storageKey || \"CAMS-SDK\",\n {\n onAuthSuccess: (res: any) => {\n setToken(res.userProfile.tokens.Bearer);\n setIsAuthenticated(true);\n setIsLoading(false);\n options.onAuthSuccess?.(res.userProfile.tokens.Bearer);\n },\n onAuthError: (error: CAMSError) => {\n setError(error);\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n setIsLoading(false);\n options.onAuthError?.(error);\n },\n onTokenExpired: () => {\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n options.onTokenExpired?.();\n },\n }\n );\n\n // Check initial auth state (skip if in popup)\n if (!isPopupWindow()) {\n const initialAuth = sessionManagerRef.current.isAuthenticated();\n setIsAuthenticated(initialAuth);\n if (initialAuth) {\n setToken(sessionManagerRef.current.getAccessToken() ?? \"\");\n sessionManagerRef.current.getProfile().then(setProfile);\n }\n }\n }, [options.storageKey]);\n\n const login = useCallback(\n async (config: CAMSConfig) => {\n if (!sessionManagerRef.current) return;\n\n setIsLoading(true);\n setError(null);\n\n try {\n const loginConfig: CAMSConfig = {\n ...config,\n // autoClose: options.autoClose ?? config.autoClose,\n idleTimeout: options.idleTimeout ?? config.idleTimeout,\n };\n await sessionManagerRef.current.login(loginConfig);\n // State updates are handled by onAuthSuccess callback\n const userProfile = await sessionManagerRef.current.getProfile();\n setProfile(userProfile);\n } catch (err) {\n setError(err as CAMSError);\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n } finally {\n setIsLoading(false);\n }\n },\n [options.idleTimeout]\n );\n\n const logout = useCallback(async () => {\n if (!sessionManagerRef.current) return;\n\n await sessionManagerRef.current.logout();\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n setError(null);\n }, []);\n\n return {\n login,\n logout,\n isAuthenticated,\n isLoading,\n error,\n token,\n profile,\n appCode: options.appCode,\n storageKey: options.storageKey || \"CAMS-SDK\",\n };\n}\n","import { useState, useCallback, useEffect } from \"react\";\nimport { useMsal, useAccount } from \"@azure/msal-react\";\nimport { InteractionStatus } from \"@azure/msal-browser\";\nimport {\n CAMSError,\n CAMSErrorType,\n Logger,\n CAMSMFAAuthenticator,\n MFAConfig,\n MFAResponse,\n} from \"@nibssplc/cams-sdk\";\n\nexport interface UseCAMSMSALAuthOptions {\n onAuthSuccess?: (token: string) => void;\n onAuthError?: (error: CAMSError) => void;\n onTokenExpired?: () => void;\n scopes?: string[];\n storageKey?: string;\n prompt?: string;\n messageOrigin?: string;\n appCode: string;\n allowedOrigins?: string[];\n MFAEndpoint: string;\n}\n\nexport interface UseCAMSMSALAuthReturn {\n login: () => Promise<void>;\n logout: () => Promise<void>;\n storageKey: string;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: CAMSError | null;\n idToken: string;\n accessToken: string;\n appCode: string;\n mfaAuthenticator: CAMSMFAAuthenticator | null;\n requiresMFA: boolean;\n completeMFA: (code: string, type: 'EmailOTP' | 'AuthenticatorCode') => Promise<MFAResponse>;\n sendEmailOTP: () => Promise<boolean>;\n}\n\nexport function useCAMSMSALAuth(\n options: UseCAMSMSALAuthOptions = {\n appCode: \"\",\n MFAEndpoint: \"/auth/multi-factor\",\n storageKey: \"CAMS-MSAL-AUTH-SDK\",\n }\n): UseCAMSMSALAuthReturn {\n const { instance, inProgress, accounts } = useMsal();\n const account = useAccount(accounts[0] || {});\n\n const [error, setError] = useState<CAMSError | null>(null);\n const [idToken, setIdToken] = useState<string>(\"\");\n const [accessToken, setAccessToken] = useState<string>(\"\");\n const [mfaAuthenticator, setMfaAuthenticator] = useState<CAMSMFAAuthenticator | null>(null);\n const [requiresMFA, setRequiresMFA] = useState<boolean>(false);\n\n const isLoading = inProgress !== InteractionStatus.None;\n const isAuthenticated = !!account && !!accessToken && !requiresMFA;\n\n const scopes = options.scopes || [\"openid\", \"profile\", \"email\"];\n\n const isTokenValid = (token: string): boolean => {\n try {\n const payload = JSON.parse(atob(token.split(\".\")[1]));\n return payload.exp * 1000 > Date.now();\n } catch {\n return false;\n }\n };\n\n useEffect(() => {\n if (typeof window !== \"undefined\" && !accessToken) {\n const stored = localStorage.getItem(options.storageKey!);\n if (stored) {\n try {\n const { accessToken, idToken, appCode, requiresMFA: storedRequiresMFA, isAuthenticated: storedIsAuthenticated } = JSON.parse(stored);\n if (accessToken && isTokenValid(accessToken)) {\n setAccessToken(accessToken);\n setIdToken(idToken);\n \n // Restore MFA state\n if (storedRequiresMFA && !storedIsAuthenticated) {\n const mfaConfig: MFAConfig = {\n accessToken,\n idToken,\n appCode: options.appCode,\n provider: \"MSAL\",\n apiEndpoint: options.MFAEndpoint,\n };\n const authenticator = new CAMSMFAAuthenticator(mfaConfig);\n setMfaAuthenticator(authenticator);\n setRequiresMFA(true);\n }\n\n console.log(\"App Code >>>\", appCode, options.appCode);\n console.log(\"MFA Endpoint >>>\", appCode, options.MFAEndpoint);\n } else {\n localStorage.removeItem(options.storageKey!);\n }\n } catch {}\n } else if (account) {\n // Storage cleared but MSAL account exists - clear MSAL state\n instance.logoutRedirect().catch(() => {});\n }\n }\n }, [accessToken, account, instance, options.storageKey]);\n\n // useEffect(() => {\n // const handleRedirect = async () => {\n // try {\n // const response = await instance.handleRedirectPromise();\n\n // if (response) {\n // const account = response.account;\n // instance.setActiveA ccount(account);\n\n // const tokenResponse = await instance.acq uireTokenSilent({\n // scopes,\n // account,\n // });\n\n // setToken(tokenResponse.accessToken);\n // setAccessToken(tokenResponse.accessToken);\n // setIdToken(tokenResponse.idTo ken);\n\n // options.onAuthSuccess?.(tokenR esponse.accessToken);\n\n // if (\n // typeof window !== \"undefined\" &&\n // process.env.NODE_ENV !== \"test\"\n // ) {\n // window.location.href = options.mfaUrl!;\n // }\n // }\n // } catch (err) {\n // console.error(\"Redirect handling failed:\", err);\n // }\n // };\n\n // handleRedirect();\n // }, []);\n\n const login = useCallback(async () => {\n setError(null);\n\n try {\n const response = await instance.loginPopup({\n scopes,\n prompt: options.prompt || \"login\",\n });\n Logger.debug(\"Login Token response:\", {\n accessToken: response.accessToken,\n idToken: response.idToken,\n });\n setAccessToken(response.accessToken);\n setIdToken(response.idToken);\n\n // Initialize MFA authenticator\n const mfaConfig: MFAConfig = {\n accessToken: response.accessToken,\n idToken: response.idToken,\n appCode: options.appCode,\n provider: \"MSAL\",\n apiEndpoint: options.MFAEndpoint,\n };\n \n const authenticator = new CAMSMFAAuthenticator(mfaConfig);\n setMfaAuthenticator(authenticator);\n setRequiresMFA(true);\n\n // Don't persist as authenticated until MFA is complete\n if (typeof window !== \"undefined\") {\n localStorage.setItem(\n options.storageKey!,\n JSON.stringify({\n isAuthenticated: false,\n requiresMFA: true,\n accessToken: response.accessToken,\n idToken: response.idToken,\n })\n );\n }\n\n options.onAuthSuccess?.(response.accessToken);\n } catch (err: any) {\n // Handle user cancellation gracefully\n if (err.errorCode === \"user_cancelled\") {\n Logger.info(\"User cancelled login\");\n setError(null); // Don't treat cancellation as an error\n return;\n }\n\n // If popup is blocked\n if (\n err.errorCode === \"popup_window_error\" ||\n err.message?.includes(\"popup\")\n ) {\n const camsError = new CAMSError(\n CAMSErrorType.POPUP_BLOCKED,\n \"Popup blocked by browser. Please allow popups and try again.\"\n );\n setError(camsError);\n options.onAuthError?.(camsError);\n return;\n }\n\n const camsError = new CAMSError(\n CAMSErrorType.API_VALIDATION_ERROR,\n \"Login failed: \" + err.message || err\n );\n setError(camsError);\n options.onAuthError?.(camsError);\n }\n }, [instance, scopes, options]);\n\n const completeMFA = useCallback(async (code: string, type: 'EmailOTP' | 'AuthenticatorCode'): Promise<MFAResponse> => {\n if (!mfaAuthenticator) {\n throw new CAMSError(CAMSErrorType.API_VALIDATION_ERROR, \"MFA authenticator not initialized\");\n }\n\n try {\n const mfaResponse = await mfaAuthenticator.verifyOTP(code, type);\n \n if (mfaResponse.isAuthenticated) {\n setRequiresMFA(false);\n \n // Update storage with complete authentication\n if (typeof window !== \"undefined\") {\n localStorage.setItem(\n options.storageKey!,\n JSON.stringify({\n isAuthenticated: true,\n requiresMFA: false,\n accessToken,\n idToken,\n userProfile: mfaResponse,\n })\n );\n }\n }\n \n return mfaResponse;\n } catch (error) {\n setError(error as CAMSError);\n throw error;\n }\n }, [mfaAuthenticator, accessToken, idToken, options.storageKey]);\n\n const sendEmailOTP = useCallback(async (): Promise<boolean> => {\n if (!mfaAuthenticator) {\n return false;\n }\n return await mfaAuthenticator.sendEmailOTP();\n }, [mfaAuthenticator]);\n\n const logout = useCallback(async () => {\n try {\n await instance.logoutRedirect();\n\n setAccessToken(\"\");\n setIdToken(\"\");\n setError(null);\n setMfaAuthenticator(null);\n setRequiresMFA(false);\n if (typeof window !== \"undefined\") {\n localStorage.removeItem(options.storageKey!);\n }\n } catch (err: any) {\n const camsError = new CAMSError(\n CAMSErrorType.API_VALIDATION_ERROR,\n \"Logout failed: \" + err\n );\n setError(camsError);\n }\n }, [instance, options.storageKey]);\n\n return {\n login,\n logout,\n storageKey: options.storageKey!,\n isAuthenticated,\n isLoading,\n error,\n idToken,\n accessToken,\n appCode: options.appCode,\n mfaAuthenticator,\n requiresMFA,\n completeMFA,\n sendEmailOTP,\n };\n}\n","import { useEffect, useCallback } from \"react\";\nimport {\n CAMSSessionManager,\n Profile,\n isPopupWindow,\n initializePopupAuth,\n} from \"@nibssplc/cams-sdk\";\n\nexport interface UseCAMSPopupAuthOptions {\n storageKey?: string;\n targetOrigin?: string;\n onAuthComplete?: (profile: Profile) => void;\n onAuthError?: (error: any) => void;\n}\n\nexport interface UseCAMSPopupAuthReturn {\n completeAuth: (profile: Profile) => void;\n errorAuth: (error: any) => void;\n isPopup: boolean;\n}\n\n/**\n * Hook for handling authentication in popup windows\n * This should be used by the popup app to complete authentication\n */\nexport function useCAMSPopupAuth(\n options: UseCAMSPopupAuthOptions = {}\n): UseCAMSPopupAuthReturn {\n const { storageKey = \"CAMS-SDK\", targetOrigin, onAuthComplete, onAuthError } = options;\n\n useEffect(() => {\n if (typeof window === \"undefined\" || !isPopupWindow()) return;\n\n // Initialize popup auth handler\n initializePopupAuth(targetOrigin);\n\n // Set up global handlers for the popup app\n const globalHandlers = (window as any).__CAMS_POPUP_AUTH__;\n if (globalHandlers) {\n const originalCompleteAuth = globalHandlers.completeAuth;\n const originalErrorAuth = globalHandlers.errorAuth;\n\n globalHandlers.completeAuth = (profile: Profile) => {\n onAuthComplete?.(profile);\n originalCompleteAuth(profile);\n };\n\n globalHandlers.errorAuth = (error: any) => {\n onAuthError?.(error);\n originalErrorAuth(error);\n };\n }\n }, [targetOrigin, onAuthComplete, onAuthError]);\n\n const completeAuth = useCallback((profile: Profile) => {\n if (!isPopupWindow()) {\n console.warn(\"completeAuth called outside of popup window\");\n return;\n }\n\n const sessionManager = new CAMSSessionManager(localStorage, storageKey);\n sessionManager.completePopupAuth(profile, targetOrigin);\n }, [storageKey, targetOrigin]);\n\n const errorAuth = useCallback((error: any) => {\n if (!isPopupWindow()) {\n console.warn(\"errorAuth called outside of popup window\");\n return;\n }\n\n const sessionManager = new CAMSSessionManager(localStorage, storageKey);\n sessionManager.errorPopupAuth(error, targetOrigin);\n }, [storageKey, targetOrigin]);\n\n return {\n completeAuth,\n errorAuth,\n isPopup: isPopupWindow(),\n };\n}","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React, {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Profile } from '@nibssplc/cams-sdk';\nimport { useCAMSAuth, UseCAMSAuthReturn, UseCAMSAuthOptions } from '../hooks/useCAMSAuth';\n\ninterface CAMSContextValue extends UseCAMSAuthReturn {\n userProfile: Profile | null;\n setUserProfile: (profile: Profile | null) => void;\n}\n\nconst CAMSContext = createContext<CAMSContextValue | null>(null);\n\nexport interface CAMSProviderProps extends UseCAMSAuthOptions {\n children: React.ReactNode;\n}\n\nconst setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(Date.now() + days * 864e5).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nconst getCookie = (name: string): string | null => {\n return document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))\n ?.split(\"=\")[1]\n ? decodeURIComponent(\n document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))!\n .split(\"=\")[1]\n )\n : null;\n};\n\nconst deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};\n\n\n\nexport function CAMSProvider({\n children,\n ...authOptions\n}: Readonly<CAMSProviderProps>) {\n const auth = useCAMSAuth(authOptions);\n const profileStorageKey = `${auth.storageKey}-PROFILE`;\n\n const getInitialProfile = (): Profile | null => {\n if (typeof window === \"undefined\") {\n return null;\n }\n try {\n const storedProfile = getCookie(profileStorageKey);\n return storedProfile ? JSON.parse(storedProfile) : null;\n } catch {\n return null;\n }\n };\n\n const [userProfile, setUserProfile] = useState<Profile | null>(\n getInitialProfile\n );\n\n // Load profile from storage on mount\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n const storedProfile = getCookie(profileStorageKey);\n if (storedProfile) {\n try {\n setUserProfile(JSON.parse(storedProfile));\n } catch {}\n }\n }\n }, [profileStorageKey]);\n\n\n\n // Persist profile separately\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n if (userProfile) {\n setCookie(profileStorageKey, JSON.stringify(userProfile), 1);\n } else {\n deleteCookie(profileStorageKey);\n }\n }\n }, [userProfile, profileStorageKey]);\n\n // Enhanced logout that also clears profile\n const enhancedLogout = async () => {\n await auth.logout();\n setUserProfile(null);\n\n if (typeof window !== \"undefined\") {\n deleteCookie(profileStorageKey);\n }\n };\n\n const value = useMemo(\n () => ({\n ...auth,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n }),\n [auth, userProfile]\n );\n\n return (\n <CAMSContext.Provider value={value}>\n {children}\n </CAMSContext.Provider>\n );\n}\n\nexport function useCAMSContext(): CAMSContextValue {\n const context = useContext(CAMSContext);\n if (!context) {\n throw new Error('useCAMSContext must be used within a CAMSProvider');\n }\n return context;\n}","import React, { ReactNode } from 'react';\nimport { useCAMSContext } from './CAMSProvider';\n\nexport interface ProtectedRouteProps {\n children: ReactNode;\n fallback?: ReactNode;\n redirectTo?: string;\n}\n\nexport function ProtectedRoute({ children, fallback, redirectTo }: ProtectedRouteProps) {\n const { isAuthenticated, isLoading } = useCAMSContext();\n\n if (isLoading) {\n return fallback || <div>Loading...</div>;\n }\n\n if (!isAuthenticated) {\n if (redirectTo && typeof window !== 'undefined') {\n window.location.href = redirectTo;\n return null;\n }\n return fallback || <div>Access denied. Please log in.</div>;\n }\n\n return <>{children}</>;\n}","import React, {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { MsalProvider } from \"@azure/msal-react\";\nimport { PublicClientApplication, Configuration } from \"@azure/msal-browser\";\nimport { Profile } from \"@nibssplc/cams-sdk\";\nimport {\n useCAMSMSALAuth,\n UseCAMSMSALAuthReturn,\n UseCAMSMSALAuthOptions,\n} from \"../hooks/useCAMSMSALAuth\";\n\ninterface CAMSMSALContextValue extends UseCAMSMSALAuthReturn {\n userProfile: Profile | null;\n setUserProfile: (profile: Profile | null) => void;\n}\n\nconst CAMSMSALContext = createContext<CAMSMSALContextValue | null>(null);\n\nexport interface CAMSMSALProviderProps extends UseCAMSMSALAuthOptions {\n children: React.ReactNode;\n msalConfig: Configuration;\n msalInstance?: PublicClientApplication;\n}\n\nconst setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(Date.now() + days * 864e5).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nconst getCookie = (name: string): string | null => {\n return document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))\n ?.split(\"=\")[1]\n ? decodeURIComponent(\n document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))!\n .split(\"=\")[1]\n )\n : null;\n};\n\nconst deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};\n\nconst isTokenValid = (token: string): boolean => {\n try {\n const payload = JSON.parse(atob(token.split(\".\")[1]));\n return payload.exp * 1000 > Date.now();\n } catch {\n return false;\n }\n};\n\nfunction CAMSMSALProviderInner({\n children,\n ...authOptions\n}: Readonly<Omit<CAMSMSALProviderProps, \"msalConfig\" | \"msalInstance\">>) {\n const auth = useCAMSMSALAuth(authOptions);\n const profileStorageKey = `${auth.storageKey}-PROFILE`;\n\n const getInitialProfile = (): Profile | null => {\n if (typeof window === \"undefined\") {\n return null;\n }\n try {\n const storedProfile = getCookie(profileStorageKey);\n return storedProfile ? JSON.parse(storedProfile) : null;\n } catch {\n return null;\n }\n };\n\n const [userProfile, setUserProfile] = useState<Profile | null>(\n getInitialProfile\n );\n\n // Load profile from storage on mount\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n // const storedProfile = localStorage.get Item(profileStorageKey);\n const storedProfile = getCookie(profileStorageKey);\n if (storedProfile) {\n try {\n setUserProfile(JSON.parse(storedProfile));\n } catch {}\n }\n }\n }, [profileStorageKey]);\n\n // Persist tokens and profile\n useEffect(() => {\n if (\n auth.accessToken &&\n isTokenValid(auth.accessToken) &&\n typeof window !== \"undefined\"\n ) {\n localStorage.setItem(\n auth.storageKey,\n JSON.stringify({\n accessToken: auth.accessToken,\n idToken: auth.idToken,\n appCode: auth.appCode\n })\n );\n }\n }, [auth.accessToken, auth.idToken, auth.storageKey]);\n\n // Persist profile separately\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n\n if (userProfile) {\n setCookie(profileStorageKey, JSON.stringify(userProfile), 1); // Store for 1 day\n } else {\n deleteCookie(profileStorageKey);\n }\n }\n }, [userProfile, profileStorageKey]);\n\n // Enhanced logout that also clears profile\n const enhancedLogout = async () => {\n await auth.logout();\n setUserProfile(null);\n\n if (typeof window !== \"undefined\") {\n deleteCookie(profileStorageKey);\n }\n };\n\n const value = useMemo(\n () => ({\n ...auth,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n }),\n [auth, userProfile]\n );\n\n return (\n <CAMSMSALContext.Provider value={value}>\n {children}\n </CAMSMSALContext.Provider>\n );\n}\n\nexport function CAMSMSALProvider(props: Readonly<CAMSMSALProviderProps>) {\n const { msalConfig, msalInstance } = props;\n const instance = msalInstance || new PublicClientApplication(msalConfig);\n\n return (\n <MsalProvider instance={instance}>\n <CAMSMSALProviderInner {...props} />\n </MsalProvider>\n );\n}\n\nexport function useCAMSMSALContext(): CAMSMSALContextValue {\n const context = useContext(CAMSMSALContext);\n if (!context) {\n throw new Error(\n \"useCAMSMSALContext must be used within a CAMSMSALProvider\"\n );\n }\n return context;\n}\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\ninterface ClientOnlyProps {\n children: React.ReactNode;\n fallback?: React.ReactNode;\n}\n\nconst ClientOnly = ({ children, fallback = null }: ClientOnlyProps) => {\n const [hasMounted, setHasMounted] = useState(false);\n\n useEffect(() => {\n setHasMounted(true);\n }, []);\n\n if (!hasMounted) {\n return <>{fallback}</>;\n }\n\n return <>{children}</>;\n};\n\nexport default ClientOnly;","import { createContext, useContext } from \"react\";\nimport { Profile } from \"@nibssplc/cams-sdk\";\nimport {\n UseCAMSAuthReturn,\n} from \"../hooks/useCAMSAuth\";\nimport {\n UseCAMSMSALAuthReturn,\n} from \"../hooks/useCAMSMSALAuth\";\n\ntype AuthMode = \"REGULAR\" | \"MSAL\";\n\ninterface BaseCAMSContextValue {\n userProfile: Profile | null;\n setUserProfile: (profile: Profile | null) => void;\n authMode: AuthMode;\n}\n\ninterface RegularCAMSContextValue\n extends BaseCAMSContextValue,\n UseCAMSAuthReturn {\n authMode: \"REGULAR\";\n}\n\ninterface MSALCAMSContextValue\n extends BaseCAMSContextValue,\n UseCAMSMSALAuthReturn {\n authMode: \"MSAL\";\n}\n\nexport type CAMSContextValue = RegularCAMSContextValue | MSALCAMSContextValue;\n\nexport const CAMSContext = createContext<CAMSContextValue | null>(null);\n\nexport function useCAMSContext(): CAMSContextValue {\n const context = useContext(CAMSContext);\n if (!context) {\n throw new Error(\"useCAMSContext must be used within a UnifiedCAMSProvider\");\n }\n return context;\n}\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { z } from \"zod\";\nimport { MsalProvider } from \"@azure/msal-react\";\nimport { PublicClientApplication, Configuration } from \"@azure/msal-browser\";\nimport { Profile } from \"@nibssplc/cams-sdk\";\nimport { useCAMSAuth, UseCAMSAuthOptions } from \"../hooks/useCAMSAuth\";\nimport {\n useCAMSMSALAuth,\n UseCAMSMSALAuthOptions,\n} from \"../hooks/useCAMSMSALAuth\";\nimport {\n CAMSContext,\n CAMSContextValue,\n useCAMSContext,\n} from \"../context/CAMSContext\";\nimport ClientOnly from \"./ClientOnly\";\n\nconst GuidSchema = z.uuid(\"appCode must be a valid GUID\");\nconst UrlSchema = z.url(\"validateTokenUrl must be a valid URL\");\n\ninterface BaseProviderProps {\n children: React.ReactNode;\n appCode: string;\n}\n\ninterface RegularProviderProps\n extends BaseProviderProps,\n Omit<UseCAMSAuthOptions, \"appCode\"> {\n mode: \"REGULAR\";\n}\n\ninterface MSALProviderProps extends BaseProviderProps, UseCAMSMSALAuthOptions {\n mode: \"MSAL\";\n msalConfig: Configuration;\n msalInstance?: PublicClientApplication;\n}\n\ntype UnifiedCAMSProviderProps = RegularProviderProps | MSALProviderProps;\n\nconst setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(\n Date.now() + days * 24 * 60 * 60 * 1000\n ).toUTCString();\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nconst getCookie = (name: string): string | null => {\n return document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))\n ?.split(\"=\")[1]\n ? decodeURIComponent(\n document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(name + \"=\"))!\n .split(\"=\")[1]\n )\n : null;\n};\n\nconst deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};\n\nfunction CAMSProviderInner(props: UnifiedCAMSProviderProps) {\n return (\n <ClientOnly fallback={<div>Loading...</div>}>\n <CAMSProviderCore {...props} />\n </ClientOnly>\n );\n}\n\nfunction CAMSProviderCore(props: UnifiedCAMSProviderProps) {\n const { children, mode, appCode } = props;\n\n // Always call both hooks to satisfy Rules of Hooks\n const regularAuth = useCAMSAuth(\n mode === \"REGULAR\"\n ? ({ ...props, appCode } as UseCAMSAuthOptions)\n : { appCode: \"\" }\n );\n const msalAuth = useCAMSMSALAuth(\n mode === \"MSAL\"\n ? ({ ...props, appCode } as UseCAMSMSALAuthOptions)\n : { appCode: \"\", MFAEndpoint: \"/auth/multi-factor\" }\n );\n\n const auth = mode === \"REGULAR\" ? regularAuth : msalAuth;\n const profileStorageKey = `${auth.storageKey}-PROFILE`;\n\n const getInitialProfile = (): Profile | null => {\n if (typeof window === \"undefined\") return null;\n try {\n const storedProfile = getCookie(profileStorageKey);\n return storedProfile ? JSON.parse(storedProfile) : null;\n } catch {\n return null;\n }\n };\n\n const [userProfile, setUserProfile] = useState<Profile | null>(\n getInitialProfile\n );\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n const storedProfile = getCookie(profileStorageKey);\n if (storedProfile) {\n try {\n setUserProfile(JSON.parse(storedProfile));\n } catch {}\n }\n }\n }, [profileStorageKey]);\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n if (userProfile) {\n setCookie(profileStorageKey, JSON.stringify(userProfile), 1);\n } else {\n deleteCookie(profileStorageKey);\n }\n }\n }, [userProfile, profileStorageKey]);\n\n const enhancedLogout = async () => {\n await auth.logout();\n setUserProfile(null);\n if (typeof window !== \"undefined\") {\n deleteCookie(profileStorageKey);\n }\n };\n\n // Handle MFA completion for MSAL mode\n useEffect(() => {\n if (\n mode === \"MSAL\" &&\n \"requiresMFA\" in auth &&\n !auth.requiresMFA &&\n auth.isAuthenticated &&\n !userProfile\n ) {\n // MFA completed, extract profile from stored data\n const storedData = getCookie(auth.storageKey);\n if (storedData) {\n try {\n const parsed = JSON.parse(storedData);\n if (parsed.userProfile) {\n setUserProfile(parsed.userProfile);\n }\n } catch {}\n }\n }\n }, [mode, auth, userProfile]);\n\n const value = useMemo(\n () =>\n ({\n ...auth,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n authMode: mode,\n } as CAMSContextValue),\n [auth, userProfile, mode]\n );\n\n return <CAMSContext.Provider value={value}>{children}</CAMSContext.Provider>;\n}\n\nexport function UnifiedCAMSProvider(props: UnifiedCAMSProviderProps) {\n // Validate appCode is a valid GUID\n const appCodeValidation = GuidSchema.safeParse(props.appCode);\n if (!appCodeValidation.success) {\n throw new Error(\n `Invalid appCode: ${appCodeValidation.error.issues[0].message}`\n );\n }\n\n // Validate apiEndpoint if provided\n if (props.mode === \"MSAL\" && props.MFAEndpoint) {\n const urlValidation = UrlSchema.safeParse(props.MFAEndpoint);\n if (!urlValidation.success) {\n throw new Error(\n `Invalid apiEndpoint: ${urlValidation.error.issues[0].message}`\n );\n }\n }\n\n if (props.mode === \"MSAL\") {\n const { msalConfig, msalInstance } = props;\n const instance = msalInstance || new PublicClientApplication(msalConfig);\n\n return (\n <MsalProvider instance={instance}>\n <CAMSProviderCore {...props} />\n </MsalProvider>\n );\n }\n\n return (\n <ClientOnly fallback={<div>Loading...</div>}>\n <CAMSProviderCore {...props} />\n </ClientOnly>\n );\n}\n\n// Backward compatibility exports\nexport const CAMSProvider = (props: Omit<RegularProviderProps, \"mode\">) => (\n <UnifiedCAMSProvider {...props} mode=\"REGULAR\" />\n);\n\nexport const CAMSMSALProvider = (props: Omit<MSALProviderProps, \"mode\">) => (\n <UnifiedCAMSProvider {...props} mode=\"MSAL\" />\n);\n\n// Export useCAMSContext\nexport { useCAMSContext };\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n var _a;\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod ?? {},\n enumerable: false,\n });\n (_a = inst._zod).traits ?? (_a.traits = new Set());\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n for (const k in _.prototype) {\n if (!(k in inst))\n Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });\n }\n inst._zod.constr = _;\n inst._zod.def = def;\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\"Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = {\n ...schema._zod.def,\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: schema._zod.def.checks,\n };\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n","import{validateFieldsNatively as r,toNestErrors as e}from\"@hookform/resolvers\";import{appendErrors as o}from\"react-hook-form\";import*as n from\"zod/v4/core\";function t(r,e){try{var o=r()}catch(r){return e(r)}return o&&o.then?o.then(void 0,e):o}function s(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"unionErrors\"in t){var u=t.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"unionErrors\"in t&&t.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function i(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"invalid_union\"===t.code&&t.errors.length>0){var u=t.errors[0][0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"invalid_union\"===t.code&&t.errors.forEach(function(e){return e.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function a(o,a,u){if(void 0===u&&(u={}),function(r){return\"_def\"in r&&\"object\"==typeof r._def&&\"typeName\"in r._def}(o))return function(n,i,c){try{return Promise.resolve(t(function(){return Promise.resolve(o[\"sync\"===u.mode?\"parse\":\"parseAsync\"](n,a)).then(function(e){return c.shouldUseNativeValidation&&r({},c),{errors:{},values:u.raw?Object.assign({},n):e}})},function(r){if(function(r){return Array.isArray(null==r?void 0:r.issues)}(r))return{values:{},errors:e(s(r.errors,!c.shouldUseNativeValidation&&\"all\"===c.criteriaMode),c)};throw r}))}catch(r){return Promise.reject(r)}};if(function(r){return\"_zod\"in r&&\"object\"==typeof r._zod}(o))return function(s,c,f){try{return Promise.resolve(t(function(){return Promise.resolve((\"sync\"===u.mode?n.parse:n.parseAsync)(o,s,a)).then(function(e){return f.shouldUseNativeValidation&&r({},f),{errors:{},values:u.raw?Object.assign({},s):e}})},function(r){if(function(r){return r instanceof n.$ZodError}(r))return{values:{},errors:e(i(r.issues,!f.shouldUseNativeValidation&&\"all\"===f.criteriaMode),f)};throw r}))}catch(r){return Promise.reject(r)}};throw new Error(\"Invalid input: not a Zod schema\")}export{a as zodResolver};\n//# sourceMappingURL=zod.module.js.map\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { MinusIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string\n}) {\n return (\n <OTPInput\n data-slot=\"input-otp\"\n containerClassName={cn(\n \"flex items-center gap-2 has-disabled:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\"flex items-center\", className)}\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n index: number\n}) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n \"data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n <MinusIcon />\n </div>\n )\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Label } from \"./label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? \"\") : props.children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n )\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}","import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","// components/GenericOTPVerifier.tsx\nimport { z } from \"zod\";\nimport { REGEXP_ONLY_DIGITS } from \"input-otp\";\nimport { RectangleEllipsis } from \"lucide-react\";\nimport { useForm } from \"react-hook-form\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n} from \"./ui/input-otp\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormMessage,\n} from \"./ui/form\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"./ui/card\";\n\ninterface GenericOTPProps {\n value: string;\n setValue: (v: string) => void;\n setLoading?: React.Dispatch<React.SetStateAction<boolean>>;\n isDisabled: boolean;\n onChangeOTP: (val: string) => void;\n fieldName: \"AuthenticatorCode\" | \"EmailOTP\";\n attemptCount?: number;\n remainingAttempts?: number;\n isMaxAttemptsReached?: boolean;\n}\n\nexport const GenericOTPVerifier = ({\n value,\n setValue,\n setLoading,\n onChangeOTP,\n fieldName = \"EmailOTP\",\n attemptCount = 0,\n remainingAttempts = 3,\n isMaxAttemptsReached = false,\n}: GenericOTPProps) => {\n const Schema = z.object({\n [fieldName]: z.string().min(6, {\n message: \"One Time Password must be 6 characters.\",\n }),\n });\n\n const form = useForm<z.infer<typeof Schema>>({\n resolver: zodResolver(Schema),\n defaultValues: { [fieldName]: \"\" },\n });\n\n return (\n <Card className=\"relative rounded space-y-4 p-0 m-0 py-8 space-x-6\">\n <CardHeader className=\"flex items-center justify-center flex-col gap-2 mt-2 text-center mb-8\">\n <div className=\"w-16 h-16 bg-gradient-to-br from-lime-400 via-green-500 to-emerald-600 rounded-xl flex items-center justify-center text-white text-2xl mb-6 group-hover:scale-110 transition-transform duration-300\">\n <RectangleEllipsis />\n </div>\n <CardTitle className=\"font-bold text-emerald-700 text-2xl\">\n One-Time-Password (OTP)\n </CardTitle>\n {attemptCount > 0 && (\n <div className={`text-sm mt-2 ${\n isMaxAttemptsReached ? 'text-red-600' : 'text-orange-600'\n }`}>\n {isMaxAttemptsReached \n ? 'Maximum attempts reached. Please try again later.' \n : `Attempt ${attemptCount}/3 - ${remainingAttempts} attempts remaining`\n }\n </div>\n )}\n </CardHeader>\n\n <CardContent className=\"space-y-6\">\n <Form {...form}>\n <form className=\"flex items-center justify-center my-4 \">\n <FormField\n control={form.control}\n name={fieldName}\n render={() => (\n <FormItem className=\"flex items-center justify-center flex-col gap-y-1 space-y-4\">\n <FormControl>\n <InputOTP\n maxLength={6}\n value={value}\n disabled={isMaxAttemptsReached}\n onChange={(authenticationValue) => {\n setValue(authenticationValue);\n\n if (authenticationValue.length === 6 && !isMaxAttemptsReached) {\n setLoading?.(true);\n onChangeOTP(authenticationValue);\n }\n }}\n pattern={REGEXP_ONLY_DIGITS}\n >\n <InputOTPGroup className=\"space-x-2\">\n {[...Array(6)].map((_, idx) => (\n <InputOTPSlot\n key={idx + 1}\n className={`border border-l-2 ${\n isMaxAttemptsReached ? 'opacity-50 cursor-not-allowed' : ''\n }`}\n index={idx}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </form>\n {/* <div className=\"flex flex-col gap-3 items-center justify-center\">\n <Button\n className=\"bg-emerald-700 px-12 py-4 mt-8 space-y-6\"\n onClick={submitOTP}\n disabled={isDisabled}\n >\n {isDisabled\n ? `Resend Code? Retry in ${formattedTime}`\n : \"Resend Code\"}\n </Button>\n </div> */}\n </Form>\n </CardContent>\n </Card>\n );\n};\n","export default \"OTPAuthentication.svg\"","export default \"microsoftauthenticator.svg\"","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}","import{jsx as e,jsxs as s}from\"react/jsx-runtime\";var a=\"container_f782f4\",i=\"inner_37f4c9\",c=\"bar_409d0f\";const r=({size:r=35,color:l=\"black\",speed:d=1,stroke:o=3.5})=>e(\"div\",{className:a,style:{\"--uib-size\":r+\"px\",\"--uib-color\":l,\"--uib-speed\":d+\"s\",\"--uib-stroke\":o+\"px\"},children:s(\"div\",{className:i,children:[e(\"div\",{className:c}),e(\"div\",{className:c}),e(\"div\",{className:c}),e(\"div\",{className:c})]})});export{r as default};\n//# sourceMappingURL=Waveform.js.map\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","\"use client\";\n\nimport \"ldrs/waveform\";\nimport { Waveform } from \"ldrs/react\";\nimport \"ldrs/react/Waveform.css\";\n\nconst LoadingSpinner = ({ loadingText }: { loadingText?: string }) => {\n return (\n <div className=\"flex flex-col justify-center items-center\">\n <script\n type=\"module\"\n defer\n src=\"https://cdn.jsdelivr.net/npm/ldrs/dist/auto/waveform.js\"\n />\n\n <Waveform size=\"35\" stroke=\"3.5\" speed=\"1\" color=\"green\" />\n\n {loadingText && (\n <p className=\"text-center font-semibold mt-3\">Loading...</p>\n )}\n </div>\n );\n};\n\nexport default LoadingSpinner;\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\nimport { CheckCircle } from \"lucide-react\";\n\ninterface AuthSuccessAnimationProps {\n onComplete?: () => void;\n}\n\nexport const AuthSuccessAnimation = ({ onComplete }: AuthSuccessAnimationProps) => {\n return (\n <motion.div\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ duration: 0.5, ease: \"easeOut\" }}\n className=\"flex flex-col items-center justify-center space-y-6 p-8\"\n onAnimationComplete={onComplete}\n >\n <motion.div\n initial={{ scale: 0 }}\n animate={{ scale: 1 }}\n transition={{ delay: 0.2, duration: 0.6, type: \"spring\", stiffness: 200 }}\n >\n <CheckCircle className=\"w-20 h-20 text-green-500\" />\n </motion.div>\n \n <motion.div\n initial={{ y: 20, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n transition={{ delay: 0.4, duration: 0.5 }}\n className=\"text-center space-y-2\"\n >\n <h2 className=\"text-2xl font-bold text-green-600\">Authentication Successful!</h2>\n <p className=\"text-gray-600\">Redirecting you to the application...</p>\n </motion.div>\n \n <motion.div\n initial={{ width: 0 }}\n animate={{ width: \"100%\" }}\n transition={{ delay: 0.8, duration: 2 }}\n className=\"h-1 bg-green-500 rounded-full max-w-xs\"\n />\n </motion.div>\n );\n};","\"use client\";\n\nimport { useState, useCallback, useMemo } from \"react\";\nimport axios from \"axios\";\n\nexport const useOTPHandler = ({\n provider,\n accessToken,\n idToken,\n appCode,\n authenticationType,\n validateTokenUrl,\n onAuthComplete,\n}: {\n provider: string;\n accessToken: string;\n idToken: string;\n appCode: string;\n authenticationType: \"AuthenticatorCode\" | \"EmailOTP\" | null;\n validateTokenUrl: string;\n onAuthComplete: (state: boolean, data: UserValidatedResponse | null) => void;\n}) => {\n const [loading, setLoading] = useState(false);\n const [attemptCount, setAttemptCount] = useState(0);\n const [isMaxAttemptsReached, setIsMaxAttemptsReached] = useState(false);\n const MAX_ATTEMPTS = 3;\n\n const handleSubmitOTP = useMemo(\n () => async (authenticationValue: string) => {\n if (isMaxAttemptsReached) {\n onAuthComplete(false, {\n message: \"Maximum attempts reached\",\n } as UserValidatedResponse);\n return false;\n }\n\n try {\n setLoading(true);\n const currentAttempt = attemptCount + 1;\n setAttemptCount(currentAttempt);\n\n if (authenticationType === null) return false;\n\n const { data: response } = await axios.post(validateTokenUrl, {\n provider,\n accessToken,\n idToken,\n authenticationType,\n MFACode: authenticationValue,\n appCode,\n });\n\n if (response) {\n onAuthComplete(true, response);\n return true;\n } else {\n if (currentAttempt >= MAX_ATTEMPTS) {\n setIsMaxAttemptsReached(true);\n onAuthComplete(false, {\n message: \"Maximum attempts reached\",\n } as UserValidatedResponse);\n } else {\n onAuthComplete(false, response);\n }\n return false;\n }\n } catch (error) {\n console.error(error);\n\n const currentAttempt = attemptCount + 1;\n if (currentAttempt >= MAX_ATTEMPTS) {\n setIsMaxAttemptsReached(true);\n onAuthComplete(false, error as UserValidatedResponse);\n } else {\n onAuthComplete(false, error as UserValidatedResponse);\n }\n\n onAuthComplete(false, error as UserValidatedResponse);\n return false;\n } finally {\n setLoading(false);\n }\n },\n [\n accessToken,\n idToken,\n authenticationType,\n onAuthComplete,\n validateTokenUrl,\n attemptCount,\n isMaxAttemptsReached,\n ]\n );\n\n const resetAttempts = useCallback(() => {\n setAttemptCount(0);\n setIsMaxAttemptsReached(false);\n }, []);\n\n return {\n handleSubmitOTP,\n loading,\n setLoading,\n attemptCount,\n isMaxAttemptsReached,\n resetAttempts,\n remainingAttempts: MAX_ATTEMPTS - attemptCount,\n };\n};\n","\"use client\";\n\nimport { useState } from \"react\";\nimport { GenericOTPVerifier } from \"./GenericOTP\";\nimport { Mail, ShieldCheck, ShieldClose } from \"lucide-react\";\nimport OTPAuthenticationImg from \"../assets/images/OTPAuthentication.svg\";\nimport MicrosoftAuthenticatorImg from \"../assets/images/microsoftauthenticator.svg\";\nimport {\n Card,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../components/ui/card\";\nimport { Button } from \"./ui/button\";\nimport { Dialog, DialogTitle, DialogContent, DialogHeader } from \"./ui/dialog\";\nimport LoadingSpinner from \"./Loading\";\nimport { toast } from \"sonner\";\nimport { AuthSuccessAnimation } from \"./AuthSuccessAnimation\";\nimport { useCAMSContext } from \"../context/CAMSContext\";\nimport { useOTPHandler } from \"../hooks/useOTPHandler\";\n\ninterface MFAOptionsProps {\n onComplete?: (success: boolean) => void;\n}\n\nconst MFAOptions = ({ onComplete }: MFAOptionsProps = {}) => {\n const [value, setValue] = useState(\"\");\n const [otpVisible, setOtpVisible] = useState<boolean>(false);\n const [showSuccessAnimation, setShowSuccessAnimation] =\n useState<boolean>(false);\n const [authType, setAuthType] = useState<\n \"AuthenticatorCode\" | \"EmailOTP\" | null\n >(null);\n\n const context = useCAMSContext();\n const isSDKMode = context.authMode === \"MSAL\" && \"completeMFA\" in context;\n const { sendEmailOTP } = isSDKMode ? context : { sendEmailOTP: null };\n\n const accessToken = context.authMode === \"MSAL\" ? context.accessToken : \"\";\n const idToken = context.authMode === \"MSAL\" ? context.idToken : \"\";\n\n const {\n handleSubmitOTP,\n loading,\n attemptCount,\n isMaxAttemptsReached,\n remainingAttempts,\n resetAttempts,\n } = useOTPHandler({\n provider: \"azure\",\n accessToken: accessToken || \"\",\n idToken: idToken || \"\",\n appCode: context.appCode || \"\",\n authenticationType: authType,\n validateTokenUrl: (context.authMode === \"MSAL\" && \"MFAEndpoint\" in context\n ? context.MFAEndpoint || \"/api/auth/verify-mfa\"\n : \"/api/validate-token\") as string,\n onAuthComplete: (success, data) => {\n if (success) {\n setShowSuccessAnimation(true);\n toast.success(\n <div className=\"flex items-center gap-2 text-sm text-green-600 bg-green-50 p-3 rounded-lg\">\n <ShieldCheck className=\"w-4 h-4\" />\n <span>Multi-Factor Authentication Successful</span>\n </div>\n );\n setTimeout(() => onComplete?.(true), 2000);\n } else {\n toast.error(\n <div className=\"flex items-center gap-2 text-sm text-red-600 bg-red-50 p-3 rounded-lg\">\n <ShieldClose className=\"w-4 h-4\" />\n <span>{data?.message || \"Invalid code. Please try again.\"}</span>\n </div>\n );\n if (isMaxAttemptsReached) {\n setTimeout(() => onComplete?.(false), 1000);\n }\n }\n },\n });\n\n const handleGoBack = () => {\n setAuthType(null);\n setOtpVisible(false);\n setValue(\"\");\n resetAttempts();\n };\n\n // Show success animation if authentication is successful\n if (showSuccessAnimation) {\n return (\n <Card className=\"mx-auto space-y-6 p-6 bg-white rounded-lg shadow-md\">\n <AuthSuccessAnimation\n onComplete={() => {\n // Animation completed, can add additional logic here if needed\n }}\n />\n </Card>\n );\n }\n\n let content: React.JSX.Element = <></>;\n\n if (!authType) {\n content = (\n <div className=\"space-y-4\">\n <p className=\"text-sm text-gray-600 text-center mb-6\">\n Choose your preferred authentication method:\n </p>\n <div className=\"flex flex-col gap-3\">\n <Button\n variant=\"outline\"\n className=\"w-full flex items-center justify-start gap-3 p-4 h-auto border-2 hover:border-[#506f4a] hover:bg-[#506f4a]/5 transition-all\"\n onClick={async () => {\n resetAttempts();\n setAuthType(\"EmailOTP\");\n setOtpVisible(true);\n if (isSDKMode && sendEmailOTP) {\n const success = await sendEmailOTP();\n if (success) {\n toast.success(\n <div className=\"flex items-center gap-2 text-sm text-green-600 bg-green-50 p-3 rounded-lg\">\n <ShieldCheck className=\"w-4 h-4\" />\n <span>OTP sent to your email address</span>\n </div>\n );\n }\n }\n }}\n // disabled={true}\n >\n <Mail className=\"w-5 h-5\" />\n <div className=\"text-left\">\n <div className=\"font-medium\">Email OTP</div>\n <div className=\"text-sm text-gray-500\">\n Send code to your email\n </div>\n </div>\n </Button>\n\n <Button\n variant=\"outline\"\n className=\"w-full flex items-center justify-start gap-3 p-4 h-auto border-2 hover:border-[#506f4a] hover:bg-[#506f4a]/5 transition-all\"\n onClick={() => {\n resetAttempts();\n setAuthType(\"AuthenticatorCode\");\n setOtpVisible(true);\n }}\n >\n <img\n src={MicrosoftAuthenticatorImg}\n alt=\"Authenticator\"\n className=\"rounded-full\"\n width={24}\n height={24}\n />\n <div className=\"text-left\">\n <div className=\"font-medium\">Authenticator App</div>\n <div className=\"text-sm text-gray-500\">Use Authenticator App</div>\n </div>\n </Button>\n </div>\n </div>\n );\n } else if (authType === \"EmailOTP\") {\n content = (\n <Dialog\n open={otpVisible}\n onOpenChange={() => {\n setAuthType(null);\n setOtpVisible(false);\n setValue(\"\");\n }}\n >\n <DialogHeader>\n <DialogTitle>Email OTP</DialogTitle>\n </DialogHeader>\n <DialogContent className=\"sm:max-w-[425px]\">\n <div className=\"space-y-4\">\n <GenericOTPVerifier\n value={value}\n setValue={setValue}\n isDisabled={loading || isMaxAttemptsReached}\n onChangeOTP={handleSubmitOTP}\n fieldName=\"EmailOTP\"\n attemptCount={attemptCount}\n remainingAttempts={remainingAttempts}\n isMaxAttemptsReached={isMaxAttemptsReached}\n />\n <Button\n variant=\"ghost\"\n className=\"w-full text-sm\"\n onClick={handleGoBack}\n >\n ← Choose different method\n </Button>\n </div>\n </DialogContent>\n </Dialog>\n );\n } else if (authType === \"AuthenticatorCode\") {\n content = (\n <Dialog open={otpVisible} onOpenChange={handleGoBack}>\n <DialogHeader>\n <DialogTitle>Authenticator App</DialogTitle>\n </DialogHeader>\n <DialogContent className=\"sm:max-w-[425px]\">\n {loading ? (\n <div className=\"p-3 flex justify-center items-center\">\n <LoadingSpinner />\n </div>\n ) : (\n <div className=\"space-y-4\">\n <p className=\"text-sm text-gray-600 text-center\">\n Enter the 6-digit Code from your Authenticator app\n </p>\n <GenericOTPVerifier\n value={value}\n setValue={setValue}\n isDisabled={loading || isMaxAttemptsReached}\n onChangeOTP={handleSubmitOTP}\n fieldName=\"AuthenticatorCode\"\n attemptCount={attemptCount}\n remainingAttempts={remainingAttempts}\n isMaxAttemptsReached={isMaxAttemptsReached}\n />\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <div className=\"flex justify-center items-center h-dvh\">\n <Card className=\"mx-auto space-y-6 p-6 bg-white rounded-lg shadow-md\">\n <CardHeader>\n <img\n src={OTPAuthenticationImg}\n alt=\"NIBSS Logo\"\n width={365}\n height={365}\n />\n\n <CardTitle className=\"text-3xl font-bold mb-6 text-center\">\n Two-Factor Authentication\n </CardTitle>\n <CardTitle className=\"text-gray-300 text-sm -tracking-wide text-center\">\n Your Microsoft account has been validated. Please complete\n two-factor authentication to continue.\n </CardTitle>\n </CardHeader>\n\n <CardContent>{content}</CardContent>\n\n <CardFooter className=\"flex items-center justify-center mt-6 space-x-2 text-gray-400 text-sm\">\n <ShieldCheck className=\"w-4 h-4 text-[#506f4a] pulse-glow\" />\n <span>Powered By NIBSS</span>\n </CardFooter>\n </Card>\n </div>\n );\n};\n\nexport default MFAOptions;\n","\"use client\";\n\nimport { useCAMSContext } from \"./UnifiedCAMSProvider\";\nimport { Button } from \"./ui/button\";\n\nconst LoginButton = () => {\n const context = useCAMSContext();\n const { login, isLoading, error, authMode } = context;\n\n const handleLogin = () => {\n if (authMode === \"MSAL\") {\n (login as () => Promise<void>)();\n } else {\n // For regular mode, you'd need to provide CAMSConfig\n console.warn(\"Regular CAMS login requires configuration\");\n }\n };\n\n return (\n <div className=\"flex flex-col items-center gap-4 p-6\">\n <Button onClick={handleLogin} disabled={isLoading} className=\"min-w-[200px]\">\n {isLoading ? 'Logging in...' : 'Login with Microsoft'}\n </Button>\n {error && (\n <p className=\"text-red-600 text-sm text-center\">\n Error: {error.message}\n </p>\n )}\n </div>\n );\n};\n\nexport default LoginButton;","\"use client\";\n\nimport { useCAMSContext } from \"./UnifiedCAMSProvider\";\nimport MFAOptions from \"./MFAOptions\";\nimport LoginButton from \"./LoginButton\";\n\ninterface MFAGateProps {\n children: React.ReactNode;\n fallback?: React.ReactNode;\n loginComponent?: React.ComponentType;\n}\n\nconst MFAGate = ({ children, fallback, loginComponent: LoginComponent }: MFAGateProps) => {\n const context = useCAMSContext();\n\n // Only apply MFA gate for MSAL mode\n if (context.authMode !== \"MSAL\") {\n return <>{children}</>;\n }\n\n const { requiresMFA, isAuthenticated, isLoading } = context;\n\n if (isLoading) {\n return fallback || <div>Loading...</div>;\n }\n\n if (requiresMFA) {\n return (\n <MFAOptions\n onComplete={(success) => {\n if (!success) {\n console.error(\"MFA authentication failed\");\n }\n }}\n />\n );\n }\n\n if (!isAuthenticated) {\n return fallback || (LoginComponent ? <LoginComponent /> : <LoginButton />);\n }\n\n return <>{children}</>;\n};\n\nexport default MFAGate;"],"names":["useState","useRef","useEffect","isPopupWindow","initializePopupAuth","CAMSSessionManager","useCallback","useMsal","useAccount","InteractionStatus","CAMSMFAAuthenticator","Logger","CAMSError","CAMSErrorType","React","require$$0","jsxRuntimeModule","require$$1","CAMSContext","createContext","useCAMSContext","useContext","_jsx","_Fragment","setCookie","getCookie","deleteCookie","useMemo","PublicClientApplication","MsalProvider","z","util.jsonStringifyReplacer","core.$ZodAsyncError","util.finalizeIssue","core.config","util.captureStackTrace","errors.$ZodRealError","o","i","a","r","e","n.parse","n.parseAsync","n.$ZodError","twMerge","clsx","OTPInput","OTPInputContext","_jsxs","FormProvider","Controller","useFormContext","useFormState","Slot","useForm","zodResolver","RectangleEllipsis","REGEXP_ONLY_DIGITS","cva","DialogPrimitive","XIcon","s","Waveform","motion","CheckCircle","toast","ShieldCheck","ShieldClose","Mail"],"mappings":"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","x_google_ignoreList":[0,4,5,6,13,14,15,16,17,27,28]}
|