@elliemae/pui-app-sdk 3.0.0-beta.1 → 3.0.0-beta.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 (271) hide show
  1. package/dist/cjs/analytics/index.js +3 -3
  2. package/dist/cjs/analytics/page-view-event.js +13 -4
  3. package/dist/cjs/analytics/user-session-event.js +4 -4
  4. package/dist/cjs/analytics/user-wait-event.js +3 -3
  5. package/dist/cjs/api/auth/index.js +1 -1
  6. package/dist/cjs/api/users/index.js +1 -1
  7. package/dist/cjs/api/users/users.json +8 -0
  8. package/dist/cjs/app.config.json +129 -0
  9. package/dist/cjs/communication/http-client/index.js +5 -5
  10. package/dist/cjs/communication/http-client/request-interceptor.js +1 -1
  11. package/dist/cjs/communication/http-client/retry.js +1 -1
  12. package/dist/cjs/communication/http-client/tests/index.test-disable.js +3 -3
  13. package/dist/cjs/data/auth/reducer.js +1 -1
  14. package/dist/cjs/data/index.js +34 -0
  15. package/dist/cjs/data/reducers.js +4 -4
  16. package/dist/cjs/data/store.js +2 -3
  17. package/dist/cjs/data/wait-message/reducer.js +1 -1
  18. package/dist/cjs/index.js +74 -72
  19. package/dist/cjs/index.pug +15 -0
  20. package/dist/cjs/micro-frontend.js +33 -0
  21. package/dist/cjs/route/index.js +2 -1
  22. package/dist/cjs/route/page-view.js +1 -1
  23. package/dist/cjs/route/private-route/index.js +8 -7
  24. package/dist/cjs/sideeffect/auth/index.js +4 -4
  25. package/dist/cjs/sideeffect/error-toast/index.js +4 -4
  26. package/dist/cjs/sideeffect/wait-message/index.js +4 -4
  27. package/dist/cjs/utils/app-config/index.js +4 -4
  28. package/dist/cjs/utils/app-host-integration/react.js +1 -1
  29. package/dist/cjs/utils/auth/helper.js +1 -1
  30. package/dist/cjs/utils/auth/index.js +9 -9
  31. package/dist/cjs/utils/micro-frontend/console-logger.js +1 -1
  32. package/dist/cjs/utils/micro-frontend/guest.js +8 -8
  33. package/dist/cjs/utils/micro-frontend/host.js +14 -14
  34. package/dist/cjs/utils/micro-frontend/index.js +4 -4
  35. package/dist/cjs/utils/service-worker.js +2 -2
  36. package/dist/cjs/utils/session.js +2 -2
  37. package/dist/cjs/utils/storybook/{main.js → cjs/main.js} +11 -3
  38. package/dist/cjs/utils/storybook/{middleware.js → cjs/middleware.js} +0 -0
  39. package/dist/cjs/utils/storybook/{vite.js → cjs/vite.js} +0 -0
  40. package/dist/cjs/utils/storybook/{webpack.js → cjs/webpack.js} +9 -1
  41. package/dist/cjs/utils/storybook/manager.js +1 -1
  42. package/dist/cjs/utils/storybook/preview.js +7 -8
  43. package/dist/cjs/utils/testing/index.js +4 -3
  44. package/dist/cjs/utils/testing/render-with-redux.js +3 -2
  45. package/dist/cjs/utils/testing/render-with-router-redux.js +3 -2
  46. package/dist/cjs/utils/testing/render-with-router.js +1 -0
  47. package/dist/cjs/utils/testing/render-with-state-addons.js +1 -0
  48. package/dist/cjs/view/app-root/hosted-app.js +5 -4
  49. package/dist/cjs/view/app-root/index.js +7 -6
  50. package/dist/cjs/view/app-root/stand-alone-app.js +8 -7
  51. package/dist/cjs/view/error-boundary/default-error-template.js +17 -0
  52. package/dist/cjs/view/error-boundary/index.js +3 -3
  53. package/dist/cjs/view/error-toast/index.js +8 -7
  54. package/dist/cjs/view/fetch-host-app-data/index.js +3 -3
  55. package/dist/cjs/view/fields/check-box/index.js +2 -1
  56. package/dist/cjs/view/fields/combo-box/index.js +2 -1
  57. package/dist/cjs/view/fields/date-input/index.js +2 -1
  58. package/dist/cjs/view/fields/date-picker/index.js +1 -0
  59. package/dist/cjs/view/fields/form-item-layout/index.js +3 -2
  60. package/dist/cjs/view/fields/input-mask/index.js +2 -1
  61. package/dist/cjs/view/fields/large-text-box/index.js +2 -1
  62. package/dist/cjs/view/fields/radio/index.js +2 -1
  63. package/dist/cjs/view/fields/radio-group/index.js +2 -1
  64. package/dist/cjs/view/fields/text-box/index.js +2 -1
  65. package/dist/cjs/view/fields/watch-value.js +1 -0
  66. package/dist/cjs/view/form/index.js +1 -0
  67. package/dist/cjs/view/form/personal-info-section.js +5 -4
  68. package/dist/cjs/view/form/submit-button/index.js +3 -2
  69. package/dist/cjs/view/guest-unload-handlers/index.js +1 -1
  70. package/dist/cjs/view/header/center-region/index.js +1 -0
  71. package/dist/cjs/view/header/index.js +5 -4
  72. package/dist/cjs/view/header/logo-region/index.js +2 -1
  73. package/dist/cjs/view/header/logo-region/logo.svg +2 -0
  74. package/dist/cjs/view/header/nav-region/index.js +3 -2
  75. package/dist/cjs/view/header/nav-region/notification/index.js +2 -1
  76. package/dist/cjs/view/header/nav-region/notification/index.svg +5 -0
  77. package/dist/cjs/view/header/nav-region/user/index.js +2 -1
  78. package/dist/cjs/view/header/nav-region/user/index.svg +4 -0
  79. package/dist/cjs/view/intro.stories.mdx +27 -0
  80. package/dist/cjs/view/live-message/index.js +2 -1
  81. package/dist/cjs/view/loadable/index.js +2 -1
  82. package/dist/cjs/view/login/index.js +4 -3
  83. package/dist/cjs/view/media-breakpoint/index.js +5 -4
  84. package/dist/cjs/view/message-to-host-app/index.js +1 -1
  85. package/dist/cjs/view/micro-app/app-factory/index.js +11 -9
  86. package/dist/cjs/view/micro-app/index.js +3 -2
  87. package/dist/cjs/view/micro-app/resources/manifest.js +6 -4
  88. package/dist/cjs/view/micro-app/resources/script.js +1 -1
  89. package/dist/cjs/view/micro-app/resources/style.js +1 -1
  90. package/dist/cjs/view/micro-app/use-app-will-render.js +8 -6
  91. package/dist/cjs/view/micro-app/utils.js +1 -1
  92. package/dist/cjs/view/micro-iframe-app/app.js +4 -3
  93. package/dist/cjs/view/micro-iframe-app/iframe/index.html +74 -0
  94. package/dist/cjs/view/micro-iframe-app/iframe/index.js +2 -1
  95. package/dist/cjs/view/micro-iframe-app/index.js +3 -2
  96. package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +5 -3
  97. package/dist/cjs/view/modals/error/index.js +1 -0
  98. package/dist/cjs/view/modals/navigation-prompt/index.js +3 -2
  99. package/dist/cjs/view/modals/session-expiry/customHooks.js +2 -2
  100. package/dist/cjs/view/modals/session-expiry/index.js +5 -4
  101. package/dist/cjs/view/modals/wait-message/html-wait-message.js +1 -0
  102. package/dist/cjs/view/modals/wait-message/index.js +6 -5
  103. package/dist/cjs/view/modals/wait-message/wait-message-launcher.js +3 -2
  104. package/dist/cjs/view/render-with-delay/index.js +1 -0
  105. package/dist/cjs/view/render-with-host-data/index.js +3 -2
  106. package/dist/cjs/view/session-timeout/index.js +5 -4
  107. package/dist/cjs/view/storybook/decorator.js +3 -2
  108. package/dist/cjs/view/visually-hidden/index.js +1 -0
  109. package/dist/cjs/view/window-size/index.js +11 -6
  110. package/dist/es/analytics/index.js +3 -3
  111. package/dist/es/analytics/page-view-event.js +12 -3
  112. package/dist/es/analytics/user-session-event.js +2 -2
  113. package/dist/es/analytics/user-wait-event.js +1 -1
  114. package/dist/es/api/auth/index.js +1 -1
  115. package/dist/es/api/users/index.js +1 -1
  116. package/dist/es/api/users/users.json +8 -0
  117. package/dist/es/app.config.json +129 -0
  118. package/dist/es/communication/http-client/index.js +5 -5
  119. package/dist/es/communication/http-client/request-interceptor.js +1 -1
  120. package/dist/es/communication/http-client/retry.js +1 -1
  121. package/dist/es/communication/http-client/tests/index.test-disable.js +3 -3
  122. package/dist/es/data/auth/reducer.js +1 -1
  123. package/dist/es/data/index.js +11 -0
  124. package/dist/es/data/reducers.js +4 -4
  125. package/dist/es/data/store.js +2 -3
  126. package/dist/es/data/wait-message/reducer.js +1 -1
  127. package/dist/es/index.js +84 -72
  128. package/dist/es/index.pug +15 -0
  129. package/dist/es/micro-frontend.js +10 -0
  130. package/dist/es/route/index.js +2 -1
  131. package/dist/es/route/page-view.js +1 -1
  132. package/dist/es/route/private-route/index.js +8 -7
  133. package/dist/es/sideeffect/auth/index.js +4 -4
  134. package/dist/es/sideeffect/error-toast/index.js +4 -4
  135. package/dist/es/sideeffect/wait-message/index.js +4 -4
  136. package/dist/es/utils/app-config/index.js +4 -4
  137. package/dist/es/utils/app-host-integration/react.js +1 -1
  138. package/dist/es/utils/auth/helper.js +1 -1
  139. package/dist/es/utils/auth/index.js +9 -9
  140. package/dist/es/utils/micro-frontend/console-logger.js +1 -1
  141. package/dist/es/utils/micro-frontend/guest.js +8 -8
  142. package/dist/es/utils/micro-frontend/host.js +14 -14
  143. package/dist/es/utils/micro-frontend/index.js +4 -4
  144. package/dist/es/utils/service-worker.js +2 -2
  145. package/dist/es/utils/session.js +2 -2
  146. package/dist/es/utils/storybook/manager.js +1 -1
  147. package/dist/es/utils/storybook/preview.js +7 -8
  148. package/dist/es/utils/testing/index.js +4 -3
  149. package/dist/es/utils/testing/render-with-redux.js +3 -2
  150. package/dist/es/utils/testing/render-with-router-redux.js +3 -2
  151. package/dist/es/utils/testing/render-with-router.js +1 -0
  152. package/dist/es/utils/testing/render-with-state-addons.js +1 -0
  153. package/dist/es/view/app-root/hosted-app.js +5 -4
  154. package/dist/es/view/app-root/index.js +7 -6
  155. package/dist/es/view/app-root/stand-alone-app.js +8 -7
  156. package/dist/es/view/error-boundary/default-error-template.js +1 -0
  157. package/dist/es/view/error-boundary/index.js +3 -3
  158. package/dist/es/view/error-toast/index.js +4 -8
  159. package/dist/es/view/fetch-host-app-data/index.js +6 -3
  160. package/dist/es/view/fields/check-box/index.js +2 -1
  161. package/dist/es/view/fields/combo-box/index.js +2 -1
  162. package/dist/es/view/fields/date-input/index.js +2 -1
  163. package/dist/es/view/fields/date-picker/index.js +1 -0
  164. package/dist/es/view/fields/form-item-layout/index.js +3 -2
  165. package/dist/es/view/fields/input-mask/index.js +2 -1
  166. package/dist/es/view/fields/large-text-box/index.js +2 -1
  167. package/dist/es/view/fields/radio/index.js +2 -1
  168. package/dist/es/view/fields/radio-group/index.js +2 -1
  169. package/dist/es/view/fields/text-box/index.js +2 -1
  170. package/dist/es/view/fields/watch-value.js +1 -0
  171. package/dist/es/view/form/index.js +1 -0
  172. package/dist/es/view/form/personal-info-section.js +5 -4
  173. package/dist/es/view/form/submit-button/index.js +2 -1
  174. package/dist/es/view/guest-unload-handlers/index.js +1 -1
  175. package/dist/es/view/header/center-region/index.js +1 -0
  176. package/dist/es/view/header/index.js +5 -4
  177. package/dist/es/view/header/logo-region/index.js +2 -1
  178. package/dist/es/view/header/logo-region/logo.svg +2 -0
  179. package/dist/es/view/header/nav-region/index.js +3 -2
  180. package/dist/es/view/header/nav-region/notification/index.js +2 -1
  181. package/dist/es/view/header/nav-region/notification/index.svg +5 -0
  182. package/dist/es/view/header/nav-region/user/index.js +2 -1
  183. package/dist/es/view/header/nav-region/user/index.svg +4 -0
  184. package/dist/es/view/intro.stories.mdx +27 -0
  185. package/dist/es/view/live-message/index.js +2 -1
  186. package/dist/es/view/loadable/index.js +2 -1
  187. package/dist/es/view/login/index.js +4 -3
  188. package/dist/es/view/media-breakpoint/index.js +5 -4
  189. package/dist/es/view/message-to-host-app/index.js +1 -1
  190. package/dist/es/view/micro-app/app-factory/index.js +14 -9
  191. package/dist/es/view/micro-app/index.js +3 -2
  192. package/dist/es/view/micro-app/resources/manifest.js +6 -4
  193. package/dist/es/view/micro-app/resources/script.js +1 -1
  194. package/dist/es/view/micro-app/resources/style.js +1 -1
  195. package/dist/es/view/micro-app/use-app-will-render.js +13 -6
  196. package/dist/es/view/micro-app/utils.js +1 -1
  197. package/dist/es/view/micro-iframe-app/app.js +4 -3
  198. package/dist/es/view/micro-iframe-app/iframe/index.html +74 -0
  199. package/dist/es/view/micro-iframe-app/iframe/index.js +2 -1
  200. package/dist/es/view/micro-iframe-app/index.js +3 -2
  201. package/dist/es/view/micro-iframe-app/use-frame-loaded.js +5 -3
  202. package/dist/es/view/modals/error/index.js +1 -0
  203. package/dist/es/view/modals/navigation-prompt/index.js +3 -2
  204. package/dist/es/view/modals/session-expiry/customHooks.js +2 -2
  205. package/dist/es/view/modals/session-expiry/index.js +5 -4
  206. package/dist/es/view/modals/wait-message/html-wait-message.js +1 -0
  207. package/dist/es/view/modals/wait-message/index.js +5 -4
  208. package/dist/es/view/modals/wait-message/wait-message-launcher.js +3 -2
  209. package/dist/es/view/render-with-delay/index.js +1 -0
  210. package/dist/es/view/render-with-host-data/index.js +3 -2
  211. package/dist/es/view/session-timeout/index.js +5 -4
  212. package/dist/es/view/storybook/decorator.js +3 -2
  213. package/dist/es/view/visually-hidden/index.js +1 -0
  214. package/dist/es/view/window-size/index.js +11 -6
  215. package/dist/types/communication/http-client/retry.d.ts +1 -1
  216. package/dist/types/data/index.d.ts +4 -0
  217. package/dist/types/data/react-redux.d.ts +11 -11
  218. package/dist/types/data/reducers.d.ts +6 -6
  219. package/dist/types/data/store.d.ts +29 -29
  220. package/dist/types/index.d.ts +79 -78
  221. package/dist/types/micro-frontend.d.ts +6 -0
  222. package/dist/types/route/private-route/index.d.ts +1 -1
  223. package/dist/types/sideeffect/auth/index.d.ts +1 -1
  224. package/dist/types/utils/app-host-integration/react.d.ts +1 -1
  225. package/dist/types/utils/micro-frontend/guest.d.ts +3 -3
  226. package/dist/types/utils/micro-frontend/host.d.ts +1 -1
  227. package/dist/types/utils/micro-frontend/index.d.ts +2 -2
  228. package/dist/types/utils/micro-frontend/types.d.ts +1 -1
  229. package/dist/types/utils/storybook/{main.d.cts → cjs/main.d.ts} +24 -2
  230. package/dist/types/utils/storybook/{middleware.d.cts → cjs/middleware.d.ts} +0 -0
  231. package/dist/types/utils/storybook/{vite.d.cts → cjs/vite.d.ts} +0 -0
  232. package/dist/types/utils/storybook/cjs/webpack.d.ts +16 -0
  233. package/dist/types/utils/storybook/preview.d.ts +8 -2
  234. package/dist/types/utils/testing/render-with-redux.d.ts +20 -20
  235. package/dist/types/utils/testing/render-with-router-redux.d.ts +20 -20
  236. package/dist/types/view/app-root/index.d.ts +1 -1
  237. package/dist/types/view/fields/check-box/index.d.ts +1 -1
  238. package/dist/types/view/fields/check-box/index.stories.d.ts +1 -1
  239. package/dist/types/view/fields/check-box/set-value.stories.d.ts +1 -1
  240. package/dist/types/view/fields/combo-box/index.stories.d.ts +1 -1
  241. package/dist/types/view/fields/date-input/index.stories.d.ts +1 -1
  242. package/dist/types/view/fields/date-picker/index.stories.d.ts +1 -1
  243. package/dist/types/view/fields/form-item-layout/index.stories.d.ts +1 -1
  244. package/dist/types/view/fields/input-mask/index.d.ts +1 -1
  245. package/dist/types/view/fields/input-mask/index.stories.d.ts +1 -1
  246. package/dist/types/view/fields/large-text-box/index.stories.d.ts +1 -1
  247. package/dist/types/view/fields/radio/index.stories.d.ts +1 -1
  248. package/dist/types/view/fields/radio/set-value.stories.d.ts +1 -1
  249. package/dist/types/view/fields/radio-group/index.stories.d.ts +1 -1
  250. package/dist/types/view/fields/text-box/index.stories.d.ts +1 -1
  251. package/dist/types/view/form/usecases.stories.d.ts +1 -1
  252. package/dist/types/view/header/index.d.ts +1 -1
  253. package/dist/types/view/header/index.stories.d.ts +1 -1
  254. package/dist/types/view/micro-app/app-factory/index.d.ts +3 -3
  255. package/dist/types/view/micro-app/index.d.ts +1 -1
  256. package/dist/types/view/micro-app/resources/manifest.d.ts +2 -2
  257. package/dist/types/view/micro-app/resources/script.d.ts +1 -1
  258. package/dist/types/view/micro-app/resources/style.d.ts +1 -1
  259. package/dist/types/view/micro-app/types.d.ts +1 -0
  260. package/dist/types/view/micro-app/use-app-will-render.d.ts +2 -2
  261. package/dist/types/view/micro-iframe-app/app.d.ts +2 -2
  262. package/dist/types/view/micro-iframe-app/index.d.ts +1 -1
  263. package/dist/types/view/micro-iframe-app/types.d.ts +1 -1
  264. package/dist/types/view/micro-iframe-app/use-frame-loaded.d.ts +1 -1
  265. package/dist/types/view/modals/error/index.stories.d.ts +1 -1
  266. package/dist/types/view/modals/navigation-prompt/index.stories.d.ts +1 -1
  267. package/dist/types/view/modals/session-expiry/index.stories.d.ts +1 -1
  268. package/dist/types/view/modals/wait-message/index.stories.d.ts +1 -1
  269. package/dist/types/view/storybook/decorator.d.ts +1 -1
  270. package/package.json +32 -15
  271. package/dist/types/utils/storybook/webpack.d.cts +0 -8
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import {
3
3
  DefaultErrorTemplate
4
- } from "./default-error-template";
5
- import { getLogger } from "../../utils/micro-frontend";
6
- import { logRecords } from "../../utils/log-records";
4
+ } from "./default-error-template.js";
5
+ import { getLogger } from "../../utils/micro-frontend/index.js";
6
+ import { logRecords } from "../../utils/log-records.js";
7
7
  class ErrorBoundary extends React.Component {
8
8
  constructor(props) {
9
9
  super(props);
@@ -1,12 +1,8 @@
1
+ import * as React from "react";
1
2
  import { useEffect, memo } from "react";
2
- import {
3
- ToastPosition,
4
- ToastType,
5
- DSToast,
6
- toast
7
- } from "@elliemae/ds-basic/Toast";
8
- import { useAppSelector, useAppDispatch } from "../../data/react-redux";
9
- import { actions as error } from "../../data/error";
3
+ import { ToastPosition, ToastType, DSToast, toast } from "@elliemae/ds-toast";
4
+ import { useAppSelector, useAppDispatch } from "../../data/react-redux.js";
5
+ import { actions as error } from "../../data/error/index.js";
10
6
  const ErrorToast = memo((props) => {
11
7
  const storeError = useAppSelector((state) => state?.error);
12
8
  const dispatch = useAppDispatch();
@@ -1,7 +1,10 @@
1
1
  import _ from "lodash";
2
- import { isHostAppDataExist, setHostAppData } from "./store";
3
- import { sendMessageToHost, getHostAppData } from "../message-to-host-app";
4
- import { bindEvent } from "../host-binding-events";
2
+ import { isHostAppDataExist, setHostAppData } from "./store.js";
3
+ import {
4
+ sendMessageToHost,
5
+ getHostAppData
6
+ } from "../message-to-host-app/index.js";
7
+ import { bindEvent } from "../host-binding-events/index.js";
5
8
  const fetchHostAppData = (hostedAppUrl, guestAppId) => {
6
9
  const isDataExist = isHostAppDataExist();
7
10
  return new Promise((resolve) => {
@@ -1,4 +1,5 @@
1
- import DSCheckbox, { CHECKBOX_VARIANT } from "@elliemae/ds-basic/form/Checkbox";
1
+ import * as React from "react";
2
+ import DSCheckbox, { CHECKBOX_VARIANT } from "@elliemae/ds-form/Checkbox";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,4 +1,5 @@
1
- import DSComboBox from "@elliemae/ds-basic/form/ComboBox";
1
+ import * as React from "react";
2
+ import DSComboBox from "@elliemae/ds-form/ComboBox";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,4 +1,5 @@
1
- import DSDateInput from "@elliemae/ds-basic/form/DateInput";
1
+ import * as React from "react";
2
+ import DSDateInput from "@elliemae/ds-form/DateInput";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import DSDatePicker from "@elliemae/ds-date-picker";
2
3
  import {
3
4
  Controller
@@ -1,6 +1,7 @@
1
- import DSFormItemLayout from "@elliemae/ds-basic/form/FormItem";
1
+ import * as React from "react";
2
+ import DSFormItemLayout from "@elliemae/ds-form/FormItem";
2
3
  import { get } from "react-hook-form";
3
- import { ConnectForm } from "../connect-form";
4
+ import { ConnectForm } from "../connect-form.js";
4
5
  const FormItemLayout = ({
5
6
  name,
6
7
  ...rest
@@ -1,7 +1,8 @@
1
+ import * as React from "react";
1
2
  import DSInputMask, {
2
3
  MASK_TYPES,
3
4
  MASK_PIPES
4
- } from "@elliemae/ds-basic/form/InputMask";
5
+ } from "@elliemae/ds-form/InputMask";
5
6
  import {
6
7
  Controller
7
8
  } from "react-hook-form";
@@ -1,4 +1,5 @@
1
- import DSLargeInputText from "@elliemae/ds-basic/form/LargeInputText";
1
+ import * as React from "react";
2
+ import DSLargeInputText from "@elliemae/ds-form/LargeInputText";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,4 +1,5 @@
1
- import DSRadio from "@elliemae/ds-basic/form/Radio";
1
+ import * as React from "react";
2
+ import DSRadio from "@elliemae/ds-form/Radio";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,4 +1,5 @@
1
- import DSRadioGroup from "@elliemae/ds-basic/form/RadioGroup";
1
+ import * as React from "react";
2
+ import DSRadioGroup from "@elliemae/ds-form/RadioGroup";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,4 +1,5 @@
1
- import DSTextBox from "@elliemae/ds-basic/form/TextBox";
1
+ import * as React from "react";
2
+ import DSTextBox from "@elliemae/ds-form/TextBox";
2
3
  import {
3
4
  Controller
4
5
  } from "react-hook-form";
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import styled from "styled-components";
2
3
  import { useFormContext } from "react-hook-form";
3
4
  const Section = styled.section`
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import styled from "styled-components";
2
3
  import {
3
4
  useForm,
@@ -1,8 +1,9 @@
1
+ import * as React from "react";
1
2
  import moment from "moment";
2
- import { TextBox } from "../fields/text-box";
3
- import { ComboBox } from "../fields/combo-box";
4
- import { DateInput } from "../fields/date-input";
5
- import { FormItemLayout } from "../fields/form-item-layout";
3
+ import { TextBox } from "../fields/text-box/index.js";
4
+ import { ComboBox } from "../fields/combo-box/index.js";
5
+ import { DateInput } from "../fields/date-input/index.js";
6
+ import { FormItemLayout } from "../fields/form-item-layout/index.js";
6
7
  const FirstName = () => /* @__PURE__ */ React.createElement(FormItemLayout, {
7
8
  floatingLabel: true,
8
9
  inputComponent: TextBox,
@@ -1,5 +1,6 @@
1
+ import * as React from "react";
1
2
  import { useFormContext } from "react-hook-form";
2
- import DSButton from "@elliemae/ds-basic/Button";
3
+ import DSButton from "@elliemae/ds-button";
3
4
  const FormSubmitButton = ({
4
5
  ...rest
5
6
  }) => {
@@ -1,4 +1,4 @@
1
- import { sendMessageToHost } from "../message-to-host-app";
1
+ import { sendMessageToHost } from "../message-to-host-app/index.js";
2
2
  const onGuestUnloadStart = () => new Promise((resolve) => {
3
3
  window.addEventListener("message", (msg) => {
4
4
  if (msg.data.id === "unload-guest" || msg.data.id === "close_loan") {
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import { NavLink } from "react-router-dom";
2
3
  import styled from "styled-components";
3
4
  const NavList = styled.ul`
@@ -1,8 +1,9 @@
1
+ import * as React from "react";
1
2
  import styled from "styled-components";
2
- import { isStandAloneGuest, isHost } from "../../utils/micro-frontend";
3
- import { LogoRegion } from "./logo-region";
4
- import { CenterRegion } from "./center-region";
5
- import { NavRegion } from "./nav-region";
3
+ import { isStandAloneGuest, isHost } from "../../utils/micro-frontend/index.js";
4
+ import { LogoRegion } from "./logo-region/index.js";
5
+ import { CenterRegion } from "./center-region/index.js";
6
+ import { NavRegion } from "./nav-region/index.js";
6
7
  const HeaderContainer = styled.header`
7
8
  display: flex;
8
9
  height: 56px;
@@ -1,5 +1,6 @@
1
+ import * as React from "react";
1
2
  import styled from "styled-components";
2
- import { ReactComponent as LogoImg } from "./logo.svg";
3
+ import LogoImg from "./logo.svg";
3
4
  const LogoContainer = styled.div`
4
5
  align-self: center;
5
6
  `;
@@ -0,0 +1,2 @@
1
+
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="195" height="28" viewBox="0 0 195 28"><style>.st0{fill:#dee3e0}.st1{fill:#fff}.st2{fill:#408a90}.st3{fill:#00acdc}.st4{fill:#f7911e}.st5{fill:#0067ab}.st6{fill:#fefefe}</style><g id="Page-1_2_"><g id="brand-assets" transform="translate(-107 -187)"><g id="logo-enc-em-inline-dark" transform="translate(107 187)"><g id="Group-3"><g id="Group" transform="translate(143 14)"><path id="Fill-27" class="st0" d="M1.8 1.9c-.6 0-.9.6-.9 1.1s.3 1.1.9 1.1c.6 0 .8-.7.8-1.1.1-.5-.2-1.1-.8-1.1zM.4.1h.5v1.8c.2-.3.5-.5 1-.5.9 0 1.3.7 1.3 1.5s-.4 1.6-1.3 1.6c-.5 0-.9-.3-1-.5v.4H.4V.1z"/><path id="Fill-29" class="st0" d="M3.7 5.3H4c.5 0 .7-.7.7-.7 0-.1-.1-.2-.1-.3l-1-2.8h.6L5 4l.8-2.5h.6l-1.1 3c-.2.6-.4 1.2-1.1 1.2h-.4l-.1-.4z"/><path id="Fill-31" class="st0" d="M50.5 1.8h.2c.1 0 .2 0 .2-.2 0-.1-.1-.2-.2-.2h-.2v.4zm-.2-.5h.4c.3 0 .4.1.4.3 0 .2-.1.3-.3.3l.3.5h-.2l-.3-.5h-.2v.5h-.2V1.3h.1zm.3 1.4c.5 0 .8-.4.8-.8 0-.5-.3-.8-.8-.8s-.8.4-.8.8.4.8.8.8zm0-1.8c.5 0 1 .4 1 1 0 .5-.4 1-1 1s-1-.4-1-1c.1-.6.5-1 1-1z"/><path id="Fill-33" class="st0" d="M8.8.1h4.8v1.1H10v2.5h3.2v1H10v2.9h3.6v1H8.8z"/><path id="Fill-35" class="st0" d="M14.6 8.6h1.1V0h-1.1z"/><path id="Fill-37" class="st0" d="M17 8.6h1.1V0H17z"/><path id="Fill-38" class="st0" d="M19.4 8.6h1.2V2.3h-1.2v6.3zm-.1-7.2h1.2V0h-1.2v1.4z"/><path id="Fill-39" class="st0" d="M25.7 4.9c0-1-.6-1.7-1.6-1.7-1.1 0-1.6.9-1.7 1.7h3.3zm.7 3.5c-.4.2-.9.4-2 .4-2.2 0-3.2-1.3-3.2-3.4 0-1.9 1.2-3.2 2.9-3.2 2.1 0 2.8 1.5 2.8 3.5h-4.5c0 1.2 1 2.1 2.1 2.1.8 0 1.6-.4 1.9-.6v1.2z"/><path id="Fill-40" class="st0" d="M27.9.1H30l2.6 7.1L35.3.1h2v8.5h-1.2V1.2l-2.9 7.4H32l-2.8-7.4v7.4h-1.3z"/><path id="Fill-41" class="st0" d="M48.2 4.9c0-1-.6-1.7-1.6-1.7-1.1 0-1.6.9-1.7 1.7h3.3zm.8 3.5c-.4.2-.9.4-2 .4-2.2 0-3.2-1.3-3.2-3.4 0-1.9 1.2-3.2 2.9-3.2 2.1 0 2.8 1.5 2.8 3.5H45c0 1.2 1 2.1 2.1 2.1.8 0 1.6-.4 1.9-.6v1.2z"/><path id="Fill-42" class="st0" d="M42.2 5.6h-.7c-.6 0-2.2.1-2.2 1.2 0 .7.6 1 1.2 1 1.1 0 1.7-.7 1.7-1.6v-.6zm-3-1.5l-.9-.2c.3-1.4 1.6-1.7 2.4-1.7 1.8 0 2.5.9 2.5 2.6v2.6c0 .7 0 1 .1 1.2h-1.2v-.8c-.3.4-.9 1-1.9 1-1.3 0-2.3-.6-2.3-1.9 0-1.6 1.7-2.1 2.9-2.1H42c0-1.1-.4-1.8-1.5-1.7-1 .1-1.3 1-1.3 1z"/></g><g id="Page-1"><path id="Fill-1" class="st1" d="M28 14c0 7.7-6.3 14-14 14S0 21.7 0 14 6.3 0 14 0s14 6.3 14 14"/><path id="Fill-3" class="st2" d="M14.1 2.3v-.5H14C7.2 1.8 1.8 7.3 1.8 14h.6c6.5.1 11.7-5.2 11.7-11.7"/><path id="Fill-5" class="st3" d="M2.3 14.1h-.6c.1 6.7 5.5 12.2 12.2 12.2h.1v-.4c.1-6.5-5.1-11.8-11.7-11.8"/><path id="Fill-7" class="st4" d="M25.9 14.1h.3V14c0-6.7-5.4-12.2-12.1-12.2v.5c0 6.5 5.3 11.8 11.8 11.8"/><path id="Fill-9" class="st5" d="M14.1 25.9v.4c6.7-.1 12-5.5 12.1-12.2h-.3c-6.5 0-11.8 5.3-11.8 11.8"/></g><path id="Page-1_1_" class="st6" d="M131.1 20.1c.8.5 2 .8 2.6.8.9 0 2.1-.4 2.1-1.6 0-2-4.9-1.9-4.9-5 0-2.3 1.7-3.5 4-3.5 1 0 1.8.2 2.6.4l-.2 1.8c-.5-.3-1.7-.6-2.2-.6-1.1 0-2 .4-2 1.4 0 2.3 4.9 1.6 4.9 5.2 0 2.4-1.9 3.5-3.9 3.5-1.1 0-2.1-.1-3.1-.6l.1-1.8zm9.4-9.7h.3c.2 0 .4 0 .4-.3 0-.2-.2-.3-.4-.3h-.3v.6zm-.3-.8h.7c.4 0 .6.2.6.5s-.2.5-.5.5l.5.8h-.3l-.5-.8h-.2v.8h-.3V9.6zm.6 2.2c.7 0 1.2-.6 1.2-1.3 0-.7-.5-1.3-1.2-1.3s-1.2.6-1.2 1.3c0 .8.5 1.3 1.2 1.3zm0-2.8c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5zM123 20.1c.8.5 2 .8 2.6.8.9 0 2.1-.4 2.1-1.6 0-2-4.9-1.9-4.9-5 0-2.3 1.7-3.5 4-3.5 1 0 1.8.2 2.6.4l-.2 1.8c-.5-.3-1.7-.6-2.2-.6-1.1 0-2 .4-2 1.4 0 2.3 4.9 1.6 4.9 5.2 0 2.4-1.9 3.5-3.9 3.5-1.1 0-2.1-.1-3.1-.6l.1-1.8zm-3.8-3.1h-1.3c-1.1 0-3.9.2-3.9 2.2 0 1.2 1.1 1.8 2.1 1.8 2 0 3.1-1.3 3.1-2.9V17zm-6.2-5.1c1-.6 2.3-1.1 3.7-1.1 3.2 0 4.5 1.6 4.5 4.6V20c0 1.3 0 1.9.1 2.2h-1.9v-1.5c-.5.7-1.6 1.7-3.5 1.7-2.4 0-4.1-1.1-4.1-3.5 0-2.8 3.1-3.7 5.2-3.7h2.2c0-1.9-.7-2.9-2.8-2.9-1.2 0-2.4.4-3.3 1.1l-.1-1.5zm-7.7.6c-2.2 0-3.3 2.1-3.3 4.2 0 1.9 1 4.2 3.3 4.2 2.2 0 3.1-2.5 3.1-4.2 0-2-.8-4.2-3.1-4.2zm-5.4-1.4h2v1.6c.5-.8 1.8-1.8 3.8-1.8 3.3 0 4.8 2.7 4.8 5.7 0 3.1-1.4 6.1-4.8 6.1-2 0-3.1-.8-3.7-1.8V26h-2.1V11.1zm-17.3 0h1.9v1.6c.8-1.3 1.9-1.9 3.6-1.9 1.3 0 2.6.7 3.2 2.2.8-1.6 2.5-2.2 3.5-2.2 2.9 0 3.9 1.8 3.9 4.3v7.2h-2.1v-6.7c0-1.4-.3-3.1-2-3.1-2.1 0-2.9 2.1-2.9 4.2v5.7h-2.1v-6.7c0-1.4-.3-3.1-2-3.1-2.1 0-2.9 2.1-2.9 4.2v5.7h-2.1V11.1zm-8 9.8c2.4 0 3.5-2.2 3.5-4.2 0-2.1-1.3-4.2-3.5-4.2s-3.5 2.1-3.5 4.2c-.1 2 1 4.2 3.5 4.2zm0-10c3.4 0 5.7 2.5 5.7 5.9 0 3.2-2.3 5.9-5.7 5.9s-5.7-2.7-5.7-5.9c-.1-3.5 2.2-5.9 5.7-5.9zM67.4 13c-.8-.3-1.6-.5-2.2-.5-2.3 0-3.6 2.1-3.6 4.2 0 2 1.1 4.2 3.7 4.2.7 0 1.6-.2 2.2-.6l.2 1.8c-.9.4-1.8.5-2.6.5-3.4 0-5.7-2.7-5.7-5.9 0-3.4 2.3-5.9 5.7-5.9.8 0 1.9.2 2.5.4l-.2 1.8zm-19.2-1.9h2v1.8c.6-1.3 2.1-2 3.7-2 2.9 0 4.2 1.8 4.2 4.8v6.7H56v-5.8c0-2.6-.6-3.9-2.4-4-2.4 0-3.4 1.9-3.4 4.6v5.2h-2.1V11.1h.1zM38 7h8.6v1.9h-6.4v4.5H46v1.9h-5.8v5.1h6.4v1.9H38V7z"/></g></g></g></g></svg>
@@ -1,6 +1,7 @@
1
+ import * as React from "react";
1
2
  import styled from "styled-components";
2
- import { Notification } from "./notification";
3
- import { User } from "./user";
3
+ import { Notification } from "./notification/index.js";
4
+ import { User } from "./user/index.js";
4
5
  const NavContainer = styled.nav`
5
6
  display: flex;
6
7
  margin: 0;
@@ -1,4 +1,5 @@
1
- import { ReactComponent as NotificationIcon } from "./index.svg";
1
+ import * as React from "react";
2
+ import NotificationIcon from "./index.svg";
2
3
  const Notification = () => /* @__PURE__ */ React.createElement("li", null, /* @__PURE__ */ React.createElement("a", {
3
4
  href: "#",
4
5
  "aria-label": "Notifications"
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 16 16"><g>
2
+ <path data-color="color-2" fill="#ffffff" d="M10,14H6c0,1.1,0.9,2,2,2S10,15.1,10,14z"/>
3
+ <path fill="#ffffff" d="M15,11h-0.5C13.8,10.3,13,9.3,13,8V5c0-2.8-2.2-5-5-5S3,2.2,3,5v3c0,1.3-0.8,2.3-1.5,3H1c-0.6,0-1,0.4-1,1
4
+ s0.4,1,1,1h14c0.6,0,1-0.4,1-1S15.6,11,15,11z"/>
5
+ </g></svg>
@@ -1,4 +1,5 @@
1
- import { ReactComponent as UserIcon } from "./index.svg";
1
+ import * as React from "react";
2
+ import UserIcon from "./index.svg";
2
3
  const User = () => /* @__PURE__ */ React.createElement("li", null, /* @__PURE__ */ React.createElement("a", {
3
4
  href: "#",
4
5
  "aria-label": "profile"
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 16 16"><g><path fill="#ffffff" d="M8,2c1.1,0,2,0.9,2,2v1c0,1.1-0.9,2-2,2S6,6.1,6,5V4C6,2.9,6.9,2,8,2 M8,0C5.8,0,4,1.8,4,4v1
2
+ c0,2.2,1.8,4,4,4s4-1.8,4-4V4C12,1.8,10.2,0,8,0L8,0z"/>
3
+ <path data-color="color-2" fill="#ffffff" d="M9,12c1.5,0,2.8,0.8,3.5,2l-8.9,0c0.7-1.2,2-2,3.5-2H9 M9,10H7c-3.3,0-6,2.7-6,6v0h14v0
4
+ C15,12.7,12.3,10,9,10L9,10z"/></g></svg>
@@ -0,0 +1,27 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Intro" />
4
+
5
+ # Get Started
6
+
7
+ Software Development Kit / API for developing React Web applications. Implements cross cutting concerns as reusable APIs
8
+
9
+ ## Install
10
+
11
+ `npm install --save @elliemae/app-react-dependencies @elliemae/pui-user-monitoring @elliemae/pui-theme @elliemae/ds-basic @elliemae/ds-modal @elliemae/pui-app-sdk`
12
+
13
+ ### **Use**
14
+
15
+ Import react components you want into your UI
16
+
17
+ `import { WaitMessage } from ‘@elliemae/pui-app-sdk’;`
18
+
19
+ and use them like so
20
+
21
+ ```
22
+ const LoadingIndicator = () => (
23
+ <div>
24
+ <WaitMessage size='m' isOpen />
25
+ </div>
26
+ )
27
+ ```
@@ -1,5 +1,6 @@
1
+ import * as React from "react";
1
2
  import { LiveMessage as AriaLiveMessage } from "react-aria-live";
2
- import { useAppSelector } from "../../data/react-redux";
3
+ import { useAppSelector } from "../../data/react-redux.js";
3
4
  const LiveMessage = () => {
4
5
  const message = useAppSelector((state) => state.liveMessage?.message);
5
6
  const id = useAppSelector((state) => state.liveMessage?.id);
@@ -1,5 +1,6 @@
1
+ import * as React from "react";
1
2
  import { lazy, Suspense } from "react";
2
- import { WaitMessageLauncher } from "../modals/wait-message/wait-message-launcher";
3
+ import { WaitMessageLauncher } from "../modals/wait-message/wait-message-launcher.js";
3
4
  const loadable = (importFunc, fallback = /* @__PURE__ */ React.createElement(WaitMessageLauncher, null)) => {
4
5
  const LazyComponent = lazy(importFunc);
5
6
  return (props) => /* @__PURE__ */ React.createElement(Suspense, {
@@ -1,7 +1,8 @@
1
+ import * as React from "react";
1
2
  import { useEffect } from "react";
2
- import { useAppDispatch } from "../../data/react-redux";
3
- import { login } from "../../utils/auth";
4
- import { LOGIN_SUCCESS } from "../../data/auth/actions";
3
+ import { useAppDispatch } from "../../data/react-redux.js";
4
+ import { login } from "../../utils/auth/index.js";
5
+ import { LOGIN_SUCCESS } from "../../data/auth/actions.js";
5
6
  const Login = ({
6
7
  clientId,
7
8
  scope,
@@ -1,10 +1,11 @@
1
+ import * as React from "react";
1
2
  import { useEffect, useContext } from "react";
2
3
  import { ThemeContext } from "styled-components";
3
4
  import { publish } from "pubsub-js";
4
- import { useAppDispatch } from "../../data/react-redux";
5
- import { breakpoint } from "../../data/breakpoint";
6
- import { useMediaBreakpoints } from "../useMediaBreakpoints";
7
- import { HOST_WINDOW_BREAKPOINT_CHANGED } from "../../utils/constants";
5
+ import { useAppDispatch } from "../../data/react-redux.js";
6
+ import { breakpoint } from "../../data/breakpoint/index.js";
7
+ import { useMediaBreakpoints } from "../useMediaBreakpoints/index.js";
8
+ import { HOST_WINDOW_BREAKPOINT_CHANGED } from "../../utils/constants.js";
8
9
  const MediaBreakpoint = () => {
9
10
  const theme = useContext(ThemeContext);
10
11
  const currentBreakpoint = useMediaBreakpoints([
@@ -1,4 +1,4 @@
1
- import { removeEvent } from "../host-binding-events";
1
+ import { removeEvent } from "../host-binding-events/index.js";
2
2
  const getHostAppData = (action, resolve) => (event) => {
3
3
  if (event.data.id === "host-app-data") {
4
4
  action(event.data);
@@ -1,22 +1,25 @@
1
- import { persistentStorage } from "../../../utils/web-storage";
2
- import { CMicroAppHost } from "../../../utils/micro-frontend/host";
3
- import { getLogger } from "../../../utils/micro-frontend";
4
- import { logRecords } from "../../../utils/log-records";
5
- import { APP_CONTAINER_ID_PREFIX } from "../const";
6
- import { getCurrentBreakpoint, getViewportSize } from "../../../utils/window";
1
+ import { persistentStorage } from "../../../utils/web-storage.js";
2
+ import { CMicroAppHost } from "../../../utils/micro-frontend/host.js";
3
+ import { getLogger } from "../../../utils/micro-frontend/index.js";
4
+ import { logRecords } from "../../../utils/log-records.js";
5
+ import { APP_CONTAINER_ID_PREFIX } from "../const.js";
6
+ import {
7
+ getCurrentBreakpoint,
8
+ getViewportSize
9
+ } from "../../../utils/window.js";
7
10
  import {
8
11
  addStylesToDOM,
9
12
  removeDynamicImportedStyles
10
- } from "../resources/style";
13
+ } from "../resources/style.js";
11
14
  import {
12
15
  addScriptToDOM,
13
16
  removeDynamicImportedScripts,
14
17
  removePrefetchLinks
15
- } from "../resources/script";
18
+ } from "../resources/script.js";
16
19
  import {
17
20
  getAppManifest,
18
21
  getFullFileNameofAssetsFromManifest
19
- } from "../resources/manifest";
22
+ } from "../resources/manifest.js";
20
23
  const cssType = new RegExp(/\.css$/);
21
24
  const isCss = (fileName) => cssType.test(fileName);
22
25
  const activeApps = {};
@@ -120,6 +123,8 @@ const unloadApp = ({
120
123
  hostUrl,
121
124
  documentEle
122
125
  }) => {
126
+ if (!hostUrl)
127
+ throw new Error("Unable to unload app. hostUrl is required");
123
128
  getLogger().info(logRecords.APP_UNLOADING(id));
124
129
  const app = (window.emui || {})[id];
125
130
  if (!app)
@@ -1,7 +1,8 @@
1
+ import * as React from "react";
1
2
  import { memo } from "react";
2
3
  import styled from "styled-components";
3
- import { APP_CONTAINER_ID_PREFIX } from "./const";
4
- import { useAppWillRender } from "./use-app-will-render";
4
+ import { APP_CONTAINER_ID_PREFIX } from "./const.js";
5
+ import { useAppWillRender } from "./use-app-will-render.js";
5
6
  const Div = styled.div`
6
7
  height: 100%;
7
8
  width: 100%;
@@ -1,12 +1,14 @@
1
- import { getHTTPClient } from "../../../communication/http-client";
2
- import { removeDoubleSlash } from "../../../utils/url";
3
- import { getLogger } from "../../../utils/micro-frontend";
4
- import { logRecords } from "../../../utils/log-records";
1
+ import { getHTTPClient } from "../../../communication/http-client/index.js";
2
+ import { removeDoubleSlash } from "../../../utils/url.js";
3
+ import { getLogger } from "../../../utils/micro-frontend/index.js";
4
+ import { logRecords } from "../../../utils/log-records.js";
5
5
  const getUnVersionedManifestPath = (path) => path.replace(/\/\d+\.\d+/, "/latest");
6
6
  const getAppManifest = async ({
7
7
  hostUrl,
8
8
  manifestPath
9
9
  }) => {
10
+ if (!hostUrl || !manifestPath)
11
+ throw new Error("Unable to get app manifest. hostUrl and manifestPath are required.");
10
12
  const url = new URL(`${manifestPath.replace(/\/?$/, "/")}manifest.json`, hostUrl);
11
13
  const response = await getHTTPClient().get(removeDoubleSlash(url.href));
12
14
  const { headers } = response;
@@ -1,4 +1,4 @@
1
- import { removeDoubleSlash } from "../../../utils/url";
1
+ import { removeDoubleSlash } from "../../../utils/url.js";
2
2
  const APP_SCRIPT_ID_PREFIX = "emui-script-";
3
3
  const HEAD_SCRIPTS = new RegExp("/(?:emuiDiagnostics|global|global-prod|emuiUserMonitoring)(?:..*)?.js", "i");
4
4
  const isHeadScript = (scriptSrc) => HEAD_SCRIPTS.test(scriptSrc);
@@ -1,4 +1,4 @@
1
- import { removeDoubleSlash } from "../../../utils/url";
1
+ import { removeDoubleSlash } from "../../../utils/url.js";
2
2
  const APP_STYLE_ID_PREFIX = "emui-style-";
3
3
  const addStylesToDOM = ({ name, hostUrl, documentEle }, fileName, index) => new Promise((resolve, reject) => {
4
4
  const ele = documentEle.createElement("link");
@@ -1,18 +1,24 @@
1
1
  import { useRef, useLayoutEffect, useCallback } from "react";
2
2
  import { merge } from "lodash";
3
3
  import { useDispatch } from "react-redux";
4
- import { waitMessage } from "../../data/wait-message/actions";
5
- import { loadApp, unloadApp, mountApp, unmountApp } from "./app-factory";
4
+ import { waitMessage } from "../../data/wait-message/actions.js";
5
+ import {
6
+ loadApp,
7
+ unloadApp,
8
+ mountApp,
9
+ unmountApp
10
+ } from "./app-factory/index.js";
6
11
  import {
7
12
  getLogger,
8
13
  getMicroFrontEndAppConfig
9
- } from "../../utils/micro-frontend";
10
- import { logRecords } from "../../utils/log-records";
14
+ } from "../../utils/micro-frontend/index.js";
15
+ import { logRecords } from "../../utils/log-records.js";
11
16
  const useAppWillRender = ({
12
17
  id,
13
18
  documentEle,
14
19
  history,
15
20
  theme,
21
+ homeRoute,
16
22
  onUnloadComplete
17
23
  }) => {
18
24
  const dispatch = useDispatch ? useDispatch() : null;
@@ -52,13 +58,14 @@ const useAppWillRender = ({
52
58
  const appConfig = merge(getConfig(), {
53
59
  documentEle,
54
60
  history,
55
- theme
61
+ theme,
62
+ homeRoute
56
63
  });
57
64
  load(appConfig);
58
65
  return () => {
59
66
  ref.current = unload(appConfig);
60
67
  };
61
- }, [documentEle, getConfig, history, theme, load, unload]);
68
+ }, [documentEle, getConfig, history, theme, homeRoute, load, unload]);
62
69
  };
63
70
  export {
64
71
  useAppWillRender
@@ -1,4 +1,4 @@
1
- import { getAppConfigValue } from "../../utils/app-config/config";
1
+ import { getAppConfigValue } from "../../utils/app-config/config.js";
2
2
  const getNavigationLinks = () => {
3
3
  const microApps = getAppConfigValue("microFrontendApps");
4
4
  if (!microApps)
@@ -1,10 +1,11 @@
1
+ import * as React from "react";
1
2
  import { memo, useState } from "react";
2
3
  import frameHtml from "file-loader?name=iframe.[contenthash].[ext]!./iframe/index.html";
3
- import { IFrame } from "./iframe";
4
- import { useFrameLoaded } from "./use-frame-loaded";
4
+ import { IFrame } from "./iframe/index.js";
5
+ import { useFrameLoaded } from "./use-frame-loaded.js";
5
6
  import {
6
7
  useAppWillRender
7
- } from "../micro-app/use-app-will-render";
8
+ } from "../micro-app/use-app-will-render.js";
8
9
  const App = memo(({ id, dispose, onUnloadComplete, ...rest }) => {
9
10
  const [documentEle, setDocumentEle] = useState(null);
10
11
  useFrameLoaded({ id, documentEle, ...rest });
@@ -0,0 +1,74 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <!-- The first thing in any HTML file should be the charset -->
5
+ <meta charset="utf-8" />
6
+ <!-- Make the page mobile compatible -->
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+ <!-- Allow installing the app to the homescreen -->
9
+ <meta name="mobile-web-app-capable" content="yes" />
10
+ <link rel="icon" href="/favicon.ico" />
11
+ <title>Application</title>
12
+ <!-- Google Tag Manager -->
13
+ <!-- <script nonce="__CSP_NONCE__">
14
+ (function (w, d, s, l, i) {
15
+ w[l] = w[l] || [];
16
+ w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
17
+ var f = d.getElementsByTagName(s)[0],
18
+ j = d.createElement(s),
19
+ dl = l != 'dataLayer' ? '&l=' + l : '';
20
+ j.async = true;
21
+ j.src =
22
+ 'https://www.googletagmanager.com/gtm.js?id=' +
23
+ i +
24
+ dl;
25
+ f.parentNode.insertBefore(j, f);
26
+ })(window, document, 'script', 'dataLayer', window.emui.gtm.id);
27
+ </script> -->
28
+ <!-- <script nonce="__CSP_NONCE__">
29
+ window.emuiUserMonitoring = window.parent.emuiUserMonitoring || {
30
+ setCustomVirtualPageName: function () {},
31
+ startVirtualPageMonitoringWithAutoEnd: function () {},
32
+ };
33
+ </script> -->
34
+ <script>
35
+ (function (i, s, o, g, r, a, m) {
36
+ i['GoogleAnalyticsObject'] = r;
37
+ (i[r] =
38
+ i[r] ||
39
+ function () {
40
+ (i[r].q = i[r].q || []).push(arguments);
41
+ }),
42
+ (i[r].l = 1 * new Date());
43
+ (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
44
+ a.async = 1;
45
+ a.src = g;
46
+ m.parentNode.insertBefore(a, m);
47
+ })(
48
+ window,
49
+ document,
50
+ 'script',
51
+ 'https://www.google-analytics.com/analytics.js',
52
+ 'ga',
53
+ );
54
+ </script>
55
+ <style>
56
+ .full-width {
57
+ width: 100%;
58
+ }
59
+ .full-height {
60
+ height: 100%;
61
+ }
62
+ </style>
63
+ </head>
64
+
65
+ <body class="full-width full-height">
66
+ <!-- Display a message if JS has been disabled on the browser. -->
67
+ <noscript
68
+ >If you're seeing this message, that means
69
+ <strong>JavaScript has been disabled on your browser</strong>, please
70
+ <strong>enable JS</strong> to make this app work.</noscript
71
+ >
72
+ <div id="pui-app-container-" class="full-width full-height"></div>
73
+ </body>
74
+ </html>
@@ -1,6 +1,7 @@
1
+ import * as React from "react";
1
2
  import { memo, useRef } from "react";
2
3
  import styled from "styled-components";
3
- import { IFRAME_CONTAINER_ID_PREFIX } from "./const";
4
+ import { IFRAME_CONTAINER_ID_PREFIX } from "./const.js";
4
5
  const Div = styled.div`
5
6
  display: flex;
6
7
  width: 100%;
@@ -1,6 +1,7 @@
1
+ import * as React from "react";
1
2
  import { useEffect, useState, memo } from "react";
2
- import { usePrevious } from "../use-previous";
3
- import { App } from "./app";
3
+ import { usePrevious } from "../use-previous.js";
4
+ import { App } from "./app.js";
4
5
  const MicroIFrameApp = memo(({ entityId = null, ...rest }) => {
5
6
  const [disposePrevApp, setDisposePrevApp] = useState(false);
6
7
  const [appKey, setAppKey] = useState(Date.now());
@@ -1,11 +1,13 @@
1
1
  import { useEffect } from "react";
2
- import { trackActivity } from "../../utils/session";
3
- import { CMicroAppHost } from "../../utils/micro-frontend/host";
4
- import { getMicroFrontEndAppConfig } from "../../utils/micro-frontend";
2
+ import { trackActivity } from "../../utils/session.js";
3
+ import { CMicroAppHost } from "../../utils/micro-frontend/host.js";
4
+ import { getMicroFrontEndAppConfig } from "../../utils/micro-frontend/index.js";
5
5
  const addBaseTag = (id, documentEle) => {
6
6
  const { hostUrl, manifestPath } = getMicroFrontEndAppConfig({
7
7
  id
8
8
  });
9
+ if (!manifestPath)
10
+ return;
9
11
  const base = documentEle.createElement("base");
10
12
  base.href = new URL(manifestPath, hostUrl).href;
11
13
  documentEle.getElementsByTagName("head")[0].appendChild(base);
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import { useState } from "react";
2
3
  import DSModal, { MODAL_TYPE } from "@elliemae/ds-modal";
3
4
  const Error = ({