@nibssplc/cams-sdk-react 0.0.1-beta.29 → 0.0.1-beta.31

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/index.d.ts CHANGED
@@ -2,6 +2,6 @@ export * from './hooks/useCAMSAuth';
2
2
  export * from './hooks/useCAMSMSALAuth';
3
3
  export * from './components/CAMSProvider';
4
4
  export * from './components/ProtectedRoute';
5
- export * from './components/CAMSMSALProvider';
5
+ export { CAMSMSALProvider, useCAMSMSALContext } from './components/CAMSMSALProvider';
6
6
  export * from './components/ClientOnly';
7
7
  export * from '@nibssplc/cams-sdk';
package/dist/index.esm.js CHANGED
@@ -16718,7 +16718,7 @@ function useCAMSMSALAuth(options) {
16718
16718
  setAccessToken(response.accessToken);
16719
16719
  setIdToken(response.idToken);
16720
16720
  setIsMFAPending(true);
16721
- if (typeof window !== "undefined") {
16721
+ if (typeof window !== "undefined" && process.env.NODE_ENV !== 'test') {
16722
16722
  window.location.href = options.mfaUrl;
16723
16723
  }
16724
16724
  (_a = options.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(options, response.accessToken);
@@ -17233,16 +17233,10 @@ var jsxRuntimeExports = jsxRuntime.exports;
17233
17233
 
17234
17234
  var CAMSContext = createContext(null);
17235
17235
  function CAMSProvider(_a) {
17236
- var children = _a.children, defaultConfig = _a.defaultConfig, authOptions = __rest(_a, ["children", "defaultConfig"]);
17237
- var _b = useState(false), mounted = _b[0], setMounted = _b[1];
17236
+ var children = _a.children, defaultConfig = _a.defaultConfig, msalOptions = _a.msalOptions, authOptions = __rest(_a, ["children", "defaultConfig", "msalOptions"]);
17238
17237
  var auth = useCAMSAuth(authOptions);
17239
- useEffect(function () {
17240
- setMounted(true);
17241
- }, []);
17242
- var value = useMemo(function () { return (__assign(__assign({}, auth), { defaultConfig: defaultConfig })); }, [auth, defaultConfig]);
17243
- if (!mounted) {
17244
- return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children });
17245
- }
17238
+ var msalAuth = useCAMSMSALAuth(msalOptions || { mfaUrl: '/auth/multi-factor' });
17239
+ var value = useMemo(function () { return (__assign(__assign({}, auth), { defaultConfig: defaultConfig, isAuthenticated: msalAuth.isAuthenticated, idToken: msalAuth.idToken, accessToken: msalAuth.accessToken })); }, [auth, defaultConfig, msalAuth.isAuthenticated, msalAuth.idToken, msalAuth.accessToken]);
17246
17240
  return (jsxRuntimeExports.jsx(CAMSContext.Provider, { value: value, children: children }));
17247
17241
  }
17248
17242
  function useCAMSContext() {
@@ -17269,10 +17263,48 @@ function ProtectedRoute(_a) {
17269
17263
  return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children });
17270
17264
  }
17271
17265
 
17272
- function CAMSMSALProvider(_a) {
17273
- var children = _a.children, msalConfig = _a.msalConfig, msalInstance = _a.msalInstance;
17266
+ var CAMSMSALContext = createContext(null);
17267
+ function CAMSMSALProviderInner(_a) {
17268
+ var children = _a.children, authOptions = __rest(_a, ["children"]);
17269
+ var auth = useCAMSMSALAuth(authOptions);
17270
+ var _b = useState({
17271
+ isAuthenticated: false,
17272
+ idToken: null,
17273
+ accessToken: null
17274
+ }), persistedAuth = _b[0], setPersistedAuth = _b[1];
17275
+ useEffect(function () {
17276
+ if (typeof window !== 'undefined') {
17277
+ var stored = localStorage.getItem('cams-msal-auth');
17278
+ if (stored) {
17279
+ setPersistedAuth(JSON.parse(stored));
17280
+ }
17281
+ }
17282
+ }, []);
17283
+ useEffect(function () {
17284
+ var authState = {
17285
+ isAuthenticated: auth.isAuthenticated,
17286
+ idToken: auth.idToken,
17287
+ accessToken: auth.accessToken
17288
+ };
17289
+ setPersistedAuth(authState);
17290
+ if (typeof window !== 'undefined') {
17291
+ localStorage.setItem('cams-msal-auth', JSON.stringify(authState));
17292
+ }
17293
+ }, [auth.isAuthenticated, auth.idToken, auth.accessToken]);
17294
+ var value = useMemo(function () { return (__assign(__assign({}, auth), { isAuthenticated: persistedAuth.isAuthenticated, idToken: persistedAuth.idToken, accessToken: persistedAuth.accessToken })); }, [auth, persistedAuth]);
17295
+ return (jsxRuntimeExports.jsx(CAMSMSALContext.Provider, { value: value, children: children }));
17296
+ }
17297
+ function CAMSMSALProvider(props) {
17298
+ var msalConfig = props.msalConfig, msalInstance = props.msalInstance;
17274
17299
  var instance = msalInstance || new PublicClientApplication(msalConfig);
17275
- return (jsxRuntimeExports.jsx(MsalProvider, { instance: instance, children: children }));
17300
+ return (jsxRuntimeExports.jsx(MsalProvider, { instance: instance, children: jsxRuntimeExports.jsx(CAMSMSALProviderInner, __assign({}, props)) }));
17301
+ }
17302
+ function useCAMSMSALContext() {
17303
+ var context = useContext(CAMSMSALContext);
17304
+ if (!context) {
17305
+ throw new Error('useCAMSMSALContext must be used within a CAMSMSALProvider');
17306
+ }
17307
+ return context;
17276
17308
  }
17277
17309
 
17278
17310
  function ClientOnly(_a) {
@@ -17287,5 +17319,5 @@ function ClientOnly(_a) {
17287
17319
  return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children });
17288
17320
  }
17289
17321
 
17290
- export { CAMSMSALProvider, CAMSProvider, ClientOnly, ProtectedRoute, useCAMSAuth, useCAMSContext, useCAMSMSALAuth };
17322
+ export { CAMSMSALProvider, CAMSProvider, ClientOnly, ProtectedRoute, useCAMSAuth, useCAMSContext, useCAMSMSALAuth, useCAMSMSALContext };
17291
17323
  //# sourceMappingURL=index.esm.js.map