@hitachivantara/uikit-react-core 5.66.6 → 5.66.7
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/BaseDropdown/BaseDropdown.cjs +259 -241
- package/dist/cjs/BaseDropdown/BaseDropdownContext/BaseDropdownContext.cjs +6 -3
- package/dist/cjs/Button/Button.cjs +10 -2
- package/dist/cjs/Button/Button.styles.cjs +1 -1
- package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.styles.cjs +0 -1
- package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +2 -1
- package/dist/cjs/DropDownMenu/DropDownMenu.cjs +22 -5
- package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +3 -1
- package/dist/cjs/Dropdown/List/List.cjs +2 -2
- package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -1
- package/dist/cjs/MultiButton/MultiButton.styles.cjs +1 -6
- package/dist/cjs/TagsInput/TagsInput.cjs +1 -1
- package/dist/cjs/TimePicker/TimePicker.styles.cjs +0 -1
- package/dist/cjs/TreeView/TreeItem/TreeItem.cjs +2 -2
- package/dist/cjs/TreeView/TreeItem/TreeItem.styles.cjs +5 -3
- package/dist/cjs/TreeView/TreeItem/useHvTreeItem.cjs +23 -0
- package/dist/cjs/TreeView/internals/DescendantProvider.cjs +12 -16
- package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs +17 -24
- package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +4 -4
- package/dist/esm/BaseDropdown/BaseDropdown.js +261 -243
- package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js +8 -3
- package/dist/esm/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
- package/dist/esm/Button/Button.js +11 -3
- package/dist/esm/Button/Button.js.map +1 -1
- package/dist/esm/Button/Button.styles.js +1 -1
- package/dist/esm/Button/Button.styles.js.map +1 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js +0 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -1
- package/dist/esm/CheckBox/CheckBox.js.map +1 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/esm/ColorPicker/ColorPicker.styles.js +2 -1
- package/dist/esm/ColorPicker/ColorPicker.styles.js.map +1 -1
- package/dist/esm/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/DropDownMenu/DropDownMenu.js +23 -6
- package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/DropDownMenu/DropDownMenu.styles.js +3 -1
- package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +1 -1
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Dropdown/List/List.js +3 -3
- package/dist/esm/Dropdown/List/List.js.map +1 -1
- package/dist/esm/InlineEditor/InlineEditor.js +1 -1
- package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/esm/MultiButton/MultiButton.styles.js +1 -6
- package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
- package/dist/esm/SelectionList/SelectionList.js.map +1 -1
- package/dist/esm/Switch/Switch.js.map +1 -1
- package/dist/esm/TagsInput/TagsInput.js +1 -1
- package/dist/esm/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/TimePicker/TimePicker.js.map +1 -1
- package/dist/esm/TimePicker/TimePicker.styles.js +0 -1
- package/dist/esm/TimePicker/TimePicker.styles.js.map +1 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.js +2 -2
- package/dist/esm/TreeView/TreeItem/TreeItem.js.map +1 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.styles.js +5 -3
- package/dist/esm/TreeView/TreeItem/TreeItem.styles.js.map +1 -1
- package/dist/esm/TreeView/TreeItem/useHvTreeItem.js +4 -0
- package/dist/esm/TreeView/TreeItem/useHvTreeItem.js.map +1 -1
- package/dist/esm/TreeView/internals/DescendantProvider.js +12 -16
- package/dist/esm/TreeView/internals/DescendantProvider.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.js +16 -23
- package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +2 -2
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/hooks/useControlled.js.map +1 -1
- package/dist/types/index.d.ts +15 -11
- package/package.json +5 -5
- package/dist/cjs/VerticalNavigation/TreeView/descendants.cjs +0 -125
- package/dist/esm/VerticalNavigation/TreeView/descendants.js +0 -125
- package/dist/esm/VerticalNavigation/TreeView/descendants.js.map +0 -1
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
6
|
+
const BaseDropdownContext = require("../../BaseDropdown/BaseDropdownContext/BaseDropdownContext.cjs");
|
|
6
7
|
const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
|
|
7
8
|
const setId = require("../../utils/setId.cjs");
|
|
8
9
|
const utils = require("../utils.cjs");
|
|
9
10
|
const List_styles = require("./List.styles.cjs");
|
|
10
|
-
const BaseDropdownContext = require("../../BaseDropdown/BaseDropdownContext/BaseDropdownContext.cjs");
|
|
11
11
|
const ActionBar = require("../../ActionBar/ActionBar.cjs");
|
|
12
12
|
const Button = require("../../Button/Button.cjs");
|
|
13
13
|
const List = require("../../List/List.cjs");
|
|
@@ -41,7 +41,7 @@ const HvDropdownList = (props) => {
|
|
|
41
41
|
const [list, setList] = React.useState(clone(values));
|
|
42
42
|
const [allSelected, setAllSelected] = React.useState(false);
|
|
43
43
|
const [anySelected, setAnySelected] = React.useState(false);
|
|
44
|
-
const { width, height } =
|
|
44
|
+
const { width, height } = BaseDropdownContext.useBaseDropdownContext();
|
|
45
45
|
const hasChanges = React.useMemo(() => {
|
|
46
46
|
return String(getSelectedIds(values)) !== String(getSelectedIds(list));
|
|
47
47
|
}, [list, values]);
|
|
@@ -4,9 +4,7 @@ const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
|
4
4
|
const Button_styles = require("../Button/Button.styles.cjs");
|
|
5
5
|
const classes = require("../utils/classes.cjs");
|
|
6
6
|
const DropDownMenu_styles = require("../DropDownMenu/DropDownMenu.styles.cjs");
|
|
7
|
-
require("
|
|
8
|
-
require("react");
|
|
9
|
-
require("@hitachivantara/uikit-react-icons");
|
|
7
|
+
require("../DropDownMenu/DropDownMenu.cjs");
|
|
10
8
|
const { staticClasses, useClasses } = classes.createClasses("HvMultiButton", {
|
|
11
9
|
root: {
|
|
12
10
|
display: "flex",
|
|
@@ -142,9 +140,6 @@ const { staticClasses, useClasses } = classes.createClasses("HvMultiButton", {
|
|
|
142
140
|
vertical: {
|
|
143
141
|
flexDirection: "column",
|
|
144
142
|
height: "auto",
|
|
145
|
-
btnSecondary: {
|
|
146
|
-
flex: "1 1 20px"
|
|
147
|
-
},
|
|
148
143
|
"& button$button": {
|
|
149
144
|
minWidth: 32,
|
|
150
145
|
width: "100%",
|
|
@@ -72,7 +72,7 @@ const HvTagsInput = React.forwardRef(
|
|
|
72
72
|
const [value, setValue] = useControlled.useControlled(valueProp, defaultValue);
|
|
73
73
|
const [validationState, setValidationState] = useControlled.useControlled(
|
|
74
74
|
status,
|
|
75
|
-
|
|
75
|
+
"standBy"
|
|
76
76
|
);
|
|
77
77
|
const [validationMessage, setValidationMessage] = useControlled.useControlled(
|
|
78
78
|
statusMessage,
|
|
@@ -46,7 +46,7 @@ const HvTreeItem = React.forwardRef(
|
|
|
46
46
|
() => ({ element: treeItemElement, id: nodeId }),
|
|
47
47
|
[nodeId, treeItemElement]
|
|
48
48
|
);
|
|
49
|
-
const { index, parentId } = DescendantProvider.useDescendant(descendant);
|
|
49
|
+
const { index, parentId, level } = DescendantProvider.useDescendant(descendant);
|
|
50
50
|
const expandable = !!(Array.isArray(children) ? children.length : children);
|
|
51
51
|
const expanded = instance ? instance.isNodeExpanded(nodeId) : false;
|
|
52
52
|
const focused = instance ? instance.isNodeFocused(nodeId) : false;
|
|
@@ -123,7 +123,7 @@ const HvTreeItem = React.forwardRef(
|
|
|
123
123
|
...contentProps
|
|
124
124
|
}
|
|
125
125
|
),
|
|
126
|
-
children && /* @__PURE__ */ jsxRuntime.jsx(DescendantProvider.DescendantProvider, { id: nodeId, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
126
|
+
children && /* @__PURE__ */ jsxRuntime.jsx(DescendantProvider.DescendantProvider, { id: nodeId, level: level + 1, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
127
127
|
Collapse__default.default,
|
|
128
128
|
{
|
|
129
129
|
component: "ul",
|
|
@@ -61,9 +61,11 @@ const { staticClasses, useClasses } = classes.createClasses("HvTreeItem", {
|
|
|
61
61
|
display: "flex",
|
|
62
62
|
flexShrink: 0,
|
|
63
63
|
justifyContent: "center",
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
marginRight: 4,
|
|
65
|
+
width: uikitStyles.theme.space.sm,
|
|
66
|
+
":empty": {
|
|
67
|
+
width: uikitStyles.theme.space.xs
|
|
68
|
+
}
|
|
67
69
|
}
|
|
68
70
|
});
|
|
69
71
|
exports.staticClasses = staticClasses;
|
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const DescendantProvider = require("../internals/DescendantProvider.cjs");
|
|
3
5
|
const TreeViewProvider = require("../internals/TreeViewProvider.cjs");
|
|
6
|
+
function _interopNamespace(e) {
|
|
7
|
+
if (e && e.__esModule)
|
|
8
|
+
return e;
|
|
9
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
10
|
+
if (e) {
|
|
11
|
+
for (const k in e) {
|
|
12
|
+
if (k !== "default") {
|
|
13
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: () => e[k]
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
|
4
25
|
function useHvTreeItem(nodeId) {
|
|
5
26
|
const { instance, multiSelect } = TreeViewProvider.useTreeViewContext();
|
|
27
|
+
const { level = 0 } = React__namespace.useContext(DescendantProvider.DescendantContext);
|
|
6
28
|
const expandable = instance ? instance.isNodeExpandable(nodeId) : false;
|
|
7
29
|
const expanded = instance ? instance.isNodeExpanded(nodeId) : false;
|
|
8
30
|
const focused = instance ? instance.isNodeFocused(nodeId) : false;
|
|
@@ -43,6 +65,7 @@ function useHvTreeItem(nodeId) {
|
|
|
43
65
|
};
|
|
44
66
|
return {
|
|
45
67
|
instance,
|
|
68
|
+
level,
|
|
46
69
|
disabled,
|
|
47
70
|
expanded,
|
|
48
71
|
selected,
|
|
@@ -22,14 +22,6 @@ function _interopNamespace(e) {
|
|
|
22
22
|
return Object.freeze(n);
|
|
23
23
|
}
|
|
24
24
|
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
|
25
|
-
function findIndex(array, comp) {
|
|
26
|
-
for (let i = 0; i < array.length; i += 1) {
|
|
27
|
-
if (comp(array[i])) {
|
|
28
|
-
return i;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return -1;
|
|
32
|
-
}
|
|
33
25
|
function binaryFindElement(array, element) {
|
|
34
26
|
let start = 0;
|
|
35
27
|
let end = array.length - 1;
|
|
@@ -49,7 +41,9 @@ function binaryFindElement(array, element) {
|
|
|
49
41
|
}
|
|
50
42
|
return start;
|
|
51
43
|
}
|
|
52
|
-
const DescendantContext = React__namespace.createContext({
|
|
44
|
+
const DescendantContext = React__namespace.createContext({
|
|
45
|
+
level: 0
|
|
46
|
+
});
|
|
53
47
|
function usePrevious(value) {
|
|
54
48
|
const ref = React__namespace.useRef(null);
|
|
55
49
|
React__namespace.useEffect(() => {
|
|
@@ -65,10 +59,10 @@ function useDescendant(descendant) {
|
|
|
65
59
|
registerDescendant = noop,
|
|
66
60
|
unregisterDescendant = noop,
|
|
67
61
|
descendants = [],
|
|
68
|
-
parentId = null
|
|
62
|
+
parentId = null,
|
|
63
|
+
level = 0
|
|
69
64
|
} = React__namespace.useContext(DescendantContext);
|
|
70
|
-
const index = findIndex(
|
|
71
|
-
descendants,
|
|
65
|
+
const index = descendants.findIndex(
|
|
72
66
|
(item) => item.element === descendant.element
|
|
73
67
|
);
|
|
74
68
|
const previousDescendants = usePrevious(descendants);
|
|
@@ -96,10 +90,10 @@ function useDescendant(descendant) {
|
|
|
96
90
|
someDescendantsHaveChanged,
|
|
97
91
|
descendant
|
|
98
92
|
]);
|
|
99
|
-
return { parentId, index };
|
|
93
|
+
return { parentId, index, level };
|
|
100
94
|
}
|
|
101
95
|
const DescendantProvider = (props) => {
|
|
102
|
-
const { children, id } = props;
|
|
96
|
+
const { children, id, level } = props;
|
|
103
97
|
const [items, set] = React__namespace.useState([]);
|
|
104
98
|
const registerDescendant = React__namespace.useCallback(
|
|
105
99
|
({ element, ...other }) => {
|
|
@@ -142,11 +136,13 @@ const DescendantProvider = (props) => {
|
|
|
142
136
|
descendants: items,
|
|
143
137
|
registerDescendant,
|
|
144
138
|
unregisterDescendant,
|
|
145
|
-
parentId: id
|
|
139
|
+
parentId: id,
|
|
140
|
+
level
|
|
146
141
|
}),
|
|
147
|
-
[items, registerDescendant, unregisterDescendant, id]
|
|
142
|
+
[items, registerDescendant, unregisterDescendant, id, level]
|
|
148
143
|
);
|
|
149
144
|
return /* @__PURE__ */ jsxRuntime.jsx(DescendantContext.Provider, { value, children });
|
|
150
145
|
};
|
|
146
|
+
exports.DescendantContext = DescendantContext;
|
|
151
147
|
exports.DescendantProvider = DescendantProvider;
|
|
152
148
|
exports.useDescendant = useDescendant;
|
|
@@ -5,19 +5,14 @@ const React = require("react");
|
|
|
5
5
|
const useControlled = require("../../hooks/useControlled.cjs");
|
|
6
6
|
const useForkRef = require("../../hooks/useForkRef.cjs");
|
|
7
7
|
const useUniqueId = require("../../hooks/useUniqueId.cjs");
|
|
8
|
-
const
|
|
8
|
+
const DescendantProvider = require("../../TreeView/internals/DescendantProvider.cjs");
|
|
9
9
|
const TreeView_styles = require("./TreeView.styles.cjs");
|
|
10
10
|
const TreeViewContext = require("./TreeViewContext.cjs");
|
|
11
11
|
function isPrintableCharacter(string) {
|
|
12
12
|
return string && string.length === 1 && string.match(/\S/);
|
|
13
13
|
}
|
|
14
14
|
function findNextFirstChar(firstChars, startIndex, char) {
|
|
15
|
-
|
|
16
|
-
if (char === firstChars[i]) {
|
|
17
|
-
return i;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return -1;
|
|
15
|
+
return firstChars.slice(startIndex).findIndex((c) => c === char);
|
|
21
16
|
}
|
|
22
17
|
function noopSelection() {
|
|
23
18
|
return false;
|
|
@@ -101,7 +96,9 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
101
96
|
const isChildSelected = React.useCallback(
|
|
102
97
|
// the second part of the condition is to ensure that the id we're
|
|
103
98
|
// looking at is actually of a child (ie, there's at least one "-")
|
|
104
|
-
(id) =>
|
|
99
|
+
(id) => {
|
|
100
|
+
return Array().concat(selected).some((s) => s.startsWith(id) && s.includes("-"));
|
|
101
|
+
},
|
|
105
102
|
[selected]
|
|
106
103
|
);
|
|
107
104
|
const getChildrenIds = (id) => Object.keys(nodeMap.current).map((key) => {
|
|
@@ -259,12 +256,9 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
259
256
|
};
|
|
260
257
|
const toggleExpansion = React.useCallback(
|
|
261
258
|
(event, value = focusedNodeId) => {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
} else {
|
|
266
|
-
newExpanded = [value].concat(expanded);
|
|
267
|
-
}
|
|
259
|
+
if (!value)
|
|
260
|
+
return;
|
|
261
|
+
const newExpanded = expanded.includes(value) ? expanded.filter((id) => id !== value) : [value].concat(expanded);
|
|
268
262
|
if (onToggle) {
|
|
269
263
|
onToggle(event, newExpanded);
|
|
270
264
|
}
|
|
@@ -294,7 +288,7 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
294
288
|
};
|
|
295
289
|
const handleRangeArrowSelect = React.useCallback(
|
|
296
290
|
(event, nodes) => {
|
|
297
|
-
let base =
|
|
291
|
+
let base = Array().concat(selected);
|
|
298
292
|
const { start, next, current } = nodes;
|
|
299
293
|
if (!next || !current) {
|
|
300
294
|
return;
|
|
@@ -329,11 +323,11 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
329
323
|
);
|
|
330
324
|
const handleRangeSelect = React.useCallback(
|
|
331
325
|
(event, nodes) => {
|
|
332
|
-
let base =
|
|
326
|
+
let base = Array().concat(selected);
|
|
333
327
|
const { start, end } = nodes;
|
|
334
328
|
if (lastSelectionWasRange.current) {
|
|
335
329
|
base = base.filter(
|
|
336
|
-
(id) => currentRangeSelection.current.
|
|
330
|
+
(id) => !currentRangeSelection.current.includes(id)
|
|
337
331
|
);
|
|
338
332
|
}
|
|
339
333
|
let range = getNodesInRange(start, end);
|
|
@@ -356,12 +350,7 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
356
350
|
);
|
|
357
351
|
const handleMultipleSelect = React.useCallback(
|
|
358
352
|
(event, value) => {
|
|
359
|
-
|
|
360
|
-
if (selected.indexOf(value) !== -1) {
|
|
361
|
-
newSelected = selected.filter((id) => id !== value);
|
|
362
|
-
} else {
|
|
363
|
-
newSelected = [value].concat(selected);
|
|
364
|
-
}
|
|
353
|
+
const newSelected = selected.includes(value) ? selected.filter((id) => id !== value) : [value].concat(selected);
|
|
365
354
|
if (onChange) {
|
|
366
355
|
onChange(
|
|
367
356
|
event,
|
|
@@ -504,6 +493,8 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
504
493
|
firstCharMap.current = newMap;
|
|
505
494
|
}, []);
|
|
506
495
|
const handleNextArrow = (event) => {
|
|
496
|
+
if (!focusedNodeId)
|
|
497
|
+
return false;
|
|
507
498
|
if (isExpandable(focusedNodeId)) {
|
|
508
499
|
if (isExpanded(focusedNodeId)) {
|
|
509
500
|
focusNextNode(event, focusedNodeId);
|
|
@@ -514,6 +505,8 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
514
505
|
return true;
|
|
515
506
|
};
|
|
516
507
|
const handlePreviousArrow = (event) => {
|
|
508
|
+
if (!focusedNodeId)
|
|
509
|
+
return false;
|
|
517
510
|
if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {
|
|
518
511
|
toggleExpansion(event, focusedNodeId);
|
|
519
512
|
return true;
|
|
@@ -676,7 +669,7 @@ const HvVerticalNavigationTreeView = React.forwardRef(
|
|
|
676
669
|
}),
|
|
677
670
|
[isDisabled, isExpanded, isFocused, isSelected, isChildSelected]
|
|
678
671
|
);
|
|
679
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TreeViewContext.TreeViewControlContext.Provider, { value: treeControlContext, children: /* @__PURE__ */ jsxRuntime.jsx(TreeViewContext.TreeViewStateContext.Provider, { value: treeStateContext, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
672
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TreeViewContext.TreeViewControlContext.Provider, { value: treeControlContext, children: /* @__PURE__ */ jsxRuntime.jsx(TreeViewContext.TreeViewStateContext.Provider, { value: treeStateContext, children: /* @__PURE__ */ jsxRuntime.jsx(DescendantProvider.DescendantProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
680
673
|
"ul",
|
|
681
674
|
{
|
|
682
675
|
ref: handleRef,
|
|
@@ -5,9 +5,9 @@ const React = require("react");
|
|
|
5
5
|
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
6
6
|
const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
|
|
7
7
|
const useForkRef = require("../../hooks/useForkRef.cjs");
|
|
8
|
+
const DescendantProvider = require("../../TreeView/internals/DescendantProvider.cjs");
|
|
8
9
|
const setId = require("../../utils/setId.cjs");
|
|
9
10
|
const VerticalNavigationContext = require("../VerticalNavigationContext.cjs");
|
|
10
|
-
const descendants = require("./descendants.cjs");
|
|
11
11
|
const TreeViewContext = require("./TreeViewContext.cjs");
|
|
12
12
|
const TreeViewItem_styles = require("./TreeViewItem.styles.cjs");
|
|
13
13
|
const IconWrapper = require("./IconWrapper/IconWrapper.cjs");
|
|
@@ -65,7 +65,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef(
|
|
|
65
65
|
} else if (treeId && nodeId) {
|
|
66
66
|
id = `${treeId}-${nodeId}`;
|
|
67
67
|
}
|
|
68
|
-
const [treeitemElement, setTreeitemElement] = React.useState(
|
|
68
|
+
const [treeitemElement, setTreeitemElement] = React.useState();
|
|
69
69
|
const contentRef = React.useRef(null);
|
|
70
70
|
const handleRef = useForkRef.useForkRef(setTreeitemElement, ref);
|
|
71
71
|
const descendant = React.useMemo(
|
|
@@ -76,7 +76,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef(
|
|
|
76
76
|
[nodeId, treeitemElement]
|
|
77
77
|
);
|
|
78
78
|
const { isOpen, useIcons } = React.useContext(VerticalNavigationContext.VerticalNavigationContext);
|
|
79
|
-
const { index, parentId, level } =
|
|
79
|
+
const { index, parentId, level } = DescendantProvider.useDescendant(descendant);
|
|
80
80
|
const expandable = collapsible && Array.isArray(children);
|
|
81
81
|
const expanded = isExpanded ? isExpanded(nodeId) : false;
|
|
82
82
|
const focused = isFocused ? isFocused(nodeId) : false;
|
|
@@ -394,7 +394,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef(
|
|
|
394
394
|
...others,
|
|
395
395
|
children: [
|
|
396
396
|
renderedContent,
|
|
397
|
-
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
397
|
+
isOpen && /* @__PURE__ */ jsxRuntime.jsx(DescendantProvider.DescendantProvider, { id: nodeId, level: level + 1, children: renderedChildren })
|
|
398
398
|
]
|
|
399
399
|
}
|
|
400
400
|
);
|