@elliemae/pui-app-sdk 3.0.0-beta.2 → 3.0.0-beta.23
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.
- package/dist/cjs/analytics/appdynamics.js +13 -7
- package/dist/cjs/analytics/index.js +13 -12
- package/dist/cjs/analytics/page-view-event.js +23 -13
- package/dist/cjs/analytics/user-session-event.js +14 -13
- package/dist/cjs/analytics/user-wait-event.js +13 -12
- package/dist/cjs/analytics/web-analytics.js +19 -2
- package/dist/cjs/api/auth/index.js +11 -10
- package/dist/cjs/api/helpers.js +12 -11
- package/dist/cjs/api/users/index.js +11 -10
- package/dist/cjs/communication/http-client/index.js +18 -12
- package/dist/cjs/communication/http-client/request-interceptor.js +11 -10
- package/dist/cjs/communication/http-client/response-interceptor.js +13 -7
- package/dist/cjs/communication/http-client/retry-axios.js +14 -8
- package/dist/cjs/communication/http-client/retry.js +11 -10
- package/dist/cjs/communication/http-client/tests/index.test-disable.js +7 -7
- package/dist/cjs/data/auth/actions.js +19 -2
- package/dist/cjs/data/auth/reducer.js +14 -8
- package/dist/cjs/data/breakpoint/index.js +13 -7
- package/dist/cjs/data/error/index.js +11 -10
- package/dist/cjs/data/index.js +35 -0
- package/dist/cjs/data/live-message/index.js +11 -10
- package/dist/cjs/data/logout/actions.js +19 -2
- package/dist/cjs/data/navigation-prompt/actions.js +19 -2
- package/dist/cjs/data/react-redux.js +11 -10
- package/dist/cjs/data/reducers.js +15 -14
- package/dist/cjs/data/saga.js +19 -2
- package/dist/cjs/data/store.js +17 -24
- package/dist/cjs/data/wait-message/actions.js +19 -2
- package/dist/cjs/data/wait-message/reducer.js +14 -8
- package/dist/cjs/index.js +90 -84
- package/dist/cjs/micro-frontend.js +34 -0
- package/dist/cjs/sideeffect/auth/index.js +15 -14
- package/dist/cjs/sideeffect/error-toast/index.js +15 -14
- package/dist/cjs/sideeffect/wait-message/index.js +15 -14
- package/dist/cjs/typings/styled.d.js +1 -19
- package/dist/cjs/utils/app-config/config.js +14 -8
- package/dist/cjs/utils/app-config/index.js +17 -11
- package/dist/cjs/utils/app-host-integration/react.js +11 -10
- package/dist/cjs/utils/auth/helper.js +13 -7
- package/dist/cjs/utils/auth/index.js +21 -19
- package/dist/cjs/utils/await.js +18 -1
- package/dist/cjs/utils/constants.js +19 -2
- package/dist/cjs/utils/font-size.js +19 -2
- package/dist/cjs/utils/guest-with-service.js +19 -2
- package/dist/cjs/utils/helpers.js +20 -3
- package/dist/cjs/utils/history.js +11 -10
- package/dist/cjs/utils/log-records.js +19 -2
- package/dist/cjs/utils/micro-frontend/console-logger.js +12 -11
- package/dist/cjs/utils/micro-frontend/guest.js +25 -19
- package/dist/cjs/utils/micro-frontend/host.js +30 -29
- package/dist/cjs/utils/micro-frontend/index.js +17 -11
- package/dist/cjs/utils/micro-frontend/types.js +18 -1
- package/dist/cjs/utils/redact-pii.js +19 -2
- package/dist/cjs/utils/service-worker.js +12 -11
- package/dist/cjs/utils/session.js +15 -14
- package/dist/cjs/utils/storybook/{main.js → cjs/main.js} +11 -3
- package/dist/cjs/utils/storybook/{middleware.js → cjs/middleware.js} +0 -0
- package/dist/cjs/utils/storybook/{vite.js → cjs/vite.js} +0 -0
- package/dist/cjs/utils/storybook/{webpack.js → cjs/webpack.js} +9 -1
- package/dist/cjs/utils/storybook/manager.js +12 -11
- package/dist/cjs/utils/storybook/preview.js +19 -19
- package/dist/cjs/utils/storybook/theme.js +11 -10
- package/dist/cjs/utils/testing/index.js +19 -12
- package/dist/cjs/utils/testing/render-with-redux.js +17 -10
- package/dist/cjs/utils/testing/render-with-router-redux.js +20 -13
- package/dist/cjs/utils/testing/render-with-router.js +24 -14
- package/dist/cjs/utils/testing/render-with-state-addons.js +17 -10
- package/dist/cjs/utils/types.js +18 -1
- package/dist/cjs/utils/url.js +19 -2
- package/dist/cjs/utils/web-storage.js +13 -7
- package/dist/cjs/utils/window.js +11 -10
- package/dist/cjs/view/app-root/hosted-app.js +24 -14
- package/dist/cjs/view/app-root/index.js +25 -18
- package/dist/cjs/view/app-root/stand-alone-app.js +27 -16
- package/dist/cjs/view/app-root/style.js +11 -10
- package/dist/cjs/view/app-router.js +48 -0
- package/dist/cjs/view/{media-breakpoint/index.js → breakpoint/use-breakpoint.js} +20 -20
- package/dist/cjs/view/{useMediaBreakpoints/index.js → breakpoint/use-media-query-list.js} +15 -14
- package/dist/cjs/view/error-boundary/default-error-template.js +26 -3
- package/dist/cjs/view/error-boundary/index.js +16 -10
- package/dist/cjs/view/error-toast/index.js +21 -14
- package/dist/cjs/view/fetch-host-app-data/index.js +16 -10
- package/dist/cjs/view/fetch-host-app-data/store.js +11 -10
- package/dist/cjs/view/fields/check-box/index.js +18 -19
- package/dist/cjs/view/fields/combo-box/index.js +18 -13
- package/dist/cjs/view/fields/connect-form.js +11 -10
- package/dist/cjs/view/fields/date-input/index.js +16 -9
- package/dist/cjs/view/fields/date-picker/index.js +16 -9
- package/dist/cjs/view/fields/form-item-layout/index.js +18 -14
- package/dist/cjs/view/fields/form-layout-block-item/index.js +54 -0
- package/dist/cjs/view/fields/input-mask/index.js +16 -9
- package/dist/cjs/view/fields/large-text-box/index.js +16 -9
- package/dist/cjs/view/fields/radio/index.js +16 -9
- package/dist/cjs/view/fields/radio-group/index.js +17 -14
- package/dist/cjs/view/fields/text-box/index.js +16 -9
- package/dist/cjs/view/fields/watch-value.js +19 -10
- package/dist/cjs/view/form/index.js +15 -8
- package/dist/cjs/view/form/personal-info-section.js +46 -35
- package/dist/cjs/view/form/submit-button/index.js +17 -12
- package/dist/cjs/view/guest-unload-handlers/index.js +11 -10
- package/dist/cjs/view/host-binding-events/index.js +19 -2
- package/dist/cjs/view/live-message/index.js +15 -8
- package/dist/cjs/view/loadable/index.js +15 -8
- package/dist/cjs/view/login/index.js +16 -19
- package/dist/cjs/view/message-to-host-app/index.js +11 -10
- package/dist/cjs/view/micro-app/app-factory/index.js +22 -19
- package/dist/cjs/view/micro-app/const.js +19 -2
- package/dist/cjs/view/micro-app/index.js +17 -10
- package/dist/cjs/view/micro-app/resources/manifest.js +16 -13
- package/dist/cjs/view/micro-app/resources/script.js +12 -11
- package/dist/cjs/view/micro-app/resources/style.js +11 -10
- package/dist/cjs/view/micro-app/types.js +18 -1
- package/dist/cjs/view/micro-app/use-app-will-render.js +21 -18
- package/dist/cjs/view/micro-app/utils.js +11 -10
- package/dist/cjs/view/micro-iframe-app/app.js +18 -11
- package/dist/cjs/view/micro-iframe-app/iframe/const.js +19 -2
- package/dist/cjs/view/micro-iframe-app/iframe/index.js +16 -9
- package/dist/cjs/view/micro-iframe-app/index.js +16 -9
- package/dist/cjs/view/micro-iframe-app/types.js +18 -1
- package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +16 -13
- package/dist/cjs/view/modals/error/index.js +31 -21
- package/dist/cjs/view/modals/navigation-prompt/index.js +39 -21
- package/dist/cjs/view/modals/session-expiry/customHooks.js +14 -13
- package/dist/cjs/view/modals/session-expiry/index.js +39 -29
- package/dist/cjs/view/modals/wait-message/index.js +21 -15
- package/dist/cjs/view/modals/wait-message/{html-wait-message.js → use-html-wait-message.js} +14 -14
- package/dist/cjs/view/modals/wait-message/wait-message-launcher.js +14 -13
- package/dist/cjs/view/page.js +51 -0
- package/dist/cjs/view/render-with-delay/index.js +15 -8
- package/dist/cjs/view/render-with-host-data/index.js +16 -9
- package/dist/cjs/view/require-auth.js +58 -0
- package/dist/cjs/view/session-timeout/index.js +23 -12
- package/dist/cjs/view/storybook/decorator.js +15 -8
- package/dist/cjs/view/use-previous.js +11 -10
- package/dist/cjs/view/use-window-size-change.js +45 -0
- package/dist/cjs/view/visually-hidden/index.js +15 -8
- package/dist/es/analytics/index.js +3 -3
- package/dist/es/analytics/page-view-event.js +12 -3
- package/dist/es/analytics/user-session-event.js +2 -2
- package/dist/es/analytics/user-wait-event.js +1 -1
- package/dist/es/api/auth/index.js +1 -1
- package/dist/es/api/users/index.js +1 -1
- package/dist/es/communication/http-client/index.js +5 -5
- package/dist/es/communication/http-client/request-interceptor.js +1 -1
- package/dist/es/communication/http-client/retry-axios.js +1 -1
- package/dist/es/communication/http-client/retry.js +1 -1
- package/dist/es/communication/http-client/tests/index.test-disable.js +3 -3
- package/dist/es/data/auth/reducer.js +1 -1
- package/dist/es/data/index.js +11 -0
- package/dist/es/data/reducers.js +4 -4
- package/dist/es/data/store.js +5 -15
- package/dist/es/data/wait-message/reducer.js +1 -1
- package/dist/es/index.js +87 -77
- package/dist/es/micro-frontend.js +10 -0
- package/dist/es/sideeffect/auth/index.js +4 -4
- package/dist/es/sideeffect/error-toast/index.js +4 -4
- package/dist/es/sideeffect/wait-message/index.js +4 -4
- package/dist/es/utils/app-config/config.js +1 -1
- package/dist/es/utils/app-config/index.js +4 -4
- package/dist/es/utils/app-host-integration/react.js +1 -1
- package/dist/es/utils/auth/helper.js +1 -1
- package/dist/es/utils/auth/index.js +11 -10
- package/dist/es/utils/helpers.js +1 -1
- package/dist/es/utils/micro-frontend/console-logger.js +1 -1
- package/dist/es/utils/micro-frontend/guest.js +9 -9
- package/dist/es/utils/micro-frontend/host.js +19 -18
- package/dist/es/utils/micro-frontend/index.js +4 -4
- package/dist/es/utils/service-worker.js +2 -2
- package/dist/es/utils/session.js +4 -4
- package/dist/es/utils/storybook/manager.js +1 -1
- package/dist/es/utils/storybook/preview.js +7 -8
- package/dist/es/utils/testing/index.js +4 -3
- package/dist/es/utils/testing/render-with-redux.js +3 -2
- package/dist/es/utils/testing/render-with-router-redux.js +5 -4
- package/dist/es/utils/testing/render-with-router.js +10 -6
- package/dist/es/utils/testing/render-with-state-addons.js +1 -0
- package/dist/es/view/app-root/hosted-app.js +11 -7
- package/dist/es/view/app-root/index.js +9 -8
- package/dist/es/view/app-root/stand-alone-app.js +13 -8
- package/dist/es/view/app-router.js +19 -0
- package/dist/es/view/{media-breakpoint/index.js → breakpoint/use-breakpoint.js} +7 -8
- package/dist/es/view/{useMediaBreakpoints/index.js → breakpoint/use-media-query-list.js} +4 -4
- package/dist/es/view/error-boundary/default-error-template.js +2 -1
- package/dist/es/view/error-boundary/index.js +3 -3
- package/dist/es/view/error-toast/index.js +4 -8
- package/dist/es/view/fetch-host-app-data/index.js +6 -3
- package/dist/es/view/fields/check-box/index.js +5 -12
- package/dist/es/view/fields/combo-box/index.js +4 -5
- package/dist/es/view/fields/date-input/index.js +2 -1
- package/dist/es/view/fields/date-picker/index.js +2 -1
- package/dist/es/view/fields/form-item-layout/index.js +4 -6
- package/dist/es/view/fields/form-layout-block-item/index.js +25 -0
- package/dist/es/view/fields/input-mask/index.js +4 -2
- package/dist/es/view/fields/large-text-box/index.js +2 -1
- package/dist/es/view/fields/radio/index.js +2 -1
- package/dist/es/view/fields/radio-group/index.js +3 -6
- package/dist/es/view/fields/text-box/index.js +2 -1
- package/dist/es/view/fields/watch-value.js +5 -2
- package/dist/es/view/form/index.js +1 -0
- package/dist/es/view/form/personal-info-section.js +33 -28
- package/dist/es/view/form/submit-button/index.js +4 -5
- package/dist/es/view/guest-unload-handlers/index.js +1 -1
- package/dist/es/view/live-message/index.js +2 -1
- package/dist/es/view/loadable/index.js +2 -1
- package/dist/es/view/login/index.js +5 -9
- package/dist/es/view/message-to-host-app/index.js +1 -1
- package/dist/es/view/micro-app/app-factory/index.js +15 -10
- package/dist/es/view/micro-app/index.js +3 -2
- package/dist/es/view/micro-app/resources/manifest.js +6 -4
- package/dist/es/view/micro-app/resources/script.js +2 -2
- package/dist/es/view/micro-app/resources/style.js +1 -1
- package/dist/es/view/micro-app/use-app-will-render.js +13 -6
- package/dist/es/view/micro-app/utils.js +1 -1
- package/dist/es/view/micro-iframe-app/app.js +4 -3
- package/dist/es/view/micro-iframe-app/iframe/index.js +2 -1
- package/dist/es/view/micro-iframe-app/index.js +3 -2
- package/dist/es/view/micro-iframe-app/use-frame-loaded.js +5 -3
- package/dist/es/view/modals/error/index.js +25 -15
- package/dist/es/view/modals/navigation-prompt/index.js +33 -14
- package/dist/es/view/modals/session-expiry/customHooks.js +2 -2
- package/dist/es/view/modals/session-expiry/index.js +35 -23
- package/dist/es/view/modals/wait-message/index.js +8 -8
- package/dist/es/view/modals/wait-message/{html-wait-message.js → use-html-wait-message.js} +4 -5
- package/dist/es/view/modals/wait-message/wait-message-launcher.js +3 -3
- package/dist/es/view/page.js +22 -0
- package/dist/es/view/render-with-delay/index.js +2 -1
- package/dist/es/view/render-with-host-data/index.js +3 -2
- package/dist/es/view/require-auth.js +29 -0
- package/dist/es/view/session-timeout/index.js +10 -5
- package/dist/es/view/storybook/decorator.js +3 -2
- package/dist/es/view/use-window-size-change.js +21 -0
- package/dist/es/view/visually-hidden/index.js +1 -0
- package/dist/types/communication/http-client/retry.d.ts +1 -1
- package/dist/types/data/index.d.ts +4 -0
- package/dist/types/data/react-redux.d.ts +9 -18
- package/dist/types/data/reducers.d.ts +6 -6
- package/dist/types/data/store.d.ts +30 -31
- package/dist/types/index.d.ts +78 -78
- package/dist/types/micro-frontend.d.ts +6 -0
- package/dist/types/sideeffect/auth/index.d.ts +1 -1
- package/dist/types/utils/app-config/config.d.ts +1 -1
- package/dist/types/utils/app-host-integration/react.d.ts +1 -1
- package/dist/types/utils/history.d.ts +2 -2
- package/dist/types/utils/micro-frontend/guest.d.ts +5 -5
- package/dist/types/utils/micro-frontend/host.d.ts +3 -3
- package/dist/types/utils/micro-frontend/index.d.ts +2 -2
- package/dist/types/utils/micro-frontend/types.d.ts +1 -1
- package/dist/types/utils/session.d.ts +5 -2
- package/dist/types/utils/storybook/{main.d.cts → cjs/main.d.ts} +24 -2
- package/dist/types/utils/storybook/{middleware.d.cts → cjs/middleware.d.ts} +0 -0
- package/dist/types/utils/storybook/{vite.d.cts → cjs/vite.d.ts} +0 -0
- package/dist/types/utils/storybook/cjs/webpack.d.ts +16 -0
- package/dist/types/utils/storybook/preview.d.ts +8 -2
- package/dist/types/utils/testing/render-with-redux.d.ts +22 -22
- package/dist/types/utils/testing/render-with-router-redux.d.ts +22 -22
- package/dist/types/utils/testing/render-with-router.d.ts +2 -2
- package/dist/types/utils/testing/render-with-state-addons.d.ts +1 -1
- package/dist/types/view/app-root/hosted-app.d.ts +1 -1
- package/dist/types/view/app-root/index.d.ts +2 -2
- package/dist/types/view/app-root/stand-alone-app.d.ts +1 -1
- package/dist/types/view/app-router.d.ts +9 -0
- package/dist/types/view/{media-breakpoint → breakpoint}/index.stories.d.ts +0 -0
- package/dist/types/view/breakpoint/use-breakpoint.d.ts +1 -0
- package/dist/types/view/breakpoint/use-media-query-list.d.ts +1 -0
- package/dist/types/view/error-boundary/default-error-template.d.ts +1 -1
- package/dist/types/view/fields/check-box/index.d.ts +2 -4
- package/dist/types/view/fields/check-box/index.stories.d.ts +2 -4
- package/dist/types/view/fields/check-box/set-value.stories.d.ts +1 -1
- package/dist/types/view/fields/combo-box/index.d.ts +1 -2
- package/dist/types/view/fields/combo-box/index.stories.d.ts +2 -4
- package/dist/types/view/fields/connect-form.d.ts +1 -1
- package/dist/types/view/fields/date-input/index.d.ts +1 -1
- package/dist/types/view/fields/date-input/index.stories.d.ts +1 -1
- package/dist/types/view/fields/date-picker/index.d.ts +2 -1
- package/dist/types/view/fields/date-picker/index.stories.d.ts +2 -4
- package/dist/types/view/fields/form-item-layout/index.d.ts +1 -1
- package/dist/types/view/fields/form-item-layout/index.stories.d.ts +1 -1
- package/dist/types/view/fields/form-layout-block-item/index.d.ts +8 -0
- package/dist/types/view/{header → fields/form-layout-block-item}/index.stories.d.ts +2 -2
- package/dist/types/view/fields/input-mask/index.d.ts +2 -2
- package/dist/types/view/fields/input-mask/index.stories.d.ts +2 -4
- package/dist/types/view/fields/large-text-box/index.d.ts +1 -1
- package/dist/types/view/fields/large-text-box/index.stories.d.ts +2 -4
- package/dist/types/view/fields/radio/index.d.ts +2 -2
- package/dist/types/view/fields/radio/index.stories.d.ts +2 -4
- package/dist/types/view/fields/radio/set-value.stories.d.ts +1 -1
- package/dist/types/view/fields/radio-group/index.d.ts +1 -1
- package/dist/types/view/fields/radio-group/index.stories.d.ts +1 -1
- package/dist/types/view/fields/text-box/index.d.ts +1 -1
- package/dist/types/view/fields/text-box/index.stories.d.ts +1 -1
- package/dist/types/view/fields/watch-value.d.ts +2 -2
- package/dist/types/view/form/personal-info-section.d.ts +3 -3
- package/dist/types/view/form/submit-button/index.d.ts +2 -1
- package/dist/types/view/form/usecases.stories.d.ts +1 -1
- package/dist/types/view/live-message/index.d.ts +1 -1
- package/dist/types/view/login/index.d.ts +1 -2
- package/dist/types/view/micro-app/app-factory/index.d.ts +3 -3
- package/dist/types/view/micro-app/index.d.ts +1 -1
- package/dist/types/view/micro-app/resources/manifest.d.ts +2 -2
- package/dist/types/view/micro-app/resources/script.d.ts +1 -1
- package/dist/types/view/micro-app/resources/style.d.ts +1 -1
- package/dist/types/view/micro-app/types.d.ts +1 -0
- package/dist/types/view/micro-app/use-app-will-render.d.ts +2 -2
- package/dist/types/view/micro-iframe-app/app.d.ts +2 -2
- package/dist/types/view/micro-iframe-app/index.d.ts +1 -1
- package/dist/types/view/micro-iframe-app/types.d.ts +1 -1
- package/dist/types/view/micro-iframe-app/use-frame-loaded.d.ts +1 -1
- package/dist/types/view/modals/error/index.d.ts +3 -2
- package/dist/types/view/modals/error/index.stories.d.ts +1 -1
- package/dist/types/view/modals/navigation-prompt/index.d.ts +0 -1
- package/dist/types/view/modals/navigation-prompt/index.stories.d.ts +1 -1
- package/dist/types/view/modals/session-expiry/index.d.ts +0 -1
- package/dist/types/view/modals/session-expiry/index.stories.d.ts +1 -1
- package/dist/types/view/modals/wait-message/index.stories.d.ts +7 -3
- package/dist/types/view/modals/wait-message/use-html-wait-message.d.ts +1 -0
- package/dist/types/view/modals/wait-message/wait-message-launcher.d.ts +1 -2
- package/dist/types/view/page.d.ts +8 -0
- package/dist/types/view/require-auth.d.ts +8 -0
- package/dist/types/view/session-timeout/index.d.ts +1 -1
- package/dist/types/view/session-timeout/index.stories.d.ts +1 -4
- package/dist/types/view/storybook/decorator.d.ts +1 -1
- package/dist/types/view/use-window-size-change.d.ts +1 -0
- package/package.json +59 -28
- package/dist/cjs/route/index.js +0 -48
- package/dist/cjs/route/page-view.js +0 -38
- package/dist/cjs/route/private-route/index.js +0 -68
- package/dist/cjs/view/header/center-region/index.js +0 -64
- package/dist/cjs/view/header/index.js +0 -43
- package/dist/cjs/view/header/logo-region/index.js +0 -32
- package/dist/cjs/view/header/logo-region/logo.svg +0 -2
- package/dist/cjs/view/header/nav-region/index.js +0 -46
- package/dist/cjs/view/header/nav-region/notification/index.js +0 -31
- package/dist/cjs/view/header/nav-region/notification/index.svg +0 -5
- package/dist/cjs/view/header/nav-region/user/index.js +0 -31
- package/dist/cjs/view/header/nav-region/user/index.svg +0 -4
- package/dist/cjs/view/window-size/index.js +0 -41
- package/dist/es/route/index.js +0 -25
- package/dist/es/route/page-view.js +0 -15
- package/dist/es/route/private-route/index.js +0 -45
- package/dist/es/view/header/center-region/index.js +0 -41
- package/dist/es/view/header/index.js +0 -20
- package/dist/es/view/header/logo-region/index.js +0 -9
- package/dist/es/view/header/logo-region/logo.svg +0 -2
- package/dist/es/view/header/nav-region/index.js +0 -23
- package/dist/es/view/header/nav-region/notification/index.js +0 -8
- package/dist/es/view/header/nav-region/notification/index.svg +0 -5
- package/dist/es/view/header/nav-region/user/index.js +0 -8
- package/dist/es/view/header/nav-region/user/index.svg +0 -4
- package/dist/es/view/window-size/index.js +0 -18
- package/dist/types/route/index.d.ts +0 -8
- package/dist/types/route/page-view.d.ts +0 -1
- package/dist/types/route/private-route/index.d.ts +0 -8
- package/dist/types/utils/storybook/webpack.d.cts +0 -8
- package/dist/types/view/header/center-region/index.d.ts +0 -9
- package/dist/types/view/header/index.d.ts +0 -7
- package/dist/types/view/header/logo-region/index.d.ts +0 -2
- package/dist/types/view/header/nav-region/index.d.ts +0 -2
- package/dist/types/view/header/nav-region/notification/index.d.ts +0 -2
- package/dist/types/view/header/nav-region/user/index.d.ts +0 -2
- package/dist/types/view/media-breakpoint/index.d.ts +0 -2
- package/dist/types/view/modals/wait-message/html-wait-message.d.ts +0 -6
- package/dist/types/view/useMediaBreakpoints/index.d.ts +0 -1
- package/dist/types/view/window-size/index.d.ts +0 -2
|
@@ -1,23 +1,26 @@
|
|
|
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 {
|
|
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";
|
|
20
|
-
const cssType =
|
|
22
|
+
} from "../resources/manifest.js";
|
|
23
|
+
const cssType = /\.css$/;
|
|
21
24
|
const isCss = (fileName) => cssType.test(fileName);
|
|
22
25
|
const activeApps = {};
|
|
23
26
|
const initApplication = async ({
|
|
@@ -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,6 +1,6 @@
|
|
|
1
|
-
import { removeDoubleSlash } from "../../../utils/url";
|
|
1
|
+
import { removeDoubleSlash } from "../../../utils/url.js";
|
|
2
2
|
const APP_SCRIPT_ID_PREFIX = "emui-script-";
|
|
3
|
-
const HEAD_SCRIPTS =
|
|
3
|
+
const HEAD_SCRIPTS = /(?:emuiDiagnostics|global|global-prod|emuiUserMonitoring)(?:..*)?.js/;
|
|
4
4
|
const isHeadScript = (scriptSrc) => HEAD_SCRIPTS.test(scriptSrc);
|
|
5
5
|
const addScriptToDOM = ({ name, hostUrl, documentEle }, fileName, index) => new Promise((resolve, reject) => {
|
|
6
6
|
const ele = documentEle.createElement("script");
|
|
@@ -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 {
|
|
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,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 });
|
|
@@ -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 (!hostUrl || !manifestPath)
|
|
10
|
+
throw new Error("hostUrl or manifestPath is not defined");
|
|
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,22 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useState, useCallback } from "react";
|
|
3
|
+
import {
|
|
4
|
+
DSDialog,
|
|
5
|
+
DSDialogBody,
|
|
6
|
+
DSDialogDefaultLayout,
|
|
7
|
+
DSDialogPrimaryMessage,
|
|
8
|
+
DSDialogSecondaryMessage
|
|
9
|
+
} from "@elliemae/ds-dialog";
|
|
10
|
+
import { ErrorHexegon } from "@elliemae/ds-icons";
|
|
3
11
|
const Error = ({
|
|
4
12
|
open,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
children
|
|
13
|
+
primaryMessage,
|
|
14
|
+
secondaryMessage
|
|
8
15
|
}) => {
|
|
9
|
-
const [isOpen,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
const [isOpen, setOpen] = useState(open);
|
|
17
|
+
const handleClick = useCallback(() => {
|
|
18
|
+
setOpen((prev) => !prev);
|
|
19
|
+
}, []);
|
|
20
|
+
return /* @__PURE__ */ React.createElement(DSDialog, {
|
|
13
21
|
isOpen,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
onClickOutside: handleClick,
|
|
23
|
+
size: "small"
|
|
24
|
+
}, /* @__PURE__ */ React.createElement(DSDialogBody, {
|
|
25
|
+
p: "s"
|
|
26
|
+
}, /* @__PURE__ */ React.createElement(DSDialogDefaultLayout, null, /* @__PURE__ */ React.createElement(ErrorHexegon, {
|
|
27
|
+
size: "xxl",
|
|
28
|
+
color: ["danger", "900"]
|
|
29
|
+
}), /* @__PURE__ */ React.createElement(DSDialogPrimaryMessage, null, primaryMessage), secondaryMessage && /* @__PURE__ */ React.createElement(DSDialogSecondaryMessage, null, secondaryMessage))));
|
|
20
30
|
};
|
|
21
31
|
export {
|
|
22
32
|
Error
|
|
@@ -1,20 +1,39 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import { memo } from "react";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
3
|
+
import { Close } from "@elliemae/ds-icons";
|
|
4
|
+
import { DSButtonV2 } from "@elliemae/ds-button";
|
|
5
|
+
import {
|
|
6
|
+
DSDialog,
|
|
7
|
+
DSDialogHeader,
|
|
8
|
+
DSDialogBody,
|
|
9
|
+
DSDialogFooter,
|
|
10
|
+
DSDialogSeparator,
|
|
11
|
+
DSDialogAddon
|
|
12
|
+
} from "@elliemae/ds-dialog";
|
|
13
|
+
import { useAppDispatch } from "../../../data/react-redux.js";
|
|
14
|
+
import { navigationPrompt } from "../../../data/navigation-prompt/actions.js";
|
|
15
|
+
const NavigationPrompt = memo(({ open }) => {
|
|
6
16
|
const dispatch = useAppDispatch();
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
17
|
+
const cancelDialog = () => dispatch(navigationPrompt.cancel());
|
|
18
|
+
const confirmDialog = () => dispatch(navigationPrompt.confirm());
|
|
19
|
+
return /* @__PURE__ */ React.createElement(DSDialog, {
|
|
10
20
|
isOpen: open,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
onClickOutside: cancelDialog,
|
|
22
|
+
centered: true
|
|
23
|
+
}, /* @__PURE__ */ React.createElement(DSDialogHeader, null, /* @__PURE__ */ React.createElement(DSDialogAddon, null, /* @__PURE__ */ React.createElement(DSButtonV2, {
|
|
24
|
+
buttonType: "icon",
|
|
25
|
+
onClick: cancelDialog
|
|
26
|
+
}, /* @__PURE__ */ React.createElement(Close, {
|
|
27
|
+
color: ["neutral", "900"]
|
|
28
|
+
})))), /* @__PURE__ */ React.createElement(DSDialogSeparator, null), /* @__PURE__ */ React.createElement(DSDialogBody, {
|
|
29
|
+
px: 24,
|
|
30
|
+
mb: 16
|
|
31
|
+
}, "You currently have unsaved changes. Are you sure you want to proceed without saving?"), /* @__PURE__ */ React.createElement(DSDialogSeparator, null), /* @__PURE__ */ React.createElement(DSDialogFooter, null, /* @__PURE__ */ React.createElement(DSButtonV2, {
|
|
32
|
+
buttonType: "outline",
|
|
33
|
+
onClick: cancelDialog
|
|
34
|
+
}, "Continue without saving"), /* @__PURE__ */ React.createElement(DSButtonV2, {
|
|
35
|
+
onClick: confirmDialog
|
|
36
|
+
}, "Save & Continue")));
|
|
18
37
|
});
|
|
19
38
|
export {
|
|
20
39
|
NavigationPrompt
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
2
|
import { getSeconds, differenceInMinutes } from "date-fns";
|
|
3
|
-
import { SESSION_TIMEOUT_INTERVAL } from "../../../utils/constants";
|
|
4
|
-
import { getAppConfigValue } from "../../../utils/app-config/config";
|
|
3
|
+
import { SESSION_TIMEOUT_INTERVAL } from "../../../utils/constants.js";
|
|
4
|
+
import { getAppConfigValue } from "../../../utils/app-config/config.js";
|
|
5
5
|
const useTrackSessionExpiry = (warningNotifiedAt) => {
|
|
6
6
|
const [timeData, setTimeData] = useState();
|
|
7
7
|
useEffect(() => {
|
|
@@ -1,38 +1,50 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { memo, useEffect, useState } from "react";
|
|
3
|
+
import { DSButtonV2 } from "@elliemae/ds-button";
|
|
4
|
+
import { WarningCircle } from "@elliemae/ds-icons";
|
|
5
|
+
import {
|
|
6
|
+
DSDialog,
|
|
7
|
+
DSDialogDefaultLayout,
|
|
8
|
+
DSDialogPrimaryMessage,
|
|
9
|
+
DSDialogSecondaryMessage,
|
|
10
|
+
DSDialogBody,
|
|
11
|
+
DSDialogFooter,
|
|
12
|
+
DSDialogSeparator
|
|
13
|
+
} from "@elliemae/ds-dialog";
|
|
14
|
+
import { useAppDispatch } from "../../../data/react-redux.js";
|
|
15
|
+
import { logout } from "../../../data/logout/actions.js";
|
|
16
|
+
import { resetUserIdleTime } from "../../../utils/session.js";
|
|
17
|
+
import { useTrackSessionExpiry } from "./customHooks.js";
|
|
18
|
+
const SessionExpiry = memo(({ open, warningNotifiedAt = 0 }) => {
|
|
8
19
|
const [isOpen, setIsOpen] = useState(open);
|
|
9
20
|
const timeLeft = useTrackSessionExpiry(warningNotifiedAt);
|
|
10
21
|
const dispatch = useAppDispatch();
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
setIsOpen(open);
|
|
24
|
+
}, [open]);
|
|
11
25
|
const resetSession = () => {
|
|
12
26
|
setIsOpen(false);
|
|
13
|
-
resetUserIdleTime();
|
|
27
|
+
resetUserIdleTime(true);
|
|
14
28
|
dispatch(logout.cancel());
|
|
15
29
|
};
|
|
16
30
|
const logoutSession = () => {
|
|
17
31
|
setIsOpen(false);
|
|
18
32
|
dispatch(logout.confirm());
|
|
19
33
|
};
|
|
20
|
-
return /* @__PURE__ */ React.createElement(
|
|
21
|
-
centered: true,
|
|
22
|
-
modalType: MODAL_TYPE_V2.DECISION,
|
|
34
|
+
return timeLeft ? /* @__PURE__ */ React.createElement(DSDialog, {
|
|
23
35
|
isOpen,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
+
size: "small"
|
|
37
|
+
}, /* @__PURE__ */ React.createElement(DSDialogBody, {
|
|
38
|
+
p: "s"
|
|
39
|
+
}, /* @__PURE__ */ React.createElement(DSDialogDefaultLayout, null, /* @__PURE__ */ React.createElement(WarningCircle, {
|
|
40
|
+
size: "xl",
|
|
41
|
+
color: ["warning", "900"]
|
|
42
|
+
}), /* @__PURE__ */ React.createElement(DSDialogPrimaryMessage, null, `Your session will expire in ${timeLeft}`), /* @__PURE__ */ React.createElement(DSDialogSecondaryMessage, null, "Please logout or reset your session"))), /* @__PURE__ */ React.createElement(DSDialogSeparator, null), /* @__PURE__ */ React.createElement(DSDialogFooter, null, /* @__PURE__ */ React.createElement(DSButtonV2, {
|
|
43
|
+
buttonType: "outline",
|
|
44
|
+
onClick: logoutSession
|
|
45
|
+
}, "Logout"), /* @__PURE__ */ React.createElement(DSButtonV2, {
|
|
46
|
+
onClick: resetSession
|
|
47
|
+
}, "Reset"))) : null;
|
|
36
48
|
});
|
|
37
49
|
export {
|
|
38
50
|
SessionExpiry
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import { memo, useEffect } from "react";
|
|
2
|
-
import DSLoadingIndicator from "@elliemae/ds-
|
|
3
|
-
import { useAppSelector } from "../../../data/react-redux";
|
|
4
|
-
import {
|
|
3
|
+
import { DSLoadingIndicator } from "@elliemae/ds-loading-indicator";
|
|
4
|
+
import { useAppSelector } from "../../../data/react-redux.js";
|
|
5
|
+
import { useHTMLWaitMessage } from "./use-html-wait-message.js";
|
|
5
6
|
import {
|
|
6
7
|
waitStartEvent,
|
|
7
8
|
waitEndEvent
|
|
8
|
-
} from "../../../analytics/user-wait-event";
|
|
9
|
+
} from "../../../analytics/user-wait-event.js";
|
|
9
10
|
const WaitMessage = memo(({
|
|
10
11
|
size = "m",
|
|
11
12
|
style = { color: "white", fontSize: "1.25rem" },
|
|
@@ -19,16 +20,15 @@ const WaitMessage = memo(({
|
|
|
19
20
|
else
|
|
20
21
|
waitEndEvent();
|
|
21
22
|
}, [isOpen]);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}), /* @__PURE__ */ React.createElement(DSLoadingIndicator, {
|
|
23
|
+
useHTMLWaitMessage(isOpen !== null);
|
|
24
|
+
return /* @__PURE__ */ React.createElement(DSLoadingIndicator, {
|
|
25
25
|
id: "em-loading",
|
|
26
26
|
size,
|
|
27
27
|
style,
|
|
28
28
|
...rest,
|
|
29
29
|
loading: isOpen,
|
|
30
30
|
message
|
|
31
|
-
})
|
|
31
|
+
});
|
|
32
32
|
});
|
|
33
33
|
export {
|
|
34
34
|
WaitMessage
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
const useHTMLWaitMessage = (close) => {
|
|
3
3
|
useEffect(() => {
|
|
4
4
|
const htmlWaitMsgElement = document.getElementById("em-wait-message");
|
|
5
5
|
if (htmlWaitMsgElement && close)
|
|
6
6
|
htmlWaitMsgElement.remove();
|
|
7
7
|
}, [close]);
|
|
8
|
-
|
|
9
|
-
});
|
|
8
|
+
};
|
|
10
9
|
export {
|
|
11
|
-
|
|
10
|
+
useHTMLWaitMessage
|
|
12
11
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
|
-
import { useAppDispatch } from "../../../data/react-redux";
|
|
3
|
-
import { waitMessage } from "../../../data/wait-message/actions";
|
|
2
|
+
import { useAppDispatch } from "../../../data/react-redux.js";
|
|
3
|
+
import { waitMessage } from "../../../data/wait-message/actions.js";
|
|
4
4
|
const WaitMessageLauncher = () => {
|
|
5
5
|
const dispatch = useAppDispatch();
|
|
6
6
|
useEffect(() => {
|
|
@@ -9,7 +9,7 @@ const WaitMessageLauncher = () => {
|
|
|
9
9
|
dispatch(waitMessage.close());
|
|
10
10
|
};
|
|
11
11
|
}, [dispatch]);
|
|
12
|
-
return
|
|
12
|
+
return null;
|
|
13
13
|
};
|
|
14
14
|
export {
|
|
15
15
|
WaitMessageLauncher
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Helmet } from "react-helmet";
|
|
3
|
+
import * as brum from "@elliemae/pui-user-monitoring";
|
|
4
|
+
import { pageViewEvent } from "../analytics/page-view-event.js";
|
|
5
|
+
const onPageView = (pageTitle) => {
|
|
6
|
+
try {
|
|
7
|
+
if (brum && pageTitle) {
|
|
8
|
+
brum.setCustomVirtualPageName(pageTitle);
|
|
9
|
+
brum.startVirtualPageMonitoringWithAutoEnd(pageTitle);
|
|
10
|
+
}
|
|
11
|
+
} catch {
|
|
12
|
+
}
|
|
13
|
+
pageViewEvent({ pageTitle });
|
|
14
|
+
};
|
|
15
|
+
const Page = ({ pageTitle = "ICE", children }) => {
|
|
16
|
+
onPageView(pageTitle);
|
|
17
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Helmet, null, /* @__PURE__ */ React.createElement("title", null, pageTitle)), children);
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
Page,
|
|
21
|
+
onPageView
|
|
22
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import { useEffect, useState, memo } from "react";
|
|
2
3
|
const RenderWithDelay = memo(({ render }) => {
|
|
3
4
|
const [show, showComponents] = useState(false);
|
|
@@ -7,7 +8,7 @@ const RenderWithDelay = memo(({ render }) => {
|
|
|
7
8
|
clearTimeout(timeoutId);
|
|
8
9
|
};
|
|
9
10
|
}, []);
|
|
10
|
-
return
|
|
11
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, show ? render() : "");
|
|
11
12
|
});
|
|
12
13
|
export {
|
|
13
14
|
RenderWithDelay
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import { useState, useEffect } from "react";
|
|
2
|
-
import { fetchHostAppData } from "../fetch-host-app-data";
|
|
3
|
-
import { WaitMessageLauncher } from "../modals/wait-message/wait-message-launcher";
|
|
3
|
+
import { fetchHostAppData } from "../fetch-host-app-data/index.js";
|
|
4
|
+
import { WaitMessageLauncher } from "../modals/wait-message/wait-message-launcher.js";
|
|
4
5
|
const renderWithHostData = (data) => {
|
|
5
6
|
const {
|
|
6
7
|
ComponentToRender,
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useInjectReducer, useInjectSaga } from "redux-injectors";
|
|
3
|
+
import enums from "../utils/constants.js";
|
|
4
|
+
import { authReducer } from "../data/auth/reducer.js";
|
|
5
|
+
import { authentication } from "../sideeffect/auth/index.js";
|
|
6
|
+
import { Login } from "./login/index.js";
|
|
7
|
+
import { isUserAuthorized } from "../utils/auth/index.js";
|
|
8
|
+
const key = "auth";
|
|
9
|
+
const RequireAuth = ({
|
|
10
|
+
children,
|
|
11
|
+
clientId = enums.CLIENT_ID,
|
|
12
|
+
scope = "loc",
|
|
13
|
+
responseType = "code"
|
|
14
|
+
}) => {
|
|
15
|
+
useInjectReducer({ key, reducer: authReducer });
|
|
16
|
+
useInjectSaga({ key, saga: authentication });
|
|
17
|
+
const userAuthorized = isUserAuthorized();
|
|
18
|
+
if (userAuthorized) {
|
|
19
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
|
|
20
|
+
}
|
|
21
|
+
return /* @__PURE__ */ React.createElement(Login, {
|
|
22
|
+
clientId,
|
|
23
|
+
scope,
|
|
24
|
+
responseType
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
RequireAuth
|
|
29
|
+
};
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import { useEffect, useState } from "react";
|
|
2
|
-
import { useAppDispatch } from "../../data/react-redux";
|
|
3
|
-
import { logout } from "../../data/logout/actions";
|
|
3
|
+
import { useAppDispatch } from "../../data/react-redux.js";
|
|
4
|
+
import { logout } from "../../data/logout/actions.js";
|
|
4
5
|
import {
|
|
5
6
|
initSessionMonitoring,
|
|
6
7
|
stopSessionMonitoring,
|
|
7
8
|
subscribeToSessionExpiryWarning,
|
|
8
9
|
subscribeToResetSession,
|
|
9
10
|
subscribeToSessionExpiry
|
|
10
|
-
} from "../../utils/session";
|
|
11
|
-
import { SessionExpiry } from "../modals/session-expiry";
|
|
11
|
+
} from "../../utils/session.js";
|
|
12
|
+
import { SessionExpiry } from "../modals/session-expiry/index.js";
|
|
12
13
|
const SessionTimeout = () => {
|
|
13
14
|
const dispatch = useAppDispatch();
|
|
14
15
|
const [showSessionExpiryWarning, setSessionExpiryWarning] = useState(false);
|
|
@@ -21,7 +22,11 @@ const SessionTimeout = () => {
|
|
|
21
22
|
setwarningNotifiedAt(sessionExpiryWarningNotifiedAt);
|
|
22
23
|
setSessionExpiryWarning(true);
|
|
23
24
|
});
|
|
24
|
-
const resetCb = subscribeToResetSession(
|
|
25
|
+
const resetCb = subscribeToResetSession((resetWarningModal) => {
|
|
26
|
+
if (resetWarningModal === true) {
|
|
27
|
+
setSessionExpiryWarning(false);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
25
30
|
const sessionExpiredCb = subscribeToSessionExpiry(() => {
|
|
26
31
|
dispatch(logout.confirm());
|
|
27
32
|
setSessionExpiryWarning(false);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { browserHistory } from "../../utils/history.js";
|
|
3
|
+
import { AppRoot } from "../app-root/index.js";
|
|
3
4
|
const withAppDecorator = (theme, store, story) => /* @__PURE__ */ React.createElement(AppRoot, {
|
|
4
5
|
store,
|
|
5
6
|
history: browserHistory,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { publish } from "pubsub-js";
|
|
3
|
+
import { HOST_WINDOW_RESIZED } from "../utils/constants.js";
|
|
4
|
+
const useWindowSizeChange = () => {
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (window.ResizeObserver) {
|
|
7
|
+
const observer = new ResizeObserver((entries) => {
|
|
8
|
+
publish(HOST_WINDOW_RESIZED, entries && entries[0]);
|
|
9
|
+
});
|
|
10
|
+
observer.observe(window.document.documentElement);
|
|
11
|
+
return () => {
|
|
12
|
+
observer.unobserve(window.document.documentElement);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return () => {
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
useWindowSizeChange
|
|
21
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AxiosInstance } from 'axios';
|
|
2
|
-
import { RetryConfig } from './retry-axios';
|
|
2
|
+
import { RetryConfig } from './retry-axios.js';
|
|
3
3
|
export declare const getRaxConfig: (httpClient: AxiosInstance) => Partial<RetryConfig>;
|
|
4
4
|
declare const setupRetry: (httpClient: AxiosInstance) => void;
|
|
5
5
|
export default setupRetry;
|