@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.
Files changed (70) hide show
  1. package/dist/cjs/BaseDropdown/BaseDropdown.cjs +259 -241
  2. package/dist/cjs/BaseDropdown/BaseDropdownContext/BaseDropdownContext.cjs +6 -3
  3. package/dist/cjs/Button/Button.cjs +10 -2
  4. package/dist/cjs/Button/Button.styles.cjs +1 -1
  5. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.styles.cjs +0 -1
  6. package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +2 -1
  7. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +22 -5
  8. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +3 -1
  9. package/dist/cjs/Dropdown/List/List.cjs +2 -2
  10. package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -1
  11. package/dist/cjs/MultiButton/MultiButton.styles.cjs +1 -6
  12. package/dist/cjs/TagsInput/TagsInput.cjs +1 -1
  13. package/dist/cjs/TimePicker/TimePicker.styles.cjs +0 -1
  14. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs +2 -2
  15. package/dist/cjs/TreeView/TreeItem/TreeItem.styles.cjs +5 -3
  16. package/dist/cjs/TreeView/TreeItem/useHvTreeItem.cjs +23 -0
  17. package/dist/cjs/TreeView/internals/DescendantProvider.cjs +12 -16
  18. package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs +17 -24
  19. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +4 -4
  20. package/dist/esm/BaseDropdown/BaseDropdown.js +261 -243
  21. package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
  22. package/dist/esm/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js +8 -3
  23. package/dist/esm/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
  24. package/dist/esm/Button/Button.js +11 -3
  25. package/dist/esm/Button/Button.js.map +1 -1
  26. package/dist/esm/Button/Button.styles.js +1 -1
  27. package/dist/esm/Button/Button.styles.js.map +1 -1
  28. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js +0 -1
  29. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -1
  30. package/dist/esm/CheckBox/CheckBox.js.map +1 -1
  31. package/dist/esm/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  32. package/dist/esm/ColorPicker/ColorPicker.styles.js +2 -1
  33. package/dist/esm/ColorPicker/ColorPicker.styles.js.map +1 -1
  34. package/dist/esm/DatePicker/DatePicker.js.map +1 -1
  35. package/dist/esm/DropDownMenu/DropDownMenu.js +23 -6
  36. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  37. package/dist/esm/DropDownMenu/DropDownMenu.styles.js +3 -1
  38. package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  39. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  40. package/dist/esm/Dropdown/List/List.js +3 -3
  41. package/dist/esm/Dropdown/List/List.js.map +1 -1
  42. package/dist/esm/InlineEditor/InlineEditor.js +1 -1
  43. package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
  44. package/dist/esm/MultiButton/MultiButton.styles.js +1 -6
  45. package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
  46. package/dist/esm/SelectionList/SelectionList.js.map +1 -1
  47. package/dist/esm/Switch/Switch.js.map +1 -1
  48. package/dist/esm/TagsInput/TagsInput.js +1 -1
  49. package/dist/esm/TagsInput/TagsInput.js.map +1 -1
  50. package/dist/esm/TimePicker/TimePicker.js.map +1 -1
  51. package/dist/esm/TimePicker/TimePicker.styles.js +0 -1
  52. package/dist/esm/TimePicker/TimePicker.styles.js.map +1 -1
  53. package/dist/esm/TreeView/TreeItem/TreeItem.js +2 -2
  54. package/dist/esm/TreeView/TreeItem/TreeItem.js.map +1 -1
  55. package/dist/esm/TreeView/TreeItem/TreeItem.styles.js +5 -3
  56. package/dist/esm/TreeView/TreeItem/TreeItem.styles.js.map +1 -1
  57. package/dist/esm/TreeView/TreeItem/useHvTreeItem.js +4 -0
  58. package/dist/esm/TreeView/TreeItem/useHvTreeItem.js.map +1 -1
  59. package/dist/esm/TreeView/internals/DescendantProvider.js +12 -16
  60. package/dist/esm/TreeView/internals/DescendantProvider.js.map +1 -1
  61. package/dist/esm/VerticalNavigation/TreeView/TreeView.js +16 -23
  62. package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  63. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +2 -2
  64. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  65. package/dist/esm/hooks/useControlled.js.map +1 -1
  66. package/dist/types/index.d.ts +15 -11
  67. package/package.json +5 -5
  68. package/dist/cjs/VerticalNavigation/TreeView/descendants.cjs +0 -125
  69. package/dist/esm/VerticalNavigation/TreeView/descendants.js +0 -125
  70. 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 } = React.useContext(BaseDropdownContext.default);
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]);
@@ -16,7 +16,7 @@ const HvInlineEditor = (props) => {
16
16
  className,
17
17
  classes: classesProp,
18
18
  value: valueProp,
19
- defaultValue,
19
+ defaultValue = "",
20
20
  showIcon,
21
21
  component: InputComponent = Input.HvInput,
22
22
  variant = "body",
@@ -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("@emotion/react/jsx-runtime");
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
- validationStates.default.standBy
75
+ "standBy"
76
76
  );
77
77
  const [validationMessage, setValidationMessage] = useControlled.useControlled(
78
78
  statusMessage,
@@ -33,7 +33,6 @@ const { useClasses, staticClasses } = classes.createClasses("HvTimePicker", {
33
33
  dropdownPanel: {},
34
34
  icon: {},
35
35
  timePopperContainer: {
36
- backgroundColor: uikitStyles.theme.colors.atmo1,
37
36
  zIndex: 10,
38
37
  display: "flex",
39
38
  flexDirection: "row",
@@ -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
- width: 16,
65
- // TODO: review
66
- marginRight: 4
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 descendants = require("./descendants.cjs");
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
- for (let i = startIndex; i < firstChars.length; i += 1) {
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) => selected.startsWith(id) && selected.includes("-"),
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
- let newExpanded;
263
- if (expanded.indexOf(value) !== -1) {
264
- newExpanded = expanded.filter((id) => id !== value);
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 = selected.slice();
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 = selected.slice();
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.indexOf(id) === -1
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
- let newSelected;
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(descendants.DescendantProvider, { 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(null);
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 } = descendants.useDescendant(descendant);
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(descendants.DescendantProvider, { id: nodeId, level: level + 1, children: renderedChildren })
397
+ isOpen && /* @__PURE__ */ jsxRuntime.jsx(DescendantProvider.DescendantProvider, { id: nodeId, level: level + 1, children: renderedChildren })
398
398
  ]
399
399
  }
400
400
  );