@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.
Files changed (231) hide show
  1. package/dist/cjs/analytics/appdynamics.js +36 -0
  2. package/dist/cjs/analytics/index.js +15 -13
  3. package/dist/cjs/analytics/page-view-event.js +16 -19
  4. package/dist/cjs/analytics/user-session-event.js +13 -14
  5. package/dist/cjs/analytics/user-wait-event.js +4 -4
  6. package/dist/cjs/analytics/{ba-event-parameters.js → web-analytics.js} +2 -2
  7. package/dist/cjs/api/auth/index.js +13 -20
  8. package/dist/cjs/api/helpers.js +4 -16
  9. package/dist/cjs/api/users/index.js +4 -5
  10. package/dist/cjs/communication/http-client/index.js +16 -21
  11. package/dist/cjs/communication/http-client/retry-axios.js +0 -2
  12. package/dist/cjs/communication/http-client/tests/index.test-disable.js +5 -6
  13. package/dist/cjs/data/auth/actions.js +22 -28
  14. package/dist/cjs/data/breakpoint/index.js +1 -3
  15. package/dist/cjs/data/live-message/index.js +8 -11
  16. package/dist/cjs/data/reducers.js +1 -2
  17. package/dist/cjs/data/store.js +4 -8
  18. package/dist/cjs/data/wait-message/actions.js +6 -9
  19. package/dist/cjs/data/wait-message/reducer.js +13 -17
  20. package/dist/cjs/index.js +21 -15
  21. package/dist/cjs/route/index.js +23 -12
  22. package/dist/cjs/route/{usePageView.js → page-view.js} +12 -22
  23. package/dist/cjs/route/private-route/index.js +9 -10
  24. package/dist/cjs/sideeffect/auth/index.js +6 -10
  25. package/dist/cjs/utils/app-config/config.js +3 -14
  26. package/dist/cjs/utils/app-config/index.js +11 -15
  27. package/dist/cjs/utils/app-host-integration/react.js +7 -10
  28. package/dist/cjs/utils/auth/index.js +40 -44
  29. package/dist/cjs/utils/font-size.js +1 -1
  30. package/dist/cjs/utils/helpers.js +0 -6
  31. package/dist/cjs/utils/log-records.js +7 -7
  32. package/dist/cjs/utils/micro-frontend/guest.js +31 -8
  33. package/dist/cjs/utils/micro-frontend/host.js +14 -7
  34. package/dist/cjs/utils/micro-frontend/index.js +2 -4
  35. package/dist/cjs/utils/redact-pii.js +39 -0
  36. package/dist/cjs/utils/service-worker.js +2 -5
  37. package/dist/cjs/utils/session.js +2 -8
  38. package/dist/cjs/utils/storybook/theme.js +9 -12
  39. package/dist/cjs/utils/testing/index.js +9 -18
  40. package/dist/cjs/utils/testing/render-with-redux.js +11 -14
  41. package/dist/cjs/utils/testing/render-with-router-redux.js +17 -20
  42. package/dist/cjs/utils/testing/render-with-router.js +13 -16
  43. package/dist/cjs/utils/testing/render-with-state-addons.js +7 -16
  44. package/dist/cjs/utils/url.js +0 -8
  45. package/dist/cjs/utils/web-storage.js +1 -7
  46. package/dist/cjs/utils/window.js +0 -2
  47. package/dist/cjs/view/app-root/hosted-app.js +5 -8
  48. package/dist/cjs/view/app-root/index.js +20 -23
  49. package/dist/cjs/view/app-root/stand-alone-app.js +5 -8
  50. package/dist/cjs/view/app-root/style.js +5 -12
  51. package/dist/cjs/view/error-toast/index.stories.js +22 -31
  52. package/dist/cjs/view/fetch-host-app-data/store.js +1 -5
  53. package/dist/cjs/view/fields/check-box/index.js +20 -32
  54. package/dist/cjs/view/fields/check-box/index.stories.js +20 -24
  55. package/dist/cjs/view/fields/check-box/set-value.stories.js +17 -21
  56. package/dist/cjs/view/fields/combo-box/index.js +22 -28
  57. package/dist/cjs/view/fields/connect-form.js +3 -4
  58. package/dist/cjs/view/fields/date-input/index.js +15 -21
  59. package/dist/cjs/view/fields/date-picker/index.js +15 -21
  60. package/dist/cjs/view/fields/form-item-layout/index.js +16 -20
  61. package/dist/cjs/view/fields/input-mask/index.js +16 -28
  62. package/dist/cjs/view/fields/large-text-box/index.js +15 -21
  63. package/dist/cjs/view/fields/radio/index.js +20 -26
  64. package/dist/cjs/view/fields/radio/index.stories.js +17 -21
  65. package/dist/cjs/view/fields/radio/set-value.stories.js +15 -19
  66. package/dist/cjs/view/fields/radio-group/index.js +16 -22
  67. package/dist/cjs/view/fields/radio-group/index.stories.js +37 -44
  68. package/dist/cjs/view/fields/text-box/index.js +15 -21
  69. package/dist/cjs/view/fields/watch-value.js +4 -5
  70. package/dist/cjs/view/form/index.js +9 -10
  71. package/dist/cjs/view/form/index.stories.js +3 -6
  72. package/dist/cjs/view/form/submit-button/index.js +2 -3
  73. package/dist/cjs/view/form/usecases.stories.js +3 -6
  74. package/dist/cjs/view/guest-unload-handlers/index.js +1 -2
  75. package/dist/cjs/view/header/center-region/index.js +8 -20
  76. package/dist/cjs/view/header/index.js +8 -11
  77. package/dist/cjs/view/host-binding-events/index.js +2 -2
  78. package/dist/cjs/view/live-message/index.stories.js +0 -6
  79. package/dist/cjs/view/loadable/index.js +1 -2
  80. package/dist/cjs/view/login/index.js +5 -6
  81. package/dist/cjs/view/media-breakpoint/index.js +1 -1
  82. package/dist/cjs/view/message-to-host-app/index.js +1 -2
  83. package/dist/cjs/view/micro-app/app-factory/index.js +30 -48
  84. package/dist/cjs/view/micro-app/index.js +1 -1
  85. package/dist/cjs/view/micro-app/resources/manifest.js +27 -39
  86. package/dist/cjs/view/micro-app/resources/script.js +22 -35
  87. package/dist/cjs/view/micro-app/resources/style.js +20 -33
  88. package/dist/cjs/view/micro-app/use-app-will-render.js +12 -12
  89. package/dist/cjs/view/micro-app/utils.js +0 -6
  90. package/dist/cjs/view/micro-iframe-app/app.js +6 -9
  91. package/dist/cjs/view/micro-iframe-app/iframe/index.js +8 -9
  92. package/dist/cjs/view/micro-iframe-app/index.js +4 -7
  93. package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +5 -12
  94. package/dist/cjs/view/modals/error/index.js +6 -13
  95. package/dist/cjs/view/modals/navigation-prompt/index.js +4 -11
  96. package/dist/cjs/view/modals/session-expiry/customHooks.js +3 -5
  97. package/dist/cjs/view/modals/session-expiry/index.js +6 -13
  98. package/dist/cjs/view/modals/wait-message/html-wait-message.js +3 -4
  99. package/dist/cjs/view/modals/wait-message/index.js +8 -9
  100. package/dist/cjs/view/modals/wait-message/index.stories.js +4 -5
  101. package/dist/cjs/view/render-with-delay/index.js +3 -6
  102. package/dist/cjs/view/render-with-host-data/index.js +0 -2
  103. package/dist/cjs/view/session-timeout/index.js +0 -2
  104. package/dist/cjs/view/useMediaBreakpoints/index.js +0 -12
  105. package/dist/es/analytics/appdynamics.js +18 -0
  106. package/dist/es/analytics/index.js +14 -13
  107. package/dist/es/analytics/page-view-event.js +16 -19
  108. package/dist/es/analytics/user-session-event.js +12 -13
  109. package/dist/es/analytics/user-wait-event.js +4 -4
  110. package/dist/es/analytics/{ba-event-parameters.js → web-analytics.js} +2 -2
  111. package/dist/es/api/auth/index.js +13 -18
  112. package/dist/es/api/helpers.js +4 -14
  113. package/dist/es/api/users/index.js +4 -5
  114. package/dist/es/communication/http-client/index.js +16 -20
  115. package/dist/es/communication/http-client/retry-axios.js +0 -2
  116. package/dist/es/communication/http-client/tests/index.test-disable.js +5 -6
  117. package/dist/es/data/auth/actions.js +22 -28
  118. package/dist/es/data/breakpoint/index.js +1 -3
  119. package/dist/es/data/live-message/index.js +8 -11
  120. package/dist/es/data/reducers.js +1 -2
  121. package/dist/es/data/store.js +4 -8
  122. package/dist/es/data/wait-message/actions.js +6 -9
  123. package/dist/es/data/wait-message/reducer.js +12 -16
  124. package/dist/es/index.js +4 -1
  125. package/dist/es/route/index.js +23 -13
  126. package/dist/es/route/page-view.js +15 -0
  127. package/dist/es/route/private-route/index.js +9 -10
  128. package/dist/es/sideeffect/auth/index.js +6 -10
  129. package/dist/es/utils/app-config/config.js +3 -14
  130. package/dist/es/utils/app-config/index.js +11 -15
  131. package/dist/es/utils/app-host-integration/react.js +7 -10
  132. package/dist/es/utils/auth/index.js +39 -41
  133. package/dist/es/utils/font-size.js +1 -1
  134. package/dist/es/utils/helpers.js +0 -3
  135. package/dist/es/utils/log-records.js +7 -7
  136. package/dist/es/utils/micro-frontend/guest.js +29 -6
  137. package/dist/es/utils/micro-frontend/host.js +13 -7
  138. package/dist/es/utils/micro-frontend/index.js +2 -3
  139. package/dist/es/utils/redact-pii.js +31 -0
  140. package/dist/es/utils/service-worker.js +2 -4
  141. package/dist/es/utils/session.js +2 -8
  142. package/dist/es/utils/storybook/theme.js +9 -12
  143. package/dist/es/utils/testing/index.js +9 -12
  144. package/dist/es/utils/testing/render-with-redux.js +11 -14
  145. package/dist/es/utils/testing/render-with-router-redux.js +17 -20
  146. package/dist/es/utils/testing/render-with-router.js +13 -16
  147. package/dist/es/utils/testing/render-with-state-addons.js +7 -12
  148. package/dist/es/utils/url.js +0 -4
  149. package/dist/es/utils/web-storage.js +1 -4
  150. package/dist/es/utils/window.js +0 -1
  151. package/dist/es/view/app-root/hosted-app.js +5 -8
  152. package/dist/es/view/app-root/index.js +20 -23
  153. package/dist/es/view/app-root/stand-alone-app.js +5 -8
  154. package/dist/es/view/app-root/style.js +5 -10
  155. package/dist/es/view/error-toast/index.stories.js +22 -30
  156. package/dist/es/view/fetch-host-app-data/store.js +1 -5
  157. package/dist/es/view/fields/check-box/index.js +20 -26
  158. package/dist/es/view/fields/check-box/index.stories.js +20 -24
  159. package/dist/es/view/fields/check-box/set-value.stories.js +17 -21
  160. package/dist/es/view/fields/combo-box/index.js +22 -28
  161. package/dist/es/view/fields/connect-form.js +3 -4
  162. package/dist/es/view/fields/date-input/index.js +15 -21
  163. package/dist/es/view/fields/date-picker/index.js +15 -21
  164. package/dist/es/view/fields/form-item-layout/index.js +16 -20
  165. package/dist/es/view/fields/input-mask/index.js +16 -22
  166. package/dist/es/view/fields/large-text-box/index.js +15 -21
  167. package/dist/es/view/fields/radio/index.js +20 -26
  168. package/dist/es/view/fields/radio/index.stories.js +17 -21
  169. package/dist/es/view/fields/radio/set-value.stories.js +15 -19
  170. package/dist/es/view/fields/radio-group/index.js +16 -22
  171. package/dist/es/view/fields/radio-group/index.stories.js +37 -44
  172. package/dist/es/view/fields/text-box/index.js +15 -21
  173. package/dist/es/view/fields/watch-value.js +4 -5
  174. package/dist/es/view/form/index.js +9 -10
  175. package/dist/es/view/form/index.stories.js +3 -6
  176. package/dist/es/view/form/submit-button/index.js +2 -3
  177. package/dist/es/view/form/usecases.stories.js +3 -6
  178. package/dist/es/view/guest-unload-handlers/index.js +1 -2
  179. package/dist/es/view/header/center-region/index.js +8 -17
  180. package/dist/es/view/header/index.js +8 -11
  181. package/dist/es/view/host-binding-events/index.js +2 -2
  182. package/dist/es/view/live-message/index.stories.js +0 -1
  183. package/dist/es/view/loadable/index.js +1 -2
  184. package/dist/es/view/login/index.js +5 -6
  185. package/dist/es/view/media-breakpoint/index.js +1 -1
  186. package/dist/es/view/message-to-host-app/index.js +1 -2
  187. package/dist/es/view/micro-app/app-factory/index.js +30 -42
  188. package/dist/es/view/micro-app/index.js +1 -1
  189. package/dist/es/view/micro-app/resources/manifest.js +26 -31
  190. package/dist/es/view/micro-app/resources/script.js +21 -31
  191. package/dist/es/view/micro-app/resources/style.js +20 -30
  192. package/dist/es/view/micro-app/use-app-will-render.js +12 -12
  193. package/dist/es/view/micro-app/utils.js +0 -3
  194. package/dist/es/view/micro-iframe-app/app.js +6 -8
  195. package/dist/es/view/micro-iframe-app/iframe/index.js +8 -9
  196. package/dist/es/view/micro-iframe-app/index.js +4 -6
  197. package/dist/es/view/micro-iframe-app/use-frame-loaded.js +5 -9
  198. package/dist/es/view/modals/error/index.js +6 -8
  199. package/dist/es/view/modals/navigation-prompt/index.js +4 -5
  200. package/dist/es/view/modals/session-expiry/customHooks.js +3 -4
  201. package/dist/es/view/modals/session-expiry/index.js +6 -8
  202. package/dist/es/view/modals/wait-message/html-wait-message.js +3 -4
  203. package/dist/es/view/modals/wait-message/index.js +8 -9
  204. package/dist/es/view/modals/wait-message/index.stories.js +4 -5
  205. package/dist/es/view/render-with-delay/index.js +3 -5
  206. package/dist/es/view/render-with-host-data/index.js +0 -1
  207. package/dist/es/view/session-timeout/index.js +0 -1
  208. package/dist/es/view/useMediaBreakpoints/index.js +0 -6
  209. package/dist/types/analytics/appdynamics.d.ts +9 -0
  210. package/dist/types/analytics/index.d.ts +2 -2
  211. package/dist/types/analytics/web-analytics.d.ts +8 -0
  212. package/dist/types/index.d.ts +3 -1
  213. package/dist/types/route/page-view.d.ts +1 -0
  214. package/dist/types/utils/micro-frontend/guest.d.ts +1 -0
  215. package/dist/types/utils/micro-frontend/host.d.ts +1 -1
  216. package/dist/types/utils/redact-pii.d.ts +1 -0
  217. package/dist/types/view/visually-hidden/index.d.ts +1 -1
  218. package/package.json +7 -3
  219. package/dist/es/route/usePageView.js +0 -18
  220. package/dist/public/app.config.json +0 -129
  221. package/dist/public/assets/index.ad459dcebaa616bff55e77d860405729.svg +0 -1
  222. package/dist/public/assets/index.dae17c8817fd9c5ab29e7c3a8925a1f4.svg +0 -1
  223. package/dist/public/assets/logo.0cbd33c5006f8ea6d106f8ab13f6e6dc.svg +0 -1
  224. package/dist/public/iframe.b3911eaf1a99a53ef7b10a1e1f0bdfc4.html +0 -8
  225. package/dist/public/index.html +0 -5
  226. package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js +0 -3
  227. package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js.LICENSE.txt +0 -95
  228. package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js.gz +0 -0
  229. package/dist/public/js/emuiAppSdk.e28a62497e211b4c6132.js.map +0 -1
  230. package/dist/types/analytics/ba-event-parameters.d.ts +0 -8
  231. 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 _ref => {
25
- let {
26
- id,
27
- name,
28
- hostUrl,
29
- history,
30
- theme,
31
- manifestPath,
32
- homeRoute
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("Application ".concat(name, " with id ").concat(id, " doesn't expose init method."));
40
- const prevState = await persistentStorage.get("state-".concat(id));
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 _ref2 => {
55
- let {
56
- id,
57
- name
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("Application ".concat(name, " with id ").concat(id, " doesn't expose mount method."));
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: "".concat(APP_CONTAINER_ID_PREFIX).concat(id),
57
+ containerId: `${APP_CONTAINER_ID_PREFIX}${id}`,
67
58
  hostBreakpoint: getCurrentBreakpoint(),
68
59
  hostViewportSize: getViewportSize()
69
60
  });
70
61
  };
71
- export const unmountApp = async _ref3 => {
72
- let {
73
- id,
74
- name
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("unmount failed for application ".concat(name, " with id ").concat(id, ". unmount is not a valid function"));
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: "".concat(APP_CONTAINER_ID_PREFIX).concat(id)
75
+ containerId: `${APP_CONTAINER_ID_PREFIX}${id}`
86
76
  });
87
77
 
88
78
  if (currentState) {
89
- await persistentStorage.set("state-".concat(id), currentState);
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 = function (id) {
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 = _ref4 => {
157
- let {
158
- id,
159
- hostUrl,
160
- documentEle
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: "".concat(APP_CONTAINER_ID_PREFIX).concat(props.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+\//, '/latest/');
6
+ const getUnVersionedManifestPath = path => path.replace(/\/\d+\.\d+/, '/latest');
14
7
 
15
- export const getAppManifest = async _ref => {
16
- let {
17
- hostUrl,
18
- manifestPath
19
- } = _ref;
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
- return getAppManifest({
27
- hostUrl,
28
- manifestPath: getUnVersionedManifestPath(manifestPath)
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 = function (manifest) {
32
- let assetNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
33
- return assetNames.reduce((assets, assetName) => {
34
- const fullFileName = manifest[assetName];
35
- if (fullFileName) assets.push(fullFileName); // eslint-disable-next-line no-console
36
- else {
37
- const logRecord = logRecords.ASSET_NOT_FOUND_IN_MANIFEST(assetName);
38
- getLogger().error(logRecord);
39
- throw new Error(logRecord.msg);
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 = (_ref, fileName, index) => {
11
- let {
12
- name,
13
- hostUrl,
14
- documentEle
15
- } = _ref;
16
- return new Promise((resolve, reject) => {
17
- const ele = documentEle.createElement('script');
18
- if (!ele) reject(new Error('Unable to insert Application scripts.'));
19
- ele.id = "".concat(APP_SCRIPT_ID_PREFIX).concat(name, "-").concat(index);
20
- const url = new URL(fileName, hostUrl);
21
- ele.src = removeDoubleSlash(url.href);
22
- ele.onload = resolve.bind(null, ele.id);
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
- if (isHeadScript(ele.src)) documentEle.head.appendChild(ele);else documentEle.body.appendChild(ele);
27
- });
28
- };
29
- export const removeScriptFromDOM = function () {
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
- if (!ele) console.warn(new Error("script with id ".concat(elementId, " not found")));
36
- ele.remove();
37
- resolve();
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 = (_ref, fileName, index) => {
7
- let {
8
- name,
9
- hostUrl,
10
- documentEle
11
- } = _ref;
12
- return new Promise((resolve, reject) => {
13
- const ele = documentEle.createElement('link');
14
- if (!ele) reject(new Error('Unable to insert Application styles.'));
15
- ele.id = "".concat(APP_STYLE_ID_PREFIX).concat(name, "-").concat(index);
16
- ele.rel = 'stylesheet';
17
- const url = new URL(fileName, hostUrl);
18
- ele.href = removeDoubleSlash(url.href);
19
- ele.onload = resolve.bind(null, ele.id);
20
- documentEle.head.appendChild(ele);
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
- if (!ele) console.warn(new Error("style with id ".concat(elementId, " not found")));
30
- ele.remove();
31
- resolve();
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 = _ref => {
9
- let {
10
- id,
11
- documentEle,
12
- history,
13
- theme,
14
- onUnloadComplete
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(); // eslint-disable-next-line react-hooks/exhaustive-deps
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(_ref => {
11
- let {
12
- id,
13
- dispose,
14
- onUnloadComplete,
15
- ...rest
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(_ref => {
8
- let {
9
- id,
10
- name: title,
11
- src,
12
- sandbox,
13
- onFrameReady
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: "".concat(IFRAME_CONTAINER_ID_PREFIX).concat(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(_ref => {
7
- let {
8
- entityId = null,
9
- ...rest
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 = "".concat(ele.id).concat(id);
22
+ ele.id = `${ele.id}${id}`;
26
23
  }
27
24
  };
28
25
 
29
- export const useFrameLoaded = _ref => {
30
- let {
31
- id,
32
- documentEle
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 = _ref => {
6
- let {
7
- open,
8
- name,
9
- showHeader = false,
10
- children
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(_ref => {
10
- let {
11
- open,
12
- showHeader = false
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: "0".concat(seconds).slice(-2),
21
- minutes: "0".concat(minutes).slice(-2)
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("".concat(minutes, ":").concat(seconds));
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(_ref => {
13
- let {
14
- open,
15
- warningNotifiedAt = 0,
16
- showHeader = false
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 ? "Your session will expire in ".concat(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(_ref => {
5
- let {
6
- close
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(_ref => {
11
- let {
12
- size = 'm',
13
- style = {
14
- color: 'white',
15
- fontSize: '1.25rem'
16
- },
17
- ...rest
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 = _ref => {
8
- let {
9
- isOpen,
10
- ...rest
11
- } = _ref;
7
+ const Template = ({
8
+ isOpen,
9
+ ...rest
10
+ }) => {
12
11
  const dispatch = useAppDispatch();
13
12
  useEffect(() => {
14
13
  if (!dispatch) return;