@frontegg/nextjs 7.0.14 → 7.0.15-alpha.5518450378

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/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # Change Log
2
+
3
+ ## [7.0.15](https://github.com/frontegg/frontegg-nextjs/compare/v7.0.14...v7.0.15) (2023-7-11)
4
+
5
+
1
6
  # Change Log
2
7
 
3
8
  ## [7.0.14](https://github.com/frontegg/frontegg-nextjs/compare/v7.0.13...v7.0.14) (2023-6-30)
@@ -13,7 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _reactHooks = require("@frontegg/react-hooks");
14
14
  var _constants = require("../utils/common/constants");
15
15
  var _AppContext = _interopRequireDefault(require("./AppContext"));
16
- var _urls = require("../api/urls");
16
+ var _hooks = require("./hooks");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,9 +26,9 @@ function FronteggRouterBase(props) {
26
26
  const app = (0, _react.useContext)(_AppContext.default);
27
27
  const loginWithRedirect = (0, _reactHooks.useLoginWithRedirect)();
28
28
  const {
29
- logout,
30
29
  requestAuthorize
31
30
  } = (0, _reactHooks.useLoginActions)();
31
+ const logoutHosted = (0, _hooks.useLogoutHostedLogin)();
32
32
  (0, _react.useEffect)(() => {
33
33
  if (!app) {
34
34
  return;
@@ -42,11 +42,7 @@ function FronteggRouterBase(props) {
42
42
  }
43
43
  loginWithRedirect();
44
44
  } else if (pathname === routesObj.logoutUrl) {
45
- logout(() => {
46
- const contextBaseUrl = app.options.contextOptions.baseUrl;
47
- const baseUrl = typeof contextBaseUrl === 'function' ? contextBaseUrl('') : contextBaseUrl;
48
- window.location.href = (0, _urls.buildLogoutRoute)(window.location.origin, baseUrl).asPath;
49
- });
45
+ logoutHosted(window.location.origin + window.location.search);
50
46
  }
51
47
  } else {
52
48
  var _routesObj$hostedLogi;
@@ -61,7 +57,7 @@ function FronteggRouterBase(props) {
61
57
  }
62
58
  }
63
59
  }
64
- }, [app, queryParams, pathArr, loginWithRedirect, logout]);
60
+ }, [app, queryParams, pathArr, loginWithRedirect, logoutHosted]);
65
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
66
62
  }
67
63
  //# sourceMappingURL=FronteggRouterBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FronteggRouterBase.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","FronteggRouterBase","_extends2","_config","_reduxStore","_react","_interopRequireWildcard","_reactHooks","_constants","_AppContext","_urls","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","props","queryParams","pathArr","isAppDirEnabled","app","useContext","AppContext","loginWithRedirect","useLoginWithRedirect","logout","requestAuthorize","useLoginActions","useEffect","pathname","join","routesObj","authInitialState","routes","config","authRoutes","options","hostedLoginBox","loginUrl","redirectUrl","localStorage","setItem","FRONTEGG_AFTER_AUTH_REDIRECT_URL","window","location","origin","logoutUrl","contextBaseUrl","contextOptions","baseUrl","href","buildLogoutRoute","asPath","_routesObj$hostedLogi","startsWith","hostedLoginRedirectUrl","authenticatedUrl","isSamlCallback","samlCallbackUrl","isLoginPage","jsx","Fragment"],"sources":["../../../../packages/nextjs/src/common/FronteggRouterBase.tsx"],"sourcesContent":["'use client';\n\nimport config from '../config';\nimport { authInitialState } from '@frontegg/redux-store';\nimport { useContext, useEffect } from 'react';\nimport { useLoginActions, useLoginWithRedirect } from '@frontegg/react-hooks';\nimport { FRONTEGG_AFTER_AUTH_REDIRECT_URL } from '../utils/common/constants';\nimport AppContext from './AppContext';\nimport React from 'react';\nimport { ParsedUrlQuery } from 'querystring';\nimport { buildLogoutRoute } from '../api/urls';\n\ninterface FronteggRouterBaseProps {\n queryParams?: ParsedUrlQuery;\n pathArr: string[];\n isAppDirEnabled?: boolean;\n}\n\nexport function FronteggRouterBase(props: FronteggRouterBaseProps) {\n const { queryParams = {}, pathArr, isAppDirEnabled } = props;\n const app = useContext(AppContext);\n const loginWithRedirect = useLoginWithRedirect();\n const { logout, requestAuthorize } = useLoginActions();\n\n useEffect(() => {\n if (!app) {\n return;\n }\n const pathname = `/${pathArr.join('/')}`;\n const routesObj = {\n ...authInitialState.routes,\n ...config.authRoutes,\n };\n\n if (app.options.hostedLoginBox) {\n if (pathname === routesObj.loginUrl) {\n if (queryParams.redirectUrl) {\n localStorage.setItem(FRONTEGG_AFTER_AUTH_REDIRECT_URL, `${window.location.origin}${queryParams.redirectUrl}`);\n }\n loginWithRedirect();\n } else if (pathname === routesObj.logoutUrl) {\n logout(() => {\n const contextBaseUrl = app.options.contextOptions.baseUrl;\n const baseUrl = typeof contextBaseUrl === 'function' ? contextBaseUrl('') : contextBaseUrl;\n window.location.href = buildLogoutRoute(window.location.origin, baseUrl).asPath;\n });\n }\n } else {\n if (pathname.startsWith(routesObj.hostedLoginRedirectUrl ?? '/oauth/callback')) {\n // if not hosted login, redirect the user to the authenticated url\n window.location.href = routesObj.authenticatedUrl;\n } else {\n const isSamlCallback = pathname === routesObj.samlCallbackUrl;\n const isLoginPage = pathname.startsWith(routesObj.loginUrl);\n if ((isAppDirEnabled && isLoginPage) || isSamlCallback) {\n requestAuthorize(true);\n }\n }\n }\n }, [app, queryParams, pathArr, loginWithRedirect, logout]);\n return <></>;\n}\n"],"mappings":";AAAA,YAAY;;AAAC,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,kBAAA,GAAAA,kBAAA;AAAA,IAAAC,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEb,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAC,uBAAA,CAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAd,sBAAA,CAAAC,OAAA;AAGA,IAAAc,KAAA,GAAAd,OAAA;AAA+C,IAAAe,WAAA,GAAAf,OAAA;AAAA,SAAAgB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAW,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAA3B,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAA4B,wBAAA,WAAAC,GAAA,IAAAT,GAAA,QAAAS,GAAA,kBAAA7B,MAAA,CAAA8B,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAZ,GAAA,EAAAS,GAAA,SAAAI,IAAA,GAAAN,qBAAA,GAAA3B,MAAA,CAAA4B,wBAAA,CAAAR,GAAA,EAAAS,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAR,GAAA,IAAAQ,IAAA,CAAAC,GAAA,KAAAlC,MAAA,CAAAC,cAAA,CAAAyB,MAAA,EAAAG,GAAA,EAAAI,IAAA,YAAAP,MAAA,CAAAG,GAAA,IAAAT,GAAA,CAAAS,GAAA,SAAAH,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAW,GAAA,CAAAd,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAQxC,SAAStB,kBAAkBA,CAAC+B,KAA8B,EAAE;EACjE,MAAM;IAAEC,WAAW,GAAG,CAAC,CAAC;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAGH,KAAK;EAC5D,MAAMI,GAAG,GAAG,IAAAC,iBAAU,EAACC,mBAAU,CAAC;EAClC,MAAMC,iBAAiB,GAAG,IAAAC,gCAAoB,GAAE;EAChD,MAAM;IAAEC,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,2BAAe,GAAE;EAEtD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACR,GAAG,EAAE;MACR;IACF;IACA,MAAMS,QAAQ,GAAI,IAAGX,OAAO,CAACY,IAAI,CAAC,GAAG,CAAE,EAAC;IACxC,MAAMC,SAAS,OAAA7C,SAAA,CAAAiB,OAAA,MACV6B,4BAAgB,CAACC,MAAM,EACvBC,eAAM,CAACC,UAAU,CACrB;IAED,IAAIf,GAAG,CAACgB,OAAO,CAACC,cAAc,EAAE;MAC9B,IAAIR,QAAQ,KAAKE,SAAS,CAACO,QAAQ,EAAE;QACnC,IAAIrB,WAAW,CAACsB,WAAW,EAAE;UAC3BC,YAAY,CAACC,OAAO,CAACC,2CAAgC,EAAG,GAAEC,MAAM,CAACC,QAAQ,CAACC,MAAO,GAAE5B,WAAW,CAACsB,WAAY,EAAC,CAAC;QAC/G;QACAhB,iBAAiB,EAAE;MACrB,CAAC,MAAM,IAAIM,QAAQ,KAAKE,SAAS,CAACe,SAAS,EAAE;QAC3CrB,MAAM,CAAC,MAAM;UACX,MAAMsB,cAAc,GAAG3B,GAAG,CAACgB,OAAO,CAACY,cAAc,CAACC,OAAO;UACzD,MAAMA,OAAO,GAAG,OAAOF,cAAc,KAAK,UAAU,GAAGA,cAAc,CAAC,EAAE,CAAC,GAAGA,cAAc;UAC1FJ,MAAM,CAACC,QAAQ,CAACM,IAAI,GAAG,IAAAC,sBAAgB,EAACR,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAEI,OAAO,CAAC,CAACG,MAAM;QACjF,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MAAA,IAAAC,qBAAA;MACL,IAAIxB,QAAQ,CAACyB,UAAU,EAAAD,qBAAA,GAACtB,SAAS,CAACwB,sBAAsB,YAAAF,qBAAA,GAAI,iBAAiB,CAAC,EAAE;QAC9E;QACAV,MAAM,CAACC,QAAQ,CAACM,IAAI,GAAGnB,SAAS,CAACyB,gBAAgB;MACnD,CAAC,MAAM;QACL,MAAMC,cAAc,GAAG5B,QAAQ,KAAKE,SAAS,CAAC2B,eAAe;QAC7D,MAAMC,WAAW,GAAG9B,QAAQ,CAACyB,UAAU,CAACvB,SAAS,CAACO,QAAQ,CAAC;QAC3D,IAAKnB,eAAe,IAAIwC,WAAW,IAAKF,cAAc,EAAE;UACtD/B,gBAAgB,CAAC,IAAI,CAAC;QACxB;MACF;IACF;EACF,CAAC,EAAE,CAACN,GAAG,EAAEH,WAAW,EAAEC,OAAO,EAAEK,iBAAiB,EAAEE,MAAM,CAAC,CAAC;EAC1D,oBAAO,IAAA9B,WAAA,CAAAiE,GAAA,EAAAjE,WAAA,CAAAkE,QAAA,KAAK;AACd"}
1
+ {"version":3,"file":"FronteggRouterBase.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","FronteggRouterBase","_extends2","_config","_reduxStore","_react","_interopRequireWildcard","_reactHooks","_constants","_AppContext","_hooks","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","props","queryParams","pathArr","isAppDirEnabled","app","useContext","AppContext","loginWithRedirect","useLoginWithRedirect","requestAuthorize","useLoginActions","logoutHosted","useLogoutHostedLogin","useEffect","pathname","join","routesObj","authInitialState","routes","config","authRoutes","options","hostedLoginBox","loginUrl","redirectUrl","localStorage","setItem","FRONTEGG_AFTER_AUTH_REDIRECT_URL","window","location","origin","logoutUrl","search","_routesObj$hostedLogi","startsWith","hostedLoginRedirectUrl","href","authenticatedUrl","isSamlCallback","samlCallbackUrl","isLoginPage","jsx","Fragment"],"sources":["../../../../packages/nextjs/src/common/FronteggRouterBase.tsx"],"sourcesContent":["'use client';\n\nimport config from '../config';\nimport { authInitialState } from '@frontegg/redux-store';\nimport { useContext, useEffect } from 'react';\nimport { useLoginActions, useLoginWithRedirect } from '@frontegg/react-hooks';\nimport { FRONTEGG_AFTER_AUTH_REDIRECT_URL } from '../utils/common/constants';\nimport AppContext from './AppContext';\nimport React from 'react';\nimport { ParsedUrlQuery } from 'querystring';\nimport { useLogoutHostedLogin } from './hooks';\n\ninterface FronteggRouterBaseProps {\n queryParams?: ParsedUrlQuery;\n pathArr: string[];\n isAppDirEnabled?: boolean;\n}\n\nexport function FronteggRouterBase(props: FronteggRouterBaseProps) {\n const { queryParams = {}, pathArr, isAppDirEnabled } = props;\n const app = useContext(AppContext);\n const loginWithRedirect = useLoginWithRedirect();\n const { requestAuthorize } = useLoginActions();\n const logoutHosted = useLogoutHostedLogin();\n\n useEffect(() => {\n if (!app) {\n return;\n }\n const pathname = `/${pathArr.join('/')}`;\n const routesObj = {\n ...authInitialState.routes,\n ...config.authRoutes,\n };\n\n if (app.options.hostedLoginBox) {\n if (pathname === routesObj.loginUrl) {\n if (queryParams.redirectUrl) {\n localStorage.setItem(FRONTEGG_AFTER_AUTH_REDIRECT_URL, `${window.location.origin}${queryParams.redirectUrl}`);\n }\n loginWithRedirect();\n } else if (pathname === routesObj.logoutUrl) {\n logoutHosted(window.location.origin + window.location.search);\n }\n } else {\n if (pathname.startsWith(routesObj.hostedLoginRedirectUrl ?? '/oauth/callback')) {\n // if not hosted login, redirect the user to the authenticated url\n window.location.href = routesObj.authenticatedUrl;\n } else {\n const isSamlCallback = pathname === routesObj.samlCallbackUrl;\n const isLoginPage = pathname.startsWith(routesObj.loginUrl);\n if ((isAppDirEnabled && isLoginPage) || isSamlCallback) {\n requestAuthorize(true);\n }\n }\n }\n }, [app, queryParams, pathArr, loginWithRedirect, logoutHosted]);\n return <></>;\n}\n"],"mappings":";AAAA,YAAY;;AAAC,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,kBAAA,GAAAA,kBAAA;AAAA,IAAAC,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEb,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAC,uBAAA,CAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAd,sBAAA,CAAAC,OAAA;AAGA,IAAAc,MAAA,GAAAd,OAAA;AAA+C,IAAAe,WAAA,GAAAf,OAAA;AAAA,SAAAgB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAW,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAA3B,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAA4B,wBAAA,WAAAC,GAAA,IAAAT,GAAA,QAAAS,GAAA,kBAAA7B,MAAA,CAAA8B,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAZ,GAAA,EAAAS,GAAA,SAAAI,IAAA,GAAAN,qBAAA,GAAA3B,MAAA,CAAA4B,wBAAA,CAAAR,GAAA,EAAAS,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAR,GAAA,IAAAQ,IAAA,CAAAC,GAAA,KAAAlC,MAAA,CAAAC,cAAA,CAAAyB,MAAA,EAAAG,GAAA,EAAAI,IAAA,YAAAP,MAAA,CAAAG,GAAA,IAAAT,GAAA,CAAAS,GAAA,SAAAH,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAW,GAAA,CAAAd,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAQxC,SAAStB,kBAAkBA,CAAC+B,KAA8B,EAAE;EACjE,MAAM;IAAEC,WAAW,GAAG,CAAC,CAAC;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAGH,KAAK;EAC5D,MAAMI,GAAG,GAAG,IAAAC,iBAAU,EAACC,mBAAU,CAAC;EAClC,MAAMC,iBAAiB,GAAG,IAAAC,gCAAoB,GAAE;EAChD,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,2BAAe,GAAE;EAC9C,MAAMC,YAAY,GAAG,IAAAC,2BAAoB,GAAE;EAE3C,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACT,GAAG,EAAE;MACR;IACF;IACA,MAAMU,QAAQ,GAAI,IAAGZ,OAAO,CAACa,IAAI,CAAC,GAAG,CAAE,EAAC;IACxC,MAAMC,SAAS,OAAA9C,SAAA,CAAAiB,OAAA,MACV8B,4BAAgB,CAACC,MAAM,EACvBC,eAAM,CAACC,UAAU,CACrB;IAED,IAAIhB,GAAG,CAACiB,OAAO,CAACC,cAAc,EAAE;MAC9B,IAAIR,QAAQ,KAAKE,SAAS,CAACO,QAAQ,EAAE;QACnC,IAAItB,WAAW,CAACuB,WAAW,EAAE;UAC3BC,YAAY,CAACC,OAAO,CAACC,2CAAgC,EAAG,GAAEC,MAAM,CAACC,QAAQ,CAACC,MAAO,GAAE7B,WAAW,CAACuB,WAAY,EAAC,CAAC;QAC/G;QACAjB,iBAAiB,EAAE;MACrB,CAAC,MAAM,IAAIO,QAAQ,KAAKE,SAAS,CAACe,SAAS,EAAE;QAC3CpB,YAAY,CAACiB,MAAM,CAACC,QAAQ,CAACC,MAAM,GAAGF,MAAM,CAACC,QAAQ,CAACG,MAAM,CAAC;MAC/D;IACF,CAAC,MAAM;MAAA,IAAAC,qBAAA;MACL,IAAInB,QAAQ,CAACoB,UAAU,EAAAD,qBAAA,GAACjB,SAAS,CAACmB,sBAAsB,YAAAF,qBAAA,GAAI,iBAAiB,CAAC,EAAE;QAC9E;QACAL,MAAM,CAACC,QAAQ,CAACO,IAAI,GAAGpB,SAAS,CAACqB,gBAAgB;MACnD,CAAC,MAAM;QACL,MAAMC,cAAc,GAAGxB,QAAQ,KAAKE,SAAS,CAACuB,eAAe;QAC7D,MAAMC,WAAW,GAAG1B,QAAQ,CAACoB,UAAU,CAAClB,SAAS,CAACO,QAAQ,CAAC;QAC3D,IAAKpB,eAAe,IAAIqC,WAAW,IAAKF,cAAc,EAAE;UACtD7B,gBAAgB,CAAC,IAAI,CAAC;QACxB;MACF;IACF;EACF,CAAC,EAAE,CAACL,GAAG,EAAEH,WAAW,EAAEC,OAAO,EAAEK,iBAAiB,EAAEI,YAAY,CAAC,CAAC;EAChE,oBAAO,IAAAhC,WAAA,CAAA8D,GAAA,EAAA9D,WAAA,CAAA+D,QAAA,KAAK;AACd"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Hook to logout client side for hosted login
3
+ * @returns {Function} logout function to be used in the client side for hosted login
4
+ * @param redirectUrl - The URL to redirect to after successful logout will be window.location.href by default.
5
+ */
6
+ export declare const useLogoutHostedLogin: () => (redirectUrl?: string) => void;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useLogoutHostedLogin = void 0;
7
+ var _reactHooks = require("@frontegg/react-hooks");
8
+ var _restApi = require("@frontegg/rest-api");
9
+ var _urls = require("../api/urls");
10
+ /**
11
+ * Hook to logout client side for hosted login
12
+ * @returns {Function} logout function to be used in the client side for hosted login
13
+ * @param redirectUrl - The URL to redirect to after successful logout will be window.location.href by default.
14
+ */
15
+
16
+ const useLogoutHostedLogin = () => {
17
+ const {
18
+ logout
19
+ } = (0, _reactHooks.useLoginActions)();
20
+ return redirectUrl => {
21
+ var _ContextHolder$getCon;
22
+ const contextBaseUrl = (_ContextHolder$getCon = _restApi.ContextHolder.getContext()) == null ? void 0 : _ContextHolder$getCon.baseUrl;
23
+ const baseUrl = typeof contextBaseUrl === 'function' ? contextBaseUrl('') : contextBaseUrl;
24
+ const finalRedirectUrl = redirectUrl != null ? redirectUrl : window.location.href;
25
+ const logoutRoute = (0, _urls.buildLogoutRoute)(finalRedirectUrl, baseUrl).asPath;
26
+ logout(() => {
27
+ window.location.href = logoutRoute;
28
+ });
29
+ };
30
+ };
31
+ exports.useLogoutHostedLogin = useLogoutHostedLogin;
32
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","names":["_reactHooks","require","_restApi","_urls","useLogoutHostedLogin","logout","useLoginActions","redirectUrl","_ContextHolder$getCon","contextBaseUrl","ContextHolder","getContext","baseUrl","finalRedirectUrl","window","location","href","logoutRoute","buildLogoutRoute","asPath","exports"],"sources":["../../../../packages/nextjs/src/common/hooks.ts"],"sourcesContent":["import { useLoginActions } from '@frontegg/react-hooks';\nimport { ContextHolder } from '@frontegg/rest-api';\nimport { buildLogoutRoute } from '../api/urls';\n\n/**\n * Hook to logout client side for hosted login\n * @returns {Function} logout function to be used in the client side for hosted login\n * @param redirectUrl - The URL to redirect to after successful logout will be window.location.href by default.\n */\n\nexport const useLogoutHostedLogin = () => {\n const { logout } = useLoginActions();\n\n return (redirectUrl?: string) => {\n const contextBaseUrl = ContextHolder.getContext()?.baseUrl;\n const baseUrl = typeof contextBaseUrl === 'function' ? contextBaseUrl('') : contextBaseUrl;\n const finalRedirectUrl = redirectUrl ?? window.location.href;\n const logoutRoute = buildLogoutRoute(finalRedirectUrl, baseUrl).asPath;\n logout(() => {\n window.location.href = logoutRoute;\n });\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;;AAEO,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,2BAAe,GAAE;EAEpC,OAAQC,WAAoB,IAAK;IAAA,IAAAC,qBAAA;IAC/B,MAAMC,cAAc,IAAAD,qBAAA,GAAGE,sBAAa,CAACC,UAAU,EAAE,qBAA1BH,qBAAA,CAA4BI,OAAO;IAC1D,MAAMA,OAAO,GAAG,OAAOH,cAAc,KAAK,UAAU,GAAGA,cAAc,CAAC,EAAE,CAAC,GAAGA,cAAc;IAC1F,MAAMI,gBAAgB,GAAGN,WAAW,WAAXA,WAAW,GAAIO,MAAM,CAACC,QAAQ,CAACC,IAAI;IAC5D,MAAMC,WAAW,GAAG,IAAAC,sBAAgB,EAACL,gBAAgB,EAAED,OAAO,CAAC,CAACO,MAAM;IACtEd,MAAM,CAAC,MAAM;MACXS,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,WAAW;IACpC,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAACG,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA"}
package/common/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './helpers';
2
+ export * from './hooks';
2
3
  export { default as AppContext } from './AppContext';
3
4
  export { FronteggBaseProvider } from './FronteggBaseProvider';
4
5
  export { default as AuthorizedContent } from './AuthorizedContent';
package/common/index.js CHANGED
@@ -39,6 +39,18 @@ Object.keys(_helpers).forEach(function (key) {
39
39
  }
40
40
  });
41
41
  });
42
+ var _hooks = require("./hooks");
43
+ Object.keys(_hooks).forEach(function (key) {
44
+ if (key === "default" || key === "__esModule") return;
45
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
46
+ if (key in exports && exports[key] === _hooks[key]) return;
47
+ Object.defineProperty(exports, key, {
48
+ enumerable: true,
49
+ get: function () {
50
+ return _hooks[key];
51
+ }
52
+ });
53
+ });
42
54
  var _AppContext = _interopRequireDefault(require("./AppContext"));
43
55
  var _FronteggBaseProvider = require("./FronteggBaseProvider");
44
56
  var _AuthorizedContent = _interopRequireDefault(require("./AuthorizedContent"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_helpers","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_AppContext","_interopRequireDefault","_FronteggBaseProvider","_AuthorizedContent"],"sources":["../../../../packages/nextjs/src/common/index.ts"],"sourcesContent":["export * from './helpers';\nexport { default as AppContext } from './AppContext';\nexport { FronteggBaseProvider } from './FronteggBaseProvider';\nexport { default as AuthorizedContent } from './AuthorizedContent';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,QAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,WAAA,GAAAC,sBAAA,CAAAd,OAAA;AACA,IAAAe,qBAAA,GAAAf,OAAA;AACA,IAAAgB,kBAAA,GAAAF,sBAAA,CAAAd,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_helpers","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks","_AppContext","_interopRequireDefault","_FronteggBaseProvider","_AuthorizedContent"],"sources":["../../../../packages/nextjs/src/common/index.ts"],"sourcesContent":["export * from './helpers';\nexport * from './hooks';\nexport { default as AppContext } from './AppContext';\nexport { FronteggBaseProvider } from './FronteggBaseProvider';\nexport { default as AuthorizedContent } from './AuthorizedContent';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,QAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,WAAA,GAAAC,sBAAA,CAAAf,OAAA;AACA,IAAAgB,qBAAA,GAAAhB,OAAA;AACA,IAAAiB,kBAAA,GAAAF,sBAAA,CAAAf,OAAA"}
package/config/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { AuthPageRoutes } from '@frontegg/redux-store';
2
- import { FronteggAppOptions } from '@frontegg/types';
2
+ import { WithFronteggAppOptions } from '../pages';
3
3
  import { AppEnvConfig, PasswordsMap } from './types';
4
4
  declare class Config {
5
5
  authRoutes: Partial<AuthPageRoutes>;
6
- fronteggAppOptions: Partial<FronteggAppOptions>;
6
+ fronteggAppOptions: Partial<WithFronteggAppOptions>;
7
7
  constructor();
8
8
  get appUrl(): string;
9
9
  get testUrl(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_helpers","require","_constants","_errors","setupEnvVariables","FRONTEGG_APP_URL","process","env","FRONTEGG_BASE_URL","FRONTEGG_TEST_URL","FRONTEGG_CLIENT_ID","FRONTEGG_ENCRYPTION_PASSWORD","FRONTEGG_COOKIE_NAME","FRONTEGG_JWT_PUBLIC_KEY","VERCEL","VERCEL_URL","Config","constructor","authRoutes","fronteggAppOptions","window","validatePassword","appUrl","generateAppUrl","testUrl","getEnvOrDefault","EnvVariables","baseUrl","_getEnv","getEnv","baseUrlHost","URL","hostname","clientId","_getEnv2","jwtPublicKeyJson","cookieName","_setupEnvVariables$FR","cookieNameEnv","replace","cookieDomain","generateCookieDomain","passwordMaps","password","key","Object","keys","match","length","InvalidFronteggEnv","_getEnv3","encryptionPasswordEnv","normalizeStringPasswordToMap","isSSL","protocol","isHostedLogin","_this$fronteggAppOpti","hostedLoginBox","appEnvConfig","envAppUrl","envBaseUrl","envClientId","_default","exports","default"],"sources":["../../../../packages/nextjs/src/config/index.ts"],"sourcesContent":["import { AuthPageRoutes } from '@frontegg/redux-store';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { AppEnvConfig, PasswordsMap } from './types';\nimport { generateAppUrl, generateCookieDomain, getEnv, getEnvOrDefault, normalizeStringPasswordToMap } from './helpers';\nimport { EnvVariables } from './constants';\nimport { InvalidFronteggEnv } from '../utils/errors';\n\nconst setupEnvVariables = {\n FRONTEGG_APP_URL: process.env.FRONTEGG_APP_URL,\n FRONTEGG_BASE_URL: process.env.FRONTEGG_BASE_URL,\n FRONTEGG_TEST_URL: process.env.FRONTEGG_TEST_URL,\n FRONTEGG_CLIENT_ID: process.env.FRONTEGG_CLIENT_ID,\n FRONTEGG_ENCRYPTION_PASSWORD: process.env.FRONTEGG_ENCRYPTION_PASSWORD,\n FRONTEGG_COOKIE_NAME: process.env.FRONTEGG_COOKIE_NAME,\n FRONTEGG_JWT_PUBLIC_KEY: process.env.FRONTEGG_JWT_PUBLIC_KEY,\n VERCEL: process.env.VERCEL,\n VERCEL_URL: process.env.VERCEL_URL,\n};\n\nclass Config {\n public authRoutes: Partial<AuthPageRoutes> = {};\n public fronteggAppOptions: Partial<FronteggAppOptions> = {};\n constructor() {\n if (typeof window === 'undefined') {\n this.validatePassword();\n }\n }\n\n get appUrl(): string {\n return generateAppUrl();\n }\n\n get testUrl(): string | undefined {\n return getEnvOrDefault(EnvVariables.FRONTEGG_TEST_URL, setupEnvVariables.FRONTEGG_TEST_URL);\n }\n\n get baseUrl(): string {\n return getEnv(EnvVariables.FRONTEGG_BASE_URL) ?? setupEnvVariables.FRONTEGG_BASE_URL;\n }\n\n get baseUrlHost(): string {\n return new URL(this.baseUrl).hostname;\n }\n\n get clientId(): string {\n return getEnv(EnvVariables.FRONTEGG_CLIENT_ID) ?? setupEnvVariables.FRONTEGG_CLIENT_ID;\n }\n\n get jwtPublicKeyJson(): string | undefined {\n return getEnv(EnvVariables.FRONTEGG_JWT_PUBLIC_KEY);\n }\n\n get cookieName(): string {\n const cookieNameEnv = getEnvOrDefault(\n EnvVariables.FRONTEGG_COOKIE_NAME,\n setupEnvVariables.FRONTEGG_COOKIE_NAME ?? 'fe_session'\n );\n return `${cookieNameEnv}-${this.clientId.replace(/-/g, '')}`;\n }\n\n get cookieDomain(): string {\n return generateCookieDomain(this.appUrl);\n }\n\n private validatePassword() {\n const passwordMaps = this.password;\n for (let key of Object.keys(passwordMaps)) {\n const password = passwordMaps[key];\n if (!password.match(/[0-9A-Fa-f]{6}/g) || password.length !== 64) {\n throw new InvalidFronteggEnv(\n EnvVariables.FRONTEGG_ENCRYPTION_PASSWORD,\n `Hex string.\\n\\nFor quick password generation use the following command:\\nnode -e \"console.log(crypto.randomBytes(32).toString('hex'))\"`\n );\n }\n }\n }\n get password(): PasswordsMap {\n const encryptionPasswordEnv =\n getEnv(EnvVariables.FRONTEGG_ENCRYPTION_PASSWORD) ?? setupEnvVariables.FRONTEGG_ENCRYPTION_PASSWORD;\n\n return normalizeStringPasswordToMap(encryptionPasswordEnv);\n }\n\n get isSSL(): boolean {\n return new URL(this.appUrl).protocol === 'https:';\n }\n\n get isHostedLogin(): boolean {\n return this.fronteggAppOptions.hostedLoginBox ?? false;\n }\n\n get appEnvConfig(): AppEnvConfig {\n return {\n envAppUrl: this.appUrl,\n envBaseUrl: this.baseUrl,\n envClientId: this.clientId,\n };\n }\n}\n\nexport { EnvVariables } from './constants';\nexport default new Config();\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_helpers","require","_constants","_errors","setupEnvVariables","FRONTEGG_APP_URL","process","env","FRONTEGG_BASE_URL","FRONTEGG_TEST_URL","FRONTEGG_CLIENT_ID","FRONTEGG_ENCRYPTION_PASSWORD","FRONTEGG_COOKIE_NAME","FRONTEGG_JWT_PUBLIC_KEY","VERCEL","VERCEL_URL","Config","constructor","authRoutes","fronteggAppOptions","window","validatePassword","appUrl","generateAppUrl","testUrl","getEnvOrDefault","EnvVariables","baseUrl","_getEnv","getEnv","baseUrlHost","URL","hostname","clientId","_getEnv2","jwtPublicKeyJson","cookieName","_setupEnvVariables$FR","cookieNameEnv","replace","cookieDomain","generateCookieDomain","passwordMaps","password","key","Object","keys","match","length","InvalidFronteggEnv","_getEnv3","encryptionPasswordEnv","normalizeStringPasswordToMap","isSSL","protocol","isHostedLogin","_this$fronteggAppOpti","hostedLoginBox","appEnvConfig","envAppUrl","envBaseUrl","envClientId","_default","exports","default"],"sources":["../../../../packages/nextjs/src/config/index.ts"],"sourcesContent":["import { AuthPageRoutes } from '@frontegg/redux-store';\nimport { WithFronteggAppOptions } from '../pages';\nimport { AppEnvConfig, PasswordsMap } from './types';\nimport { generateAppUrl, generateCookieDomain, getEnv, getEnvOrDefault, normalizeStringPasswordToMap } from './helpers';\nimport { EnvVariables } from './constants';\nimport { InvalidFronteggEnv } from '../utils/errors';\n\nconst setupEnvVariables = {\n FRONTEGG_APP_URL: process.env.FRONTEGG_APP_URL,\n FRONTEGG_BASE_URL: process.env.FRONTEGG_BASE_URL,\n FRONTEGG_TEST_URL: process.env.FRONTEGG_TEST_URL,\n FRONTEGG_CLIENT_ID: process.env.FRONTEGG_CLIENT_ID,\n FRONTEGG_ENCRYPTION_PASSWORD: process.env.FRONTEGG_ENCRYPTION_PASSWORD,\n FRONTEGG_COOKIE_NAME: process.env.FRONTEGG_COOKIE_NAME,\n FRONTEGG_JWT_PUBLIC_KEY: process.env.FRONTEGG_JWT_PUBLIC_KEY,\n VERCEL: process.env.VERCEL,\n VERCEL_URL: process.env.VERCEL_URL,\n};\n\nclass Config {\n public authRoutes: Partial<AuthPageRoutes> = {};\n public fronteggAppOptions: Partial<WithFronteggAppOptions> = {};\n constructor() {\n if (typeof window === 'undefined') {\n this.validatePassword();\n }\n }\n\n get appUrl(): string {\n return generateAppUrl();\n }\n\n get testUrl(): string | undefined {\n return getEnvOrDefault(EnvVariables.FRONTEGG_TEST_URL, setupEnvVariables.FRONTEGG_TEST_URL);\n }\n\n get baseUrl(): string {\n return getEnv(EnvVariables.FRONTEGG_BASE_URL) ?? setupEnvVariables.FRONTEGG_BASE_URL;\n }\n\n get baseUrlHost(): string {\n return new URL(this.baseUrl).hostname;\n }\n\n get clientId(): string {\n return getEnv(EnvVariables.FRONTEGG_CLIENT_ID) ?? setupEnvVariables.FRONTEGG_CLIENT_ID;\n }\n\n get jwtPublicKeyJson(): string | undefined {\n return getEnv(EnvVariables.FRONTEGG_JWT_PUBLIC_KEY);\n }\n\n get cookieName(): string {\n const cookieNameEnv = getEnvOrDefault(\n EnvVariables.FRONTEGG_COOKIE_NAME,\n setupEnvVariables.FRONTEGG_COOKIE_NAME ?? 'fe_session'\n );\n return `${cookieNameEnv}-${this.clientId.replace(/-/g, '')}`;\n }\n\n get cookieDomain(): string {\n return generateCookieDomain(this.appUrl);\n }\n\n private validatePassword() {\n const passwordMaps = this.password;\n for (let key of Object.keys(passwordMaps)) {\n const password = passwordMaps[key];\n if (!password.match(/[0-9A-Fa-f]{6}/g) || password.length !== 64) {\n throw new InvalidFronteggEnv(\n EnvVariables.FRONTEGG_ENCRYPTION_PASSWORD,\n `Hex string.\\n\\nFor quick password generation use the following command:\\nnode -e \"console.log(crypto.randomBytes(32).toString('hex'))\"`\n );\n }\n }\n }\n get password(): PasswordsMap {\n const encryptionPasswordEnv =\n getEnv(EnvVariables.FRONTEGG_ENCRYPTION_PASSWORD) ?? setupEnvVariables.FRONTEGG_ENCRYPTION_PASSWORD;\n\n return normalizeStringPasswordToMap(encryptionPasswordEnv);\n }\n\n get isSSL(): boolean {\n return new URL(this.appUrl).protocol === 'https:';\n }\n\n get isHostedLogin(): boolean {\n return this.fronteggAppOptions.hostedLoginBox ?? false;\n }\n\n get appEnvConfig(): AppEnvConfig {\n return {\n envAppUrl: this.appUrl,\n envBaseUrl: this.baseUrl,\n envClientId: this.clientId,\n };\n }\n}\n\nexport { EnvVariables } from './constants';\nexport default new Config();\n"],"mappings":"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"}
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v7.0.14
1
+ /** @license Frontegg v7.0.15-alpha.5518450378
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@frontegg/nextjs",
3
3
  "libName": "FronteggNextJs",
4
- "version": "7.0.14",
4
+ "version": "7.0.15-alpha.5518450378",
5
5
  "author": "Frontegg LTD",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -7,5 +7,5 @@ export type FronteggCustomAppClass = ((props: AppPropsType<any>) => JSX.Element)
7
7
  getInitialProps?: FronteggCustomApp['getInitialProps'];
8
8
  };
9
9
  export type WithFronteggAppOptions = Omit<FronteggAppOptions, 'contextOptions'> & {
10
- contextOptions?: FronteggAppOptions['contextOptions'];
10
+ contextOptions?: Partial<FronteggAppOptions['contextOptions']>;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../packages/nextjs/src/pages/withFronteggApp/types.ts"],"sourcesContent":["import { AppContextType, AppPropsType, NextComponentType } from 'next/dist/shared/lib/utils';\nimport { AppInitialProps } from 'next/app';\nimport { AllUserData } from '../../types';\nimport { FronteggAppOptions } from '@frontegg/types';\n\nexport type FronteggCustomApp = NextComponentType<AppContextType & AllUserData, AppInitialProps, AppPropsType>;\nexport type FronteggCustomAppClass = ((props: AppPropsType<any>) => JSX.Element) & {\n getInitialProps?: FronteggCustomApp['getInitialProps'];\n};\n\nexport type WithFronteggAppOptions = Omit<FronteggAppOptions, 'contextOptions'> & {\n contextOptions?: FronteggAppOptions['contextOptions'];\n};\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../packages/nextjs/src/pages/withFronteggApp/types.ts"],"sourcesContent":["import { AppContextType, AppPropsType, NextComponentType } from 'next/dist/shared/lib/utils';\nimport { AppInitialProps } from 'next/app';\nimport { AllUserData } from '../../types';\nimport { FronteggAppOptions } from '@frontegg/types';\n\nexport type FronteggCustomApp = NextComponentType<AppContextType & AllUserData, AppInitialProps, AppPropsType>;\nexport type FronteggCustomAppClass = ((props: AppPropsType<any>) => JSX.Element) & {\n getInitialProps?: FronteggCustomApp['getInitialProps'];\n};\n\nexport type WithFronteggAppOptions = Omit<FronteggAppOptions, 'contextOptions'> & {\n contextOptions?: Partial<FronteggAppOptions['contextOptions']>;\n};\n"],"mappings":""}
package/sdkVersion.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- version: '7.0.14'
8
+ version: '7.0.15-alpha.5518450378'
9
9
  };
10
10
  exports.default = _default;
11
11
  //# sourceMappingURL=sdkVersion.js.map
package/sdkVersion.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdkVersion.js","names":["version","exports","default","_default"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '7.0.14' };\n"],"mappings":";;;;;;eAAe;EAAEA,OAAO,EAAE;AAAS,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAC,QAAA"}
1
+ {"version":3,"file":"sdkVersion.js","names":["version","exports","default","_default"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '7.0.15-alpha.5518450378' };\n"],"mappings":";;;;;;eAAe;EAAEA,OAAO,EAAE;AAA0B,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAC,QAAA"}