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

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 (80) hide show
  1. package/dist/cjs/communication/http-client/retry-axios.js +1 -1
  2. package/dist/cjs/index.js +4 -6
  3. package/dist/cjs/utils/app-config/config.js +1 -1
  4. package/dist/cjs/utils/helpers.js +1 -1
  5. package/dist/cjs/utils/testing/render-with-router-redux.js +2 -2
  6. package/dist/cjs/utils/testing/render-with-router.js +9 -6
  7. package/dist/cjs/view/app-root/index.js +2 -2
  8. package/dist/cjs/view/{header/nav-region/user/index.js → app-router.js} +19 -9
  9. package/dist/cjs/view/login/index.js +1 -7
  10. package/dist/cjs/view/media-breakpoint/index.js +1 -7
  11. package/dist/cjs/view/micro-app/app-factory/index.js +1 -1
  12. package/dist/cjs/view/micro-app/resources/script.js +1 -1
  13. package/dist/cjs/view/modals/wait-message/html-wait-message.js +1 -7
  14. package/dist/cjs/view/modals/wait-message/wait-message-launcher.js +1 -7
  15. package/dist/cjs/{route/page-view.js → view/page.js} +10 -3
  16. package/dist/cjs/view/render-with-delay/index.js +1 -1
  17. package/dist/cjs/{route/private-route/index.js → view/require-auth.js} +23 -36
  18. package/dist/cjs/view/window-size/index.js +1 -7
  19. package/dist/es/communication/http-client/retry-axios.js +1 -1
  20. package/dist/es/index.js +4 -6
  21. package/dist/es/utils/app-config/config.js +1 -1
  22. package/dist/es/utils/helpers.js +1 -1
  23. package/dist/es/utils/testing/render-with-router-redux.js +2 -2
  24. package/dist/es/utils/testing/render-with-router.js +9 -6
  25. package/dist/es/view/app-root/index.js +2 -2
  26. package/dist/es/view/app-router.js +19 -0
  27. package/dist/es/view/login/index.js +1 -2
  28. package/dist/es/view/media-breakpoint/index.js +1 -2
  29. package/dist/es/view/micro-app/app-factory/index.js +1 -1
  30. package/dist/es/view/micro-app/resources/script.js +1 -1
  31. package/dist/es/view/modals/wait-message/html-wait-message.js +1 -2
  32. package/dist/es/view/modals/wait-message/wait-message-launcher.js +1 -2
  33. package/dist/es/{route/page-view.js → view/page.js} +7 -0
  34. package/dist/es/view/render-with-delay/index.js +1 -1
  35. package/dist/es/view/require-auth.js +33 -0
  36. package/dist/es/view/window-size/index.js +1 -2
  37. package/dist/types/data/react-redux.d.ts +2 -2
  38. package/dist/types/data/store.d.ts +2 -2
  39. package/dist/types/index.d.ts +2 -3
  40. package/dist/types/utils/app-config/config.d.ts +1 -1
  41. package/dist/types/utils/history.d.ts +2 -2
  42. package/dist/types/utils/micro-frontend/guest.d.ts +2 -2
  43. package/dist/types/utils/micro-frontend/host.d.ts +2 -2
  44. package/dist/types/utils/testing/render-with-redux.d.ts +3 -3
  45. package/dist/types/utils/testing/render-with-router-redux.d.ts +3 -3
  46. package/dist/types/utils/testing/render-with-router.d.ts +2 -2
  47. package/dist/types/view/app-router.d.ts +9 -0
  48. package/dist/types/view/page.d.ts +8 -0
  49. package/dist/types/view/require-auth.d.ts +8 -0
  50. package/package.json +24 -26
  51. package/dist/cjs/route/index.js +0 -55
  52. package/dist/cjs/view/header/center-region/index.js +0 -71
  53. package/dist/cjs/view/header/index.js +0 -50
  54. package/dist/cjs/view/header/logo-region/index.js +0 -39
  55. package/dist/cjs/view/header/logo-region/logo.svg +0 -2
  56. package/dist/cjs/view/header/nav-region/index.js +0 -53
  57. package/dist/cjs/view/header/nav-region/notification/index.js +0 -38
  58. package/dist/cjs/view/header/nav-region/notification/index.svg +0 -5
  59. package/dist/cjs/view/header/nav-region/user/index.svg +0 -4
  60. package/dist/es/route/index.js +0 -26
  61. package/dist/es/route/private-route/index.js +0 -46
  62. package/dist/es/view/header/center-region/index.js +0 -42
  63. package/dist/es/view/header/index.js +0 -21
  64. package/dist/es/view/header/logo-region/index.js +0 -10
  65. package/dist/es/view/header/logo-region/logo.svg +0 -2
  66. package/dist/es/view/header/nav-region/index.js +0 -24
  67. package/dist/es/view/header/nav-region/notification/index.js +0 -9
  68. package/dist/es/view/header/nav-region/notification/index.svg +0 -5
  69. package/dist/es/view/header/nav-region/user/index.js +0 -9
  70. package/dist/es/view/header/nav-region/user/index.svg +0 -4
  71. package/dist/types/route/index.d.ts +0 -8
  72. package/dist/types/route/page-view.d.ts +0 -1
  73. package/dist/types/route/private-route/index.d.ts +0 -8
  74. package/dist/types/view/header/center-region/index.d.ts +0 -9
  75. package/dist/types/view/header/index.d.ts +0 -7
  76. package/dist/types/view/header/index.stories.d.ts +0 -5
  77. package/dist/types/view/header/logo-region/index.d.ts +0 -2
  78. package/dist/types/view/header/nav-region/index.d.ts +0 -2
  79. package/dist/types/view/header/nav-region/notification/index.d.ts +0 -2
  80. package/dist/types/view/header/nav-region/user/index.d.ts +0 -2
@@ -97,7 +97,7 @@ const onError = (err) => {
97
97
  return Promise.reject(err);
98
98
  }
99
99
  const onBackoffPromise = new Promise((resolve) => {
100
- const delay = (Math.pow(2, config.currentRetryAttempt) - 1) / 2 * 1e3;
100
+ const delay = (2 ** config.currentRetryAttempt - 1) / 2 * 1e3;
101
101
  err.config.retryConfig.currentRetryAttempt += 1;
102
102
  setTimeout(resolve, delay);
103
103
  });
package/dist/cjs/index.js CHANGED
@@ -40,7 +40,6 @@ __export(lib_exports, {
40
40
  Form: () => import_form.Form,
41
41
  FormItemLayout: () => import_form_item_layout.FormItemLayout,
42
42
  FormSubmitButton: () => import_submit_button.FormSubmitButton,
43
- Header: () => import_header.Header,
44
43
  InputMask: () => import_input_mask.InputMask,
45
44
  LargeTextBox: () => import_large_text_box.LargeTextBox,
46
45
  MASK_PIPES: () => import_input_mask.MASK_PIPES,
@@ -49,12 +48,12 @@ __export(lib_exports, {
49
48
  MicroApp: () => import_micro_app.MicroApp,
50
49
  MicroIFrameApp: () => import_micro_iframe_app.MicroIFrameApp,
51
50
  NavigationPromptActions: () => import_actions2.ACTIONS,
52
- PrivateRoute: () => import_private_route.PrivateRoute,
51
+ Page: () => import_page.Page,
53
52
  Radio: () => import_radio.Radio,
54
53
  RadioGroup: () => import_radio_group.RadioGroup,
55
54
  RegisterService: () => import_guest_with_service.RegisterService,
56
55
  RenderWithStateAddOns: () => import_render_with_state_addons.RenderWithStateAddOns,
57
- Route: () => import_route.AppRoute,
56
+ RequireAuth: () => import_require_auth.RequireAuth,
58
57
  SessionTimeout: () => import_session_timeout.SessionTimeout,
59
58
  TextBox: () => import_text_box.TextBox,
60
59
  Themes: () => import_constants2.Themes,
@@ -121,11 +120,11 @@ __export(lib_exports, {
121
120
  withAppDecorator: () => import_decorator.withAppDecorator
122
121
  });
123
122
  var import_auth = require("./utils/auth/index.js");
124
- var import_private_route = require("./route/private-route/index.js");
125
- var import_route = require("./route/index.js");
126
123
  var import_http_client = require("./communication/http-client/index.js");
127
124
  var import_response_interceptor = require("./communication/http-client/response-interceptor.js");
128
125
  var import_actions = require("./data/auth/actions.js");
126
+ var import_require_auth = require("./view/require-auth.js");
127
+ var import_page = require("./view/page.js");
129
128
  var import_constants = __toESM(require("./utils/constants.js"));
130
129
  var import_react_redux = require("./data/react-redux.js");
131
130
  var import_redux_injectors = require("redux-injectors");
@@ -165,7 +164,6 @@ var import_helpers2 = require("./api/helpers.js");
165
164
  var import_users = require("./api/users/index.js");
166
165
  var import_useMediaBreakpoints = require("./view/useMediaBreakpoints/index.js");
167
166
  var import_decorator = require("./view/storybook/decorator.js");
168
- var import_header = require("./view/header/index.js");
169
167
  var import_error_toast = require("./view/error-toast/index.js");
170
168
  var import_form = require("./view/form/index.js");
171
169
  var import_connect_form = require("./view/fields/connect-form.js");
@@ -38,6 +38,6 @@ const setAppConfig = (config) => {
38
38
  gAppConfig = config;
39
39
  };
40
40
  const getAppConfigValue = (key = "", defaultValue = null) => import_lodash.default.clone(import_lodash.default.get(gAppConfig, key, defaultValue));
41
- const setAppConfigValue = (key = "", value) => import_lodash.default.set(gAppConfig, key, value);
41
+ const setAppConfigValue = (key, value) => import_lodash.default.set(gAppConfig, key, value);
42
42
  const hasItem = (key = "") => import_lodash.default.has(gAppConfig, key);
43
43
  module.exports = __toCommonJS(config_exports);
@@ -28,7 +28,7 @@ __export(helpers_exports, {
28
28
  });
29
29
  const isProd = () => false;
30
30
  const isCIBuild = () => process.env.CI === "true";
31
- const PROTOCOL = new RegExp("^(?:[a-z]+:)?//", "i");
31
+ const PROTOCOL = /^(?:[a-z]+:)?/;
32
32
  const convertRelativeToAbsoluteUrl = (url) => {
33
33
  if (!PROTOCOL.test(url)) {
34
34
  return new URL(url, document.location.origin).href;
@@ -32,10 +32,10 @@ __export(render_with_router_redux_exports, {
32
32
  var React = __toESM(require("react"));
33
33
  var import_react = require("@testing-library/react");
34
34
  var import_react_redux = require("react-redux");
35
- var import_react_router_dom = require("react-router-dom");
36
35
  var import_history = require("history");
37
36
  var import_store = require("../../data/store.js");
38
37
  var import_history2 = require("../history.js");
38
+ var import_app_router = require("../../view/app-router.js");
39
39
  const renderWithRouterRedux = (ui, {
40
40
  route = "/",
41
41
  history = (0, import_history.createMemoryHistory)({ initialEntries: [route] }),
@@ -44,7 +44,7 @@ const renderWithRouterRedux = (ui, {
44
44
  } = {}) => ({
45
45
  ...(0, import_react.render)(/* @__PURE__ */ React.createElement(import_react_redux.Provider, {
46
46
  store
47
- }, /* @__PURE__ */ React.createElement(import_react_router_dom.Router, {
47
+ }, /* @__PURE__ */ React.createElement(import_app_router.AppRouter, {
48
48
  history
49
49
  }, ui))),
50
50
  store
@@ -31,15 +31,18 @@ __export(render_with_router_exports, {
31
31
  });
32
32
  var React = __toESM(require("react"));
33
33
  var import_react = require("@testing-library/react");
34
- var import_react_router_dom = require("react-router-dom");
35
34
  var import_history = require("history");
35
+ var import_app_router = require("../../view/app-router.js");
36
36
  const renderWithRouter = (ui, {
37
37
  route = "/",
38
38
  history = (0, import_history.createMemoryHistory)({ initialEntries: [route] })
39
- } = {}) => ({
40
- ...(0, import_react.render)(/* @__PURE__ */ React.createElement(import_react_router_dom.Router, {
39
+ } = {}) => {
40
+ const renderResult = (0, import_react.render)(/* @__PURE__ */ React.createElement(import_app_router.AppRouter, {
41
41
  history
42
- }, ui)),
43
- history
44
- });
42
+ }, ui));
43
+ return {
44
+ ...renderResult,
45
+ history
46
+ };
47
+ };
45
48
  module.exports = __toCommonJS(render_with_router_exports);
@@ -32,9 +32,9 @@ __export(app_root_exports, {
32
32
  var React = __toESM(require("react"));
33
33
  var import_react_redux = require("react-redux");
34
34
  var import_styled_components = require("styled-components");
35
- var import_react_router_dom = require("react-router-dom");
36
35
  var import_pui_theme = require("@elliemae/pui-theme");
37
36
  var import_redux_injectors = require("redux-injectors");
37
+ var import_app_router = require("../app-router.js");
38
38
  var import_micro_frontend = require("../../utils/micro-frontend/index.js");
39
39
  var import_wait_message = require("../../sideeffect/wait-message/index.js");
40
40
  var import_error_toast = require("../../sideeffect/error-toast/index.js");
@@ -63,7 +63,7 @@ const AppRoot = ({
63
63
  errorTemplate
64
64
  }, /* @__PURE__ */ React.createElement(import_react_redux.Provider, {
65
65
  store
66
- }, /* @__PURE__ */ React.createElement(import_react_router_dom.Router, {
66
+ }, /* @__PURE__ */ React.createElement(import_app_router.AppRouter, {
67
67
  history
68
68
  }, /* @__PURE__ */ React.createElement(import_styled_components.ThemeProvider, {
69
69
  theme
@@ -25,14 +25,24 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
25
25
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
26
  };
27
27
  })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var user_exports = {};
29
- __export(user_exports, {
30
- User: () => User
28
+ var app_router_exports = {};
29
+ __export(app_router_exports, {
30
+ AppRouter: () => AppRouter
31
31
  });
32
32
  var React = __toESM(require("react"));
33
- var import_index = __toESM(require("./index.svg"));
34
- const User = () => /* @__PURE__ */ React.createElement("li", null, /* @__PURE__ */ React.createElement("a", {
35
- href: "#",
36
- "aria-label": "profile"
37
- }, /* @__PURE__ */ React.createElement(import_index.default, null)));
38
- module.exports = __toCommonJS(user_exports);
33
+ var import_react = require("react");
34
+ var import_react_router_dom = require("react-router-dom");
35
+ const AppRouter = ({ history, ...props }) => {
36
+ const [state, setState] = (0, import_react.useState)({
37
+ action: history.action,
38
+ location: history.location
39
+ });
40
+ (0, import_react.useLayoutEffect)(() => history.listen(setState), [history]);
41
+ return /* @__PURE__ */ React.createElement(import_react_router_dom.Router, {
42
+ ...props,
43
+ location: state.location,
44
+ navigationType: state.action,
45
+ navigator: history
46
+ });
47
+ };
48
+ module.exports = __toCommonJS(app_router_exports);
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
6
  var __export = (target, all) => {
@@ -17,9 +15,6 @@ var __reExport = (target, module2, copyDefault, desc) => {
17
15
  }
18
16
  return target;
19
17
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
18
  var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
19
  return (module2, temp) => {
25
20
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
@@ -29,7 +24,6 @@ var login_exports = {};
29
24
  __export(login_exports, {
30
25
  Login: () => Login
31
26
  });
32
- var React = __toESM(require("react"));
33
27
  var import_react = require("react");
34
28
  var import_react_redux = require("../../data/react-redux.js");
35
29
  var import_auth = require("../../utils/auth/index.js");
@@ -46,6 +40,6 @@ const Login = ({
46
40
  }).catch(() => {
47
41
  });
48
42
  }, [dispatch, clientId, scope, responseType]);
49
- return /* @__PURE__ */ React.createElement(React.Fragment, null);
43
+ return null;
50
44
  };
51
45
  module.exports = __toCommonJS(login_exports);
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
6
  var __export = (target, all) => {
@@ -17,9 +15,6 @@ var __reExport = (target, module2, copyDefault, desc) => {
17
15
  }
18
16
  return target;
19
17
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
18
  var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
19
  return (module2, temp) => {
25
20
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
@@ -29,7 +24,6 @@ var media_breakpoint_exports = {};
29
24
  __export(media_breakpoint_exports, {
30
25
  MediaBreakpoint: () => MediaBreakpoint
31
26
  });
32
- var React = __toESM(require("react"));
33
27
  var import_react = require("react");
34
28
  var import_styled_components = require("styled-components");
35
29
  var import_pubsub_js = require("pubsub-js");
@@ -49,6 +43,6 @@ const MediaBreakpoint = () => {
49
43
  dispatch({ type: import_breakpoint.breakpoint.change, payload: currentBreakpoint });
50
44
  (0, import_pubsub_js.publish)(import_constants.HOST_WINDOW_BREAKPOINT_CHANGED, currentBreakpoint);
51
45
  }, [currentBreakpoint, dispatch]);
52
- return /* @__PURE__ */ React.createElement(React.Fragment, null);
46
+ return null;
53
47
  };
54
48
  module.exports = __toCommonJS(media_breakpoint_exports);
@@ -36,7 +36,7 @@ var import_window = require("../../../utils/window.js");
36
36
  var import_style = require("../resources/style.js");
37
37
  var import_script = require("../resources/script.js");
38
38
  var import_manifest = require("../resources/manifest.js");
39
- const cssType = new RegExp(/\.css$/);
39
+ const cssType = /\.css$/;
40
40
  const isCss = (fileName) => cssType.test(fileName);
41
41
  const activeApps = {};
42
42
  const initApplication = async ({
@@ -30,7 +30,7 @@ __export(script_exports, {
30
30
  });
31
31
  var import_url = require("../../../utils/url.js");
32
32
  const APP_SCRIPT_ID_PREFIX = "emui-script-";
33
- const HEAD_SCRIPTS = new RegExp("/(?:emuiDiagnostics|global|global-prod|emuiUserMonitoring)(?:..*)?.js", "i");
33
+ const HEAD_SCRIPTS = /(?:emuiDiagnostics|global|global-prod|emuiUserMonitoring)(?:..*)?.js/;
34
34
  const isHeadScript = (scriptSrc) => HEAD_SCRIPTS.test(scriptSrc);
35
35
  const addScriptToDOM = ({ name, hostUrl, documentEle }, fileName, index) => new Promise((resolve, reject) => {
36
36
  const ele = documentEle.createElement("script");
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
6
  var __export = (target, all) => {
@@ -17,9 +15,6 @@ var __reExport = (target, module2, copyDefault, desc) => {
17
15
  }
18
16
  return target;
19
17
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
18
  var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
19
  return (module2, temp) => {
25
20
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
@@ -29,7 +24,6 @@ var html_wait_message_exports = {};
29
24
  __export(html_wait_message_exports, {
30
25
  HTMLWaitMessage: () => HTMLWaitMessage
31
26
  });
32
- var React = __toESM(require("react"));
33
27
  var import_react = require("react");
34
28
  const HTMLWaitMessage = (0, import_react.memo)(({ close }) => {
35
29
  (0, import_react.useEffect)(() => {
@@ -37,6 +31,6 @@ const HTMLWaitMessage = (0, import_react.memo)(({ close }) => {
37
31
  if (htmlWaitMsgElement && close)
38
32
  htmlWaitMsgElement.remove();
39
33
  }, [close]);
40
- return /* @__PURE__ */ React.createElement(React.Fragment, null);
34
+ return null;
41
35
  });
42
36
  module.exports = __toCommonJS(html_wait_message_exports);
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
6
  var __export = (target, all) => {
@@ -17,9 +15,6 @@ var __reExport = (target, module2, copyDefault, desc) => {
17
15
  }
18
16
  return target;
19
17
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
18
  var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
19
  return (module2, temp) => {
25
20
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
@@ -29,7 +24,6 @@ var wait_message_launcher_exports = {};
29
24
  __export(wait_message_launcher_exports, {
30
25
  WaitMessageLauncher: () => WaitMessageLauncher
31
26
  });
32
- var React = __toESM(require("react"));
33
27
  var import_react = require("react");
34
28
  var import_react_redux = require("../../../data/react-redux.js");
35
29
  var import_actions = require("../../../data/wait-message/actions.js");
@@ -41,6 +35,6 @@ const WaitMessageLauncher = () => {
41
35
  dispatch(import_actions.waitMessage.close());
42
36
  };
43
37
  }, [dispatch]);
44
- return /* @__PURE__ */ React.createElement(React.Fragment, null);
38
+ return null;
45
39
  };
46
40
  module.exports = __toCommonJS(wait_message_launcher_exports);
@@ -25,10 +25,13 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
25
25
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
26
  };
27
27
  })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var page_view_exports = {};
29
- __export(page_view_exports, {
28
+ var page_exports = {};
29
+ __export(page_exports, {
30
+ Page: () => Page,
30
31
  onPageView: () => onPageView
31
32
  });
33
+ var React = __toESM(require("react"));
34
+ var import_react_helmet = require("react-helmet");
32
35
  var brum = __toESM(require("@elliemae/pui-user-monitoring"));
33
36
  var import_page_view_event = require("../analytics/page-view-event.js");
34
37
  const onPageView = (pageTitle) => {
@@ -41,4 +44,8 @@ const onPageView = (pageTitle) => {
41
44
  }
42
45
  (0, import_page_view_event.pageViewEvent)({ pageTitle });
43
46
  };
44
- module.exports = __toCommonJS(page_view_exports);
47
+ const Page = ({ pageTitle = "ICE", children }) => {
48
+ onPageView(pageTitle);
49
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(import_react_helmet.Helmet, null, /* @__PURE__ */ React.createElement("title", null, pageTitle)), children);
50
+ };
51
+ module.exports = __toCommonJS(page_exports);
@@ -39,6 +39,6 @@ const RenderWithDelay = (0, import_react.memo)(({ render }) => {
39
39
  clearTimeout(timeoutId);
40
40
  };
41
41
  }, []);
42
- return show ? /* @__PURE__ */ React.createElement(React.Fragment, null, render()) : /* @__PURE__ */ React.createElement(React.Fragment, null);
42
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, show ? render() : "");
43
43
  });
44
44
  module.exports = __toCommonJS(render_with_delay_exports);
@@ -25,51 +25,38 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
25
25
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
26
  };
27
27
  })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var private_route_exports = {};
29
- __export(private_route_exports, {
30
- PrivateRoute: () => PrivateRoute
28
+ var require_auth_exports = {};
29
+ __export(require_auth_exports, {
30
+ RequireAuth: () => RequireAuth
31
31
  });
32
32
  var React = __toESM(require("react"));
33
- var import_react = require("react");
34
33
  var import_redux_injectors = require("redux-injectors");
35
- var import_constants = __toESM(require("../../utils/constants.js"));
36
- var import_render_with_delay = require("../../view/render-with-delay/index.js");
37
- var import_reducer = require("../../data/auth/reducer.js");
38
- var import_auth = require("../../sideeffect/auth/index.js");
39
- var import_login = require("../../view/login/index.js");
40
- var import_auth2 = require("../../utils/auth/index.js");
41
- var import__ = require("../index.js");
34
+ var import_constants = __toESM(require("../utils/constants.js"));
35
+ var import_render_with_delay = require("./render-with-delay/index.js");
36
+ var import_reducer = require("../data/auth/reducer.js");
37
+ var import_auth = require("../sideeffect/auth/index.js");
38
+ var import_login = require("./login/index.js");
39
+ var import_auth2 = require("../utils/auth/index.js");
42
40
  const key = "auth";
43
- const PrivateRoute = ({
44
- component: Component,
45
- render,
41
+ const RequireAuth = ({
46
42
  children,
47
43
  clientId = import_constants.default.CLIENT_ID,
48
44
  scope = "loc",
49
- responseType = "code",
50
- ...rest
45
+ responseType = "code"
51
46
  }) => {
52
47
  (0, import_redux_injectors.useInjectReducer)({ key, reducer: import_reducer.authReducer });
53
48
  (0, import_redux_injectors.useInjectSaga)({ key, saga: import_auth.authentication });
54
- const memoizedRender = (0, import_react.useCallback)((routeProps) => render && typeof render === "function" ? render(routeProps) : Component && /* @__PURE__ */ React.createElement(Component, {
55
- ...routeProps
56
- }), [Component, render]);
57
- return /* @__PURE__ */ React.createElement(import__.AppRoute, {
58
- ...rest,
59
- render: (routeProps) => {
60
- const userAuthorized = (0, import_auth2.isUserAuthorized)();
61
- if (userAuthorized) {
62
- return children || memoizedRender(routeProps);
63
- }
64
- const getAuthComp = () => /* @__PURE__ */ React.createElement(import_login.Login, {
65
- clientId,
66
- scope,
67
- responseType
68
- });
69
- return /* @__PURE__ */ React.createElement(import_render_with_delay.RenderWithDelay, {
70
- render: getAuthComp
71
- });
72
- }
49
+ const userAuthorized = (0, import_auth2.isUserAuthorized)();
50
+ if (userAuthorized) {
51
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
52
+ }
53
+ const renderLogin = () => /* @__PURE__ */ React.createElement(import_login.Login, {
54
+ clientId,
55
+ scope,
56
+ responseType
57
+ });
58
+ return /* @__PURE__ */ React.createElement(import_render_with_delay.RenderWithDelay, {
59
+ render: renderLogin
73
60
  });
74
61
  };
75
- module.exports = __toCommonJS(private_route_exports);
62
+ module.exports = __toCommonJS(require_auth_exports);
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
6
  var __export = (target, all) => {
@@ -17,9 +15,6 @@ var __reExport = (target, module2, copyDefault, desc) => {
17
15
  }
18
16
  return target;
19
17
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
18
  var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
19
  return (module2, temp) => {
25
20
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
@@ -29,7 +24,6 @@ var window_size_exports = {};
29
24
  __export(window_size_exports, {
30
25
  WindowSize: () => WindowSize
31
26
  });
32
- var React = __toESM(require("react"));
33
27
  var import_react = require("react");
34
28
  var import_pubsub_js = require("pubsub-js");
35
29
  var import_constants = require("../../utils/constants.js");
@@ -47,6 +41,6 @@ const WindowSize = () => {
47
41
  return () => {
48
42
  };
49
43
  }, []);
50
- return /* @__PURE__ */ React.createElement(React.Fragment, null);
44
+ return null;
51
45
  };
52
46
  module.exports = __toCommonJS(window_size_exports);
@@ -64,7 +64,7 @@ const onError = (err) => {
64
64
  return Promise.reject(err);
65
65
  }
66
66
  const onBackoffPromise = new Promise((resolve) => {
67
- const delay = (Math.pow(2, config.currentRetryAttempt) - 1) / 2 * 1e3;
67
+ const delay = (2 ** config.currentRetryAttempt - 1) / 2 * 1e3;
68
68
  err.config.retryConfig.currentRetryAttempt += 1;
69
69
  setTimeout(resolve, delay);
70
70
  });
package/dist/es/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { isUserAuthorized, login, authorize } from "./utils/auth/index.js";
2
- import { PrivateRoute } from "./route/private-route/index.js";
3
- import { AppRoute } from "./route/index.js";
4
2
  import {
5
3
  getHTTPClient,
6
4
  getAuthHTTPClient
7
5
  } from "./communication/http-client/index.js";
8
6
  import { onAuthorizationFailure } from "./communication/http-client/response-interceptor.js";
9
7
  import { auth } from "./data/auth/actions.js";
8
+ import { RequireAuth } from "./view/require-auth.js";
9
+ import { Page } from "./view/page.js";
10
10
  import { default as default2 } from "./utils/constants.js";
11
11
  import { useAppDispatch, useAppSelector } from "./data/react-redux.js";
12
12
  import { useInjectReducer, useInjectSaga } from "redux-injectors";
@@ -64,7 +64,6 @@ import { getApiActionCreator, getSelectField } from "./api/helpers.js";
64
64
  import { getUser } from "./api/users/index.js";
65
65
  import { useMediaBreakpoints } from "./view/useMediaBreakpoints/index.js";
66
66
  import { withAppDecorator } from "./view/storybook/decorator.js";
67
- import { Header } from "./view/header/index.js";
68
67
  import { ErrorToast } from "./view/error-toast/index.js";
69
68
  import { Form } from "./view/form/index.js";
70
69
  import { ConnectForm } from "./view/fields/connect-form.js";
@@ -111,7 +110,6 @@ export {
111
110
  Form,
112
111
  FormItemLayout,
113
112
  FormSubmitButton,
114
- Header,
115
113
  InputMask,
116
114
  LargeTextBox,
117
115
  MASK_PIPES,
@@ -120,12 +118,12 @@ export {
120
118
  MicroApp,
121
119
  MicroIFrameApp,
122
120
  ACTIONS as NavigationPromptActions,
123
- PrivateRoute,
121
+ Page,
124
122
  Radio,
125
123
  RadioGroup,
126
124
  RegisterService,
127
125
  RenderWithStateAddOns,
128
- AppRoute as Route,
126
+ RequireAuth,
129
127
  SessionTimeout,
130
128
  TextBox,
131
129
  Themes,
@@ -4,7 +4,7 @@ const setAppConfig = (config) => {
4
4
  gAppConfig = config;
5
5
  };
6
6
  const getAppConfigValue = (key = "", defaultValue = null) => _.clone(_.get(gAppConfig, key, defaultValue));
7
- const setAppConfigValue = (key = "", value) => _.set(gAppConfig, key, value);
7
+ const setAppConfigValue = (key, value) => _.set(gAppConfig, key, value);
8
8
  const hasItem = (key = "") => _.has(gAppConfig, key);
9
9
  export {
10
10
  getAppConfigValue,
@@ -1,6 +1,6 @@
1
1
  const isProd = () => false;
2
2
  const isCIBuild = () => process.env.CI === "true";
3
- const PROTOCOL = new RegExp("^(?:[a-z]+:)?//", "i");
3
+ const PROTOCOL = /^(?:[a-z]+:)?/;
4
4
  const convertRelativeToAbsoluteUrl = (url) => {
5
5
  if (!PROTOCOL.test(url)) {
6
6
  return new URL(url, document.location.origin).href;
@@ -1,10 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { render } from "@testing-library/react";
3
3
  import { Provider } from "react-redux";
4
- import { Router } from "react-router-dom";
5
4
  import { createMemoryHistory } from "history";
6
5
  import { createAppStore } from "../../data/store.js";
7
6
  import { browserHistory } from "../history.js";
7
+ import { AppRouter } from "../../view/app-router.js";
8
8
  const renderWithRouterRedux = (ui, {
9
9
  route = "/",
10
10
  history = createMemoryHistory({ initialEntries: [route] }),
@@ -13,7 +13,7 @@ const renderWithRouterRedux = (ui, {
13
13
  } = {}) => ({
14
14
  ...render(/* @__PURE__ */ React.createElement(Provider, {
15
15
  store
16
- }, /* @__PURE__ */ React.createElement(Router, {
16
+ }, /* @__PURE__ */ React.createElement(AppRouter, {
17
17
  history
18
18
  }, ui))),
19
19
  store
@@ -1,16 +1,19 @@
1
1
  import * as React from "react";
2
2
  import { render } from "@testing-library/react";
3
- import { Router } from "react-router-dom";
4
3
  import { createMemoryHistory } from "history";
4
+ import { AppRouter } from "../../view/app-router.js";
5
5
  const renderWithRouter = (ui, {
6
6
  route = "/",
7
7
  history = createMemoryHistory({ initialEntries: [route] })
8
- } = {}) => ({
9
- ...render(/* @__PURE__ */ React.createElement(Router, {
8
+ } = {}) => {
9
+ const renderResult = render(/* @__PURE__ */ React.createElement(AppRouter, {
10
10
  history
11
- }, ui)),
12
- history
13
- });
11
+ }, ui));
12
+ return {
13
+ ...renderResult,
14
+ history
15
+ };
16
+ };
14
17
  export {
15
18
  renderWithRouter
16
19
  };
@@ -1,9 +1,9 @@
1
1
  import * as React from "react";
2
2
  import { Provider } from "react-redux";
3
3
  import { ThemeProvider } from "styled-components";
4
- import { Router } from "react-router-dom";
5
4
  import { getDefaultTheme } from "@elliemae/pui-theme";
6
5
  import { useInjectSaga } from "redux-injectors";
6
+ import { AppRouter } from "../app-router.js";
7
7
  import { isStandAloneGuest, isHost } from "../../utils/micro-frontend/index.js";
8
8
  import { waitMessage } from "../../sideeffect/wait-message/index.js";
9
9
  import { errorToast } from "../../sideeffect/error-toast/index.js";
@@ -32,7 +32,7 @@ const AppRoot = ({
32
32
  errorTemplate
33
33
  }, /* @__PURE__ */ React.createElement(Provider, {
34
34
  store
35
- }, /* @__PURE__ */ React.createElement(Router, {
35
+ }, /* @__PURE__ */ React.createElement(AppRouter, {
36
36
  history
37
37
  }, /* @__PURE__ */ React.createElement(ThemeProvider, {
38
38
  theme