@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.
Files changed (182) hide show
  1. package/dist/cjs/analytics/appdynamics.js +4 -1
  2. package/dist/cjs/api/auth/index.js +8 -2
  3. package/dist/cjs/api/helpers.js +7 -1
  4. package/dist/cjs/api/users/index.js +3 -1
  5. package/dist/cjs/app.config.json +42 -25
  6. package/dist/cjs/communication/http-client/index.js +4 -1
  7. package/dist/cjs/communication/http-client/response-interceptor.js +4 -1
  8. package/dist/cjs/communication/http-client/retry-axios.js +4 -1
  9. package/dist/cjs/data/auth/reducer.js +14 -8
  10. package/dist/cjs/data/breakpoint/index.js +4 -1
  11. package/dist/cjs/data/index.js +1 -0
  12. package/dist/cjs/data/store.js +10 -2
  13. package/dist/cjs/data/wait-message/reducer.js +4 -1
  14. package/dist/cjs/index.js +5 -1
  15. package/dist/cjs/sideeffect/error-toast/index.js +3 -1
  16. package/dist/cjs/sideeffect/wait-message/index.js +6 -2
  17. package/dist/cjs/utils/app-config/config.js +6 -2
  18. package/dist/cjs/utils/app-config/index.js +12 -4
  19. package/dist/cjs/utils/auth/helper.js +4 -1
  20. package/dist/cjs/utils/auth/index.js +3 -1
  21. package/dist/cjs/utils/micro-frontend/guest.js +8 -7
  22. package/dist/cjs/utils/micro-frontend/host.js +9 -3
  23. package/dist/cjs/utils/micro-frontend/index.js +27 -10
  24. package/dist/cjs/utils/micro-frontend/ssfguest-adapter.js +9 -2
  25. package/dist/cjs/utils/redact-pii.js +8 -2
  26. package/dist/cjs/utils/session.js +14 -4
  27. package/dist/cjs/utils/storybook/cjs/webpack.js +1 -4
  28. package/dist/cjs/utils/storybook/preview.js +1 -1
  29. package/dist/cjs/utils/testing/index.js +5 -7
  30. package/dist/cjs/utils/testing/render-with-redux.js +5 -7
  31. package/dist/cjs/utils/testing/render-with-router-redux.js +10 -9
  32. package/dist/cjs/utils/testing/render-with-router.js +5 -7
  33. package/dist/cjs/utils/testing/render-with-state-addons.js +7 -9
  34. package/dist/cjs/utils/web-storage.js +4 -1
  35. package/dist/cjs/utils/window.js +10 -2
  36. package/dist/cjs/view/app-root/hosted-app.js +13 -3
  37. package/dist/cjs/view/app-root/index.js +24 -19
  38. package/dist/cjs/view/app-root/stand-alone-app.js +17 -3
  39. package/dist/cjs/view/app-router.js +2 -5
  40. package/dist/cjs/view/breakpoint/use-breakpoint.js +9 -5
  41. package/dist/cjs/view/breakpoint/use-media-query-list.js +3 -1
  42. package/dist/cjs/view/error-boundary/default-error-template.js +14 -5
  43. package/dist/cjs/view/error-boundary/index.js +6 -2
  44. package/dist/cjs/view/error-toast/index.js +2 -5
  45. package/dist/cjs/view/fetch-host-app-data/index.js +4 -1
  46. package/dist/cjs/view/fields/autocomplete/index.js +9 -9
  47. package/dist/cjs/view/fields/check-box/index.js +3 -6
  48. package/dist/cjs/view/fields/combo-box/index.js +3 -6
  49. package/dist/cjs/view/fields/combo-box-v3/index.js +3 -6
  50. package/dist/cjs/view/fields/date-input/index.js +3 -6
  51. package/dist/cjs/view/fields/date-picker/index.js +7 -4
  52. package/dist/cjs/view/fields/date-range-picker/index.js +10 -9
  53. package/dist/cjs/view/fields/date-time-picker/index.js +3 -6
  54. package/dist/cjs/view/fields/form-item-layout/index.js +15 -16
  55. package/dist/cjs/view/fields/form-layout-block-item/index.js +16 -17
  56. package/dist/cjs/view/fields/input-mask/index.js +3 -6
  57. package/dist/cjs/view/fields/input-text/index.js +3 -6
  58. package/dist/cjs/view/fields/large-text-box/index.js +3 -6
  59. package/dist/cjs/view/fields/radio/index.js +3 -6
  60. package/dist/cjs/view/fields/radio-group/index.js +3 -6
  61. package/dist/cjs/view/fields/text-box/index.js +3 -6
  62. package/dist/cjs/view/fields/toggle/index.js +3 -6
  63. package/dist/cjs/view/fields/watch-value.js +25 -3
  64. package/dist/cjs/view/form/index.js +13 -8
  65. package/dist/cjs/view/form/personal-info-section.js +54 -47
  66. package/dist/cjs/view/form/submit-button/index.js +2 -5
  67. package/dist/cjs/view/live-message/index.js +2 -5
  68. package/dist/cjs/view/loadable/index.js +8 -10
  69. package/dist/cjs/view/login/index.js +4 -5
  70. package/dist/cjs/view/micro-app/app-factory/index.js +9 -3
  71. package/dist/cjs/view/micro-app/index.js +6 -3
  72. package/dist/cjs/view/micro-app/resources/manifest.js +10 -3
  73. package/dist/cjs/view/micro-app/resources/script.js +24 -15
  74. package/dist/cjs/view/micro-app/resources/style.js +20 -11
  75. package/dist/cjs/view/micro-app/use-app-will-render.js +37 -28
  76. package/dist/cjs/view/micro-iframe-app/app.js +24 -19
  77. package/dist/cjs/view/micro-iframe-app/iframe/index.js +22 -15
  78. package/dist/cjs/view/micro-iframe-app/index.js +2 -5
  79. package/dist/cjs/view/modals/error/index.js +21 -12
  80. package/dist/cjs/view/modals/navigation-prompt/index.js +46 -27
  81. package/dist/cjs/view/modals/session-expiry/customHooks.js +6 -2
  82. package/dist/cjs/view/modals/session-expiry/index.js +57 -35
  83. package/dist/cjs/view/modals/wait-message/index.js +26 -27
  84. package/dist/cjs/view/page.js +15 -3
  85. package/dist/cjs/view/render-with-delay/index.js +4 -5
  86. package/dist/cjs/view/render-with-host-data/index.js +2 -5
  87. package/dist/cjs/view/require-auth.js +22 -10
  88. package/dist/cjs/view/session-timeout/index.js +15 -14
  89. package/dist/cjs/view/storybook/decorator.js +5 -7
  90. package/dist/cjs/view/visually-hidden/index.js +11 -6
  91. package/dist/esm/api/auth/index.js +8 -2
  92. package/dist/esm/api/helpers.js +7 -1
  93. package/dist/esm/api/users/index.js +3 -1
  94. package/dist/esm/app.config.json +42 -25
  95. package/dist/esm/data/auth/reducer.js +10 -7
  96. package/dist/esm/data/index.js +6 -1
  97. package/dist/esm/data/store.js +6 -1
  98. package/dist/esm/index.js +6 -1
  99. package/dist/esm/sideeffect/error-toast/index.js +3 -1
  100. package/dist/esm/sideeffect/wait-message/index.js +6 -2
  101. package/dist/esm/utils/app-config/config.js +2 -1
  102. package/dist/esm/utils/app-config/index.js +8 -3
  103. package/dist/esm/utils/auth/index.js +3 -1
  104. package/dist/esm/utils/micro-frontend/guest.js +4 -6
  105. package/dist/esm/utils/micro-frontend/host.js +9 -3
  106. package/dist/esm/utils/micro-frontend/index.js +23 -9
  107. package/dist/esm/utils/micro-frontend/ssfguest-adapter.js +5 -1
  108. package/dist/esm/utils/redact-pii.js +8 -2
  109. package/dist/esm/utils/session.js +14 -4
  110. package/dist/esm/utils/storybook/preview.js +1 -1
  111. package/dist/esm/utils/testing/index.js +5 -4
  112. package/dist/esm/utils/testing/render-with-redux.js +5 -4
  113. package/dist/esm/utils/testing/render-with-router-redux.js +10 -6
  114. package/dist/esm/utils/testing/render-with-router.js +5 -4
  115. package/dist/esm/utils/testing/render-with-state-addons.js +7 -6
  116. package/dist/esm/utils/window.js +10 -2
  117. package/dist/esm/view/app-root/hosted-app.js +9 -2
  118. package/dist/esm/view/app-root/index.js +24 -16
  119. package/dist/esm/view/app-root/stand-alone-app.js +13 -2
  120. package/dist/esm/view/app-router.js +2 -2
  121. package/dist/esm/view/breakpoint/use-breakpoint.js +9 -5
  122. package/dist/esm/view/breakpoint/use-media-query-list.js +3 -1
  123. package/dist/esm/view/error-boundary/default-error-template.js +14 -2
  124. package/dist/esm/view/error-boundary/index.js +2 -1
  125. package/dist/esm/view/error-toast/index.js +2 -2
  126. package/dist/esm/view/fields/autocomplete/index.js +9 -6
  127. package/dist/esm/view/fields/check-box/index.js +3 -3
  128. package/dist/esm/view/fields/combo-box/index.js +3 -3
  129. package/dist/esm/view/fields/combo-box-v3/index.js +3 -3
  130. package/dist/esm/view/fields/date-input/index.js +3 -3
  131. package/dist/esm/view/fields/date-picker/index.js +3 -3
  132. package/dist/esm/view/fields/date-range-picker/index.js +10 -6
  133. package/dist/esm/view/fields/date-time-picker/index.js +3 -3
  134. package/dist/esm/view/fields/form-item-layout/index.js +15 -13
  135. package/dist/esm/view/fields/form-layout-block-item/index.js +16 -14
  136. package/dist/esm/view/fields/input-mask/index.js +3 -3
  137. package/dist/esm/view/fields/input-text/index.js +3 -3
  138. package/dist/esm/view/fields/large-text-box/index.js +3 -3
  139. package/dist/esm/view/fields/radio/index.js +3 -3
  140. package/dist/esm/view/fields/radio-group/index.js +3 -3
  141. package/dist/esm/view/fields/text-box/index.js +3 -3
  142. package/dist/esm/view/fields/toggle/index.js +3 -3
  143. package/dist/esm/view/fields/watch-value.js +21 -2
  144. package/dist/esm/view/form/index.js +9 -7
  145. package/dist/esm/view/form/personal-info-section.js +50 -46
  146. package/dist/esm/view/form/submit-button/index.js +2 -2
  147. package/dist/esm/view/live-message/index.js +2 -2
  148. package/dist/esm/view/loadable/index.js +8 -7
  149. package/dist/esm/view/login/index.js +4 -2
  150. package/dist/esm/view/micro-app/app-factory/index.js +9 -3
  151. package/dist/esm/view/micro-app/index.js +2 -2
  152. package/dist/esm/view/micro-app/resources/manifest.js +10 -3
  153. package/dist/esm/view/micro-app/resources/script.js +24 -15
  154. package/dist/esm/view/micro-app/resources/style.js +20 -11
  155. package/dist/esm/view/micro-app/use-app-will-render.js +37 -28
  156. package/dist/esm/view/micro-iframe-app/app.js +20 -18
  157. package/dist/esm/view/micro-iframe-app/iframe/index.js +18 -14
  158. package/dist/esm/view/micro-iframe-app/index.js +2 -2
  159. package/dist/esm/view/modals/error/index.js +21 -9
  160. package/dist/esm/view/modals/navigation-prompt/index.js +46 -24
  161. package/dist/esm/view/modals/session-expiry/customHooks.js +6 -2
  162. package/dist/esm/view/modals/session-expiry/index.js +57 -32
  163. package/dist/esm/view/modals/wait-message/index.js +26 -24
  164. package/dist/esm/view/page.js +11 -2
  165. package/dist/esm/view/render-with-delay/index.js +4 -2
  166. package/dist/esm/view/render-with-host-data/index.js +2 -2
  167. package/dist/esm/view/require-auth.js +19 -10
  168. package/dist/esm/view/session-timeout/index.js +15 -11
  169. package/dist/esm/view/storybook/decorator.js +5 -4
  170. package/dist/esm/view/visually-hidden/index.js +7 -5
  171. package/dist/types/lib/data/index.d.ts +1 -1
  172. package/dist/types/lib/index.d.ts +2 -2
  173. package/dist/types/lib/utils/app-config/config.d.ts +5 -7
  174. package/dist/types/lib/utils/app-config/index.d.ts +1 -1
  175. package/dist/types/lib/utils/micro-frontend/host.d.ts +1 -1
  176. package/dist/types/lib/utils/window.d.ts +3 -0
  177. package/dist/types/lib/view/error-boundary/default-error-template.d.ts +1 -1
  178. package/dist/types/lib/view/error-boundary/index.d.ts +2 -1
  179. package/dist/types/lib/view/fields/form-item-layout/index.d.ts +1 -1
  180. package/dist/types/lib/view/micro-app/resources/script.d.ts +1 -1
  181. package/dist/types/lib/view/micro-app/resources/style.d.ts +2 -2
  182. 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) => new Promise((resolve, reject) => {
30
- const ele = documentEle.createElement("link");
31
- if (!ele)
32
- reject(new Error("Unable to insert Application styles."));
33
- ele.id = `${APP_STYLE_ID_PREFIX}${name}-${index}`;
34
- ele.rel = "stylesheet";
35
- const url = new URL(fileName, hostUrl);
36
- ele.href = (0, import_url.removeDoubleSlash)(url.href);
37
- ele.onload = resolve.bind(null, ele.id);
38
- documentEle.head.appendChild(ele);
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)(() => (0, import_micro_frontend.getMicroFrontEndAppConfig)({
42
- id
43
- }), [id]);
44
- const unload = (0, import_react.useCallback)(async (appConfig, loadFailed = false) => {
45
- await (0, import_app_factory.unmountApp)(appConfig);
46
- (0, import_app_factory.unloadApp)(appConfig);
47
- if (!loadFailed && onUnloadComplete)
48
- onUnloadComplete();
49
- }, []);
50
- const load = (0, import_react.useCallback)(async (appConfig) => {
51
- if (dispatch)
52
- dispatch(import_actions.waitMessage.open());
53
- try {
54
- if (ref.current)
55
- await ref.current;
56
- await (0, import_app_factory.loadApp)(appConfig);
57
- await (0, import_app_factory.mountApp)(appConfig);
58
- } catch (ex) {
59
- (0, import_micro_frontend.getLogger)().error({
60
- ...import_log_records.logRecords.APP_CONFIG_LOAD_FAILED,
61
- exception: ex
62
- });
63
- await unload(appConfig, true);
64
- throw ex;
65
- }
66
- if (dispatch)
67
- dispatch(import_actions.waitMessage.close());
68
- }, [dispatch, unload]);
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(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
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 React = __toESM(require("react"));
30
+ var import_jsx_runtime = require("react/jsx-runtime");
28
31
  var import_react = require("react");
29
- var import_iframe = __toESM(require("file-loader?name=iframe.[contenthash].[ext]!./iframe/index.html"));
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)(({ id, dispose, onUnloadComplete, ...rest }) => {
34
- const [documentEle, setDocumentEle] = (0, import_react.useState)(null);
35
- (0, import_use_frame_loaded.useFrameLoaded)({ id, documentEle, ...rest });
36
- (0, import_use_app_will_render.useAppWillRender)({
37
- id,
38
- documentEle: dispose ? null : documentEle,
39
- onUnloadComplete,
40
- ...rest
41
- });
42
- return /* @__PURE__ */ React.createElement(import_iframe2.IFrame, {
43
- id,
44
- src: import_iframe.default,
45
- ...rest,
46
- onFrameReady: setDocumentEle
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(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
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 React = __toESM(require("react"));
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)(({ id, name: title, src, sandbox, onFrameReady }) => {
47
- const frameRef = (0, import_react.useRef)(null);
48
- const sandboxProps = sandbox ? { sandbox } : {};
49
- return /* @__PURE__ */ React.createElement(Div, null, /* @__PURE__ */ React.createElement(Iframe, {
50
- id: `${import_const.IFRAME_CONTAINER_ID_PREFIX}${id}`,
51
- ref: frameRef,
52
- title,
53
- src,
54
- scrolling: "no",
55
- ...sandboxProps,
56
- onLoad: () => frameRef?.current?.contentDocument && onFrameReady(frameRef.current.contentDocument)
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 React = __toESM(require("react"));
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__ */ React.createElement(import_app.App, {
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 React = __toESM(require("react"));
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__ */ React.createElement(import_ds_dialog.DSDialog, {
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dialog.DSDialog, {
41
38
  isOpen,
42
39
  onClickOutside: handleClick,
43
- size: "small"
44
- }, /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogBody, {
45
- p: "s"
46
- }, /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogDefaultLayout, null, /* @__PURE__ */ React.createElement(import_ds_icons.ErrorHexegon, {
47
- size: "xxl",
48
- color: ["danger", "900"]
49
- }), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogPrimaryMessage, null, primaryMessage), secondaryMessage && /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogSecondaryMessage, null, secondaryMessage))));
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 React = __toESM(require("react"));
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)(({ open = false }) => {
35
- const dispatch = (0, import_react_redux.useAppDispatch)();
36
- const cancelDialog = () => dispatch(import_actions.navigationPrompt.cancel());
37
- const confirmDialog = () => dispatch(import_actions.navigationPrompt.confirm());
38
- return /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialog, {
39
- isOpen: open,
40
- onClickOutside: cancelDialog,
41
- centered: true
42
- }, /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogHeader, null, /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogAddon, null, /* @__PURE__ */ React.createElement(import_ds_button.DSButtonV2, {
43
- buttonType: "icon",
44
- onClick: cancelDialog
45
- }, /* @__PURE__ */ React.createElement(import_ds_icons.Close, {
46
- color: ["neutral", "900"]
47
- })))), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogSeparator, null), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogBody, {
48
- px: 24,
49
- mb: 16
50
- }, "You currently have unsaved changes. Are you sure you want to proceed without saving?"), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogSeparator, null), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogFooter, null, /* @__PURE__ */ React.createElement(import_ds_button.DSButtonV2, {
51
- buttonType: "outline",
52
- onClick: cancelDialog
53
- }, "Continue without saving"), /* @__PURE__ */ React.createElement(import_ds_button.DSButtonV2, {
54
- onClick: confirmDialog
55
- }, "Save & Continue")));
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)("sessionTimeoutWarnInterval");
33
- const userTimeoutInterval = (0, import_config.getAppConfigValue)("sessionTimeoutInterval");
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 React = __toESM(require("react"));
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)(({ open, warningNotifiedAt = 0 }) => {
37
- const [isOpen, setIsOpen] = (0, import_react.useState)(open);
38
- const timeLeft = (0, import_customHooks.useTrackSessionExpiry)(warningNotifiedAt);
39
- const dispatch = (0, import_react_redux.useAppDispatch)();
40
- (0, import_react.useEffect)(() => {
41
- setIsOpen(open);
42
- }, [open]);
43
- const resetSession = () => {
44
- setIsOpen(false);
45
- (0, import_session.resetUserIdleTime)(true);
46
- dispatch(import_actions.logout.cancel());
47
- };
48
- const logoutSession = () => {
49
- setIsOpen(false);
50
- dispatch(import_actions.logout.confirm());
51
- };
52
- return timeLeft ? /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialog, {
53
- isOpen,
54
- size: "small"
55
- }, /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogBody, {
56
- p: "s"
57
- }, /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogDefaultLayout, null, /* @__PURE__ */ React.createElement(import_ds_icons.WarningCircle, {
58
- size: "xl",
59
- color: ["warning", "900"]
60
- }), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogPrimaryMessage, null, `Your session will expire in ${timeLeft}`), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogSecondaryMessage, null, "Please logout or reset your session"))), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogSeparator, null), /* @__PURE__ */ React.createElement(import_ds_dialog.DSDialogFooter, null, /* @__PURE__ */ React.createElement(import_ds_button.DSButtonV2, {
61
- buttonType: "outline",
62
- onClick: logoutSession
63
- }, "Logout"), /* @__PURE__ */ React.createElement(import_ds_button.DSButtonV2, {
64
- onClick: resetSession
65
- }, "Reset"))) : null;
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 React = __toESM(require("react"));
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
- size = "m",
35
- style = { color: "white", fontSize: "1.25rem" },
36
- ...rest
37
- }) => {
38
- const isOpen = (0, import_react_redux.useAppSelector)((state) => state.waitMessage?.isOpen);
39
- const message = (0, import_react_redux.useAppSelector)((state) => state.waitMessage?.message);
40
- (0, import_react.useEffect)(() => {
41
- if (isOpen)
42
- (0, import_user_wait_event.waitStartEvent)();
43
- else
44
- (0, import_user_wait_event.waitEndEvent)();
45
- }, [isOpen]);
46
- (0, import_use_html_wait_message.useHTMLWaitMessage)(isOpen !== null);
47
- return /* @__PURE__ */ React.createElement(import_ds_loading_indicator.DSLoadingIndicator, {
48
- id: "em-loading",
49
- size,
50
- style,
51
- ...rest,
52
- loading: isOpen,
53
- message
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
+ );