@hitachivantara/uikit-react-core 5.0.1 → 5.1.0
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/ActionsGeneric/ActionsGeneric.styles.cjs +8 -4
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +10 -6
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +1 -0
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +22 -14
- package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +9 -5
- package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +8 -4
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.styles.cjs +9 -5
- package/dist/cjs/components/Dialog/Dialog.styles.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +9 -5
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/List/List.styles.cjs +4 -5
- package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/dropdownClasses.cjs +1 -1
- package/dist/cjs/components/Dropdown/dropdownClasses.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.styles.cjs +16 -12
- package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +9 -5
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Brand/Brand.styles.cjs +9 -5
- package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.cjs +301 -0
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -0
- package/dist/cjs/components/Slider/Slider.styles.cjs +334 -0
- package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -0
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs +66 -0
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -0
- package/dist/cjs/components/Slider/SliderInput/SliderInput.styles.cjs +55 -0
- package/dist/cjs/components/Slider/SliderInput/SliderInput.styles.cjs.map +1 -0
- package/dist/cjs/components/Slider/SliderInput/sliderInputClasses.cjs +8 -0
- package/dist/cjs/components/Slider/SliderInput/sliderInputClasses.cjs.map +1 -0
- package/dist/cjs/components/Slider/base.cjs +251 -0
- package/dist/cjs/components/Slider/base.cjs.map +1 -0
- package/dist/cjs/components/Slider/sliderClasses.cjs +8 -0
- package/dist/cjs/components/Slider/sliderClasses.cjs.map +1 -0
- package/dist/cjs/components/Slider/utils.cjs +217 -0
- package/dist/cjs/components/Slider/utils.cjs.map +1 -0
- package/dist/cjs/components/Table/Table.cjs +1 -1
- package/dist/cjs/components/Table/Table.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/tableBodyClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/tableCellClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +1 -1
- package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
- package/dist/cjs/components/Table/TableContainer/tableContainerClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/tableHeadClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -2
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +15 -8
- package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/tableHeaderClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/tableRowClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useSortBy.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useTable.cjs +24 -20
- package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +14 -12
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Table/tableClasses.cjs.map +1 -1
- package/dist/cjs/components/Table/utils/fallbacks.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.styles.cjs +9 -5
- package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs +8 -4
- package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +76 -17
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +4 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs +58 -0
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -0
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +16 -0
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +41 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs +42 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs.map +1 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs +24 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs.map +1 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +43 -45
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +6 -2
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +6 -4
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/utils/VerticalNavigation.utils.cjs +7 -0
- package/dist/cjs/components/VerticalNavigation/utils/VerticalNavigation.utils.cjs.map +1 -0
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +8 -4
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +10 -6
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js +1 -0
- package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +22 -14
- package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +9 -5
- package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js +8 -4
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.styles.js +9 -5
- package/dist/esm/components/Dialog/Dialog.styles.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +9 -5
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
- package/dist/esm/components/Dropdown/List/List.styles.js +4 -5
- package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
- package/dist/esm/components/Dropdown/dropdownClasses.js +1 -1
- package/dist/esm/components/Dropdown/dropdownClasses.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.styles.js +16 -12
- package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js +9 -5
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
- package/dist/esm/components/Header/Brand/Brand.styles.js +9 -5
- package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +1 -1
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +299 -0
- package/dist/esm/components/Slider/Slider.js.map +1 -0
- package/dist/esm/components/Slider/Slider.styles.js +330 -0
- package/dist/esm/components/Slider/Slider.styles.js.map +1 -0
- package/dist/esm/components/Slider/SliderInput/SliderInput.js +64 -0
- package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -0
- package/dist/esm/components/Slider/SliderInput/SliderInput.styles.js +53 -0
- package/dist/esm/components/Slider/SliderInput/SliderInput.styles.js.map +1 -0
- package/dist/esm/components/Slider/SliderInput/sliderInputClasses.js +8 -0
- package/dist/esm/components/Slider/SliderInput/sliderInputClasses.js.map +1 -0
- package/dist/esm/components/Slider/base.js +251 -0
- package/dist/esm/components/Slider/base.js.map +1 -0
- package/dist/esm/components/Slider/sliderClasses.js +8 -0
- package/dist/esm/components/Slider/sliderClasses.js.map +1 -0
- package/dist/esm/components/Slider/utils.js +217 -0
- package/dist/esm/components/Slider/utils.js.map +1 -0
- package/dist/esm/components/Table/Table.js +1 -1
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableBody/tableBodyClasses.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableCell/tableCellClasses.js.map +1 -1
- package/dist/esm/components/Table/TableContainer/TableContainer.js +1 -1
- package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
- package/dist/esm/components/Table/TableContainer/tableContainerClasses.js.map +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHead/tableHeadClasses.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -2
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +15 -8
- package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/tableHeaderClasses.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/TableRow/tableRowClasses.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/components/Table/hooks/useSortBy.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTable.js +24 -20
- package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
- package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +15 -13
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Table/tableClasses.js.map +1 -1
- package/dist/esm/components/Table/utils/fallbacks.js.map +1 -1
- package/dist/esm/components/Tag/Tag.styles.js +9 -5
- package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.styles.js +8 -4
- package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +77 -19
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +4 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js +56 -0
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -0
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +14 -0
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -0
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +41 -0
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -0
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js +40 -0
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js.map +1 -0
- package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js +24 -0
- package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js.map +1 -0
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +43 -45
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +6 -2
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +6 -4
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/utils/VerticalNavigation.utils.js +7 -0
- package/dist/esm/components/VerticalNavigation/utils/VerticalNavigation.utils.js.map +1 -0
- package/dist/esm/index.js +22 -18
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +374 -272
- package/package.json +7 -5
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const material = require("@mui/material");
|
|
4
|
+
const clsx = require("clsx");
|
|
5
|
+
const NavigationPopup_styles = require("./NavigationPopup.styles.cjs");
|
|
6
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
7
|
+
const VerticalNavigation = require("../VerticalNavigation.cjs");
|
|
8
|
+
const Navigation = require("../Navigation/Navigation.cjs");
|
|
9
|
+
const navigationClasses = require("../Navigation/navigationClasses.cjs");
|
|
10
|
+
const setId = require("../../../utils/setId.cjs");
|
|
11
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
12
|
+
const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
|
|
13
|
+
const HvVerticalNavigationPopup = ({
|
|
14
|
+
id,
|
|
15
|
+
anchorEl,
|
|
16
|
+
fixedMode,
|
|
17
|
+
onClose,
|
|
18
|
+
data,
|
|
19
|
+
selected,
|
|
20
|
+
onChange
|
|
21
|
+
}) => {
|
|
22
|
+
const handleClickAway = () => {
|
|
23
|
+
onClose == null ? void 0 : onClose();
|
|
24
|
+
};
|
|
25
|
+
const handleChange = (event, selectedItem) => {
|
|
26
|
+
onChange(event, selectedItem.id, selectedItem);
|
|
27
|
+
};
|
|
28
|
+
const handleMouseLeave = () => {
|
|
29
|
+
if (!fixedMode) {
|
|
30
|
+
onClose == null ? void 0 : onClose();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(material.Popper, {
|
|
34
|
+
open: true,
|
|
35
|
+
anchorEl,
|
|
36
|
+
placement: "right-start",
|
|
37
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(material.ClickAwayListener, {
|
|
38
|
+
onClickAway: handleClickAway,
|
|
39
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(NavigationPopup_styles.StyledPopupContainer, {
|
|
40
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(VerticalNavigation.HvVerticalNavigation, {
|
|
41
|
+
open: true,
|
|
42
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Navigation.HvVerticalNavigationTree, {
|
|
43
|
+
className: clsx__default.default(navigationClasses.default.popup),
|
|
44
|
+
id: setId.setId(id, "tree"),
|
|
45
|
+
collapsible: true,
|
|
46
|
+
defaultExpanded: true,
|
|
47
|
+
selected,
|
|
48
|
+
onChange: handleChange,
|
|
49
|
+
data,
|
|
50
|
+
onMouseLeave: handleMouseLeave
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
exports.HvVerticalNavigationPopup = HvVerticalNavigationPopup;
|
|
58
|
+
//# sourceMappingURL=NavigationPopup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationPopup.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { Popper, ClickAwayListener } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"~/components\";\nimport { setId } from \"~/utils\";\n\nimport { StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport type HvVerticalNavigationPopupProps = {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n};\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <Popper open anchorEl={anchorEl} placement=\"right-start\">\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </Popper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","Popper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;;;;;AAuBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAC8B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AACjB;AAAA,EAAA;AAGPC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaV,IAAIU,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACT,WAAW;AACH;AAAA,IACb;AAAA,EAAA;AAGF,wCACGU,SAAAA,QAAM;AAAA,IAACC,MAAI;AAAA,IAACZ;AAAAA,IAAoBa,WAAU;AAAA,IAAaC,yCACrDC,4BAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,yCAC7CG,6CAAoB;AAAA,QAAAH,yCAClBI,yCAAoB;AAAA,UAACN,MAAI;AAAA,UAAAE,yCACvBK,qCAAwB;AAAA,YACvBC,WAAWC,cAAAA,QAAKC,kBAAAA,QAA8BC,KAAK;AAAA,YACnDxB,IAAIyB,MAAAA,MAAMzB,IAAI,MAAM;AAAA,YACpB0B,aAAW;AAAA,YACXC,iBAAe;AAAA,YACftB;AAAAA,YACAC,UAAUE;AAAAA,YACVJ;AAAAA,YACAwB,cAAcjB;AAAAA,UAAAA,CAAiB;AAAA,QAAA,CAC/B;AAAA,MAAA,CACmB;AAAA,IAAA,CACF;AAAA,EAAA,CAElB;AAEb;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const _styled = require("@emotion/styled/base");
|
|
4
|
+
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
5
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
6
|
+
const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
|
|
7
|
+
const StyledPopupContainer = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
|
|
8
|
+
target: "es2o9lp0"
|
|
9
|
+
} : {
|
|
10
|
+
target: "es2o9lp0",
|
|
11
|
+
label: "StyledPopupContainer"
|
|
12
|
+
})({
|
|
13
|
+
marginLeft: uikitStyles.theme.spacing("xs")
|
|
14
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL05hdmlnYXRpb25Qb3B1cC9OYXZpZ2F0aW9uUG9wdXAuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJb0MiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvaHYtdWlraXQtcmVhY3QvaHYtdWlraXQtcmVhY3QvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9WZXJ0aWNhbE5hdmlnYXRpb24vTmF2aWdhdGlvblBvcHVwL05hdmlnYXRpb25Qb3B1cC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5cbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBvcHVwQ29udGFpbmVyID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgbWFyZ2luTGVmdDogdGhlbWUuc3BhY2luZyhcInhzXCIpLFxufSk7XG4iXX0= */");
|
|
15
|
+
exports.StyledPopupContainer = StyledPopupContainer;
|
|
16
|
+
//# sourceMappingURL=NavigationPopup.styles.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationPopup.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const StyledPopupContainer = styled(\"div\")({\n marginLeft: theme.spacing(\"xs\"),\n});\n"],"names":["StyledPopupContainer","_styled","process","env","NODE_ENV","target","label","marginLeft","theme","spacing"],"mappings":";;;;;;AAIO,MAAMA,uBAA8BC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAChDC,YAAYC,YAAAA,MAAMC,QAAQ,IAAI;AAChC,GAACP,QAAAC,IAAAC,aAAC,eAAA,KAAA,yzBAAA;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const IconWrapper_styles = require("./IconWrapper.styles.cjs");
|
|
6
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
7
|
+
const TooltipWrapper = require("../TooltipWrapper/TooltipWrapper.cjs");
|
|
8
|
+
const VerticalNavigationContext = require("../../VerticalNavigationContext.cjs");
|
|
9
|
+
const Avatar = require("../../../Avatar/Avatar.cjs");
|
|
10
|
+
const IconWrapper = ({
|
|
11
|
+
icon,
|
|
12
|
+
label,
|
|
13
|
+
hasChildren,
|
|
14
|
+
showAvatar,
|
|
15
|
+
isOpen,
|
|
16
|
+
disableTooltip
|
|
17
|
+
}) => {
|
|
18
|
+
const {
|
|
19
|
+
hasAnyChildWithData
|
|
20
|
+
} = React.useContext(VerticalNavigationContext.VerticalNavigationContext);
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TooltipWrapper.TooltipWrapper, {
|
|
22
|
+
showTooltip: !hasChildren && !isOpen && !disableTooltip,
|
|
23
|
+
label,
|
|
24
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(IconWrapper_styles.StyledIconsContainer, {
|
|
25
|
+
hasAnyChildWithData,
|
|
26
|
+
children: [showAvatar ? /* @__PURE__ */ jsxRuntime.jsx(Avatar.HvAvatar, {
|
|
27
|
+
variant: "square",
|
|
28
|
+
size: "xs",
|
|
29
|
+
backgroundColor: "secondary_80",
|
|
30
|
+
style: {
|
|
31
|
+
fontSize: "15px"
|
|
32
|
+
},
|
|
33
|
+
children: label.substring(0, 1)
|
|
34
|
+
}) : icon, hasChildren && !isOpen ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Forwards, {
|
|
35
|
+
iconSize: "XS"
|
|
36
|
+
}) : hasAnyChildWithData && !isOpen && /* @__PURE__ */ jsxRuntime.jsx(IconWrapper_styles.SpacerDiv, {})]
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.IconWrapper = IconWrapper;
|
|
41
|
+
//# sourceMappingURL=IconWrapper.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconWrapper.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.tsx"],"sourcesContent":["import { Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport { useContext } from \"react\";\n\nimport { HvAvatar, VerticalNavigationContext } from \"~/components\";\n\nimport { TooltipWrapper } from \"../TooltipWrapper\";\nimport { SpacerDiv, StyledIconsContainer } from \"./IconWrapper.styles\";\n\nexport const IconWrapper = ({\n icon,\n label,\n hasChildren,\n showAvatar,\n isOpen,\n disableTooltip,\n}) => {\n const { hasAnyChildWithData } = useContext(VerticalNavigationContext);\n return (\n <TooltipWrapper\n showTooltip={!hasChildren && !isOpen && !disableTooltip}\n label={label}\n >\n <StyledIconsContainer hasAnyChildWithData={hasAnyChildWithData}>\n {showAvatar ? (\n <HvAvatar\n variant=\"square\"\n size=\"xs\"\n backgroundColor=\"secondary_80\"\n style={{ fontSize: \"15px\" }}\n >\n {label.substring(0, 1)}\n </HvAvatar>\n ) : (\n icon\n )}\n\n {hasChildren && !isOpen ? (\n <Forwards iconSize=\"XS\" />\n ) : (\n hasAnyChildWithData && !isOpen && <SpacerDiv />\n )}\n </StyledIconsContainer>\n </TooltipWrapper>\n );\n};\n"],"names":["IconWrapper","icon","label","hasChildren","showAvatar","isOpen","disableTooltip","hasAnyChildWithData","useContext","VerticalNavigationContext","TooltipWrapper","showTooltip","children","StyledIconsContainer","_jsx","HvAvatar","variant","size","backgroundColor","style","fontSize","substring","Forwards","iconSize","SpacerDiv"],"mappings":";;;;;;;;;AAQO,MAAMA,cAAcA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACF,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAwBC,MAAAA,WAAWC,0BAAAA,yBAAyB;AACpE,wCACGC,eAAAA,gBAAc;AAAA,IACbC,aAAa,CAACR,eAAe,CAACE,UAAU,CAACC;AAAAA,IACzCJ;AAAAA,IAAaU,0CAEZC,yCAAoB;AAAA,MAACN;AAAAA,MAAyCK,UAC5DR,CAAAA,aACCU,2BAAAA,IAACC,iBAAQ;AAAA,QACPC,SAAQ;AAAA,QACRC,MAAK;AAAA,QACLC,iBAAgB;AAAA,QAChBC,OAAO;AAAA,UAAEC,UAAU;AAAA,QAAO;AAAA,QAAER,UAE3BV,MAAMmB,UAAU,GAAG,CAAC;AAAA,MAAA,CACZ,IAEXpB,MAGDE,eAAe,CAACE,wCACdiB,gBAAAA,UAAQ;AAAA,QAACC,UAAS;AAAA,MAAA,CAAO,IAE1BhB,uBAAuB,CAACF,UAAWmB,2BAAAA,IAAAA,mBAAAA,WACpC,CAAA,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAEY;AAErB;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const _styled = require("@emotion/styled/base");
|
|
4
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
5
|
+
const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
|
|
6
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() {
|
|
7
|
+
return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
|
|
8
|
+
}
|
|
9
|
+
const StyledIconsContainer = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
|
|
10
|
+
target: "emephz1"
|
|
11
|
+
} : {
|
|
12
|
+
target: "emephz1",
|
|
13
|
+
label: "StyledIconsContainer"
|
|
14
|
+
})(({
|
|
15
|
+
hasAnyChildWithData
|
|
16
|
+
}) => ({
|
|
17
|
+
display: "flex",
|
|
18
|
+
[`> div:first-of-type`]: {
|
|
19
|
+
marginLeft: hasAnyChildWithData ? "auto" : "unset"
|
|
20
|
+
},
|
|
21
|
+
[`> div:nth-of-type(2)`]: {
|
|
22
|
+
width: "14px",
|
|
23
|
+
marginLeft: "auto"
|
|
24
|
+
}
|
|
25
|
+
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL1RyZWVWaWV3L0ljb25XcmFwcGVyL0ljb25XcmFwcGVyLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTW9DIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL1RyZWVWaWV3L0ljb25XcmFwcGVyL0ljb25XcmFwcGVyLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcblxuaW50ZXJmYWNlIFN0eWxlZEljb25zQ29udGFpbmVyUHJvcHMge1xuICBoYXNBbnlDaGlsZFdpdGhEYXRhPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZEljb25zQ29udGFpbmVyID0gc3R5bGVkKFwiZGl2XCIpKFxuICAoeyBoYXNBbnlDaGlsZFdpdGhEYXRhIH06IFN0eWxlZEljb25zQ29udGFpbmVyUHJvcHMpID0+ICh7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG5cbiAgICBbYD4gZGl2OmZpcnN0LW9mLXR5cGVgXToge1xuICAgICAgbWFyZ2luTGVmdDogaGFzQW55Q2hpbGRXaXRoRGF0YSA/IFwiYXV0b1wiIDogXCJ1bnNldFwiLFxuICAgIH0sXG5cbiAgICBbYD4gZGl2Om50aC1vZi10eXBlKDIpYF06IHtcbiAgICAgIHdpZHRoOiBcIjE0cHhcIixcbiAgICAgIG1hcmdpbkxlZnQ6IFwiYXV0b1wiLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgU3BhY2VyRGl2ID0gc3R5bGVkKFwiZGl2XCIpKHt9KTtcbiJdfQ== */");
|
|
26
|
+
const SpacerDiv = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
|
|
27
|
+
target: "emephz0"
|
|
28
|
+
} : {
|
|
29
|
+
target: "emephz0",
|
|
30
|
+
label: "SpacerDiv"
|
|
31
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
32
|
+
name: "0",
|
|
33
|
+
styles: ""
|
|
34
|
+
} : {
|
|
35
|
+
name: "0",
|
|
36
|
+
styles: "",
|
|
37
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL1RyZWVWaWV3L0ljb25XcmFwcGVyL0ljb25XcmFwcGVyLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJ5QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL1ZlcnRpY2FsTmF2aWdhdGlvbi9UcmVlVmlldy9JY29uV3JhcHBlci9JY29uV3JhcHBlci5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5cbmludGVyZmFjZSBTdHlsZWRJY29uc0NvbnRhaW5lclByb3BzIHtcbiAgaGFzQW55Q2hpbGRXaXRoRGF0YT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJY29uc0NvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiKShcbiAgKHsgaGFzQW55Q2hpbGRXaXRoRGF0YSB9OiBTdHlsZWRJY29uc0NvbnRhaW5lclByb3BzKSA9PiAoe1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuXG4gICAgW2A+IGRpdjpmaXJzdC1vZi10eXBlYF06IHtcbiAgICAgIG1hcmdpbkxlZnQ6IGhhc0FueUNoaWxkV2l0aERhdGEgPyBcImF1dG9cIiA6IFwidW5zZXRcIixcbiAgICB9LFxuXG4gICAgW2A+IGRpdjpudGgtb2YtdHlwZSgyKWBdOiB7XG4gICAgICB3aWR0aDogXCIxNHB4XCIsXG4gICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIixcbiAgICB9LFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IFNwYWNlckRpdiA9IHN0eWxlZChcImRpdlwiKSh7fSk7XG4iXX0= */",
|
|
38
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
39
|
+
});
|
|
40
|
+
exports.SpacerDiv = SpacerDiv;
|
|
41
|
+
exports.StyledIconsContainer = StyledIconsContainer;
|
|
42
|
+
//# sourceMappingURL=IconWrapper.styles.cjs.map
|
package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconWrapper.styles.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\ninterface StyledIconsContainerProps {\n hasAnyChildWithData?: boolean;\n}\n\nexport const StyledIconsContainer = styled(\"div\")(\n ({ hasAnyChildWithData }: StyledIconsContainerProps) => ({\n display: \"flex\",\n\n [`> div:first-of-type`]: {\n marginLeft: hasAnyChildWithData ? \"auto\" : \"unset\",\n },\n\n [`> div:nth-of-type(2)`]: {\n width: \"14px\",\n marginLeft: \"auto\",\n },\n })\n);\n\nexport const SpacerDiv = styled(\"div\")({});\n"],"names":["StyledIconsContainer","_styled","process","env","NODE_ENV","target","label","hasAnyChildWithData","display","marginLeft","width","SpacerDiv","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__"],"mappings":";;;;;;;;AAMO,MAAMA,uBAA8BC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAC9C,CAAC;AAAA,EAAEC;AAA+C,OAAO;AAAA,EACvDC,SAAS;AAAA,EAET,CAAE,qBAAoB,GAAG;AAAA,IACvBC,YAAYF,sBAAsB,SAAS;AAAA,EAC7C;AAAA,EAEA,CAAE,sBAAqB,GAAG;AAAA,IACxBG,OAAO;AAAA,IACPD,YAAY;AAAA,EACd;AACF,IAAEP,QAAAC,IAAAC,aACH,eAAA,KAAA,yuCAAA;AAEM,MAAMO,YAAmBV,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAQ,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAAI;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
|
+
const Tooltip = require("../../../Tooltip/Tooltip.cjs");
|
|
5
|
+
const Typography = require("../../../Typography/Typography.cjs");
|
|
6
|
+
const TooltipWrapper = ({
|
|
7
|
+
showTooltip,
|
|
8
|
+
label,
|
|
9
|
+
children,
|
|
10
|
+
placement = "right"
|
|
11
|
+
}) => {
|
|
12
|
+
if (showTooltip) {
|
|
13
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.HvTooltip, {
|
|
14
|
+
title: /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
15
|
+
children: label
|
|
16
|
+
}),
|
|
17
|
+
placement,
|
|
18
|
+
children
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return children;
|
|
22
|
+
};
|
|
23
|
+
exports.TooltipWrapper = TooltipWrapper;
|
|
24
|
+
//# sourceMappingURL=TooltipWrapper.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TooltipWrapper.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.tsx"],"sourcesContent":["import { HvTooltip, HvTooltipPlacementType, HvTypography } from \"~/components\";\n\ninterface TooltipWrapperProps {\n showTooltip: boolean;\n label: string;\n children: React.ReactElement;\n placement?: HvTooltipPlacementType;\n}\n\nexport const TooltipWrapper = ({\n showTooltip,\n label,\n children,\n placement = \"right\",\n}: TooltipWrapperProps) => {\n if (showTooltip) {\n return (\n <HvTooltip\n title={<HvTypography>{label}</HvTypography>}\n placement={placement}\n >\n {children}\n </HvTooltip>\n );\n }\n return children;\n};\n"],"names":["TooltipWrapper","showTooltip","label","children","placement","HvTooltip","title","HvTypography"],"mappings":";;;;;AASO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,YAAY;AACO,MAAM;AACzB,MAAIH,aAAa;AACf,0CACGI,QAAAA,WAAS;AAAA,MACRC,sCAAQC,yBAAY;AAAA,QAAAJ,UAAED;AAAAA,MAAAA,CAAsB;AAAA,MAC5CE;AAAAA,MAAqBD;AAAAA,IAAAA,CAGX;AAAA,EAEhB;AACOA,SAAAA;AACT;;"}
|
|
@@ -7,11 +7,11 @@ const treeViewItemClasses = require("./treeViewItemClasses.cjs");
|
|
|
7
7
|
const TreeViewItem_styles = require("./TreeViewItem.styles.cjs");
|
|
8
8
|
const descendants = require("./descendants.cjs");
|
|
9
9
|
const TreeViewContext = require("./TreeViewContext.cjs");
|
|
10
|
-
const VerticalNavigationContext = require("../VerticalNavigationContext.cjs");
|
|
11
10
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
12
11
|
const useForkRef = require("../../../hooks/useForkRef.cjs");
|
|
12
|
+
const IconWrapper = require("./IconWrapper/IconWrapper.cjs");
|
|
13
|
+
const VerticalNavigationContext = require("../VerticalNavigationContext.cjs");
|
|
13
14
|
const setId = require("../../../utils/setId.cjs");
|
|
14
|
-
const Avatar = require("../../Avatar/Avatar.cjs");
|
|
15
15
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
16
16
|
const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
|
|
17
17
|
const preventSelection = (event, disabled) => {
|
|
@@ -37,6 +37,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
37
37
|
onMouseDown,
|
|
38
38
|
onFocus,
|
|
39
39
|
children,
|
|
40
|
+
disableTooltip,
|
|
40
41
|
...others
|
|
41
42
|
} = props;
|
|
42
43
|
const treeViewControlContext = React.useContext(TreeViewContext.TreeViewControlContext);
|
|
@@ -90,7 +91,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
90
91
|
const focused = isFocused ? isFocused(nodeId) : false;
|
|
91
92
|
const selected = isSelected ? isSelected(nodeId) : false;
|
|
92
93
|
const disabled = isDisabled ? isDisabled(nodeId) : false;
|
|
93
|
-
const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;
|
|
94
|
+
const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable || !isOpen;
|
|
94
95
|
React.useEffect(() => {
|
|
95
96
|
if (registerNode && unregisterNode && index !== -1) {
|
|
96
97
|
registerNode({
|
|
@@ -143,7 +144,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
143
144
|
focus(event, nodeId);
|
|
144
145
|
}
|
|
145
146
|
const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
146
|
-
if (expandable && !(multiple && isExpanded && isExpanded(nodeId))) {
|
|
147
|
+
if (expandable && isOpen && !(multiple && isExpanded && isExpanded(nodeId))) {
|
|
147
148
|
if (toggleExpansion)
|
|
148
149
|
toggleExpansion(event, nodeId);
|
|
149
150
|
}
|
|
@@ -181,7 +182,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
181
182
|
}, [disabled, onMouseDown]);
|
|
182
183
|
const handleClick = React.useCallback((event) => {
|
|
183
184
|
if (!disabled) {
|
|
184
|
-
if (expandable) {
|
|
185
|
+
if (expandable && isOpen) {
|
|
185
186
|
handleExpansion(event);
|
|
186
187
|
}
|
|
187
188
|
if (selectable) {
|
|
@@ -202,7 +203,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
202
203
|
}
|
|
203
204
|
if (contentRef.current === event.currentTarget) {
|
|
204
205
|
if (key === "Enter" || key === " ") {
|
|
205
|
-
if (expandable) {
|
|
206
|
+
if (expandable && isOpen) {
|
|
206
207
|
isEventHandled = handleExpansion(event);
|
|
207
208
|
}
|
|
208
209
|
if (selectable) {
|
|
@@ -215,44 +216,41 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
215
216
|
}
|
|
216
217
|
}
|
|
217
218
|
}, [expandable, handleExpansion, handleSelection, selectable]);
|
|
218
|
-
const renderedContent = React.useMemo(() => {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}) : icon, isOpen && label]
|
|
254
|
-
});
|
|
255
|
-
}, [id, href, target, classes == null ? void 0 : classes.content, treeViewItemClasses.default.content, classes == null ? void 0 : classes.link, treeViewItemClasses.default.link, classes == null ? void 0 : classes.minimized, treeViewItemClasses.default.minimized, disabled, handleClick, handleMouseDown, expandable, icon, level, collapsible, treeviewMode, handleFocus, selectable, handleKeyDown, selected, expanded, label]);
|
|
219
|
+
const renderedContent = React.useMemo(() => /* @__PURE__ */ jsxRuntime.jsxs(TreeViewItem_styles.StyledContent, {
|
|
220
|
+
id: setId.setId(id, "button"),
|
|
221
|
+
component: href ? "a" : "div",
|
|
222
|
+
href,
|
|
223
|
+
target,
|
|
224
|
+
ref: contentRef,
|
|
225
|
+
className: clsx__default.default(treeViewItemClasses.default.content, classes == null ? void 0 : classes.content, href != null && clsx__default.default(treeViewItemClasses.default.link, classes == null ? void 0 : classes.link), !isOpen && clsx__default.default(treeViewItemClasses.default.minimized, classes == null ? void 0 : classes.minimized)),
|
|
226
|
+
variant: disabled ? "placeholderText" : "body",
|
|
227
|
+
onClick: handleClick,
|
|
228
|
+
onMouseDown: handleMouseDown,
|
|
229
|
+
style: {
|
|
230
|
+
paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10)
|
|
231
|
+
},
|
|
232
|
+
...treeviewMode ? {
|
|
233
|
+
role: "button",
|
|
234
|
+
tabIndex: -1,
|
|
235
|
+
onFocus: handleFocus
|
|
236
|
+
} : {
|
|
237
|
+
role: "button",
|
|
238
|
+
tabIndex: selectable || expandable ? 0 : -1,
|
|
239
|
+
onKeyDown: handleKeyDown,
|
|
240
|
+
"aria-current": selectable && selected ? "page" : void 0,
|
|
241
|
+
"aria-expanded": expandable ? expanded : void 0,
|
|
242
|
+
"aria-controls": expandable ? setId.setId(id, "group") : void 0,
|
|
243
|
+
"aria-label": payload == null ? void 0 : payload.label
|
|
244
|
+
},
|
|
245
|
+
children: [isOpen && expandable && (expanded ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropUpXS, {}) : /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropDownXS, {})), /* @__PURE__ */ jsxRuntime.jsx(IconWrapper.IconWrapper, {
|
|
246
|
+
icon,
|
|
247
|
+
label: payload == null ? void 0 : payload.label,
|
|
248
|
+
hasChildren: Boolean(children),
|
|
249
|
+
showAvatar: !icon && level === 0 && !isOpen && collapsedMode === "icon",
|
|
250
|
+
isOpen,
|
|
251
|
+
disableTooltip
|
|
252
|
+
}), isOpen && label]
|
|
253
|
+
}), [id, href, target, classes == null ? void 0 : classes.content, treeViewItemClasses.default.content, classes == null ? void 0 : classes.link, treeViewItemClasses.default.link, classes == null ? void 0 : classes.minimized, treeViewItemClasses.default.minimized, disabled, handleClick, handleMouseDown, expandable, icon, level, collapsible, treeviewMode, handleFocus, selectable, handleKeyDown, selected, expanded, label, disableTooltip]);
|
|
256
254
|
const renderedChildren = React.useMemo(() => children && /* @__PURE__ */ jsxRuntime.jsx(TreeViewItem_styles.StyledGroup, {
|
|
257
255
|
id: setId.setId(id, "group"),
|
|
258
256
|
className: clsx__default.default(treeViewItemClasses.default.group, classes == null ? void 0 : classes.group),
|
|
@@ -261,7 +259,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
261
259
|
}), [children, treeViewItemClasses.default.group, classes == null ? void 0 : classes.group, id, treeviewMode]);
|
|
262
260
|
return /* @__PURE__ */ jsxRuntime.jsxs(TreeViewItem_styles.StyledNode, {
|
|
263
261
|
ref: handleRef,
|
|
264
|
-
id,
|
|
262
|
+
id: id ?? void 0,
|
|
265
263
|
className: clsx__default.default((_a = treeViewItemClasses.default) == null ? void 0 : _a.node, classes == null ? void 0 : classes.node, className, disabled && clsx__default.default(treeViewItemClasses.default.disabled, classes == null ? void 0 : classes.disabled), expandable && clsx__default.default(treeViewItemClasses.default.expandable, classes == null ? void 0 : classes.expandable), expandable && !expanded && clsx__default.default(treeViewItemClasses.default.collapsed, classes == null ? void 0 : classes.collapsed), expandable && expanded && clsx__default.default(treeViewItemClasses.default.expanded, classes == null ? void 0 : classes.expanded), selectable && !disabled && clsx__default.default(treeViewItemClasses.default.selectable, classes == null ? void 0 : classes.selectable), !disabled && !selectable && clsx__default.default(treeViewItemClasses.default.unselectable, classes == null ? void 0 : classes.unselectable), !disabled && selectable && selected && clsx__default.default(treeViewItemClasses.default.selected, classes == null ? void 0 : classes.selected), !disabled && selectable && !selected && clsx__default.default(treeViewItemClasses.default.unselected, classes == null ? void 0 : classes.unselected), focused && clsx__default.default(treeViewItemClasses.default.focused, classes == null ? void 0 : classes.focused), !isOpen && collapsedMode == "simple" && clsx__default.default(treeViewItemClasses.default.hide, classes == null ? void 0 : classes.hide), !isOpen && collapsedMode == "icon" && isChildSelected && isChildSelected(nodeId) && clsx__default.default(treeViewItemClasses.default.selected, classes == null ? void 0 : classes.selected)),
|
|
266
264
|
"data-hasicon": icon != null ? true : void 0,
|
|
267
265
|
...mode === "treeview" && {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useForkRef } from \"~/hooks\";\nimport { setId } from \"~/utils\";\nimport treeViewItemClasses, {\n HvVerticalNavigationTreeViewItemClasses,\n} from \"./treeViewItemClasses\";\nimport { StyledContent, StyledGroup, StyledNode } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { HvAvatar } from \"~/components\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\n\nexport type HvVerticalNavigationTreeViewItemProps = {\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 to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n};\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, collapsedMode } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded && isExpanded(nodeId))) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else {\n if (selectNode) return selectNode(event, nodeId, true);\n }\n } else {\n if (selectNode) return selectNode(event, nodeId);\n }\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <StyledContent\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n ref={contentRef}\n className={clsx(\n treeViewItemClasses.content,\n classes?.content,\n href != null && clsx(treeViewItemClasses.link, classes?.link),\n !isOpen && clsx(treeViewItemClasses.minimized, classes?.minimized)\n )}\n variant={disabled ? \"placeholderText\" : \"body\"}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (expandable || icon != null ? 0 : 10) +\n level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {!icon &&\n level === 0 &&\n !isOpen &&\n collapsedMode === \"icon\" &&\n contentRef.current?.textContent ? (\n <HvAvatar\n variant=\"square\"\n size=\"xs\"\n backgroundColor=\"secondary_80\"\n style={{ fontSize: \"15px\" }}\n >\n {contentRef.current?.textContent.substring(0, 1)}\n </HvAvatar>\n ) : (\n icon\n )}\n {isOpen && label}\n </StyledContent>\n ),\n [\n id,\n href,\n target,\n classes?.content,\n treeViewItemClasses.content,\n classes?.link,\n treeViewItemClasses.link,\n classes?.minimized,\n treeViewItemClasses.minimized,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <StyledGroup\n id={setId(id, \"group\")}\n className={clsx(treeViewItemClasses.group, classes?.group)}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </StyledGroup>\n ),\n [children, treeViewItemClasses.group, classes?.group, id, treeviewMode]\n );\n\n return (\n <StyledNode\n ref={handleRef}\n id={id as string}\n className={clsx(\n treeViewItemClasses?.node,\n classes?.node,\n className,\n disabled && clsx(treeViewItemClasses.disabled, classes?.disabled),\n expandable &&\n clsx(treeViewItemClasses.expandable, classes?.expandable),\n expandable &&\n !expanded &&\n clsx(treeViewItemClasses.collapsed, classes?.collapsed),\n expandable &&\n expanded &&\n clsx(treeViewItemClasses.expanded, classes?.expanded),\n selectable &&\n !disabled &&\n clsx(treeViewItemClasses.selectable, classes?.selectable),\n !disabled &&\n !selectable &&\n clsx(treeViewItemClasses.unselectable, classes?.unselectable),\n !disabled &&\n selectable &&\n selected &&\n clsx(treeViewItemClasses.selected, classes?.selected),\n !disabled &&\n selectable &&\n !selected &&\n clsx(treeViewItemClasses.unselected, classes?.unselected),\n focused && clsx(treeViewItemClasses.focused, classes?.focused),\n !isOpen &&\n collapsedMode == \"simple\" &&\n clsx(treeViewItemClasses.hide, classes?.hide),\n !isOpen &&\n collapsedMode == \"icon\" &&\n isChildSelected &&\n isChildSelected(nodeId) &&\n clsx(treeViewItemClasses.selected, classes?.selected)\n )}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </StyledNode>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","collapsedMode","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","_jsxs","StyledContent","setId","component","clsx","treeViewItemClasses","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","DropUpXS","_jsx","DropDownXS","HvAvatar","size","backgroundColor","fontSize","renderedChildren","StyledGroup","group","StyledNode","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useForkRef } from \"~/hooks\";\nimport { setId } from \"~/utils\";\nimport treeViewItemClasses, {\n HvVerticalNavigationTreeViewItemClasses,\n} from \"./treeViewItemClasses\";\nimport { StyledContent, StyledGroup, StyledNode } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"../\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport type HvVerticalNavigationTreeViewItemProps = {\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 to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n};\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, collapsedMode } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else {\n if (selectNode) return selectNode(event, nodeId, true);\n }\n } else {\n if (selectNode) return selectNode(event, nodeId);\n }\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <StyledContent\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n ref={contentRef}\n className={clsx(\n treeViewItemClasses.content,\n classes?.content,\n href != null && clsx(treeViewItemClasses.link, classes?.link),\n !isOpen && clsx(treeViewItemClasses.minimized, classes?.minimized)\n )}\n variant={disabled ? \"placeholderText\" : \"body\"}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (expandable || icon != null ? 0 : 10) +\n level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n\n <IconWrapper\n icon={icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={\n !icon && level === 0 && !isOpen && collapsedMode === \"icon\"\n }\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && label}\n </StyledContent>\n ),\n [\n id,\n href,\n target,\n classes?.content,\n treeViewItemClasses.content,\n classes?.link,\n treeViewItemClasses.link,\n classes?.minimized,\n treeViewItemClasses.minimized,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <StyledGroup\n id={setId(id, \"group\")}\n className={clsx(treeViewItemClasses.group, classes?.group)}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </StyledGroup>\n ),\n [children, treeViewItemClasses.group, classes?.group, id, treeviewMode]\n );\n\n return (\n <StyledNode\n ref={handleRef}\n id={id ?? undefined}\n className={clsx(\n treeViewItemClasses?.node,\n classes?.node,\n className,\n disabled && clsx(treeViewItemClasses.disabled, classes?.disabled),\n expandable &&\n clsx(treeViewItemClasses.expandable, classes?.expandable),\n expandable &&\n !expanded &&\n clsx(treeViewItemClasses.collapsed, classes?.collapsed),\n expandable &&\n expanded &&\n clsx(treeViewItemClasses.expanded, classes?.expanded),\n selectable &&\n !disabled &&\n clsx(treeViewItemClasses.selectable, classes?.selectable),\n !disabled &&\n !selectable &&\n clsx(treeViewItemClasses.unselectable, classes?.unselectable),\n !disabled &&\n selectable &&\n selected &&\n clsx(treeViewItemClasses.selected, classes?.selected),\n !disabled &&\n selectable &&\n !selected &&\n clsx(treeViewItemClasses.unselected, classes?.unselected),\n focused && clsx(treeViewItemClasses.focused, classes?.focused),\n !isOpen &&\n collapsedMode == \"simple\" &&\n clsx(treeViewItemClasses.hide, classes?.hide),\n !isOpen &&\n collapsedMode == \"icon\" &&\n isChildSelected &&\n isChildSelected(nodeId) &&\n clsx(treeViewItemClasses.selected, classes?.selected)\n )}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </StyledNode>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","collapsedMode","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","_jsxs","StyledContent","setId","component","clsx","treeViewItemClasses","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","DropUpXS","DropDownXS","IconWrapper","hasChildren","Boolean","showAvatar","renderedChildren","StyledGroup","group","StyledNode","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ const clsx = require("clsx");
|
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const VerticalNavigation_styles = require("./VerticalNavigation.styles.cjs");
|
|
6
6
|
const verticalNavigationClasses = require("./verticalNavigationClasses.cjs");
|
|
7
|
+
const VerticalNavigation_utils = require("./utils/VerticalNavigation.utils.cjs");
|
|
7
8
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
8
9
|
const NavigationSlider_utils = require("./NavigationSlider/utils/NavigationSlider.utils.cjs");
|
|
9
10
|
const VerticalNavigationContext = require("./VerticalNavigationContext.cjs");
|
|
@@ -25,6 +26,7 @@ const HvVerticalNavigation = ({
|
|
|
25
26
|
const withParentData = React.useMemo(() => NavigationSlider_utils.fillDataWithParentId(parentData), [parentData]);
|
|
26
27
|
const initialParentItem = React.useMemo(() => NavigationSlider_utils.getParentItemById(withParentData, parentSelected), [withParentData, parentSelected]);
|
|
27
28
|
const [parentItem, setParentItem] = React.useState(initialParentItem);
|
|
29
|
+
const hasAnyChildWithData = React.useMemo(() => VerticalNavigation_utils.hasChildNavigationItems(parentData), [parentData]);
|
|
28
30
|
React.useEffect(() => setHeaderTitle(parentItem == null ? void 0 : parentItem.label), [parentItem, setParentItem]);
|
|
29
31
|
const navigateToParentHandler = () => {
|
|
30
32
|
setParentItem(NavigationSlider_utils.getParentItemById(withParentData, parentItem.id));
|
|
@@ -46,13 +48,15 @@ const HvVerticalNavigation = ({
|
|
|
46
48
|
parentData,
|
|
47
49
|
setParentData,
|
|
48
50
|
parentSelected,
|
|
49
|
-
setParentSelected
|
|
50
|
-
|
|
51
|
+
setParentSelected,
|
|
52
|
+
hasAnyChildWithData
|
|
53
|
+
}), [open, collapsedMode, slider, headerTitle, setHeaderTitle, parentItem, withParentData, navigateToChildHandler, navigateToParentHandler, hasAnyChildWithData]);
|
|
51
54
|
const content = /* @__PURE__ */ jsxRuntime.jsx(VerticalNavigationContext.VerticalNavigationContext.Provider, {
|
|
52
55
|
value,
|
|
53
56
|
children: /* @__PURE__ */ jsxRuntime.jsx(VerticalNavigation_styles.StyledRoot, {
|
|
54
57
|
id,
|
|
55
58
|
className: clsx__default.default(className, verticalNavigationClasses.default.root, classes == null ? void 0 : classes.root, !open && verticalNavigationClasses.default.collapsed, slider && verticalNavigationClasses.default.slider, classes == null ? void 0 : classes.collapsed),
|
|
59
|
+
hasAnyChildWithData,
|
|
56
60
|
...others,
|
|
57
61
|
children
|
|
58
62
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalNavigation.cjs","sources":["../../../../src/components/VerticalNavigation/VerticalNavigation.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { StyledRoot } from \"./VerticalNavigation.styles\";\nimport verticalNavigationClasses, {\n HvVerticalNavigationClasses,\n} from \"./verticalNavigationClasses\";\nimport { NavigationData, VerticalNavigationContext } from \"./\";\nimport {\n fillDataWithParentId,\n getNavigationItemById,\n getParentItemById,\n} from \"./NavigationSlider/utils\";\n\nexport type HvVerticalNavigationProps = {\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 to the component.\n */\n classes?: HvVerticalNavigationClasses;\n /**\n * Current State of the Vertical Navigation Collapse\n */\n open?: boolean;\n /**\n * Collpased Mode for the Vertical Navigation, the default value is \"simple\".\n */\n collapsedMode?: HvVerticalNavigationMode;\n /**\n * Boolean to determine if treeview is in slider mode (for mobile navigation), the default value is false.\n */\n slider?: boolean;\n /**\n * The content inside the actions container.\n */\n children?: React.ReactNode;\n};\n\n/**\n * Navigation enables users to move through an app to complete tasks.\n *\n * It is recommended to use vertical navigation when your application requires global navigation that is displayed on the left.\n * While vertical navigation menus generally consume more space than their horizontal counterparts, they have become more popular as desktop monitors move to wide-screen formats.\n *\n * Even thou both the hierarchically organized data and the visual style ressemble a treeview-like structure, the [Treeview Design Pattern](https://w3c.github.io/aria-practices/#TreeView)\n * isn't necessarily the most appropriate.\n *\n * The tree role provides complex functionality that is not needed for typical site navigation, and changes the most common keyboard navigation using TAB.\n *\n * The [Disclosure Design Pattern](https://w3c.github.io/aria-practices/#disclosure) is more suited for typical site navigation, with expandable groups of links.\n * However it can be tedious to TAB through all navigation items to reach the actions panel.\n *\n * Both modes are available via the `mode` property and each app should choose the most appropriate.\n */\nexport const HvVerticalNavigation = ({\n id,\n className,\n classes,\n\n children,\n\n open = true,\n\n collapsedMode = \"simple\",\n\n slider = false,\n\n ...others\n}: HvVerticalNavigationProps) => {\n const [parentData, setParentData] = useState<NavigationData[]>([]);\n\n const [parentSelected, setParentSelected] = useState();\n\n const [headerTitle, setHeaderTitle] = useState<string | undefined>();\n\n // navigationSlider\n const withParentData = useMemo(\n () => fillDataWithParentId(parentData),\n [parentData]\n );\n\n const initialParentItem = useMemo(\n () => getParentItemById(withParentData, parentSelected),\n [withParentData, parentSelected]\n );\n\n const [parentItem, setParentItem] = useState(initialParentItem);\n\n useEffect(\n () => setHeaderTitle(parentItem?.label),\n [parentItem, setParentItem]\n );\n\n const navigateToParentHandler = () => {\n setParentItem(getParentItemById(withParentData, parentItem.id));\n };\n\n const navigateToChildHandler = (event, item) => {\n setParentItem(getNavigationItemById(withParentData, item.id));\n event.stopPropagation();\n };\n\n const value = useMemo(\n () => ({\n isOpen: open,\n collapsedMode,\n slider,\n headerTitle,\n setHeaderTitle,\n\n parentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n\n parentData,\n setParentData,\n parentSelected,\n setParentSelected,\n }),\n [\n open,\n collapsedMode,\n slider,\n headerTitle,\n setHeaderTitle,\n parentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n ]\n );\n\n const content = (\n <VerticalNavigationContext.Provider value={value}>\n <StyledRoot\n id={id}\n className={clsx(\n className,\n verticalNavigationClasses.root,\n classes?.root,\n !open && verticalNavigationClasses.collapsed,\n slider && verticalNavigationClasses.slider,\n classes?.collapsed\n )}\n {...others}\n >\n {children}\n </StyledRoot>\n </VerticalNavigationContext.Provider>\n );\n\n return content;\n};\n\nexport type HvVerticalNavigationMode = \"icon\" | \"simple\";\n\nexport type HvVerticalNavigationPosition =\n | \"static\"\n | \"relative\"\n | \"fixed\"\n | \"absolute\";\n"],"names":["HvVerticalNavigation","id","className","classes","children","open","collapsedMode","slider","others","parentData","setParentData","useState","parentSelected","setParentSelected","headerTitle","setHeaderTitle","withParentData","useMemo","fillDataWithParentId","initialParentItem","getParentItemById","parentItem","setParentItem","useEffect","label","navigateToParentHandler","navigateToChildHandler","event","item","getNavigationItemById","stopPropagation","value","isOpen","content","VerticalNavigationContext","Provider","StyledRoot","clsx","verticalNavigationClasses","root","collapsed"],"mappings":"
|
|
1
|
+
{"version":3,"file":"VerticalNavigation.cjs","sources":["../../../../src/components/VerticalNavigation/VerticalNavigation.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { StyledRoot } from \"./VerticalNavigation.styles\";\nimport verticalNavigationClasses, {\n HvVerticalNavigationClasses,\n} from \"./verticalNavigationClasses\";\nimport { NavigationData, VerticalNavigationContext } from \"./\";\nimport {\n fillDataWithParentId,\n getNavigationItemById,\n getParentItemById,\n} from \"./NavigationSlider/utils\";\nimport { hasChildNavigationItems } from \"./utils/VerticalNavigation.utils\";\n\nexport type HvVerticalNavigationProps = {\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 to the component.\n */\n classes?: HvVerticalNavigationClasses;\n /**\n * Current State of the Vertical Navigation Collapse\n */\n open?: boolean;\n /**\n * Collpased Mode for the Vertical Navigation, the default value is \"simple\".\n */\n collapsedMode?: HvVerticalNavigationMode;\n /**\n * Boolean to determine if treeview is in slider mode (for mobile navigation), the default value is false.\n */\n slider?: boolean;\n /**\n * The content inside the actions container.\n */\n children?: React.ReactNode;\n};\n\n/**\n * Navigation enables users to move through an app to complete tasks.\n *\n * It is recommended to use vertical navigation when your application requires global navigation that is displayed on the left.\n * While vertical navigation menus generally consume more space than their horizontal counterparts, they have become more popular as desktop monitors move to wide-screen formats.\n *\n * Even thou both the hierarchically organized data and the visual style ressemble a treeview-like structure, the [Treeview Design Pattern](https://w3c.github.io/aria-practices/#TreeView)\n * isn't necessarily the most appropriate.\n *\n * The tree role provides complex functionality that is not needed for typical site navigation, and changes the most common keyboard navigation using TAB.\n *\n * The [Disclosure Design Pattern](https://w3c.github.io/aria-practices/#disclosure) is more suited for typical site navigation, with expandable groups of links.\n * However it can be tedious to TAB through all navigation items to reach the actions panel.\n *\n * Both modes are available via the `mode` property and each app should choose the most appropriate.\n */\nexport const HvVerticalNavigation = ({\n id,\n className,\n classes,\n\n children,\n\n open = true,\n\n collapsedMode = \"simple\",\n\n slider = false,\n\n ...others\n}: HvVerticalNavigationProps) => {\n const [parentData, setParentData] = useState<NavigationData[]>([]);\n\n const [parentSelected, setParentSelected] = useState();\n\n const [headerTitle, setHeaderTitle] = useState<string | undefined>();\n\n // navigationSlider\n const withParentData = useMemo(\n () => fillDataWithParentId(parentData),\n [parentData]\n );\n\n const initialParentItem = useMemo(\n () => getParentItemById(withParentData, parentSelected),\n [withParentData, parentSelected]\n );\n\n const [parentItem, setParentItem] = useState(initialParentItem);\n\n const hasAnyChildWithData = useMemo(\n () => hasChildNavigationItems(parentData),\n [parentData]\n );\n\n useEffect(\n () => setHeaderTitle(parentItem?.label),\n [parentItem, setParentItem]\n );\n\n const navigateToParentHandler = () => {\n setParentItem(getParentItemById(withParentData, parentItem.id));\n };\n\n const navigateToChildHandler = (event, item) => {\n setParentItem(getNavigationItemById(withParentData, item.id));\n event.stopPropagation();\n };\n\n const value = useMemo(\n () => ({\n isOpen: open,\n collapsedMode,\n slider,\n headerTitle,\n setHeaderTitle,\n\n parentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n\n parentData,\n setParentData,\n parentSelected,\n setParentSelected,\n hasAnyChildWithData,\n }),\n [\n open,\n collapsedMode,\n slider,\n headerTitle,\n setHeaderTitle,\n parentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n hasAnyChildWithData,\n ]\n );\n\n const content = (\n <VerticalNavigationContext.Provider value={value}>\n <StyledRoot\n id={id}\n className={clsx(\n className,\n verticalNavigationClasses.root,\n classes?.root,\n !open && verticalNavigationClasses.collapsed,\n slider && verticalNavigationClasses.slider,\n classes?.collapsed\n )}\n hasAnyChildWithData={hasAnyChildWithData}\n {...others}\n >\n {children}\n </StyledRoot>\n </VerticalNavigationContext.Provider>\n );\n\n return content;\n};\n\nexport type HvVerticalNavigationMode = \"icon\" | \"simple\";\n\nexport type HvVerticalNavigationPosition =\n | \"static\"\n | \"relative\"\n | \"fixed\"\n | \"absolute\";\n"],"names":["HvVerticalNavigation","id","className","classes","children","open","collapsedMode","slider","others","parentData","setParentData","useState","parentSelected","setParentSelected","headerTitle","setHeaderTitle","withParentData","useMemo","fillDataWithParentId","initialParentItem","getParentItemById","parentItem","setParentItem","hasAnyChildWithData","hasChildNavigationItems","useEffect","label","navigateToParentHandler","navigateToChildHandler","event","item","getNavigationItemById","stopPropagation","value","isOpen","content","VerticalNavigationContext","Provider","StyledRoot","clsx","verticalNavigationClasses","root","collapsed"],"mappings":";;;;;;;;;;;;AA6DO,MAAMA,uBAAuBA,CAAC;AAAA,EACnCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEAC;AAAAA,EAEAC,OAAO;AAAA,EAEPC,gBAAgB;AAAA,EAEhBC,SAAS;AAAA,EAET,GAAGC;AACsB,MAAM;AAC/B,QAAM,CAACC,YAAYC,aAAa,IAAIC,MAAAA,SAA2B,CAAE,CAAA;AAEjE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,MAAU,SAAA;AAEtD,QAAM,CAACG,aAAaC,cAAc,IAAIJ,MAA8B,SAAA;AAG9DK,QAAAA,iBAAiBC,MAAAA,QACrB,MAAMC,uBAAAA,qBAAqBT,UAAU,GACrC,CAACA,UAAU,CAAC;AAGRU,QAAAA,oBAAoBF,cACxB,MAAMG,yCAAkBJ,gBAAgBJ,cAAc,GACtD,CAACI,gBAAgBJ,cAAc,CAAC;AAGlC,QAAM,CAACS,YAAYC,aAAa,IAAIX,eAASQ,iBAAiB;AAExDI,QAAAA,sBAAsBN,MAAAA,QAC1B,MAAMO,yBAAAA,wBAAwBf,UAAU,GACxC,CAACA,UAAU,CAAC;AAIZgB,kBAAA,MAAMV,eAAeM,yCAAYK,KAAK,GACtC,CAACL,YAAYC,aAAa,CAAC;AAG7B,QAAMK,0BAA0BA,MAAM;AACpCL,kBAAcF,uBAAAA,kBAAkBJ,gBAAgBK,WAAWpB,EAAE,CAAC;AAAA,EAAA;AAG1D2B,QAAAA,yBAAyBA,CAACC,OAAOC,SAAS;AAC9CR,kBAAcS,uBAAAA,sBAAsBf,gBAAgBc,KAAK7B,EAAE,CAAC;AAC5D4B,UAAMG,gBAAiB;AAAA,EAAA;AAGnBC,QAAAA,QAAQhB,MAAAA,QACZ,OAAO;AAAA,IACLiB,QAAQ7B;AAAAA,IACRC;AAAAA,IACAC;AAAAA,IACAO;AAAAA,IACAC;AAAAA,IAEAM;AAAAA,IACAL;AAAAA,IACAY;AAAAA,IACAD;AAAAA,IAEAlB;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAU;AAAAA,EAEF,IAAA,CACElB,MACAC,eACAC,QACAO,aACAC,gBACAM,YACAL,gBACAY,wBACAD,yBACAJ,mBAAmB,CACpB;AAGGY,QAAAA,UACHC,2BAAAA,IAAAA,0BAAAA,0BAA0BC,UAAQ;AAAA,IAACJ;AAAAA,IAAa7B,yCAC9CkC,sCAAU;AAAA,MACTrC;AAAAA,MACAC,WAAWqC,cAAAA,QACTrC,WACAsC,0BAAAA,QAA0BC,MAC1BtC,mCAASsC,MACT,CAACpC,QAAQmC,kCAA0BE,WACnCnC,UAAUiC,0BAA0BjC,QAAAA,QACpCJ,mCAASuC,SAAS;AAAA,MAEpBnB;AAAAA,MAAyC,GACrCf;AAAAA,MAAMJ;AAAAA,IAAAA,CAED;AAAA,EAAA,CAGd;AAEM+B,SAAAA;AACT;;"}
|