@elliemae/pui-app-sdk 3.15.0 → 4.0.0-alpha.10
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 +4 -1
- package/dist/cjs/api/auth/index.js +8 -2
- package/dist/cjs/api/helpers.js +7 -1
- package/dist/cjs/api/users/index.js +3 -1
- package/dist/cjs/app.config.json +42 -25
- package/dist/cjs/communication/http-client/index.js +4 -1
- package/dist/cjs/communication/http-client/response-interceptor.js +4 -1
- package/dist/cjs/communication/http-client/retry-axios.js +4 -1
- package/dist/cjs/data/auth/reducer.js +14 -8
- package/dist/cjs/data/breakpoint/index.js +4 -1
- package/dist/cjs/data/index.js +1 -0
- package/dist/cjs/data/store.js +10 -2
- package/dist/cjs/data/wait-message/reducer.js +4 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/sideeffect/error-toast/index.js +3 -1
- package/dist/cjs/sideeffect/wait-message/index.js +6 -2
- package/dist/cjs/utils/app-config/config.js +6 -2
- package/dist/cjs/utils/app-config/index.js +12 -4
- package/dist/cjs/utils/auth/helper.js +4 -1
- package/dist/cjs/utils/auth/index.js +3 -1
- package/dist/cjs/utils/micro-frontend/guest.js +8 -7
- package/dist/cjs/utils/micro-frontend/host.js +9 -3
- package/dist/cjs/utils/micro-frontend/index.js +27 -10
- package/dist/cjs/utils/micro-frontend/ssfguest-adapter.js +9 -2
- package/dist/cjs/utils/redact-pii.js +8 -2
- package/dist/cjs/utils/session.js +14 -4
- package/dist/cjs/utils/storybook/cjs/webpack.js +1 -4
- package/dist/cjs/utils/storybook/preview.js +1 -1
- package/dist/cjs/utils/testing/index.js +5 -7
- package/dist/cjs/utils/testing/render-with-redux.js +5 -7
- package/dist/cjs/utils/testing/render-with-router-redux.js +10 -9
- package/dist/cjs/utils/testing/render-with-router.js +5 -7
- package/dist/cjs/utils/testing/render-with-state-addons.js +7 -9
- package/dist/cjs/utils/web-storage.js +4 -1
- package/dist/cjs/utils/window.js +10 -2
- package/dist/cjs/view/app-root/hosted-app.js +13 -3
- package/dist/cjs/view/app-root/index.js +24 -19
- package/dist/cjs/view/app-root/stand-alone-app.js +17 -3
- package/dist/cjs/view/app-router.js +2 -5
- package/dist/cjs/view/breakpoint/use-breakpoint.js +9 -5
- package/dist/cjs/view/breakpoint/use-media-query-list.js +3 -1
- package/dist/cjs/view/error-boundary/default-error-template.js +14 -5
- package/dist/cjs/view/error-boundary/index.js +6 -2
- package/dist/cjs/view/error-toast/index.js +2 -5
- package/dist/cjs/view/fetch-host-app-data/index.js +4 -1
- package/dist/cjs/view/fields/autocomplete/index.js +9 -9
- package/dist/cjs/view/fields/check-box/index.js +3 -6
- package/dist/cjs/view/fields/combo-box/index.js +3 -6
- package/dist/cjs/view/fields/combo-box-v3/index.js +3 -6
- package/dist/cjs/view/fields/date-input/index.js +3 -6
- package/dist/cjs/view/fields/date-picker/index.js +7 -4
- package/dist/cjs/view/fields/date-range-picker/index.js +10 -9
- package/dist/cjs/view/fields/date-time-picker/index.js +3 -6
- package/dist/cjs/view/fields/form-item-layout/index.js +15 -16
- package/dist/cjs/view/fields/form-layout-block-item/index.js +16 -17
- package/dist/cjs/view/fields/input-mask/index.js +3 -6
- package/dist/cjs/view/fields/input-text/index.js +3 -6
- package/dist/cjs/view/fields/large-text-box/index.js +3 -6
- package/dist/cjs/view/fields/radio/index.js +3 -6
- package/dist/cjs/view/fields/radio-group/index.js +3 -6
- package/dist/cjs/view/fields/text-box/index.js +3 -6
- package/dist/cjs/view/fields/toggle/index.js +3 -6
- package/dist/cjs/view/fields/watch-value.js +25 -3
- package/dist/cjs/view/form/index.js +13 -8
- package/dist/cjs/view/form/personal-info-section.js +54 -47
- package/dist/cjs/view/form/submit-button/index.js +2 -5
- package/dist/cjs/view/live-message/index.js +2 -5
- package/dist/cjs/view/loadable/index.js +8 -10
- package/dist/cjs/view/login/index.js +4 -5
- package/dist/cjs/view/micro-app/app-factory/index.js +9 -3
- package/dist/cjs/view/micro-app/index.js +6 -3
- package/dist/cjs/view/micro-app/resources/manifest.js +10 -3
- package/dist/cjs/view/micro-app/resources/script.js +24 -15
- package/dist/cjs/view/micro-app/resources/style.js +20 -11
- package/dist/cjs/view/micro-app/use-app-will-render.js +37 -28
- package/dist/cjs/view/micro-iframe-app/app.js +24 -19
- package/dist/cjs/view/micro-iframe-app/iframe/index.js +22 -15
- package/dist/cjs/view/micro-iframe-app/index.js +2 -5
- package/dist/cjs/view/modals/error/index.js +21 -12
- package/dist/cjs/view/modals/navigation-prompt/index.js +46 -27
- package/dist/cjs/view/modals/session-expiry/customHooks.js +6 -2
- package/dist/cjs/view/modals/session-expiry/index.js +57 -35
- package/dist/cjs/view/modals/wait-message/index.js +26 -27
- package/dist/cjs/view/page.js +15 -3
- package/dist/cjs/view/render-with-delay/index.js +4 -5
- package/dist/cjs/view/render-with-host-data/index.js +2 -5
- package/dist/cjs/view/require-auth.js +22 -10
- package/dist/cjs/view/session-timeout/index.js +15 -14
- package/dist/cjs/view/storybook/decorator.js +5 -7
- package/dist/cjs/view/visually-hidden/index.js +11 -6
- package/dist/esm/api/auth/index.js +8 -2
- package/dist/esm/api/helpers.js +7 -1
- package/dist/esm/api/users/index.js +3 -1
- package/dist/esm/app.config.json +42 -25
- package/dist/esm/data/auth/reducer.js +10 -7
- package/dist/esm/data/index.js +6 -1
- package/dist/esm/data/store.js +6 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/sideeffect/error-toast/index.js +3 -1
- package/dist/esm/sideeffect/wait-message/index.js +6 -2
- package/dist/esm/utils/app-config/config.js +2 -1
- package/dist/esm/utils/app-config/index.js +8 -3
- package/dist/esm/utils/auth/index.js +3 -1
- package/dist/esm/utils/micro-frontend/guest.js +4 -6
- package/dist/esm/utils/micro-frontend/host.js +9 -3
- package/dist/esm/utils/micro-frontend/index.js +23 -9
- package/dist/esm/utils/micro-frontend/ssfguest-adapter.js +5 -1
- package/dist/esm/utils/redact-pii.js +8 -2
- package/dist/esm/utils/session.js +14 -4
- package/dist/esm/utils/storybook/preview.js +1 -1
- package/dist/esm/utils/testing/index.js +5 -4
- package/dist/esm/utils/testing/render-with-redux.js +5 -4
- package/dist/esm/utils/testing/render-with-router-redux.js +10 -6
- package/dist/esm/utils/testing/render-with-router.js +5 -4
- package/dist/esm/utils/testing/render-with-state-addons.js +7 -6
- package/dist/esm/utils/window.js +10 -2
- package/dist/esm/view/app-root/hosted-app.js +9 -2
- package/dist/esm/view/app-root/index.js +24 -16
- package/dist/esm/view/app-root/stand-alone-app.js +13 -2
- package/dist/esm/view/app-router.js +2 -2
- package/dist/esm/view/breakpoint/use-breakpoint.js +9 -5
- package/dist/esm/view/breakpoint/use-media-query-list.js +3 -1
- package/dist/esm/view/error-boundary/default-error-template.js +14 -2
- package/dist/esm/view/error-boundary/index.js +2 -1
- package/dist/esm/view/error-toast/index.js +2 -2
- package/dist/esm/view/fields/autocomplete/index.js +9 -6
- package/dist/esm/view/fields/check-box/index.js +3 -3
- package/dist/esm/view/fields/combo-box/index.js +3 -3
- package/dist/esm/view/fields/combo-box-v3/index.js +3 -3
- package/dist/esm/view/fields/date-input/index.js +3 -3
- package/dist/esm/view/fields/date-picker/index.js +3 -3
- package/dist/esm/view/fields/date-range-picker/index.js +10 -6
- package/dist/esm/view/fields/date-time-picker/index.js +3 -3
- package/dist/esm/view/fields/form-item-layout/index.js +15 -13
- package/dist/esm/view/fields/form-layout-block-item/index.js +16 -14
- package/dist/esm/view/fields/input-mask/index.js +3 -3
- package/dist/esm/view/fields/input-text/index.js +3 -3
- package/dist/esm/view/fields/large-text-box/index.js +3 -3
- package/dist/esm/view/fields/radio/index.js +3 -3
- package/dist/esm/view/fields/radio-group/index.js +3 -3
- package/dist/esm/view/fields/text-box/index.js +3 -3
- package/dist/esm/view/fields/toggle/index.js +3 -3
- package/dist/esm/view/fields/watch-value.js +21 -2
- package/dist/esm/view/form/index.js +9 -7
- package/dist/esm/view/form/personal-info-section.js +50 -46
- package/dist/esm/view/form/submit-button/index.js +2 -2
- package/dist/esm/view/live-message/index.js +2 -2
- package/dist/esm/view/loadable/index.js +8 -7
- package/dist/esm/view/login/index.js +4 -2
- package/dist/esm/view/micro-app/app-factory/index.js +9 -3
- package/dist/esm/view/micro-app/index.js +2 -2
- package/dist/esm/view/micro-app/resources/manifest.js +10 -3
- package/dist/esm/view/micro-app/resources/script.js +24 -15
- package/dist/esm/view/micro-app/resources/style.js +20 -11
- package/dist/esm/view/micro-app/use-app-will-render.js +37 -28
- package/dist/esm/view/micro-iframe-app/app.js +20 -18
- package/dist/esm/view/micro-iframe-app/iframe/index.js +18 -14
- package/dist/esm/view/micro-iframe-app/index.js +2 -2
- package/dist/esm/view/modals/error/index.js +21 -9
- package/dist/esm/view/modals/navigation-prompt/index.js +46 -24
- package/dist/esm/view/modals/session-expiry/customHooks.js +6 -2
- package/dist/esm/view/modals/session-expiry/index.js +57 -32
- package/dist/esm/view/modals/wait-message/index.js +26 -24
- package/dist/esm/view/page.js +11 -2
- package/dist/esm/view/render-with-delay/index.js +4 -2
- package/dist/esm/view/render-with-host-data/index.js +2 -2
- package/dist/esm/view/require-auth.js +19 -10
- package/dist/esm/view/session-timeout/index.js +15 -11
- package/dist/esm/view/storybook/decorator.js +5 -4
- package/dist/esm/view/visually-hidden/index.js +7 -5
- package/dist/types/lib/data/index.d.ts +1 -1
- package/dist/types/lib/index.d.ts +2 -2
- package/dist/types/lib/utils/app-config/config.d.ts +5 -7
- package/dist/types/lib/utils/app-config/index.d.ts +1 -1
- package/dist/types/lib/utils/micro-frontend/host.d.ts +1 -1
- package/dist/types/lib/utils/window.d.ts +3 -0
- package/dist/types/lib/view/error-boundary/default-error-template.d.ts +1 -1
- package/dist/types/lib/view/error-boundary/index.d.ts +2 -1
- package/dist/types/lib/view/fields/form-item-layout/index.d.ts +1 -1
- package/dist/types/lib/view/micro-app/resources/script.d.ts +1 -1
- package/dist/types/lib/view/micro-app/resources/style.d.ts +2 -2
- package/package.json +45 -42
|
@@ -26,17 +26,26 @@ __export(style_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(style_exports);
|
|
27
27
|
var import_url = require("../../../utils/url.js");
|
|
28
28
|
const APP_STYLE_ID_PREFIX = "emui-style-";
|
|
29
|
-
const addStylesToDOM = ({ name, hostUrl, documentEle }, fileName, index) =>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
const addStylesToDOM = ({ name, hostUrl, documentEle, manifestPath }, fileName, index) => {
|
|
30
|
+
if (!hostUrl || !manifestPath)
|
|
31
|
+
throw new Error(
|
|
32
|
+
"Unable to add styles to DOM. hostUrl and manifestPath are required."
|
|
33
|
+
);
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
const ele = documentEle.createElement("link");
|
|
36
|
+
if (!ele)
|
|
37
|
+
reject(new Error("Unable to insert Application styles."));
|
|
38
|
+
ele.id = `${APP_STYLE_ID_PREFIX}${name}-${index}`;
|
|
39
|
+
ele.rel = "stylesheet";
|
|
40
|
+
const url = new URL(
|
|
41
|
+
`${manifestPath.replace(/\/?$/, "/")}${fileName}`,
|
|
42
|
+
hostUrl
|
|
43
|
+
);
|
|
44
|
+
ele.href = (0, import_url.removeDoubleSlash)(url.href);
|
|
45
|
+
ele.onload = resolve.bind(null, ele.id);
|
|
46
|
+
documentEle.head.appendChild(ele);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
40
49
|
const removeStyleFromDOM = (elementId = "", documentEle = document) => new Promise((resolve) => {
|
|
41
50
|
const ele = documentEle.getElementById(elementId);
|
|
42
51
|
if (!ele)
|
|
@@ -38,34 +38,43 @@ const useAppWillRender = ({
|
|
|
38
38
|
}) => {
|
|
39
39
|
const dispatch = import_react_redux.useDispatch ? (0, import_react_redux.useDispatch)() : null;
|
|
40
40
|
const ref = (0, import_react.useRef)(Promise.resolve());
|
|
41
|
-
const getConfig = (0, import_react.useCallback)(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
41
|
+
const getConfig = (0, import_react.useCallback)(
|
|
42
|
+
() => (0, import_micro_frontend.getMicroFrontEndAppConfig)({
|
|
43
|
+
id
|
|
44
|
+
}),
|
|
45
|
+
[id]
|
|
46
|
+
);
|
|
47
|
+
const unload = (0, import_react.useCallback)(
|
|
48
|
+
async (appConfig, loadFailed = false) => {
|
|
49
|
+
await (0, import_app_factory.unmountApp)(appConfig);
|
|
50
|
+
(0, import_app_factory.unloadApp)(appConfig);
|
|
51
|
+
if (!loadFailed && onUnloadComplete)
|
|
52
|
+
onUnloadComplete();
|
|
53
|
+
},
|
|
54
|
+
[]
|
|
55
|
+
);
|
|
56
|
+
const load = (0, import_react.useCallback)(
|
|
57
|
+
async (appConfig) => {
|
|
58
|
+
if (dispatch)
|
|
59
|
+
dispatch(import_actions.waitMessage.open());
|
|
60
|
+
try {
|
|
61
|
+
if (ref.current)
|
|
62
|
+
await ref.current;
|
|
63
|
+
await (0, import_app_factory.loadApp)(appConfig);
|
|
64
|
+
await (0, import_app_factory.mountApp)(appConfig);
|
|
65
|
+
} catch (ex) {
|
|
66
|
+
(0, import_micro_frontend.getLogger)().error({
|
|
67
|
+
...import_log_records.logRecords.APP_CONFIG_LOAD_FAILED,
|
|
68
|
+
exception: ex
|
|
69
|
+
});
|
|
70
|
+
await unload(appConfig, true);
|
|
71
|
+
throw ex;
|
|
72
|
+
}
|
|
73
|
+
if (dispatch)
|
|
74
|
+
dispatch(import_actions.waitMessage.close());
|
|
75
|
+
},
|
|
76
|
+
[dispatch, unload]
|
|
77
|
+
);
|
|
69
78
|
(0, import_react.useLayoutEffect)(() => {
|
|
70
79
|
if (!documentEle)
|
|
71
80
|
return () => {
|
|
@@ -17,32 +17,37 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var app_exports = {};
|
|
23
26
|
__export(app_exports, {
|
|
24
27
|
App: () => App
|
|
25
28
|
});
|
|
26
29
|
module.exports = __toCommonJS(app_exports);
|
|
27
|
-
var
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
31
|
var import_react = require("react");
|
|
29
|
-
var import_iframe = __toESM(require("
|
|
32
|
+
var import_iframe = __toESM(require("./iframe/index.html?resource"));
|
|
30
33
|
var import_iframe2 = require("./iframe/index.js");
|
|
31
34
|
var import_use_frame_loaded = require("./use-frame-loaded.js");
|
|
32
35
|
var import_use_app_will_render = require("../micro-app/use-app-will-render.js");
|
|
33
|
-
const App = (0, import_react.memo)(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
});
|
|
36
|
+
const App = (0, import_react.memo)(
|
|
37
|
+
({ id, dispose, onUnloadComplete, ...rest }) => {
|
|
38
|
+
const [documentEle, setDocumentEle] = (0, import_react.useState)(null);
|
|
39
|
+
(0, import_use_frame_loaded.useFrameLoaded)({ id, documentEle, ...rest });
|
|
40
|
+
(0, import_use_app_will_render.useAppWillRender)({
|
|
41
|
+
id,
|
|
42
|
+
documentEle: dispose ? null : documentEle,
|
|
43
|
+
onUnloadComplete,
|
|
44
|
+
...rest
|
|
45
|
+
});
|
|
46
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iframe2.IFrame, {
|
|
47
|
+
id,
|
|
48
|
+
src: import_iframe.default,
|
|
49
|
+
...rest,
|
|
50
|
+
onFrameReady: setDocumentEle
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
);
|
|
@@ -17,14 +17,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
21
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
25
|
var iframe_exports = {};
|
|
23
26
|
__export(iframe_exports, {
|
|
24
27
|
IFrame: () => IFrame
|
|
25
28
|
});
|
|
26
29
|
module.exports = __toCommonJS(iframe_exports);
|
|
27
|
-
var
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
31
|
var import_react = require("react");
|
|
29
32
|
var import_styled_components = __toESM(require("styled-components"));
|
|
30
33
|
var import_const = require("./const.js");
|
|
@@ -43,16 +46,20 @@ const Iframe = import_styled_components.default.iframe`
|
|
|
43
46
|
display: block;
|
|
44
47
|
height: 100%;
|
|
45
48
|
`;
|
|
46
|
-
const IFrame = (0, import_react.memo)(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
const IFrame = (0, import_react.memo)(
|
|
50
|
+
({ id, name: title, src, sandbox, onFrameReady }) => {
|
|
51
|
+
const frameRef = (0, import_react.useRef)(null);
|
|
52
|
+
const sandboxProps = sandbox ? { sandbox } : {};
|
|
53
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Div, {
|
|
54
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Iframe, {
|
|
55
|
+
id: `${import_const.IFRAME_CONTAINER_ID_PREFIX}${id}`,
|
|
56
|
+
ref: frameRef,
|
|
57
|
+
title,
|
|
58
|
+
src,
|
|
59
|
+
scrolling: "no",
|
|
60
|
+
...sandboxProps,
|
|
61
|
+
onLoad: () => frameRef?.current?.contentDocument && onFrameReady(frameRef.current.contentDocument)
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
);
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
19
|
var micro_iframe_app_exports = {};
|
|
23
20
|
__export(micro_iframe_app_exports, {
|
|
24
21
|
MicroIFrameApp: () => MicroIFrameApp
|
|
25
22
|
});
|
|
26
23
|
module.exports = __toCommonJS(micro_iframe_app_exports);
|
|
27
|
-
var
|
|
24
|
+
var import_react = require("react");
|
|
28
25
|
var import_react = require("react");
|
|
29
26
|
var import_use_previous = require("../use-previous.js");
|
|
30
27
|
var import_app = require("./app.js");
|
|
@@ -37,7 +34,7 @@ const MicroIFrameApp = (0, import_react.memo)(({ entityId = null, ...rest }) =>
|
|
|
37
34
|
setDisposePrevApp(true);
|
|
38
35
|
}
|
|
39
36
|
}, [entityId]);
|
|
40
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ (0, import_react.createElement)(import_app.App, {
|
|
41
38
|
...rest,
|
|
42
39
|
key: appKey,
|
|
43
40
|
dispose: disposePrevApp,
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
19
|
var error_exports = {};
|
|
23
20
|
__export(error_exports, {
|
|
24
21
|
Error: () => Error2
|
|
25
22
|
});
|
|
26
23
|
module.exports = __toCommonJS(error_exports);
|
|
27
|
-
var
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
25
|
var import_react = require("react");
|
|
29
26
|
var import_ds_dialog = require("@elliemae/ds-dialog");
|
|
30
27
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
@@ -37,14 +34,26 @@ const Error2 = ({
|
|
|
37
34
|
const handleClick = (0, import_react.useCallback)(() => {
|
|
38
35
|
setOpen((prev) => !prev);
|
|
39
36
|
}, []);
|
|
40
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialog, {
|
|
41
38
|
isOpen,
|
|
42
39
|
onClickOutside: handleClick,
|
|
43
|
-
size: "small"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
size: "small",
|
|
41
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogBody, {
|
|
42
|
+
p: "s",
|
|
43
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_dialog.DSDialogDefaultLayout, {
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ErrorHexegon, {
|
|
46
|
+
size: "xxl",
|
|
47
|
+
color: ["danger", "900"]
|
|
48
|
+
}),
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogPrimaryMessage, {
|
|
50
|
+
children: primaryMessage
|
|
51
|
+
}),
|
|
52
|
+
secondaryMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogSecondaryMessage, {
|
|
53
|
+
children: secondaryMessage
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
});
|
|
50
59
|
};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,40 +15,61 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
19
|
var navigation_prompt_exports = {};
|
|
23
20
|
__export(navigation_prompt_exports, {
|
|
24
21
|
NavigationPrompt: () => NavigationPrompt
|
|
25
22
|
});
|
|
26
23
|
module.exports = __toCommonJS(navigation_prompt_exports);
|
|
27
|
-
var
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
25
|
var import_react = require("react");
|
|
29
26
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
30
27
|
var import_ds_button = require("@elliemae/ds-button");
|
|
31
28
|
var import_ds_dialog = require("@elliemae/ds-dialog");
|
|
32
29
|
var import_react_redux = require("../../../data/react-redux.js");
|
|
33
30
|
var import_actions = require("../../../data/navigation-prompt/actions.js");
|
|
34
|
-
const NavigationPrompt = (0, import_react.memo)(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
31
|
+
const NavigationPrompt = (0, import_react.memo)(
|
|
32
|
+
({ open = false }) => {
|
|
33
|
+
const dispatch = (0, import_react_redux.useAppDispatch)();
|
|
34
|
+
const cancelDialog = () => dispatch(import_actions.navigationPrompt.cancel());
|
|
35
|
+
const confirmDialog = () => dispatch(import_actions.navigationPrompt.confirm());
|
|
36
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_dialog.DSDialog, {
|
|
37
|
+
isOpen: open,
|
|
38
|
+
onClickOutside: cancelDialog,
|
|
39
|
+
centered: true,
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogHeader, {
|
|
42
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogAddon, {
|
|
43
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.DSButtonV2, {
|
|
44
|
+
buttonType: "icon",
|
|
45
|
+
onClick: cancelDialog,
|
|
46
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.Close, {
|
|
47
|
+
color: ["neutral", "900"]
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
}),
|
|
52
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogSeparator, {}),
|
|
53
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogBody, {
|
|
54
|
+
px: 24,
|
|
55
|
+
mb: 16,
|
|
56
|
+
children: "You currently have unsaved changes. Are you sure you want to proceed without saving?"
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogSeparator, {}),
|
|
59
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_dialog.DSDialogFooter, {
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.DSButtonV2, {
|
|
62
|
+
buttonType: "outline",
|
|
63
|
+
onClick: cancelDialog,
|
|
64
|
+
children: "Continue without saving"
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.DSButtonV2, {
|
|
67
|
+
onClick: confirmDialog,
|
|
68
|
+
children: "Save & Continue"
|
|
69
|
+
})
|
|
70
|
+
]
|
|
71
|
+
})
|
|
72
|
+
]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
);
|
|
@@ -29,8 +29,12 @@ const useTrackSessionExpiry = (warningNotifiedAt) => {
|
|
|
29
29
|
const [timeData, setTimeData] = (0, import_react.useState)();
|
|
30
30
|
(0, import_react.useEffect)(() => {
|
|
31
31
|
const timeLeftForExpiryAfterWarning = () => {
|
|
32
|
-
const userWarnInterval = (0, import_config.getAppConfigValue)(
|
|
33
|
-
|
|
32
|
+
const userWarnInterval = (0, import_config.getAppConfigValue)(
|
|
33
|
+
"sessionTimeoutWarnInterval"
|
|
34
|
+
);
|
|
35
|
+
const userTimeoutInterval = (0, import_config.getAppConfigValue)(
|
|
36
|
+
"sessionTimeoutInterval"
|
|
37
|
+
);
|
|
34
38
|
const warnInterval = userWarnInterval ? parseFloat(userWarnInterval) : import_constants.SESSION_TIMEOUT_INTERVAL.WARN;
|
|
35
39
|
const sessionTimeout = userTimeoutInterval ? parseFloat(userTimeoutInterval) : import_constants.SESSION_TIMEOUT_INTERVAL.EXPIRY;
|
|
36
40
|
const diffTime = sessionTimeout - warnInterval;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
19
|
var session_expiry_exports = {};
|
|
23
20
|
__export(session_expiry_exports, {
|
|
24
21
|
SessionExpiry: () => SessionExpiry
|
|
25
22
|
});
|
|
26
23
|
module.exports = __toCommonJS(session_expiry_exports);
|
|
27
|
-
var
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
25
|
var import_react = require("react");
|
|
29
26
|
var import_ds_button = require("@elliemae/ds-button");
|
|
30
27
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
@@ -33,34 +30,59 @@ var import_react_redux = require("../../../data/react-redux.js");
|
|
|
33
30
|
var import_actions = require("../../../data/logout/actions.js");
|
|
34
31
|
var import_session = require("../../../utils/session.js");
|
|
35
32
|
var import_customHooks = require("./customHooks.js");
|
|
36
|
-
const SessionExpiry = (0, import_react.memo)(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
33
|
+
const SessionExpiry = (0, import_react.memo)(
|
|
34
|
+
({ open, warningNotifiedAt = 0 }) => {
|
|
35
|
+
const [isOpen, setIsOpen] = (0, import_react.useState)(open);
|
|
36
|
+
const timeLeft = (0, import_customHooks.useTrackSessionExpiry)(warningNotifiedAt);
|
|
37
|
+
const dispatch = (0, import_react_redux.useAppDispatch)();
|
|
38
|
+
(0, import_react.useEffect)(() => {
|
|
39
|
+
setIsOpen(open);
|
|
40
|
+
}, [open]);
|
|
41
|
+
const resetSession = () => {
|
|
42
|
+
setIsOpen(false);
|
|
43
|
+
(0, import_session.resetUserIdleTime)(true);
|
|
44
|
+
dispatch(import_actions.logout.cancel());
|
|
45
|
+
};
|
|
46
|
+
const logoutSession = () => {
|
|
47
|
+
setIsOpen(false);
|
|
48
|
+
dispatch(import_actions.logout.confirm());
|
|
49
|
+
};
|
|
50
|
+
return timeLeft ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_dialog.DSDialog, {
|
|
51
|
+
isOpen,
|
|
52
|
+
size: "small",
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogBody, {
|
|
55
|
+
p: "s",
|
|
56
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_dialog.DSDialogDefaultLayout, {
|
|
57
|
+
children: [
|
|
58
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.WarningCircle, {
|
|
59
|
+
size: "xl",
|
|
60
|
+
color: ["warning", "900"]
|
|
61
|
+
}),
|
|
62
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogPrimaryMessage, {
|
|
63
|
+
children: `Your session will expire in ${timeLeft}`
|
|
64
|
+
}),
|
|
65
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogSecondaryMessage, {
|
|
66
|
+
children: "Please logout or reset your session"
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
})
|
|
70
|
+
}),
|
|
71
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialogSeparator, {}),
|
|
72
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_dialog.DSDialogFooter, {
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.DSButtonV2, {
|
|
75
|
+
buttonType: "outline",
|
|
76
|
+
onClick: logoutSession,
|
|
77
|
+
children: "Logout"
|
|
78
|
+
}),
|
|
79
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.DSButtonV2, {
|
|
80
|
+
onClick: resetSession,
|
|
81
|
+
children: "Reset"
|
|
82
|
+
})
|
|
83
|
+
]
|
|
84
|
+
})
|
|
85
|
+
]
|
|
86
|
+
}) : null;
|
|
87
|
+
}
|
|
88
|
+
);
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,39 +15,40 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
19
|
var wait_message_exports = {};
|
|
23
20
|
__export(wait_message_exports, {
|
|
24
21
|
WaitMessage: () => WaitMessage
|
|
25
22
|
});
|
|
26
23
|
module.exports = __toCommonJS(wait_message_exports);
|
|
27
|
-
var
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
25
|
var import_react = require("react");
|
|
29
26
|
var import_ds_loading_indicator = require("@elliemae/ds-loading-indicator");
|
|
30
27
|
var import_react_redux = require("../../../data/react-redux.js");
|
|
31
28
|
var import_use_html_wait_message = require("./use-html-wait-message.js");
|
|
32
29
|
var import_user_wait_event = require("../../../analytics/user-wait-event.js");
|
|
33
|
-
const WaitMessage = (0, import_react.memo)(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
30
|
+
const WaitMessage = (0, import_react.memo)(
|
|
31
|
+
({
|
|
32
|
+
size = "m",
|
|
33
|
+
style = { color: "white", fontSize: "1.25rem" },
|
|
34
|
+
...rest
|
|
35
|
+
}) => {
|
|
36
|
+
const isOpen = (0, import_react_redux.useAppSelector)((state) => state.waitMessage?.isOpen);
|
|
37
|
+
const message = (0, import_react_redux.useAppSelector)((state) => state.waitMessage?.message);
|
|
38
|
+
(0, import_react.useEffect)(() => {
|
|
39
|
+
if (isOpen)
|
|
40
|
+
(0, import_user_wait_event.waitStartEvent)();
|
|
41
|
+
else
|
|
42
|
+
(0, import_user_wait_event.waitEndEvent)();
|
|
43
|
+
}, [isOpen]);
|
|
44
|
+
(0, import_use_html_wait_message.useHTMLWaitMessage)(isOpen !== null);
|
|
45
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_loading_indicator.DSLoadingIndicator, {
|
|
46
|
+
id: "em-loading",
|
|
47
|
+
size,
|
|
48
|
+
style,
|
|
49
|
+
...rest,
|
|
50
|
+
loading: isOpen,
|
|
51
|
+
message
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
);
|