@elliemae/pui-app-sdk 2.12.3 → 2.13.2
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/cjs/analytics/appdynamics.js +36 -0
- package/dist/cjs/analytics/index.js +15 -13
- package/dist/cjs/analytics/page-view-event.js +16 -19
- package/dist/cjs/analytics/user-session-event.js +13 -14
- package/dist/cjs/analytics/user-wait-event.js +4 -4
- package/dist/cjs/analytics/{ba-event-parameters.js → web-analytics.js} +2 -2
- package/dist/cjs/api/auth/index.js +13 -20
- package/dist/cjs/api/helpers.js +4 -16
- package/dist/cjs/api/users/index.js +4 -5
- package/dist/cjs/communication/http-client/index.js +16 -21
- package/dist/cjs/communication/http-client/retry-axios.js +0 -2
- package/dist/cjs/communication/http-client/tests/index.test-disable.js +5 -6
- package/dist/cjs/data/auth/actions.js +22 -28
- package/dist/cjs/data/breakpoint/index.js +1 -3
- package/dist/cjs/data/live-message/index.js +8 -11
- package/dist/cjs/data/reducers.js +1 -2
- package/dist/cjs/data/store.js +4 -8
- package/dist/cjs/data/wait-message/actions.js +6 -9
- package/dist/cjs/data/wait-message/reducer.js +13 -17
- package/dist/cjs/index.js +21 -15
- package/dist/cjs/route/index.js +23 -12
- package/dist/cjs/route/{usePageView.js → page-view.js} +12 -22
- package/dist/cjs/route/private-route/index.js +9 -10
- package/dist/cjs/sideeffect/auth/index.js +6 -10
- package/dist/cjs/utils/app-config/config.js +3 -14
- package/dist/cjs/utils/app-config/index.js +11 -15
- package/dist/cjs/utils/app-host-integration/react.js +7 -10
- package/dist/cjs/utils/auth/index.js +40 -44
- package/dist/cjs/utils/font-size.js +1 -1
- package/dist/cjs/utils/helpers.js +0 -6
- package/dist/cjs/utils/log-records.js +7 -7
- package/dist/cjs/utils/micro-frontend/guest.js +31 -8
- package/dist/cjs/utils/micro-frontend/host.js +14 -7
- package/dist/cjs/utils/micro-frontend/index.js +2 -4
- package/dist/cjs/utils/redact-pii.js +39 -0
- package/dist/cjs/utils/service-worker.js +2 -5
- package/dist/cjs/utils/session.js +2 -8
- package/dist/cjs/utils/storybook/theme.js +9 -12
- package/dist/cjs/utils/testing/index.js +9 -18
- package/dist/cjs/utils/testing/render-with-redux.js +11 -14
- package/dist/cjs/utils/testing/render-with-router-redux.js +17 -20
- package/dist/cjs/utils/testing/render-with-router.js +13 -16
- package/dist/cjs/utils/testing/render-with-state-addons.js +7 -16
- package/dist/cjs/utils/url.js +0 -8
- package/dist/cjs/utils/web-storage.js +1 -7
- package/dist/cjs/utils/window.js +0 -2
- package/dist/cjs/view/app-root/hosted-app.js +5 -8
- package/dist/cjs/view/app-root/index.js +20 -23
- package/dist/cjs/view/app-root/stand-alone-app.js +5 -8
- package/dist/cjs/view/app-root/style.js +5 -12
- package/dist/cjs/view/error-toast/index.stories.js +22 -31
- package/dist/cjs/view/fetch-host-app-data/store.js +1 -5
- package/dist/cjs/view/fields/check-box/index.js +20 -32
- package/dist/cjs/view/fields/check-box/index.stories.js +20 -24
- package/dist/cjs/view/fields/check-box/set-value.stories.js +17 -21
- package/dist/cjs/view/fields/combo-box/index.js +22 -28
- package/dist/cjs/view/fields/connect-form.js +3 -4
- package/dist/cjs/view/fields/date-input/index.js +15 -21
- package/dist/cjs/view/fields/date-picker/index.js +15 -21
- package/dist/cjs/view/fields/form-item-layout/index.js +16 -20
- package/dist/cjs/view/fields/input-mask/index.js +16 -28
- package/dist/cjs/view/fields/large-text-box/index.js +15 -21
- package/dist/cjs/view/fields/radio/index.js +20 -26
- package/dist/cjs/view/fields/radio/index.stories.js +17 -21
- package/dist/cjs/view/fields/radio/set-value.stories.js +15 -19
- package/dist/cjs/view/fields/radio-group/index.js +16 -22
- package/dist/cjs/view/fields/radio-group/index.stories.js +37 -44
- package/dist/cjs/view/fields/text-box/index.js +15 -21
- package/dist/cjs/view/fields/watch-value.js +4 -5
- package/dist/cjs/view/form/index.js +9 -10
- package/dist/cjs/view/form/index.stories.js +3 -6
- package/dist/cjs/view/form/submit-button/index.js +2 -3
- package/dist/cjs/view/form/usecases.stories.js +3 -6
- package/dist/cjs/view/guest-unload-handlers/index.js +1 -2
- package/dist/cjs/view/header/center-region/index.js +8 -20
- package/dist/cjs/view/header/index.js +8 -11
- package/dist/cjs/view/host-binding-events/index.js +2 -2
- package/dist/cjs/view/live-message/index.stories.js +0 -6
- package/dist/cjs/view/loadable/index.js +1 -2
- package/dist/cjs/view/login/index.js +5 -6
- package/dist/cjs/view/media-breakpoint/index.js +1 -1
- package/dist/cjs/view/message-to-host-app/index.js +1 -2
- package/dist/cjs/view/micro-app/app-factory/index.js +30 -48
- package/dist/cjs/view/micro-app/index.js +1 -1
- package/dist/cjs/view/micro-app/resources/manifest.js +27 -39
- package/dist/cjs/view/micro-app/resources/script.js +22 -35
- package/dist/cjs/view/micro-app/resources/style.js +20 -33
- package/dist/cjs/view/micro-app/use-app-will-render.js +12 -12
- package/dist/cjs/view/micro-app/utils.js +0 -6
- package/dist/cjs/view/micro-iframe-app/app.js +6 -9
- package/dist/cjs/view/micro-iframe-app/iframe/index.js +8 -9
- package/dist/cjs/view/micro-iframe-app/index.js +4 -7
- package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +5 -12
- package/dist/cjs/view/modals/error/index.js +6 -13
- package/dist/cjs/view/modals/navigation-prompt/index.js +4 -11
- package/dist/cjs/view/modals/session-expiry/customHooks.js +3 -5
- package/dist/cjs/view/modals/session-expiry/index.js +6 -13
- package/dist/cjs/view/modals/wait-message/html-wait-message.js +3 -4
- package/dist/cjs/view/modals/wait-message/index.js +8 -9
- package/dist/cjs/view/modals/wait-message/index.stories.js +4 -5
- package/dist/cjs/view/render-with-delay/index.js +3 -6
- package/dist/cjs/view/render-with-host-data/index.js +0 -2
- package/dist/cjs/view/session-timeout/index.js +0 -2
- package/dist/cjs/view/useMediaBreakpoints/index.js +0 -12
- package/dist/es/analytics/appdynamics.js +18 -0
- package/dist/es/analytics/index.js +14 -13
- package/dist/es/analytics/page-view-event.js +16 -19
- package/dist/es/analytics/user-session-event.js +12 -13
- package/dist/es/analytics/user-wait-event.js +4 -4
- package/dist/es/analytics/{ba-event-parameters.js → web-analytics.js} +2 -2
- package/dist/es/api/auth/index.js +13 -18
- package/dist/es/api/helpers.js +4 -14
- package/dist/es/api/users/index.js +4 -5
- package/dist/es/communication/http-client/index.js +16 -20
- package/dist/es/communication/http-client/retry-axios.js +0 -2
- package/dist/es/communication/http-client/tests/index.test-disable.js +5 -6
- package/dist/es/data/auth/actions.js +22 -28
- package/dist/es/data/breakpoint/index.js +1 -3
- package/dist/es/data/live-message/index.js +8 -11
- package/dist/es/data/reducers.js +1 -2
- package/dist/es/data/store.js +4 -8
- package/dist/es/data/wait-message/actions.js +6 -9
- package/dist/es/data/wait-message/reducer.js +12 -16
- package/dist/es/index.js +4 -1
- package/dist/es/route/index.js +23 -13
- package/dist/es/route/page-view.js +15 -0
- package/dist/es/route/private-route/index.js +9 -10
- package/dist/es/sideeffect/auth/index.js +6 -10
- package/dist/es/utils/app-config/config.js +3 -14
- package/dist/es/utils/app-config/index.js +11 -15
- package/dist/es/utils/app-host-integration/react.js +7 -10
- package/dist/es/utils/auth/index.js +39 -41
- package/dist/es/utils/font-size.js +1 -1
- package/dist/es/utils/helpers.js +0 -3
- package/dist/es/utils/log-records.js +7 -7
- package/dist/es/utils/micro-frontend/guest.js +29 -6
- package/dist/es/utils/micro-frontend/host.js +13 -7
- package/dist/es/utils/micro-frontend/index.js +2 -3
- package/dist/es/utils/redact-pii.js +31 -0
- package/dist/es/utils/service-worker.js +2 -4
- package/dist/es/utils/session.js +2 -8
- package/dist/es/utils/storybook/theme.js +9 -12
- package/dist/es/utils/testing/index.js +9 -12
- package/dist/es/utils/testing/render-with-redux.js +11 -14
- package/dist/es/utils/testing/render-with-router-redux.js +17 -20
- package/dist/es/utils/testing/render-with-router.js +13 -16
- package/dist/es/utils/testing/render-with-state-addons.js +7 -12
- package/dist/es/utils/url.js +0 -4
- package/dist/es/utils/web-storage.js +1 -4
- package/dist/es/utils/window.js +0 -1
- package/dist/es/view/app-root/hosted-app.js +5 -8
- package/dist/es/view/app-root/index.js +20 -23
- package/dist/es/view/app-root/stand-alone-app.js +5 -8
- package/dist/es/view/app-root/style.js +5 -10
- package/dist/es/view/error-toast/index.stories.js +22 -30
- package/dist/es/view/fetch-host-app-data/store.js +1 -5
- package/dist/es/view/fields/check-box/index.js +20 -26
- package/dist/es/view/fields/check-box/index.stories.js +20 -24
- package/dist/es/view/fields/check-box/set-value.stories.js +17 -21
- package/dist/es/view/fields/combo-box/index.js +22 -28
- package/dist/es/view/fields/connect-form.js +3 -4
- package/dist/es/view/fields/date-input/index.js +15 -21
- package/dist/es/view/fields/date-picker/index.js +15 -21
- package/dist/es/view/fields/form-item-layout/index.js +16 -20
- package/dist/es/view/fields/input-mask/index.js +16 -22
- package/dist/es/view/fields/large-text-box/index.js +15 -21
- package/dist/es/view/fields/radio/index.js +20 -26
- package/dist/es/view/fields/radio/index.stories.js +17 -21
- package/dist/es/view/fields/radio/set-value.stories.js +15 -19
- package/dist/es/view/fields/radio-group/index.js +16 -22
- package/dist/es/view/fields/radio-group/index.stories.js +37 -44
- package/dist/es/view/fields/text-box/index.js +15 -21
- package/dist/es/view/fields/watch-value.js +4 -5
- package/dist/es/view/form/index.js +9 -10
- package/dist/es/view/form/index.stories.js +3 -6
- package/dist/es/view/form/submit-button/index.js +2 -3
- package/dist/es/view/form/usecases.stories.js +3 -6
- package/dist/es/view/guest-unload-handlers/index.js +1 -2
- package/dist/es/view/header/center-region/index.js +8 -17
- package/dist/es/view/header/index.js +8 -11
- package/dist/es/view/host-binding-events/index.js +2 -2
- package/dist/es/view/live-message/index.stories.js +0 -1
- package/dist/es/view/loadable/index.js +1 -2
- package/dist/es/view/login/index.js +5 -6
- package/dist/es/view/media-breakpoint/index.js +1 -1
- package/dist/es/view/message-to-host-app/index.js +1 -2
- package/dist/es/view/micro-app/app-factory/index.js +30 -42
- package/dist/es/view/micro-app/index.js +1 -1
- package/dist/es/view/micro-app/resources/manifest.js +26 -31
- package/dist/es/view/micro-app/resources/script.js +21 -31
- package/dist/es/view/micro-app/resources/style.js +20 -30
- package/dist/es/view/micro-app/use-app-will-render.js +12 -12
- package/dist/es/view/micro-app/utils.js +0 -3
- package/dist/es/view/micro-iframe-app/app.js +6 -8
- package/dist/es/view/micro-iframe-app/iframe/index.js +8 -9
- package/dist/es/view/micro-iframe-app/index.js +4 -6
- package/dist/es/view/micro-iframe-app/use-frame-loaded.js +5 -9
- package/dist/es/view/modals/error/index.js +6 -8
- package/dist/es/view/modals/navigation-prompt/index.js +4 -5
- package/dist/es/view/modals/session-expiry/customHooks.js +3 -4
- package/dist/es/view/modals/session-expiry/index.js +6 -8
- package/dist/es/view/modals/wait-message/html-wait-message.js +3 -4
- package/dist/es/view/modals/wait-message/index.js +8 -9
- package/dist/es/view/modals/wait-message/index.stories.js +4 -5
- package/dist/es/view/render-with-delay/index.js +3 -5
- package/dist/es/view/render-with-host-data/index.js +0 -1
- package/dist/es/view/session-timeout/index.js +0 -1
- package/dist/es/view/useMediaBreakpoints/index.js +0 -6
- package/dist/types/analytics/appdynamics.d.ts +9 -0
- package/dist/types/analytics/index.d.ts +2 -2
- package/dist/types/analytics/web-analytics.d.ts +8 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/route/page-view.d.ts +1 -0
- package/dist/types/utils/micro-frontend/guest.d.ts +1 -0
- package/dist/types/utils/micro-frontend/host.d.ts +1 -1
- package/dist/types/utils/redact-pii.d.ts +1 -0
- package/dist/types/view/visually-hidden/index.d.ts +1 -1
- package/package.json +7 -3
- package/dist/es/route/usePageView.js +0 -18
- package/dist/public/app.config.json +0 -129
- package/dist/public/assets/index.ad459dcebaa616bff55e77d860405729.svg +0 -1
- package/dist/public/assets/index.dae17c8817fd9c5ab29e7c3a8925a1f4.svg +0 -1
- package/dist/public/assets/logo.0cbd33c5006f8ea6d106f8ab13f6e6dc.svg +0 -1
- package/dist/public/iframe.b3911eaf1a99a53ef7b10a1e1f0bdfc4.html +0 -8
- package/dist/public/index.html +0 -5
- package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js +0 -3
- package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js.LICENSE.txt +0 -95
- package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js.gz +0 -0
- package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js.map +0 -1
- package/dist/types/analytics/ba-event-parameters.d.ts +0 -8
- package/dist/types/route/usePageView.d.ts +0 -1
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
|
-
import "core-js/modules/esnext.async-iterator.for-each.js";
|
|
3
|
-
import "core-js/modules/esnext.iterator.constructor.js";
|
|
4
|
-
import "core-js/modules/esnext.iterator.for-each.js";
|
|
5
|
-
import "core-js/modules/esnext.async-iterator.map.js";
|
|
6
|
-
import "core-js/modules/esnext.iterator.map.js";
|
|
7
|
-
|
|
8
1
|
/* eslint-disable max-lines */
|
|
9
2
|
import { persistentStorage } from "../../../utils/web-storage.js";
|
|
10
3
|
import { CMicroAppHost } from "../../../utils/micro-frontend/host.js";
|
|
@@ -21,23 +14,22 @@ const isCss = fileName => cssType.test(fileName);
|
|
|
21
14
|
|
|
22
15
|
const activeApps = {};
|
|
23
16
|
|
|
24
|
-
const initApplication = async
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
} = _ref;
|
|
17
|
+
const initApplication = async ({
|
|
18
|
+
id,
|
|
19
|
+
name,
|
|
20
|
+
hostUrl,
|
|
21
|
+
history,
|
|
22
|
+
theme,
|
|
23
|
+
manifestPath,
|
|
24
|
+
homeRoute
|
|
25
|
+
}) => {
|
|
34
26
|
const app = (window.emui || {})[id] || {}; // eslint-disable-next-line @typescript-eslint/unbound-method
|
|
35
27
|
|
|
36
28
|
const {
|
|
37
29
|
init
|
|
38
30
|
} = app;
|
|
39
|
-
if (!init || typeof init !== 'function') throw new Error(
|
|
40
|
-
const prevState = await persistentStorage.get(
|
|
31
|
+
if (!init || typeof init !== 'function') throw new Error(`Application ${name} with id ${id} doesn't expose init method.`);
|
|
32
|
+
const prevState = await persistentStorage.get(`state-${id}`);
|
|
41
33
|
return init({
|
|
42
34
|
host: CMicroAppHost.getInstance(),
|
|
43
35
|
hostUrl,
|
|
@@ -51,28 +43,26 @@ const initApplication = async _ref => {
|
|
|
51
43
|
});
|
|
52
44
|
};
|
|
53
45
|
|
|
54
|
-
export const mountApp = async
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
} = _ref2;
|
|
46
|
+
export const mountApp = async ({
|
|
47
|
+
id,
|
|
48
|
+
name
|
|
49
|
+
}) => {
|
|
59
50
|
const app = (window.emui || {})[id] || {}; // eslint-disable-next-line @typescript-eslint/unbound-method
|
|
60
51
|
|
|
61
52
|
const {
|
|
62
53
|
mount
|
|
63
54
|
} = app;
|
|
64
|
-
if (!mount || typeof mount !== 'function') throw new Error(
|
|
55
|
+
if (!mount || typeof mount !== 'function') throw new Error(`Application ${name} with id ${id} doesn't expose mount method.`);
|
|
65
56
|
return mount({
|
|
66
|
-
containerId:
|
|
57
|
+
containerId: `${APP_CONTAINER_ID_PREFIX}${id}`,
|
|
67
58
|
hostBreakpoint: getCurrentBreakpoint(),
|
|
68
59
|
hostViewportSize: getViewportSize()
|
|
69
60
|
});
|
|
70
61
|
};
|
|
71
|
-
export const unmountApp = async
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
} = _ref3;
|
|
62
|
+
export const unmountApp = async ({
|
|
63
|
+
id,
|
|
64
|
+
name
|
|
65
|
+
}) => {
|
|
76
66
|
const app = (window.emui || {})[id];
|
|
77
67
|
if (!app) return null; // eslint-disable-next-line @typescript-eslint/unbound-method
|
|
78
68
|
|
|
@@ -80,13 +70,13 @@ export const unmountApp = async _ref3 => {
|
|
|
80
70
|
unmount
|
|
81
71
|
} = app;
|
|
82
72
|
if (!unmount) return null;
|
|
83
|
-
if (typeof unmount !== 'function') throw new Error(
|
|
73
|
+
if (typeof unmount !== 'function') throw new Error(`unmount failed for application ${name} with id ${id}. unmount is not a valid function`);
|
|
84
74
|
const currentState = await unmount({
|
|
85
|
-
containerId:
|
|
75
|
+
containerId: `${APP_CONTAINER_ID_PREFIX}${id}`
|
|
86
76
|
});
|
|
87
77
|
|
|
88
78
|
if (currentState) {
|
|
89
|
-
await persistentStorage.set(
|
|
79
|
+
await persistentStorage.set(`state-${id}`, currentState);
|
|
90
80
|
}
|
|
91
81
|
|
|
92
82
|
return Promise.resolve();
|
|
@@ -115,8 +105,7 @@ Promise.all(requests).then(addAppToActiveAppList.bind(null, appConfig.id)).then(
|
|
|
115
105
|
throw new Error(logRecord.msg);
|
|
116
106
|
});
|
|
117
107
|
|
|
118
|
-
const removeAssetsFromDOM =
|
|
119
|
-
let documentEle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
108
|
+
const removeAssetsFromDOM = (id, documentEle = document) => {
|
|
120
109
|
const host = CMicroAppHost.getInstance();
|
|
121
110
|
if (host) delete host.activeGuests[id];
|
|
122
111
|
const {
|
|
@@ -153,12 +142,11 @@ export const loadApp = async appConfig => {
|
|
|
153
142
|
await waitAndInitApplication(appConfig, requests);
|
|
154
143
|
getLogger().info(logRecords.APP_LOADING_COMPLETE(appConfig.id));
|
|
155
144
|
};
|
|
156
|
-
export const unloadApp =
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
} = _ref4;
|
|
145
|
+
export const unloadApp = ({
|
|
146
|
+
id,
|
|
147
|
+
hostUrl,
|
|
148
|
+
documentEle
|
|
149
|
+
}) => {
|
|
162
150
|
getLogger().info(logRecords.APP_UNLOADING(id));
|
|
163
151
|
const app = (window.emui || {})[id];
|
|
164
152
|
if (!app) return;
|
|
@@ -6,7 +6,7 @@ import { useAppWillRender } from "./use-app-will-render.js";
|
|
|
6
6
|
export const MicroApp = /*#__PURE__*/memo(props => {
|
|
7
7
|
useAppWillRender(props);
|
|
8
8
|
return /*#__PURE__*/_jsx(_StyledDiv, {
|
|
9
|
-
id:
|
|
9
|
+
id: `${APP_CONTAINER_ID_PREFIX}${props.id}`
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
|
|
@@ -1,43 +1,38 @@
|
|
|
1
|
-
import "core-js/modules/es.string.replace.js";
|
|
2
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
3
|
-
import "core-js/modules/web.url.js";
|
|
4
|
-
import "core-js/modules/web.url-search-params.js";
|
|
5
|
-
import "core-js/modules/esnext.async-iterator.reduce.js";
|
|
6
|
-
import "core-js/modules/esnext.iterator.constructor.js";
|
|
7
|
-
import "core-js/modules/esnext.iterator.reduce.js";
|
|
8
1
|
import { getHTTPClient } from "../../../communication/http-client/index.js";
|
|
9
2
|
import { removeDoubleSlash } from "../../../utils/url.js";
|
|
10
3
|
import { getLogger } from "../../../utils/micro-frontend/index.js";
|
|
11
4
|
import { logRecords } from "../../../utils/log-records.js";
|
|
12
5
|
|
|
13
|
-
const getUnVersionedManifestPath = path => path.replace(/\/\d+\.\d
|
|
6
|
+
const getUnVersionedManifestPath = path => path.replace(/\/\d+\.\d+/, '/latest');
|
|
14
7
|
|
|
15
|
-
export const getAppManifest = async
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const url = new URL("".concat(manifestPath.replace(/\/?$/, '/'), "manifest.json"), hostUrl);
|
|
8
|
+
export const getAppManifest = async ({
|
|
9
|
+
hostUrl,
|
|
10
|
+
manifestPath
|
|
11
|
+
}) => {
|
|
12
|
+
const url = new URL(`${manifestPath.replace(/\/?$/, '/')}manifest.json`, hostUrl);
|
|
21
13
|
const response = await getHTTPClient().get(removeDoubleSlash(url.href));
|
|
22
14
|
const {
|
|
23
15
|
headers
|
|
24
16
|
} = response;
|
|
25
17
|
if (headers['content-type'] && headers['content-type'].includes('application/json')) return response.data;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
const unVersionedManifestPath = getUnVersionedManifestPath(manifestPath);
|
|
19
|
+
|
|
20
|
+
if (manifestPath !== unVersionedManifestPath) {
|
|
21
|
+
return getAppManifest({
|
|
22
|
+
hostUrl,
|
|
23
|
+
manifestPath: getUnVersionedManifestPath(manifestPath)
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
throw new Error('manifest.json is not available for the application');
|
|
30
28
|
};
|
|
31
|
-
export const getFullFileNameofAssetsFromManifest =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return assets;
|
|
42
|
-
}, []);
|
|
43
|
-
};
|
|
29
|
+
export const getFullFileNameofAssetsFromManifest = (manifest, assetNames = []) => assetNames.reduce((assets, assetName) => {
|
|
30
|
+
const fullFileName = manifest[assetName];
|
|
31
|
+
if (fullFileName) assets.push(fullFileName); // eslint-disable-next-line no-console
|
|
32
|
+
else {
|
|
33
|
+
const logRecord = logRecords.ASSET_NOT_FOUND_IN_MANIFEST(assetName);
|
|
34
|
+
getLogger().error(logRecord);
|
|
35
|
+
throw new Error(logRecord.msg);
|
|
36
|
+
}
|
|
37
|
+
return assets;
|
|
38
|
+
}, []);
|
|
@@ -1,42 +1,32 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
|
-
import "core-js/modules/web.url.js";
|
|
3
|
-
import "core-js/modules/web.url-search-params.js";
|
|
4
1
|
import { removeDoubleSlash } from "../../../utils/url.js";
|
|
5
2
|
export const APP_SCRIPT_ID_PREFIX = 'emui-script-';
|
|
6
3
|
const HEAD_SCRIPTS = new RegExp('/(?:emuiDiagnostics|global|global-prod|emuiUserMonitoring)(?:..*)?.js', 'i'); // const isDeferEligible = (scriptSrc: string) => !HEAD_SCRIPTS.test(scriptSrc);
|
|
7
4
|
|
|
8
5
|
const isHeadScript = scriptSrc => HEAD_SCRIPTS.test(scriptSrc);
|
|
9
6
|
|
|
10
|
-
export const addScriptToDOM = (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
ele.onerror = reject.bind(null, ele.id);
|
|
24
|
-
ele.async = false; // execute the scripts in the same order as they are inserted
|
|
7
|
+
export const addScriptToDOM = ({
|
|
8
|
+
name,
|
|
9
|
+
hostUrl,
|
|
10
|
+
documentEle
|
|
11
|
+
}, fileName, index) => new Promise((resolve, reject) => {
|
|
12
|
+
const ele = documentEle.createElement('script');
|
|
13
|
+
if (!ele) reject(new Error('Unable to insert Application scripts.'));
|
|
14
|
+
ele.id = `${APP_SCRIPT_ID_PREFIX}${name}-${index}`;
|
|
15
|
+
const url = new URL(fileName, hostUrl);
|
|
16
|
+
ele.src = removeDoubleSlash(url.href);
|
|
17
|
+
ele.onload = resolve.bind(null, ele.id);
|
|
18
|
+
ele.onerror = reject.bind(null, ele.id);
|
|
19
|
+
ele.async = false; // execute the scripts in the same order as they are inserted
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
let elementId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
31
|
-
let documentEle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
32
|
-
return new Promise(resolve => {
|
|
33
|
-
const ele = documentEle.getElementById(elementId); // eslint-disable-next-line no-console
|
|
21
|
+
if (isHeadScript(ele.src)) documentEle.head.appendChild(ele);else documentEle.body.appendChild(ele);
|
|
22
|
+
});
|
|
23
|
+
export const removeScriptFromDOM = (elementId = '', documentEle = document) => new Promise(resolve => {
|
|
24
|
+
const ele = documentEle.getElementById(elementId); // eslint-disable-next-line no-console
|
|
34
25
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
26
|
+
if (!ele) console.warn(new Error(`script with id ${elementId} not found`));
|
|
27
|
+
ele.remove();
|
|
28
|
+
resolve();
|
|
29
|
+
});
|
|
40
30
|
export const removeDynamicImportedScripts = (hostUrl, documentEle) => {
|
|
41
31
|
const hostPattern = new RegExp(hostUrl, 'i');
|
|
42
32
|
const scriptElements = documentEle.getElementsByTagName('script');
|
|
@@ -1,36 +1,26 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
|
-
import "core-js/modules/web.url.js";
|
|
3
|
-
import "core-js/modules/web.url-search-params.js";
|
|
4
1
|
import { removeDoubleSlash } from "../../../utils/url.js";
|
|
5
2
|
export const APP_STYLE_ID_PREFIX = 'emui-style-';
|
|
6
|
-
export const addStylesToDOM = (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
export const removeStyleFromDOM = function () {
|
|
24
|
-
let elementId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
25
|
-
let documentEle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
26
|
-
return new Promise(resolve => {
|
|
27
|
-
const ele = documentEle.getElementById(elementId); // eslint-disable-next-line no-console
|
|
3
|
+
export const addStylesToDOM = ({
|
|
4
|
+
name,
|
|
5
|
+
hostUrl,
|
|
6
|
+
documentEle
|
|
7
|
+
}, fileName, index) => new Promise((resolve, reject) => {
|
|
8
|
+
const ele = documentEle.createElement('link');
|
|
9
|
+
if (!ele) reject(new Error('Unable to insert Application styles.'));
|
|
10
|
+
ele.id = `${APP_STYLE_ID_PREFIX}${name}-${index}`;
|
|
11
|
+
ele.rel = 'stylesheet';
|
|
12
|
+
const url = new URL(fileName, hostUrl);
|
|
13
|
+
ele.href = removeDoubleSlash(url.href);
|
|
14
|
+
ele.onload = resolve.bind(null, ele.id);
|
|
15
|
+
documentEle.head.appendChild(ele);
|
|
16
|
+
});
|
|
17
|
+
export const removeStyleFromDOM = (elementId = '', documentEle = document) => new Promise(resolve => {
|
|
18
|
+
const ele = documentEle.getElementById(elementId); // eslint-disable-next-line no-console
|
|
28
19
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
20
|
+
if (!ele) console.warn(new Error(`style with id ${elementId} not found`));
|
|
21
|
+
ele.remove();
|
|
22
|
+
resolve();
|
|
23
|
+
});
|
|
34
24
|
export const removeDynamicImportedStyles = (hostUrl, documentEle) => {
|
|
35
25
|
const hostPattern = new RegExp(hostUrl, 'i');
|
|
36
26
|
const prefetchElements = documentEle.querySelectorAll('[rel="stylesheet"]');
|
|
@@ -5,14 +5,13 @@ import { waitMessage } from "../../data/wait-message/actions.js";
|
|
|
5
5
|
import { loadApp, unloadApp, mountApp, unmountApp } from "./app-factory/index.js";
|
|
6
6
|
import { getLogger, getMicroFrontEndAppConfig } from "../../utils/micro-frontend/index.js";
|
|
7
7
|
import { logRecords } from "../../utils/log-records.js";
|
|
8
|
-
export const useAppWillRender =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} = _ref;
|
|
8
|
+
export const useAppWillRender = ({
|
|
9
|
+
id,
|
|
10
|
+
documentEle,
|
|
11
|
+
history,
|
|
12
|
+
theme,
|
|
13
|
+
onUnloadComplete
|
|
14
|
+
}) => {
|
|
16
15
|
// ToDo: Since ecc app is using older version of react-redux we need this undefined check. once ECC upgrades to react-redux v6 or later, this check can be removed
|
|
17
16
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
18
17
|
const dispatch = useDispatch ? useDispatch() : null;
|
|
@@ -20,11 +19,12 @@ export const useAppWillRender = _ref => {
|
|
|
20
19
|
const getConfig = useCallback(() => getMicroFrontEndAppConfig({
|
|
21
20
|
id
|
|
22
21
|
}), [id]);
|
|
23
|
-
const unload = useCallback(async appConfig => {
|
|
22
|
+
const unload = useCallback(async (appConfig, loadFailed = false) => {
|
|
24
23
|
await unmountApp(appConfig);
|
|
25
24
|
unloadApp(appConfig);
|
|
26
|
-
if (onUnloadComplete) onUnloadComplete();
|
|
27
|
-
},
|
|
25
|
+
if (!loadFailed && onUnloadComplete) onUnloadComplete();
|
|
26
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
|
+
[]);
|
|
28
28
|
const load = useCallback(async appConfig => {
|
|
29
29
|
if (dispatch) dispatch(waitMessage.open());
|
|
30
30
|
|
|
@@ -37,7 +37,7 @@ export const useAppWillRender = _ref => {
|
|
|
37
37
|
getLogger().error({ ...logRecords.APP_CONFIG_LOAD_FAILED,
|
|
38
38
|
exception: ex
|
|
39
39
|
});
|
|
40
|
-
await unload(appConfig);
|
|
40
|
+
await unload(appConfig, true);
|
|
41
41
|
throw ex;
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/esnext.async-iterator.reduce.js";
|
|
2
|
-
import "core-js/modules/esnext.iterator.constructor.js";
|
|
3
|
-
import "core-js/modules/esnext.iterator.reduce.js";
|
|
4
1
|
import { getAppConfigValue } from "../../utils/app-config/config.js";
|
|
5
2
|
export const getNavigationLinks = () => {
|
|
6
3
|
const microApps = getAppConfigValue('microFrontendApps');
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
1
|
import { memo, useState } from 'react'; // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
2
|
// @ts-ignore
|
|
4
3
|
|
|
@@ -7,13 +6,12 @@ import { IFrame } from "./iframe/index.js";
|
|
|
7
6
|
import { useFrameLoaded } from "./use-frame-loaded.js";
|
|
8
7
|
import { useAppWillRender } from "../micro-app/use-app-will-render.js";
|
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
export const App = /*#__PURE__*/memo(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref;
|
|
9
|
+
export const App = /*#__PURE__*/memo(({
|
|
10
|
+
id,
|
|
11
|
+
dispose,
|
|
12
|
+
onUnloadComplete,
|
|
13
|
+
...rest
|
|
14
|
+
}) => {
|
|
17
15
|
const [documentEle, setDocumentEle] = useState(null);
|
|
18
16
|
useFrameLoaded({
|
|
19
17
|
id,
|
|
@@ -4,20 +4,19 @@ import _styled from "styled-components";
|
|
|
4
4
|
import { memo, useRef } from 'react';
|
|
5
5
|
import { IFRAME_CONTAINER_ID_PREFIX } from "./const.js";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
export const IFrame = /*#__PURE__*/memo(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
7
|
+
export const IFrame = /*#__PURE__*/memo(({
|
|
8
|
+
id,
|
|
9
|
+
name: title,
|
|
10
|
+
src,
|
|
11
|
+
sandbox,
|
|
12
|
+
onFrameReady
|
|
13
|
+
}) => {
|
|
15
14
|
const frameRef = useRef(null);
|
|
16
15
|
const sandboxProps = sandbox ? {
|
|
17
16
|
sandbox
|
|
18
17
|
} : {};
|
|
19
18
|
return /*#__PURE__*/_jsx2(_StyledDiv, {}, void 0, /*#__PURE__*/_jsx(_StyledIframe, {
|
|
20
|
-
id:
|
|
19
|
+
id: `${IFRAME_CONTAINER_ID_PREFIX}${id}`,
|
|
21
20
|
ref: frameRef,
|
|
22
21
|
title: title,
|
|
23
22
|
src: src,
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
1
|
import { useEffect, useState, memo } from 'react';
|
|
3
2
|
import { usePrevious } from "../use-previous.js";
|
|
4
3
|
import { App } from "./app.js";
|
|
5
4
|
import { createElement as _createElement } from "react";
|
|
6
|
-
export const MicroIFrameApp = /*#__PURE__*/memo(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} = _ref;
|
|
5
|
+
export const MicroIFrameApp = /*#__PURE__*/memo(({
|
|
6
|
+
entityId = null,
|
|
7
|
+
...rest
|
|
8
|
+
}) => {
|
|
11
9
|
const [disposePrevApp, setDisposePrevApp] = useState(false);
|
|
12
10
|
const [appKey, setAppKey] = useState(Date.now());
|
|
13
11
|
const prevEntityId = usePrevious(entityId);
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
|
-
import "core-js/modules/web.url.js";
|
|
3
|
-
import "core-js/modules/web.url-search-params.js";
|
|
4
1
|
import { useEffect } from 'react';
|
|
5
2
|
import { trackActivity } from "../../utils/session.js";
|
|
6
3
|
import { CMicroAppHost } from "../../utils/micro-frontend/host.js";
|
|
@@ -22,15 +19,14 @@ const updateContainerId = (id, documentEle) => {
|
|
|
22
19
|
const ele = documentEle.getElementById('pui-app-container-');
|
|
23
20
|
|
|
24
21
|
if (ele) {
|
|
25
|
-
ele.id =
|
|
22
|
+
ele.id = `${ele.id}${id}`;
|
|
26
23
|
}
|
|
27
24
|
};
|
|
28
25
|
|
|
29
|
-
export const useFrameLoaded =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
} = _ref;
|
|
26
|
+
export const useFrameLoaded = ({
|
|
27
|
+
id,
|
|
28
|
+
documentEle
|
|
29
|
+
}) => {
|
|
34
30
|
useEffect(() => {
|
|
35
31
|
if (!documentEle) return () => {};
|
|
36
32
|
const host = CMicroAppHost.getInstance();
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import _jsx from "@babel/runtime/helpers/jsx";
|
|
2
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
3
2
|
import { useState } from 'react';
|
|
4
3
|
import DSModal, { MODAL_TYPE } from '@elliemae/ds-modal';
|
|
5
|
-
export const Error =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} = _ref;
|
|
4
|
+
export const Error = ({
|
|
5
|
+
open,
|
|
6
|
+
name,
|
|
7
|
+
showHeader = false,
|
|
8
|
+
children
|
|
9
|
+
}) => {
|
|
12
10
|
const [isOpen, setIsOpen] = useState(open);
|
|
13
11
|
return /*#__PURE__*/_jsx(DSModal, {
|
|
14
12
|
centered: true,
|
|
@@ -6,11 +6,10 @@ import { memo } from 'react';
|
|
|
6
6
|
import DSModal, { MODAL_TYPE } from '@elliemae/ds-modal';
|
|
7
7
|
import { useAppDispatch } from "../../../data/react-redux.js";
|
|
8
8
|
import { navigationPrompt } from "../../../data/navigation-prompt/actions.js";
|
|
9
|
-
export const NavigationPrompt = /*#__PURE__*/memo(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = _ref;
|
|
9
|
+
export const NavigationPrompt = /*#__PURE__*/memo(({
|
|
10
|
+
open,
|
|
11
|
+
showHeader = false
|
|
12
|
+
}) => {
|
|
14
13
|
const dispatch = useAppDispatch();
|
|
15
14
|
return /*#__PURE__*/_jsx(DSModal, {
|
|
16
15
|
centered: true,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
1
|
import { useEffect, useState } from 'react';
|
|
3
2
|
import differenceInMinutes from "date-fns/differenceInMinutes";
|
|
4
3
|
import getSeconds from "date-fns/getSeconds";
|
|
@@ -17,8 +16,8 @@ export const useTrackSessionExpiry = warningNotifiedAt => {
|
|
|
17
16
|
const seconds = getSeconds(sessionExpiresIn - Date.now());
|
|
18
17
|
const minutes = differenceInMinutes(sessionExpiresIn, Date.now());
|
|
19
18
|
return {
|
|
20
|
-
seconds:
|
|
21
|
-
minutes:
|
|
19
|
+
seconds: `0${seconds}`.slice(-2),
|
|
20
|
+
minutes: `0${minutes}`.slice(-2)
|
|
22
21
|
};
|
|
23
22
|
};
|
|
24
23
|
|
|
@@ -27,7 +26,7 @@ export const useTrackSessionExpiry = warningNotifiedAt => {
|
|
|
27
26
|
seconds,
|
|
28
27
|
minutes
|
|
29
28
|
} = timeLeftForExpiryAfterWarning();
|
|
30
|
-
setTimeData(
|
|
29
|
+
setTimeData(`${minutes}:${seconds}`);
|
|
31
30
|
}, 1000);
|
|
32
31
|
return () => {
|
|
33
32
|
clearInterval(interval);
|
|
@@ -2,19 +2,17 @@ import _jsx from "@babel/runtime/helpers/jsx";
|
|
|
2
2
|
|
|
3
3
|
var _p;
|
|
4
4
|
|
|
5
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
6
5
|
import { memo, useState } from 'react';
|
|
7
6
|
import DSModal, { MODAL_SUB_TYPE_V2, MODAL_TYPE_V2 } from '@elliemae/ds-modal';
|
|
8
7
|
import { useAppDispatch } from "../../../data/react-redux.js";
|
|
9
8
|
import { logout } from "../../../data/logout/actions.js";
|
|
10
9
|
import { resetUserIdleTime } from "../../../utils/session.js";
|
|
11
10
|
import { useTrackSessionExpiry } from "./customHooks.js";
|
|
12
|
-
export const SessionExpiry = /*#__PURE__*/memo(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} = _ref;
|
|
11
|
+
export const SessionExpiry = /*#__PURE__*/memo(({
|
|
12
|
+
open,
|
|
13
|
+
warningNotifiedAt = 0,
|
|
14
|
+
showHeader = false
|
|
15
|
+
}) => {
|
|
18
16
|
const [isOpen, setIsOpen] = useState(open);
|
|
19
17
|
const timeLeft = useTrackSessionExpiry(warningNotifiedAt);
|
|
20
18
|
const dispatch = useAppDispatch();
|
|
@@ -37,7 +35,7 @@ export const SessionExpiry = /*#__PURE__*/memo(_ref => {
|
|
|
37
35
|
showHeader: showHeader,
|
|
38
36
|
onConfirm: resetSession,
|
|
39
37
|
onReject: logoutSession,
|
|
40
|
-
modalTitle: timeLeft ?
|
|
38
|
+
modalTitle: timeLeft ? `Your session will expire in ${timeLeft}` : '',
|
|
41
39
|
confirmLabel: "Reset",
|
|
42
40
|
rejectLabel: "Logout",
|
|
43
41
|
showRejectButton: true,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { memo, useEffect } from 'react';
|
|
2
2
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
export const HTMLWaitMessage = /*#__PURE__*/memo(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} = _ref;
|
|
4
|
+
export const HTMLWaitMessage = /*#__PURE__*/memo(({
|
|
5
|
+
close
|
|
6
|
+
}) => {
|
|
8
7
|
useEffect(() => {
|
|
9
8
|
const htmlWaitMsgElement = document.getElementById('em-wait-message');
|
|
10
9
|
if (htmlWaitMsgElement && close) htmlWaitMsgElement.remove();
|
|
@@ -7,15 +7,14 @@ import { waitStartEvent, waitEndEvent } from "../../../analytics/user-wait-event
|
|
|
7
7
|
import { jsx as _jsx2 } from "react/jsx-runtime";
|
|
8
8
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
export const WaitMessage = /*#__PURE__*/memo(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} = _ref;
|
|
10
|
+
export const WaitMessage = /*#__PURE__*/memo(({
|
|
11
|
+
size = 'm',
|
|
12
|
+
style = {
|
|
13
|
+
color: 'white',
|
|
14
|
+
fontSize: '1.25rem'
|
|
15
|
+
},
|
|
16
|
+
...rest
|
|
17
|
+
}) => {
|
|
19
18
|
const isOpen = useAppSelector(state => {
|
|
20
19
|
var _state$waitMessage;
|
|
21
20
|
|
|
@@ -4,11 +4,10 @@ import { waitMessage } from "../../../data/wait-message/actions.js";
|
|
|
4
4
|
import { WaitMessage } from "./index.js";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
|
|
7
|
-
const Template =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} = _ref;
|
|
7
|
+
const Template = ({
|
|
8
|
+
isOpen,
|
|
9
|
+
...rest
|
|
10
|
+
}) => {
|
|
12
11
|
const dispatch = useAppDispatch();
|
|
13
12
|
useEffect(() => {
|
|
14
13
|
if (!dispatch) return;
|