@mui/x-tree-view 7.5.1 → 7.6.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.
Files changed (72) hide show
  1. package/CHANGELOG.md +87 -1
  2. package/RichTreeView/RichTreeView.js +14 -0
  3. package/RichTreeView/RichTreeView.types.d.ts +7 -1
  4. package/SimpleTreeView/SimpleTreeView.js +14 -0
  5. package/SimpleTreeView/SimpleTreeView.types.d.ts +7 -1
  6. package/TreeItem/TreeItem.js +35 -7
  7. package/TreeItem/TreeItem.types.d.ts +1 -0
  8. package/TreeItem2/TreeItem2.d.ts +12 -6
  9. package/TreeItem2/TreeItem2.js +21 -10
  10. package/TreeItem2Provider/TreeItem2Provider.js +4 -2
  11. package/TreeView/TreeView.js +14 -0
  12. package/index.js +1 -1
  13. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +3 -0
  14. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +5 -0
  15. package/internals/TreeViewItemDepthContext/index.d.ts +1 -0
  16. package/internals/TreeViewItemDepthContext/index.js +1 -0
  17. package/internals/TreeViewProvider/TreeViewContext.d.ts +2 -2
  18. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +2 -2
  19. package/internals/index.d.ts +1 -1
  20. package/internals/models/helpers.d.ts +1 -0
  21. package/internals/models/plugin.d.ts +12 -5
  22. package/internals/models/treeView.d.ts +8 -1
  23. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +28 -4
  24. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +11 -26
  25. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +20 -5
  26. package/internals/plugins/useTreeViewId/useTreeViewId.types.d.ts +10 -1
  27. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +29 -8
  28. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +50 -7
  29. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +34 -25
  30. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +22 -4
  31. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +14 -1
  32. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +5 -0
  33. package/internals/useTreeView/useTreeView.js +8 -3
  34. package/internals/useTreeView/useTreeView.types.d.ts +2 -1
  35. package/internals/utils/extractPluginParamsFromProps.d.ts +3 -2
  36. package/internals/utils/extractPluginParamsFromProps.js +4 -2
  37. package/internals/utils/tree.js +18 -1
  38. package/modern/RichTreeView/RichTreeView.js +14 -0
  39. package/modern/SimpleTreeView/SimpleTreeView.js +14 -0
  40. package/modern/TreeItem/TreeItem.js +35 -7
  41. package/modern/TreeItem2/TreeItem2.js +21 -10
  42. package/modern/TreeItem2Provider/TreeItem2Provider.js +4 -2
  43. package/modern/TreeView/TreeView.js +14 -0
  44. package/modern/index.js +1 -1
  45. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +5 -0
  46. package/modern/internals/TreeViewItemDepthContext/index.js +1 -0
  47. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +11 -26
  48. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +29 -8
  49. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +34 -25
  50. package/modern/internals/useTreeView/useTreeView.js +8 -3
  51. package/modern/internals/utils/extractPluginParamsFromProps.js +4 -2
  52. package/modern/internals/utils/tree.js +18 -1
  53. package/modern/useTreeItem2/useTreeItem2.js +20 -3
  54. package/node/RichTreeView/RichTreeView.js +14 -0
  55. package/node/SimpleTreeView/SimpleTreeView.js +14 -0
  56. package/node/TreeItem/TreeItem.js +35 -7
  57. package/node/TreeItem2/TreeItem2.js +20 -9
  58. package/node/TreeItem2Provider/TreeItem2Provider.js +4 -2
  59. package/node/TreeView/TreeView.js +14 -0
  60. package/node/index.js +1 -1
  61. package/node/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +13 -0
  62. package/node/internals/TreeViewItemDepthContext/index.js +12 -0
  63. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +11 -26
  64. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +29 -8
  65. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +34 -25
  66. package/node/internals/useTreeView/useTreeView.js +8 -3
  67. package/node/internals/utils/extractPluginParamsFromProps.js +4 -2
  68. package/node/internals/utils/tree.js +18 -1
  69. package/node/useTreeItem2/useTreeItem2.js +20 -3
  70. package/package.json +3 -3
  71. package/useTreeItem2/useTreeItem2.js +20 -3
  72. package/useTreeItem2/useTreeItem2.types.d.ts +12 -0
@@ -14,6 +14,7 @@ var _publishTreeViewEvent = require("../../utils/publishTreeViewEvent");
14
14
  var _useTreeViewContext = require("../../TreeViewProvider/useTreeViewContext");
15
15
  var _TreeViewChildrenItemProvider = require("../../TreeViewProvider/TreeViewChildrenItemProvider");
16
16
  var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.utils");
17
+ var _TreeViewItemDepthContext = require("../../TreeViewItemDepthContext");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -42,6 +43,23 @@ const useTreeViewJSXItems = ({
42
43
  })
43
44
  });
44
45
  });
46
+ return () => {
47
+ setState(prevState => {
48
+ const newItemMetaMap = (0, _extends2.default)({}, prevState.items.itemMetaMap);
49
+ const newItemMap = (0, _extends2.default)({}, prevState.items.itemMap);
50
+ delete newItemMetaMap[item.id];
51
+ delete newItemMap[item.id];
52
+ return (0, _extends2.default)({}, prevState, {
53
+ items: (0, _extends2.default)({}, prevState.items, {
54
+ itemMetaMap: newItemMetaMap,
55
+ itemMap: newItemMap
56
+ })
57
+ });
58
+ });
59
+ (0, _publishTreeViewEvent.publishTreeViewEvent)(instance, 'removeItem', {
60
+ id: item.id
61
+ });
62
+ };
45
63
  });
46
64
  const setJSXItemsOrderedChildrenIds = (parentId, orderedChildrenIds) => {
47
65
  const parentIdWithDefault = parentId ?? _useTreeViewItems.TREE_VIEW_ROOT_PARENT_ID;
@@ -56,23 +74,6 @@ const useTreeViewJSXItems = ({
56
74
  })
57
75
  }));
58
76
  };
59
- const removeJSXItem = (0, _useEventCallback.default)(itemId => {
60
- setState(prevState => {
61
- const newItemMetaMap = (0, _extends2.default)({}, prevState.items.itemMetaMap);
62
- const newItemMap = (0, _extends2.default)({}, prevState.items.itemMap);
63
- delete newItemMetaMap[itemId];
64
- delete newItemMap[itemId];
65
- return (0, _extends2.default)({}, prevState, {
66
- items: (0, _extends2.default)({}, prevState.items, {
67
- itemMetaMap: newItemMetaMap,
68
- itemMap: newItemMap
69
- })
70
- });
71
- });
72
- (0, _publishTreeViewEvent.publishTreeViewEvent)(instance, 'removeItem', {
73
- id: itemId
74
- });
75
- });
76
77
  const mapFirstCharFromJSX = (0, _useEventCallback.default)((itemId, firstChar) => {
77
78
  instance.updateFirstCharMap(firstCharMap => {
78
79
  firstCharMap[itemId] = firstChar;
@@ -89,7 +90,6 @@ const useTreeViewJSXItems = ({
89
90
  return {
90
91
  instance: {
91
92
  insertJSXItem,
92
- removeJSXItem,
93
93
  setJSXItemsOrderedChildrenIds,
94
94
  mapFirstCharFromJSX
95
95
  }
@@ -139,14 +139,13 @@ const useTreeViewJSXItemsItemPlugin = ({
139
139
  };
140
140
  }, [instance, registerChild, unregisterChild, itemId, id]);
141
141
  React.useEffect(() => {
142
- instance.insertJSXItem({
142
+ return instance.insertJSXItem({
143
143
  id: itemId,
144
144
  idAttribute: id,
145
145
  parentId,
146
146
  expandable,
147
147
  disabled
148
148
  });
149
- return () => instance.removeJSXItem(itemId);
150
149
  }, [instance, parentId, itemId, expandable, disabled, id]);
151
150
  React.useEffect(() => {
152
151
  if (label) {
@@ -163,13 +162,23 @@ useTreeViewJSXItems.itemPlugin = useTreeViewJSXItemsItemPlugin;
163
162
  useTreeViewJSXItems.wrapItem = ({
164
163
  children,
165
164
  itemId
166
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewChildrenItemProvider.TreeViewChildrenItemProvider, {
167
- itemId: itemId,
168
- children: children
169
- });
165
+ }) => {
166
+ // eslint-disable-next-line react-hooks/rules-of-hooks
167
+ const depthContext = React.useContext(_TreeViewItemDepthContext.TreeViewItemDepthContext);
168
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewChildrenItemProvider.TreeViewChildrenItemProvider, {
169
+ itemId: itemId,
170
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewItemDepthContext.TreeViewItemDepthContext.Provider, {
171
+ value: depthContext + 1,
172
+ children: children
173
+ })
174
+ });
175
+ };
170
176
  useTreeViewJSXItems.wrapRoot = ({
171
177
  children
172
178
  }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewChildrenItemProvider.TreeViewChildrenItemProvider, {
173
- children: children
179
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewItemDepthContext.TreeViewItemDepthContext.Provider, {
180
+ value: 0,
181
+ children: children
182
+ })
174
183
  });
175
184
  useTreeViewJSXItems.params = {};
@@ -58,6 +58,7 @@ const useTreeView = inParams => {
58
58
  params,
59
59
  slots: params.slots,
60
60
  slotProps: params.slotProps,
61
+ experimentalFeatures: params.experimentalFeatures,
61
62
  state,
62
63
  setState,
63
64
  rootRef: innerRootRef,
@@ -110,19 +111,23 @@ const useTreeView = inParams => {
110
111
  itemWrappers.forEach(itemWrapper => {
111
112
  finalChildren = itemWrapper({
112
113
  itemId,
113
- children: finalChildren
114
+ children: finalChildren,
115
+ instance
114
116
  });
115
117
  });
116
118
  return finalChildren;
117
119
  };
118
- const rootWrappers = plugins.map(plugin => plugin.wrapRoot).filter(wrapRoot => !!wrapRoot);
120
+ const rootWrappers = plugins.map(plugin => plugin.wrapRoot).filter(wrapRoot => !!wrapRoot)
121
+ // The wrappers are reversed to ensure that the first wrapper is the outermost one.
122
+ .reverse();
119
123
  contextValue.wrapRoot = ({
120
124
  children
121
125
  }) => {
122
126
  let finalChildren = children;
123
127
  rootWrappers.forEach(rootWrapper => {
124
128
  finalChildren = rootWrapper({
125
- children: finalChildren
129
+ children: finalChildren,
130
+ instance
126
131
  });
127
132
  });
128
133
  return finalChildren;
@@ -6,13 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.extractPluginParamsFromProps = void 0;
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
- const _excluded = ["slots", "slotProps", "apiRef"];
9
+ const _excluded = ["slots", "slotProps", "apiRef", "experimentalFeatures"];
10
10
  const extractPluginParamsFromProps = _ref => {
11
11
  let {
12
12
  props: {
13
13
  slots,
14
14
  slotProps,
15
- apiRef
15
+ apiRef,
16
+ experimentalFeatures
16
17
  },
17
18
  plugins,
18
19
  rootRef
@@ -27,6 +28,7 @@ const extractPluginParamsFromProps = _ref => {
27
28
  rootRef,
28
29
  slots: slots ?? {},
29
30
  slotProps: slotProps ?? {},
31
+ experimentalFeatures: experimentalFeatures ?? {},
30
32
  apiRef
31
33
  };
32
34
  const otherProps = {};
@@ -24,7 +24,24 @@ const getPreviousNavigableItem = (instance, itemId) => {
24
24
  if (itemIndex === 0) {
25
25
  return itemMeta.parentId;
26
26
  }
27
- let currentItemId = siblings[itemIndex - 1];
27
+
28
+ // Finds the previous navigable sibling.
29
+ let previousNavigableSiblingIndex = itemIndex - 1;
30
+ while (!instance.isItemNavigable(siblings[previousNavigableSiblingIndex]) && previousNavigableSiblingIndex >= 0) {
31
+ previousNavigableSiblingIndex -= 1;
32
+ }
33
+ if (previousNavigableSiblingIndex === -1) {
34
+ // If we are at depth 0, then it means all the items above the current item are not navigable.
35
+ if (itemMeta.parentId == null) {
36
+ return null;
37
+ }
38
+
39
+ // Otherwise, we can try to go up a level and find the previous navigable item.
40
+ return getPreviousNavigableItem(instance, itemMeta.parentId);
41
+ }
42
+
43
+ // Finds the last navigable ancestor of the previous navigable sibling.
44
+ let currentItemId = siblings[previousNavigableSiblingIndex];
28
45
  let lastNavigableChild = getLastNavigableItemInArray(instance, instance.getItemOrderedChildrenIds(currentItemId));
29
46
  while (instance.isItemExpanded(currentItemId) && lastNavigableChild != null) {
30
47
  currentItemId = lastNavigableChild;
@@ -11,6 +11,7 @@ var _utils = require("@mui/base/utils");
11
11
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
12
12
  var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewContext");
13
13
  var _useTreeItem2Utils = require("../hooks/useTreeItem2Utils");
14
+ var _TreeViewItemDepthContext = require("../internals/TreeViewItemDepthContext");
14
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
17
  const useTreeItem2 = parameters => {
@@ -22,9 +23,11 @@ const useTreeItem2 = parameters => {
22
23
  checkboxSelection
23
24
  },
24
25
  disabledItemsFocusable,
26
+ indentationAtItemLevel,
25
27
  instance,
26
28
  publicAPI
27
29
  } = (0, _useTreeViewContext.useTreeViewContext)();
30
+ const depthContext = React.useContext(_TreeViewItemDepthContext.TreeViewItemDepthContext);
28
31
  const {
29
32
  id,
30
33
  itemId,
@@ -115,7 +118,7 @@ const useTreeItem2 = parameters => {
115
118
  */
116
119
  ariaSelected = true;
117
120
  }
118
- return (0, _extends2.default)({}, externalEventHandlers, {
121
+ const response = (0, _extends2.default)({}, externalEventHandlers, {
119
122
  ref: handleRootRef,
120
123
  role: 'treeitem',
121
124
  tabIndex: instance.canItemBeTabbed(itemId) ? 0 : -1,
@@ -128,15 +131,25 @@ const useTreeItem2 = parameters => {
128
131
  onBlur: createRootHandleBlur(externalEventHandlers),
129
132
  onKeyDown: createRootHandleKeyDown(externalEventHandlers)
130
133
  });
134
+ if (indentationAtItemLevel) {
135
+ response.style = {
136
+ '--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
137
+ };
138
+ }
139
+ return response;
131
140
  };
132
141
  const getContentProps = (externalProps = {}) => {
133
142
  const externalEventHandlers = (0, _utils.extractEventHandlers)(externalProps);
134
- return (0, _extends2.default)({}, externalEventHandlers, externalProps, {
143
+ const response = (0, _extends2.default)({}, externalEventHandlers, externalProps, {
135
144
  ref: contentRef,
136
145
  onClick: createContentHandleClick(externalEventHandlers),
137
146
  onMouseDown: createContentHandleMouseDown(externalEventHandlers),
138
147
  status
139
148
  });
149
+ if (indentationAtItemLevel) {
150
+ response.indentationAtItemLevel = true;
151
+ }
152
+ return response;
140
153
  };
141
154
  const getCheckboxProps = (externalProps = {}) => {
142
155
  const externalEventHandlers = (0, _utils.extractEventHandlers)(externalProps);
@@ -162,13 +175,17 @@ const useTreeItem2 = parameters => {
162
175
  };
163
176
  const getGroupTransitionProps = (externalProps = {}) => {
164
177
  const externalEventHandlers = (0, _utils.extractEventHandlers)(externalProps);
165
- return (0, _extends2.default)({}, externalEventHandlers, {
178
+ const response = (0, _extends2.default)({}, externalEventHandlers, {
166
179
  unmountOnExit: true,
167
180
  component: 'ul',
168
181
  role: 'group',
169
182
  in: status.expanded,
170
183
  children
171
184
  }, externalProps);
185
+ if (indentationAtItemLevel) {
186
+ response.indentationAtItemLevel = true;
187
+ }
188
+ return response;
172
189
  };
173
190
  return {
174
191
  getRootProps,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-tree-view",
3
- "version": "7.5.1",
3
+ "version": "7.6.0",
4
4
  "description": "The community edition of the Tree View components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -33,9 +33,9 @@
33
33
  "directory": "packages/x-tree-view"
34
34
  },
35
35
  "dependencies": {
36
- "@babel/runtime": "^7.24.5",
36
+ "@babel/runtime": "^7.24.6",
37
37
  "@mui/base": "^5.0.0-beta.40",
38
- "@mui/system": "^5.15.14",
38
+ "@mui/system": "^5.15.15",
39
39
  "@mui/utils": "^5.15.14",
40
40
  "@types/react-transition-group": "^4.4.10",
41
41
  "clsx": "^2.1.1",
@@ -4,6 +4,7 @@ import { extractEventHandlers } from '@mui/base/utils';
4
4
  import useForkRef from '@mui/utils/useForkRef';
5
5
  import { useTreeViewContext } from '../internals/TreeViewProvider/useTreeViewContext';
6
6
  import { useTreeItem2Utils } from '../hooks/useTreeItem2Utils';
7
+ import { TreeViewItemDepthContext } from '../internals/TreeViewItemDepthContext';
7
8
  export const useTreeItem2 = parameters => {
8
9
  const {
9
10
  runItemPlugins,
@@ -13,9 +14,11 @@ export const useTreeItem2 = parameters => {
13
14
  checkboxSelection
14
15
  },
15
16
  disabledItemsFocusable,
17
+ indentationAtItemLevel,
16
18
  instance,
17
19
  publicAPI
18
20
  } = useTreeViewContext();
21
+ const depthContext = React.useContext(TreeViewItemDepthContext);
19
22
  const {
20
23
  id,
21
24
  itemId,
@@ -106,7 +109,7 @@ export const useTreeItem2 = parameters => {
106
109
  */
107
110
  ariaSelected = true;
108
111
  }
109
- return _extends({}, externalEventHandlers, {
112
+ const response = _extends({}, externalEventHandlers, {
110
113
  ref: handleRootRef,
111
114
  role: 'treeitem',
112
115
  tabIndex: instance.canItemBeTabbed(itemId) ? 0 : -1,
@@ -119,15 +122,25 @@ export const useTreeItem2 = parameters => {
119
122
  onBlur: createRootHandleBlur(externalEventHandlers),
120
123
  onKeyDown: createRootHandleKeyDown(externalEventHandlers)
121
124
  });
125
+ if (indentationAtItemLevel) {
126
+ response.style = {
127
+ '--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
128
+ };
129
+ }
130
+ return response;
122
131
  };
123
132
  const getContentProps = (externalProps = {}) => {
124
133
  const externalEventHandlers = extractEventHandlers(externalProps);
125
- return _extends({}, externalEventHandlers, externalProps, {
134
+ const response = _extends({}, externalEventHandlers, externalProps, {
126
135
  ref: contentRef,
127
136
  onClick: createContentHandleClick(externalEventHandlers),
128
137
  onMouseDown: createContentHandleMouseDown(externalEventHandlers),
129
138
  status
130
139
  });
140
+ if (indentationAtItemLevel) {
141
+ response.indentationAtItemLevel = true;
142
+ }
143
+ return response;
131
144
  };
132
145
  const getCheckboxProps = (externalProps = {}) => {
133
146
  const externalEventHandlers = extractEventHandlers(externalProps);
@@ -153,13 +166,17 @@ export const useTreeItem2 = parameters => {
153
166
  };
154
167
  const getGroupTransitionProps = (externalProps = {}) => {
155
168
  const externalEventHandlers = extractEventHandlers(externalProps);
156
- return _extends({}, externalEventHandlers, {
169
+ const response = _extends({}, externalEventHandlers, {
157
170
  unmountOnExit: true,
158
171
  component: 'ul',
159
172
  role: 'group',
160
173
  in: status.expanded,
161
174
  children
162
175
  }, externalProps);
176
+ if (indentationAtItemLevel) {
177
+ response.indentationAtItemLevel = true;
178
+ }
179
+ return response;
163
180
  };
164
181
  return {
165
182
  getRootProps,
@@ -38,6 +38,10 @@ export interface UseTreeItem2RootSlotOwnProps {
38
38
  onBlur: MuiCancellableEventHandler<React.FocusEvent<HTMLElement>>;
39
39
  onKeyDown: MuiCancellableEventHandler<React.KeyboardEvent<HTMLElement>>;
40
40
  ref: React.RefCallback<HTMLLIElement>;
41
+ /**
42
+ * Only defined when the `indentationAtItemLevel` experimental feature is enabled.
43
+ */
44
+ style?: React.CSSProperties;
41
45
  }
42
46
  export type UseTreeItem2RootSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2RootSlotOwnProps;
43
47
  export interface UseTreeItem2ContentSlotOwnProps {
@@ -45,6 +49,10 @@ export interface UseTreeItem2ContentSlotOwnProps {
45
49
  onMouseDown: MuiCancellableEventHandler<React.MouseEvent>;
46
50
  ref: React.RefCallback<HTMLDivElement> | null;
47
51
  status: UseTreeItem2Status;
52
+ /**
53
+ * Only defined when the `indentationAtItemLevel` experimental feature is enabled.
54
+ */
55
+ indentationAtItemLevel?: true;
48
56
  }
49
57
  export type UseTreeItem2ContentSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2ContentSlotOwnProps;
50
58
  export interface UseTreeItem2IconContainerSlotOwnProps {
@@ -69,6 +77,10 @@ export interface UseTreeItem2GroupTransitionSlotOwnProps {
69
77
  component: 'ul';
70
78
  role: 'group';
71
79
  children: React.ReactNode;
80
+ /**
81
+ * Only defined when the `indentationAtItemLevel` experimental feature is enabled.
82
+ */
83
+ indentationAtItemLevel?: true;
72
84
  }
73
85
  export type UseTreeItem2GroupTransitionSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2GroupTransitionSlotOwnProps;
74
86
  export interface UseTreeItem2Status {