@nibssplc/cams-sdk-react 1.0.0-rc.6 → 1.0.0-rc.61
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/README.md +18 -4
- package/dist/components/MFAGate.d.ts +7 -1
- package/dist/components/UnifiedCAMSProvider.d.ts +5 -0
- package/dist/context/CAMSContext.d.ts +5 -0
- package/dist/hooks/useCAMSMSALAuth.d.ts +3 -2
- package/dist/index.cjs.js +360 -636
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +361 -637
- package/dist/index.esm.js.map +1 -1
- package/dist/index.server.d.ts +9 -0
- package/dist/index.server.js +908 -0
- package/dist/index.server.js.map +1 -0
- package/dist/styles.css +1 -0
- package/package.json +10 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.server.js","sources":["../../../node_modules/tslib/tslib.es6.js","../src/hooks/useCAMSAuth.ts","../src/utils/crypto-polyfill.ts","../src/utils/cookies.ts","../src/hooks/useCAMSMSALAuth.ts","../src/components/CAMSProvider.tsx","../src/components/ProtectedRoute.tsx","../src/components/CAMSMSALProvider.tsx","../src/components/ClientOnly.tsx","../src/context/CAMSContext.tsx","../src/components/UnifiedCAMSProvider.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} 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 loginExpiry?: 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 loginExpiry: number;\n}\n\nexport function useCAMSAuth(\n options: UseCAMSAuthOptions = {\n appCode: \"\",\n loginExpiry: 1,\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 sessionManagerRef.current ??= new CAMSSessionManager(\n localStorage,\n options.storageKey || \"CAMS-AUTH-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 idleTimeout: options.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 const e = err as any;\n // Handle race where popup closed after successful auth/MFA but before SDK resolved\n const isPopupClosedError =\n e?.message?.includes(\"Authentication window was closed\") ||\n e?.error === \"Authentication window was closed\";\n\n if (isPopupClosedError && sessionManagerRef.current.isAuthenticated()) {\n // treat as success: restore token/profile from session manager\n const restoredToken = sessionManagerRef.current.getAccessToken() ?? \"\";\n setToken(restoredToken);\n setIsAuthenticated(true);\n const userProfile = await sessionManagerRef.current.getProfile();\n setProfile(userProfile);\n options.onAuthSuccess?.(restoredToken);\n } else {\n setError(err as CAMSError);\n setIsAuthenticated(false);\n setToken(\"\");\n setProfile(null);\n } \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 loginExpiry: options.loginExpiry ?? 1,\n appCode: options.appCode,\n storageKey: options.storageKey || \"CAMS-AUTH-SDK\",\n } as UseCAMSAuthReturn;\n}\n","// Crypto polyfill for MSAL browser compatibility\n// Only apply if crypto.subtle is completely missing\nif (typeof window !== \"undefined\" && !window.crypto?.subtle) {\n // Ensure crypto object exists\n if (!window.crypto) {\n (window as any).crypto = {};\n }\n\n // Polyfill getRandomValues\n if (!window.crypto.getRandomValues) {\n window.crypto.getRandomValues = function <T extends ArrayBufferView>(\n array: T\n ): T {\n const bytes = new Uint8Array(\n array.buffer,\n array.byteOffset,\n array.byteLength\n );\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = Math.floor(Math.random() * 256);\n }\n return array;\n };\n }\n\n const sha256 = async (data: BufferSource): Promise<ArrayBuffer> => {\n // Normalize BufferSource -> Uint8Array (handles ArrayBuffer, TypedArray, DataView)\n const toUint8 = (src: BufferSource): Uint8Array => {\n if (src instanceof ArrayBuffer) return new Uint8Array(src);\n if (ArrayBuffer.isView(src)) {\n const view = src as ArrayBufferView;\n return new Uint8Array(\n view.buffer,\n (view as any).byteOffset || 0,\n view.byteLength\n );\n }\n throw new TypeError(\"Unsupported BufferSource\");\n };\n const bytes = toUint8(data);\n const hash = new Uint32Array(8);\n const k = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n ]);\n\n hash[0] = 0x6a09e667;\n hash[1] = 0xbb67ae85;\n hash[2] = 0x3c6ef372;\n hash[3] = 0xa54ff53a;\n hash[4] = 0x510e527f;\n hash[5] = 0x9b05688c;\n hash[6] = 0x1f83d9ab;\n hash[7] = 0x5be0cd19;\n\n const ml = bytes.length * 8;\n const msg = new Uint8Array(\n bytes.length + 64 + ((64 - ((bytes.length + 9) % 64)) % 64)\n );\n\n msg.set(bytes);\n msg[bytes.length] = 0x80;\n \n // FIXED: Write 64-bit big-endian length correctly (high 32 then low 32)\n const dv = new DataView(msg.buffer);\n const high = Math.floor(ml / 0x100000000);\n const low = ml >>> 0;\n dv.setUint32(msg.length - 8, high, false);\n dv.setUint32(msg.length - 4, low, false);\n\n for (let i = 0; i < msg.length; i += 64) {\n const w = new Uint32Array(64);\n for (let j = 0; j < 16; j++)\n w[j] = new DataView(msg.buffer).getUint32(i + j * 4, false);\n for (let j = 16; j < 64; j++) {\n const s0 =\n ((w[j - 15] >>> 7) | (w[j - 15] << 25)) ^\n ((w[j - 15] >>> 18) | (w[j - 15] << 14)) ^\n (w[j - 15] >>> 3);\n const s1 =\n ((w[j - 2] >>> 17) | (w[j - 2] << 15)) ^\n ((w[j - 2] >>> 19) | (w[j - 2] << 13)) ^\n (w[j - 2] >>> 10);\n w[j] = (w[j - 16] + s0 + w[j - 7] + s1) >>> 0;\n }\n\n let a = hash[0],\n b = hash[1],\n c = hash[2],\n d = hash[3],\n e = hash[4],\n f = hash[5],\n g = hash[6],\n h = hash[7];\n for (let j = 0; j < 64; j++) {\n const S1 =\n ((e >>> 6) | (e << 26)) ^\n ((e >>> 11) | (e << 21)) ^\n ((e >>> 25) | (e << 7));\n const ch = (e & f) ^ (~e & g);\n const temp1 = (h + S1 + ch + k[j] + w[j]) >>> 0;\n const S0 =\n ((a >>> 2) | (a << 30)) ^\n ((a >>> 13) | (a << 19)) ^\n ((a >>> 22) | (a << 10));\n const maj = (a & b) ^ (a & c) ^ (b & c);\n const temp2 = (S0 + maj) >>> 0;\n h = g;\n g = f;\n f = e;\n e = (d + temp1) >>> 0;\n d = c;\n c = b;\n b = a;\n a = (temp1 + temp2) >>> 0;\n }\n hash[0] = (hash[0] + a) >>> 0;\n hash[1] = (hash[1] + b) >>> 0;\n hash[2] = (hash[2] + c) >>> 0;\n hash[3] = (hash[3] + d) >>> 0;\n hash[4] = (hash[4] + e) >>> 0;\n hash[5] = (hash[5] + f) >>> 0;\n hash[6] = (hash[6] + g) >>> 0;\n hash[7] = (hash[7] + h) >>> 0;\n }\n\n const result = new Uint8Array(32);\n for (let i = 0; i < 8; i++)\n new DataView(result.buffer).setUint32(i * 4, hash[i], false);\n return result.buffer;\n };\n\n // Create the polyfilled subtle object\n const polyfillSubtle = {\n digest: async (\n algorithm: string | { name: string },\n data: BufferSource\n ): Promise<ArrayBuffer> => {\n const alg =\n typeof algorithm === \"string\"\n ? algorithm\n : (algorithm as any).name;\n if (alg === \"SHA-256\") return sha256(data);\n throw new Error(`Unsupported algorithm: ${alg}`);\n },\n } as SubtleCrypto;\n\n // Set the polyfilled subtle object\n (window.crypto as any).subtle = polyfillSubtle;\n\n // Polyfill randomUUID\n if (!window.crypto.randomUUID) {\n window.crypto.randomUUID =\n function (): `${string}-${string}-${string}-${string}-${string}` {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n }) as `${string}-${string}-${string}-${string}-${string}`;\n };\n }\n\n console.log(\"Crypto polyfill applied (native crypto.subtle not available)\");\n}","\n\nexport const setCookie = (name: string, value: string, days: number = 1) => {\n const expires = new Date(\n Date.now() + days * 24 * 60 * 60 * 1000\n ).toUTCString();\n\n console.log(\"Auth Cookie Expires >>>\", { name, value, expires });\n document.cookie = `${name}=${encodeURIComponent(\n value\n )}; expires=${expires}; path=/; samesite=Lax`;\n};\n\nexport const 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\nexport const deleteCookie = (name: string) => {\n document.cookie = name + \"=; Max-Age=-99999999; path=/\";\n};","// CRITICAL: Load crypto polyfill BEFORE any MSAL imports\nimport \"../utils/crypto-polyfill\";\n\nimport { 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\";\nimport { setCookie } from \"../utils/cookies\";\n\nexport interface UseCAMSMSALAuthOptions {\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 activeCookiePeriod?: number;\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: (data: UserValidatedResponse) => Promise<MFAResponse>;\n setRequiresMFA: React.Dispatch<React.SetStateAction<boolean>>;\n sendEmailOTP: () => Promise<boolean>;\n\n activeCookiePeriod: number;\n}\n\nexport function useCAMSMSALAuth(\n options: UseCAMSMSALAuthOptions\n): UseCAMSMSALAuthReturn {\n const {\n storageKey: optStorageKey,\n scopes: optScopes,\n prompt,\n appCode,\n MFAEndpoint,\n activeCookiePeriod = 1,\n } = options;\n\n const storageKey = optStorageKey || \"CAMS-MSAL-AUTH-SDK\";\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] =\n 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 = optScopes || [\"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(storageKey);\n if (stored) {\n try {\n const {\n accessToken,\n idToken,\n requiresMFA: storedRequiresMFA,\n isAuthenticated: storedIsAuthenticated,\n } = 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,\n provider: \"MSAL\",\n apiEndpoint: MFAEndpoint,\n };\n const authenticator = new CAMSMFAAuthenticator(mfaConfig);\n setMfaAuthenticator(authenticator);\n setRequiresMFA(true);\n }\n } else {\n localStorage.removeItem(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 if (inProgress !== InteractionStatus.None) {\n Logger.warn(\n \"Authentication already in progress, ignoring duplicate call\"\n );\n return;\n }\n\n setError(null);\n\n try {\n const response = await instance.loginPopup({\n scopes,\n prompt: prompt || \"login\",\n });\n console.log(\"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,\n provider: \"MSAL\",\n apiEndpoint: 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 storageKey,\n JSON.stringify({\n isAuthenticated: false,\n requiresMFA: true,\n accessToken: response.accessToken,\n idToken: response.idToken,\n })\n );\n }\n\n\n } catch (err: any) {\n // Handle interaction_in_progress error\n if (err.errorCode === \"interaction_in_progress\") {\n Logger.warn(\"Interaction already in progress, please wait\");\n return;\n }\n\n // Handle user cancellation gracefully\n if (err.errorCode === \"user_cancelled\") {\n Logger.error(\"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 return;\n }\n\n const camsError = new CAMSError(\n CAMSErrorType.API_VALIDATION_ERROR,\n \"Login failed: \" + err.message || err\n );\n setError(camsError);\n }\n }, [\n instance,\n scopes,\n prompt,\n appCode,\n MFAEndpoint,\n storageKey,\n inProgress,\n ]);\n\n const completeMFA = useCallback(\n async (data: UserValidatedResponse): Promise<MFAResponse> => {\n if (!mfaAuthenticator) {\n throw new CAMSError(\n CAMSErrorType.API_VALIDATION_ERROR,\n \"MFA Authenticator not initialized\"\n );\n }\n\n Logger.info(\"Completed MFA.. Setting State\");\n try {\n // Update storage with complete authentication BEFORE setting state\n if (typeof window !== \"undefined\") {\n localStorage.setItem(\n storageKey,\n JSON.stringify({\n isAuthenticated: true,\n requiresMFA: false,\n accessToken,\n idToken,\n })\n );\n\n setCookie(\n \"CAMS-MSAL-AUTH-SDK-PROFILE\",\n JSON.stringify({ type: \"AUTH_SUCCESS\", userProfile: { ...data } }),\n activeCookiePeriod\n );\n setRequiresMFA(false);\n // Set requiresMFA to false after storage update\n\n Logger.debug(\"MFA completed successfully, storage updated\", {\n accessToken,\n idToken,\n isAuthenticated: true,\n requiresMFA: false,\n });\n }\n\n Logger.debug(\"MFA completed successfully, requiresMFA set to false\");\n\n return data;\n } catch (error) {\n setError(error as CAMSError);\n throw error;\n }\n },\n [mfaAuthenticator, accessToken, idToken, storageKey, activeCookiePeriod]\n );\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 Logger.info(\"Logging User Out\");\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(storageKey);\n // deleteCookie(\"CAMS-MSAL-AUTH-SDK-PROFILE\");\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, storageKey]);\n\n return {\n login,\n logout,\n storageKey,\n isAuthenticated,\n isLoading,\n error,\n idToken,\n accessToken,\n appCode,\n mfaAuthenticator,\n requiresMFA,\n completeMFA,\n sendEmailOTP,\n setRequiresMFA,\n activeCookiePeriod,\n } as UseCAMSMSALAuthReturn;\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';\nimport { getCookie, setCookie } from \"../utils/cookies\";\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 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), auth.loginExpiry);\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 className='h-screen flex items-center justify-center'>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\";\nimport { deleteCookie, getCookie, setCookie } from \"../utils/cookies\";\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 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 if (userProfile) {\n setCookie(\n profileStorageKey,\n JSON.stringify(userProfile),\n 1\n ); // 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 \n // Ensure crypto is available before creating MSAL instance\n if (typeof window !== \"undefined\" && !window.crypto?.subtle) {\n throw new Error(\"Crypto API not available. Polyfill failed to load.\");\n }\n \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 onAuthSuccess?: (tokens: { accessToken: string; idToken: string }) => void;\n onAuthError?: (error: any) => void;\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\";\nimport { setCookie, getCookie, deleteCookie } from \"../utils/cookies\";\n\nconst GuidSchema = z.uuid(\"appCode must be a valid GUID\");\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\n extends BaseProviderProps,\n Omit<UseCAMSMSALAuthOptions, \"MFAEndpoint\"> {\n mode: \"MSAL\";\n msalConfig: Configuration;\n msalInstance?: PublicClientApplication;\n onAuthSuccess?: (tokens: { accessToken: string; idToken: string }) => void;\n onAuthError?: (error: any) => void;\n}\n\ntype UnifiedCAMSProviderProps = RegularProviderProps | MSALProviderProps;\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: \"\" }\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 useEffect(() => {\n if (\n mode === \"MSAL\" &&\n \"requiresMFA\" in auth &&\n !auth.requiresMFA &&\n auth.isAuthenticated\n ) {\n const storedData = localStorage.getItem(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 }, [\n mode,\n \"requiresMFA\" in auth ? auth.requiresMFA : false,\n auth.isAuthenticated,\n auth.storageKey,\n userProfile,\n ]);\n\n const value = useMemo(() => {\n const { logout: _, ...authRest } = auth;\n return {\n ...authRest,\n logout: enhancedLogout,\n userProfile,\n setUserProfile,\n authMode: mode,\n onAuthSuccess: mode === \"MSAL\" ? (props as MSALProviderProps).onAuthSuccess : undefined,\n onAuthError: mode === \"MSAL\" ? (props as MSALProviderProps).onAuthError : undefined,\n } as CAMSContextValue;\n }, [auth, userProfile, mode, props]);\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 CAS APP CODE: ${appCodeValidation.error.issues[0].message}`\n );\n }\n\n if (props.mode === \"MSAL\") {\n const { msalConfig, msalInstance } = props;\n\n if (typeof window !== \"undefined\" && !window.crypto?.subtle) {\n throw new Error(\"Crypto API not available. Polyfill failed to load.\");\n }\n\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 className='h-screen flex items-center justify-center'>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"],"names":["__awaiter","__generator","CAMSContext","useCAMSContext","_jsx","_Fragment"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "tailwindcss";@variant dark (&:is(.dark *));@layer base{:root{--radius:0.625rem;--background:1 0 0;--foreground:0.145 0 0;--card:1 0 0;--card-foreground:0.145 0 0;--popover:1 0 0;--popover-foreground:0.145 0 0;--primary:0.205 0 0;--primary-foreground:0.985 0 0;--secondary:0.97 0 0;--secondary-foreground:0.205 0 0;--muted:0.97 0 0;--muted-foreground:0.556 0 0;--accent:0.97 0 0;--accent-foreground:0.205 0 0;--destructive:0.577 0.245 27.325;--destructive-foreground:0.985 0 0;--border:0.922 0 0;--input:0.922 0 0;--ring:0.708 0 0;--chart-1:0.646 0.222 41.116;--chart-2:0.6 0.118 184.704;--chart-3:0.398 0.07 227.392;--chart-4:0.828 0.189 84.429;--chart-5:0.769 0.188 70.08;--sidebar:0.985 0 0;--sidebar-foreground:0.145 0 0;--sidebar-primary:0.205 0 0;--sidebar-primary-foreground:0.985 0 0;--sidebar-accent:0.97 0 0;--sidebar-accent-foreground:0.205 0 0;--sidebar-border:0.922 0 0;--sidebar-ring:0.708 0 0}.dark{--background:0.145 0 0;--foreground:0.985 0 0;--card:0.205 0 0;--card-foreground:0.985 0 0;--popover:0.205 0 0;--popover-foreground:0.985 0 0;--primary:0.922 0 0;--primary-foreground:0.205 0 0;--secondary:0.269 0 0;--secondary-foreground:0.985 0 0;--muted:0.269 0 0;--muted-foreground:0.708 0 0;--accent:0.269 0 0;--accent-foreground:0.985 0 0;--destructive:0.704 0.191 22.216;--destructive-foreground:0.985 0 0;--border:1 0 0/10%;--input:1 0 0/15%;--ring:0.556 0 0;--chart-1:0.488 0.243 264.376;--chart-2:0.696 0.17 162.48;--chart-3:0.769 0.188 70.08;--chart-4:0.627 0.265 303.9;--chart-5:0.645 0.246 16.439;--sidebar:0.205 0 0;--sidebar-foreground:0.985 0 0;--sidebar-primary:0.488 0.243 264.376;--sidebar-primary-foreground:0.985 0 0;--sidebar-accent:0.269 0 0;--sidebar-accent-foreground:0.985 0 0;--sidebar-border:1 0 0/10%;--sidebar-ring:0.556 0 0}*,body{@apply bg-background text-foreground}}@theme inline{--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--color-background:oklch(var(--background));--color-foreground:oklch(var(--foreground));--color-card:oklch(var(--card));--color-card-foreground:oklch(var(--card-foreground));--color-popover:oklch(var(--popover));--color-popover-foreground:oklch(var(--popover-foreground));--color-primary:oklch(var(--primary));--color-primary-foreground:oklch(var(--primary-foreground));--color-secondary:oklch(var(--secondary));--color-secondary-foreground:oklch(var(--secondary-foreground));--color-muted:oklch(var(--muted));--color-muted-foreground:oklch(var(--muted-foreground));--color-accent:oklch(var(--accent));--color-accent-foreground:oklch(var(--accent-foreground));--color-destructive:oklch(var(--destructive));--color-border:oklch(var(--border));--color-input:oklch(var(--input));--color-ring:oklch(var(--ring));--color-chart-1:oklch(var(--chart-1));--color-chart-2:oklch(var(--chart-2));--color-chart-3:oklch(var(--chart-3));--color-chart-4:oklch(var(--chart-4));--color-chart-5:oklch(var(--chart-5));--color-sidebar:oklch(var(--sidebar));--color-sidebar-foreground:oklch(var(--sidebar-foreground));--color-sidebar-primary:oklch(var(--sidebar-primary));--color-sidebar-primary-foreground:oklch(var(--sidebar-primary-foreground));--color-sidebar-accent:oklch(var(--sidebar-accent));--color-sidebar-accent-foreground:oklch(var(--sidebar-accent-foreground));--color-sidebar-border:oklch(var(--sidebar-border));--color-sidebar-ring:oklch(var(--sidebar-ring))}.container_f782f4{display:inline-flex;flex-shrink:0;justify-content:center}.container_f782f4,.inner_37f4c9{align-items:center;height:calc(var(--uib-size)*.9);width:var(--uib-size)}.inner_37f4c9{display:flex;justify-content:space-between}.bar_409d0f{background-color:var(--uib-color);height:100%;transition:background-color .3s ease;width:var(--uib-stroke)}.bar_409d0f:first-child{animation:grow_ca6a4e var(--uib-speed) ease-in-out calc(var(--uib-speed)*-.45) infinite}.bar_409d0f:nth-child(2){animation:grow_ca6a4e var(--uib-speed) ease-in-out calc(var(--uib-speed)*-.3) infinite}.bar_409d0f:nth-child(3){animation:grow_ca6a4e var(--uib-speed) ease-in-out calc(var(--uib-speed)*-.15) infinite}.bar_409d0f:nth-child(4){animation:grow_ca6a4e var(--uib-speed) ease-in-out infinite}@keyframes grow_ca6a4e{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nibssplc/cams-sdk-react",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.61",
|
|
4
4
|
"description": "React hooks and components for NIBSS CAMS SDK",
|
|
5
5
|
"main": "./dist/index.cjs.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
|
+
"react-server": "./dist/index.server.js",
|
|
11
12
|
"import": "./dist/index.esm.js",
|
|
12
13
|
"require": "./dist/index.cjs.js",
|
|
13
14
|
"default": "./dist/index.esm.js"
|
|
14
|
-
}
|
|
15
|
+
},
|
|
16
|
+
"./dist/styles.css": "./dist/styles.css"
|
|
15
17
|
},
|
|
16
18
|
"scripts": {
|
|
17
19
|
"clean": "rm -rf dist || true",
|
|
@@ -42,9 +44,7 @@
|
|
|
42
44
|
"ldrs": "^1.1.7",
|
|
43
45
|
"lucide-react": "^0.544.0",
|
|
44
46
|
"motion": "^12.23.22",
|
|
45
|
-
"react-hook-form": "^7.63.0",
|
|
46
47
|
"sonner": "^2.0.7",
|
|
47
|
-
"tailwind": "^4.0.0",
|
|
48
48
|
"tailwind-merge": "^3.3.1",
|
|
49
49
|
"tslib": "^2.6.0",
|
|
50
50
|
"zod": "^4.1.11"
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"react": ">=16.8.0",
|
|
58
|
-
"react-dom": ">=16.8.0"
|
|
58
|
+
"react-dom": ">=16.8.0",
|
|
59
|
+
"react-hook-form": "^7.0.0"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
62
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
@@ -66,6 +67,7 @@
|
|
|
66
67
|
"@testing-library/react": "^16.3.0",
|
|
67
68
|
"@types/react": "^19",
|
|
68
69
|
"@types/react-dom": "^19",
|
|
70
|
+
"autoprefixer": "^10.4.22",
|
|
69
71
|
"jest": "^29.7.0",
|
|
70
72
|
"jest-environment-jsdom": "^29.7.0",
|
|
71
73
|
"postcss": "^8.5.6",
|
|
@@ -73,11 +75,13 @@
|
|
|
73
75
|
"react-dom": "^19.1.0",
|
|
74
76
|
"rollup": "^4.21.1",
|
|
75
77
|
"rollup-plugin-postcss": "^4.0.2",
|
|
78
|
+
"tailwindcss": "^4.0.0",
|
|
76
79
|
"ts-jest": "^29.4.4",
|
|
77
80
|
"typescript": "^5.4.5"
|
|
78
81
|
},
|
|
79
82
|
"files": [
|
|
80
|
-
"dist"
|
|
83
|
+
"dist",
|
|
84
|
+
"dist/styles.css"
|
|
81
85
|
],
|
|
82
86
|
"publishConfig": {
|
|
83
87
|
"access": "public"
|