@frontegg/react 5.0.17-alpha.3794782950 → 5.0.17-alpha.3799720105

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,8 +1,14 @@
1
1
  # Change Log
2
2
 
3
- ## [5.0.17](https://github.com/frontegg/frontegg-react/compare/v5.0.16...v5.0.17) (2022-12-28)
3
+ ## [5.0.17](https://github.com/frontegg/frontegg-react/compare/v5.0.16...v5.0.17) (2022-12-29)
4
4
 
5
+ - FR-10047 - fix bad UI webhook
6
+ - FR-9993 - Add custom event to add user by bulk
7
+ - FR-10118 - fix apple logo color change when font color changes
8
+ - FR-9976 - refactor otc
5
9
 
10
+ ### React Wrapper 5.0.17:
11
+ - FR-5607 - use CustomComponentRegister
6
12
 
7
13
  ## [5.0.16](https://github.com/frontegg/frontegg-react/compare/v5.0.15...v5.0.16) (2022-12-22)
8
14
 
@@ -0,0 +1,11 @@
1
+ import { FC, ReactElement } from 'react';
2
+ import { FronteggAppInstance } from '@frontegg/types';
3
+ export declare class CustomComponentHolder {
4
+ private static components;
5
+ static set(name: string, element: any): void;
6
+ static get(name: string): ReactElement;
7
+ }
8
+ export declare const CustomComponentRegister: FC<{
9
+ app: FronteggAppInstance;
10
+ themeOptions: any;
11
+ }>;
package/index.js CHANGED
@@ -12,6 +12,8 @@ var reactHooks = require('@frontegg/react-hooks');
12
12
  var ReactRouterDom = require('react-router-dom');
13
13
  var restApi = require('@frontegg/rest-api');
14
14
  var AppHolder = require('@frontegg/js/AppHolder');
15
+ var ReactDOM = _interopDefault(require('react-dom'));
16
+ var reactIs = require('react-is');
15
17
  var types = require('@frontegg/types');
16
18
 
17
19
  var BrowserRouter = ReactRouterDom.BrowserRouter;
@@ -63,6 +65,85 @@ var useQueryKeeper = function (_a) {
63
65
  }, [pathname, search, routes]);
64
66
  };
65
67
 
68
+ var CustomComponentHolder = /** @class */ (function () {
69
+ function CustomComponentHolder() {
70
+ }
71
+ CustomComponentHolder.set = function (name, element) {
72
+ CustomComponentHolder.components[name] = element;
73
+ };
74
+ CustomComponentHolder.get = function (name) {
75
+ return CustomComponentHolder.components[name];
76
+ };
77
+ CustomComponentHolder.components = {};
78
+ return CustomComponentHolder;
79
+ }());
80
+ var overrideValue = function (object, key, value) {
81
+ var keys = key.split('.');
82
+ var iterator = object;
83
+ while (keys.length > 1) {
84
+ iterator = iterator[keys.shift()];
85
+ }
86
+ iterator[keys.shift()] = value;
87
+ };
88
+ var Registerer = function (props) {
89
+ var _a, _b;
90
+ var app = props.app, themeKey = props.themeKey;
91
+ var value = CustomComponentHolder.get(themeKey);
92
+ var _c = React.useState(false), mounted = _c[0], setMounted = _c[1];
93
+ var mount = React.useCallback(function () {
94
+ setMounted(true);
95
+ }, []);
96
+ var unmount = React.useCallback(function () {
97
+ setMounted(false);
98
+ }, []);
99
+ overrideValue(app.options.themeOptions, themeKey, { type: 'slot', themeKey: themeKey, mount: mount, unmount: unmount });
100
+ var element = (_a = app.loginBoxContainer) === null || _a === void 0 ? void 0 : _a.querySelector("[slot=\"" + themeKey + "\"]");
101
+ if (!element && typeof document !== undefined) {
102
+ element = document.createElement('div');
103
+ element.slot = themeKey;
104
+ (_b = app.loginBoxContainer) === null || _b === void 0 ? void 0 : _b.appendChild(element);
105
+ }
106
+ return element && mounted ? React__default.createElement(React__default.Fragment, null, ReactDOM.createPortal(value, element)) : React__default.createElement(React__default.Fragment, null);
107
+ };
108
+ var CustomComponentRegister = function (_a) {
109
+ var app = _a.app, themeOptions = _a.themeOptions;
110
+ var keys = React.useMemo(function () {
111
+ if (!themeOptions || !themeOptions.loginBox) {
112
+ return [];
113
+ }
114
+ var loop = function (key, obj, keyPath) {
115
+ if (typeof obj !== 'object' && typeof obj !== 'function') {
116
+ return [];
117
+ }
118
+ if (typeof obj === 'function') {
119
+ try {
120
+ obj = React__default.createElement(obj);
121
+ if (React.isValidElement(obj) || reactIs.isElement(obj)) {
122
+ var generatedKey = keyPath + "." + key;
123
+ CustomComponentHolder.set(generatedKey, obj);
124
+ return [generatedKey];
125
+ }
126
+ }
127
+ catch (e) { }
128
+ }
129
+ if (React.isValidElement(obj) || reactIs.isElement(obj)) {
130
+ var generatedKey = keyPath + "." + key;
131
+ CustomComponentHolder.set(generatedKey, obj);
132
+ return [generatedKey];
133
+ }
134
+ else {
135
+ var elements_1 = [];
136
+ Object.keys(obj).forEach(function (k) {
137
+ elements_1.push.apply(elements_1, loop(k, obj[k], keyPath === '' ? key : keyPath + "." + key));
138
+ });
139
+ return elements_1;
140
+ }
141
+ };
142
+ return loop('loginBox', themeOptions.loginBox, '');
143
+ }, []);
144
+ return (React__default.createElement(React__default.Fragment, null, keys.map(function (key) { return (React__default.createElement(Registerer, { key: key, app: app, themeKey: key })); })));
145
+ };
146
+
66
147
  var ConnectorHistory = function (props) {
67
148
  var history = useHistory();
68
149
  return React__default.createElement(Connector, tslib.__assign({ history: history }, props));
@@ -102,7 +183,9 @@ var Connector = function (_a) {
102
183
  restApi.ContextHolder.setOnRedirectTo(onRedirectTo);
103
184
  var signUpUrl = app.store.getState().auth.routes.signUpUrl;
104
185
  useQueryKeeper({ routes: { signUpUrl: signUpUrl }, history: history });
105
- return React__default.createElement(reactHooks.FronteggStoreProvider, tslib.__assign({}, tslib.__assign(tslib.__assign({}, props), { app: app })));
186
+ return (React__default.createElement(React__default.Fragment, null,
187
+ React__default.createElement(CustomComponentRegister, { app: app, themeOptions: props.themeOptions }),
188
+ React__default.createElement(reactHooks.FronteggStoreProvider, tslib.__assign({}, tslib.__assign(tslib.__assign({}, props), { app: app })))));
106
189
  };
107
190
  var FronteggProvider = function (props) {
108
191
  var history = useHistory();
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/routerProxy.tsx","../src/queryKeeper.tsx","../src/FronteggProvider.tsx","../src/AuthorizedContent.tsx","../src/CheckoutDialog.tsx"],"sourcesContent":["import * as ReactRouterDom from 'react-router-dom';\nimport { FC } from 'react';\nimport { BrowserRouterProps } from 'react-router-dom';\n\nexport type Path = string;\n\ntype Location = {\n pathname: string;\n search: string;\n state: any;\n hash: string;\n key?: string;\n};\n\ntype LocationDescriptor = string | Location;\n\nexport type UseHistory = {\n push(path: Path, state?: any): void;\n push(location: LocationDescriptor): void;\n replace(path: Path, state?: any): void;\n replace(location: LocationDescriptor): void;\n};\n\nexport const BrowserRouter: FC<BrowserRouterProps> = (ReactRouterDom.BrowserRouter as unknown) as FC<\n BrowserRouterProps\n>;\n\nexport const useHistory = (): UseHistory => {\n // @ts-ignore\n const navigate = ReactRouterDom.useInRouterContext?.() ? ReactRouterDom.useNavigate?.() : null;\n const history = ReactRouterDom.useHistory?.();\n\n if (navigate) {\n const push = (path: Path, state?: any): void => {\n if (state) {\n navigate(path, { state });\n } else {\n navigate(path);\n }\n };\n\n const replace = (path: Path, state?: any): void => {\n navigate(path, { state, replace: true });\n };\n\n return { push, replace };\n }\n return history;\n};\n","import { useEffect, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { UseHistory } from './routerProxy';\n\ninterface UseQueryKeeperProps {\n history: UseHistory;\n routes: {\n [key: string]: string;\n };\n}\n\nconst removeRedirectUrlFromQuery = (query: string) => {\n const q = new URLSearchParams(query);\n q.delete('redirectUrl');\n return q.toString();\n};\n\nexport const useQueryKeeper = ({ routes, history }: UseQueryKeeperProps): void => {\n const queryParams = useRef<string>();\n const prevPathname = useRef<string>();\n const { pathname, search } = useLocation();\n\n useEffect(() => {\n if (!!search) {\n queryParams.current = search;\n prevPathname.current = pathname;\n }\n }, []);\n\n useEffect(() => {\n const shouldKeepQuery = !!Object.values(routes).find((route) => route === prevPathname.current);\n\n if (!search && !!queryParams.current && shouldKeepQuery) {\n const query = removeRedirectUrlFromQuery(queryParams.current);\n history.push(pathname + `?${query}`);\n }\n\n prevPathname.current = pathname;\n }, [pathname, search, routes]);\n};\n","import React, { FC, ReactNode, useCallback, useMemo } from 'react';\nimport { initialize } from '@frontegg/js';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggStoreProvider } from '@frontegg/react-hooks';\nimport { BrowserRouter, useHistory, UseHistory } from './routerProxy';\nimport { ContextHolder, RedirectOptions } from '@frontegg/rest-api';\nimport { AppHolder } from '@frontegg/js/AppHolder';\nimport { useQueryKeeper } from './queryKeeper';\nimport { CustomComponentRegister } from './CustomComponentHolder';\n\nexport type FronteggProviderProps = FronteggAppOptions & {\n appName?: string;\n history?: UseHistory;\n children?: ReactNode;\n};\ntype ConnectorProps = Omit<FronteggProviderProps, 'history'> & {\n history: {\n push: (path: string) => void;\n replace: (path: string) => void;\n };\n};\n\nexport const ConnectorHistory: FC<Omit<ConnectorProps, 'history'>> = (props) => {\n const history = useHistory();\n return <Connector history={history} {...props} />;\n};\n\nexport const Connector: FC<ConnectorProps> = ({ history, appName, ...props }) => {\n const isSSR = typeof window === 'undefined';\n\n // v6 or v5\n const baseName = props.basename ?? '';\n\n const onRedirectTo = useCallback((_path: string, opts?: RedirectOptions) => {\n let path = _path;\n // noinspection SuspiciousTypeOfGuard\n if (baseName && typeof baseName === 'string' && baseName.length > 0 && path.startsWith(baseName)) {\n path = path.substring(baseName.length);\n }\n if (opts?.preserveQueryParams) {\n path = `${path}${window.location.search}`;\n }\n if (opts?.refresh && !isSSR) {\n // @ts-ignore\n window.Cypress ? history.push(path) : (window.location.href = path);\n } else {\n opts?.replace ? history.replace(path) : history.push(path);\n }\n }, []);\n\n const app = useMemo(() => {\n try {\n return AppHolder.getInstance(appName ?? 'default');\n } catch (e) {\n return initialize(\n {\n ...props,\n basename: props.basename ?? baseName,\n contextOptions: {\n requestCredentials: 'include',\n ...props.contextOptions,\n },\n onRedirectTo,\n },\n appName ?? 'default'\n );\n }\n }, []);\n ContextHolder.setOnRedirectTo(onRedirectTo);\n\n const signUpUrl = app.store.getState().auth.routes.signUpUrl;\n useQueryKeeper({ routes: { signUpUrl }, history });\n\n return <FronteggStoreProvider {...({ ...props, app } as any)} />;\n};\n\nexport const FronteggProvider: FC<FronteggProviderProps> = (props) => {\n const history = useHistory();\n\n if (props.history || history) {\n return (\n <Connector history={props.history || history} {...props}>\n {props.children}\n </Connector>\n );\n }\n\n return (\n <BrowserRouter basename={props.basename}>\n <ConnectorHistory {...props}>{props.children}</ConnectorHistory>\n </BrowserRouter>\n );\n};\n","import React, { FC, ReactNode } from 'react';\nimport { useAuthUserOrNull } from '@frontegg/react-hooks';\n\nexport interface AuthorizationProps {\n requiredRoles?: string[];\n requiredPermissions?: string[];\n render?: (isAuthorized: boolean) => React.ReactNode | null;\n children?: ReactNode;\n}\n\nexport const AuthorizedContent: FC<AuthorizationProps> = (props) => {\n let isAuthorized = true; // Initially\n const user = useAuthUserOrNull();\n\n if (!user?.superUser) {\n if (props.requiredPermissions) {\n isAuthorized = false; // Reset - we are going to check that the user has at least one matching permission\n for (const permission of props.requiredPermissions) {\n if (user?.permissions?.find(({ key }) => key === permission)) {\n isAuthorized = true;\n }\n }\n }\n\n if (props.requiredRoles) {\n isAuthorized = false; // Reset - we are going to check that the user has at least one matching role\n for (const role of props.requiredRoles) {\n if (user?.roles?.find(({ key }) => key === role)) {\n isAuthorized = true;\n }\n }\n }\n }\n if (typeof props.render === 'function') {\n return <>{props.render(isAuthorized)}</>;\n }\n\n return isAuthorized ? <>{props.children}</> : null;\n};\n","import { useCallback, useMemo, useState } from 'react';\nimport { CheckoutDialog } from '@frontegg/js';\n\ninterface CheckoutDialogState {\n open: boolean;\n error: string | null;\n success: boolean;\n}\n\nexport interface CheckoutDialogHook {\n showDialog: (plan: string) => void;\n hideDialog: () => void;\n open: boolean;\n error: string | null;\n success: boolean;\n}\n\nexport const useCheckoutDialog = (appName = 'default'): CheckoutDialogHook => {\n const [{ open, error, success }, setState] = useState<CheckoutDialogState>({\n open: false,\n error: null,\n success: false,\n });\n\n const handleError = useCallback((error: string) => {\n setState({\n open: true,\n success: false,\n error,\n });\n }, []);\n\n const handleSuccess = useCallback(() => {\n setState({\n open: false,\n success: true,\n error: null,\n });\n }, []);\n\n const showDialog = useCallback(\n (plan: string) => {\n CheckoutDialog.show(\n {\n plan,\n onClose: hideDialog,\n onError: handleError,\n onSuccess: handleSuccess,\n },\n appName\n );\n setState({\n open: true,\n success: false,\n error: null,\n });\n },\n [appName]\n );\n\n const hideDialog = useCallback(() => {\n CheckoutDialog.hide(appName);\n setState({\n open: false,\n error: null,\n success: false,\n });\n }, [appName]);\n\n return useMemo(\n () => ({\n open,\n showDialog,\n hideDialog,\n error,\n success,\n }),\n [open, showDialog, hideDialog, error, success]\n );\n};\n"],"names":["ReactRouterDom.BrowserRouter","ReactRouterDom.useInRouterContext","ReactRouterDom.useNavigate","ReactRouterDom.useHistory","useRef","useLocation","useEffect","React","useCallback","useMemo","AppHolder","initialize","ContextHolder","FronteggStoreProvider","__assign","useAuthUserOrNull","useState","CheckoutDialog"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/routerProxy.tsx","../src/queryKeeper.tsx","../src/CustomComponentHolder.tsx","../src/FronteggProvider.tsx","../src/AuthorizedContent.tsx","../src/CheckoutDialog.tsx"],"sourcesContent":["import * as ReactRouterDom from 'react-router-dom';\nimport { FC } from 'react';\nimport { BrowserRouterProps } from 'react-router-dom';\n\nexport type Path = string;\n\ntype Location = {\n pathname: string;\n search: string;\n state: any;\n hash: string;\n key?: string;\n};\n\ntype LocationDescriptor = string | Location;\n\nexport type UseHistory = {\n push(path: Path, state?: any): void;\n push(location: LocationDescriptor): void;\n replace(path: Path, state?: any): void;\n replace(location: LocationDescriptor): void;\n};\n\nexport const BrowserRouter: FC<BrowserRouterProps> = (ReactRouterDom.BrowserRouter as unknown) as FC<\n BrowserRouterProps\n>;\n\nexport const useHistory = (): UseHistory => {\n // @ts-ignore\n const navigate = ReactRouterDom.useInRouterContext?.() ? ReactRouterDom.useNavigate?.() : null;\n const history = ReactRouterDom.useHistory?.();\n\n if (navigate) {\n const push = (path: Path, state?: any): void => {\n if (state) {\n navigate(path, { state });\n } else {\n navigate(path);\n }\n };\n\n const replace = (path: Path, state?: any): void => {\n navigate(path, { state, replace: true });\n };\n\n return { push, replace };\n }\n return history;\n};\n","import { useEffect, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { UseHistory } from './routerProxy';\n\ninterface UseQueryKeeperProps {\n history: UseHistory;\n routes: {\n [key: string]: string;\n };\n}\n\nconst removeRedirectUrlFromQuery = (query: string) => {\n const q = new URLSearchParams(query);\n q.delete('redirectUrl');\n return q.toString();\n};\n\nexport const useQueryKeeper = ({ routes, history }: UseQueryKeeperProps): void => {\n const queryParams = useRef<string>();\n const prevPathname = useRef<string>();\n const { pathname, search } = useLocation();\n\n useEffect(() => {\n if (!!search) {\n queryParams.current = search;\n prevPathname.current = pathname;\n }\n }, []);\n\n useEffect(() => {\n const shouldKeepQuery = !!Object.values(routes).find((route) => route === prevPathname.current);\n\n if (!search && !!queryParams.current && shouldKeepQuery) {\n const query = removeRedirectUrlFromQuery(queryParams.current);\n history.push(pathname + `?${query}`);\n }\n\n prevPathname.current = pathname;\n }, [pathname, search, routes]);\n};\n","import React, { FC, isValidElement, ReactElement, useCallback, useMemo, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { FronteggAppInstance } from '@frontegg/types';\nimport { isElement } from 'react-is';\n\nexport class CustomComponentHolder {\n private static components: { [name in string]: ReactElement } = {};\n\n public static set(name: string, element: any) {\n CustomComponentHolder.components[name] = element;\n }\n\n public static get(name: string): ReactElement {\n return CustomComponentHolder.components[name];\n }\n}\n\nconst overrideValue = (object: any, key: string, value: any) => {\n const keys: string[] = key.split('.');\n let iterator = object;\n while (keys.length > 1) {\n iterator = iterator[keys.shift() as any];\n }\n iterator[keys.shift() as any] = value;\n};\nconst Registerer: FC<{ app: FronteggAppInstance; themeKey: string }> = (props) => {\n const { app, themeKey } = props;\n const value = CustomComponentHolder.get(themeKey);\n const [mounted, setMounted] = useState(false);\n\n const mount = useCallback(() => {\n setMounted(true);\n }, []);\n const unmount = useCallback(() => {\n setMounted(false);\n }, []);\n\n overrideValue(app.options.themeOptions!, themeKey, { type: 'slot', themeKey, mount, unmount });\n\n let element = app.loginBoxContainer?.querySelector(`[slot=\"${themeKey}\"]`);\n if (!element && typeof document !== undefined) {\n element = document.createElement('div');\n element.slot = themeKey;\n app.loginBoxContainer?.appendChild(element);\n }\n\n return element && mounted ? <React.Fragment>{ReactDOM.createPortal(value, element)}</React.Fragment> : <></>;\n};\n\nexport const CustomComponentRegister: FC<{ app: FronteggAppInstance; themeOptions: any }> = ({ app, themeOptions }) => {\n const keys = useMemo(() => {\n if (!themeOptions || !themeOptions.loginBox) {\n return [];\n }\n const loop = (key: string, obj: any, keyPath: string): string[] => {\n if (typeof obj !== 'object' && typeof obj !== 'function') {\n return [];\n }\n if (typeof obj === 'function') {\n try {\n obj = React.createElement(obj);\n if (isValidElement(obj) || isElement(obj)) {\n const generatedKey = `${keyPath}.${key}`;\n CustomComponentHolder.set(generatedKey, obj);\n return [generatedKey];\n }\n } catch (e) {}\n }\n if (isValidElement(obj) || isElement(obj)) {\n const generatedKey = `${keyPath}.${key}`;\n CustomComponentHolder.set(generatedKey, obj);\n return [generatedKey];\n } else {\n const elements: string[] = [];\n Object.keys(obj).forEach((k) => {\n elements.push(...loop(k, obj[k], keyPath === '' ? key : `${keyPath}.${key}`));\n });\n return elements;\n }\n };\n return loop('loginBox', themeOptions.loginBox, '');\n }, []);\n\n return (\n <>\n {keys.map((key) => (\n <Registerer key={key} app={app} themeKey={key} />\n ))}\n </>\n );\n};\n","import React, { FC, ReactNode, useCallback, useMemo } from 'react';\nimport { initialize } from '@frontegg/js';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggStoreProvider } from '@frontegg/react-hooks';\nimport { BrowserRouter, useHistory, UseHistory } from './routerProxy';\nimport { ContextHolder, RedirectOptions } from '@frontegg/rest-api';\nimport { AppHolder } from '@frontegg/js/AppHolder';\nimport { useQueryKeeper } from './queryKeeper';\nimport { CustomComponentRegister } from './CustomComponentHolder';\n\nexport type FronteggProviderProps = FronteggAppOptions & {\n appName?: string;\n history?: UseHistory;\n children?: ReactNode;\n};\ntype ConnectorProps = Omit<FronteggProviderProps, 'history'> & {\n history: {\n push: (path: string) => void;\n replace: (path: string) => void;\n };\n};\n\nexport const ConnectorHistory: FC<Omit<ConnectorProps, 'history'>> = (props) => {\n const history = useHistory();\n return <Connector history={history} {...props} />;\n};\n\nexport const Connector: FC<ConnectorProps> = ({ history, appName, ...props }) => {\n const isSSR = typeof window === 'undefined';\n\n // v6 or v5\n const baseName = props.basename ?? '';\n\n const onRedirectTo = useCallback((_path: string, opts?: RedirectOptions) => {\n let path = _path;\n // noinspection SuspiciousTypeOfGuard\n if (baseName && typeof baseName === 'string' && baseName.length > 0 && path.startsWith(baseName)) {\n path = path.substring(baseName.length);\n }\n if (opts?.preserveQueryParams) {\n path = `${path}${window.location.search}`;\n }\n if (opts?.refresh && !isSSR) {\n // @ts-ignore\n window.Cypress ? history.push(path) : (window.location.href = path);\n } else {\n opts?.replace ? history.replace(path) : history.push(path);\n }\n }, []);\n\n const app = useMemo(() => {\n try {\n return AppHolder.getInstance(appName ?? 'default');\n } catch (e) {\n return initialize(\n {\n ...props,\n basename: props.basename ?? baseName,\n contextOptions: {\n requestCredentials: 'include',\n ...props.contextOptions,\n },\n onRedirectTo,\n },\n appName ?? 'default'\n );\n }\n }, []);\n ContextHolder.setOnRedirectTo(onRedirectTo);\n\n const signUpUrl = app.store.getState().auth.routes.signUpUrl;\n useQueryKeeper({ routes: { signUpUrl }, history });\n\n return (\n <>\n <CustomComponentRegister app={app} themeOptions={props.themeOptions} />\n <FronteggStoreProvider {...({ ...props, app } as any)} />\n </>\n );\n};\n\nexport const FronteggProvider: FC<FronteggProviderProps> = (props) => {\n const history = useHistory();\n\n if (props.history || history) {\n return (\n <Connector history={props.history || history} {...props}>\n {props.children}\n </Connector>\n );\n }\n\n return (\n <BrowserRouter basename={props.basename}>\n <ConnectorHistory {...props}>{props.children}</ConnectorHistory>\n </BrowserRouter>\n );\n};\n","import React, { FC, ReactNode } from 'react';\nimport { useAuthUserOrNull } from '@frontegg/react-hooks';\n\nexport interface AuthorizationProps {\n requiredRoles?: string[];\n requiredPermissions?: string[];\n render?: (isAuthorized: boolean) => React.ReactNode | null;\n children?: ReactNode;\n}\n\nexport const AuthorizedContent: FC<AuthorizationProps> = (props) => {\n let isAuthorized = true; // Initially\n const user = useAuthUserOrNull();\n\n if (!user?.superUser) {\n if (props.requiredPermissions) {\n isAuthorized = false; // Reset - we are going to check that the user has at least one matching permission\n for (const permission of props.requiredPermissions) {\n if (user?.permissions?.find(({ key }) => key === permission)) {\n isAuthorized = true;\n }\n }\n }\n\n if (props.requiredRoles) {\n isAuthorized = false; // Reset - we are going to check that the user has at least one matching role\n for (const role of props.requiredRoles) {\n if (user?.roles?.find(({ key }) => key === role)) {\n isAuthorized = true;\n }\n }\n }\n }\n if (typeof props.render === 'function') {\n return <>{props.render(isAuthorized)}</>;\n }\n\n return isAuthorized ? <>{props.children}</> : null;\n};\n","import { useCallback, useMemo, useState } from 'react';\nimport { CheckoutDialog } from '@frontegg/js';\n\ninterface CheckoutDialogState {\n open: boolean;\n error: string | null;\n success: boolean;\n}\n\nexport interface CheckoutDialogHook {\n showDialog: (plan: string) => void;\n hideDialog: () => void;\n open: boolean;\n error: string | null;\n success: boolean;\n}\n\nexport const useCheckoutDialog = (appName = 'default'): CheckoutDialogHook => {\n const [{ open, error, success }, setState] = useState<CheckoutDialogState>({\n open: false,\n error: null,\n success: false,\n });\n\n const handleError = useCallback((error: string) => {\n setState({\n open: true,\n success: false,\n error,\n });\n }, []);\n\n const handleSuccess = useCallback(() => {\n setState({\n open: false,\n success: true,\n error: null,\n });\n }, []);\n\n const showDialog = useCallback(\n (plan: string) => {\n CheckoutDialog.show(\n {\n plan,\n onClose: hideDialog,\n onError: handleError,\n onSuccess: handleSuccess,\n },\n appName\n );\n setState({\n open: true,\n success: false,\n error: null,\n });\n },\n [appName]\n );\n\n const hideDialog = useCallback(() => {\n CheckoutDialog.hide(appName);\n setState({\n open: false,\n error: null,\n success: false,\n });\n }, [appName]);\n\n return useMemo(\n () => ({\n open,\n showDialog,\n hideDialog,\n error,\n success,\n }),\n [open, showDialog, hideDialog, error, success]\n );\n};\n"],"names":["ReactRouterDom.BrowserRouter","ReactRouterDom.useInRouterContext","ReactRouterDom.useNavigate","ReactRouterDom.useHistory","useRef","useLocation","useEffect","useState","useCallback","React","useMemo","isValidElement","isElement","AppHolder","initialize","ContextHolder","FronteggStoreProvider","__assign","useAuthUserOrNull","CheckoutDialog"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@frontegg/react",
3
3
  "libName": "FronteggReact",
4
- "version": "5.0.17-alpha.3794782950",
4
+ "version": "5.0.17-alpha.3799720105",
5
5
  "author": "Frontegg LTD",
6
6
  "main": "index.js",
7
7
  "types": "index.d.ts",
@@ -10,8 +10,8 @@
10
10
  "build:watch": "rm -rf dist && mkdir dist && rollup -w -c ./rollup.config.js"
11
11
  },
12
12
  "dependencies": {
13
- "@frontegg/js": "6.53.0",
14
- "@frontegg/react-hooks": "6.53.0"
13
+ "@frontegg/js": "6.54.0",
14
+ "@frontegg/react-hooks": "6.54.0"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "react": ">16.9.0",