@hitachivantara/app-shell-ui 1.5.0 → 1.6.1

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 (144) hide show
  1. package/dist/esm/components/AppShell/AppShell.js +8 -6
  2. package/dist/esm/components/AppShellProvider/AppShellProvider.js +80 -56
  3. package/dist/esm/components/AppShellRoutes/AppShellRoutes.js +74 -65
  4. package/dist/esm/components/AppShellViewProvider/AppShellViewProvider.js +13 -13
  5. package/dist/esm/components/CustomHooksInitializer/CustomHooksInitializer.js +9 -5
  6. package/dist/esm/components/GlobalStyles/GlobalStyles.js +8 -8
  7. package/dist/esm/components/GlobalStyles/index.js +2 -3
  8. package/dist/esm/components/IconUiKit/IconUiKit.js +10 -8
  9. package/dist/esm/components/IconUiKit/index.js +4 -5
  10. package/dist/esm/components/hoc/withClickAwayListener.js +19 -12
  11. package/dist/esm/components/hoc/withGlobalProvider.js +30 -25
  12. package/dist/esm/components/layout/Header/BrandLogo/BrandLogo.js +27 -16
  13. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi.js +12 -0
  14. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada.js +17 -0
  15. package/dist/esm/components/layout/Header/BrandLogo/Logos/Pentaho.js +12 -0
  16. package/dist/esm/components/layout/Header/Header.js +54 -42
  17. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/DynamicAction.js +22 -18
  18. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/index.js +2 -3
  19. package/dist/esm/components/layout/Header/HeaderActions/HeaderActions.js +17 -14
  20. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/AppSwitcherToggle.js +59 -40
  21. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/index.js +2 -3
  22. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/styles.js +6 -6
  23. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/ColorModeSwitcher.js +19 -17
  24. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/index.js +2 -3
  25. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/HelpButton.js +23 -20
  26. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/index.js +2 -3
  27. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/InternalAction/InternalAction.js +23 -21
  28. package/dist/esm/components/layout/Header/HeaderActions/index.js +2 -3
  29. package/dist/esm/components/layout/Header/styles.js +7 -7
  30. package/dist/esm/components/layout/Loading/Loading.js +9 -7
  31. package/dist/esm/components/layout/Loading/styles.js +20 -8
  32. package/dist/esm/components/layout/Main/Main.js +23 -22
  33. package/dist/esm/components/layout/Main/styles.js +17 -8
  34. package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js +67 -49
  35. package/dist/esm/components/layout/VerticalNavigation/styles.js +15 -16
  36. package/dist/esm/index.js +2 -3
  37. package/dist/esm/lib/hooks/useClearLocationState.js +14 -14
  38. package/dist/esm/lib/hooks/useCustomEventListener.js +19 -14
  39. package/dist/esm/lib/hooks/useLocalStorage.js +22 -16
  40. package/dist/esm/lib/hooks/useNavigationMenuItems.js +36 -28
  41. package/dist/esm/lib/hooks/useNotificationsEventListener.js +47 -37
  42. package/dist/esm/lib/hooks/useThemeEventListener.js +25 -20
  43. package/dist/esm/lib/i18n/index.js +23 -19
  44. package/dist/esm/lib/i18n/localization/en.json.js +18 -15
  45. package/dist/esm/lib/i18n/localization/pt.json.js +18 -15
  46. package/dist/esm/lib/utils/CombinedProviders.js +19 -14
  47. package/dist/esm/lib/utils/basePathUtils.js +4 -3
  48. package/dist/esm/lib/utils/documentUtil.js +10 -6
  49. package/dist/esm/lib/utils/navigationUtil.js +65 -38
  50. package/dist/esm/lib/utils/textUtil.js +4 -3
  51. package/dist/esm/pages/ErrorPage/ErrorPage.js +24 -24
  52. package/dist/esm/pages/ErrorPage/Footer/Footer.js +47 -31
  53. package/dist/esm/pages/ErrorPage/Footer/styles.js +8 -8
  54. package/dist/esm/pages/ErrorPage/styles.js +25 -15
  55. package/dist/esm/pages/GenericError/500.svg.js +2 -3
  56. package/dist/esm/pages/GenericError/GenericError.js +13 -13
  57. package/dist/esm/pages/LoadingPage/LoadingPage.js +12 -12
  58. package/dist/esm/pages/LoadingPage/index.js +2 -3
  59. package/dist/esm/pages/LoadingPage/styles.js +15 -9
  60. package/dist/esm/pages/NotFound/404.svg.js +2 -3
  61. package/dist/esm/pages/NotFound/NotFound.js +11 -11
  62. package/dist/esm/pages/NotFound/index.js +2 -3
  63. package/dist/esm/pages/Root/Root.js +22 -22
  64. package/dist/esm/providers/BannerProvider.js +67 -57
  65. package/dist/esm/providers/LayoutProvider.js +19 -16
  66. package/dist/esm/providers/NavigationProvider.js +87 -55
  67. package/dist/esm/providers/hooks/useBannerContext.js +9 -7
  68. package/dist/esm/providers/hooks/useLayoutContext.js +9 -7
  69. package/dist/esm/providers/hooks/useNavigationContext.js +9 -7
  70. package/package.json +5 -5
  71. package/dist/esm/components/AppShell/AppShell.js.map +0 -1
  72. package/dist/esm/components/AppShellProvider/AppShellProvider.js.map +0 -1
  73. package/dist/esm/components/AppShellRoutes/AppShellRoutes.js.map +0 -1
  74. package/dist/esm/components/AppShellViewProvider/AppShellViewProvider.js.map +0 -1
  75. package/dist/esm/components/CustomHooksInitializer/CustomHooksInitializer.js.map +0 -1
  76. package/dist/esm/components/GlobalStyles/GlobalStyles.js.map +0 -1
  77. package/dist/esm/components/GlobalStyles/index.js.map +0 -1
  78. package/dist/esm/components/IconUiKit/IconUiKit.js.map +0 -1
  79. package/dist/esm/components/IconUiKit/index.js.map +0 -1
  80. package/dist/esm/components/hoc/withClickAwayListener.js.map +0 -1
  81. package/dist/esm/components/hoc/withGlobalProvider.js.map +0 -1
  82. package/dist/esm/components/layout/Header/BrandLogo/BrandLogo.js.map +0 -1
  83. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi/Hitachi.js +0 -10
  84. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi/Hitachi.js.map +0 -1
  85. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi/styles.js +0 -28
  86. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi/styles.js.map +0 -1
  87. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada/Lumada.js +0 -15
  88. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada/Lumada.js.map +0 -1
  89. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada/styles.js +0 -34
  90. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada/styles.js.map +0 -1
  91. package/dist/esm/components/layout/Header/Header.js.map +0 -1
  92. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/DynamicAction.js.map +0 -1
  93. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/index.js.map +0 -1
  94. package/dist/esm/components/layout/Header/HeaderActions/HeaderActions.js.map +0 -1
  95. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/AppSwitcherToggle.js.map +0 -1
  96. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/index.js.map +0 -1
  97. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/styles.js.map +0 -1
  98. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/ColorModeSwitcher.js.map +0 -1
  99. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/index.js.map +0 -1
  100. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/HelpButton.js.map +0 -1
  101. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/index.js.map +0 -1
  102. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/InternalAction/InternalAction.js.map +0 -1
  103. package/dist/esm/components/layout/Header/HeaderActions/index.js.map +0 -1
  104. package/dist/esm/components/layout/Header/styles.js.map +0 -1
  105. package/dist/esm/components/layout/Loading/Loading.js.map +0 -1
  106. package/dist/esm/components/layout/Loading/styles.js.map +0 -1
  107. package/dist/esm/components/layout/Main/Main.js.map +0 -1
  108. package/dist/esm/components/layout/Main/styles.js.map +0 -1
  109. package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js.map +0 -1
  110. package/dist/esm/components/layout/VerticalNavigation/styles.js.map +0 -1
  111. package/dist/esm/index.js.map +0 -1
  112. package/dist/esm/lib/hooks/useClearLocationState.js.map +0 -1
  113. package/dist/esm/lib/hooks/useCustomEventListener.js.map +0 -1
  114. package/dist/esm/lib/hooks/useLocalStorage.js.map +0 -1
  115. package/dist/esm/lib/hooks/useNavigationMenuItems.js.map +0 -1
  116. package/dist/esm/lib/hooks/useNotificationsEventListener.js.map +0 -1
  117. package/dist/esm/lib/hooks/useThemeEventListener.js.map +0 -1
  118. package/dist/esm/lib/i18n/index.js.map +0 -1
  119. package/dist/esm/lib/i18n/localization/en.json.js.map +0 -1
  120. package/dist/esm/lib/i18n/localization/pt.json.js.map +0 -1
  121. package/dist/esm/lib/utils/CombinedProviders.js.map +0 -1
  122. package/dist/esm/lib/utils/basePathUtils.js.map +0 -1
  123. package/dist/esm/lib/utils/documentUtil.js.map +0 -1
  124. package/dist/esm/lib/utils/navigationUtil.js.map +0 -1
  125. package/dist/esm/lib/utils/textUtil.js.map +0 -1
  126. package/dist/esm/pages/ErrorPage/ErrorPage.js.map +0 -1
  127. package/dist/esm/pages/ErrorPage/Footer/Footer.js.map +0 -1
  128. package/dist/esm/pages/ErrorPage/Footer/styles.js.map +0 -1
  129. package/dist/esm/pages/ErrorPage/styles.js.map +0 -1
  130. package/dist/esm/pages/GenericError/500.svg.js.map +0 -1
  131. package/dist/esm/pages/GenericError/GenericError.js.map +0 -1
  132. package/dist/esm/pages/LoadingPage/LoadingPage.js.map +0 -1
  133. package/dist/esm/pages/LoadingPage/index.js.map +0 -1
  134. package/dist/esm/pages/LoadingPage/styles.js.map +0 -1
  135. package/dist/esm/pages/NotFound/404.svg.js.map +0 -1
  136. package/dist/esm/pages/NotFound/NotFound.js.map +0 -1
  137. package/dist/esm/pages/NotFound/index.js.map +0 -1
  138. package/dist/esm/pages/Root/Root.js.map +0 -1
  139. package/dist/esm/providers/BannerProvider.js.map +0 -1
  140. package/dist/esm/providers/LayoutProvider.js.map +0 -1
  141. package/dist/esm/providers/NavigationProvider.js.map +0 -1
  142. package/dist/esm/providers/hooks/useBannerContext.js.map +0 -1
  143. package/dist/esm/providers/hooks/useLayoutContext.js.map +0 -1
  144. package/dist/esm/providers/hooks/useNavigationContext.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import c from "@emotion/styled/base";
2
- import { HvLoading as b } from "@hitachivantara/uikit-react-core";
3
- function t() {
1
+ import _styled from "@emotion/styled/base";
2
+ import { HvLoading } from "@hitachivantara/uikit-react-core";
3
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() {
4
4
  return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
5
5
  }
6
- const a = /* @__PURE__ */ c(b, process.env.NODE_ENV === "production" ? {
6
+ const StyledLoading = /* @__PURE__ */ _styled(HvLoading, process.env.NODE_ENV === "production" ? {
7
7
  target: "efactlf1"
8
8
  } : {
9
9
  target: "efactlf1",
@@ -15,10 +15,22 @@ const a = /* @__PURE__ */ c(b, process.env.NODE_ENV === "production" ? {
15
15
  name: "1gelcnl",
16
16
  styles: "display:flex;align-items:center;width:100%;height:100%",
17
17
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9Mb2FkaW5nL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHdUMiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL2NvbXBvbmVudHMvbGF5b3V0L0xvYWRpbmcvc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBIdkxvYWRpbmcgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcblxuY29uc3QgU3R5bGVkTG9hZGluZyA9IHN0eWxlZChIdkxvYWRpbmcpYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkTWFpbiA9IHN0eWxlZC5tYWluYFxuICBmbGV4OiAxO1xuYDtcblxuZXhwb3J0IHsgU3R5bGVkTG9hZGluZywgU3R5bGVkTWFpbiB9O1xuIl19 */",
18
- toString: t
18
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
19
+ });
20
+ /* @__PURE__ */ _styled("main", process.env.NODE_ENV === "production" ? {
21
+ target: "efactlf0"
22
+ } : {
23
+ target: "efactlf0",
24
+ label: "StyledMain"
25
+ })(process.env.NODE_ENV === "production" ? {
26
+ name: "82a6rk",
27
+ styles: "flex:1"
28
+ } : {
29
+ name: "82a6rk",
30
+ styles: "flex:1",
31
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9Mb2FkaW5nL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVOEIiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL2NvbXBvbmVudHMvbGF5b3V0L0xvYWRpbmcvc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBIdkxvYWRpbmcgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcblxuY29uc3QgU3R5bGVkTG9hZGluZyA9IHN0eWxlZChIdkxvYWRpbmcpYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkTWFpbiA9IHN0eWxlZC5tYWluYFxuICBmbGV4OiAxO1xuYDtcblxuZXhwb3J0IHsgU3R5bGVkTG9hZGluZywgU3R5bGVkTWFpbiB9O1xuIl19 */",
32
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
19
33
  });
20
- process.env.NODE_ENV;
21
34
  export {
22
- a as StyledLoading
35
+ StyledLoading
23
36
  };
24
- //# sourceMappingURL=styles.js.map
@@ -1,27 +1,28 @@
1
- import { jsxs as d, jsx as i } from "@emotion/react/jsx-runtime";
2
- import m from "../../../providers/hooks/useNavigationContext.js";
3
- import { StyledContainer as l, StyledMain as p } from "./styles.js";
4
- import v from "../../../providers/hooks/useLayoutContext.js";
5
- import g from "../VerticalNavigation/VerticalNavigation.js";
6
- const M = ({
7
- children: o
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import useNavigationContext from "../../../providers/hooks/useNavigationContext.js";
3
+ import { StyledContainer, StyledMain } from "./styles.js";
4
+ import useLayoutContext from "../../../providers/hooks/useLayoutContext.js";
5
+ import VerticalNavigation from "../VerticalNavigation/VerticalNavigation.js";
6
+ const Main = ({
7
+ children
8
8
  }) => {
9
9
  const {
10
- hasVerticalNavigation: a,
11
- verticalNavigationMode: e,
12
- showHeaderSubMenu: n,
13
- isCompactMode: t,
14
- switchVerticalNavigationMode: r
15
- } = m(), {
16
- bannerMaxHeight: s,
17
- verticalNavigationWidth: c
18
- } = v();
19
- return /* @__PURE__ */ d(l, { showHeaderSubMenu: n, isCompactMode: t, children: [
20
- a && e !== "CLOSED" && /* @__PURE__ */ i(g, { onClickAway: t ? r : void 0 }),
21
- /* @__PURE__ */ i(p, { paddingTop: s, verticalNavigationWidth: c, children: o })
10
+ hasVerticalNavigation,
11
+ verticalNavigationMode,
12
+ showHeaderSubMenu,
13
+ isCompactMode,
14
+ switchVerticalNavigationMode
15
+ } = useNavigationContext();
16
+ const {
17
+ bannerMaxHeight,
18
+ verticalNavigationWidth
19
+ } = useLayoutContext();
20
+ return /* @__PURE__ */ jsxs(StyledContainer, { showHeaderSubMenu, isCompactMode, children: [
21
+ hasVerticalNavigation && verticalNavigationMode !== "CLOSED" && /* @__PURE__ */ jsx(VerticalNavigation, { onClickAway: isCompactMode ? switchVerticalNavigationMode : void 0 }),
22
+ /* @__PURE__ */ jsx(StyledMain, { paddingTop: bannerMaxHeight, verticalNavigationWidth, children })
22
23
  ] });
23
- }, N = M;
24
+ };
25
+ const Main$1 = Main;
24
26
  export {
25
- N as default
27
+ Main$1 as default
26
28
  };
27
- //# sourceMappingURL=Main.js.map
@@ -1,18 +1,27 @@
1
- import l from "@emotion/styled/base";
2
- import { theme as b } from "@hitachivantara/uikit-react-core";
3
- const Z = /* @__PURE__ */ l("div", process.env.NODE_ENV === "production" ? {
1
+ import _styled from "@emotion/styled/base";
2
+ import { theme } from "@hitachivantara/uikit-react-core";
3
+ const StyledContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
4
4
  target: "ew4l8di1"
5
5
  } : {
6
6
  target: "ew4l8di1",
7
7
  label: "StyledContainer"
8
- })("display:flex;padding-top:", (c) => c.showHeaderSubMenu && !c.isCompactMode ? `calc(${b.header.height} + ${b.header.secondLevelHeight})` : b.header.height, ";min-height:100vh;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9NYWluL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhd0QiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL2NvbXBvbmVudHMvbGF5b3V0L01haW4vc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5cbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1yZWFjdC1jb3JlXCI7XG5cbmludGVyZmFjZSBTdHlsZWRDb250YWluZXJQcm9wcyB7XG4gIHNob3dIZWFkZXJTdWJNZW51PzogYm9vbGVhbjtcbiAgaXNDb21wYWN0TW9kZT86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgU3R5bGVkTWFpblByb3BzIHtcbiAgcGFkZGluZ1RvcD86IG51bWJlcjtcbiAgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGg/OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogJHtwcm9wcyA9PiB7XG4gICAgaWYgKHByb3BzLnNob3dIZWFkZXJTdWJNZW51ICYmICFwcm9wcy5pc0NvbXBhY3RNb2RlKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuaGVhZGVyLnNlY29uZExldmVsSGVpZ2h0fSlgO1xuICAgIH1cblxuICAgIHJldHVybiB0aGVtZS5oZWFkZXIuaGVpZ2h0O1xuICB9fTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG5gO1xuXG5jb25zdCBTdHlsZWRNYWluID0gc3R5bGVkLm1haW48U3R5bGVkTWFpblByb3BzPmBcbiAgZmxleDogMTtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4ge1xuICAgIHJldHVybiBwcm9wcy5wYWRkaW5nVG9wXG4gICAgICA/IGBjYWxjKCR7cHJvcHMucGFkZGluZ1RvcH1weCArICR7dGhlbWUuc3BhY2UueHN9KWBcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9fTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4ge1xuICAgIHJldHVybiBgY2FsYygxMDAlIC0gJHtwcm9wcy52ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weClgO1xuICB9fTtcbmA7XG5cbmV4cG9ydCB7IFN0eWxlZENvbnRhaW5lciwgU3R5bGVkTWFpbiB9O1xuIl19 */")), d = /* @__PURE__ */ l("main", process.env.NODE_ENV === "production" ? {
8
+ })("display:flex;padding-top:", (props) => {
9
+ if (props.showHeaderSubMenu && !props.isCompactMode) {
10
+ return `calc(${theme.header.height} + ${theme.header.secondLevelHeight})`;
11
+ }
12
+ return theme.header.height;
13
+ }, ";min-height:100vh;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9NYWluL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhd0QiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL2NvbXBvbmVudHMvbGF5b3V0L01haW4vc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5cbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1yZWFjdC1jb3JlXCI7XG5cbmludGVyZmFjZSBTdHlsZWRDb250YWluZXJQcm9wcyB7XG4gIHNob3dIZWFkZXJTdWJNZW51PzogYm9vbGVhbjtcbiAgaXNDb21wYWN0TW9kZT86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgU3R5bGVkTWFpblByb3BzIHtcbiAgcGFkZGluZ1RvcD86IG51bWJlcjtcbiAgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGg/OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogJHtwcm9wcyA9PiB7XG4gICAgaWYgKHByb3BzLnNob3dIZWFkZXJTdWJNZW51ICYmICFwcm9wcy5pc0NvbXBhY3RNb2RlKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuaGVhZGVyLnNlY29uZExldmVsSGVpZ2h0fSlgO1xuICAgIH1cblxuICAgIHJldHVybiB0aGVtZS5oZWFkZXIuaGVpZ2h0O1xuICB9fTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG5gO1xuXG5jb25zdCBTdHlsZWRNYWluID0gc3R5bGVkLm1haW48U3R5bGVkTWFpblByb3BzPmBcbiAgZmxleDogMTtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4ge1xuICAgIHJldHVybiBwcm9wcy5wYWRkaW5nVG9wXG4gICAgICA/IGBjYWxjKCR7cHJvcHMucGFkZGluZ1RvcH1weCArICR7dGhlbWUuc3BhY2UueHN9KWBcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9fTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4ge1xuICAgIHJldHVybiBgY2FsYygxMDAlIC0gJHtwcm9wcy52ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weClgO1xuICB9fTtcbmA7XG5cbmV4cG9ydCB7IFN0eWxlZENvbnRhaW5lciwgU3R5bGVkTWFpbiB9O1xuIl19 */"));
14
+ const StyledMain = /* @__PURE__ */ _styled("main", process.env.NODE_ENV === "production" ? {
9
15
  target: "ew4l8di0"
10
16
  } : {
11
17
  target: "ew4l8di0",
12
18
  label: "StyledMain"
13
- })("flex:1;padding-top:", (c) => c.paddingTop ? `calc(${c.paddingTop}px + ${b.space.xs})` : void 0, ";width:", (c) => `calc(100% - ${c.verticalNavigationWidth}px)`, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9NYWluL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QitDIiwiZmlsZSI6Ii9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9NYWluL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuXG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtY29yZVwiO1xuXG5pbnRlcmZhY2UgU3R5bGVkQ29udGFpbmVyUHJvcHMge1xuICBzaG93SGVhZGVyU3ViTWVudT86IGJvb2xlYW47XG4gIGlzQ29tcGFjdE1vZGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIFN0eWxlZE1haW5Qcm9wcyB7XG4gIHBhZGRpbmdUb3A/OiBudW1iZXI7XG4gIHZlcnRpY2FsTmF2aWdhdGlvbldpZHRoPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4ge1xuICAgIGlmIChwcm9wcy5zaG93SGVhZGVyU3ViTWVudSAmJiAhcHJvcHMuaXNDb21wYWN0TW9kZSkge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUuaGVhZGVyLmhlaWdodH0gKyAke3RoZW1lLmhlYWRlci5zZWNvbmRMZXZlbEhlaWdodH0pYDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhlbWUuaGVhZGVyLmhlaWdodDtcbiAgfX07XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuYDtcblxuY29uc3QgU3R5bGVkTWFpbiA9IHN0eWxlZC5tYWluPFN0eWxlZE1haW5Qcm9wcz5gXG4gIGZsZXg6IDE7XG4gIHBhZGRpbmctdG9wOiAke3Byb3BzID0+IHtcbiAgICByZXR1cm4gcHJvcHMucGFkZGluZ1RvcFxuICAgICAgPyBgY2FsYygke3Byb3BzLnBhZGRpbmdUb3B9cHggKyAke3RoZW1lLnNwYWNlLnhzfSlgXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfX07XG4gIHdpZHRoOiAke3Byb3BzID0+IHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7cHJvcHMudmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHgpYDtcbiAgfX07XG5gO1xuXG5leHBvcnQgeyBTdHlsZWRDb250YWluZXIsIFN0eWxlZE1haW4gfTtcbiJdfQ== */"));
19
+ })("flex:1;padding-top:", (props) => {
20
+ return props.paddingTop ? `calc(${props.paddingTop}px + ${theme.space.xs})` : void 0;
21
+ }, ";width:", (props) => {
22
+ return `calc(100% - ${props.verticalNavigationWidth}px)`;
23
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9NYWluL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QitDIiwiZmlsZSI6Ii9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9NYWluL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuXG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtY29yZVwiO1xuXG5pbnRlcmZhY2UgU3R5bGVkQ29udGFpbmVyUHJvcHMge1xuICBzaG93SGVhZGVyU3ViTWVudT86IGJvb2xlYW47XG4gIGlzQ29tcGFjdE1vZGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIFN0eWxlZE1haW5Qcm9wcyB7XG4gIHBhZGRpbmdUb3A/OiBudW1iZXI7XG4gIHZlcnRpY2FsTmF2aWdhdGlvbldpZHRoPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4ge1xuICAgIGlmIChwcm9wcy5zaG93SGVhZGVyU3ViTWVudSAmJiAhcHJvcHMuaXNDb21wYWN0TW9kZSkge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUuaGVhZGVyLmhlaWdodH0gKyAke3RoZW1lLmhlYWRlci5zZWNvbmRMZXZlbEhlaWdodH0pYDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhlbWUuaGVhZGVyLmhlaWdodDtcbiAgfX07XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuYDtcblxuY29uc3QgU3R5bGVkTWFpbiA9IHN0eWxlZC5tYWluPFN0eWxlZE1haW5Qcm9wcz5gXG4gIGZsZXg6IDE7XG4gIHBhZGRpbmctdG9wOiAke3Byb3BzID0+IHtcbiAgICByZXR1cm4gcHJvcHMucGFkZGluZ1RvcFxuICAgICAgPyBgY2FsYygke3Byb3BzLnBhZGRpbmdUb3B9cHggKyAke3RoZW1lLnNwYWNlLnhzfSlgXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfX07XG4gIHdpZHRoOiAke3Byb3BzID0+IHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7cHJvcHMudmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHgpYDtcbiAgfX07XG5gO1xuXG5leHBvcnQgeyBTdHlsZWRDb250YWluZXIsIFN0eWxlZE1haW4gfTtcbiJdfQ== */"));
14
24
  export {
15
- Z as StyledContainer,
16
- d as StyledMain
25
+ StyledContainer,
26
+ StyledMain
17
27
  };
18
- //# sourceMappingURL=styles.js.map
@@ -1,59 +1,77 @@
1
- import { jsx as r, jsxs as N } from "@emotion/react/jsx-runtime";
2
- import { useRef as b, useEffect as h } from "react";
3
- import { useTranslation as x } from "react-i18next";
4
- import { cx as C } from "@emotion/css";
5
- import { HvVerticalNavigation as L, HvVerticalNavigationHeader as V, HvVerticalNavigationTree as B, HvVerticalNavigationActions as H } from "@hitachivantara/uikit-react-core";
6
- import { useHvNavigation as I } from "@hitachivantara/app-shell-navigation";
7
- import P from "../../../providers/hooks/useNavigationContext.js";
8
- import { classes as l } from "./styles.js";
9
- import k from "../../hoc/withClickAwayListener.js";
10
- import w from "../../../providers/hooks/useLayoutContext.js";
11
- const A = () => {
1
+ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
+ import { useRef, useEffect } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import { cx } from "@emotion/css";
5
+ import { HvVerticalNavigation, HvVerticalNavigationHeader, HvVerticalNavigationTree, HvVerticalNavigationActions } from "@hitachivantara/uikit-react-core";
6
+ import { useHvNavigation } from "@hitachivantara/app-shell-navigation";
7
+ import useNavigationContext from "../../../providers/hooks/useNavigationContext.js";
8
+ import { classes } from "./styles.js";
9
+ import withClickAwayListener from "../../hoc/withClickAwayListener.js";
10
+ import useLayoutContext from "../../../providers/hooks/useLayoutContext.js";
11
+ const VerticalNavigation = () => {
12
12
  const {
13
- t: a
14
- } = x(void 0, {
13
+ t
14
+ } = useTranslation(void 0, {
15
15
  keyPrefix: "verticalNavigation"
16
- }), {
17
- selectedMenuItemId: d,
18
- rootMenuItemId: p,
19
- verticalNavigationItems: f,
20
- isCompactMode: t,
21
- verticalNavigationMode: s,
22
- switchVerticalNavigationMode: c
23
- } = P(), {
24
- setVerticalNavigationWidth: o
25
- } = w(), {
26
- navigate: m
27
- } = I(), v = b(null), n = s === "EXPANDED", u = (e, i) => {
28
- e.preventDefault(), i.href && (m(i.href, {
29
- state: {
30
- selectedItemId: i.id
16
+ });
17
+ const {
18
+ selectedMenuItemId,
19
+ rootMenuItemId,
20
+ verticalNavigationItems,
21
+ isCompactMode,
22
+ verticalNavigationMode,
23
+ switchVerticalNavigationMode
24
+ } = useNavigationContext();
25
+ const {
26
+ setVerticalNavigationWidth
27
+ } = useLayoutContext();
28
+ const {
29
+ navigate
30
+ } = useHvNavigation();
31
+ const verticalNavigationRef = useRef(null);
32
+ const isVerticalNavigationExpanded = verticalNavigationMode === "EXPANDED";
33
+ const changeHandler = (event, selectedItem) => {
34
+ event.preventDefault();
35
+ if (selectedItem.href) {
36
+ navigate(selectedItem.href, {
37
+ state: {
38
+ selectedItemId: selectedItem.id
39
+ }
40
+ });
41
+ if (isCompactMode) {
42
+ switchVerticalNavigationMode();
31
43
  }
32
- }), t && c());
44
+ }
33
45
  };
34
- h(() => {
46
+ useEffect(() => {
35
47
  const {
36
- current: e
37
- } = v, i = e == null ? void 0 : e.childNodes[0];
38
- return o(i && !t ? i.offsetWidth : 0), () => o(0);
39
- }, [s, t, o]);
40
- const g = a(n ? "ariaLabelCollapse" : "ariaLabelExpand");
41
- return /* @__PURE__ */ r("div", { ref: v, children: /* @__PURE__ */ N(L, { className: C(l.navigation, {
42
- [l.navigationCompact]: t
43
- }), open: n, useIcons: !0, slider: t, children: [
44
- /* @__PURE__ */ r(V, { title: a("title"), onCollapseButtonClick: t ? void 0 : c, collapseButtonProps: {
45
- "aria-label": g,
46
- "aria-expanded": n
48
+ current
49
+ } = verticalNavigationRef;
50
+ const firstChild = current?.childNodes[0];
51
+ if (firstChild && !isCompactMode) {
52
+ setVerticalNavigationWidth(firstChild.offsetWidth);
53
+ } else {
54
+ setVerticalNavigationWidth(0);
55
+ }
56
+ return () => setVerticalNavigationWidth(0);
57
+ }, [verticalNavigationMode, isCompactMode, setVerticalNavigationWidth]);
58
+ const collapseButtonAriaLabel = isVerticalNavigationExpanded ? t("ariaLabelCollapse") : t("ariaLabelExpand");
59
+ return /* @__PURE__ */ jsx("div", { ref: verticalNavigationRef, children: /* @__PURE__ */ jsxs(HvVerticalNavigation, { className: cx(classes.navigation, {
60
+ [classes.navigationCompact]: isCompactMode
61
+ }), open: isVerticalNavigationExpanded, useIcons: true, slider: isCompactMode, children: [
62
+ /* @__PURE__ */ jsx(HvVerticalNavigationHeader, { title: t("title"), onCollapseButtonClick: !isCompactMode ? switchVerticalNavigationMode : void 0, collapseButtonProps: {
63
+ "aria-label": collapseButtonAriaLabel,
64
+ "aria-expanded": isVerticalNavigationExpanded
47
65
  }, backButtonProps: {
48
- "aria-label": a("ariaLabelHeaderBackButton")
66
+ "aria-label": t("ariaLabelHeaderBackButton")
49
67
  } }),
50
- /* @__PURE__ */ r(B, { mode: "navigation", collapsible: !0, "aria-label": a("ariaLabelNavigationTree"), selected: d, onChange: u, data: f, classes: {
51
- navigationPopup: l.navigationPopup
52
- }, sliderForwardButtonAriaLabel: a("ariaLabelSliderForwardButton") }, p),
53
- /* @__PURE__ */ r(H, {})
68
+ /* @__PURE__ */ jsx(HvVerticalNavigationTree, { mode: "navigation", collapsible: true, "aria-label": t("ariaLabelNavigationTree"), selected: selectedMenuItemId, onChange: changeHandler, data: verticalNavigationItems, classes: {
69
+ navigationPopup: classes.navigationPopup
70
+ }, sliderForwardButtonAriaLabel: t("ariaLabelSliderForwardButton") }, rootMenuItemId),
71
+ /* @__PURE__ */ jsx(HvVerticalNavigationActions, {})
54
72
  ] }) });
55
- }, X = k(A);
73
+ };
74
+ const VerticalNavigation$1 = withClickAwayListener(VerticalNavigation);
56
75
  export {
57
- X as default
76
+ VerticalNavigation$1 as default
58
77
  };
59
- //# sourceMappingURL=VerticalNavigation.js.map
@@ -1,34 +1,33 @@
1
- import { css as c } from "@emotion/css";
2
- import { theme as b, verticalNavigationTreeClasses as a } from "@hitachivantara/uikit-react-core";
3
- function l() {
1
+ import { css } from "@emotion/css";
2
+ import { theme, verticalNavigationTreeClasses } from "@hitachivantara/uikit-react-core";
3
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() {
4
4
  return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
5
5
  }
6
- const G = {
7
- navigation: /* @__PURE__ */ c({
8
- height: `calc(100vh - ${b.header.height})`,
9
- top: b.header.height,
10
- zIndex: b.zIndices.overlay,
6
+ const classes = {
7
+ navigation: /* @__PURE__ */ css({
8
+ height: `calc(100vh - ${theme.header.height})`,
9
+ top: theme.header.height,
10
+ zIndex: theme.zIndices.overlay,
11
11
  position: "sticky"
12
12
  }, process.env.NODE_ENV === "production" ? "" : ";label:navigation;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9WZXJ0aWNhbE5hdmlnYXRpb24vc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9jIiwiZmlsZSI6Ii9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9WZXJ0aWNhbE5hdmlnYXRpb24vc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL2Nzc1wiO1xuaW1wb3J0IHtcbiAgdGhlbWUsXG4gIHZlcnRpY2FsTmF2aWdhdGlvblRyZWVDbGFzc2VzXG59IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtY29yZVwiO1xuXG5leHBvcnQgY29uc3QgY2xhc3NlcyA9IHtcbiAgbmF2aWdhdGlvbjogY3NzKHtcbiAgICBoZWlnaHQ6IGBjYWxjKDEwMHZoIC0gJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSlgLFxuICAgIHRvcDogdGhlbWUuaGVhZGVyLmhlaWdodCxcbiAgICB6SW5kZXg6IHRoZW1lLnpJbmRpY2VzLm92ZXJsYXksXG4gICAgcG9zaXRpb246IFwic3RpY2t5XCJcbiAgfSksXG4gIG5hdmlnYXRpb25Db21wYWN0OiBjc3Moe1xuICAgIHBvc2l0aW9uOiBcImZpeGVkXCJcbiAgfSksXG4gIG5hdmlnYXRpb25Qb3B1cDogY3NzKHtcbiAgICBtYXhIZWlnaHQ6IGBjYWxjKDEwMHZoIC0gJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSlgLFxuICAgIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gICAgYm94U2hhZG93OiB0aGVtZS5jb2xvcnMuc2hhZG93LFxuICAgIFtgJiAuJHt2ZXJ0aWNhbE5hdmlnYXRpb25UcmVlQ2xhc3Nlcy5wb3B1cH1gXTogeyBib3hTaGFkb3c6IFwibm9uZVwiIH1cbiAgfSlcbn07XG4iXX0= */"),
13
- navigationCompact: /* @__PURE__ */ c(process.env.NODE_ENV === "production" ? {
13
+ navigationCompact: /* @__PURE__ */ css(process.env.NODE_ENV === "production" ? {
14
14
  name: "duudsh",
15
15
  styles: "position:fixed"
16
16
  } : {
17
17
  name: "vmndjy-navigationCompact",
18
18
  styles: "position:fixed;label:navigationCompact;",
19
19
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9WZXJ0aWNhbE5hdmlnYXRpb24vc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFxQiIsImZpbGUiOiIvX193L2h2LWFwcC1zaGVsbC9odi1hcHAtc2hlbGwvY2xpZW50L3BhY2thZ2VzL2FwcC1zaGVsbC11aS9zcmMvY29tcG9uZW50cy9sYXlvdXQvVmVydGljYWxOYXZpZ2F0aW9uL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7XG4gIHRoZW1lLFxuICB2ZXJ0aWNhbE5hdmlnYXRpb25UcmVlQ2xhc3Nlc1xufSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcblxuZXhwb3J0IGNvbnN0IGNsYXNzZXMgPSB7XG4gIG5hdmlnYXRpb246IGNzcyh7XG4gICAgaGVpZ2h0OiBgY2FsYygxMDB2aCAtICR7dGhlbWUuaGVhZGVyLmhlaWdodH0pYCxcbiAgICB0b3A6IHRoZW1lLmhlYWRlci5oZWlnaHQsXG4gICAgekluZGV4OiB0aGVtZS56SW5kaWNlcy5vdmVybGF5LFxuICAgIHBvc2l0aW9uOiBcInN0aWNreVwiXG4gIH0pLFxuICBuYXZpZ2F0aW9uQ29tcGFjdDogY3NzKHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiXG4gIH0pLFxuICBuYXZpZ2F0aW9uUG9wdXA6IGNzcyh7XG4gICAgbWF4SGVpZ2h0OiBgY2FsYygxMDB2aCAtICR7dGhlbWUuaGVhZGVyLmhlaWdodH0pYCxcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIGJveFNoYWRvdzogdGhlbWUuY29sb3JzLnNoYWRvdyxcbiAgICBbYCYgLiR7dmVydGljYWxOYXZpZ2F0aW9uVHJlZUNsYXNzZXMucG9wdXB9YF06IHsgYm94U2hhZG93OiBcIm5vbmVcIiB9XG4gIH0pXG59O1xuIl19 */",
20
- toString: l
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
21
  }),
22
- navigationPopup: /* @__PURE__ */ c({
23
- maxHeight: `calc(100vh - ${b.header.height})`,
22
+ navigationPopup: /* @__PURE__ */ css({
23
+ maxHeight: `calc(100vh - ${theme.header.height})`,
24
24
  overflowY: "auto",
25
- boxShadow: b.colors.shadow,
26
- [`& .${a.popup}`]: {
25
+ boxShadow: theme.colors.shadow,
26
+ [`& .${verticalNavigationTreeClasses.popup}`]: {
27
27
  boxShadow: "none"
28
28
  }
29
29
  }, process.env.NODE_ENV === "production" ? "" : ";label:navigationPopup;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9jb21wb25lbnRzL2xheW91dC9WZXJ0aWNhbE5hdmlnYXRpb24vc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCbUIiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL2NvbXBvbmVudHMvbGF5b3V0L1ZlcnRpY2FsTmF2aWdhdGlvbi9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQge1xuICB0aGVtZSxcbiAgdmVydGljYWxOYXZpZ2F0aW9uVHJlZUNsYXNzZXNcbn0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1yZWFjdC1jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBjbGFzc2VzID0ge1xuICBuYXZpZ2F0aW9uOiBjc3Moe1xuICAgIGhlaWdodDogYGNhbGMoMTAwdmggLSAke3RoZW1lLmhlYWRlci5oZWlnaHR9KWAsXG4gICAgdG9wOiB0aGVtZS5oZWFkZXIuaGVpZ2h0LFxuICAgIHpJbmRleDogdGhlbWUuekluZGljZXMub3ZlcmxheSxcbiAgICBwb3NpdGlvbjogXCJzdGlja3lcIlxuICB9KSxcbiAgbmF2aWdhdGlvbkNvbXBhY3Q6IGNzcyh7XG4gICAgcG9zaXRpb246IFwiZml4ZWRcIlxuICB9KSxcbiAgbmF2aWdhdGlvblBvcHVwOiBjc3Moe1xuICAgIG1heEhlaWdodDogYGNhbGMoMTAwdmggLSAke3RoZW1lLmhlYWRlci5oZWlnaHR9KWAsXG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBib3hTaGFkb3c6IHRoZW1lLmNvbG9ycy5zaGFkb3csXG4gICAgW2AmIC4ke3ZlcnRpY2FsTmF2aWdhdGlvblRyZWVDbGFzc2VzLnBvcHVwfWBdOiB7IGJveFNoYWRvdzogXCJub25lXCIgfVxuICB9KVxufTtcbiJdfQ== */")
30
30
  };
31
31
  export {
32
- G as classes
32
+ classes
33
33
  };
34
- //# sourceMappingURL=styles.js.map
package/dist/esm/index.js CHANGED
@@ -1,5 +1,4 @@
1
- import e from "./components/AppShell/AppShell.js";
1
+ import HvAppShell from "./components/AppShell/AppShell.js";
2
2
  export {
3
- e as default
3
+ HvAppShell as default
4
4
  };
5
- //# sourceMappingURL=index.js.map
@@ -1,19 +1,19 @@
1
- import { useCallback as a } from "react";
2
- import { useLocation as e, useBeforeUnload as r } from "react-router-dom";
3
- import { useHvNavigation as i } from "@hitachivantara/app-shell-navigation";
4
- const l = () => {
5
- const o = e(), {
6
- navigate: t
7
- } = i();
8
- r(a(() => {
9
- t({
10
- ...o
1
+ import { useCallback } from "react";
2
+ import { useLocation, useBeforeUnload } from "react-router-dom";
3
+ import { useHvNavigation } from "@hitachivantara/app-shell-navigation";
4
+ const useClearLocationState = () => {
5
+ const location = useLocation();
6
+ const {
7
+ navigate
8
+ } = useHvNavigation();
9
+ useBeforeUnload(useCallback(() => {
10
+ navigate({
11
+ ...location
11
12
  }, {
12
- replace: !0
13
+ replace: true
13
14
  });
14
- }, [o, t]));
15
+ }, [location, navigate]));
15
16
  };
16
17
  export {
17
- l as default
18
+ useClearLocationState as default
18
19
  };
19
- //# sourceMappingURL=useClearLocationState.js.map
@@ -1,18 +1,23 @@
1
- import { useEffect as o } from "react";
2
- import { HvAppShellEventNotificationTrigger as n, HvAppShellEventThemeTrigger as i } from "@hitachivantara/app-shell-events";
3
- import r from "./useNotificationsEventListener.js";
4
- import s from "./useThemeEventListener.js";
5
- const E = () => {
1
+ import { useEffect } from "react";
2
+ import { HvAppShellEventNotificationTrigger, HvAppShellEventThemeTrigger } from "@hitachivantara/app-shell-events";
3
+ import useNotificationsEventListener from "./useNotificationsEventListener.js";
4
+ import useThemeEventListener from "./useThemeEventListener.js";
5
+ const useCustomEventListener = () => {
6
6
  const {
7
- handleNotificationEvent: e
8
- } = r(), {
9
- handleThemeEvent: t
10
- } = s();
11
- o(() => (globalThis.addEventListener(n, e), globalThis.addEventListener(i, t), () => {
12
- globalThis.removeEventListener(n, e), globalThis.removeEventListener(i, t);
13
- }), [e, t]);
7
+ handleNotificationEvent
8
+ } = useNotificationsEventListener();
9
+ const {
10
+ handleThemeEvent
11
+ } = useThemeEventListener();
12
+ useEffect(() => {
13
+ globalThis.addEventListener(HvAppShellEventNotificationTrigger, handleNotificationEvent);
14
+ globalThis.addEventListener(HvAppShellEventThemeTrigger, handleThemeEvent);
15
+ return () => {
16
+ globalThis.removeEventListener(HvAppShellEventNotificationTrigger, handleNotificationEvent);
17
+ globalThis.removeEventListener(HvAppShellEventThemeTrigger, handleThemeEvent);
18
+ };
19
+ }, [handleNotificationEvent, handleThemeEvent]);
14
20
  };
15
21
  export {
16
- E as default
22
+ useCustomEventListener as default
17
23
  };
18
- //# sourceMappingURL=useCustomEventListener.js.map
@@ -1,25 +1,31 @@
1
- import { useState as l, useEffect as c } from "react";
2
- const u = {
1
+ import { useState, useEffect } from "react";
2
+ const LOCAL_STORAGE_KEYS = {
3
3
  COLOR_MODE: "hv/user-preferences/color-mode",
4
4
  NAV_EXPANDED: "hv/app-shell/expanded"
5
- }, E = (o) => {
6
- const e = u[o] || o, [r, s] = l(() => localStorage.getItem(e)), n = (t) => {
7
- localStorage.setItem(e, t);
5
+ };
6
+ const useLocalStorage = (storageKey) => {
7
+ const key = LOCAL_STORAGE_KEYS[storageKey] || storageKey;
8
+ const [value, setValue] = useState(() => localStorage.getItem(key));
9
+ const setStoredValue = (newValue) => {
10
+ localStorage.setItem(key, newValue);
8
11
  };
9
- return c(() => {
10
- const t = (a) => {
11
- a.key === e && s(a.newValue);
12
+ useEffect(() => {
13
+ const handleStorageChange = (event) => {
14
+ if (event.key === key) {
15
+ setValue(event.newValue);
16
+ }
12
17
  };
13
- return window.addEventListener("storage", t), () => {
14
- window.removeEventListener("storage", t);
18
+ window.addEventListener("storage", handleStorageChange);
19
+ return () => {
20
+ window.removeEventListener("storage", handleStorageChange);
15
21
  };
16
- }, [e]), {
17
- value: r,
18
- setStoredValue: n
22
+ }, [key]);
23
+ return {
24
+ value,
25
+ setStoredValue
19
26
  };
20
27
  };
21
28
  export {
22
- u as LOCAL_STORAGE_KEYS,
23
- E as default
29
+ LOCAL_STORAGE_KEYS,
30
+ useLocalStorage as default
24
31
  };
25
- //# sourceMappingURL=useLocalStorage.js.map
@@ -1,33 +1,41 @@
1
- import { useContext as c, useMemo as f, useEffect as p } from "react";
2
- import { useLocation as g } from "react-router-dom";
3
- import { useHvAppShellConfig as v, HvAppShellRuntimeContext as M, CONFIG_TRANSLATIONS_NAMESPACE as I, useHvMenuItems as N } from "@hitachivantara/app-shell-shared";
4
- import { useHvNavigation as d } from "@hitachivantara/app-shell-navigation";
5
- import { createNavigationMenuItems as l } from "../utils/navigationUtil.js";
6
- const A = 2, H = () => {
1
+ import { useContext, useMemo, useEffect } from "react";
2
+ import { useLocation } from "react-router-dom";
3
+ import { useHvAppShellConfig, HvAppShellRuntimeContext, CONFIG_TRANSLATIONS_NAMESPACE, useHvMenuItems } from "@hitachivantara/app-shell-shared";
4
+ import { useHvNavigation } from "@hitachivantara/app-shell-navigation";
5
+ import { createNavigationMenuItems } from "../utils/navigationUtil.js";
6
+ const MAX_TOP_MENU_DEPTH = 2;
7
+ const useNavigationMenuItems = () => {
7
8
  const {
8
- pathname: s
9
- } = g(), {
10
- navigationMode: m
11
- } = v(), {
12
- navigate: i
13
- } = d(), {
14
- i18n: e
15
- } = c(M) ?? {}, a = f(() => (e == null ? void 0 : e.getFixedT(e.language, I)) ?? // should not happen, but fallback if the i18n instance is not available
16
- ((o) => o), [e]), {
17
- items: t,
18
- selectedMenuItemId: n,
19
- rootMenuItemId: u
20
- } = N(), r = l(a, t, m === "ONLY_TOP" ? A : void 0);
21
- return p(() => {
22
- var o;
23
- !n && s === "/" && ((o = t[0]) != null && o.href) && i(t[0].href);
24
- }, [s, t, i, n]), {
25
- items: r,
26
- selectedMenuItemId: n,
27
- rootMenuItemId: u
9
+ pathname
10
+ } = useLocation();
11
+ const {
12
+ navigationMode
13
+ } = useHvAppShellConfig();
14
+ const {
15
+ navigate
16
+ } = useHvNavigation();
17
+ const {
18
+ i18n
19
+ } = useContext(HvAppShellRuntimeContext) ?? {};
20
+ const tConfig = useMemo(() => i18n?.getFixedT(i18n.language, CONFIG_TRANSLATIONS_NAMESPACE) ?? // should not happen, but fallback if the i18n instance is not available
21
+ ((l) => l), [i18n]);
22
+ const {
23
+ items,
24
+ selectedMenuItemId,
25
+ rootMenuItemId
26
+ } = useHvMenuItems();
27
+ const navigationMenuItemsTmp = createNavigationMenuItems(tConfig, items, navigationMode === "ONLY_TOP" ? MAX_TOP_MENU_DEPTH : void 0);
28
+ useEffect(() => {
29
+ if (!selectedMenuItemId && pathname === "/" && items[0]?.href) {
30
+ navigate(items[0].href);
31
+ }
32
+ }, [pathname, items, navigate, selectedMenuItemId]);
33
+ return {
34
+ items: navigationMenuItemsTmp,
35
+ selectedMenuItemId,
36
+ rootMenuItemId
28
37
  };
29
38
  };
30
39
  export {
31
- H as default
40
+ useNavigationMenuItems as default
32
41
  };
33
- //# sourceMappingURL=useNavigationMenuItems.js.map
@@ -1,45 +1,55 @@
1
- import { useHvSnackbar as f } from "@hitachivantara/uikit-react-core";
2
- import u from "../../providers/hooks/useBannerContext.js";
3
- const k = () => {
1
+ import { useHvSnackbar } from "@hitachivantara/uikit-react-core";
2
+ import useBannerContext from "../../providers/hooks/useBannerContext.js";
3
+ const useNotificationsEventListener = () => {
4
4
  const {
5
- enqueueSnackbar: o
6
- } = f(), {
7
- show: s
8
- } = u(), i = (a) => {
5
+ enqueueSnackbar
6
+ } = useHvSnackbar();
7
+ const {
8
+ show
9
+ } = useBannerContext();
10
+ const handleCustomEventSnackbar = (notification) => {
9
11
  const {
10
- message: n,
11
- variant: r,
12
- actions: t,
13
- actionsCallback: l
14
- } = a;
15
- let e;
16
- t && (e = {
17
- action: Array.isArray(t) ? t[0] : t,
18
- actionCallback: l
19
- }), n && o(n, {
20
- variant: r ?? "default",
21
- snackbarContentProps: e
22
- });
23
- }, c = (a) => {
24
- a.message && s(a);
12
+ message,
13
+ variant,
14
+ actions,
15
+ actionsCallback
16
+ } = notification;
17
+ let snackbarContentProps;
18
+ if (actions) {
19
+ snackbarContentProps = {
20
+ action: Array.isArray(actions) ? actions[0] : actions,
21
+ actionCallback: actionsCallback
22
+ };
23
+ }
24
+ if (message) {
25
+ enqueueSnackbar(message, {
26
+ variant: variant ?? "default",
27
+ snackbarContentProps
28
+ });
29
+ }
25
30
  };
26
- return {
27
- handleNotificationEvent: (a) => {
28
- const n = a.detail;
29
- switch (n.type) {
30
- case "snackbar":
31
- i(n);
32
- break;
33
- case "banner":
34
- c(n);
35
- break;
36
- default:
37
- console.warn("Invalid notification type", n.type);
38
- }
31
+ const handleCustomEventBanner = (notification) => {
32
+ if (notification.message) {
33
+ show(notification);
39
34
  }
40
35
  };
36
+ const handleNotificationEvent = (event) => {
37
+ const notificationEvent = event.detail;
38
+ switch (notificationEvent.type) {
39
+ case "snackbar":
40
+ handleCustomEventSnackbar(notificationEvent);
41
+ break;
42
+ case "banner":
43
+ handleCustomEventBanner(notificationEvent);
44
+ break;
45
+ default:
46
+ console.warn("Invalid notification type", notificationEvent.type);
47
+ }
48
+ };
49
+ return {
50
+ handleNotificationEvent
51
+ };
41
52
  };
42
53
  export {
43
- k as default
54
+ useNotificationsEventListener as default
44
55
  };
45
- //# sourceMappingURL=useNotificationsEventListener.js.map