@elliemae/pui-app-sdk 3.0.0-beta.24 → 3.0.0-beta.28

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 (240) hide show
  1. package/dist/cjs/analytics/appdynamics.js +16 -2
  2. package/dist/cjs/analytics/index.js +15 -1
  3. package/dist/cjs/analytics/web-analytics.js +15 -1
  4. package/dist/cjs/communication/http-client/index.js +42 -9
  5. package/dist/cjs/data/reducers.js +17 -4
  6. package/dist/cjs/data/store.js +2 -0
  7. package/dist/cjs/data/webpack-hmr.js +42 -0
  8. package/dist/cjs/index.js +1 -0
  9. package/dist/cjs/package.json +7 -1
  10. package/dist/cjs/sideeffect/auth/index.js +21 -6
  11. package/dist/cjs/sideeffect/error-toast/index.js +19 -3
  12. package/dist/cjs/sideeffect/wait-message/index.js +21 -6
  13. package/dist/cjs/utils/auth/index.js +21 -6
  14. package/dist/cjs/utils/service-worker.js +2 -3
  15. package/dist/cjs/utils/storybook/preview.js +7 -3
  16. package/dist/cjs/utils/storybook/theme.js +39 -9
  17. package/dist/cjs/utils/testing/index.js +15 -1
  18. package/dist/cjs/utils/testing/render-with-redux.js +20 -4
  19. package/dist/cjs/utils/testing/render-with-router-redux.js +22 -6
  20. package/dist/cjs/utils/testing/render-with-router.js +19 -3
  21. package/dist/cjs/utils/testing/render-with-state-addons.js +39 -10
  22. package/dist/cjs/view/app-root/index.js +15 -5
  23. package/dist/cjs/view/app-router.js +33 -4
  24. package/dist/cjs/view/error-boundary/index.js +19 -3
  25. package/dist/cjs/view/error-toast/index.js +19 -9
  26. package/dist/cjs/view/fetch-host-app-data/store.js +15 -1
  27. package/dist/cjs/view/fields/check-box/index.js +42 -9
  28. package/dist/cjs/view/fields/combo-box/index.js +54 -18
  29. package/dist/cjs/view/fields/connect-form.js +15 -3
  30. package/dist/cjs/view/fields/date-input/index.js +44 -15
  31. package/dist/cjs/view/fields/date-picker/index.js +44 -15
  32. package/dist/cjs/view/fields/form-item-layout/index.js +41 -13
  33. package/dist/cjs/view/fields/form-layout-block-item/index.js +46 -16
  34. package/dist/cjs/view/fields/input-mask/index.js +43 -15
  35. package/dist/cjs/view/fields/large-text-box/index.js +44 -15
  36. package/dist/cjs/view/fields/radio/index.js +53 -17
  37. package/dist/cjs/view/fields/radio-group/index.js +43 -10
  38. package/dist/cjs/view/fields/text-box/index.js +44 -15
  39. package/dist/cjs/view/form/index.js +17 -6
  40. package/dist/cjs/view/form/submit-button/index.js +33 -4
  41. package/dist/cjs/view/loadable/index.js +15 -3
  42. package/dist/cjs/view/micro-app/app-factory/index.js +18 -1
  43. package/dist/cjs/view/micro-app/use-app-will-render.js +19 -3
  44. package/dist/cjs/view/micro-iframe-app/app.js +39 -10
  45. package/dist/cjs/view/micro-iframe-app/iframe/index.js +21 -4
  46. package/dist/cjs/view/micro-iframe-app/index.js +33 -4
  47. package/dist/cjs/view/modals/wait-message/index.js +41 -9
  48. package/dist/cjs/view/visually-hidden/index.js +17 -4
  49. package/dist/esm/analytics/appdynamics.js +34 -0
  50. package/dist/esm/analytics/index.js +43 -0
  51. package/dist/{es → esm}/analytics/page-view-event.js +0 -0
  52. package/dist/{es → esm}/analytics/user-session-event.js +0 -0
  53. package/dist/{es → esm}/analytics/user-wait-event.js +0 -0
  54. package/dist/esm/analytics/web-analytics.js +30 -0
  55. package/dist/{es → esm}/api/auth/index.js +0 -0
  56. package/dist/{es → esm}/api/helpers.js +0 -0
  57. package/dist/{es → esm}/api/users/index.js +0 -0
  58. package/dist/{es → esm}/api/users/users.json +0 -0
  59. package/dist/{es → esm}/app.config.json +0 -0
  60. package/dist/esm/communication/http-client/index.js +70 -0
  61. package/dist/{es → esm}/communication/http-client/request-interceptor.js +0 -0
  62. package/dist/{es → esm}/communication/http-client/response-interceptor.js +0 -0
  63. package/dist/{es → esm}/communication/http-client/retry-axios.js +0 -0
  64. package/dist/{es → esm}/communication/http-client/retry.js +0 -0
  65. package/dist/{es → esm}/data/auth/actions.js +0 -0
  66. package/dist/{es → esm}/data/auth/reducer.js +0 -0
  67. package/dist/{es → esm}/data/breakpoint/index.js +0 -0
  68. package/dist/{es → esm}/data/error/index.js +0 -0
  69. package/dist/{es → esm}/data/index.js +0 -0
  70. package/dist/{es → esm}/data/live-message/index.js +0 -0
  71. package/dist/{es → esm}/data/logout/actions.js +0 -0
  72. package/dist/{es → esm}/data/navigation-prompt/actions.js +0 -0
  73. package/dist/{es → esm}/data/react-redux.js +0 -0
  74. package/dist/esm/data/reducers.js +33 -0
  75. package/dist/{es → esm}/data/saga.js +0 -0
  76. package/dist/{es → esm}/data/store.js +2 -0
  77. package/dist/{es → esm}/data/wait-message/actions.js +0 -0
  78. package/dist/{es → esm}/data/wait-message/reducer.js +0 -0
  79. package/dist/esm/data/webpack-hmr.js +17 -0
  80. package/dist/{es → esm}/index.js +5 -1
  81. package/dist/{es → esm}/index.pug +0 -0
  82. package/dist/{es → esm}/micro-frontend.js +0 -0
  83. package/dist/esm/package.json +7 -0
  84. package/dist/esm/sideeffect/auth/index.js +64 -0
  85. package/dist/esm/sideeffect/error-toast/index.js +43 -0
  86. package/dist/esm/sideeffect/wait-message/index.js +55 -0
  87. package/dist/{es → esm}/typings/custom.d.js +0 -0
  88. package/dist/{es → esm}/typings/elliemae.d.js +0 -0
  89. package/dist/{es → esm}/typings/styled.d.js +0 -0
  90. package/dist/{es → esm}/typings/thirdparty.d.js +0 -0
  91. package/dist/{es → esm}/utils/app-config/config.js +0 -0
  92. package/dist/{es → esm}/utils/app-config/index.js +0 -0
  93. package/dist/{es → esm}/utils/app-host-integration/react.js +0 -0
  94. package/dist/{es → esm}/utils/auth/helper.js +0 -0
  95. package/dist/{es → esm}/utils/auth/index.js +23 -6
  96. package/dist/{es → esm}/utils/await.js +0 -0
  97. package/dist/{es → esm}/utils/constants.js +0 -0
  98. package/dist/{es → esm}/utils/font-size.js +0 -0
  99. package/dist/{es → esm}/utils/guest-with-service.js +0 -0
  100. package/dist/{es → esm}/utils/helpers.js +0 -0
  101. package/dist/{es → esm}/utils/history.js +0 -0
  102. package/dist/{es → esm}/utils/log-records.js +0 -0
  103. package/dist/{es → esm}/utils/micro-frontend/console-logger.js +0 -0
  104. package/dist/{es → esm}/utils/micro-frontend/guest.js +0 -0
  105. package/dist/{es → esm}/utils/micro-frontend/host.js +0 -0
  106. package/dist/{es → esm}/utils/micro-frontend/index.js +0 -0
  107. package/dist/{es → esm}/utils/micro-frontend/types.js +0 -0
  108. package/dist/{es → esm}/utils/redact-pii.js +0 -0
  109. package/dist/{es → esm}/utils/service-worker.js +2 -3
  110. package/dist/{es → esm}/utils/session.js +0 -0
  111. package/dist/{es → esm}/utils/storybook/manager.js +0 -0
  112. package/dist/{es → esm}/utils/storybook/preview.js +7 -3
  113. package/dist/esm/utils/storybook/theme.js +45 -0
  114. package/dist/esm/utils/testing/index.js +38 -0
  115. package/dist/esm/utils/testing/render-with-redux.js +35 -0
  116. package/dist/esm/utils/testing/render-with-router-redux.js +41 -0
  117. package/dist/esm/utils/testing/render-with-router.js +37 -0
  118. package/dist/esm/utils/testing/render-with-state-addons.js +69 -0
  119. package/dist/{es → esm}/utils/types.js +0 -0
  120. package/dist/{es → esm}/utils/url.js +0 -0
  121. package/dist/{es → esm}/utils/web-storage.js +0 -0
  122. package/dist/{es → esm}/utils/window.js +0 -0
  123. package/dist/{es → esm}/view/app-root/hosted-app.js +0 -0
  124. package/dist/{es → esm}/view/app-root/index.js +17 -5
  125. package/dist/{es → esm}/view/app-root/stand-alone-app.js +0 -0
  126. package/dist/{es → esm}/view/app-root/style.js +0 -0
  127. package/dist/esm/view/app-router.js +50 -0
  128. package/dist/{es → esm}/view/breakpoint/use-breakpoint.js +0 -0
  129. package/dist/{es → esm}/view/breakpoint/use-media-query-list.js +0 -0
  130. package/dist/{es → esm}/view/error-boundary/default-error-template.js +0 -0
  131. package/dist/esm/view/error-boundary/index.js +54 -0
  132. package/dist/esm/view/error-toast/index.js +42 -0
  133. package/dist/{es → esm}/view/fetch-host-app-data/index.js +0 -0
  134. package/dist/esm/view/fetch-host-app-data/store.js +28 -0
  135. package/dist/esm/view/fields/check-box/index.js +52 -0
  136. package/dist/esm/view/fields/combo-box/index.js +64 -0
  137. package/dist/esm/view/fields/connect-form.js +24 -0
  138. package/dist/esm/view/fields/date-input/index.js +53 -0
  139. package/dist/esm/view/fields/date-picker/index.js +53 -0
  140. package/dist/esm/view/fields/form-item-layout/index.js +50 -0
  141. package/dist/esm/view/fields/form-layout-block-item/index.js +57 -0
  142. package/dist/esm/view/fields/input-mask/index.js +59 -0
  143. package/dist/esm/view/fields/large-text-box/index.js +53 -0
  144. package/dist/esm/view/fields/radio/index.js +62 -0
  145. package/dist/esm/view/fields/radio-group/index.js +52 -0
  146. package/dist/esm/view/fields/text-box/index.js +53 -0
  147. package/dist/{es → esm}/view/fields/watch-value.js +0 -0
  148. package/dist/esm/view/form/index.js +46 -0
  149. package/dist/{es → esm}/view/form/personal-info-section.js +0 -0
  150. package/dist/esm/view/form/submit-button/index.js +48 -0
  151. package/dist/{es → esm}/view/guest-unload-handlers/index.js +0 -0
  152. package/dist/{es → esm}/view/host-binding-events/index.js +0 -0
  153. package/dist/{es → esm}/view/intro.stories.mdx +0 -0
  154. package/dist/{es → esm}/view/live-message/index.js +0 -0
  155. package/dist/esm/view/loadable/index.js +28 -0
  156. package/dist/{es → esm}/view/login/index.js +0 -0
  157. package/dist/{es → esm}/view/message-to-host-app/index.js +0 -0
  158. package/dist/{es → esm}/view/micro-app/app-factory/index.js +20 -1
  159. package/dist/{es → esm}/view/micro-app/const.js +0 -0
  160. package/dist/{es → esm}/view/micro-app/index.js +0 -0
  161. package/dist/{es → esm}/view/micro-app/resources/manifest.js +0 -0
  162. package/dist/{es → esm}/view/micro-app/resources/script.js +0 -0
  163. package/dist/{es → esm}/view/micro-app/resources/style.js +0 -0
  164. package/dist/{es → esm}/view/micro-app/types.js +0 -0
  165. package/dist/{es → esm}/view/micro-app/use-app-will-render.js +21 -3
  166. package/dist/{es → esm}/view/micro-app/utils.js +0 -0
  167. package/dist/esm/view/micro-iframe-app/app.js +58 -0
  168. package/dist/{es → esm}/view/micro-iframe-app/iframe/const.js +0 -0
  169. package/dist/{es → esm}/view/micro-iframe-app/iframe/index.html +0 -0
  170. package/dist/esm/view/micro-iframe-app/iframe/index.js +54 -0
  171. package/dist/esm/view/micro-iframe-app/index.js +57 -0
  172. package/dist/{es → esm}/view/micro-iframe-app/types.js +0 -0
  173. package/dist/{es → esm}/view/micro-iframe-app/use-frame-loaded.js +0 -0
  174. package/dist/{es → esm}/view/modals/error/index.js +0 -0
  175. package/dist/{es → esm}/view/modals/navigation-prompt/index.js +0 -0
  176. package/dist/{es → esm}/view/modals/session-expiry/customHooks.js +0 -0
  177. package/dist/{es → esm}/view/modals/session-expiry/index.js +0 -0
  178. package/dist/esm/view/modals/wait-message/index.js +69 -0
  179. package/dist/{es → esm}/view/modals/wait-message/use-html-wait-message.js +0 -0
  180. package/dist/{es → esm}/view/modals/wait-message/wait-message-launcher.js +0 -0
  181. package/dist/{es → esm}/view/page.js +0 -0
  182. package/dist/{es → esm}/view/render-with-delay/index.js +0 -0
  183. package/dist/{es → esm}/view/render-with-host-data/index.js +0 -0
  184. package/dist/{es → esm}/view/require-auth.js +0 -0
  185. package/dist/{es → esm}/view/session-timeout/index.js +0 -0
  186. package/dist/{es → esm}/view/storybook/decorator.js +0 -0
  187. package/dist/{es → esm}/view/use-previous.js +0 -0
  188. package/dist/{es → esm}/view/use-window-size-change.js +0 -0
  189. package/dist/esm/view/visually-hidden/index.js +37 -0
  190. package/dist/types/communication/http-client/tests/{index.test-disable.d.ts → index.test.d.ts} +0 -0
  191. package/dist/types/data/store.d.ts +2 -2
  192. package/dist/types/data/webpack-hmr.d.ts +1 -0
  193. package/dist/types/index.d.ts +1 -1
  194. package/dist/types/utils/storybook/preview.d.ts +1 -0
  195. package/dist/types/utils/testing/render-with-redux.d.ts +3 -3
  196. package/dist/types/utils/testing/render-with-router-redux.d.ts +3 -3
  197. package/dist/types/utils/testing/render-with-router.d.ts +1 -1
  198. package/dist/types/view/fields/input-mask/index.d.ts +1 -1
  199. package/package.json +41 -42
  200. package/dist/cjs/communication/http-client/tests/index.test-disable.js +0 -64
  201. package/dist/es/analytics/appdynamics.js +0 -18
  202. package/dist/es/analytics/index.js +0 -27
  203. package/dist/es/analytics/web-analytics.js +0 -14
  204. package/dist/es/communication/http-client/index.js +0 -35
  205. package/dist/es/communication/http-client/tests/index.test-disable.js +0 -46
  206. package/dist/es/data/reducers.js +0 -18
  207. package/dist/es/package.json +0 -1
  208. package/dist/es/sideeffect/auth/index.js +0 -47
  209. package/dist/es/sideeffect/error-toast/index.js +0 -25
  210. package/dist/es/sideeffect/wait-message/index.js +0 -38
  211. package/dist/es/utils/storybook/theme.js +0 -13
  212. package/dist/es/utils/testing/index.js +0 -22
  213. package/dist/es/utils/testing/render-with-redux.js +0 -17
  214. package/dist/es/utils/testing/render-with-router-redux.js +0 -23
  215. package/dist/es/utils/testing/render-with-router.js +0 -19
  216. package/dist/es/utils/testing/render-with-state-addons.js +0 -38
  217. package/dist/es/view/app-router.js +0 -19
  218. package/dist/es/view/error-boundary/index.js +0 -36
  219. package/dist/es/view/error-toast/index.js +0 -30
  220. package/dist/es/view/fetch-host-app-data/store.js +0 -12
  221. package/dist/es/view/fields/check-box/index.js +0 -17
  222. package/dist/es/view/fields/combo-box/index.js +0 -26
  223. package/dist/es/view/fields/connect-form.js +0 -10
  224. package/dist/es/view/fields/date-input/index.js +0 -22
  225. package/dist/es/view/fields/date-picker/index.js +0 -22
  226. package/dist/es/view/fields/form-item-layout/index.js +0 -20
  227. package/dist/es/view/fields/form-layout-block-item/index.js +0 -25
  228. package/dist/es/view/fields/input-mask/index.js +0 -29
  229. package/dist/es/view/fields/large-text-box/index.js +0 -22
  230. package/dist/es/view/fields/radio/index.js +0 -24
  231. package/dist/es/view/fields/radio-group/index.js +0 -17
  232. package/dist/es/view/fields/text-box/index.js +0 -22
  233. package/dist/es/view/form/index.js +0 -33
  234. package/dist/es/view/form/submit-button/index.js +0 -17
  235. package/dist/es/view/loadable/index.js +0 -14
  236. package/dist/es/view/micro-iframe-app/app.js +0 -27
  237. package/dist/es/view/micro-iframe-app/iframe/index.js +0 -35
  238. package/dist/es/view/micro-iframe-app/index.js +0 -26
  239. package/dist/es/view/modals/wait-message/index.js +0 -35
  240. package/dist/es/view/visually-hidden/index.js +0 -22
@@ -1,46 +0,0 @@
1
- import enums from "../../../utils/constants.js";
2
- import { getAuthHTTPClient } from "../index.js";
3
- import { onAuthorizationFailure } from "../response-interceptor.js";
4
- describe("http client test cases", () => {
5
- const callApi = ({
6
- apiUrl,
7
- options = {},
8
- baseURL = "http://localhost:3001"
9
- }) => {
10
- const httpClient = getAuthHTTPClient({ baseURL });
11
- return httpClient.get(apiUrl, options);
12
- };
13
- const refreshToken = () => new Promise((resolve) => {
14
- const authorizationHeader = "pui";
15
- sessionStorage.setItem(enums.AUTHORIZATION, authorizationHeader);
16
- resolve(authorizationHeader);
17
- });
18
- it("should download large file without timing out", async () => {
19
- jest.setTimeout(3e5);
20
- const { data } = await callApi({
21
- apiUrl: "annual_report_2009.pdf",
22
- options: { timeout: 2e5 },
23
- baseURL: "https://www.iso.org/files/live/sites/isoorg/files/archive/pdf/en"
24
- });
25
- expect(data).toBeDefined();
26
- });
27
- it("should throw connection aborted error for large file download", async () => {
28
- jest.setTimeout(3e5);
29
- await expect(callApi({
30
- apiUrl: "annual_report_2009.pdf",
31
- baseURL: "https://www.iso.org/files/live/sites/isoorg/files/archive/pdf/en"
32
- })).rejects.toEqual(new Error("timeout of 10000ms exceeded"));
33
- });
34
- it("should return success response", async () => {
35
- const { data } = await callApi({ apiUrl: "/hello" });
36
- expect(data.name).toEqual("pui-app-sdk");
37
- });
38
- it("should return unauthorized 401 response", async () => {
39
- await expect(callApi({ apiUrl: "/private" })).rejects.toThrow("Request failed with status code 401");
40
- });
41
- it("should return success after refreshing authorization token", async () => {
42
- onAuthorizationFailure(refreshToken);
43
- const { data } = await callApi({ apiUrl: "/private" });
44
- expect(data.message).toEqual("you are viewing a private message");
45
- });
46
- });
@@ -1,18 +0,0 @@
1
- import { combineReducers } from "@reduxjs/toolkit";
2
- import { waitMessageReducer } from "./wait-message/reducer.js";
3
- import { errorReducer } from "./error/index.js";
4
- import { breakpointReducer } from "./breakpoint/index.js";
5
- import { liveMessageReducer } from "./live-message/index.js";
6
- const createReducer = (injectedReducers = {}) => {
7
- const rootReducer = combineReducers({
8
- waitMessage: waitMessageReducer,
9
- error: errorReducer,
10
- breakpoint: breakpointReducer,
11
- liveMessage: liveMessageReducer,
12
- ...injectedReducers
13
- });
14
- return rootReducer;
15
- };
16
- export {
17
- createReducer
18
- };
@@ -1 +0,0 @@
1
- {"type":"module","sideEffects":["*.css","*.html"]}
@@ -1,47 +0,0 @@
1
- import {
2
- call,
3
- put,
4
- takeLatest
5
- } from "redux-saga/effects";
6
- import {
7
- LOGIN,
8
- LOGOUT,
9
- LOGIN_SUCCESS
10
- } from "../../data/auth/actions.js";
11
- import { authorize, endSession } from "../../utils/auth/index.js";
12
- import { getLogger } from "../../utils/micro-frontend/index.js";
13
- import { logRecords } from "../../utils/log-records.js";
14
- function* login({
15
- payload
16
- }) {
17
- try {
18
- yield call(authorize, payload);
19
- yield put({ type: LOGIN_SUCCESS });
20
- } catch (err) {
21
- getLogger().error({
22
- ...logRecords.LOGIN_FAILED,
23
- exception: err
24
- });
25
- }
26
- }
27
- function* logout({
28
- payload
29
- }) {
30
- try {
31
- yield call(endSession, payload);
32
- } catch (err) {
33
- getLogger().error({
34
- ...logRecords.LOGOUT_FAILED,
35
- exception: err
36
- });
37
- }
38
- }
39
- function* authentication() {
40
- yield takeLatest(LOGIN, login);
41
- yield takeLatest(LOGOUT, logout);
42
- }
43
- export {
44
- authentication,
45
- login,
46
- logout
47
- };
@@ -1,25 +0,0 @@
1
- import { call, takeLatest } from "redux-saga/effects";
2
- import { actions } from "../../data/error/index.js";
3
- import { CMicroAppGuest } from "../../utils/micro-frontend/guest.js";
4
- import { getLogger } from "../../utils/micro-frontend/index.js";
5
- import { logRecords } from "../../utils/log-records.js";
6
- function* openErrorToast(action) {
7
- try {
8
- const microApp = yield call(CMicroAppGuest.getInstance.bind(CMicroAppGuest));
9
- const host = yield call(microApp.getHost.bind(microApp));
10
- const message = action?.payload?.description || action?.payload?.messageText;
11
- if (host && message)
12
- yield call(host.openErrorBanner.bind(host), message);
13
- } catch (ex) {
14
- getLogger().error({
15
- ...logRecords.ERR_TOAST_OPEN_FAILED,
16
- exception: ex
17
- });
18
- }
19
- }
20
- function* errorToast() {
21
- yield takeLatest(actions.set.type, openErrorToast);
22
- }
23
- export {
24
- errorToast
25
- };
@@ -1,38 +0,0 @@
1
- import { call, takeLatest } from "redux-saga/effects";
2
- import { ACTIONS } from "../../data/wait-message/actions.js";
3
- import { CMicroAppGuest } from "../../utils/micro-frontend/guest.js";
4
- import { getLogger } from "../../utils/micro-frontend/index.js";
5
- import { logRecords } from "../../utils/log-records.js";
6
- function* openWaitMessage() {
7
- try {
8
- const microApp = yield call(CMicroAppGuest.getInstance.bind(CMicroAppGuest));
9
- const host = yield call(microApp.getHost.bind(microApp));
10
- if (host)
11
- yield call(host.openWaitMessage.bind(host));
12
- } catch (ex) {
13
- getLogger().error({
14
- ...logRecords.WAIT_MSG_OPEN_FAILED,
15
- exception: ex
16
- });
17
- }
18
- }
19
- function* closeWaitMessage() {
20
- try {
21
- const microApp = yield call(CMicroAppGuest.getInstance.bind(CMicroAppGuest));
22
- const host = yield call(microApp.getHost.bind(microApp));
23
- if (host)
24
- yield call(host.closeWaitMessage.bind(host));
25
- } catch (ex) {
26
- getLogger().error({
27
- ...logRecords.WAIT_MSG_CLOSE_FAILED,
28
- exception: ex
29
- });
30
- }
31
- }
32
- function* waitMessage() {
33
- yield takeLatest(ACTIONS.OPEN, openWaitMessage);
34
- yield takeLatest(ACTIONS.CLOSE, closeWaitMessage);
35
- }
36
- export {
37
- waitMessage
38
- };
@@ -1,13 +0,0 @@
1
- import { create } from "@storybook/theming/create";
2
- const createTheme = ({
3
- base = "light",
4
- brandTitle = "Platform UI Components",
5
- ...rest
6
- }) => create({
7
- base,
8
- brandTitle: `${brandTitle} ${process.env.STORYBOOK_VERSION || ""}`,
9
- ...rest
10
- });
11
- export {
12
- createTheme
13
- };
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- import { render } from "@testing-library/react";
3
- import { getDefaultTheme } from "@elliemae/pui-theme";
4
- import { createAppStore } from "../../data/store.js";
5
- import { AppRoot } from "../../view/app-root/index.js";
6
- import { browserHistory } from "../history.js";
7
- const defaultStore = createAppStore({}, browserHistory);
8
- const defaultTheme = getDefaultTheme();
9
- const AllTheProviders = ({
10
- store = defaultStore,
11
- theme = defaultTheme,
12
- children
13
- }) => /* @__PURE__ */ React.createElement(AppRoot, {
14
- store,
15
- history: browserHistory,
16
- theme
17
- }, children);
18
- const customRender = (ui, options) => render(ui, { wrapper: AllTheProviders, ...options });
19
- export * from "@testing-library/react";
20
- export {
21
- customRender as render
22
- };
@@ -1,17 +0,0 @@
1
- import * as React from "react";
2
- import { render } from "@testing-library/react";
3
- import { Provider } from "react-redux";
4
- import { createAppStore } from "../../data/store.js";
5
- import { browserHistory } from "../history.js";
6
- const renderWithRedux = (ui, {
7
- initialState,
8
- store = createAppStore(initialState, browserHistory)
9
- } = {}) => ({
10
- ...render(/* @__PURE__ */ React.createElement(Provider, {
11
- store
12
- }, ui)),
13
- store
14
- });
15
- export {
16
- renderWithRedux
17
- };
@@ -1,23 +0,0 @@
1
- import * as React from "react";
2
- import { render } from "@testing-library/react";
3
- import { Provider } from "react-redux";
4
- import { createMemoryHistory } from "history";
5
- import { createAppStore } from "../../data/store.js";
6
- import { browserHistory } from "../history.js";
7
- import { AppRouter } from "../../view/app-router.js";
8
- const renderWithRouterRedux = (ui, {
9
- route = "/",
10
- history = createMemoryHistory({ initialEntries: [route] }),
11
- initialState,
12
- store = createAppStore(initialState, browserHistory)
13
- } = {}) => ({
14
- ...render(/* @__PURE__ */ React.createElement(Provider, {
15
- store
16
- }, /* @__PURE__ */ React.createElement(AppRouter, {
17
- history
18
- }, ui))),
19
- store
20
- });
21
- export {
22
- renderWithRouterRedux
23
- };
@@ -1,19 +0,0 @@
1
- import * as React from "react";
2
- import { render } from "@testing-library/react";
3
- import { createMemoryHistory } from "history";
4
- import { AppRouter } from "../../view/app-router.js";
5
- const renderWithRouter = (ui, {
6
- route = "/",
7
- history = createMemoryHistory({ initialEntries: [route] })
8
- } = {}) => {
9
- const renderResult = render(/* @__PURE__ */ React.createElement(AppRouter, {
10
- history
11
- }, ui));
12
- return {
13
- ...renderResult,
14
- history
15
- };
16
- };
17
- export {
18
- renderWithRouter
19
- };
@@ -1,38 +0,0 @@
1
- import * as React from "react";
2
- import { useEffect, useState } from "react";
3
- import { ThemeProvider } from "styled-components";
4
- import { getDefaultTheme } from "@elliemae/pui-theme";
5
- import {
6
- useInjectReducer,
7
- useInjectSaga
8
- } from "redux-injectors";
9
- const RenderWithStateAddOns = ({
10
- Component,
11
- reducer,
12
- saga,
13
- theme = getDefaultTheme(),
14
- ...rest
15
- }) => {
16
- const [ready, setReady] = useState(false);
17
- if (Array.isArray(reducer)) {
18
- reducer.forEach((r) => useInjectReducer(r));
19
- } else {
20
- useInjectReducer(reducer);
21
- }
22
- if (Array.isArray(saga)) {
23
- saga.forEach((s) => useInjectSaga(s));
24
- } else if (saga) {
25
- useInjectSaga(saga);
26
- }
27
- useEffect(() => {
28
- setReady(true);
29
- }, []);
30
- return ready ? /* @__PURE__ */ React.createElement(ThemeProvider, {
31
- theme
32
- }, /* @__PURE__ */ React.createElement(Component, {
33
- ...rest
34
- })) : null;
35
- };
36
- export {
37
- RenderWithStateAddOns
38
- };
@@ -1,19 +0,0 @@
1
- import * as React from "react";
2
- import { useState, useLayoutEffect } from "react";
3
- import { Router } from "react-router-dom";
4
- const AppRouter = ({ history, ...props }) => {
5
- const [state, setState] = useState({
6
- action: history.action,
7
- location: history.location
8
- });
9
- useLayoutEffect(() => history.listen(setState), [history]);
10
- return /* @__PURE__ */ React.createElement(Router, {
11
- ...props,
12
- location: state.location,
13
- navigationType: state.action,
14
- navigator: history
15
- });
16
- };
17
- export {
18
- AppRouter
19
- };
@@ -1,36 +0,0 @@
1
- import React from "react";
2
- import {
3
- DefaultErrorTemplate
4
- } from "./default-error-template.js";
5
- import { getLogger } from "../../utils/micro-frontend/index.js";
6
- import { logRecords } from "../../utils/log-records.js";
7
- class ErrorBoundary extends React.Component {
8
- constructor(props) {
9
- super(props);
10
- this.state = { error: null, errorInfo: null };
11
- }
12
- componentDidCatch(error, errorInfo) {
13
- this.setState({
14
- error,
15
- errorInfo
16
- });
17
- const logger = getLogger();
18
- if (logger)
19
- logger.error({
20
- ...logRecords.UNHANDLED_ERROR,
21
- exception: error
22
- });
23
- }
24
- render() {
25
- const { children, errorTemplate } = this.props;
26
- const ErrorTemplate = errorTemplate || DefaultErrorTemplate;
27
- const { error, errorInfo } = this.state;
28
- return errorInfo ? /* @__PURE__ */ React.createElement(ErrorTemplate, {
29
- error,
30
- errorInfo
31
- }) : children;
32
- }
33
- }
34
- export {
35
- ErrorBoundary
36
- };
@@ -1,30 +0,0 @@
1
- import * as React from "react";
2
- import { useEffect, memo } from "react";
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";
6
- const ErrorToast = memo((props) => {
7
- const storeError = useAppSelector((state) => state?.error);
8
- const dispatch = useAppDispatch();
9
- useEffect(() => {
10
- if (storeError && (storeError?.description || storeError?.messageText)) {
11
- const toastProps = {
12
- position: ToastPosition.TOP_RIGHT,
13
- messageTitle: "Error",
14
- type: ToastType.ERROR,
15
- ...props,
16
- ...storeError
17
- };
18
- const messageText = toastProps.description || toastProps.messageText;
19
- if (messageText)
20
- toast({ messageText, ...toastProps });
21
- dispatch(error.clear());
22
- }
23
- }, [storeError, props, dispatch]);
24
- return /* @__PURE__ */ React.createElement(DSToast, {
25
- ...props
26
- });
27
- });
28
- export {
29
- ErrorToast
30
- };
@@ -1,12 +0,0 @@
1
- import { get } from "lodash";
2
- let hostAppData = {};
3
- const setHostAppData = (appData) => {
4
- hostAppData = { ...hostAppData, ...appData };
5
- };
6
- const getHostAppDataByKey = (key = "", defaultValue = null) => get(hostAppData, key, defaultValue);
7
- const isHostAppDataExist = () => hostAppData && Object.keys(hostAppData).length > 0;
8
- export {
9
- getHostAppDataByKey,
10
- isHostAppDataExist,
11
- setHostAppData
12
- };
@@ -1,17 +0,0 @@
1
- import * as React from "react";
2
- import { DSControlledCheckbox } from "@elliemae/ds-controlled-form";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const CheckBox = ({ name, rules = {}, ...rest }) => /* @__PURE__ */ React.createElement(Controller, {
7
- name,
8
- rules,
9
- render: ({ field: { value = false, ...restProps } }) => /* @__PURE__ */ React.createElement(DSControlledCheckbox, {
10
- ...rest,
11
- ...restProps,
12
- checked: value
13
- })
14
- });
15
- export {
16
- CheckBox
17
- };
@@ -1,26 +0,0 @@
1
- import * as React from "react";
2
- import { DSComboBox } from "@elliemae/ds-form/ComboBox";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const ComboBox = ({
7
- name,
8
- defaultValue = "",
9
- rules = {},
10
- ...rest
11
- }) => /* @__PURE__ */ React.createElement(Controller, {
12
- name,
13
- rules,
14
- defaultValue,
15
- render: ({ field: { onChange, ...props } }) => /* @__PURE__ */ React.createElement(DSComboBox, {
16
- ...rest,
17
- ...props,
18
- onChange: (selected) => {
19
- const { value = selected } = selected;
20
- onChange(value);
21
- }
22
- })
23
- });
24
- export {
25
- ComboBox
26
- };
@@ -1,10 +0,0 @@
1
- import { useFormContext } from "react-hook-form";
2
- const ConnectForm = ({ children }) => {
3
- const methods = useFormContext();
4
- return children({
5
- ...methods
6
- });
7
- };
8
- export {
9
- ConnectForm
10
- };
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- import { DSDateInput } from "@elliemae/ds-form/DateInput";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const DateInput = ({
7
- name,
8
- defaultValue = "",
9
- rules = {},
10
- ...rest
11
- }) => /* @__PURE__ */ React.createElement(Controller, {
12
- name,
13
- rules,
14
- defaultValue,
15
- render: ({ field }) => /* @__PURE__ */ React.createElement(DSDateInput, {
16
- ...rest,
17
- ...field
18
- })
19
- });
20
- export {
21
- DateInput
22
- };
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- import { DSDatePicker } from "@elliemae/ds-date-picker";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const DatePicker = ({
7
- name,
8
- defaultValue = "",
9
- rules = {},
10
- ...rest
11
- }) => /* @__PURE__ */ React.createElement(Controller, {
12
- name,
13
- defaultValue,
14
- rules,
15
- render: ({ field }) => /* @__PURE__ */ React.createElement(DSDatePicker, {
16
- ...rest,
17
- ...field
18
- })
19
- });
20
- export {
21
- DatePicker
22
- };
@@ -1,20 +0,0 @@
1
- import * as React from "react";
2
- import { DSFormItemLayout } from "@elliemae/ds-form/FormItem";
3
- import { get } from "react-hook-form";
4
- import { ConnectForm } from "../connect-form.js";
5
- const FormItemLayout = ({ name, ...rest }) => /* @__PURE__ */ React.createElement(ConnectForm, null, ({
6
- formState: { errors }
7
- }) => {
8
- const errorField = get(errors, name);
9
- const hasError = !!errorField;
10
- const validationMessage = errorField?.message;
11
- return /* @__PURE__ */ React.createElement(DSFormItemLayout, {
12
- name,
13
- hasError,
14
- validationMessage,
15
- ...rest
16
- });
17
- });
18
- export {
19
- FormItemLayout
20
- };
@@ -1,25 +0,0 @@
1
- import * as React from "react";
2
- import { DSFormLayoutBlockItem } from "@elliemae/ds-form-layout-blocks";
3
- import { get } from "react-hook-form";
4
- import { ConnectForm } from "../connect-form.js";
5
- const FormLayoutBlockItem = ({
6
- inputID,
7
- label,
8
- ...rest
9
- }) => /* @__PURE__ */ React.createElement(ConnectForm, null, ({
10
- formState: { errors }
11
- }) => {
12
- const errorField = get(errors, inputID);
13
- const hasError = !!errorField;
14
- const validationMessage = errorField?.message;
15
- return /* @__PURE__ */ React.createElement(DSFormLayoutBlockItem, {
16
- inputID,
17
- label,
18
- hasError,
19
- validationMessage,
20
- ...rest
21
- });
22
- });
23
- export {
24
- FormLayoutBlockItem
25
- };
@@ -1,29 +0,0 @@
1
- import * as React from "react";
2
- import {
3
- DSInputMask,
4
- MASK_TYPES,
5
- MASK_PIPES
6
- } from "@elliemae/ds-form/InputMask";
7
- import {
8
- Controller
9
- } from "react-hook-form";
10
- const InputMask = ({
11
- name,
12
- defaultValue = "",
13
- rules = {},
14
- mask,
15
- ...rest
16
- }) => /* @__PURE__ */ React.createElement(Controller, {
17
- name,
18
- rules,
19
- defaultValue,
20
- render: ({ field }) => /* @__PURE__ */ React.createElement(DSInputMask, {
21
- ...rest,
22
- ...field
23
- })
24
- });
25
- export {
26
- InputMask,
27
- MASK_PIPES,
28
- MASK_TYPES
29
- };
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- import { DSLargeInputText } from "@elliemae/ds-form/LargeInputText";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const LargeTextBox = ({
7
- name,
8
- defaultValue = "",
9
- rules = {},
10
- ...rest
11
- }) => /* @__PURE__ */ React.createElement(Controller, {
12
- name,
13
- rules,
14
- defaultValue,
15
- render: ({ field }) => /* @__PURE__ */ React.createElement(DSLargeInputText, {
16
- ...rest,
17
- ...field
18
- })
19
- });
20
- export {
21
- LargeTextBox
22
- };
@@ -1,24 +0,0 @@
1
- import * as React from "react";
2
- import { DSRadio } from "@elliemae/ds-form/Radio";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const Radio = ({
7
- name,
8
- defaultChecked = false,
9
- rules = {},
10
- ...rest
11
- }) => /* @__PURE__ */ React.createElement(Controller, {
12
- name,
13
- rules,
14
- render: ({ field: { onChange, value, ...restProps } }) => /* @__PURE__ */ React.createElement(DSRadio, {
15
- ...rest,
16
- ...restProps,
17
- checked: value,
18
- defaultChecked,
19
- onChange: (e) => onChange(((e || {}).target || {}).checked)
20
- })
21
- });
22
- export {
23
- Radio
24
- };
@@ -1,17 +0,0 @@
1
- import * as React from "react";
2
- import { DSRadioGroup } from "@elliemae/ds-form/RadioGroup";
3
- import {
4
- Controller
5
- } from "react-hook-form";
6
- const RadioGroup = ({ name, rules = {}, ...rest }) => /* @__PURE__ */ React.createElement(Controller, {
7
- name,
8
- rules,
9
- render: ({ field: { value, ...restProps } }) => /* @__PURE__ */ React.createElement(DSRadioGroup, {
10
- ...rest,
11
- ...restProps,
12
- activeValue: value
13
- })
14
- });
15
- export {
16
- RadioGroup
17
- };