@hitachivantara/app-shell-ui 1.1.0 → 1.2.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.
- package/dist/esm/components/AppShellRoutes/AppShellRoutes.js +56 -24
- package/dist/esm/components/AppShellRoutes/AppShellRoutes.js.map +1 -1
- package/dist/esm/components/hoc/withClickAwayListener.js +8 -8
- package/dist/esm/components/hoc/withClickAwayListener.js.map +1 -1
- package/dist/esm/components/hoc/withGlobalProvider.js +12 -12
- package/dist/esm/components/hoc/withGlobalProvider.js.map +1 -1
- package/dist/esm/components/layout/Main/Main.js +16 -20
- package/dist/esm/components/layout/Main/Main.js.map +1 -1
- package/dist/esm/components/layout/Main/styles.js +7 -8
- package/dist/esm/components/layout/Main/styles.js.map +1 -1
- package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js +41 -38
- package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/layout/VerticalNavigation/styles.js +31 -18
- package/dist/esm/components/layout/VerticalNavigation/styles.js.map +1 -1
- package/dist/esm/lib/hooks/useClearLocationState.js +5 -5
- package/dist/esm/lib/hooks/useClearLocationState.js.map +1 -1
- package/dist/esm/lib/hooks/useCustomEventListener.js +3 -3
- package/dist/esm/lib/hooks/useCustomEventListener.js.map +1 -1
- package/dist/esm/lib/hooks/useLocalStorage.js +7 -7
- package/dist/esm/lib/hooks/useLocalStorage.js.map +1 -1
- package/dist/esm/lib/hooks/useNavigationMenuItems.js +7 -7
- package/dist/esm/lib/hooks/useNavigationMenuItems.js.map +1 -1
- package/dist/esm/lib/hooks/useNotificationsEventListener.js +12 -12
- package/dist/esm/lib/hooks/useNotificationsEventListener.js.map +1 -1
- package/dist/esm/lib/hooks/useThemeEventListener.js +8 -8
- package/dist/esm/lib/hooks/useThemeEventListener.js.map +1 -1
- package/dist/esm/lib/i18n/index.js +4 -4
- package/dist/esm/lib/i18n/index.js.map +1 -1
- package/dist/esm/lib/utils/basePathUtils.js +2 -2
- package/dist/esm/lib/utils/basePathUtils.js.map +1 -1
- package/dist/esm/lib/utils/documentUtil.js +2 -2
- package/dist/esm/lib/utils/documentUtil.js.map +1 -1
- package/dist/esm/lib/utils/textUtil.js +2 -2
- package/dist/esm/lib/utils/textUtil.js.map +1 -1
- package/dist/esm/pages/ErrorPage/styles.js +12 -13
- package/dist/esm/pages/ErrorPage/styles.js.map +1 -1
- package/dist/esm/pages/LoadingPage/styles.js +5 -6
- package/dist/esm/pages/LoadingPage/styles.js.map +1 -1
- package/dist/esm/providers/BannerProvider.js +43 -44
- package/dist/esm/providers/BannerProvider.js.map +1 -1
- package/dist/esm/providers/hooks/useBannerContext.js +7 -7
- package/dist/esm/providers/hooks/useBannerContext.js.map +1 -1
- package/dist/esm/providers/hooks/useLayoutContext.js +6 -6
- package/dist/esm/providers/hooks/useLayoutContext.js.map +1 -1
- package/dist/esm/providers/hooks/useNavigationContext.js +6 -6
- package/dist/esm/providers/hooks/useNavigationContext.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,72 +1,71 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { createContext as
|
|
3
|
-
import { css as
|
|
1
|
+
import { jsxs as n, jsx as h } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { createContext as s, useState as o, useMemo as a, useEffect as Y } from "react";
|
|
3
|
+
import { css as B } from "@emotion/css";
|
|
4
4
|
import { v4 as N } from "uuid";
|
|
5
|
-
import { theme as g, HvBanner as
|
|
6
|
-
import { useTranslation as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
const v = o({
|
|
5
|
+
import { theme as g, HvBanner as p } from "@hitachivantara/uikit-react-core";
|
|
6
|
+
import { useTranslation as y } from "react-i18next";
|
|
7
|
+
import F from "./hooks/useNavigationContext.js";
|
|
8
|
+
import H from "./hooks/useLayoutContext.js";
|
|
9
|
+
const v = s({
|
|
11
10
|
show: () => {
|
|
12
11
|
},
|
|
13
12
|
dismiss: () => {
|
|
14
13
|
}
|
|
15
|
-
}),
|
|
16
|
-
children:
|
|
14
|
+
}), x = ({
|
|
15
|
+
children: t
|
|
17
16
|
}) => {
|
|
18
17
|
const {
|
|
19
|
-
t:
|
|
20
|
-
} =
|
|
21
|
-
showHeaderSubMenu:
|
|
18
|
+
t: W
|
|
19
|
+
} = y(), {
|
|
20
|
+
showHeaderSubMenu: G,
|
|
22
21
|
isCompactMode: A
|
|
23
|
-
} =
|
|
22
|
+
} = F(), {
|
|
24
23
|
verticalNavigationWidth: m,
|
|
25
|
-
setBannerMaxHeight:
|
|
26
|
-
} =
|
|
27
|
-
const
|
|
24
|
+
setBannerMaxHeight: X
|
|
25
|
+
} = H(), [C, Z] = o([]), u = (I) => {
|
|
26
|
+
const c = {
|
|
28
27
|
id: N(),
|
|
29
28
|
...I,
|
|
30
29
|
variant: I.variant ?? "default"
|
|
31
30
|
};
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
show:
|
|
37
|
-
dismiss:
|
|
31
|
+
Z((l) => [...l, c]);
|
|
32
|
+
}, i = (I) => {
|
|
33
|
+
Z((b) => b.filter((c) => c.id !== I));
|
|
34
|
+
}, V = a(() => ({
|
|
35
|
+
show: u,
|
|
36
|
+
dismiss: i
|
|
38
37
|
}), []);
|
|
39
|
-
|
|
40
|
-
if (
|
|
41
|
-
const I =
|
|
42
|
-
const
|
|
43
|
-
return
|
|
44
|
-
}),
|
|
45
|
-
|
|
38
|
+
Y(() => {
|
|
39
|
+
if (C.length > 0) {
|
|
40
|
+
const I = C.map((c) => {
|
|
41
|
+
const l = document.getElementById(c.id);
|
|
42
|
+
return l ? l.clientHeight : 0;
|
|
43
|
+
}), b = Math.max(...I);
|
|
44
|
+
X(b);
|
|
46
45
|
} else
|
|
47
|
-
|
|
48
|
-
}, [
|
|
49
|
-
const
|
|
50
|
-
marginTop:
|
|
46
|
+
X(0);
|
|
47
|
+
}, [C, X]);
|
|
48
|
+
const d = a(() => /* @__PURE__ */ B({
|
|
49
|
+
marginTop: G && !A ? `calc(${g.header.height} + ${g.header.secondLevelHeight} + ${g.space.sm})` : `calc(${g.header.height} + ${g.space.sm})`,
|
|
51
50
|
left: `calc(${m}px + ${g.space.sm})`,
|
|
52
51
|
width: `calc(100% - (${m}px + ${g.space.sm}) - ${g.space.sm})`,
|
|
53
52
|
transform: "unset",
|
|
54
53
|
minWidth: "unset",
|
|
55
54
|
zIndex: g.zIndices.banner
|
|
56
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:styles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
-
return /* @__PURE__ */
|
|
58
|
-
|
|
59
|
-
anchorOriginTopCenter:
|
|
60
|
-
}, id: I.id, open: !0, onClose: () =>
|
|
55
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:styles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9wcm92aWRlcnMvQmFubmVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlGTSIsImZpbGUiOiIvX193L2h2LWFwcC1zaGVsbC9odi1hcHAtc2hlbGwvY2xpZW50L3BhY2thZ2VzL2FwcC1zaGVsbC11aS9zcmMvcHJvdmlkZXJzL0Jhbm5lclByb3ZpZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuXG5pbXBvcnQgeyBIdkJhbm5lciwgdGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcbmltcG9ydCB7IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvYXBwLXNoZWxsLWV2ZW50c1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHVzZU5hdmlnYXRpb25Db250ZXh0IGZyb20gXCIuL2hvb2tzL3VzZU5hdmlnYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdXNlTGF5b3V0Q29udGV4dCBmcm9tIFwiLi9ob29rcy91c2VMYXlvdXRDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEJhbm5lclByb3ZpZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lciBleHRlbmRzIE9taXQ8SHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uLCBcInR5cGVcIj4ge1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckNvbnRleHRWYWx1ZSB7XG4gIHNob3c6IChub3RpZmljYXRpb246IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgZGlzbWlzczogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYW5uZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxCYW5uZXJDb250ZXh0VmFsdWU+KHtcbiAgc2hvdzogKCkgPT4ge1xuICAgIC8vIEVtcHR5IGZ1bmN0aW9uXG4gIH0sXG4gIGRpc21pc3M6ICgpID0+IHtcbiAgICAvLyBFbXB0eSBmdW5jdGlvblxuICB9XG59KTtcblxuY29uc3QgQmFubmVyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBCYW5uZXJQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgeyBzaG93SGVhZGVyU3ViTWVudSwgaXNDb21wYWN0TW9kZSB9ID0gdXNlTmF2aWdhdGlvbkNvbnRleHQoKTtcbiAgY29uc3QgeyB2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aCwgc2V0QmFubmVyTWF4SGVpZ2h0IH0gPSB1c2VMYXlvdXRDb250ZXh0KCk7XG4gIGNvbnN0IFtiYW5uZXJzLCBzZXRCYW5uZXJzXSA9IHVzZVN0YXRlPEJhbm5lcltdPihbXSk7XG5cbiAgY29uc3Qgc2hvdyA9IChub3RpZmljYXRpb246IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbikgPT4ge1xuICAgIGNvbnN0IGlkID0gdXVpZCgpO1xuXG4gICAgY29uc3QgbmV3QmFubmVyOiBCYW5uZXIgPSB7XG4gICAgICBpZCxcbiAgICAgIC4uLm5vdGlmaWNhdGlvbixcbiAgICAgIHZhcmlhbnQ6IG5vdGlmaWNhdGlvbi52YXJpYW50ID8/IFwiZGVmYXVsdFwiXG4gICAgfTtcbiAgICBzZXRCYW5uZXJzKHByZXZCYW5uZXJzID0+IFsuLi5wcmV2QmFubmVycywgbmV3QmFubmVyXSk7XG4gIH07XG5cbiAgY29uc3QgZGlzbWlzcyA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0QmFubmVycyhwcmV2QmFubmVycyA9PiBwcmV2QmFubmVycy5maWx0ZXIoYmFubmVyID0+IGJhbm5lci5pZCAhPT0gaWQpKTtcbiAgfTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHNob3csXG4gICAgICBkaXNtaXNzXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChiYW5uZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEdldCBhbGwgaGVpZ2h0cyBmcm9tIHRoZSByZW5kZXJlZCBiYW5uZXJzXG4gICAgICBjb25zdCBiYW5uZXJIZWlnaHRzID0gYmFubmVycy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGJhbm5lckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKTtcbiAgICAgICAgcmV0dXJuIGJhbm5lckVsZW1lbnQgPyBiYW5uZXJFbGVtZW50LmNsaWVudEhlaWdodCA6IDA7XG4gICAgICB9KTtcblxuICAgICAgLy8gRmluZCB0aGUgJ3RhbGxlc3QnIGJhbm5lclxuICAgICAgY29uc3QgbWF4QmFubmVySGVpZ2h0ID0gTWF0aC5tYXgoLi4uYmFubmVySGVpZ2h0cyk7XG5cbiAgICAgIC8vIFVwZGF0ZSBwYWRkaW5nIHZhbHVlXG4gICAgICBzZXRCYW5uZXJNYXhIZWlnaHQobWF4QmFubmVySGVpZ2h0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QmFubmVyTWF4SGVpZ2h0KDApO1xuICAgIH1cbiAgfSwgW2Jhbm5lcnMsIHNldEJhbm5lck1heEhlaWdodF0pO1xuXG4gIGNvbnN0IHN0eWxlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGNzcyh7XG4gICAgICAgIG1hcmdpblRvcDpcbiAgICAgICAgICBzaG93SGVhZGVyU3ViTWVudSAmJiAhaXNDb21wYWN0TW9kZVxuICAgICAgICAgICAgPyBgY2FsYygke3RoZW1lLmhlYWRlci5oZWlnaHR9ICsgJHt0aGVtZS5oZWFkZXIuc2Vjb25kTGV2ZWxIZWlnaHR9ICsgJHt0aGVtZS5zcGFjZS5zbX0pYFxuICAgICAgICAgICAgOiBgY2FsYygke3RoZW1lLmhlYWRlci5oZWlnaHR9ICsgJHt0aGVtZS5zcGFjZS5zbX0pYCxcbiAgICAgICAgbGVmdDogYGNhbGMoJHt2ZXJ0aWNhbE5hdmlnYXRpb25XaWR0aH1weCArICR7dGhlbWUuc3BhY2Uuc219KWAsXG4gICAgICAgIHdpZHRoOiBgY2FsYygxMDAlIC0gKCR7dmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHggKyAke3RoZW1lLnNwYWNlLnNtfSkgLSAke3RoZW1lLnNwYWNlLnNtfSlgLFxuICAgICAgICB0cmFuc2Zvcm06IFwidW5zZXRcIixcbiAgICAgICAgbWluV2lkdGg6IFwidW5zZXRcIixcbiAgICAgICAgekluZGV4OiB0aGVtZS56SW5kaWNlcy5iYW5uZXJcbiAgICAgIH0pLFxuICAgIFtpc0NvbXBhY3RNb2RlLCBzaG93SGVhZGVyU3ViTWVudSwgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGhdXG4gICk7XG5cbiAgY29uc3QgY2xvc2VCYW5uZXJMYWJlbCA9IHQoXCJub3RpZmljYXRpb25zLmJhbm5lci5jbG9zZVwiKTtcblxuICByZXR1cm4gKFxuICAgIDxCYW5uZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7YmFubmVycy5tYXAoYmFubmVyID0+IChcbiAgICAgICAgPEh2QmFubmVyXG4gICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgYW5jaG9yT3JpZ2luVG9wQ2VudGVyOiBzdHlsZXNcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPXtiYW5uZXIuaWR9XG4gICAgICAgICAga2V5PXtiYW5uZXIuaWR9XG4gICAgICAgICAgb2Zmc2V0PXswfVxuICAgICAgICAgIG9wZW5cbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBkaXNtaXNzKGJhbm5lci5pZCl9XG4gICAgICAgICAgdmFyaWFudD17YmFubmVyLnZhcmlhbnR9XG4gICAgICAgICAgbGFiZWw9e2Jhbm5lci5tZXNzYWdlfVxuICAgICAgICAgIHNob3dJY29uXG4gICAgICAgICAgYWN0aW9ucz17YmFubmVyLmFjdGlvbnN9XG4gICAgICAgICAgYWN0aW9uc0NhbGxiYWNrPXtiYW5uZXIuYWN0aW9uc0NhbGxiYWNrfVxuICAgICAgICAgIGJhbm5lckNvbnRlbnRQcm9wcz17e1xuICAgICAgICAgICAgYWN0aW9uUHJvcHM6IHsgXCJhcmlhLWxhYmVsXCI6IGNsb3NlQmFubmVyTGFiZWwgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApKX1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0Jhbm5lckNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYW5uZXJQcm92aWRlcjtcbiJdfQ== */"), [A, G, m]), e = W("notifications.banner.close");
|
|
56
|
+
return /* @__PURE__ */ n(v.Provider, { value: V, children: [
|
|
57
|
+
C.map((I) => /* @__PURE__ */ h(p, { classes: {
|
|
58
|
+
anchorOriginTopCenter: d
|
|
59
|
+
}, id: I.id, offset: 0, open: !0, onClose: () => i(I.id), variant: I.variant, label: I.message, showIcon: !0, actions: I.actions, actionsCallback: I.actionsCallback, bannerContentProps: {
|
|
61
60
|
actionProps: {
|
|
62
|
-
"aria-label":
|
|
61
|
+
"aria-label": e
|
|
63
62
|
}
|
|
64
63
|
} }, I.id)),
|
|
65
|
-
|
|
64
|
+
t
|
|
66
65
|
] });
|
|
67
|
-
},
|
|
66
|
+
}, L = x;
|
|
68
67
|
export {
|
|
69
68
|
v as BannerContext,
|
|
70
|
-
|
|
69
|
+
L as default
|
|
71
70
|
};
|
|
72
71
|
//# sourceMappingURL=BannerProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerProvider.js","sources":["../../../src/providers/BannerProvider.tsx"],"sourcesContent":["import { createContext, useEffect, useMemo, useState } from \"react\";\nimport { css } from \"@emotion/css\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { HvBanner, theme } from \"@hitachivantara/uikit-react-core\";\nimport { HvAppShellEventNotification } from \"@hitachivantara/app-shell-events\";\nimport { useTranslation } from \"react-i18next\";\nimport useNavigationContext from \"./hooks/useNavigationContext\";\nimport
|
|
1
|
+
{"version":3,"file":"BannerProvider.js","sources":["../../../src/providers/BannerProvider.tsx"],"sourcesContent":["import { createContext, useEffect, useMemo, useState } from \"react\";\nimport { css } from \"@emotion/css\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { HvBanner, theme } from \"@hitachivantara/uikit-react-core\";\nimport { HvAppShellEventNotification } from \"@hitachivantara/app-shell-events\";\nimport { useTranslation } from \"react-i18next\";\nimport useNavigationContext from \"./hooks/useNavigationContext\";\nimport useLayoutContext from \"./hooks/useLayoutContext\";\n\nexport type BannerProviderProps = {\n children: React.ReactNode;\n};\n\nexport interface Banner extends Omit<HvAppShellEventNotification, \"type\"> {\n id: string;\n}\n\nexport interface BannerContextValue {\n show: (notification: HvAppShellEventNotification) => void;\n dismiss: (id: string) => void;\n}\n\nexport const BannerContext = createContext<BannerContextValue>({\n show: () => {\n // Empty function\n },\n dismiss: () => {\n // Empty function\n }\n});\n\nconst BannerProvider = ({ children }: BannerProviderProps) => {\n const { t } = useTranslation();\n const { showHeaderSubMenu, isCompactMode } = useNavigationContext();\n const { verticalNavigationWidth, setBannerMaxHeight } = useLayoutContext();\n const [banners, setBanners] = useState<Banner[]>([]);\n\n const show = (notification: HvAppShellEventNotification) => {\n const id = uuid();\n\n const newBanner: Banner = {\n id,\n ...notification,\n variant: notification.variant ?? \"default\"\n };\n setBanners(prevBanners => [...prevBanners, newBanner]);\n };\n\n const dismiss = (id: string) => {\n setBanners(prevBanners => prevBanners.filter(banner => banner.id !== id));\n };\n\n const value = useMemo(\n () => ({\n show,\n dismiss\n }),\n []\n );\n\n useEffect(() => {\n if (banners.length > 0) {\n // Get all heights from the rendered banners\n const bannerHeights = banners.map(item => {\n const bannerElement = document.getElementById(item.id);\n return bannerElement ? bannerElement.clientHeight : 0;\n });\n\n // Find the 'tallest' banner\n const maxBannerHeight = Math.max(...bannerHeights);\n\n // Update padding value\n setBannerMaxHeight(maxBannerHeight);\n } else {\n setBannerMaxHeight(0);\n }\n }, [banners, setBannerMaxHeight]);\n\n const styles = useMemo(\n () =>\n css({\n marginTop:\n showHeaderSubMenu && !isCompactMode\n ? `calc(${theme.header.height} + ${theme.header.secondLevelHeight} + ${theme.space.sm})`\n : `calc(${theme.header.height} + ${theme.space.sm})`,\n left: `calc(${verticalNavigationWidth}px + ${theme.space.sm})`,\n width: `calc(100% - (${verticalNavigationWidth}px + ${theme.space.sm}) - ${theme.space.sm})`,\n transform: \"unset\",\n minWidth: \"unset\",\n zIndex: theme.zIndices.banner\n }),\n [isCompactMode, showHeaderSubMenu, verticalNavigationWidth]\n );\n\n const closeBannerLabel = t(\"notifications.banner.close\");\n\n return (\n <BannerContext.Provider value={value}>\n {banners.map(banner => (\n <HvBanner\n classes={{\n anchorOriginTopCenter: styles\n }}\n id={banner.id}\n key={banner.id}\n offset={0}\n open\n onClose={() => dismiss(banner.id)}\n variant={banner.variant}\n label={banner.message}\n showIcon\n actions={banner.actions}\n actionsCallback={banner.actionsCallback}\n bannerContentProps={{\n actionProps: { \"aria-label\": closeBannerLabel }\n }}\n />\n ))}\n {children}\n </BannerContext.Provider>\n );\n};\n\nexport default BannerProvider;\n"],"names":["BannerContext","createContext","show","dismiss","BannerProvider","children","t","useTranslation","showHeaderSubMenu","isCompactMode","useNavigationContext","verticalNavigationWidth","setBannerMaxHeight","useLayoutContext","banners","setBanners","useState","notification","newBanner","id","uuid","variant","prevBanners","filter","banner","value","useMemo","useEffect","length","bannerHeights","map","item","bannerElement","document","getElementById","clientHeight","maxBannerHeight","Math","max","styles","css","marginTop","theme","header","height","secondLevelHeight","space","sm","left","width","transform","minWidth","zIndex","zIndices","process","env","NODE_ENV","closeBannerLabel","jsxs","jsx","HvBanner","anchorOriginTopCenter","message","actions","actionsCallback","actionProps","BannerProvider$1"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useContext as
|
|
2
|
-
import { BannerContext as
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
return
|
|
6
|
-
}
|
|
1
|
+
import { useContext as t } from "react";
|
|
2
|
+
import { BannerContext as e } from "../BannerProvider.js";
|
|
3
|
+
const s = () => {
|
|
4
|
+
const o = t(e);
|
|
5
|
+
return o === void 0 && console.error("BannerContext was used outside of its Provider"), o;
|
|
6
|
+
};
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
s as default
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=useBannerContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBannerContext.js","sources":["../../../../src/providers/hooks/useBannerContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { BannerContext } from \"../BannerProvider\";\n\nconst useBannerContext = () => {\n const context = useContext(BannerContext);\n\n if (context === undefined) {\n console.error(\"BannerContext was used outside of its Provider\");\n }\n\n return context;\n};\n\nexport default useBannerContext;\n"],"names":["useBannerContext","context","useContext","BannerContext","undefined","console","error"
|
|
1
|
+
{"version":3,"file":"useBannerContext.js","sources":["../../../../src/providers/hooks/useBannerContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { BannerContext } from \"../BannerProvider\";\n\nconst useBannerContext = () => {\n const context = useContext(BannerContext);\n\n if (context === undefined) {\n console.error(\"BannerContext was used outside of its Provider\");\n }\n\n return context;\n};\n\nexport default useBannerContext;\n"],"names":["useBannerContext","context","useContext","BannerContext","undefined","console","error"],"mappings":";;AAIA,MAAMA,IAAmBA,MAAM;AACvBC,QAAAA,IAAUC,EAAWC,CAAa;AAExC,SAAIF,MAAYG,UACdC,QAAQC,MAAM,gDAAgD,GAGzDL;AACT;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useContext as
|
|
1
|
+
import { useContext as t } from "react";
|
|
2
2
|
import { LayoutContext as e } from "../LayoutProvider.js";
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
return
|
|
6
|
-
}
|
|
3
|
+
const n = () => {
|
|
4
|
+
const o = t(e);
|
|
5
|
+
return o === void 0 && console.error("LayoutContext was used outside of its Provider"), o;
|
|
6
|
+
};
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
n as default
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=useLayoutContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayoutContext.js","sources":["../../../../src/providers/hooks/useLayoutContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { LayoutContext } from \"../LayoutProvider\";\n\nconst useLayoutContext = () => {\n const context = useContext(LayoutContext);\n\n if (context === undefined) {\n console.error(\"LayoutContext was used outside of its Provider\");\n }\n\n return context;\n};\n\nexport default useLayoutContext;\n"],"names":["useLayoutContext","context","useContext","LayoutContext","undefined","console","error"
|
|
1
|
+
{"version":3,"file":"useLayoutContext.js","sources":["../../../../src/providers/hooks/useLayoutContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { LayoutContext } from \"../LayoutProvider\";\n\nconst useLayoutContext = () => {\n const context = useContext(LayoutContext);\n\n if (context === undefined) {\n console.error(\"LayoutContext was used outside of its Provider\");\n }\n\n return context;\n};\n\nexport default useLayoutContext;\n"],"names":["useLayoutContext","context","useContext","LayoutContext","undefined","console","error"],"mappings":";;AAGA,MAAMA,IAAmBA,MAAM;AACvBC,QAAAA,IAAUC,EAAWC,CAAa;AAExC,SAAIF,MAAYG,UACdC,QAAQC,MAAM,gDAAgD,GAGzDL;AACT;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useContext as
|
|
1
|
+
import { useContext as t } from "react";
|
|
2
2
|
import { NavigationContext as e } from "../NavigationProvider.js";
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
return
|
|
6
|
-
}
|
|
3
|
+
const r = () => {
|
|
4
|
+
const o = t(e);
|
|
5
|
+
return o === void 0 && console.error("NavigationContext was used outside of its Provider"), o;
|
|
6
|
+
};
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
r as default
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=useNavigationContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationContext.js","sources":["../../../../src/providers/hooks/useNavigationContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { NavigationContext } from \"../NavigationProvider\";\n\nconst useNavigationContext = () => {\n const context = useContext(NavigationContext);\n\n if (context === undefined) {\n console.error(\"NavigationContext was used outside of its Provider\");\n }\n\n return context;\n};\n\nexport default useNavigationContext;\n"],"names":["useNavigationContext","context","useContext","NavigationContext","undefined","console","error"
|
|
1
|
+
{"version":3,"file":"useNavigationContext.js","sources":["../../../../src/providers/hooks/useNavigationContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { NavigationContext } from \"../NavigationProvider\";\n\nconst useNavigationContext = () => {\n const context = useContext(NavigationContext);\n\n if (context === undefined) {\n console.error(\"NavigationContext was used outside of its Provider\");\n }\n\n return context;\n};\n\nexport default useNavigationContext;\n"],"names":["useNavigationContext","context","useContext","NavigationContext","undefined","console","error"],"mappings":";;AAIA,MAAMA,IAAuBA,MAAM;AAC3BC,QAAAA,IAAUC,EAAWC,CAAiB;AAE5C,SAAIF,MAAYG,UACdC,QAAQC,MAAM,oDAAoD,GAG7DL;AACT;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/app-shell-ui",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "AppShell Component",
|
|
5
5
|
"author": "Hitachi Vantara - Boba Fett Team",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@emotion/react": "^11.10.5",
|
|
40
40
|
"@emotion/styled": "^11.10.5",
|
|
41
41
|
"@hitachivantara/app-shell-events": "1.0.0",
|
|
42
|
-
"@hitachivantara/app-shell-navigation": "1.2.
|
|
43
|
-
"@hitachivantara/app-shell-shared": "1.
|
|
44
|
-
"@hitachivantara/uikit-react-core": "^5.
|
|
45
|
-
"@hitachivantara/uikit-react-icons": "^5.
|
|
42
|
+
"@hitachivantara/app-shell-navigation": "1.2.2",
|
|
43
|
+
"@hitachivantara/app-shell-shared": "1.2.0",
|
|
44
|
+
"@hitachivantara/uikit-react-core": "^5.59.0",
|
|
45
|
+
"@hitachivantara/uikit-react-icons": "^5.9.2",
|
|
46
46
|
"@mui/material": "^5.12.3",
|
|
47
47
|
"i18next": "^23.7.7",
|
|
48
48
|
"i18next-browser-languagedetector": "^7.0.1",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"vite-plugin-dts": "^3.6.4",
|
|
69
69
|
"vite-tsconfig-paths": "^4.0.5"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "7fedf9071766a5488abbc05366a248645218e383"
|
|
72
72
|
}
|