@hitachivantara/uikit-react-core 5.24.6 → 5.25.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/cjs/components/Badge/Badge.cjs +0 -1
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs +12 -1
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.styles.cjs +1 -5
- package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs +1 -0
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs +2 -2
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs +12 -5
- package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs +31 -34
- package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +10 -5
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs +16 -19
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +13 -7
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs +21 -37
- package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +13 -8
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +20 -17
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +16 -10
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +7 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +10 -6
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +19 -22
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs +8 -5
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs +16 -17
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +74 -49
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +106 -130
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +13 -7
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +36 -36
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
- package/dist/cjs/index.cjs +16 -16
- package/dist/esm/components/Badge/Badge.js +0 -1
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/ColorPicker/ColorPicker.js +12 -1
- package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyState.styles.js +1 -5
- package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.js +1 -0
- package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js +2 -2
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Action.js +15 -7
- package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js +31 -32
- package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js +13 -7
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js +16 -17
- package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +16 -9
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.styles.js +21 -35
- package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +16 -10
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +20 -15
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +16 -10
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +10 -3
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +13 -8
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +19 -20
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js +11 -7
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js +16 -15
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +77 -51
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +106 -128
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +15 -8
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +36 -34
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
- package/dist/esm/index.js +42 -42
- package/dist/types/index.d.ts +243 -174
- package/package.json +5 -5
- package/dist/cjs/components/VerticalNavigation/Actions/actionClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/Actions/actionClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/Actions/actionsClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/Actions/actionsClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/Header/headerClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/Header/headerClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/treeViewClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/TreeView/treeViewClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/treeViewItemClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/TreeView/treeViewItemClasses.cjs.map +0 -1
- package/dist/cjs/components/VerticalNavigation/verticalNavigationClasses.cjs +0 -8
- package/dist/cjs/components/VerticalNavigation/verticalNavigationClasses.cjs.map +0 -1
- package/dist/cjs/utils/transientOptions.cjs +0 -7
- package/dist/cjs/utils/transientOptions.cjs.map +0 -1
- package/dist/esm/components/VerticalNavigation/Actions/actionClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/Actions/actionClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/Actions/actionsClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/Actions/actionsClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/Header/headerClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/Header/headerClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/TreeView/treeViewClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/TreeView/treeViewClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/TreeView/treeViewItemClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/TreeView/treeViewItemClasses.js.map +0 -1
- package/dist/esm/components/VerticalNavigation/verticalNavigationClasses.js +0 -8
- package/dist/esm/components/VerticalNavigation/verticalNavigationClasses.js.map +0 -1
- package/dist/esm/utils/transientOptions.js +0 -7
- package/dist/esm/utils/transientOptions.js.map +0 -1
|
@@ -1,41 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
display: "flex",
|
|
14
|
-
marginTop: "12px",
|
|
15
|
-
alignItems: "center",
|
|
16
|
-
[`&.${verticalNavigationHeaderClasses.minimized}`]: {
|
|
1
|
+
import { createClasses } from "../../../utils/classes.js";
|
|
2
|
+
const {
|
|
3
|
+
staticClasses,
|
|
4
|
+
useClasses
|
|
5
|
+
} = createClasses("HvVerticalNavigationHeader", {
|
|
6
|
+
root: {
|
|
7
|
+
width: "100%",
|
|
8
|
+
display: "flex",
|
|
9
|
+
marginTop: "12px",
|
|
10
|
+
alignItems: "center"
|
|
11
|
+
},
|
|
12
|
+
minimized: {
|
|
17
13
|
justifyContent: "center",
|
|
18
14
|
paddingRight: 0
|
|
15
|
+
},
|
|
16
|
+
collapseButton: {
|
|
17
|
+
marginLeft: "auto",
|
|
18
|
+
"&$minimized": {
|
|
19
|
+
marginLeft: 0
|
|
20
|
+
}
|
|
19
21
|
}
|
|
20
|
-
}
|
|
21
|
-
const StyledCollapseButton = /* @__PURE__ */ _styled(forwardRef((props, ref) => {
|
|
22
|
-
return /* @__PURE__ */ jsx(HvButton, {
|
|
23
|
-
...props,
|
|
24
|
-
ref
|
|
25
|
-
});
|
|
26
|
-
}), process.env.NODE_ENV === "production" ? {
|
|
27
|
-
target: "e1arrhkt0"
|
|
28
|
-
} : {
|
|
29
|
-
target: "e1arrhkt0",
|
|
30
|
-
label: "StyledCollapseButton"
|
|
31
|
-
})({
|
|
32
|
-
marginLeft: "auto",
|
|
33
|
-
[`&.${verticalNavigationHeaderClasses.minimized}`]: {
|
|
34
|
-
marginLeft: 0
|
|
35
|
-
}
|
|
36
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL0hlYWRlci9IZWFkZXIuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQm9DIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL0hlYWRlci9IZWFkZXIuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSHZCdXR0b24sIEh2QnV0dG9uUHJvcHMgfSBmcm9tIFwiQGNvcmUvY29tcG9uZW50cy9CdXR0b25cIjtcbmltcG9ydCB7IFBvbHltb3JwaGljUmVmIH0gZnJvbSBcIkBjb3JlL3R5cGVzL2dlbmVyaWNcIjtcblxuaW1wb3J0IHZlcnRpY2FsTmF2aWdhdGlvbkhlYWRlckNsYXNzZXMgZnJvbSBcIi4vaGVhZGVyQ2xhc3Nlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSGVhZGVyID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgd2lkdGg6IFwiMTAwJVwiLFxuICBkaXNwbGF5OiBcImZsZXhcIixcbiAgbWFyZ2luVG9wOiBcIjEycHhcIixcbiAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcblxuICBbYCYuJHt2ZXJ0aWNhbE5hdmlnYXRpb25IZWFkZXJDbGFzc2VzLm1pbmltaXplZH1gXToge1xuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHBhZGRpbmdSaWdodDogMCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2VCdXR0b24gPSBzdHlsZWQoXG4gIGZvcndhcmRSZWYoKHByb3BzOiBIdkJ1dHRvblByb3BzLCByZWY/OiBQb2x5bW9ycGhpY1JlZjxcImJ1dHRvblwiPikgPT4ge1xuICAgIHJldHVybiA8SHZCdXR0b24gey4uLnByb3BzfSByZWY9e3JlZn0gLz47XG4gIH0pXG4pKHtcbiAgbWFyZ2luTGVmdDogXCJhdXRvXCIsXG5cbiAgW2AmLiR7dmVydGljYWxOYXZpZ2F0aW9uSGVhZGVyQ2xhc3Nlcy5taW5pbWl6ZWR9YF06IHtcbiAgICBtYXJnaW5MZWZ0OiAwLFxuICB9LFxufSk7XG4iXX0= */");
|
|
22
|
+
});
|
|
37
23
|
export {
|
|
38
|
-
|
|
39
|
-
|
|
24
|
+
staticClasses,
|
|
25
|
+
useClasses
|
|
40
26
|
};
|
|
41
27
|
//# sourceMappingURL=Header.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.styles.js","sources":["../../../../../src/components/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Header.styles.js","sources":["../../../../../src/components/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationHeader\",\n {\n root: {\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n collapseButton: {\n marginLeft: \"auto\",\n \"&$minimized\": {\n marginLeft: 0,\n },\n },\n }\n);\n"],"names":["staticClasses","useClasses","createClasses","root","width","display","marginTop","alignItems","minimized","justifyContent","paddingRight","collapseButton","marginLeft"],"mappings":";AAEa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAC3C,8BACA;AAAA,EACEC,MAAM;AAAA,IACJC,OAAO;AAAA,IACPC,SAAS;AAAA,IACTC,WAAW;AAAA,IACXC,YAAY;AAAA,EACd;AAAA,EACAC,WAAW;AAAA,IACTC,gBAAgB;AAAA,IAChBC,cAAc;AAAA,EAChB;AAAA,EACAC,gBAAgB;AAAA,IACdC,YAAY;AAAA,IACZ,eAAe;AAAA,MACbA,YAAY;AAAA,IACd;AAAA,EACF;AACF,CACF;"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { useContext, useState, useCallback, useMemo, useEffect } from "react";
|
|
2
|
-
import { clsx } from "clsx";
|
|
3
2
|
import uniqueId from "lodash/uniqueId";
|
|
4
3
|
import { wrapperTooltip } from "../../../utils/wrapperTooltip.js";
|
|
5
4
|
import { setId } from "../../../utils/setId.js";
|
|
6
5
|
import { useControlled } from "../../../hooks/useControlled.js";
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
6
|
+
import { useClasses } from "./Navigation.styles.js";
|
|
7
|
+
import { staticClasses } from "./Navigation.styles.js";
|
|
9
8
|
import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
|
|
10
9
|
import { getParentItemById } from "../NavigationSlider/utils/NavigationSlider.utils.js";
|
|
11
10
|
import { NavigationPopupContainer } from "../NavigationPopup/NavigationPopupContainer.js";
|
|
@@ -71,7 +70,7 @@ function pathToElement(data, targetId) {
|
|
|
71
70
|
const HvVerticalNavigationTree = ({
|
|
72
71
|
id,
|
|
73
72
|
className,
|
|
74
|
-
classes,
|
|
73
|
+
classes: classesProp,
|
|
75
74
|
data,
|
|
76
75
|
mode = "navigation",
|
|
77
76
|
collapsible = false,
|
|
@@ -84,6 +83,10 @@ const HvVerticalNavigationTree = ({
|
|
|
84
83
|
sliderForwardButtonAriaLabel = "Navigate to submenu",
|
|
85
84
|
...others
|
|
86
85
|
}) => {
|
|
86
|
+
const {
|
|
87
|
+
classes,
|
|
88
|
+
cx
|
|
89
|
+
} = useClasses(classesProp);
|
|
87
90
|
const [selected, setSelected] = useControlled(selectedProp, defaultSelected);
|
|
88
91
|
const [expanded, setExpanded] = useControlled(expandedProp, () => {
|
|
89
92
|
if (defaultExpanded === true) {
|
|
@@ -197,9 +200,11 @@ const HvVerticalNavigationTree = ({
|
|
|
197
200
|
const handleNavigationPopupChange = (event, selectedItem) => {
|
|
198
201
|
handleChange(event, selectedItem.id, selectedItem);
|
|
199
202
|
};
|
|
200
|
-
return /* @__PURE__ */ jsx(
|
|
203
|
+
return /* @__PURE__ */ jsx("nav", {
|
|
201
204
|
id,
|
|
202
|
-
className:
|
|
205
|
+
className: cx(classes.root, {
|
|
206
|
+
[classes.collapsed]: !isOpen && !useIcons
|
|
207
|
+
}, className),
|
|
203
208
|
onMouseLeave: handleStyledNavMouseLeave,
|
|
204
209
|
...others,
|
|
205
210
|
children: slider ? /* @__PURE__ */ jsx(HvVerticalNavigationSlider, {
|
|
@@ -210,7 +215,7 @@ const HvVerticalNavigationTree = ({
|
|
|
210
215
|
forwardButtonAriaLabel: sliderForwardButtonAriaLabel
|
|
211
216
|
}) : /* @__PURE__ */ jsxs(HvVerticalNavigationTreeView, {
|
|
212
217
|
id: setId(id, "tree"),
|
|
213
|
-
className:
|
|
218
|
+
className: classes.list,
|
|
214
219
|
selectable: true,
|
|
215
220
|
mode,
|
|
216
221
|
collapsible,
|
|
@@ -221,9 +226,9 @@ const HvVerticalNavigationTree = ({
|
|
|
221
226
|
children: [useIcons && !isOpen && navigationPopup && /* @__PURE__ */ jsx(NavigationPopupContainer, {
|
|
222
227
|
anchorEl: navigationPopup.anchorEl,
|
|
223
228
|
onClose: handleNavigationPopupClose,
|
|
224
|
-
className:
|
|
229
|
+
className: classes.navigationPopup,
|
|
225
230
|
children: /* @__PURE__ */ jsx(HvVerticalNavigationTree, {
|
|
226
|
-
className:
|
|
231
|
+
className: classes.popup,
|
|
227
232
|
id: setId(id, "navigation-popup-tree"),
|
|
228
233
|
collapsible: true,
|
|
229
234
|
defaultExpanded: true,
|
|
@@ -237,6 +242,7 @@ const HvVerticalNavigationTree = ({
|
|
|
237
242
|
});
|
|
238
243
|
};
|
|
239
244
|
export {
|
|
240
|
-
HvVerticalNavigationTree
|
|
245
|
+
HvVerticalNavigationTree,
|
|
246
|
+
staticClasses as verticalNavigationTreeClasses
|
|
241
247
|
};
|
|
242
248
|
//# sourceMappingURL=Navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useMemo, useContext, useEffect, useState } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"../VerticalNavigationContext\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /** Aria label to apply to the navigate to submenu button on the navigation slider list items. */\n sliderForwardButtonAriaLabel?: string;\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n forwardButtonAriaLabel={sliderForwardButtonAriaLabel}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n >\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","sliderForwardButtonAriaLabel","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","handleNavigationPopupMouseLeave","handleNavigationPopupChange","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","_jsxs","HvVerticalNavigationTreeView","list","NavigationPopupContainer","onClose","popup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Navigation.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useMemo, useContext, useEffect, useState } from \"react\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport { staticClasses, useClasses } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"../VerticalNavigationContext\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\n\nexport { staticClasses as verticalNavigationTreeClasses };\n\nexport type HvVerticalNavigationTreeClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /** Aria label to apply to the navigate to submenu button on the navigation slider list items. */\n sliderForwardButtonAriaLabel?: string;\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes: classesProp,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <nav\n id={id}\n className={cx(\n classes.root,\n { [classes.collapsed]: !isOpen && !useIcons },\n className\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n forwardButtonAriaLabel={sliderForwardButtonAriaLabel}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={classes.navigationPopup}\n >\n <HvVerticalNavigationTree\n className={classes.popup}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </nav>\n );\n};\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","classesProp","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","sliderForwardButtonAriaLabel","others","cx","useClasses","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","handleNavigationPopupMouseLeave","handleNavigationPopupChange","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","_jsxs","HvVerticalNavigationTreeView","list","NavigationPopupContainer","onClose","popup"],"mappings":";;;;;;;;;;;;;;AAmGA,MAAMA,sBAAsBA,CAC1BC,OACAC,IACAC,SACAC,mBACAC,iBAAiB,UAEjBJ,MAAMK,IAAKC,CAAS,SAAA;AACZ,QAAA;AAAA,IACJL,IAAIM;AAAAA,IACJC,OAAOC;AAAAA,IACPC;AAAAA,IACAC,MAAMC;AAAAA,IACNC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EACEV,IAAAA;AAEJ,QAAMW,WAAWC,eAAe,MAAMT,WAAWA,SAAS;AAE1D,QAAMU,wBAAyBC,CAAU,UAAA;AACvCjB,2DAAoBiB,OAAOd;AAAAA,EAAI;AAGjC,6BACGe,kCAAgC;AAAA,IAC/BpB,IAAIqB,MAAMrB,IAAIM,MAAM;AAAA,IACpBgB,WAAWrB,mCAASsB;AAAAA,IACpBT;AAAAA,IACAC;AAAAA,IAEAS,QAAQlB;AAAAA,IACRC,OAAOkB,oBAACT,YAAU;AAAA,IAClBP;AAAAA,IACAiB,SAASrB;AAAAA,IACTO;AAAAA,IACAC;AAAAA,IACAc,cAAcT;AAAAA,IACdf;AAAAA,IAA+BQ,UAE9BA,WACGb,oBACEa,UACAX,IACAC,SACAC,mBACAC,cACF,IACAyB;AAAAA,KAlBCtB,MAmB2B;AAEtC,CAAC;AAEH,MAAMuB,gBAAiB9B,CAAU,UAAA;AACzB+B,QAAAA,UAAU/B,MAAMgC,OACnB1B,CAASA,SAAAA,KAAKK,QAAQ,QAAQL,KAAKK,KAAKsB,SAAS,CACpD;AACA,QAAMC,eAAeH,QAAQI,QAAS7B,UAASwB,cAAcxB,KAAKK,IAAI,CAAC;AAEvE,SAAO,CAAC,GAAGoB,SAAS,GAAGG,YAAY;AACrC;AAEA,SAASE,cAAczB,MAAM0B,UAAU;AACrC,QAAMC,OAAiB,CAAA;AAEvB,MAAI3B,QAAQ,QAAQA,KAAKsB,SAAS,GAAG;AACnC,aAASM,IAAI,GAAGA,MAAM5B,KAAKsB,QAAQ,EAAEM,GAAG;AAChCjC,YAAAA,OAAOK,KAAK4B,CAAC;AACfjC,UAAAA,KAAKL,OAAOoC,UAAU;AACnBG,aAAAA,KAAKlC,KAAKL,EAAE;AACjB;AAAA,MACF;AAEA,YAAMwC,WAAWL,cAAc9B,KAAKK,MAAM0B,QAAQ;AAC9CI,UAAAA,SAASR,SAAS,GAAG;AAClBO,aAAAA,KAAKlC,KAAKL,EAAE;AACZuC,aAAAA,KAAK,GAAGC,QAAQ;AACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEOH,SAAAA;AACT;AAEO,MAAMI,2BAA2BA,CAAC;AAAA,EACvCzC;AAAAA,EAEAsB;AAAAA,EACArB,SAASyC;AAAAA,EAEThC;AAAAA,EAEAiC,OAAO;AAAA,EAEPC,cAAc;AAAA,EACdC,UAAUC;AAAAA,EACVC;AAAAA,EACAC;AAAAA,EAEAC,UAAUC;AAAAA,EACVC;AAAAA,EACAC;AAAAA,EAEAC,+BAA+B;AAAA,EAE/B,GAAGC;AAC0B,MAAM;AAC7B,QAAA;AAAA,IAAErD;AAAAA,IAASsD;AAAAA,EAAAA,IAAOC,WAAWd,WAAW;AAE9C,QAAM,CAACO,UAAUQ,WAAW,IAAIC,cAAcR,cAAcC,eAAe;AAC3E,QAAM,CAACN,UAAUc,WAAW,IAAID,cAAcZ,cAAc,MAAM;AAChE,QAAIC,oBAAoB,MAAM;AAE5B,aAAOlB,cAAcnB,IAAI,EAAEN,IAAKC,CAAAA,SAASA,KAAKL,EAAE;AAAA,IAClD;AAEA,QAAI+C,oBAAoB,OAAO;AAE7B,aAAO;IACT;AAEA,QAAIA,mBAAmB,MAAM;AAC3B,UAAIE,YAAY,MAAM;AAEdZ,cAAAA,OAAOF,cAAczB,MAAMuC,QAAQ;AAClCZ,eAAAA,KAAKuB,MAAM,GAAG,EAAE;AAAA,MACzB;AAGA,aAAO;IACT;AAEOb,WAAAA;AAAAA,EAAAA,CACR;AAEK,QAAA;AAAA,IACJc;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,WAAWC,yBAAyB;AAExC,QAAM,CAACC,iBAAiBC,kBAAkB,IAAIC,SAMpC,IAAI;AAEd,QAAMC,eAAeC,YACnB,CAACzD,OAAO0D,YAAYC,iBAAiB;AACnC,QAAIhB,YAAY,CAACD,UAAUiB,aAAapE,MAAM;AAC5C,YAAMqE,qBAAqB5D,MAAM6D;AACjCP,yBAAoBQ,CAAc,cAAA;AAEzBA,gBAAAA,uCAAWC,cAAaH,qBAC3B,OACA;AAAA,UACEI,WAAWC,SAAS;AAAA,UACpBF,UAAUH;AAAAA,UACVM,WAAW;AAAA,UACX3E,MAAMoE,aAAapE;AAAAA,QAAAA;AAAAA,MACrB,CACL;AAGDS,YAAMmE,gBAAgB;AAAA,IAAA,OACjB;AACL7B,kBAAYoB,UAAU;AACtBlB,kBAAasB,CAAc,cAAA;AACzB,YAAI,CAACpB,QAAQ;AACX,iBAAO,CAAC,GAAGoB,WAAW,GAAG9C,cAAczB,MAAMmE,UAAU,CAAC;AAAA,QAC1D;AACO,eAAA,CAAC,GAAGI,SAAS;AAAA,MAAA,CACrB;AACDR,yBAAmB,IAAI;AACvB,UAAIrB,UAAU;AACZA,iBAASjC,OAAO2D,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EAAA,GAEF,CAAC1B,UAAUK,aAAaE,aAAaE,QAAQC,UAAUpD,IAAI,CAC7D;AAEA,QAAM6E,gCAAgCX,YACpC,CAACzD,OAAOd,SAAS;AACTmF,UAAAA,cAAc1B,YAAY,CAACD;AAEjC,QAAI2B,eAAenF,KAAKK,QAAQ,EAAC8D,mDAAiBa,YAAW;AAC3D,YAAMN,qBAAqB5D,MAAM6D;AAEZ,+DAAA;AAAA,QACnBG,WAAWC,SAAS;AAAA,QACpBF,UAAUH;AAAAA,QACVM,WAAW;AAAA,QACX3E,MAAML,KAAKK;AAAAA,MAAAA;AAAAA,IACZ,WACQ8E,eAAe,CAACnF,KAAKK,QAAQ,EAAC8D,mDAAiBa,YAAW;AACnEZ,yBAAmB,IAAI;AAAA,IACzB;AAAA,EAEF,GAAA,CAACZ,QAAQC,UAAUU,eAAe,CACpC;AAEA,QAAMiB,eAAeb,YACnB,CAACzD,OAAOuE,gBAAgB;AACtB/B,gBAAY+B,WAAW;AAEvB,QAAI1C,UAAU;AACZA,eAAS7B,OAAOuE,WAAW;AAAA,IAC7B;AAAA,EAAA,GAEF,CAAC1C,UAAUW,WAAW,CACxB;AAEA,QAAMhD,WAAWgF,QACf,MACEjF,QACAZ,oBACEY,MACAV,IACAC,SACAsF,+BACAf,mDAAiBa,SACnB,GACF,CAACpF,SAASS,MAAMV,IAAIwE,iBAAiBe,6BAA6B,CACpE;AAEAK,YAAU,MAAM;AACd,QAAI,CAAC/B,QAAQ;AACXY,+DAAqB;AAAA,IACvB;AAAA,EAAA,GACC,CAACZ,MAAM,CAAC;AAEX+B,YAAU,MAAM;AACVvB,QAAAA;AAAmBA,wBAAkBpB,QAAQ;AAAA,EAChD,GAAA,CAACA,UAAUQ,aAAaY,iBAAiB,CAAC;AAE7CuB,YAAU,MAAM;AACVxB,QAAAA;AAAeA,oBAAc1D,IAAI;AAAA,EAAA,GACpC,CAACA,MAAM0D,aAAa,CAAC;AAExBwB,YAAU,MAAM;AACd,QACE1B,kBACAjB,YACAgB,iBACA4B,kBAAkB3B,gBAAgBjB,QAAQ,GAC1C;AACc4C,oBAAAA,kBAAkB3B,gBAAgBjB,QAAQ,CAAC;AAAA,IAC3D;AAAA,EACC,GAAA,CAACiB,gBAAgBjB,UAAUgB,aAAa,CAAC;AAGtC6B,QAAAA,0BAA0BA,CAAC3E,OAAO2D,iBAAiB;AAC1C3D,iBAAAA,OAAO2D,aAAa9E,IAAI8E,YAAY;AAAA,EAAA;AAGnD,QAAMiB,6BAA6BA,MAAM;AACvCtB,uBAAmB,IAAI;AAAA,EAAA;AAGzB,QAAMuB,4BAA4BA,MAAM;AACtC,QAAIlC,YAAY,CAACD,UAAU,EAACW,mDAAiBa,YAAW;AACtDZ,yBAAmB,IAAI;AAAA,IACzB;AAAA,EAAA;AAGF,QAAMwB,kCAAkCA,MAAM;AACxC,QAAA,EAACzB,mDAAiBa,YAAW;AACJ;IAC7B;AAAA,EAAA;AAGIa,QAAAA,8BAA8BA,CAAC/E,OAAO2D,iBAAiB;AAC9C3D,iBAAAA,OAAO2D,aAAa9E,IAAI8E,YAAY;AAAA,EAAA;AAGnD,6BACE,OAAA;AAAA,IACE9E;AAAAA,IACAsB,WAAWiC,GACTtD,QAAQkG,MACR;AAAA,MAAE,CAAClG,QAAQmG,SAAS,GAAG,CAACvC,UAAU,CAACC;AAAAA,OACnCxC,SACF;AAAA,IACA+E,cAAcL;AAAAA,IAA0B,GACpC1C;AAAAA,IAAM3C,UAEToD,SACCtC,oBAAC6E,4BAA0B;AAAA,MACzB5F,MAAMsD,WAAWtD,QAAQwD;AAAAA,MACzBjB;AAAAA,MACAsD,oBAAoBT;AAAAA,MACpBU,mBAAmBrC;AAAAA,MACnBsC,wBAAwBpD;AAAAA,IAAAA,CACzB,IAEDqD,qBAACC,8BAA4B;AAAA,MAC3B3G,IAAIqB,MAAMrB,IAAI,MAAM;AAAA,MACpBsB,WAAWrB,QAAQ2G;AAAAA,MACnBhG,YAAU;AAAA,MACV+B;AAAAA,MACAC;AAAAA,MACAK;AAAAA,MACAG,UAAUuB;AAAAA,MACV9B;AAAAA,MACAG,UAAUyC;AAAAA,MAAa9E,UAAA,CAEtBmD,YAAY,CAACD,UAAUW,uCACrBqC,0BAAwB;AAAA,QACvB3B,UAAUV,gBAAgBU;AAAAA,QAC1B4B,SAASf;AAAAA,QAETzE,WAAWrB,QAAQuE;AAAAA,QAAgB7D,8BAElC8B,0BAAwB;AAAA,UACvBnB,WAAWrB,QAAQ8G;AAAAA,UACnB/G,IAAIqB,MAAMrB,IAAI,uBAAuB;AAAA,UACrC4C,aAAW;AAAA,UACXG,iBAAe;AAAA,UACfE;AAAAA,UACAvC,MAAM8D,gBAAgB9D;AAAAA,UACtB0C,UAAU8C;AAAAA,UACVG,cAAcJ;AAAAA,QAAAA,CACf;AAAA,MAAA,GAZIzB,gBAAgBW,SAaG,GAE3BxE,QAAQ;AAAA,IAAA,CACmB;AAAA,EAAA,CAE7B;AAET;"}
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createClasses } from "../../../utils/classes.js";
|
|
2
2
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
const {
|
|
4
|
+
staticClasses,
|
|
5
|
+
useClasses
|
|
6
|
+
} = createClasses("HvVerticalNavigationTree", {
|
|
7
|
+
root: {
|
|
8
|
+
display: "block",
|
|
9
|
+
background: theme.colors.atmo1,
|
|
10
|
+
overflowY: "auto"
|
|
11
|
+
},
|
|
12
|
+
list: {},
|
|
13
|
+
listItem: {},
|
|
14
|
+
collapsed: {
|
|
14
15
|
display: "none"
|
|
15
16
|
},
|
|
16
|
-
|
|
17
|
+
popup: {
|
|
18
|
+
boxShadow: "inset 5px 0 5px -3px rgb(65 65 65 / 12%)"
|
|
19
|
+
},
|
|
20
|
+
navigationPopup: {
|
|
17
21
|
boxShadow: "inset 5px 0 5px -3px rgb(65 65 65 / 12%)"
|
|
18
22
|
}
|
|
19
|
-
}
|
|
23
|
+
});
|
|
20
24
|
export {
|
|
21
|
-
|
|
25
|
+
staticClasses,
|
|
26
|
+
useClasses
|
|
22
27
|
};
|
|
23
28
|
//# sourceMappingURL=Navigation.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.styles.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.styles.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Navigation.styles.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils/classes\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationTree\",\n {\n root: {\n display: \"block\",\n background: theme.colors.atmo1,\n\n overflowY: \"auto\",\n },\n list: {},\n listItem: {},\n collapsed: {\n display: \"none\",\n },\n popup: {\n boxShadow: \"inset 5px 0 5px -3px rgb(65 65 65 / 12%)\",\n },\n navigationPopup: {\n boxShadow: \"inset 5px 0 5px -3px rgb(65 65 65 / 12%)\",\n },\n }\n);\n"],"names":["staticClasses","useClasses","createClasses","root","display","background","theme","colors","atmo1","overflowY","list","listItem","collapsed","popup","boxShadow","navigationPopup"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAC3C,4BACA;AAAA,EACEC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAYC,MAAMC,OAAOC;AAAAA,IAEzBC,WAAW;AAAA,EACb;AAAA,EACAC,MAAM,CAAC;AAAA,EACPC,UAAU,CAAC;AAAA,EACXC,WAAW;AAAA,IACTR,SAAS;AAAA,EACX;AAAA,EACAS,OAAO;AAAA,IACLC,WAAW;AAAA,EACb;AAAA,EACAC,iBAAiB;AAAA,IACfD,WAAW;AAAA,EACb;AACF,CACF;"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { createClasses } from "../../../utils/classes.js";
|
|
2
3
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
3
4
|
import { Popper } from "@mui/base";
|
|
4
|
-
const StyledPopupContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
|
|
5
|
-
target: "es2o9lp1"
|
|
6
|
-
} : {
|
|
7
|
-
target: "es2o9lp1",
|
|
8
|
-
label: "StyledPopupContainer"
|
|
9
|
-
})({
|
|
10
|
-
marginLeft: theme.spacing("xs")
|
|
11
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL05hdmlnYXRpb25Qb3B1cC9OYXZpZ2F0aW9uUG9wdXAuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLNkIiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvaHYtdWlraXQtcmVhY3QvaHYtdWlraXQtcmVhY3QvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9WZXJ0aWNhbE5hdmlnYXRpb24vTmF2aWdhdGlvblBvcHVwL05hdmlnYXRpb25Qb3B1cC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5cbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IFBvcHBlciB9IGZyb20gXCJAbXVpL2Jhc2VcIjtcblxuY29uc3QgU3R5bGVkUG9wdXBDb250YWluZXIgPSBzdHlsZWQoXCJkaXZcIikoe1xuICBtYXJnaW5MZWZ0OiB0aGVtZS5zcGFjaW5nKFwieHNcIiksXG59KTtcblxuY29uc3QgU3R5bGVkUG9wcGVyID0gc3R5bGVkKFBvcHBlcikoe1xuICB6SW5kZXg6IHRoZW1lLnpJbmRpY2VzLnBvcG92ZXIsXG59KTtcblxuZXhwb3J0IHsgU3R5bGVkUG9wdXBDb250YWluZXIsIFN0eWxlZFBvcHBlciB9O1xuIl19 */");
|
|
12
5
|
const StyledPopper = /* @__PURE__ */ _styled(Popper, process.env.NODE_ENV === "production" ? {
|
|
13
6
|
target: "es2o9lp0"
|
|
14
7
|
} : {
|
|
@@ -16,9 +9,22 @@ const StyledPopper = /* @__PURE__ */ _styled(Popper, process.env.NODE_ENV === "p
|
|
|
16
9
|
label: "StyledPopper"
|
|
17
10
|
})({
|
|
18
11
|
zIndex: theme.zIndices.popover
|
|
19
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
12
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL05hdmlnYXRpb25Qb3B1cC9OYXZpZ2F0aW9uUG9wdXAuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNcUIiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvaHYtdWlraXQtcmVhY3QvaHYtdWlraXQtcmVhY3QvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9WZXJ0aWNhbE5hdmlnYXRpb24vTmF2aWdhdGlvblBvcHVwL05hdmlnYXRpb25Qb3B1cC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2xhc3NlcyB9IGZyb20gXCJAY29yZS91dGlscy9jbGFzc2VzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcblxuaW1wb3J0IHsgdGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXN0eWxlc1wiO1xuaW1wb3J0IHsgUG9wcGVyIH0gZnJvbSBcIkBtdWkvYmFzZVwiO1xuXG5jb25zdCBTdHlsZWRQb3BwZXIgPSBzdHlsZWQoUG9wcGVyKSh7XG4gIHpJbmRleDogdGhlbWUuekluZGljZXMucG9wb3Zlcixcbn0pO1xuXG5leHBvcnQgeyBTdHlsZWRQb3BwZXIgfTtcblxuZXhwb3J0IGNvbnN0IHsgc3RhdGljQ2xhc3NlcywgdXNlQ2xhc3NlcyB9ID0gY3JlYXRlQ2xhc3NlcyhcbiAgXCJIdlZlcnRpY2FsTmF2aWdhdGlvblBvcHVwXCIsXG4gIHtcbiAgICBwb3B1cDoge30sXG4gICAgY29udGFpbmVyOiB7XG4gICAgICBtYXJnaW5MZWZ0OiB0aGVtZS5zcGFjaW5nKFwieHNcIiksXG4gICAgfSxcbiAgICBwb3BwZXI6IHtcbiAgICAgIHpJbmRleDogdGhlbWUuekluZGljZXMucG9wb3ZlcixcbiAgICB9LFxuICB9XG4pO1xuIl19 */");
|
|
13
|
+
const {
|
|
14
|
+
staticClasses,
|
|
15
|
+
useClasses
|
|
16
|
+
} = createClasses("HvVerticalNavigationPopup", {
|
|
17
|
+
popup: {},
|
|
18
|
+
container: {
|
|
19
|
+
marginLeft: theme.spacing("xs")
|
|
20
|
+
},
|
|
21
|
+
popper: {
|
|
22
|
+
zIndex: theme.zIndices.popover
|
|
23
|
+
}
|
|
24
|
+
});
|
|
20
25
|
export {
|
|
21
26
|
StyledPopper,
|
|
22
|
-
|
|
27
|
+
staticClasses,
|
|
28
|
+
useClasses
|
|
23
29
|
};
|
|
24
30
|
//# sourceMappingURL=NavigationPopup.styles.js.map
|
package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopup.styles.js","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { Popper } from \"@mui/base\";\n\nconst
|
|
1
|
+
{"version":3,"file":"NavigationPopup.styles.js","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils/classes\";\nimport styled from \"@emotion/styled\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { Popper } from \"@mui/base\";\n\nconst StyledPopper = styled(Popper)({\n zIndex: theme.zIndices.popover,\n});\n\nexport { StyledPopper };\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationPopup\",\n {\n popup: {},\n container: {\n marginLeft: theme.spacing(\"xs\"),\n },\n popper: {\n zIndex: theme.zIndices.popover,\n },\n }\n);\n"],"names":["StyledPopper","Popper","process","env","NODE_ENV","target","label","zIndex","theme","zIndices","popover","staticClasses","useClasses","createClasses","popup","container","marginLeft","spacing","popper"],"mappings":";;;;AAMA,MAAMA,eAAsBC,wBAAAA,QAAMC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAClCC,QAAQC,MAAMC,SAASC;AACzB,GAACR,QAAAC,IAAAC,aAAC,eAAA,KAAA,yxCAAA;AAIW,MAAA;AAAA,EAAEO;AAAAA,EAAeC;AAAW,IAAIC,cAC3C,6BACA;AAAA,EACEC,OAAO,CAAC;AAAA,EACRC,WAAW;AAAA,IACTC,YAAYR,MAAMS,QAAQ,IAAI;AAAA,EAChC;AAAA,EACAC,QAAQ;AAAA,IACNX,QAAQC,MAAMC,SAASC;AAAAA,EACzB;AACF,CACF;"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { ClickAwayListener } from "@mui/material";
|
|
2
2
|
import { HvVerticalNavigation } from "../VerticalNavigation.js";
|
|
3
|
-
import {
|
|
3
|
+
import { useClasses, StyledPopper } from "./NavigationPopup.styles.js";
|
|
4
|
+
import { staticClasses } from "./NavigationPopup.styles.js";
|
|
4
5
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
5
6
|
const NavigationPopupContainer = ({
|
|
6
7
|
anchorEl,
|
|
7
8
|
onClose,
|
|
8
9
|
children,
|
|
10
|
+
classes: classesProp,
|
|
9
11
|
...others
|
|
10
12
|
}) => {
|
|
13
|
+
const {
|
|
14
|
+
classes
|
|
15
|
+
} = useClasses(classesProp);
|
|
11
16
|
const handleClickAway = () => {
|
|
12
17
|
onClose == null ? void 0 : onClose();
|
|
13
18
|
};
|
|
@@ -18,7 +23,8 @@ const NavigationPopupContainer = ({
|
|
|
18
23
|
...others,
|
|
19
24
|
children: /* @__PURE__ */ jsx(ClickAwayListener, {
|
|
20
25
|
onClickAway: handleClickAway,
|
|
21
|
-
children: /* @__PURE__ */ jsx(
|
|
26
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
27
|
+
className: classes.container,
|
|
22
28
|
children: /* @__PURE__ */ jsx(HvVerticalNavigation, {
|
|
23
29
|
open: true,
|
|
24
30
|
useIcons: true,
|
|
@@ -29,6 +35,7 @@ const NavigationPopupContainer = ({
|
|
|
29
35
|
});
|
|
30
36
|
};
|
|
31
37
|
export {
|
|
32
|
-
NavigationPopupContainer
|
|
38
|
+
NavigationPopupContainer,
|
|
39
|
+
staticClasses as verticalNavigationPopupClasses
|
|
33
40
|
};
|
|
34
41
|
//# sourceMappingURL=NavigationPopupContainer.js.map
|
package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopupContainer.js","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { HvVerticalNavigation } from \"../VerticalNavigation\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"NavigationPopupContainer.js","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvVerticalNavigation } from \"../VerticalNavigation\";\n\nimport {\n StyledPopper,\n staticClasses,\n useClasses,\n} from \"./NavigationPopup.styles\";\n\nexport { staticClasses as verticalNavigationPopupClasses };\n\nexport type HvVerticalNavigationPopupClasses = ExtractNames<typeof useClasses>;\n\nexport interface NavigationPopupContainerProps extends HvBaseProps {\n anchorEl?: HTMLElement | null;\n onClose?: () => void;\n classes?: HvVerticalNavigationPopupClasses;\n}\n\nexport const NavigationPopupContainer = ({\n anchorEl,\n onClose,\n children,\n classes: classesProp,\n ...others\n}: NavigationPopupContainerProps) => {\n const { classes } = useClasses(classesProp);\n\n const handleClickAway = () => {\n onClose?.();\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <div className={classes.container}>\n <HvVerticalNavigation open useIcons>\n {children}\n </HvVerticalNavigation>\n </div>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["NavigationPopupContainer","anchorEl","onClose","children","classes","classesProp","others","useClasses","handleClickAway","StyledPopper","open","placement","ClickAwayListener","onClickAway","className","container","HvVerticalNavigation","useIcons"],"mappings":";;;;;AAuBO,MAAMA,2BAA2BA,CAAC;AAAA,EACvCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,SAASC;AAAAA,EACT,GAAGC;AAC0B,MAAM;AAC7B,QAAA;AAAA,IAAEF;AAAAA,EAAAA,IAAYG,WAAWF,WAAW;AAE1C,QAAMG,kBAAkBA,MAAM;AAClB;AAAA,EAAA;AAGZ,6BACGC,cAAY;AAAA,IAACC,MAAI;AAAA,IAACT;AAAAA,IAAoBU,WAAU;AAAA,IAAa,GAAKL;AAAAA,IAAMH,8BACtES,mBAAiB;AAAA,MAACC,aAAaL;AAAAA,MAAgBL,8BAC9C,OAAA;AAAA,QAAKW,WAAWV,QAAQW;AAAAA,QAAUZ,8BAC/Ba,sBAAoB;AAAA,UAACN,MAAI;AAAA,UAACO,UAAQ;AAAA,UAAAd;AAAAA,QAAAA,CAEb;AAAA,MAAA,CACnB;AAAA,IAAA,CACY;AAAA,EAAA,CACP;AAElB;"}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
import { DropRightXS } from "@hitachivantara/uikit-react-icons";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import verticalNavigationSliderClasses from "./navigationSliderClasses.js";
|
|
2
|
+
import { useClasses } from "./NavigationSlider.styles.js";
|
|
3
|
+
import { staticClasses } from "./NavigationSlider.styles.js";
|
|
5
4
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
6
5
|
import { HvButton } from "../../Button/Button.js";
|
|
7
6
|
import { HvListContainer } from "../../ListContainer/ListContainer.js";
|
|
7
|
+
import { HvListItem } from "../../ListContainer/ListItem/ListItem.js";
|
|
8
8
|
import { HvOverflowTooltip } from "../../OverflowTooltip/OverflowTooltip.js";
|
|
9
9
|
const HvVerticalNavigationSlider = ({
|
|
10
10
|
id,
|
|
11
|
-
classes,
|
|
11
|
+
classes: classesProp,
|
|
12
12
|
data,
|
|
13
13
|
selected,
|
|
14
14
|
onNavigateToTarget,
|
|
15
15
|
onNavigateToChild,
|
|
16
16
|
forwardButtonAriaLabel = "Navigate to submenu"
|
|
17
17
|
}) => {
|
|
18
|
+
const {
|
|
19
|
+
classes
|
|
20
|
+
} = useClasses(classesProp);
|
|
18
21
|
return /* @__PURE__ */ jsx(HvListContainer, {
|
|
19
22
|
interactive: true,
|
|
20
23
|
id,
|
|
21
|
-
children: data && data.map((item) => /* @__PURE__ */ jsx(
|
|
24
|
+
children: data && data.map((item) => /* @__PURE__ */ jsx(HvListItem, {
|
|
22
25
|
classes: {
|
|
23
|
-
root: classes
|
|
24
|
-
selected:
|
|
26
|
+
root: classes.root,
|
|
27
|
+
selected: classes.listItemSelected,
|
|
28
|
+
focus: classes.listItemFocus
|
|
25
29
|
},
|
|
26
30
|
onClick: (event) => {
|
|
27
31
|
onNavigateToTarget == null ? void 0 : onNavigateToTarget(event, item);
|
|
@@ -47,6 +51,7 @@ const HvVerticalNavigationSlider = ({
|
|
|
47
51
|
});
|
|
48
52
|
};
|
|
49
53
|
export {
|
|
50
|
-
HvVerticalNavigationSlider
|
|
54
|
+
HvVerticalNavigationSlider,
|
|
55
|
+
staticClasses as verticalNavigationSliderClasses
|
|
51
56
|
};
|
|
52
57
|
//# sourceMappingURL=NavigationSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationSlider.js","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"NavigationSlider.js","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvListContainer, HvListItem } from \"@core/components/ListContainer\";\nimport { HvOverflowTooltip } from \"@core/components/OverflowTooltip\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { NavigationData } from \"../VerticalNavigationContext\";\n\nimport { staticClasses, useClasses } from \"./NavigationSlider.styles\";\n\nexport { staticClasses as verticalNavigationSliderClasses };\n\nexport type HvVerticalNavigationSliderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n /** Aria label to apply to the navigate to submenu button on the list items. */\n forwardButtonAriaLabel?: string;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes: classesProp,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n forwardButtonAriaLabel = \"Navigate to submenu\",\n}: HvVerticalNavigationSliderProps) => {\n const { classes } = useClasses(classesProp);\n\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <HvListItem\n key={item.id}\n classes={{\n root: classes.root,\n selected: classes.listItemSelected,\n focus: classes.listItemFocus,\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n aria-label={forwardButtonAriaLabel}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </HvListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","classesProp","data","selected","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","useClasses","HvListContainer","interactive","children","map","item","HvListItem","root","listItemSelected","focus","listItemFocus","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;AAyDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,SAASC;AAAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,yBAAyB;AACM,MAAM;AAC/B,QAAA;AAAA,IAAEN;AAAAA,EAAAA,IAAYO,WAAWN,WAAW;AAE1C,6BACGO,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACV;AAAAA,IAAOW,UACjCR,QACCA,KAAKS,IAAKC,CAAAA,6BACPC,YAAU;AAAA,MAETb,SAAS;AAAA,QACPc,MAAMd,QAAQc;AAAAA,QACdX,UAAUH,QAAQe;AAAAA,QAClBC,OAAOhB,QAAQiB;AAAAA,MACjB;AAAA,MACAC,SAAUC,CAAU,UAAA;AAClBf,iEAAqBe,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEjB,aAAaS,KAAKb,KAAMa,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDnB,UAAUA,aAAaS,KAAKb;AAAAA,MAC5BwB,gBAAgBX,KAAKY,OAAOC,oBAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKV,QAAQU,KAAKV,KAAKyB,SAAS,wBAC7BC,UAAQ;AAAA,QACPJ,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBd,iEAAoBc,OAAOP;AAAAA,QAC7B;AAAA,QACA,cAAYN;AAAAA,QAAuBI,UAEnCe,oBAACI,aAAa,EAAA;AAAA,MACN,CAAA,IACRP;AAAAA,MACLZ,8BAEAoB,mBAAiB;AAAA,QAAC5B,MAAMU,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA7BjCR,KAAKb,EA8BA,CACb;AAAA,EAAA,CACY;AAErB;"}
|
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
import _styled from "@emotion/styled/base";
|
|
2
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
marginLeft: "auto"
|
|
2
|
+
import { createClasses } from "../../../utils/classes.js";
|
|
3
|
+
const {
|
|
4
|
+
staticClasses,
|
|
5
|
+
useClasses
|
|
6
|
+
} = createClasses("HvVerticalNavigationSlider", {
|
|
7
|
+
root: {
|
|
8
|
+
display: "flex",
|
|
9
|
+
alignItems: "center",
|
|
10
|
+
borderLeft: theme.verticalNavigation.inactiveBorderLeft,
|
|
11
|
+
minHeight: "48px",
|
|
12
|
+
marginBottom: "8px",
|
|
13
|
+
"& > button": {
|
|
14
|
+
marginLeft: "auto"
|
|
15
|
+
}
|
|
18
16
|
},
|
|
19
|
-
|
|
17
|
+
listItemSelected: {
|
|
20
18
|
background: theme.colors.atmo3,
|
|
21
19
|
borderLeft: theme.verticalNavigation.activeBorderLeft,
|
|
22
20
|
"& *": {
|
|
23
21
|
background: theme.colors.atmo3
|
|
24
22
|
}
|
|
25
23
|
},
|
|
26
|
-
|
|
24
|
+
listItemFocus: {
|
|
27
25
|
background: theme.colors.atmo3,
|
|
28
26
|
"& *": {
|
|
29
27
|
background: theme.colors.atmo3
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
|
-
}
|
|
30
|
+
});
|
|
33
31
|
export {
|
|
34
|
-
|
|
32
|
+
staticClasses,
|
|
33
|
+
useClasses
|
|
35
34
|
};
|
|
36
35
|
//# sourceMappingURL=NavigationSlider.styles.js.map
|
package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationSlider.styles.js","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"NavigationSlider.styles.js","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationSlider\",\n {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n borderLeft: theme.verticalNavigation.inactiveBorderLeft,\n minHeight: \"48px\",\n marginBottom: \"8px\",\n \"& > button\": {\n marginLeft: \"auto\",\n },\n },\n listItemSelected: {\n background: theme.colors.atmo3,\n borderLeft: theme.verticalNavigation.activeBorderLeft,\n \"& *\": {\n background: theme.colors.atmo3,\n },\n },\n listItemFocus: {\n background: theme.colors.atmo3,\n \"& *\": {\n background: theme.colors.atmo3,\n },\n },\n }\n);\n"],"names":["staticClasses","useClasses","createClasses","root","display","alignItems","borderLeft","theme","verticalNavigation","inactiveBorderLeft","minHeight","marginBottom","marginLeft","listItemSelected","background","colors","atmo3","activeBorderLeft","listItemFocus"],"mappings":";;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAC3C,8BACA;AAAA,EACEC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,YAAYC,MAAMC,mBAAmBC;AAAAA,IACrCC,WAAW;AAAA,IACXC,cAAc;AAAA,IACd,cAAc;AAAA,MACZC,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACAC,kBAAkB;AAAA,IAChBC,YAAYP,MAAMQ,OAAOC;AAAAA,IACzBV,YAAYC,MAAMC,mBAAmBS;AAAAA,IACrC,OAAO;AAAA,MACLH,YAAYP,MAAMQ,OAAOC;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAE,eAAe;AAAA,IACbJ,YAAYP,MAAMQ,OAAOC;AAAAA,IACzB,OAAO;AAAA,MACLF,YAAYP,MAAMQ,OAAOC;AAAAA,IAC3B;AAAA,EACF;AACF,CACF;"}
|