@hitachivantara/app-shell-ui 1.9.1 → 1.10.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 (73) hide show
  1. package/dist/esm/components/AppShell/AppShell.js +1 -1
  2. package/dist/esm/components/AppShellProvider/AppShellProvider.js +64 -36
  3. package/dist/esm/components/AppShellRoutes/AppShellRoutes.js +60 -36
  4. package/dist/esm/components/AppShellViewProvider/AppShellViewProvider.js +3 -8
  5. package/dist/esm/components/CustomHooksInitializer/CustomHooksInitializer.js +2 -2
  6. package/dist/esm/components/GlobalStyles/GlobalStyles.js +13 -15
  7. package/dist/esm/components/IconUiKit/IconUiKit.js +6 -8
  8. package/dist/esm/components/IconUiKit/index.js +2 -2
  9. package/dist/esm/components/SnackbarProvider/SnackbarProvider.js +16 -14
  10. package/dist/esm/components/hoc/withClickAwayListener.js +6 -3
  11. package/dist/esm/components/hoc/withGlobalProvider.js +23 -11
  12. package/dist/esm/components/layout/BrandLogo/BrandLogo.js +4 -8
  13. package/dist/esm/components/layout/BrandLogo/Logos/Hitachi.js +21 -2
  14. package/dist/esm/components/layout/BrandLogo/Logos/Lumada.js +39 -7
  15. package/dist/esm/components/layout/BrandLogo/Logos/Pentaho.js +21 -2
  16. package/dist/esm/components/layout/Header/Header.js +53 -37
  17. package/dist/esm/components/layout/Header/HeaderActions/{DynamicAction/DynamicAction.js → DynamicAction.js} +12 -15
  18. package/dist/esm/components/layout/Header/HeaderActions/HeaderActions.js +15 -8
  19. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/AppSwitcherToggle.js +42 -28
  20. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/styles.js +3 -8
  21. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/{ColorModeSwitcher/ColorModeSwitcher.js → ColorModeSwitcher.js} +12 -13
  22. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/HelpButton.js +17 -17
  23. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/InternalAction/InternalAction.js +28 -25
  24. package/dist/esm/components/layout/Header/styles.js +6 -17
  25. package/dist/esm/components/layout/Loading/Loading.js +2 -4
  26. package/dist/esm/components/layout/Loading/styles.js +8 -30
  27. package/dist/esm/components/layout/Main/Main.js +32 -22
  28. package/dist/esm/components/layout/Main/styles.js +8 -30
  29. package/dist/esm/components/layout/VerticalNavigation/NavigationCollapse.js +23 -14
  30. package/dist/esm/components/layout/VerticalNavigation/NavigationHeader.js +2 -4
  31. package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js +61 -38
  32. package/dist/esm/components/layout/VerticalNavigation/styles.js +24 -48
  33. package/dist/esm/{lib/hooks → hooks}/useClearLocationState.js +6 -10
  34. package/dist/esm/hooks/useCustomEventListener.js +31 -0
  35. package/dist/esm/{lib/hooks → hooks}/useLocalStorage.js +1 -4
  36. package/dist/esm/{lib/hooks → hooks}/useNavigationMenuItems.js +15 -20
  37. package/dist/esm/{lib/hooks → hooks}/useNotificationsEventListener.js +5 -16
  38. package/dist/esm/{lib/hooks → hooks}/useThemeEventListener.js +4 -15
  39. package/dist/esm/{lib/i18n → i18n}/index.js +8 -6
  40. package/dist/esm/i18n/localization/en.json.js +17 -0
  41. package/dist/esm/i18n/localization/pt.json.js +17 -0
  42. package/dist/esm/pages/ErrorPage/ErrorPage.js +27 -17
  43. package/dist/esm/pages/ErrorPage/Footer.js +60 -0
  44. package/dist/esm/pages/ErrorPage/styles.js +17 -40
  45. package/dist/esm/pages/GenericError/GenericError.js +14 -11
  46. package/dist/esm/pages/LoadingPage/LoadingPage.js +11 -7
  47. package/dist/esm/pages/LoadingPage/styles.js +10 -14
  48. package/dist/esm/pages/NotFound/NotFound.js +11 -7
  49. package/dist/esm/pages/Root/Root.js +7 -9
  50. package/dist/esm/providers/BannerProvider.js +67 -49
  51. package/dist/esm/providers/LayoutProvider.js +21 -12
  52. package/dist/esm/providers/NavigationProvider.js +48 -34
  53. package/dist/esm/utils/CombinedProviders.js +23 -0
  54. package/dist/esm/{lib/utils → utils}/navigationUtil.js +5 -15
  55. package/dist/types/index.d.ts +27 -0
  56. package/package.json +37 -48
  57. package/LICENSE +0 -201
  58. package/dist/dts/index.d.ts +0 -9
  59. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/index.js +0 -4
  60. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/index.js +0 -4
  61. package/dist/esm/lib/hooks/useCustomEventListener.js +0 -23
  62. package/dist/esm/lib/i18n/localization/en.json.js +0 -59
  63. package/dist/esm/lib/i18n/localization/pt.json.js +0 -59
  64. package/dist/esm/lib/utils/CombinedProviders.js +0 -22
  65. package/dist/esm/lib/utils/textUtil.js +0 -6
  66. package/dist/esm/pages/ErrorPage/Footer/Footer.js +0 -53
  67. package/dist/esm/pages/ErrorPage/Footer/styles.js +0 -22
  68. package/dist/esm/providers/hooks/useBannerContext.js +0 -12
  69. package/dist/esm/providers/hooks/useLayoutContext.js +0 -12
  70. package/dist/esm/providers/hooks/useNavigationContext.js +0 -12
  71. /package/dist/esm/{lib/hooks → hooks}/useResizeObserver.js +0 -0
  72. /package/dist/esm/{lib/utils → utils}/basePathUtils.js +0 -0
  73. /package/dist/esm/{lib/utils → utils}/documentUtil.js +0 -0
@@ -1,36 +1,24 @@
1
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
- import { createContext, useState, useMemo, useEffect } from "react";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useMemo, useEffect, createContext, useContext } from "react";
3
+ import { useTranslation } from "react-i18next";
3
4
  import { css } from "@emotion/css";
4
5
  import { uid } from "uid";
5
6
  import { useTheme, theme, HvBanner } from "@hitachivantara/uikit-react-core";
6
- import { useTranslation } from "react-i18next";
7
- import useNavigationContext from "./hooks/useNavigationContext.js";
8
- import useLayoutContext from "./hooks/useLayoutContext.js";
7
+ import { useLayoutContext } from "./LayoutProvider.js";
8
+ import { useNavigationContext } from "./NavigationProvider.js";
9
9
  const BannerContext = createContext({
10
10
  show: () => {
11
11
  },
12
12
  dismiss: () => {
13
13
  }
14
14
  });
15
- const BannerProvider = ({
16
- children
17
- }) => {
18
- const {
19
- t
20
- } = useTranslation(void 0, {
15
+ const BannerProvider = ({ children }) => {
16
+ const { t } = useTranslation(void 0, {
21
17
  keyPrefix: "notifications.banner"
22
18
  });
23
- const {
24
- activeTheme
25
- } = useTheme();
26
- const {
27
- showHeaderSubMenu,
28
- isCompactMode
29
- } = useNavigationContext();
30
- const {
31
- verticalNavigationWidth,
32
- setBannerMaxHeight
33
- } = useLayoutContext();
19
+ const { activeTheme } = useTheme();
20
+ const { showHeaderSubMenu, isCompactMode } = useNavigationContext();
21
+ const { verticalNavigationWidth, setBannerMaxHeight } = useLayoutContext();
34
22
  const [banners, setBanners] = useState([]);
35
23
  const isPentahoTheme = activeTheme?.name === "pentahoPlus";
36
24
  const show = (notification) => {
@@ -43,12 +31,17 @@ const BannerProvider = ({
43
31
  setBanners((prevBanners) => [...prevBanners, newBanner]);
44
32
  };
45
33
  const dismiss = (id) => {
46
- setBanners((prevBanners) => prevBanners.filter((banner) => banner.id !== id));
34
+ setBanners(
35
+ (prevBanners) => prevBanners.filter((banner) => banner.id !== id)
36
+ );
47
37
  };
48
- const value = useMemo(() => ({
49
- show,
50
- dismiss
51
- }), []);
38
+ const value = useMemo(
39
+ () => ({
40
+ show,
41
+ dismiss
42
+ }),
43
+ []
44
+ );
52
45
  useEffect(() => {
53
46
  if (banners.length > 0) {
54
47
  const bannerHeights = banners.map((item) => {
@@ -61,15 +54,11 @@ const BannerProvider = ({
61
54
  setBannerMaxHeight(0);
62
55
  }
63
56
  }, [banners, setBannerMaxHeight]);
64
- const {
65
- root,
66
- topCenter,
67
- bottomCenter
68
- } = useMemo(() => {
57
+ const { root, topCenter, bottomCenter } = useMemo(() => {
69
58
  const paddingY = theme.space.xs;
70
59
  const paddingX = theme.space.sm;
71
60
  return {
72
- root: /* @__PURE__ */ css({
61
+ root: css({
73
62
  left: `calc(${verticalNavigationWidth}px + ${paddingX})`,
74
63
  width: `calc(100% - (${verticalNavigationWidth}px + ${paddingX}) - ${paddingX})`,
75
64
  transform: "unset",
@@ -80,29 +69,58 @@ const BannerProvider = ({
80
69
  left: `calc(${verticalNavigationWidth}px + (100% - ${verticalNavigationWidth}px) / 2)`,
81
70
  transform: `translateX(-50%)`
82
71
  }
83
- }, process.env.NODE_ENV === "production" ? "" : ";label:root;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9wcm92aWRlcnMvQmFubmVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlGWSIsImZpbGUiOiIvX193L2h2LWFwcC1zaGVsbC9odi1hcHAtc2hlbGwvY2xpZW50L3BhY2thZ2VzL2FwcC1zaGVsbC11aS9zcmMvcHJvdmlkZXJzL0Jhbm5lclByb3ZpZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IHVpZCB9IGZyb20gXCJ1aWRcIjtcblxuaW1wb3J0IHsgSHZCYW5uZXIsIHRoZW1lLCB1c2VUaGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtY29yZVwiO1xuaW1wb3J0IHsgSHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS9hcHAtc2hlbGwtZXZlbnRzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgdXNlTmF2aWdhdGlvbkNvbnRleHQgZnJvbSBcIi4vaG9va3MvdXNlTmF2aWdhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB1c2VMYXlvdXRDb250ZXh0IGZyb20gXCIuL2hvb2tzL3VzZUxheW91dENvbnRleHRcIjtcblxuZXhwb3J0IHR5cGUgQmFubmVyUHJvdmlkZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFubmVyIGV4dGVuZHMgT21pdDxIdkFwcFNoZWxsRXZlbnROb3RpZmljYXRpb24sIFwidHlwZVwiPiB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFubmVyQ29udGV4dFZhbHVlIHtcbiAgc2hvdzogKG5vdGlmaWNhdGlvbjogSHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uKSA9PiB2b2lkO1xuICBkaXNtaXNzOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IEJhbm5lckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PEJhbm5lckNvbnRleHRWYWx1ZT4oe1xuICBzaG93OiAoKSA9PiB7XG4gICAgLy8gRW1wdHkgZnVuY3Rpb25cbiAgfSxcbiAgZGlzbWlzczogKCkgPT4ge1xuICAgIC8vIEVtcHR5IGZ1bmN0aW9uXG4gIH1cbn0pO1xuXG5jb25zdCBCYW5uZXJQcm92aWRlciA9ICh7IGNoaWxkcmVuIH06IEJhbm5lclByb3ZpZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbih1bmRlZmluZWQsIHtcbiAgICBrZXlQcmVmaXg6IFwibm90aWZpY2F0aW9ucy5iYW5uZXJcIlxuICB9KTtcbiAgY29uc3QgeyBhY3RpdmVUaGVtZSB9ID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgeyBzaG93SGVhZGVyU3ViTWVudSwgaXNDb21wYWN0TW9kZSB9ID0gdXNlTmF2aWdhdGlvbkNvbnRleHQoKTtcbiAgY29uc3QgeyB2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aCwgc2V0QmFubmVyTWF4SGVpZ2h0IH0gPSB1c2VMYXlvdXRDb250ZXh0KCk7XG4gIGNvbnN0IFtiYW5uZXJzLCBzZXRCYW5uZXJzXSA9IHVzZVN0YXRlPEJhbm5lcltdPihbXSk7XG5cbiAgY29uc3QgaXNQZW50YWhvVGhlbWUgPSBhY3RpdmVUaGVtZT8ubmFtZSA9PT0gXCJwZW50YWhvUGx1c1wiO1xuXG4gIGNvbnN0IHNob3cgPSAobm90aWZpY2F0aW9uOiBIdkFwcFNoZWxsRXZlbnROb3RpZmljYXRpb24pID0+IHtcbiAgICBjb25zdCBpZCA9IHVpZCgpO1xuXG4gICAgY29uc3QgbmV3QmFubmVyOiBCYW5uZXIgPSB7XG4gICAgICBpZCxcbiAgICAgIC4uLm5vdGlmaWNhdGlvbixcbiAgICAgIHZhcmlhbnQ6IG5vdGlmaWNhdGlvbi52YXJpYW50ID8/IFwiZGVmYXVsdFwiXG4gICAgfTtcbiAgICBzZXRCYW5uZXJzKHByZXZCYW5uZXJzID0+IFsuLi5wcmV2QmFubmVycywgbmV3QmFubmVyXSk7XG4gIH07XG5cbiAgY29uc3QgZGlzbWlzcyA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0QmFubmVycyhwcmV2QmFubmVycyA9PiBwcmV2QmFubmVycy5maWx0ZXIoYmFubmVyID0+IGJhbm5lci5pZCAhPT0gaWQpKTtcbiAgfTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHNob3csXG4gICAgICBkaXNtaXNzXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChiYW5uZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEdldCBhbGwgaGVpZ2h0cyBmcm9tIHRoZSByZW5kZXJlZCBiYW5uZXJzXG4gICAgICBjb25zdCBiYW5uZXJIZWlnaHRzID0gYmFubmVycy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGJhbm5lckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKTtcbiAgICAgICAgcmV0dXJuIGJhbm5lckVsZW1lbnQgPyBiYW5uZXJFbGVtZW50LmNsaWVudEhlaWdodCA6IDA7XG4gICAgICB9KTtcblxuICAgICAgLy8gRmluZCB0aGUgJ3RhbGxlc3QnIGJhbm5lclxuICAgICAgY29uc3QgbWF4QmFubmVySGVpZ2h0ID0gTWF0aC5tYXgoLi4uYmFubmVySGVpZ2h0cyk7XG5cbiAgICAgIC8vIFVwZGF0ZSBwYWRkaW5nIHZhbHVlXG4gICAgICBzZXRCYW5uZXJNYXhIZWlnaHQobWF4QmFubmVySGVpZ2h0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QmFubmVyTWF4SGVpZ2h0KDApO1xuICAgIH1cbiAgfSwgW2Jhbm5lcnMsIHNldEJhbm5lck1heEhlaWdodF0pO1xuXG4gIGNvbnN0IHsgcm9vdCwgdG9wQ2VudGVyLCBib3R0b21DZW50ZXIgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBhZGRpbmdZID0gdGhlbWUuc3BhY2UueHM7IC8vIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggYE1haW5gJ3MgcGFkZGluZ1RvcFxuICAgIGNvbnN0IHBhZGRpbmdYID0gdGhlbWUuc3BhY2Uuc207XG5cbiAgICByZXR1cm4ge1xuICAgICAgcm9vdDogY3NzKHtcbiAgICAgICAgbGVmdDogYGNhbGMoJHt2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weCArICR7cGFkZGluZ1h9KWAsXG4gICAgICAgIHdpZHRoOiBgY2FsYygxMDAlIC0gKCR7dmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHggKyAke3BhZGRpbmdYfSkgLSAke3BhZGRpbmdYfSlgLFxuICAgICAgICB0cmFuc2Zvcm06IFwidW5zZXRcIixcbiAgICAgICAgbWluV2lkdGg6IFwidW5zZXRcIixcbiAgICAgICAgekluZGV4OiB0aGVtZS56SW5kaWNlcy5iYW5uZXIsXG4gICAgICAgIC4uLihpc1BlbnRhaG9UaGVtZSAmJiB7XG4gICAgICAgICAgbWF4V2lkdGg6IDU0MCxcbiAgICAgICAgICBsZWZ0OiBgY2FsYygke3ZlcnRpY2FsTmF2aWdhdGlvbldpZHRofXB4ICsgKDEwMCUgLSAke3ZlcnRpY2FsTmF2aWdhdGlvbldpZHRofXB4KSAvIDIpYCxcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKC01MCUpYFxuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICB0b3BDZW50ZXI6IGNzcyh7XG4gICAgICAgIG1hcmdpblRvcDpcbiAgICAgICAgICBzaG93SGVhZGVyU3ViTWVudSAmJiAhaXNDb21wYWN0TW9kZVxuICAgICAgICAgICAgPyBgY2FsYygke3RoZW1lLmhlYWRlci5oZWlnaHR9ICsgJHt0aGVtZS5oZWFkZXIuc2Vjb25kTGV2ZWxIZWlnaHR9ICsgJHtwYWRkaW5nWX0pYFxuICAgICAgICAgICAgOiBgY2FsYygke3RoZW1lLmhlYWRlci5oZWlnaHR9ICsgJHtwYWRkaW5nWX0pYFxuICAgICAgfSksXG4gICAgICBib3R0b21DZW50ZXI6IGNzcyh7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2UubWRcbiAgICAgIH0pXG4gICAgfTtcbiAgfSwgW1xuICAgIGlzQ29tcGFjdE1vZGUsXG4gICAgaXNQZW50YWhvVGhlbWUsXG4gICAgc2hvd0hlYWRlclN1Yk1lbnUsXG4gICAgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGhcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFubmVyQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAge2Jhbm5lcnMubWFwKGJhbm5lciA9PiAoXG4gICAgICAgIDxIdkJhbm5lclxuICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgIHJvb3QsXG4gICAgICAgICAgICBhbmNob3JPcmlnaW5Cb3R0b21DZW50ZXI6IGJvdHRvbUNlbnRlcixcbiAgICAgICAgICAgIGFuY2hvck9yaWdpblRvcENlbnRlcjogdG9wQ2VudGVyXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD17YmFubmVyLmlkfVxuICAgICAgICAgIGtleT17YmFubmVyLmlkfVxuICAgICAgICAgIG9mZnNldD17MH1cbiAgICAgICAgICBvcGVuXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gZGlzbWlzcyhiYW5uZXIuaWQpfVxuICAgICAgICAgIHZhcmlhbnQ9e2Jhbm5lci52YXJpYW50fVxuICAgICAgICAgIGxhYmVsPXtiYW5uZXIubWVzc2FnZX1cbiAgICAgICAgICBzaG93SWNvblxuICAgICAgICAgIGFjdGlvbnM9e2Jhbm5lci5hY3Rpb25zfVxuICAgICAgICAgIGFjdGlvbnNDYWxsYmFjaz17YmFubmVyLmFjdGlvbnNDYWxsYmFja31cbiAgICAgICAgICBiYW5uZXJDb250ZW50UHJvcHM9e3tcbiAgICAgICAgICAgIGFjdGlvblByb3BzOiB7IFwiYXJpYS1sYWJlbFwiOiB0KFwiY2xvc2VcIikgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgYW5jaG9yT3JpZ2luPXtpc1BlbnRhaG9UaGVtZSA/IFwiYm90dG9tXCIgOiB1bmRlZmluZWR9XG4gICAgICAgICAgdHJhbnNpdGlvbkRpcmVjdGlvbj17aXNQZW50YWhvVGhlbWUgPyBcInVwXCIgOiB1bmRlZmluZWR9XG4gICAgICAgIC8+XG4gICAgICApKX1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0Jhbm5lckNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYW5uZXJQcm92aWRlcjtcbiJdfQ== */"),
84
- topCenter: /* @__PURE__ */ css({
72
+ }),
73
+ topCenter: css({
85
74
  marginTop: showHeaderSubMenu && !isCompactMode ? `calc(${theme.header.height} + ${theme.header.secondLevelHeight} + ${paddingY})` : `calc(${theme.header.height} + ${paddingY})`
86
- }, process.env.NODE_ENV === "production" ? "" : ";label:topCenter;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9wcm92aWRlcnMvQmFubmVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFHaUIiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL3Byb3ZpZGVycy9CYW5uZXJQcm92aWRlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgeyB1aWQgfSBmcm9tIFwidWlkXCI7XG5cbmltcG9ydCB7IEh2QmFubmVyLCB0aGVtZSwgdXNlVGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcbmltcG9ydCB7IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvYXBwLXNoZWxsLWV2ZW50c1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHVzZU5hdmlnYXRpb25Db250ZXh0IGZyb20gXCIuL2hvb2tzL3VzZU5hdmlnYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdXNlTGF5b3V0Q29udGV4dCBmcm9tIFwiLi9ob29rcy91c2VMYXlvdXRDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEJhbm5lclByb3ZpZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lciBleHRlbmRzIE9taXQ8SHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uLCBcInR5cGVcIj4ge1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckNvbnRleHRWYWx1ZSB7XG4gIHNob3c6IChub3RpZmljYXRpb246IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgZGlzbWlzczogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYW5uZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxCYW5uZXJDb250ZXh0VmFsdWU+KHtcbiAgc2hvdzogKCkgPT4ge1xuICAgIC8vIEVtcHR5IGZ1bmN0aW9uXG4gIH0sXG4gIGRpc21pc3M6ICgpID0+IHtcbiAgICAvLyBFbXB0eSBmdW5jdGlvblxuICB9XG59KTtcblxuY29uc3QgQmFubmVyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBCYW5uZXJQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24odW5kZWZpbmVkLCB7XG4gICAga2V5UHJlZml4OiBcIm5vdGlmaWNhdGlvbnMuYmFubmVyXCJcbiAgfSk7XG4gIGNvbnN0IHsgYWN0aXZlVGhlbWUgfSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IHsgc2hvd0hlYWRlclN1Yk1lbnUsIGlzQ29tcGFjdE1vZGUgfSA9IHVzZU5hdmlnYXRpb25Db250ZXh0KCk7XG4gIGNvbnN0IHsgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGgsIHNldEJhbm5lck1heEhlaWdodCB9ID0gdXNlTGF5b3V0Q29udGV4dCgpO1xuICBjb25zdCBbYmFubmVycywgc2V0QmFubmVyc10gPSB1c2VTdGF0ZTxCYW5uZXJbXT4oW10pO1xuXG4gIGNvbnN0IGlzUGVudGFob1RoZW1lID0gYWN0aXZlVGhlbWU/Lm5hbWUgPT09IFwicGVudGFob1BsdXNcIjtcblxuICBjb25zdCBzaG93ID0gKG5vdGlmaWNhdGlvbjogSHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uKSA9PiB7XG4gICAgY29uc3QgaWQgPSB1aWQoKTtcblxuICAgIGNvbnN0IG5ld0Jhbm5lcjogQmFubmVyID0ge1xuICAgICAgaWQsXG4gICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICB2YXJpYW50OiBub3RpZmljYXRpb24udmFyaWFudCA/PyBcImRlZmF1bHRcIlxuICAgIH07XG4gICAgc2V0QmFubmVycyhwcmV2QmFubmVycyA9PiBbLi4ucHJldkJhbm5lcnMsIG5ld0Jhbm5lcl0pO1xuICB9O1xuXG4gIGNvbnN0IGRpc21pc3MgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHNldEJhbm5lcnMocHJldkJhbm5lcnMgPT4gcHJldkJhbm5lcnMuZmlsdGVyKGJhbm5lciA9PiBiYW5uZXIuaWQgIT09IGlkKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBzaG93LFxuICAgICAgZGlzbWlzc1xuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYmFubmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBHZXQgYWxsIGhlaWdodHMgZnJvbSB0aGUgcmVuZGVyZWQgYmFubmVyc1xuICAgICAgY29uc3QgYmFubmVySGVpZ2h0cyA9IGJhbm5lcnMubWFwKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBiYW5uZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgIHJldHVybiBiYW5uZXJFbGVtZW50ID8gYmFubmVyRWxlbWVudC5jbGllbnRIZWlnaHQgOiAwO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmQgdGhlICd0YWxsZXN0JyBiYW5uZXJcbiAgICAgIGNvbnN0IG1heEJhbm5lckhlaWdodCA9IE1hdGgubWF4KC4uLmJhbm5lckhlaWdodHMpO1xuXG4gICAgICAvLyBVcGRhdGUgcGFkZGluZyB2YWx1ZVxuICAgICAgc2V0QmFubmVyTWF4SGVpZ2h0KG1heEJhbm5lckhlaWdodCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEJhbm5lck1heEhlaWdodCgwKTtcbiAgICB9XG4gIH0sIFtiYW5uZXJzLCBzZXRCYW5uZXJNYXhIZWlnaHRdKTtcblxuICBjb25zdCB7IHJvb3QsIHRvcENlbnRlciwgYm90dG9tQ2VudGVyIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwYWRkaW5nWSA9IHRoZW1lLnNwYWNlLnhzOyAvLyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIGBNYWluYCdzIHBhZGRpbmdUb3BcbiAgICBjb25zdCBwYWRkaW5nWCA9IHRoZW1lLnNwYWNlLnNtO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJvb3Q6IGNzcyh7XG4gICAgICAgIGxlZnQ6IGBjYWxjKCR7dmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHggKyAke3BhZGRpbmdYfSlgLFxuICAgICAgICB3aWR0aDogYGNhbGMoMTAwJSAtICgke3ZlcnRpY2FsTmF2aWdhdGlvbldpZHRofXB4ICsgJHtwYWRkaW5nWH0pIC0gJHtwYWRkaW5nWH0pYCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInVuc2V0XCIsXG4gICAgICAgIG1pbldpZHRoOiBcInVuc2V0XCIsXG4gICAgICAgIHpJbmRleDogdGhlbWUuekluZGljZXMuYmFubmVyLFxuICAgICAgICAuLi4oaXNQZW50YWhvVGhlbWUgJiYge1xuICAgICAgICAgIG1heFdpZHRoOiA1NDAsXG4gICAgICAgICAgbGVmdDogYGNhbGMoJHt2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weCArICgxMDAlIC0gJHt2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weCkgLyAyKWAsXG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgtNTAlKWBcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuICAgICAgdG9wQ2VudGVyOiBjc3Moe1xuICAgICAgICBtYXJnaW5Ub3A6XG4gICAgICAgICAgc2hvd0hlYWRlclN1Yk1lbnUgJiYgIWlzQ29tcGFjdE1vZGVcbiAgICAgICAgICAgID8gYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuaGVhZGVyLnNlY29uZExldmVsSGVpZ2h0fSArICR7cGFkZGluZ1l9KWBcbiAgICAgICAgICAgIDogYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7cGFkZGluZ1l9KWBcbiAgICAgIH0pLFxuICAgICAgYm90dG9tQ2VudGVyOiBjc3Moe1xuICAgICAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNlLm1kXG4gICAgICB9KVxuICAgIH07XG4gIH0sIFtcbiAgICBpc0NvbXBhY3RNb2RlLFxuICAgIGlzUGVudGFob1RoZW1lLFxuICAgIHNob3dIZWFkZXJTdWJNZW51LFxuICAgIHZlcnRpY2FsTmF2aWdhdGlvbldpZHRoXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPEJhbm5lckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtiYW5uZXJzLm1hcChiYW5uZXIgPT4gKFxuICAgICAgICA8SHZCYW5uZXJcbiAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICByb290LFxuICAgICAgICAgICAgYW5jaG9yT3JpZ2luQm90dG9tQ2VudGVyOiBib3R0b21DZW50ZXIsXG4gICAgICAgICAgICBhbmNob3JPcmlnaW5Ub3BDZW50ZXI6IHRvcENlbnRlclxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9e2Jhbm5lci5pZH1cbiAgICAgICAgICBrZXk9e2Jhbm5lci5pZH1cbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgb3BlblxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IGRpc21pc3MoYmFubmVyLmlkKX1cbiAgICAgICAgICB2YXJpYW50PXtiYW5uZXIudmFyaWFudH1cbiAgICAgICAgICBsYWJlbD17YmFubmVyLm1lc3NhZ2V9XG4gICAgICAgICAgc2hvd0ljb25cbiAgICAgICAgICBhY3Rpb25zPXtiYW5uZXIuYWN0aW9uc31cbiAgICAgICAgICBhY3Rpb25zQ2FsbGJhY2s9e2Jhbm5lci5hY3Rpb25zQ2FsbGJhY2t9XG4gICAgICAgICAgYmFubmVyQ29udGVudFByb3BzPXt7XG4gICAgICAgICAgICBhY3Rpb25Qcm9wczogeyBcImFyaWEtbGFiZWxcIjogdChcImNsb3NlXCIpIH1cbiAgICAgICAgICB9fVxuICAgICAgICAgIGFuY2hvck9yaWdpbj17aXNQZW50YWhvVGhlbWUgPyBcImJvdHRvbVwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHRyYW5zaXRpb25EaXJlY3Rpb249e2lzUGVudGFob1RoZW1lID8gXCJ1cFwiIDogdW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICAgKSl9XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYW5uZXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFubmVyUHJvdmlkZXI7XG4iXX0= */"),
87
- bottomCenter: /* @__PURE__ */ css({
75
+ }),
76
+ bottomCenter: css({
88
77
  marginBottom: theme.space.md
89
- }, process.env.NODE_ENV === "production" ? "" : ";label:bottomCenter;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9wcm92aWRlcnMvQmFubmVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHb0IiLCJmaWxlIjoiL19fdy9odi1hcHAtc2hlbGwvaHYtYXBwLXNoZWxsL2NsaWVudC9wYWNrYWdlcy9hcHAtc2hlbGwtdWkvc3JjL3Byb3ZpZGVycy9CYW5uZXJQcm92aWRlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgeyB1aWQgfSBmcm9tIFwidWlkXCI7XG5cbmltcG9ydCB7IEh2QmFubmVyLCB0aGVtZSwgdXNlVGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcbmltcG9ydCB7IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvYXBwLXNoZWxsLWV2ZW50c1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHVzZU5hdmlnYXRpb25Db250ZXh0IGZyb20gXCIuL2hvb2tzL3VzZU5hdmlnYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdXNlTGF5b3V0Q29udGV4dCBmcm9tIFwiLi9ob29rcy91c2VMYXlvdXRDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEJhbm5lclByb3ZpZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lciBleHRlbmRzIE9taXQ8SHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uLCBcInR5cGVcIj4ge1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckNvbnRleHRWYWx1ZSB7XG4gIHNob3c6IChub3RpZmljYXRpb246IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgZGlzbWlzczogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYW5uZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxCYW5uZXJDb250ZXh0VmFsdWU+KHtcbiAgc2hvdzogKCkgPT4ge1xuICAgIC8vIEVtcHR5IGZ1bmN0aW9uXG4gIH0sXG4gIGRpc21pc3M6ICgpID0+IHtcbiAgICAvLyBFbXB0eSBmdW5jdGlvblxuICB9XG59KTtcblxuY29uc3QgQmFubmVyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBCYW5uZXJQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24odW5kZWZpbmVkLCB7XG4gICAga2V5UHJlZml4OiBcIm5vdGlmaWNhdGlvbnMuYmFubmVyXCJcbiAgfSk7XG4gIGNvbnN0IHsgYWN0aXZlVGhlbWUgfSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IHsgc2hvd0hlYWRlclN1Yk1lbnUsIGlzQ29tcGFjdE1vZGUgfSA9IHVzZU5hdmlnYXRpb25Db250ZXh0KCk7XG4gIGNvbnN0IHsgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGgsIHNldEJhbm5lck1heEhlaWdodCB9ID0gdXNlTGF5b3V0Q29udGV4dCgpO1xuICBjb25zdCBbYmFubmVycywgc2V0QmFubmVyc10gPSB1c2VTdGF0ZTxCYW5uZXJbXT4oW10pO1xuXG4gIGNvbnN0IGlzUGVudGFob1RoZW1lID0gYWN0aXZlVGhlbWU/Lm5hbWUgPT09IFwicGVudGFob1BsdXNcIjtcblxuICBjb25zdCBzaG93ID0gKG5vdGlmaWNhdGlvbjogSHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uKSA9PiB7XG4gICAgY29uc3QgaWQgPSB1aWQoKTtcblxuICAgIGNvbnN0IG5ld0Jhbm5lcjogQmFubmVyID0ge1xuICAgICAgaWQsXG4gICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICB2YXJpYW50OiBub3RpZmljYXRpb24udmFyaWFudCA/PyBcImRlZmF1bHRcIlxuICAgIH07XG4gICAgc2V0QmFubmVycyhwcmV2QmFubmVycyA9PiBbLi4ucHJldkJhbm5lcnMsIG5ld0Jhbm5lcl0pO1xuICB9O1xuXG4gIGNvbnN0IGRpc21pc3MgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHNldEJhbm5lcnMocHJldkJhbm5lcnMgPT4gcHJldkJhbm5lcnMuZmlsdGVyKGJhbm5lciA9PiBiYW5uZXIuaWQgIT09IGlkKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBzaG93LFxuICAgICAgZGlzbWlzc1xuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYmFubmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBHZXQgYWxsIGhlaWdodHMgZnJvbSB0aGUgcmVuZGVyZWQgYmFubmVyc1xuICAgICAgY29uc3QgYmFubmVySGVpZ2h0cyA9IGJhbm5lcnMubWFwKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBiYW5uZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgIHJldHVybiBiYW5uZXJFbGVtZW50ID8gYmFubmVyRWxlbWVudC5jbGllbnRIZWlnaHQgOiAwO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmQgdGhlICd0YWxsZXN0JyBiYW5uZXJcbiAgICAgIGNvbnN0IG1heEJhbm5lckhlaWdodCA9IE1hdGgubWF4KC4uLmJhbm5lckhlaWdodHMpO1xuXG4gICAgICAvLyBVcGRhdGUgcGFkZGluZyB2YWx1ZVxuICAgICAgc2V0QmFubmVyTWF4SGVpZ2h0KG1heEJhbm5lckhlaWdodCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEJhbm5lck1heEhlaWdodCgwKTtcbiAgICB9XG4gIH0sIFtiYW5uZXJzLCBzZXRCYW5uZXJNYXhIZWlnaHRdKTtcblxuICBjb25zdCB7IHJvb3QsIHRvcENlbnRlciwgYm90dG9tQ2VudGVyIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwYWRkaW5nWSA9IHRoZW1lLnNwYWNlLnhzOyAvLyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIGBNYWluYCdzIHBhZGRpbmdUb3BcbiAgICBjb25zdCBwYWRkaW5nWCA9IHRoZW1lLnNwYWNlLnNtO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJvb3Q6IGNzcyh7XG4gICAgICAgIGxlZnQ6IGBjYWxjKCR7dmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHggKyAke3BhZGRpbmdYfSlgLFxuICAgICAgICB3aWR0aDogYGNhbGMoMTAwJSAtICgke3ZlcnRpY2FsTmF2aWdhdGlvbldpZHRofXB4ICsgJHtwYWRkaW5nWH0pIC0gJHtwYWRkaW5nWH0pYCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInVuc2V0XCIsXG4gICAgICAgIG1pbldpZHRoOiBcInVuc2V0XCIsXG4gICAgICAgIHpJbmRleDogdGhlbWUuekluZGljZXMuYmFubmVyLFxuICAgICAgICAuLi4oaXNQZW50YWhvVGhlbWUgJiYge1xuICAgICAgICAgIG1heFdpZHRoOiA1NDAsXG4gICAgICAgICAgbGVmdDogYGNhbGMoJHt2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weCArICgxMDAlIC0gJHt2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weCkgLyAyKWAsXG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgtNTAlKWBcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuICAgICAgdG9wQ2VudGVyOiBjc3Moe1xuICAgICAgICBtYXJnaW5Ub3A6XG4gICAgICAgICAgc2hvd0hlYWRlclN1Yk1lbnUgJiYgIWlzQ29tcGFjdE1vZGVcbiAgICAgICAgICAgID8gYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuaGVhZGVyLnNlY29uZExldmVsSGVpZ2h0fSArICR7cGFkZGluZ1l9KWBcbiAgICAgICAgICAgIDogYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7cGFkZGluZ1l9KWBcbiAgICAgIH0pLFxuICAgICAgYm90dG9tQ2VudGVyOiBjc3Moe1xuICAgICAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNlLm1kXG4gICAgICB9KVxuICAgIH07XG4gIH0sIFtcbiAgICBpc0NvbXBhY3RNb2RlLFxuICAgIGlzUGVudGFob1RoZW1lLFxuICAgIHNob3dIZWFkZXJTdWJNZW51LFxuICAgIHZlcnRpY2FsTmF2aWdhdGlvbldpZHRoXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPEJhbm5lckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtiYW5uZXJzLm1hcChiYW5uZXIgPT4gKFxuICAgICAgICA8SHZCYW5uZXJcbiAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICByb290LFxuICAgICAgICAgICAgYW5jaG9yT3JpZ2luQm90dG9tQ2VudGVyOiBib3R0b21DZW50ZXIsXG4gICAgICAgICAgICBhbmNob3JPcmlnaW5Ub3BDZW50ZXI6IHRvcENlbnRlclxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9e2Jhbm5lci5pZH1cbiAgICAgICAgICBrZXk9e2Jhbm5lci5pZH1cbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgb3BlblxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IGRpc21pc3MoYmFubmVyLmlkKX1cbiAgICAgICAgICB2YXJpYW50PXtiYW5uZXIudmFyaWFudH1cbiAgICAgICAgICBsYWJlbD17YmFubmVyLm1lc3NhZ2V9XG4gICAgICAgICAgc2hvd0ljb25cbiAgICAgICAgICBhY3Rpb25zPXtiYW5uZXIuYWN0aW9uc31cbiAgICAgICAgICBhY3Rpb25zQ2FsbGJhY2s9e2Jhbm5lci5hY3Rpb25zQ2FsbGJhY2t9XG4gICAgICAgICAgYmFubmVyQ29udGVudFByb3BzPXt7XG4gICAgICAgICAgICBhY3Rpb25Qcm9wczogeyBcImFyaWEtbGFiZWxcIjogdChcImNsb3NlXCIpIH1cbiAgICAgICAgICB9fVxuICAgICAgICAgIGFuY2hvck9yaWdpbj17aXNQZW50YWhvVGhlbWUgPyBcImJvdHRvbVwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHRyYW5zaXRpb25EaXJlY3Rpb249e2lzUGVudGFob1RoZW1lID8gXCJ1cFwiIDogdW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICAgKSl9XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYW5uZXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFubmVyUHJvdmlkZXI7XG4iXX0= */")
78
+ })
90
79
  };
91
- }, [isCompactMode, isPentahoTheme, showHeaderSubMenu, verticalNavigationWidth]);
80
+ }, [
81
+ isCompactMode,
82
+ isPentahoTheme,
83
+ showHeaderSubMenu,
84
+ verticalNavigationWidth
85
+ ]);
92
86
  return /* @__PURE__ */ jsxs(BannerContext.Provider, { value, children: [
93
- banners.map((banner) => /* @__PURE__ */ jsx(HvBanner, { classes: {
94
- root,
95
- anchorOriginBottomCenter: bottomCenter,
96
- anchorOriginTopCenter: topCenter
97
- }, id: banner.id, offset: 0, open: true, onClose: () => dismiss(banner.id), variant: banner.variant, label: banner.message, showIcon: true, actions: banner.actions, actionsCallback: banner.actionsCallback, bannerContentProps: {
98
- actionProps: {
99
- "aria-label": t("close")
100
- }
101
- }, anchorOrigin: isPentahoTheme ? "bottom" : void 0, transitionDirection: isPentahoTheme ? "up" : void 0 }, banner.id)),
87
+ banners.map((banner) => /* @__PURE__ */ jsx(
88
+ HvBanner,
89
+ {
90
+ classes: {
91
+ root,
92
+ anchorOriginBottomCenter: bottomCenter,
93
+ anchorOriginTopCenter: topCenter
94
+ },
95
+ id: banner.id,
96
+ offset: 0,
97
+ open: true,
98
+ onClose: () => dismiss(banner.id),
99
+ variant: banner.variant,
100
+ label: banner.message,
101
+ showIcon: true,
102
+ actions: banner.actions,
103
+ actionsCallback: banner.actionsCallback,
104
+ bannerContentProps: {
105
+ actionProps: { "aria-label": t("close") }
106
+ },
107
+ anchorOrigin: isPentahoTheme ? "bottom" : void 0,
108
+ transitionDirection: isPentahoTheme ? "up" : void 0
109
+ },
110
+ banner.id
111
+ )),
102
112
  children
103
113
  ] });
104
114
  };
115
+ const useBannerContext = () => {
116
+ const context = useContext(BannerContext);
117
+ if (!context) {
118
+ console.error("BannerContext was used outside of its Provider");
119
+ }
120
+ return context;
121
+ };
105
122
  export {
106
123
  BannerContext,
107
- BannerProvider as default
124
+ BannerProvider,
125
+ useBannerContext
108
126
  };
@@ -1,5 +1,5 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
2
- import { createContext, useState, useMemo } from "react";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useState, useMemo, createContext, useContext } from "react";
3
3
  const LayoutContext = createContext({
4
4
  bannerMaxHeight: 0,
5
5
  setBannerMaxHeight: () => {
@@ -8,20 +8,29 @@ const LayoutContext = createContext({
8
8
  setVerticalNavigationWidth: () => {
9
9
  }
10
10
  });
11
- const LayoutProvider = ({
12
- children
13
- }) => {
11
+ const LayoutProvider = ({ children }) => {
14
12
  const [bannerMaxHeight, setBannerMaxHeight] = useState(0);
15
13
  const [verticalNavigationWidth, setVerticalNavigationWidth] = useState(0);
16
- const value = useMemo(() => ({
17
- bannerMaxHeight,
18
- setBannerMaxHeight,
19
- verticalNavigationWidth,
20
- setVerticalNavigationWidth
21
- }), [bannerMaxHeight, verticalNavigationWidth]);
14
+ const value = useMemo(
15
+ () => ({
16
+ bannerMaxHeight,
17
+ setBannerMaxHeight,
18
+ verticalNavigationWidth,
19
+ setVerticalNavigationWidth
20
+ }),
21
+ [bannerMaxHeight, verticalNavigationWidth]
22
+ );
22
23
  return /* @__PURE__ */ jsx(LayoutContext.Provider, { value, children });
23
24
  };
25
+ const useLayoutContext = () => {
26
+ const context = useContext(LayoutContext);
27
+ if (!context) {
28
+ console.error("LayoutContext was used outside of its Provider");
29
+ }
30
+ return context;
31
+ };
24
32
  export {
25
33
  LayoutContext,
26
- LayoutProvider as default
34
+ LayoutProvider,
35
+ useLayoutContext
27
36
  };
@@ -1,10 +1,10 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
2
- import { createContext, useState, useMemo, useEffect, useCallback } from "react";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useContext, createContext, useState, useMemo, useEffect, useCallback } from "react";
3
3
  import { useTheme, useMediaQuery } from "@mui/material";
4
4
  import { useHvAppShellConfig } from "@hitachivantara/app-shell-shared";
5
- import { removeHrefFromMenuItemsWithChildren, findItemById } from "../lib/utils/navigationUtil.js";
6
- import useNavigationMenuItems from "../lib/hooks/useNavigationMenuItems.js";
7
- import useLocalStorage from "../lib/hooks/useLocalStorage.js";
5
+ import useLocalStorage from "../hooks/useLocalStorage.js";
6
+ import useNavigationMenuItems from "../hooks/useNavigationMenuItems.js";
7
+ import { removeHrefFromMenuItemsWithChildren, findItemById } from "../utils/navigationUtil.js";
8
8
  const NavigationContext = createContext({
9
9
  selectedMenuItemId: void 0,
10
10
  rootMenuItemId: void 0,
@@ -17,24 +17,15 @@ const NavigationContext = createContext({
17
17
  switchVerticalNavigationMode: () => {
18
18
  }
19
19
  });
20
- const NavigationProvider = ({
21
- children
22
- }) => {
23
- const {
24
- navigationMode
25
- } = useHvAppShellConfig();
26
- const {
27
- items,
28
- selectedMenuItemId,
29
- rootMenuItemId
30
- } = useNavigationMenuItems();
20
+ const NavigationProvider = ({ children }) => {
21
+ const { navigationMode } = useHvAppShellConfig();
22
+ const { items, selectedMenuItemId, rootMenuItemId } = useNavigationMenuItems();
31
23
  const muiTheme = useTheme();
32
24
  const isCompactMode = useMediaQuery(muiTheme.breakpoints.down("md"));
33
- const {
34
- value: storedExpanded,
35
- setStoredValue: setStoreExpanded
36
- } = useLocalStorage("NAV_EXPANDED");
37
- const [isExpanded, setIsExpanded] = useState(storedExpanded == null ? true : storedExpanded === "true");
25
+ const { value: storedExpanded, setStoredValue: setStoreExpanded } = useLocalStorage("NAV_EXPANDED");
26
+ const [isExpanded, setIsExpanded] = useState(
27
+ storedExpanded == null ? true : storedExpanded === "true"
28
+ );
38
29
  const [isClosed, setIsClosed] = useState(isCompactMode);
39
30
  const [showHeaderSubMenu, setShowHeaderSubMenu] = useState(false);
40
31
  const verticalNavigationMode = useMemo(() => {
@@ -69,7 +60,9 @@ const NavigationProvider = ({
69
60
  setIsClosed(isCompactMode);
70
61
  }, [isCompactMode]);
71
62
  useEffect(() => {
72
- setShowHeaderSubMenu(navigationMode === "ONLY_TOP" && items.some((item) => item.data && item.data.length > 0));
63
+ setShowHeaderSubMenu(
64
+ navigationMode === "ONLY_TOP" && items.some((item) => item.data && item.data.length > 0)
65
+ );
73
66
  }, [navigationMode, items]);
74
67
  const switchVerticalNavigationMode = useCallback(() => {
75
68
  if (isCompactMode) {
@@ -78,20 +71,41 @@ const NavigationProvider = ({
78
71
  setIsExpanded((prevState) => !prevState);
79
72
  }
80
73
  }, [isCompactMode]);
81
- const value = useMemo(() => ({
82
- selectedMenuItemId,
83
- rootMenuItemId,
84
- items,
85
- verticalNavigationItems,
86
- hasVerticalNavigation,
87
- showHeaderSubMenu,
88
- isCompactMode,
89
- verticalNavigationMode,
90
- switchVerticalNavigationMode
91
- }), [selectedMenuItemId, rootMenuItemId, items, verticalNavigationItems, hasVerticalNavigation, showHeaderSubMenu, isCompactMode, verticalNavigationMode, switchVerticalNavigationMode]);
74
+ const value = useMemo(
75
+ () => ({
76
+ selectedMenuItemId,
77
+ rootMenuItemId,
78
+ items,
79
+ verticalNavigationItems,
80
+ hasVerticalNavigation,
81
+ showHeaderSubMenu,
82
+ isCompactMode,
83
+ verticalNavigationMode,
84
+ switchVerticalNavigationMode
85
+ }),
86
+ [
87
+ selectedMenuItemId,
88
+ rootMenuItemId,
89
+ items,
90
+ verticalNavigationItems,
91
+ hasVerticalNavigation,
92
+ showHeaderSubMenu,
93
+ isCompactMode,
94
+ verticalNavigationMode,
95
+ switchVerticalNavigationMode
96
+ ]
97
+ );
92
98
  return /* @__PURE__ */ jsx(NavigationContext.Provider, { value, children });
93
99
  };
100
+ const useNavigationContext = () => {
101
+ const context = useContext(NavigationContext);
102
+ if (!context) {
103
+ console.error("NavigationContext was used outside of its Provider");
104
+ }
105
+ return context;
106
+ };
94
107
  export {
95
108
  NavigationContext,
96
- NavigationProvider as default
109
+ NavigationProvider,
110
+ useNavigationContext
97
111
  };
@@ -0,0 +1,23 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ const CombinedProviders = ({
4
+ providers,
5
+ children: mainChildren
6
+ }) => {
7
+ const Combined = useCallback(
8
+ ({ children }) => {
9
+ let result = children;
10
+ if (providers && providers.length > 0) {
11
+ result = providers.reduceRight((Acc, Curr) => {
12
+ return /* @__PURE__ */ jsx(Curr, { children: Acc });
13
+ }, children);
14
+ }
15
+ return result;
16
+ },
17
+ [providers]
18
+ );
19
+ return /* @__PURE__ */ jsx(Combined, { children: mainChildren });
20
+ };
21
+ export {
22
+ CombinedProviders as default
23
+ };
@@ -1,5 +1,5 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
2
- import IconUiKit from "../../components/IconUiKit/index.js";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import IconUiKit from "../components/IconUiKit/index.js";
3
3
  const createNavigationMenuItems = (t, menuItems, maxDepth) => {
4
4
  if (maxDepth !== void 0 && maxDepth <= 0) {
5
5
  return [];
@@ -18,10 +18,7 @@ const createNavigationMenuItems = (t, menuItems, maxDepth) => {
18
18
  const findItemById = (data, itemId) => {
19
19
  let foundItem = null;
20
20
  data.some((obj) => {
21
- const {
22
- id: objId,
23
- data: childData
24
- } = obj;
21
+ const { id: objId, data: childData } = obj;
25
22
  if (objId === itemId) {
26
23
  foundItem = obj;
27
24
  return true;
@@ -46,16 +43,9 @@ const getAppIdFromBundle = (bundle) => {
46
43
  };
47
44
  const removeHrefFromMenuItemsWithChildren = (items) => {
48
45
  return items.map((item) => {
49
- const {
50
- href,
51
- data,
52
- ...rest
53
- } = item;
46
+ const { href, data, ...rest } = item;
54
47
  if (data && data.length > 0) {
55
- return {
56
- ...rest,
57
- data: removeHrefFromMenuItemsWithChildren(data)
58
- };
48
+ return { ...rest, data: removeHrefFromMenuItemsWithChildren(data) };
59
49
  }
60
50
  return item;
61
51
  });
@@ -0,0 +1,27 @@
1
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
2
+
3
+ declare const _default: {
4
+ ({ ...wrappedProps }: any): JSX_2.Element;
5
+ displayName: string;
6
+ };
7
+ export default _default;
8
+
9
+ export { }
10
+
11
+ declare namespace _default {
12
+ function process(sourceText: any, sourcePath: any): {
13
+ code: string;
14
+ };
15
+ }
16
+
17
+ declare namespace _default {
18
+ function process(sourceText: any, sourcePath: any): {
19
+ code: string;
20
+ };
21
+ }
22
+
23
+ declare namespace _default {
24
+ function process(sourceText: any, sourcePath: any): {
25
+ code: string;
26
+ };
27
+ }
package/package.json CHANGED
@@ -1,54 +1,34 @@
1
1
  {
2
2
  "name": "@hitachivantara/app-shell-ui",
3
- "version": "1.9.1",
4
- "description": "AppShell Component",
5
- "author": "Hitachi Vantara - Boba Fett Team",
6
- "license": "Apache-2.0",
3
+ "version": "1.10.1",
7
4
  "type": "module",
5
+ "private": false,
6
+ "author": "Hitachi Vantara UI Kit Team",
7
+ "description": "AppShell Component",
8
+ "homepage": "https://github.com/lumada-design/hv-uikit-react",
8
9
  "sideEffects": false,
9
- "module": "dist/esm/index.js",
10
- "typings": "./dist/dts/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "types": "./dist/dts/index.d.ts",
14
- "import": "./dist/esm/index.js",
15
- "default": "./dist/esm/index.js"
16
- },
17
- "./package.json": "./package.json"
18
- },
19
- "files": [
20
- "dist"
21
- ],
22
- "publishConfig": {
23
- "access": "public"
24
- },
25
- "scripts": {
26
- "build": "npm-run-all clean build:*",
27
- "build:js": "tsc -p tsconfig.prod.json && vite build",
28
- "clean": "npx rimraf ./dist *.tgz tsconfig.tsbuildinfo",
29
- "dev": "vite build --watch",
30
- "lint-check": "npx eslint --ext .js,.jsx,.ts,.tsx src --color",
31
- "lint": "npm-run-all --parallel lint:*",
32
- "lint:eslint": "npm run lint-check -- --cache --fix",
33
- "lint:prettier": "npx prettier --write \"src/**/*.{html,css,js,jsx,ts,tsx}\"",
34
- "test": "vitest run",
35
- "coverage": "vitest run --coverage"
10
+ "license": "Apache-2.0",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/lumada-design/hv-uikit-react.git",
14
+ "directory": "packages/app-shell-ui"
36
15
  },
16
+ "bugs": "https://github.com/lumada-design/hv-uikit-react/issues",
37
17
  "dependencies": {
38
18
  "@emotion/css": "^11.10.5",
39
19
  "@emotion/react": "^11.10.5",
40
20
  "@emotion/styled": "^11.10.5",
41
- "@hitachivantara/app-shell-events": "1.0.4",
42
- "@hitachivantara/app-shell-navigation": "1.2.8",
43
- "@hitachivantara/app-shell-shared": "1.4.2",
44
- "@hitachivantara/uikit-react-core": "^5.72.0",
45
- "@hitachivantara/uikit-react-icons": "^5.11.0",
46
- "@mui/material": "^5.12.3",
47
- "i18next": "^23.7.7",
48
- "i18next-browser-languagedetector": "^7.0.1",
21
+ "@hitachivantara/app-shell-events": "^1.1.0",
22
+ "@hitachivantara/app-shell-navigation": "^1.3.1",
23
+ "@hitachivantara/app-shell-shared": "^1.5.1",
24
+ "@hitachivantara/uikit-react-core": "^5.93.1",
25
+ "@hitachivantara/uikit-react-icons": "^5.15.1",
26
+ "@mui/material": "^5.16.14",
27
+ "i18next": "^24.2.2",
28
+ "i18next-browser-languagedetector": "^8.0.3",
49
29
  "react-error-boundary": "^4.0.10",
50
30
  "react-helmet-async": "^2.0.1",
51
- "react-i18next": "^13.5.0",
31
+ "react-i18next": "^15.4.0",
52
32
  "uid": "^2.0.2"
53
33
  },
54
34
  "peerDependencies": {
@@ -56,13 +36,22 @@
56
36
  "react-dom": "^18.2.0",
57
37
  "react-router-dom": "^6.9.0"
58
38
  },
59
- "devDependencies": {
60
- "@types/react": "^18.0.28",
61
- "@types/uuid": "^9.0.1",
62
- "@vitejs/plugin-react": "^4.2.0",
63
- "npm-run-all": "^4.1.5",
64
- "rimraf": "^5.0.5",
65
- "vite": "^5.0.4"
39
+ "files": [
40
+ "dist"
41
+ ],
42
+ "publishConfig": {
43
+ "access": "public",
44
+ "directory": "package"
45
+ },
46
+ "gitHead": "b05a15b41bfa20c2c4e8bc248429a4a01b23784f",
47
+ "exports": {
48
+ ".": {
49
+ "types": "./dist/types/index.d.ts",
50
+ "import": "./dist/esm/index.js",
51
+ "default": "./dist/esm/index.js"
52
+ },
53
+ "./package.json": "./package.json"
66
54
  },
67
- "gitHead": "6ed403e0c81fc85f5f7fdd7cbb0233df855f416c"
55
+ "types": "./dist/types/index.d.ts",
56
+ "module": "dist/esm/index.js"
68
57
  }