@elliemae/pui-app-sdk 2.21.1 → 3.0.0-beta.12

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 (398) hide show
  1. package/dist/cjs/analytics/appdynamics.js +40 -30
  2. package/dist/cjs/analytics/index.js +33 -26
  3. package/dist/cjs/analytics/page-view-event.js +35 -34
  4. package/dist/cjs/analytics/user-session-event.js +35 -27
  5. package/dist/cjs/analytics/user-wait-event.js +32 -17
  6. package/dist/cjs/analytics/web-analytics.js +33 -19
  7. package/dist/cjs/api/auth/index.js +42 -39
  8. package/dist/cjs/api/helpers.js +34 -99
  9. package/dist/cjs/api/users/index.js +29 -16
  10. package/dist/cjs/communication/http-client/index.js +50 -48
  11. package/dist/cjs/communication/http-client/request-interceptor.js +29 -12
  12. package/dist/cjs/communication/http-client/response-interceptor.js +47 -38
  13. package/dist/cjs/communication/http-client/retry-axios.js +74 -122
  14. package/dist/cjs/communication/http-client/retry.js +43 -36
  15. package/dist/cjs/communication/http-client/tests/index.test-disable.js +48 -56
  16. package/dist/cjs/data/auth/actions.js +34 -26
  17. package/dist/cjs/data/auth/reducer.js +36 -18
  18. package/dist/cjs/data/breakpoint/index.js +44 -32
  19. package/dist/cjs/data/error/index.js +34 -18
  20. package/dist/cjs/data/index.js +35 -0
  21. package/dist/cjs/data/live-message/index.js +35 -25
  22. package/dist/cjs/data/logout/actions.js +29 -9
  23. package/dist/cjs/data/navigation-prompt/actions.js +29 -9
  24. package/dist/cjs/data/react-redux.js +30 -13
  25. package/dist/cjs/data/reducers.js +36 -23
  26. package/dist/cjs/data/saga.js +29 -9
  27. package/dist/cjs/data/store.js +51 -65
  28. package/dist/cjs/data/wait-message/actions.js +31 -13
  29. package/dist/cjs/data/wait-message/reducer.js +38 -24
  30. package/dist/cjs/index.js +195 -809
  31. package/dist/cjs/micro-frontend.js +34 -0
  32. package/dist/cjs/route/index.js +44 -32
  33. package/dist/cjs/route/page-view.js +36 -22
  34. package/dist/cjs/route/private-route/index.js +59 -60
  35. package/dist/cjs/sideeffect/auth/index.js +43 -30
  36. package/dist/cjs/sideeffect/error-toast/index.js +40 -26
  37. package/dist/cjs/sideeffect/wait-message/index.js +46 -29
  38. package/dist/cjs/typings/custom.d.js +0 -0
  39. package/dist/cjs/typings/elliemae.d.js +0 -0
  40. package/dist/cjs/typings/styled.d.js +1 -0
  41. package/dist/cjs/typings/thirdparty.d.js +0 -0
  42. package/dist/cjs/utils/app-config/config.js +39 -33
  43. package/dist/cjs/utils/app-config/index.js +48 -44
  44. package/dist/cjs/utils/app-host-integration/react.js +28 -14
  45. package/dist/cjs/utils/auth/helper.js +36 -18
  46. package/dist/cjs/utils/auth/index.js +77 -116
  47. package/dist/cjs/utils/await.js +20 -0
  48. package/dist/cjs/utils/constants.js +39 -21
  49. package/dist/cjs/utils/font-size.js +30 -14
  50. package/dist/cjs/utils/guest-with-service.js +28 -12
  51. package/dist/cjs/utils/helpers.js +32 -19
  52. package/dist/cjs/utils/history.js +30 -12
  53. package/dist/cjs/utils/log-records.js +55 -35
  54. package/dist/cjs/utils/micro-frontend/console-logger.js +40 -23
  55. package/dist/cjs/utils/micro-frontend/guest.js +86 -127
  56. package/dist/cjs/utils/micro-frontend/host.js +86 -125
  57. package/dist/cjs/utils/micro-frontend/index.js +66 -61
  58. package/dist/cjs/utils/micro-frontend/types.js +20 -5
  59. package/dist/cjs/utils/redact-pii.js +32 -17
  60. package/dist/cjs/utils/service-worker.js +37 -21
  61. package/dist/cjs/utils/session.js +65 -70
  62. package/dist/cjs/utils/storybook/cjs/main.js +53 -0
  63. package/dist/cjs/utils/storybook/cjs/middleware.js +5 -0
  64. package/dist/cjs/utils/storybook/cjs/vite.js +6 -0
  65. package/dist/cjs/utils/storybook/cjs/webpack.js +21 -0
  66. package/dist/cjs/utils/storybook/manager.js +32 -16
  67. package/dist/cjs/utils/storybook/preview.js +59 -50
  68. package/dist/cjs/utils/storybook/theme.js +31 -14
  69. package/dist/cjs/utils/testing/index.js +45 -50
  70. package/dist/cjs/utils/testing/render-with-redux.js +41 -27
  71. package/dist/cjs/utils/testing/render-with-router-redux.js +47 -37
  72. package/dist/cjs/utils/testing/render-with-router.js +41 -28
  73. package/dist/cjs/utils/testing/render-with-state-addons.js +47 -36
  74. package/dist/cjs/utils/types.js +20 -0
  75. package/dist/cjs/utils/url.js +29 -13
  76. package/dist/cjs/utils/web-storage.js +46 -30
  77. package/dist/cjs/utils/window.js +37 -28
  78. package/dist/cjs/view/app-root/hosted-app.js +42 -32
  79. package/dist/cjs/view/app-root/index.js +64 -62
  80. package/dist/cjs/view/app-root/stand-alone-app.js +45 -37
  81. package/dist/cjs/view/app-root/style.js +51 -12
  82. package/dist/cjs/view/error-boundary/default-error-template.js +33 -15
  83. package/dist/cjs/view/error-boundary/index.js +47 -43
  84. package/dist/cjs/view/error-toast/index.js +49 -32
  85. package/dist/cjs/view/fetch-host-app-data/index.js +40 -26
  86. package/dist/cjs/view/fetch-host-app-data/store.js +32 -24
  87. package/dist/cjs/view/fields/check-box/index.js +41 -39
  88. package/dist/cjs/view/fields/combo-box/index.js +44 -31
  89. package/dist/cjs/view/fields/connect-form.js +31 -15
  90. package/dist/cjs/view/fields/date-input/index.js +41 -26
  91. package/dist/cjs/view/fields/date-picker/index.js +41 -26
  92. package/dist/cjs/view/fields/form-item-layout/index.js +43 -30
  93. package/dist/cjs/view/fields/input-mask/index.js +42 -41
  94. package/dist/cjs/view/fields/large-text-box/index.js +41 -26
  95. package/dist/cjs/view/fields/radio/index.js +41 -30
  96. package/dist/cjs/view/fields/radio-group/index.js +39 -27
  97. package/dist/cjs/view/fields/text-box/index.js +41 -26
  98. package/dist/cjs/view/fields/watch-value.js +48 -35
  99. package/dist/cjs/view/form/index.js +48 -34
  100. package/dist/cjs/view/form/personal-info-section.js +63 -80
  101. package/dist/cjs/view/form/submit-button/index.js +41 -23
  102. package/dist/cjs/view/guest-unload-handlers/index.js +34 -22
  103. package/dist/cjs/view/header/center-region/index.js +68 -38
  104. package/dist/cjs/view/header/index.js +48 -35
  105. package/dist/cjs/view/header/logo-region/index.js +38 -23
  106. package/dist/cjs/view/header/nav-region/index.js +51 -30
  107. package/dist/cjs/view/header/nav-region/notification/index.js +35 -18
  108. package/dist/cjs/view/header/nav-region/user/index.js +35 -18
  109. package/dist/cjs/view/host-binding-events/index.js +27 -11
  110. package/dist/cjs/view/intro.stories.mdx +1 -1
  111. package/dist/cjs/view/live-message/index.js +40 -34
  112. package/dist/cjs/view/loadable/index.js +40 -27
  113. package/dist/cjs/view/login/index.js +43 -30
  114. package/dist/cjs/view/media-breakpoint/index.js +50 -34
  115. package/dist/cjs/view/message-to-host-app/index.js +32 -20
  116. package/dist/cjs/view/micro-app/app-factory/index.js +101 -135
  117. package/dist/cjs/view/micro-app/const.js +27 -7
  118. package/dist/cjs/view/micro-app/index.js +44 -27
  119. package/dist/cjs/view/micro-app/resources/manifest.js +44 -35
  120. package/dist/cjs/view/micro-app/resources/script.js +57 -53
  121. package/dist/cjs/view/micro-app/resources/style.js +45 -38
  122. package/dist/cjs/view/micro-app/types.js +20 -5
  123. package/dist/cjs/view/micro-app/use-app-will-render.js +59 -50
  124. package/dist/cjs/view/micro-app/utils.js +33 -21
  125. package/dist/cjs/view/micro-iframe-app/app.js +44 -39
  126. package/dist/cjs/view/micro-iframe-app/iframe/const.js +27 -7
  127. package/dist/cjs/view/micro-iframe-app/iframe/index.js +58 -47
  128. package/dist/cjs/view/micro-iframe-app/index.js +43 -24
  129. package/dist/cjs/view/micro-iframe-app/types.js +20 -5
  130. package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +43 -37
  131. package/dist/cjs/view/modals/error/index.js +42 -28
  132. package/dist/cjs/view/modals/navigation-prompt/index.js +45 -37
  133. package/dist/cjs/view/modals/session-expiry/customHooks.js +41 -35
  134. package/dist/cjs/view/modals/session-expiry/index.js +53 -51
  135. package/dist/cjs/view/modals/wait-message/html-wait-message.js +39 -18
  136. package/dist/cjs/view/modals/wait-message/index.js +57 -53
  137. package/dist/cjs/view/modals/wait-message/wait-message-launcher.js +40 -21
  138. package/dist/cjs/view/render-with-delay/index.js +37 -19
  139. package/dist/cjs/view/render-with-host-data/index.js +42 -30
  140. package/dist/cjs/view/session-timeout/index.js +51 -35
  141. package/dist/cjs/view/storybook/decorator.js +39 -21
  142. package/dist/cjs/view/use-previous.js +30 -13
  143. package/dist/cjs/view/useMediaBreakpoints/index.js +35 -19
  144. package/dist/cjs/view/visually-hidden/index.js +48 -21
  145. package/dist/cjs/view/window-size/index.js +41 -22
  146. package/dist/es/analytics/appdynamics.js +14 -15
  147. package/dist/es/analytics/index.js +8 -14
  148. package/dist/es/analytics/page-view-event.js +11 -25
  149. package/dist/es/analytics/user-session-event.js +11 -13
  150. package/dist/es/analytics/user-wait-event.js +9 -5
  151. package/dist/es/analytics/web-analytics.js +12 -10
  152. package/dist/es/api/auth/index.js +21 -26
  153. package/dist/es/api/helpers.js +8 -81
  154. package/dist/es/api/users/index.js +6 -7
  155. package/dist/es/communication/http-client/index.js +19 -25
  156. package/dist/es/communication/http-client/request-interceptor.js +5 -2
  157. package/dist/es/communication/http-client/response-interceptor.js +20 -21
  158. package/dist/es/communication/http-client/retry-axios.js +45 -105
  159. package/dist/es/communication/http-client/retry.js +22 -25
  160. package/dist/es/communication/http-client/tests/index.test-disable.js +25 -44
  161. package/dist/es/data/auth/actions.js +13 -19
  162. package/dist/es/data/auth/reducer.js +8 -6
  163. package/dist/es/data/breakpoint/index.js +19 -21
  164. package/dist/es/data/error/index.js +11 -9
  165. package/dist/es/data/index.js +11 -0
  166. package/dist/es/data/live-message/index.js +12 -16
  167. package/dist/es/data/logout/actions.js +9 -5
  168. package/dist/es/data/navigation-prompt/actions.js +9 -5
  169. package/dist/es/data/react-redux.js +7 -3
  170. package/dist/es/data/reducers.js +6 -3
  171. package/dist/es/data/saga.js +8 -5
  172. package/dist/es/data/store.js +24 -51
  173. package/dist/es/data/wait-message/actions.js +11 -9
  174. package/dist/es/data/wait-message/reducer.js +9 -9
  175. package/dist/es/index.js +192 -83
  176. package/dist/es/micro-frontend.js +10 -0
  177. package/dist/es/route/index.js +16 -18
  178. package/dist/es/route/page-view.js +8 -8
  179. package/dist/es/route/private-route/index.js +24 -31
  180. package/dist/es/sideeffect/auth/index.js +24 -11
  181. package/dist/es/sideeffect/error-toast/index.js +11 -10
  182. package/dist/es/sideeffect/wait-message/index.js +14 -10
  183. package/dist/es/typings/custom.d.js +0 -0
  184. package/dist/es/typings/elliemae.d.js +0 -0
  185. package/dist/es/typings/styled.d.js +1 -0
  186. package/dist/es/typings/thirdparty.d.js +0 -0
  187. package/dist/es/utils/app-config/config.js +11 -9
  188. package/dist/es/utils/app-config/index.js +17 -27
  189. package/dist/es/utils/app-host-integration/react.js +8 -6
  190. package/dist/es/utils/auth/helper.js +7 -3
  191. package/dist/es/utils/auth/index.js +51 -75
  192. package/dist/es/utils/constants.js +18 -13
  193. package/dist/es/utils/font-size.js +7 -3
  194. package/dist/es/utils/guest-with-service.js +6 -7
  195. package/dist/es/utils/helpers.js +10 -6
  196. package/dist/es/utils/history.js +7 -3
  197. package/dist/es/utils/log-records.js +34 -31
  198. package/dist/es/utils/micro-frontend/console-logger.js +16 -12
  199. package/dist/es/utils/micro-frontend/guest.js +44 -100
  200. package/dist/es/utils/micro-frontend/host.js +41 -77
  201. package/dist/es/utils/micro-frontend/index.js +35 -33
  202. package/dist/es/utils/micro-frontend/types.js +0 -1
  203. package/dist/es/utils/redact-pii.js +10 -11
  204. package/dist/es/utils/service-worker.js +13 -10
  205. package/dist/es/utils/session.js +45 -46
  206. package/dist/es/utils/storybook/manager.js +7 -4
  207. package/dist/es/utils/storybook/preview.js +27 -24
  208. package/dist/es/utils/storybook/theme.js +9 -6
  209. package/dist/es/utils/testing/index.js +12 -18
  210. package/dist/es/utils/testing/render-with-redux.js +12 -11
  211. package/dist/es/utils/testing/render-with-router-redux.js +18 -19
  212. package/dist/es/utils/testing/render-with-router.js +15 -16
  213. package/dist/es/utils/testing/render-with-state-addons.js +19 -18
  214. package/dist/es/utils/url.js +7 -3
  215. package/dist/es/utils/web-storage.js +21 -17
  216. package/dist/es/utils/window.js +18 -18
  217. package/dist/es/view/app-root/hosted-app.js +10 -13
  218. package/dist/es/view/app-root/index.js +29 -33
  219. package/dist/es/view/app-root/stand-alone-app.js +11 -12
  220. package/dist/es/view/app-root/style.js +30 -5
  221. package/dist/es/view/error-boundary/default-error-template.js +5 -5
  222. package/dist/es/view/error-boundary/index.js +18 -25
  223. package/dist/es/view/error-toast/index.js +15 -14
  224. package/dist/es/view/fetch-host-app-data/index.js +14 -11
  225. package/dist/es/view/fetch-host-app-data/store.js +10 -7
  226. package/dist/es/view/fields/check-box/index.js +17 -18
  227. package/dist/es/view/fields/combo-box/index.js +20 -19
  228. package/dist/es/view/fields/connect-form.js +8 -6
  229. package/dist/es/view/fields/date-input/index.js +17 -14
  230. package/dist/es/view/fields/date-picker/index.js +17 -14
  231. package/dist/es/view/fields/form-item-layout/index.js +15 -15
  232. package/dist/es/view/fields/input-mask/index.js +22 -14
  233. package/dist/es/view/fields/large-text-box/index.js +17 -14
  234. package/dist/es/view/fields/radio/index.js +17 -18
  235. package/dist/es/view/fields/radio-group/index.js +15 -15
  236. package/dist/es/view/fields/text-box/index.js +17 -14
  237. package/dist/es/view/fields/watch-value.js +20 -24
  238. package/dist/es/view/form/index.js +23 -22
  239. package/dist/es/view/form/personal-info-section.js +28 -48
  240. package/dist/es/view/form/submit-button/index.js +13 -10
  241. package/dist/es/view/guest-unload-handlers/index.js +10 -9
  242. package/dist/es/view/header/center-region/index.js +41 -23
  243. package/dist/es/view/header/index.js +16 -15
  244. package/dist/es/view/header/logo-region/index.js +9 -9
  245. package/dist/es/view/header/nav-region/index.js +21 -13
  246. package/dist/es/view/header/nav-region/notification/index.js +6 -6
  247. package/dist/es/view/header/nav-region/user/index.js +6 -6
  248. package/dist/es/view/host-binding-events/index.js +7 -3
  249. package/dist/es/view/intro.stories.mdx +1 -1
  250. package/dist/es/view/live-message/index.js +13 -22
  251. package/dist/es/view/loadable/index.js +13 -15
  252. package/dist/es/view/login/index.js +12 -15
  253. package/dist/es/view/media-breakpoint/index.js +16 -13
  254. package/dist/es/view/message-to-host-app/index.js +10 -9
  255. package/dist/es/view/micro-app/app-factory/index.js +67 -82
  256. package/dist/es/view/micro-app/const.js +4 -1
  257. package/dist/es/view/micro-app/index.js +12 -9
  258. package/dist/es/view/micro-app/resources/manifest.js +17 -16
  259. package/dist/es/view/micro-app/resources/script.js +35 -35
  260. package/dist/es/view/micro-app/resources/style.js +22 -21
  261. package/dist/es/view/micro-app/types.js +0 -1
  262. package/dist/es/view/micro-app/use-app-will-render.js +35 -26
  263. package/dist/es/view/micro-app/utils.js +11 -13
  264. package/dist/es/view/micro-iframe-app/app.js +14 -20
  265. package/dist/es/view/micro-iframe-app/iframe/const.js +4 -1
  266. package/dist/es/view/micro-iframe-app/iframe/index.js +27 -31
  267. package/dist/es/view/micro-iframe-app/index.js +10 -10
  268. package/dist/es/view/micro-iframe-app/types.js +0 -1
  269. package/dist/es/view/micro-iframe-app/use-frame-loaded.js +15 -19
  270. package/dist/es/view/modals/error/index.js +13 -10
  271. package/dist/es/view/modals/navigation-prompt/index.js +11 -14
  272. package/dist/es/view/modals/session-expiry/customHooks.js +11 -13
  273. package/dist/es/view/modals/session-expiry/index.js +13 -20
  274. package/dist/es/view/modals/wait-message/html-wait-message.js +11 -10
  275. package/dist/es/view/modals/wait-message/index.js +30 -37
  276. package/dist/es/view/modals/wait-message/wait-message-launcher.js +8 -6
  277. package/dist/es/view/render-with-delay/index.js +8 -10
  278. package/dist/es/view/render-with-host-data/index.js +10 -13
  279. package/dist/es/view/session-timeout/index.js +20 -10
  280. package/dist/es/view/storybook/decorator.js +8 -5
  281. package/dist/es/view/use-previous.js +6 -3
  282. package/dist/es/view/useMediaBreakpoints/index.js +11 -9
  283. package/dist/es/view/visually-hidden/index.js +20 -10
  284. package/dist/es/view/window-size/index.js +12 -10
  285. package/dist/types/communication/http-client/retry.d.ts +1 -1
  286. package/dist/types/data/index.d.ts +4 -0
  287. package/dist/types/data/react-redux.d.ts +11 -11
  288. package/dist/types/data/reducers.d.ts +6 -6
  289. package/dist/types/data/store.d.ts +29 -29
  290. package/dist/types/index.d.ts +79 -79
  291. package/dist/types/micro-frontend.d.ts +6 -0
  292. package/dist/types/route/private-route/index.d.ts +1 -1
  293. package/dist/types/sideeffect/auth/index.d.ts +1 -1
  294. package/dist/types/utils/app-host-integration/react.d.ts +1 -1
  295. package/dist/types/utils/micro-frontend/guest.d.ts +2 -2
  296. package/dist/types/utils/micro-frontend/host.d.ts +1 -1
  297. package/dist/types/utils/micro-frontend/index.d.ts +2 -2
  298. package/dist/types/utils/micro-frontend/types.d.ts +1 -1
  299. package/dist/types/utils/storybook/cjs/main.d.ts +63 -0
  300. package/dist/types/utils/storybook/{middleware.d.ts → cjs/middleware.d.ts} +0 -0
  301. package/dist/types/utils/storybook/cjs/vite.d.ts +4 -0
  302. package/dist/types/utils/storybook/cjs/webpack.d.ts +16 -0
  303. package/dist/types/utils/storybook/preview.d.ts +9 -3
  304. package/dist/types/utils/testing/render-with-redux.d.ts +20 -20
  305. package/dist/types/utils/testing/render-with-router-redux.d.ts +20 -20
  306. package/dist/types/utils/window.d.ts +1 -1
  307. package/dist/types/view/app-root/index.d.ts +1 -1
  308. package/dist/types/view/fields/check-box/index.stories.d.ts +1 -1
  309. package/dist/types/view/fields/check-box/set-value.stories.d.ts +1 -1
  310. package/dist/types/view/fields/combo-box/index.stories.d.ts +1 -1
  311. package/dist/types/view/fields/date-input/index.stories.d.ts +1 -1
  312. package/dist/types/view/fields/date-picker/index.stories.d.ts +1 -1
  313. package/dist/types/view/fields/form-item-layout/index.stories.d.ts +1 -1
  314. package/dist/types/view/fields/input-mask/index.stories.d.ts +1 -1
  315. package/dist/types/view/fields/large-text-box/index.stories.d.ts +1 -1
  316. package/dist/types/view/fields/radio/index.stories.d.ts +1 -1
  317. package/dist/types/view/fields/radio/set-value.stories.d.ts +1 -1
  318. package/dist/types/view/fields/radio-group/index.stories.d.ts +1 -1
  319. package/dist/types/view/fields/text-box/index.stories.d.ts +1 -1
  320. package/dist/types/view/form/usecases.stories.d.ts +1 -1
  321. package/dist/types/view/header/index.d.ts +1 -1
  322. package/dist/types/view/header/index.stories.d.ts +1 -1
  323. package/dist/types/view/micro-app/app-factory/index.d.ts +2 -2
  324. package/dist/types/view/micro-app/index.d.ts +1 -1
  325. package/dist/types/view/micro-app/resources/script.d.ts +1 -1
  326. package/dist/types/view/micro-app/resources/style.d.ts +1 -1
  327. package/dist/types/view/micro-app/use-app-will-render.d.ts +1 -1
  328. package/dist/types/view/micro-iframe-app/app.d.ts +2 -2
  329. package/dist/types/view/micro-iframe-app/index.d.ts +1 -1
  330. package/dist/types/view/micro-iframe-app/types.d.ts +1 -1
  331. package/dist/types/view/micro-iframe-app/use-frame-loaded.d.ts +1 -1
  332. package/dist/types/view/modals/error/index.stories.d.ts +1 -1
  333. package/dist/types/view/modals/navigation-prompt/index.stories.d.ts +1 -1
  334. package/dist/types/view/modals/session-expiry/index.stories.d.ts +1 -1
  335. package/dist/types/view/modals/wait-message/index.stories.d.ts +1 -1
  336. package/dist/types/view/storybook/decorator.d.ts +1 -1
  337. package/dist/types/view/visually-hidden/index.d.ts +1 -3
  338. package/package.json +36 -25
  339. package/dist/cjs/api/users/index.endpoint.js +0 -14
  340. package/dist/cjs/communication/http-client/tests/hello.endpoint.js +0 -14
  341. package/dist/cjs/communication/http-client/tests/private.endpoint.js +0 -14
  342. package/dist/cjs/utils/storybook/main.js +0 -38
  343. package/dist/cjs/utils/storybook/middleware.js +0 -9
  344. package/dist/cjs/view/error-toast/index.stories.js +0 -128
  345. package/dist/cjs/view/fields/check-box/index.stories.js +0 -64
  346. package/dist/cjs/view/fields/check-box/set-value.stories.js +0 -83
  347. package/dist/cjs/view/fields/combo-box/index.stories.js +0 -65
  348. package/dist/cjs/view/fields/date-input/index.stories.js +0 -53
  349. package/dist/cjs/view/fields/date-input/index1.stories.js +0 -53
  350. package/dist/cjs/view/fields/date-picker/index.stories.js +0 -53
  351. package/dist/cjs/view/fields/form-item-layout/index.stories.js +0 -43
  352. package/dist/cjs/view/fields/input-mask/index.stories.js +0 -52
  353. package/dist/cjs/view/fields/large-text-box/index.stories.js +0 -47
  354. package/dist/cjs/view/fields/radio/index.stories.js +0 -60
  355. package/dist/cjs/view/fields/radio/set-value.stories.js +0 -81
  356. package/dist/cjs/view/fields/radio-group/index.stories.js +0 -85
  357. package/dist/cjs/view/fields/text-box/index.stories.js +0 -48
  358. package/dist/cjs/view/form/index.stories.js +0 -71
  359. package/dist/cjs/view/form/usecases.stories.js +0 -59
  360. package/dist/cjs/view/header/index.stories.js +0 -24
  361. package/dist/cjs/view/live-message/index.stories.js +0 -53
  362. package/dist/cjs/view/media-breakpoint/index.stories.js +0 -24
  363. package/dist/cjs/view/modals/error/index.stories.js +0 -36
  364. package/dist/cjs/view/modals/navigation-prompt/index.stories.js +0 -32
  365. package/dist/cjs/view/modals/session-expiry/index.stories.js +0 -30
  366. package/dist/cjs/view/modals/wait-message/index.stories.js +0 -47
  367. package/dist/cjs/view/session-timeout/index.stories.js +0 -28
  368. package/dist/es/api/users/index.endpoint.js +0 -14
  369. package/dist/es/communication/http-client/tests/hello.endpoint.js +0 -14
  370. package/dist/es/communication/http-client/tests/private.endpoint.js +0 -14
  371. package/dist/es/utils/storybook/main.js +0 -38
  372. package/dist/es/utils/storybook/middleware.js +0 -9
  373. package/dist/es/view/error-toast/index.stories.js +0 -108
  374. package/dist/es/view/fields/check-box/index.stories.js +0 -47
  375. package/dist/es/view/fields/check-box/set-value.stories.js +0 -65
  376. package/dist/es/view/fields/combo-box/index.stories.js +0 -48
  377. package/dist/es/view/fields/date-input/index.stories.js +0 -35
  378. package/dist/es/view/fields/date-input/index1.stories.js +0 -35
  379. package/dist/es/view/fields/date-picker/index.stories.js +0 -35
  380. package/dist/es/view/fields/form-item-layout/index.stories.js +0 -27
  381. package/dist/es/view/fields/input-mask/index.stories.js +0 -35
  382. package/dist/es/view/fields/large-text-box/index.stories.js +0 -30
  383. package/dist/es/view/fields/radio/index.stories.js +0 -43
  384. package/dist/es/view/fields/radio/set-value.stories.js +0 -63
  385. package/dist/es/view/fields/radio-group/index.stories.js +0 -68
  386. package/dist/es/view/fields/text-box/index.stories.js +0 -31
  387. package/dist/es/view/form/index.stories.js +0 -56
  388. package/dist/es/view/form/usecases.stories.js +0 -43
  389. package/dist/es/view/header/index.stories.js +0 -14
  390. package/dist/es/view/live-message/index.stories.js +0 -32
  391. package/dist/es/view/media-breakpoint/index.stories.js +0 -10
  392. package/dist/es/view/modals/error/index.stories.js +0 -21
  393. package/dist/es/view/modals/navigation-prompt/index.stories.js +0 -18
  394. package/dist/es/view/modals/session-expiry/index.stories.js +0 -18
  395. package/dist/es/view/modals/wait-message/index.stories.js +0 -33
  396. package/dist/es/view/session-timeout/index.stories.js +0 -13
  397. package/dist/types/utils/storybook/main.d.ts +0 -30
  398. package/dist/types/view/fields/date-input/index1.stories.d.ts +0 -24
@@ -1,85 +1,12 @@
1
- import _get from "lodash/get";
2
- import { createAction } from '@reduxjs/toolkit';
3
-
4
- /**
5
- * @function
6
- * @description Creates API Redux Action Creators
7
- * ## Examples
8
- * ```javascript
9
- * import { getApiActionCreator } from '@elliemae/pui-app-sdk';
10
- * const loansActionCreator = getApiActionCreator('loans');
11
- *
12
- * export const loans = {
13
- * ...loansActionCreator('create'),
14
- * ...loansActionCreator('get'),
15
- * ...loansActionCreator('save'),
16
- * };
17
- *
18
- * const loansSlice = createSlice({
19
- * name: 'loans',
20
- * initialState: [],
21
- * reducers: {
22
- * getSuccess: (state, { payload }) => {
23
- * state.push(...payload);
24
- * },
25
- * saveSuccess: (state, { payload }) => {
26
- * state.push(payload);
27
- * },
28
- * },
29
- * });
30
- * ```
31
- * @param {string} api API name for which Redux Action Creators are required
32
- * @returns {Function} Redux Action Creators util function
33
- */
34
- export const getApiActionCreator = api => operation => ({
1
+ import { createAction } from "@reduxjs/toolkit";
2
+ import { get } from "lodash";
3
+ const getApiActionCreator = (api) => (operation) => ({
35
4
  [operation]: createAction(`${api}/${operation}`),
36
5
  [`${operation}Success`]: createAction(`${api}/${operation}Success`),
37
6
  [`${operation}Error`]: createAction(`${api}/${operation}Error`)
38
7
  });
39
- /**
40
- * Why use this? It will prevent unnecessary rerenders hence improving performance, it also reduces the amount of code needed to select data from the store
41
- * hence making it easier and keeping your codebase smaller and easier to maintain.
42
- *
43
- * For this to work as expected, ensure you always select ONLY what you need. Don't select state objects that contain fields that you won't use, if you do so
44
- * then everytime any of those gets updated it will trigger a rerender even though you're not actually using that field.
45
- *
46
- * @description Generic Redux State Selector Helper.
47
- * ### Example
48
- * ```javascript
49
- * // reducer.js
50
- * import { getSelectField } from 'elliemae/pui-app-sdk';
51
- *
52
- * const name = 'someState';
53
- * export selectSomeState = getSelectField(name);
54
- *
55
- * // use-some-state.js hook. NOTE: You can create a hook for each main state
56
- * import { selectSomeState } from 'slices/some-slice';
57
- * import { useSelector, shallowEqual } from 'react-redux';
58
- *
59
- * export const useSelectSomeState = (fieldName, defaultValue) => useSelector(selectSomeState(fieldName, defaultValue), shallowEqual);
60
- *
61
- * // some-component.js
62
- * import { useSelectSomeState } from 'custom-hooks/state-selectors.js'
63
- *
64
- * export const SomeComponent = () => {
65
- * const someField = useSelectSomeState('someField');
66
- * ...
67
- * }
68
- * export const SomeOtherComponent = () => {
69
- * const someSubField = useSelectSomeState('someField.someSubField');
70
- * ...
71
- * }
72
- * export const AnotherComponent = () => {
73
- * const [firstField, secondField, thirdField] = useSelectSomeState(['firstField', 'secondField', 'thirdField']);
74
- * ...
75
- * }
76
- *
77
- * ```
78
- * @param {string} stateName the redux store's state name of the state you want to access.
79
- * @returns {Function} A *selectField* function that returns a selector function to be used inside a *useSelector* hook or a *select* side effect
80
- */
81
-
82
- /* eslint-disable prettier/prettier */
83
-
84
- export const getSelectField = stateName => (fieldName = '', defaultValue) => (state = {}, stateValue = _get(state, stateName)) => Array.isArray(fieldName) ? fieldName.map((field, i) => _get(stateValue, field, Array.isArray(defaultValue) ? defaultValue[i] : defaultValue)) : _get(stateValue, fieldName, defaultValue);
85
- /* eslint-enable prettier/prettier */
8
+ const getSelectField = (stateName) => (fieldName = "", defaultValue) => (state = {}, stateValue = get(state, stateName)) => Array.isArray(fieldName) ? fieldName.map((field, i) => get(stateValue, field, Array.isArray(defaultValue) ? defaultValue[i] : defaultValue)) : get(stateValue, fieldName, defaultValue);
9
+ export {
10
+ getApiActionCreator,
11
+ getSelectField
12
+ };
@@ -1,9 +1,8 @@
1
1
  import { getAuthHTTPClient } from "../../communication/http-client/index.js";
2
- export const getUser = async ({
3
- userName
4
- }) => {
5
- const {
6
- data
7
- } = await getAuthHTTPClient().get(`/encompass/v1/users/${userName}`);
2
+ const getUser = async ({ userName }) => {
3
+ const { data } = await getAuthHTTPClient().get(`/encompass/v1/users/${userName}`);
8
4
  return data;
9
- };
5
+ };
6
+ export {
7
+ getUser
8
+ };
@@ -1,41 +1,35 @@
1
- import axios from 'axios';
1
+ import axios from "axios";
2
2
  import { getAppConfigValue } from "../../utils/app-config/config.js";
3
3
  import { getAuthorizationHeader } from "../../utils/auth/helper.js";
4
4
  import setupRetry from "./retry.js";
5
5
  import { requestInterceptor } from "./request-interceptor.js";
6
6
  import { handleSuccess, handleFailure } from "./response-interceptor.js";
7
- const REQUEST_TIMEOUT = 2 * 60 * 1000; // 2 mins
8
-
9
- export const getHTTPClient = ({
10
- baseURL = getAppConfigValue('serviceEndpoints.api', ''),
7
+ const REQUEST_TIMEOUT = 2 * 60 * 1e3;
8
+ const getHTTPClient = ({
9
+ baseURL = getAppConfigValue("serviceEndpoints.api", ""),
11
10
  headers = {}
12
11
  } = {}) => {
13
- var _client$defaults;
14
-
15
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
16
- const client = axios.create({
17
- baseURL,
18
- headers
19
- });
20
- if (client !== null && client !== void 0 && (_client$defaults = client.defaults) !== null && _client$defaults !== void 0 && _client$defaults.timeout) client.defaults.timeout = REQUEST_TIMEOUT;
12
+ const client = axios.create({ baseURL, headers });
13
+ if (client?.defaults?.timeout)
14
+ client.defaults.timeout = REQUEST_TIMEOUT;
21
15
  setupRetry(client);
22
- const {
23
- request,
24
- response
25
- } = (client === null || client === void 0 ? void 0 : client.interceptors) || {};
26
- if (request) request.use(requestInterceptor);
27
- if (response) response.use(handleSuccess, handleFailure);
16
+ const { request, response } = client?.interceptors || {};
17
+ if (request)
18
+ request.use(requestInterceptor);
19
+ if (response)
20
+ response.use(handleSuccess, handleFailure);
28
21
  return client;
29
22
  };
30
- export const getAuthHTTPClient = ({
23
+ const getAuthHTTPClient = ({
31
24
  baseURL,
32
25
  headers = {},
33
26
  ...rest
34
27
  } = {}) => getHTTPClient({
35
28
  baseURL,
36
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
37
- headers: { ...headers,
38
- Authorization: getAuthorizationHeader()
39
- },
29
+ headers: { ...headers, Authorization: getAuthorizationHeader() },
40
30
  ...rest
41
- });
31
+ });
32
+ export {
33
+ getAuthHTTPClient,
34
+ getHTTPClient
35
+ };
@@ -1,5 +1,8 @@
1
1
  import { resetUserIdleTime } from "../../utils/session.js";
2
- export const requestInterceptor = config => {
2
+ const requestInterceptor = (config) => {
3
3
  resetUserIdleTime();
4
4
  return config;
5
- };
5
+ };
6
+ export {
7
+ requestInterceptor
8
+ };
@@ -1,33 +1,32 @@
1
- import axios from 'axios';
1
+ import axios from "axios";
2
2
  const HTTP_UNAUTHORIZED = 401;
3
3
  let unAuthorizedFailureHandler = null;
4
- export const onAuthorizationFailure = callback => {
4
+ const onAuthorizationFailure = (callback) => {
5
5
  unAuthorizedFailureHandler = callback;
6
6
  };
7
- export const handleSuccess = response => response;
8
- export const handleFailure = error => {
9
- const {
10
- status
11
- } = (error || {}).response || {}; // incase of authorization issues give a chance to the sdk consumer to refresh the authroization token and resubmit the request
12
-
13
- if (status === HTTP_UNAUTHORIZED && unAuthorizedFailureHandler && typeof unAuthorizedFailureHandler === 'function') {
14
- return unAuthorizedFailureHandler(error).then(authorizationHeader => {
15
- const {
16
- config
17
- } = error;
18
- if (config.headers) config.headers.Authorization = authorizationHeader;
7
+ const handleSuccess = (response) => response;
8
+ const handleFailure = (error) => {
9
+ const { status } = (error || {}).response || {};
10
+ if (status === HTTP_UNAUTHORIZED && unAuthorizedFailureHandler && typeof unAuthorizedFailureHandler === "function") {
11
+ return unAuthorizedFailureHandler(error).then((authorizationHeader) => {
12
+ const { config } = error;
13
+ if (config.headers)
14
+ config.headers.Authorization = authorizationHeader;
19
15
  return new Promise((resolve, reject) => {
20
- axios.request(config).then(response => {
16
+ axios.request(config).then((response) => {
21
17
  resolve(response);
22
- }).catch(exception => {
18
+ }).catch((exception) => {
23
19
  reject(exception);
24
20
  });
25
21
  });
26
- }).catch(exception => Promise.reject(exception));
27
- } // Return any error which is not due to authentication back to the calling service
28
-
29
-
22
+ }).catch((exception) => Promise.reject(exception));
23
+ }
30
24
  return new Promise((resolve, reject) => {
31
25
  reject(error);
32
26
  });
33
- };
27
+ };
28
+ export {
29
+ handleFailure,
30
+ handleSuccess,
31
+ onAuthorizationFailure
32
+ };
@@ -1,148 +1,88 @@
1
- /* eslint-disable no-param-reassign,jsdoc/require-returns,jsdoc/require-param-type,jsdoc/require-returns-type,max-lines,@typescript-eslint/no-non-null-assertion */
2
- import axios from 'axios';
3
-
4
- const onFulfilled = res => res;
5
- /**
6
- * Eject the Axios interceptor that is providing retry capabilities.
7
- *
8
- * @param interceptorId The interceptorId provided in the config.
9
- * @param instance The axios instance using this interceptor.
10
- */
11
-
12
-
13
- export const detach = (interceptorId, instance) => {
14
- var _instance, _instance$interceptor;
15
-
1
+ import axios from "axios";
2
+ const onFulfilled = (res) => res;
3
+ const detach = (interceptorId, instance) => {
16
4
  instance = instance || axios;
17
- if ((_instance = instance) !== null && _instance !== void 0 && (_instance$interceptor = _instance.interceptors) !== null && _instance$interceptor !== void 0 && _instance$interceptor.response) instance.interceptors.response.eject(interceptorId);
5
+ if (instance?.interceptors?.response)
6
+ instance.interceptors.response.eject(interceptorId);
18
7
  };
19
- /**
20
- * Determine based on config if we should retry the request.
21
- *
22
- * @param err The AxiosError passed to the interceptor.
23
- */
24
- // eslint-disable-next-line complexity
25
-
26
- const shouldRetryRequest = err => {
27
- const config = err.config.retryConfig; // If there's no config, or retries are disabled, return.
28
-
8
+ const shouldRetryRequest = (err) => {
9
+ const config = err.config.retryConfig;
29
10
  if (!config || config.retry === 0) {
30
11
  return false;
31
- } // Check if this error has no response (ETIMEDOUT, ENOTFOUND, etc)
32
-
33
-
12
+ }
34
13
  if (!err.response && (config.currentRetryAttempt || 0) >= config.noResponseRetries) {
35
14
  return false;
36
- } // Only retry with configured HttpMethods.
37
-
38
-
15
+ }
39
16
  if (!err.config.method || config.httpMethodsToRetry.indexOf(err.config.method.toUpperCase()) < 0) {
40
17
  return false;
41
- } // If this wasn't in the list of status codes where we want
42
- // to automatically retry, return.
43
-
44
-
18
+ }
45
19
  if (err.response && err.response.status) {
46
- let isInRange = false; // eslint-disable-next-line no-restricted-syntax
47
-
20
+ let isInRange = false;
48
21
  for (const [min, max] of config.statusCodesToRetry) {
49
- const {
50
- status
51
- } = err.response;
52
-
22
+ const { status } = err.response;
53
23
  if (status >= min && status <= max) {
54
24
  isInRange = true;
55
25
  break;
56
26
  }
57
27
  }
58
-
59
28
  if (!isInRange) {
60
29
  return false;
61
30
  }
62
- } // If we are out of retry attempts, return
63
-
64
-
31
+ }
65
32
  config.currentRetryAttempt = config.currentRetryAttempt || 0;
66
-
67
33
  if (config.currentRetryAttempt >= config.retry) {
68
34
  return false;
69
35
  }
70
-
71
36
  return true;
72
- }; // eslint-disable-next-line complexity
73
-
74
-
75
- const onError = err => {
37
+ };
38
+ const onError = (err) => {
76
39
  if (!err.config) {
77
40
  return Promise.reject(err);
78
41
  }
79
-
80
42
  const config = err.config.retryConfig || {};
81
43
  config.currentRetryAttempt = config.currentRetryAttempt || 0;
82
- config.retry = config.retry === undefined || config.retry === null ? 3 : config.retry;
44
+ config.retry = config.retry === void 0 || config.retry === null ? 3 : config.retry;
83
45
  config.retryDelay = config.retryDelay || 100;
84
46
  config.instance = config.instance || axios;
85
- config.httpMethodsToRetry = config.httpMethodsToRetry || ['GET', 'HEAD', 'PUT', 'OPTIONS', 'DELETE'];
86
- config.noResponseRetries = config.noResponseRetries === undefined || config.noResponseRetries === null ? 2 : config.noResponseRetries; // If this wasn't in the list of status codes where we want
87
- // to automatically retry, return.
88
-
89
- const retryRanges = [// https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
90
- // 1xx - Retry (Informational, request still processing)
91
- // 2xx - Do not retry (Success)
92
- // 3xx - Do not retry (Redirect)
93
- // 4xx - Do not retry (Client errors)
94
- // 429 - Retry ("Too Many Requests")
95
- // 5xx - Retry (Server errors)
96
- [100, 199], [429, 429], [500, 599]];
97
- config.statusCodesToRetry = config.statusCodesToRetry || retryRanges; // Put the config back into the err
98
-
99
- err.config.retryConfig = config; // Determine if we should retry the request
100
-
47
+ config.httpMethodsToRetry = config.httpMethodsToRetry || [
48
+ "GET",
49
+ "HEAD",
50
+ "PUT",
51
+ "OPTIONS",
52
+ "DELETE"
53
+ ];
54
+ config.noResponseRetries = config.noResponseRetries === void 0 || config.noResponseRetries === null ? 2 : config.noResponseRetries;
55
+ const retryRanges = [
56
+ [100, 199],
57
+ [429, 429],
58
+ [500, 599]
59
+ ];
60
+ config.statusCodesToRetry = config.statusCodesToRetry || retryRanges;
61
+ err.config.retryConfig = config;
101
62
  const shouldRetryFn = config.shouldRetry || shouldRetryRequest;
102
-
103
63
  if (!shouldRetryFn(err)) {
104
64
  return Promise.reject(err);
105
- } // Create a promise that invokes the retry after the backOffDelay
106
-
107
-
108
- const onBackoffPromise = new Promise(resolve => {
109
- // Calculate time to wait with exponential backoff.
110
- // Formula: (2^c - 1 / 2) * 1000
111
- // eslint-disable-next-line no-restricted-properties
112
- const delay = (Math.pow(2, config.currentRetryAttempt) - 1) / 2 * 1000;
65
+ }
66
+ const onBackoffPromise = new Promise((resolve) => {
67
+ const delay = (Math.pow(2, config.currentRetryAttempt) - 1) / 2 * 1e3;
113
68
  err.config.retryConfig.currentRetryAttempt += 1;
114
69
  setTimeout(resolve, delay);
115
- }); // Notify the user if they added an `onRetryAttempt` handler
116
-
117
- const onRetryAttemptPromise = config.onRetryAttempt ? Promise.resolve(config.onRetryAttempt(err)) : Promise.resolve(); // Return the promise in which recalls axios to retry the request
118
-
70
+ });
71
+ const onRetryAttemptPromise = config.onRetryAttempt ? Promise.resolve(config.onRetryAttempt(err)) : Promise.resolve();
119
72
  return Promise.resolve().then(() => onBackoffPromise).then(() => onRetryAttemptPromise).then(() => config.instance.request(err.config));
120
73
  };
121
- /**
122
- * Attach the interceptor to the Axios instance.
123
- *
124
- * @param instance The optional Axios instance on which to attach the
125
- * interceptor.
126
- * @returns The id of the interceptor attached to the axios instance.
127
- */
128
-
129
-
130
- export const attach = instance => {
131
- var _instance2, _instance2$intercepto;
132
-
74
+ const attach = (instance) => {
133
75
  instance = instance || axios;
134
- return (_instance2 = instance) !== null && _instance2 !== void 0 && (_instance2$intercepto = _instance2.interceptors) !== null && _instance2$intercepto !== void 0 && _instance2$intercepto.response ? instance.interceptors.response.use(onFulfilled, onError) : null;
76
+ return instance?.interceptors?.response ? instance.interceptors.response.use(onFulfilled, onError) : null;
135
77
  };
136
- /**
137
- * Acquire the retryConfig object from an AxiosError if available.
138
- *
139
- * @param err The Axios error with a config object.
140
- */
141
-
142
- export const getConfig = err => {
78
+ const getConfig = (err) => {
143
79
  if (err && err.config) {
144
80
  return err.config.retryConfig;
145
81
  }
146
-
147
82
  return null;
148
- };
83
+ };
84
+ export {
85
+ attach,
86
+ detach,
87
+ getConfig
88
+ };
@@ -1,34 +1,31 @@
1
- import { attach, getConfig } from "./retry-axios.js";
2
- export const getRaxConfig = httpClient => ({
3
- // Retry 3 times on requests that return a response (500, etc) before giving up. Defaults to 3.
1
+ import {
2
+ attach,
3
+ getConfig
4
+ } from "./retry-axios.js";
5
+ const getRaxConfig = (httpClient) => ({
4
6
  retry: 3,
5
- // Retry twice on errors that don't return a response (ENOTFOUND, ETIMEDOUT, etc).
6
7
  noResponseRetries: 2,
7
- // Milliseconds to delay at first. Defaults to 100.
8
8
  retryDelay: 100,
9
- // HTTP methods to automatically retry. Defaults to:
10
- // ['GET', 'HEAD', 'OPTIONS', 'DELETE', 'PUT']
11
- httpMethodsToRetry: ['GET', 'HEAD', 'OPTIONS', 'DELETE', 'PUT'],
12
- // The response status codes to retry. Supports a double
13
- // array with a list of ranges. Defaults to:
14
- // [[100, 199], [429, 429], [500, 599]]
15
- statusCodesToRetry: [[100, 199], [429, 429], [500, 599]],
16
- // If you are using a non static instance of Axios you need
17
- // to pass that instance here (const ax = axios.create())
9
+ httpMethodsToRetry: ["GET", "HEAD", "OPTIONS", "DELETE", "PUT"],
10
+ statusCodesToRetry: [
11
+ [100, 199],
12
+ [429, 429],
13
+ [500, 599]
14
+ ],
18
15
  instance: httpClient,
19
- // You can detect when a retry is happening, and figure out how many
20
- // retry attempts have been made
21
- onRetryAttempt: err => {
22
- const cfg = getConfig(err); // eslint-disable-next-line no-console
23
-
24
- if (cfg && cfg.currentRetryAttempt) {}
16
+ onRetryAttempt: (err) => {
17
+ const cfg = getConfig(err);
18
+ if (cfg && cfg.currentRetryAttempt)
19
+ console.log(`Retry attempt #${cfg.currentRetryAttempt}`);
25
20
  }
26
21
  });
27
-
28
- const setupRetry = httpClient => {
29
- if (httpClient !== null && httpClient !== void 0 && httpClient.defaults) // eslint-disable-next-line no-param-reassign
22
+ const setupRetry = (httpClient) => {
23
+ if (httpClient?.defaults)
30
24
  httpClient.defaults.retryConfig = getRaxConfig(httpClient);
31
25
  attach(httpClient);
32
26
  };
33
-
34
- export default setupRetry;
27
+ var retry_default = setupRetry;
28
+ export {
29
+ retry_default as default,
30
+ getRaxConfig
31
+ };
@@ -1,65 +1,46 @@
1
- /* Important. these test cases work only with server backend. so do not enable these test cases. */
2
1
  import enums from "../../../utils/constants.js";
3
2
  import { getAuthHTTPClient } from "../index.js";
4
3
  import { onAuthorizationFailure } from "../response-interceptor.js";
5
- describe('http client test cases', () => {
4
+ describe("http client test cases", () => {
6
5
  const callApi = ({
7
6
  apiUrl,
8
7
  options = {},
9
- baseURL = 'http://localhost:3001'
8
+ baseURL = "http://localhost:3001"
10
9
  }) => {
11
- const httpClient = getAuthHTTPClient({
12
- baseURL
13
- });
10
+ const httpClient = getAuthHTTPClient({ baseURL });
14
11
  return httpClient.get(apiUrl, options);
15
12
  };
16
-
17
- const refreshToken = () => new Promise(resolve => {
18
- const authorizationHeader = 'pui';
13
+ const refreshToken = () => new Promise((resolve) => {
14
+ const authorizationHeader = "pui";
19
15
  sessionStorage.setItem(enums.AUTHORIZATION, authorizationHeader);
20
16
  resolve(authorizationHeader);
21
17
  });
22
-
23
- it('should download large file without timing out', async () => {
24
- jest.setTimeout(300000);
25
- const {
26
- data
27
- } = await callApi({
28
- apiUrl: 'annual_report_2009.pdf',
29
- options: {
30
- timeout: 200000
31
- },
32
- baseURL: 'https://www.iso.org/files/live/sites/isoorg/files/archive/pdf/en'
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"
33
24
  });
34
25
  expect(data).toBeDefined();
35
26
  });
36
- it('should throw connection aborted error for large file download', async () => {
37
- jest.setTimeout(300000);
27
+ it("should throw connection aborted error for large file download", async () => {
28
+ jest.setTimeout(3e5);
38
29
  await expect(callApi({
39
- apiUrl: 'annual_report_2009.pdf',
40
- baseURL: 'https://www.iso.org/files/live/sites/isoorg/files/archive/pdf/en'
41
- })).rejects.toEqual(new Error('timeout of 10000ms exceeded'));
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"));
42
33
  });
43
- it('should return success response', async () => {
44
- const {
45
- data
46
- } = await callApi({
47
- apiUrl: '/hello'
48
- });
49
- expect(data.name).toEqual('pui-app-sdk');
34
+ it("should return success response", async () => {
35
+ const { data } = await callApi({ apiUrl: "/hello" });
36
+ expect(data.name).toEqual("pui-app-sdk");
50
37
  });
51
- it('should return unauthorized 401 response', async () => {
52
- await expect(callApi({
53
- apiUrl: '/private'
54
- })).rejects.toThrow('Request failed with status code 401');
38
+ it("should return unauthorized 401 response", async () => {
39
+ await expect(callApi({ apiUrl: "/private" })).rejects.toThrow("Request failed with status code 401");
55
40
  });
56
- it('should return success after refreshing authorization token', async () => {
41
+ it("should return success after refreshing authorization token", async () => {
57
42
  onAuthorizationFailure(refreshToken);
58
- const {
59
- data
60
- } = await callApi({
61
- apiUrl: '/private'
62
- });
63
- expect(data.message).toEqual('you are viewing a private message');
43
+ const { data } = await callApi({ apiUrl: "/private" });
44
+ expect(data.message).toEqual("you are viewing a private message");
64
45
  });
65
- });
46
+ });
@@ -1,7 +1,7 @@
1
- export const LOGIN = 'auth/LOGIN';
2
- export const LOGIN_SUCCESS = 'auth/LOGIN_SUCCESS';
3
- export const LOGOUT = 'auth/LOGOUT';
4
- export const auth = {
1
+ const LOGIN = "auth/LOGIN";
2
+ const LOGIN_SUCCESS = "auth/LOGIN_SUCCESS";
3
+ const LOGOUT = "auth/LOGOUT";
4
+ const auth = {
5
5
  login: ({
6
6
  idpCode,
7
7
  redirectUri,
@@ -10,13 +10,7 @@ export const auth = {
10
10
  scope
11
11
  }) => ({
12
12
  type: LOGIN,
13
- payload: {
14
- idpCode,
15
- redirectUri,
16
- clientId,
17
- responseType,
18
- scope
19
- }
13
+ payload: { idpCode, redirectUri, clientId, responseType, scope }
20
14
  }),
21
15
  logout: ({
22
16
  clientId,
@@ -26,12 +20,12 @@ export const auth = {
26
20
  code
27
21
  }) => ({
28
22
  type: LOGOUT,
29
- payload: {
30
- clientId,
31
- redirectUri,
32
- responseType,
33
- scope,
34
- code
35
- }
23
+ payload: { clientId, redirectUri, responseType, scope, code }
36
24
  })
37
- };
25
+ };
26
+ export {
27
+ LOGIN,
28
+ LOGIN_SUCCESS,
29
+ LOGOUT,
30
+ auth
31
+ };
@@ -1,14 +1,16 @@
1
- import produce from 'immer';
1
+ import produce from "immer";
2
2
  import { LOGIN_SUCCESS } from "./actions.js";
3
- export const initialState = {
3
+ const initialState = {
4
4
  authenticated: false
5
5
  };
6
- /* eslint-disable default-case, no-param-reassign */
7
-
8
- export const authReducer = produce((draft, action) => {
6
+ const authReducer = produce((draft, action) => {
9
7
  switch (action.type) {
10
8
  case LOGIN_SUCCESS:
11
9
  draft.authenticated = true;
12
10
  break;
13
11
  }
14
- }, initialState);
12
+ }, initialState);
13
+ export {
14
+ authReducer,
15
+ initialState
16
+ };