@mui/x-tree-view 7.0.0-alpha.1 → 7.0.0-alpha.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 (203) hide show
  1. package/CHANGELOG.md +1254 -188
  2. package/README.md +0 -1
  3. package/RichTreeView/RichTreeView.d.ts +20 -0
  4. package/RichTreeView/RichTreeView.js +324 -0
  5. package/RichTreeView/RichTreeView.types.d.ts +55 -0
  6. package/RichTreeView/RichTreeView.types.js +1 -0
  7. package/RichTreeView/index.d.ts +3 -0
  8. package/RichTreeView/index.js +3 -0
  9. package/RichTreeView/package.json +6 -0
  10. package/RichTreeView/richTreeViewClasses.d.ts +7 -0
  11. package/RichTreeView/richTreeViewClasses.js +6 -0
  12. package/SimpleTreeView/SimpleTreeView.d.ts +20 -0
  13. package/SimpleTreeView/SimpleTreeView.js +268 -0
  14. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +6 -0
  15. package/SimpleTreeView/SimpleTreeView.plugins.js +5 -0
  16. package/SimpleTreeView/SimpleTreeView.types.d.ts +38 -0
  17. package/SimpleTreeView/SimpleTreeView.types.js +1 -0
  18. package/SimpleTreeView/index.d.ts +3 -0
  19. package/SimpleTreeView/index.js +3 -0
  20. package/SimpleTreeView/package.json +6 -0
  21. package/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
  22. package/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  23. package/TreeItem/TreeItem.js +44 -89
  24. package/TreeItem/TreeItem.types.d.ts +2 -1
  25. package/TreeItem/index.d.ts +2 -2
  26. package/TreeItem/index.js +2 -2
  27. package/TreeItem/useTreeItem.js +5 -5
  28. package/TreeView/TreeView.d.ts +4 -0
  29. package/TreeView/TreeView.js +80 -87
  30. package/TreeView/TreeView.types.d.ts +4 -26
  31. package/TreeView/index.d.ts +1 -1
  32. package/index.d.ts +3 -0
  33. package/index.js +5 -2
  34. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -2
  35. package/internals/TreeViewProvider/TreeViewContext.js +1 -14
  36. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -3
  37. package/internals/TreeViewProvider/useTreeViewContext.js +7 -1
  38. package/internals/corePlugins/corePlugins.d.ts +1 -1
  39. package/internals/corePlugins/corePlugins.js +1 -1
  40. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -5
  41. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  42. package/internals/hooks/useLazyRef.d.ts +2 -0
  43. package/internals/hooks/useLazyRef.js +11 -0
  44. package/internals/hooks/useOnMount.d.ts +2 -0
  45. package/internals/hooks/useOnMount.js +7 -0
  46. package/internals/hooks/useTimeout.d.ts +9 -0
  47. package/internals/hooks/useTimeout.js +28 -0
  48. package/internals/models/plugin.d.ts +23 -0
  49. package/internals/models/treeView.d.ts +5 -1
  50. package/internals/plugins/defaultPlugins.d.ts +3 -2
  51. package/internals/plugins/defaultPlugins.js +2 -1
  52. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -6
  53. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.d.ts +1 -6
  54. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  55. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +12 -5
  56. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +13 -6
  57. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +4 -1
  58. package/internals/plugins/useTreeViewId/index.d.ts +2 -0
  59. package/internals/plugins/useTreeViewId/index.js +1 -0
  60. package/internals/plugins/useTreeViewId/useTreeViewId.d.ts +3 -0
  61. package/internals/plugins/useTreeViewId/useTreeViewId.js +18 -0
  62. package/internals/plugins/useTreeViewId/useTreeViewId.types.d.ts +17 -0
  63. package/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
  64. package/internals/plugins/useTreeViewJSXNodes/index.d.ts +2 -0
  65. package/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
  66. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.d.ts +3 -0
  67. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +114 -0
  68. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.d.ts +16 -0
  69. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
  70. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +20 -9
  71. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +5 -2
  72. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +83 -18
  73. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +48 -5
  74. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +1 -1
  75. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
  76. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +15 -8
  77. package/internals/useTreeView/useTreeView.js +40 -3
  78. package/internals/useTreeView/useTreeView.types.d.ts +2 -1
  79. package/internals/utils/warning.d.ts +1 -0
  80. package/internals/utils/warning.js +14 -0
  81. package/legacy/RichTreeView/RichTreeView.js +317 -0
  82. package/legacy/RichTreeView/RichTreeView.types.js +1 -0
  83. package/legacy/RichTreeView/index.js +3 -0
  84. package/legacy/RichTreeView/richTreeViewClasses.js +6 -0
  85. package/legacy/SimpleTreeView/SimpleTreeView.js +264 -0
  86. package/legacy/SimpleTreeView/SimpleTreeView.plugins.js +6 -0
  87. package/legacy/SimpleTreeView/SimpleTreeView.types.js +1 -0
  88. package/legacy/SimpleTreeView/index.js +3 -0
  89. package/legacy/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  90. package/legacy/TreeItem/TreeItem.js +49 -103
  91. package/legacy/TreeItem/index.js +2 -2
  92. package/legacy/TreeItem/useTreeItem.js +5 -5
  93. package/legacy/TreeView/TreeView.js +80 -82
  94. package/legacy/index.js +5 -2
  95. package/legacy/internals/TreeViewProvider/TreeViewContext.js +1 -14
  96. package/legacy/internals/TreeViewProvider/useTreeViewContext.js +5 -1
  97. package/legacy/internals/corePlugins/corePlugins.js +1 -1
  98. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  99. package/legacy/internals/hooks/useLazyRef.js +11 -0
  100. package/legacy/internals/hooks/useOnMount.js +7 -0
  101. package/legacy/internals/hooks/useTimeout.js +38 -0
  102. package/legacy/internals/plugins/defaultPlugins.js +2 -1
  103. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +11 -8
  104. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  105. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +13 -6
  106. package/legacy/internals/plugins/useTreeViewId/index.js +1 -0
  107. package/legacy/internals/plugins/useTreeViewId/useTreeViewId.js +21 -0
  108. package/legacy/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
  109. package/legacy/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
  110. package/legacy/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +120 -0
  111. package/legacy/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
  112. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +20 -9
  113. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +89 -20
  114. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +45 -28
  115. package/legacy/internals/useTreeView/useTreeView.js +39 -3
  116. package/legacy/internals/utils/warning.js +15 -0
  117. package/legacy/models/index.js +1 -0
  118. package/legacy/models/items.js +1 -0
  119. package/models/index.d.ts +1 -0
  120. package/models/index.js +1 -0
  121. package/models/items.d.ts +7 -0
  122. package/models/items.js +1 -0
  123. package/models/package.json +6 -0
  124. package/modern/RichTreeView/RichTreeView.js +322 -0
  125. package/modern/RichTreeView/RichTreeView.types.js +1 -0
  126. package/modern/RichTreeView/index.js +3 -0
  127. package/modern/RichTreeView/richTreeViewClasses.js +6 -0
  128. package/modern/SimpleTreeView/SimpleTreeView.js +267 -0
  129. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +5 -0
  130. package/modern/SimpleTreeView/SimpleTreeView.types.js +1 -0
  131. package/modern/SimpleTreeView/index.js +3 -0
  132. package/modern/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  133. package/modern/TreeItem/TreeItem.js +44 -88
  134. package/modern/TreeItem/index.js +2 -2
  135. package/modern/TreeItem/useTreeItem.js +5 -5
  136. package/modern/TreeView/TreeView.js +80 -87
  137. package/modern/index.js +5 -2
  138. package/modern/internals/TreeViewProvider/TreeViewContext.js +1 -14
  139. package/modern/internals/TreeViewProvider/useTreeViewContext.js +7 -1
  140. package/modern/internals/corePlugins/corePlugins.js +1 -1
  141. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  142. package/modern/internals/hooks/useLazyRef.js +11 -0
  143. package/modern/internals/hooks/useOnMount.js +7 -0
  144. package/modern/internals/hooks/useTimeout.js +28 -0
  145. package/modern/internals/plugins/defaultPlugins.js +2 -1
  146. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -6
  147. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  148. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -6
  149. package/modern/internals/plugins/useTreeViewId/index.js +1 -0
  150. package/modern/internals/plugins/useTreeViewId/useTreeViewId.js +18 -0
  151. package/modern/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
  152. package/modern/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
  153. package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +113 -0
  154. package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
  155. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +19 -9
  156. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +82 -18
  157. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
  158. package/modern/internals/useTreeView/useTreeView.js +40 -3
  159. package/modern/internals/utils/warning.js +14 -0
  160. package/modern/models/index.js +1 -0
  161. package/modern/models/items.js +1 -0
  162. package/node/RichTreeView/RichTreeView.js +330 -0
  163. package/node/RichTreeView/RichTreeView.types.js +5 -0
  164. package/node/RichTreeView/index.js +27 -0
  165. package/node/RichTreeView/richTreeViewClasses.js +14 -0
  166. package/node/SimpleTreeView/SimpleTreeView.js +275 -0
  167. package/node/SimpleTreeView/SimpleTreeView.plugins.js +11 -0
  168. package/node/SimpleTreeView/SimpleTreeView.types.js +5 -0
  169. package/node/SimpleTreeView/index.js +27 -0
  170. package/node/SimpleTreeView/simpleTreeViewClasses.js +14 -0
  171. package/node/TreeItem/TreeItem.js +44 -88
  172. package/node/TreeItem/index.js +11 -15
  173. package/node/TreeItem/useTreeItem.js +5 -5
  174. package/node/TreeView/TreeView.js +80 -87
  175. package/node/index.js +38 -2
  176. package/node/internals/TreeViewProvider/TreeViewContext.js +2 -15
  177. package/node/internals/TreeViewProvider/useTreeViewContext.js +7 -1
  178. package/node/internals/corePlugins/corePlugins.js +1 -1
  179. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  180. package/node/internals/hooks/useLazyRef.js +19 -0
  181. package/node/internals/hooks/useOnMount.js +15 -0
  182. package/node/internals/hooks/useTimeout.js +34 -0
  183. package/node/internals/plugins/defaultPlugins.js +2 -1
  184. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -7
  185. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  186. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -6
  187. package/node/internals/plugins/useTreeViewId/index.js +12 -0
  188. package/node/internals/plugins/useTreeViewId/useTreeViewId.js +28 -0
  189. package/node/internals/plugins/useTreeViewId/useTreeViewId.types.js +5 -0
  190. package/node/internals/plugins/useTreeViewJSXNodes/index.js +12 -0
  191. package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +123 -0
  192. package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +5 -0
  193. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +19 -9
  194. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +82 -18
  195. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
  196. package/node/internals/useTreeView/useTreeView.js +40 -3
  197. package/node/internals/utils/warning.js +21 -0
  198. package/node/models/index.js +16 -0
  199. package/node/models/items.js +5 -0
  200. package/package.json +8 -7
  201. package/themeAugmentation/components.d.ts +14 -4
  202. package/themeAugmentation/overrides.d.ts +8 -4
  203. package/themeAugmentation/props.d.ts +7 -3
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _SimpleTreeView = require("./SimpleTreeView");
7
+ Object.keys(_SimpleTreeView).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _SimpleTreeView[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _SimpleTreeView[key];
14
+ }
15
+ });
16
+ });
17
+ var _simpleTreeViewClasses = require("./simpleTreeViewClasses");
18
+ Object.keys(_simpleTreeViewClasses).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _simpleTreeViewClasses[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _simpleTreeViewClasses[key];
25
+ }
26
+ });
27
+ });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getSimpleTreeViewUtilityClass = getSimpleTreeViewUtilityClass;
8
+ exports.simpleTreeViewClasses = void 0;
9
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
10
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
11
+ function getSimpleTreeViewUtilityClass(slot) {
12
+ return (0, _generateUtilityClass.default)('MuiSimpleTreeView', slot);
13
+ }
14
+ const simpleTreeViewClasses = exports.simpleTreeViewClasses = (0, _generateUtilityClasses.default)('MuiSimpleTreeView', ['root']);
@@ -12,17 +12,14 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
14
14
  var _styles = require("@mui/material/styles");
15
- var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
16
- var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
17
15
  var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
18
16
  var _elementTypeAcceptingRef = _interopRequireDefault(require("@mui/utils/elementTypeAcceptingRef"));
19
17
  var _base = require("@mui/base");
20
- var _DescendantProvider = require("../internals/TreeViewProvider/DescendantProvider");
21
18
  var _TreeItemContent = require("./TreeItemContent");
22
19
  var _treeItemClasses = require("./treeItemClasses");
23
20
  var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewContext");
24
21
  var _jsxRuntime = require("react/jsx-runtime");
25
- const _excluded = ["children", "className", "collapseIcon", "ContentComponent", "ContentProps", "endIcon", "expandIcon", "disabled", "icon", "id", "label", "nodeId", "onClick", "onMouseDown", "TransitionComponent", "TransitionProps"];
22
+ const _excluded = ["children", "className", "collapseIcon", "ContentComponent", "ContentProps", "endIcon", "expandIcon", "icon", "nodeId", "id", "label", "onClick", "onMouseDown", "TransitionComponent", "TransitionProps"];
26
23
  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); }
27
24
  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 && Object.prototype.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; }
28
25
  const useUtilityClasses = ownerState => {
@@ -140,11 +137,26 @@ const TreeItemGroup = (0, _styles.styled)(_Collapse.default, {
140
137
  *
141
138
  * - [TreeItem API](https://mui.com/x/api/tree-view/tree-item/)
142
139
  */
143
- const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, ref) {
144
- const props = (0, _styles.useThemeProps)({
140
+ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, inRef) {
141
+ const {
142
+ icons: contextIcons,
143
+ runItemPlugins,
144
+ multiSelect,
145
+ disabledItemsFocusable,
146
+ instance
147
+ } = (0, _useTreeViewContext.useTreeViewContext)();
148
+ const inPropsWithTheme = (0, _styles.useThemeProps)({
145
149
  props: inProps,
146
150
  name: 'MuiTreeItem'
147
151
  });
152
+ const {
153
+ props,
154
+ ref,
155
+ wrapItem
156
+ } = runItemPlugins({
157
+ props: inPropsWithTheme,
158
+ ref: inRef
159
+ });
148
160
  const {
149
161
  children,
150
162
  className,
@@ -153,46 +165,21 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
153
165
  ContentProps,
154
166
  endIcon,
155
167
  expandIcon,
156
- disabled: disabledProp,
157
168
  icon,
158
- id: idProp,
159
- label,
160
169
  nodeId,
170
+ id,
171
+ label,
161
172
  onClick,
162
173
  onMouseDown,
163
174
  TransitionComponent = _Collapse.default,
164
175
  TransitionProps
165
176
  } = props,
166
177
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
167
- const {
168
- icons: contextIcons,
169
- multiSelect,
170
- disabledItemsFocusable,
171
- treeId,
172
- instance
173
- } = (0, _useTreeViewContext.useTreeViewContext)();
174
- let id;
175
- if (idProp != null) {
176
- id = idProp;
177
- } else if (treeId && nodeId) {
178
- id = `${treeId}-${nodeId}`;
179
- }
180
- const [treeItemElement, setTreeItemElement] = React.useState(null);
181
- const contentRef = React.useRef(null);
182
- const handleRef = (0, _useForkRef.default)(setTreeItemElement, ref);
183
- const descendant = React.useMemo(() => ({
184
- element: treeItemElement,
185
- id: nodeId
186
- }), [nodeId, treeItemElement]);
187
- const {
188
- index,
189
- parentId
190
- } = (0, _DescendantProvider.useDescendant)(descendant);
191
178
  const expandable = Boolean(Array.isArray(children) ? children.length : children);
192
- const expanded = instance ? instance.isNodeExpanded(nodeId) : false;
193
- const focused = instance ? instance.isNodeFocused(nodeId) : false;
194
- const selected = instance ? instance.isNodeSelected(nodeId) : false;
195
- const disabled = instance ? instance.isNodeDisabled(nodeId) : false;
179
+ const expanded = instance.isNodeExpanded(nodeId);
180
+ const focused = instance.isNodeFocused(nodeId);
181
+ const selected = instance.isNodeSelected(nodeId);
182
+ const disabled = instance.isNodeDisabled(nodeId);
196
183
  const ownerState = (0, _extends2.default)({}, props, {
197
184
  expanded,
198
185
  focused,
@@ -214,27 +201,6 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
214
201
  } else {
215
202
  displayIcon = endIcon || contextIcons.defaultEndIcon;
216
203
  }
217
- React.useEffect(() => {
218
- // On the first render a node's index will be -1. We want to wait for the real index.
219
- if (instance && index !== -1) {
220
- instance.updateNode({
221
- id: nodeId,
222
- idAttribute: id,
223
- index,
224
- parentId,
225
- expandable,
226
- disabled: disabledProp
227
- });
228
- return () => instance.removeNode(nodeId);
229
- }
230
- return undefined;
231
- }, [instance, parentId, index, nodeId, expandable, disabledProp, id]);
232
- React.useEffect(() => {
233
- if (instance && label) {
234
- return instance.mapFirstChar(nodeId, (contentRef.current?.textContent ?? '').substring(0, 1).toLowerCase());
235
- }
236
- return undefined;
237
- }, [instance, nodeId, label]);
238
204
  let ariaSelected;
239
205
  if (multiSelect) {
240
206
  ariaSelected = selected;
@@ -250,36 +216,28 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
250
216
  function handleFocus(event) {
251
217
  // DOM focus stays on the tree which manages focus with aria-activedescendant
252
218
  if (event.target === event.currentTarget) {
253
- let rootElement;
254
- if (typeof event.target.getRootNode === 'function') {
255
- rootElement = event.target.getRootNode();
256
- } else {
257
- rootElement = (0, _ownerDocument.default)(event.target);
258
- }
259
- rootElement.getElementById(treeId).focus({
260
- preventScroll: true
261
- });
219
+ instance.focusRoot();
262
220
  }
263
- const unfocusable = !disabledItemsFocusable && disabled;
264
- if (instance && !focused && event.currentTarget === event.target && !unfocusable) {
221
+ const canBeFocused = !disabled || disabledItemsFocusable;
222
+ if (!focused && canBeFocused && event.currentTarget === event.target) {
265
223
  instance.focusNode(event, nodeId);
266
224
  }
267
225
  }
268
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TreeItemRoot, (0, _extends2.default)({
226
+ const idAttribute = instance.getTreeItemId(nodeId, id);
227
+ const item = /*#__PURE__*/(0, _jsxRuntime.jsxs)(TreeItemRoot, (0, _extends2.default)({
269
228
  className: (0, _clsx.default)(classes.root, className),
270
229
  role: "treeitem",
271
230
  "aria-expanded": expandable ? expanded : undefined,
272
231
  "aria-selected": ariaSelected,
273
232
  "aria-disabled": disabled || undefined,
274
- id: id,
233
+ id: idAttribute,
275
234
  tabIndex: -1
276
235
  }, other, {
277
236
  ownerState: ownerState,
278
237
  onFocus: handleFocus,
279
- ref: handleRef,
238
+ ref: ref,
280
239
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTreeItemContent, (0, _extends2.default)({
281
240
  as: ContentComponent,
282
- ref: contentRef,
283
241
  classes: {
284
242
  root: classes.content,
285
243
  expanded: classes.expanded,
@@ -297,22 +255,20 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
297
255
  expansionIcon: expansionIcon,
298
256
  displayIcon: displayIcon,
299
257
  ownerState: ownerState
300
- }, ContentProps)), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(_DescendantProvider.DescendantProvider, {
301
- id: nodeId,
302
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemGroup, (0, _extends2.default)({
303
- as: TransitionComponent,
304
- unmountOnExit: true,
305
- className: classes.group,
306
- in: expanded,
307
- component: "ul",
308
- role: "group"
309
- }, TransitionProps, {
310
- children: children
311
- }))
312
- })]
258
+ }, ContentProps)), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemGroup, (0, _extends2.default)({
259
+ as: TransitionComponent,
260
+ unmountOnExit: true,
261
+ className: classes.group,
262
+ in: expanded,
263
+ component: "ul",
264
+ role: "group"
265
+ }, TransitionProps, {
266
+ children: children
267
+ }))]
313
268
  }));
269
+ return wrapItem(item);
314
270
  });
315
- process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
271
+ TreeItem.propTypes = {
316
272
  // ----------------------------- Warning --------------------------------
317
273
  // | These PropTypes are generated from the TypeScript type definitions |
318
274
  // | To update them edit the TypeScript types and run "yarn proptypes" |
@@ -387,4 +343,4 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
387
343
  * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
388
344
  */
389
345
  TransitionProps: _propTypes.default.object
390
- } : void 0;
346
+ };
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
+ TreeItem: true,
7
8
  TreeItemContent: true
8
9
  };
10
+ Object.defineProperty(exports, "TreeItem", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _TreeItem.TreeItem;
14
+ }
15
+ });
9
16
  Object.defineProperty(exports, "TreeItemContent", {
10
17
  enumerable: true,
11
18
  get: function () {
@@ -13,14 +20,15 @@ Object.defineProperty(exports, "TreeItemContent", {
13
20
  }
14
21
  });
15
22
  var _TreeItem = require("./TreeItem");
16
- Object.keys(_TreeItem).forEach(function (key) {
23
+ var _treeItemClasses = require("./treeItemClasses");
24
+ Object.keys(_treeItemClasses).forEach(function (key) {
17
25
  if (key === "default" || key === "__esModule") return;
18
26
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
19
- if (key in exports && exports[key] === _TreeItem[key]) return;
27
+ if (key in exports && exports[key] === _treeItemClasses[key]) return;
20
28
  Object.defineProperty(exports, key, {
21
29
  enumerable: true,
22
30
  get: function () {
23
- return _TreeItem[key];
31
+ return _treeItemClasses[key];
24
32
  }
25
33
  });
26
34
  });
@@ -36,16 +44,4 @@ Object.keys(_useTreeItem).forEach(function (key) {
36
44
  }
37
45
  });
38
46
  });
39
- var _treeItemClasses = require("./treeItemClasses");
40
- Object.keys(_treeItemClasses).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
43
- if (key in exports && exports[key] === _treeItemClasses[key]) return;
44
- Object.defineProperty(exports, key, {
45
- enumerable: true,
46
- get: function () {
47
- return _treeItemClasses[key];
48
- }
49
- });
50
- });
51
47
  var _TreeItemContent = require("./TreeItemContent");
@@ -10,11 +10,11 @@ function useTreeItem(nodeId) {
10
10
  instance,
11
11
  multiSelect
12
12
  } = (0, _useTreeViewContext.useTreeViewContext)();
13
- const expandable = instance ? instance.isNodeExpandable(nodeId) : false;
14
- const expanded = instance ? instance.isNodeExpanded(nodeId) : false;
15
- const focused = instance ? instance.isNodeFocused(nodeId) : false;
16
- const selected = instance ? instance.isNodeSelected(nodeId) : false;
17
- const disabled = instance ? instance.isNodeDisabled(nodeId) : false;
13
+ const expandable = instance.isNodeExpandable(nodeId);
14
+ const expanded = instance.isNodeExpanded(nodeId);
15
+ const focused = instance.isNodeFocused(nodeId);
16
+ const selected = instance.isNodeSelected(nodeId);
17
+ const disabled = instance.isNodeDisabled(nodeId);
18
18
  const handleExpansion = event => {
19
19
  if (instance && !disabled) {
20
20
  if (!focused) {
@@ -6,18 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.TreeView = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var React = _interopRequireWildcard(require("react"));
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _styles = require("@mui/material/styles");
13
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
- var _utils = require("@mui/base/utils");
15
13
  var _treeViewClasses = require("./treeViewClasses");
16
- var _useTreeView = require("../internals/useTreeView");
17
- var _TreeViewProvider = require("../internals/TreeViewProvider");
18
- var _plugins = require("../internals/plugins");
14
+ var _SimpleTreeView = require("../SimpleTreeView");
19
15
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["disabledItemsFocusable", "expanded", "defaultExpanded", "onNodeToggle", "onNodeFocus", "disableSelection", "defaultSelected", "selected", "multiSelect", "onNodeSelect", "id", "defaultCollapseIcon", "defaultEndIcon", "defaultExpandIcon", "defaultParentIcon", "children"];
21
16
  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); }
22
17
  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 && Object.prototype.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; }
23
18
  const useUtilityClasses = ownerState => {
@@ -29,17 +24,22 @@ const useUtilityClasses = ownerState => {
29
24
  };
30
25
  return (0, _composeClasses.default)(slots, _treeViewClasses.getTreeViewUtilityClass, classes);
31
26
  };
32
- const TreeViewRoot = (0, _styles.styled)('ul', {
27
+ const TreeViewRoot = (0, _styles.styled)(_SimpleTreeView.SimpleTreeViewRoot, {
33
28
  name: 'MuiTreeView',
34
29
  slot: 'Root',
35
30
  overridesResolver: (props, styles) => styles.root
36
- })({
37
- padding: 0,
38
- margin: 0,
39
- listStyle: 'none',
40
- outline: 0
41
- });
31
+ })({});
32
+ let warnedOnce = false;
33
+ const warn = () => {
34
+ if (!warnedOnce) {
35
+ console.warn(['MUI: The TreeView component was renamed SimpleTreeView.', 'The component with the old naming will be removed in the version v8.0.0.', '', "You should use `import { SimpleTreeView } from '@mui/x-tree-view'`", "or `import { SimpleTreeView } from '@mui/x-tree-view/TreeView'`"].join('\n'));
36
+ warnedOnce = true;
37
+ }
38
+ };
39
+
42
40
  /**
41
+ * This component has been deprecated in favor of the new `SimpleTreeView` component.
42
+ * You can have a look at how to migrate to the new component in the v7 [migration guide](https://next.mui.com/x/migration/migration-tree-view-v6/#use-simpletreeview-instead-of-treeview)
43
43
  *
44
44
  * Demos:
45
45
  *
@@ -48,72 +48,25 @@ const TreeViewRoot = (0, _styles.styled)('ul', {
48
48
  * API:
49
49
  *
50
50
  * - [TreeView API](https://mui.com/x/api/tree-view/tree-view/)
51
+ *
52
+ * @deprecated
51
53
  */
52
54
  const TreeView = exports.TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
53
- const themeProps = (0, _styles.useThemeProps)({
55
+ if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {
56
+ warn();
57
+ }
58
+ const props = (0, _styles.useThemeProps)({
54
59
  props: inProps,
55
60
  name: 'MuiTreeView'
56
61
  });
57
- const ownerState = themeProps;
58
- const _ref = themeProps,
59
- {
60
- // Headless implementation
61
- disabledItemsFocusable,
62
- expanded,
63
- defaultExpanded,
64
- onNodeToggle,
65
- onNodeFocus,
66
- disableSelection,
67
- defaultSelected,
68
- selected,
69
- multiSelect,
70
- onNodeSelect,
71
- id,
72
- defaultCollapseIcon,
73
- defaultEndIcon,
74
- defaultExpandIcon,
75
- defaultParentIcon,
76
- // Component implementation
77
- children
78
- } = _ref,
79
- other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
80
- const {
81
- getRootProps,
82
- contextValue
83
- } = (0, _useTreeView.useTreeView)({
84
- disabledItemsFocusable,
85
- expanded,
86
- defaultExpanded,
87
- onNodeToggle,
88
- onNodeFocus,
89
- disableSelection,
90
- defaultSelected,
91
- selected,
92
- multiSelect,
93
- onNodeSelect,
94
- id,
95
- defaultCollapseIcon,
96
- defaultEndIcon,
97
- defaultExpandIcon,
98
- defaultParentIcon,
99
- plugins: _plugins.DEFAULT_TREE_VIEW_PLUGINS,
100
- rootRef: ref
101
- });
102
- const classes = useUtilityClasses(themeProps);
103
- const rootProps = (0, _utils.useSlotProps)({
104
- elementType: TreeViewRoot,
105
- externalSlotProps: {},
106
- externalForwardedProps: other,
107
- className: classes.root,
108
- getSlotProps: getRootProps,
109
- ownerState
110
- });
111
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
112
- value: contextValue,
113
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeViewRoot, (0, _extends2.default)({}, rootProps, {
114
- children: children
115
- }))
116
- });
62
+ const classes = useUtilityClasses(props);
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SimpleTreeView.SimpleTreeView, (0, _extends2.default)({}, props, {
64
+ ref: ref,
65
+ classes: classes,
66
+ slots: (0, _extends2.default)({
67
+ root: TreeViewRoot
68
+ }, props.slots)
69
+ }));
117
70
  });
118
71
  process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
119
72
  // ----------------------------- Warning --------------------------------
@@ -146,7 +99,7 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
146
99
  * Used when the item's expansion is not controlled.
147
100
  * @default []
148
101
  */
149
- defaultExpanded: _propTypes.default.arrayOf(_propTypes.default.string),
102
+ defaultExpandedNodes: _propTypes.default.arrayOf(_propTypes.default.string),
150
103
  /**
151
104
  * The default icon used to expand the node.
152
105
  */
@@ -161,7 +114,7 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
161
114
  * When `multiSelect` is true this takes an array of strings; when false (default) a string.
162
115
  * @default []
163
116
  */
164
- defaultSelected: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.string]),
117
+ defaultSelectedNodes: _propTypes.default.any,
165
118
  /**
166
119
  * If `true`, will allow focus on disabled items.
167
120
  * @default false
@@ -176,7 +129,25 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
176
129
  * Expanded node ids.
177
130
  * Used when the item's expansion is controlled.
178
131
  */
179
- expanded: _propTypes.default.arrayOf(_propTypes.default.string),
132
+ expandedNodes: _propTypes.default.arrayOf(_propTypes.default.string),
133
+ /**
134
+ * Used to determine the string label for a given item.
135
+ *
136
+ * @template R
137
+ * @param {R} item The item to check.
138
+ * @returns {string} The id of the item.
139
+ * @default `(item) => item.id`
140
+ */
141
+ getItemId: _propTypes.default.func,
142
+ /**
143
+ * Used to determine the string label for a given item.
144
+ *
145
+ * @template R
146
+ * @param {R} item The item to check.
147
+ * @returns {string} The label of the item.
148
+ * @default `(item) => item.label`
149
+ */
150
+ getItemLabel: _propTypes.default.func,
180
151
  /**
181
152
  * This prop is used to help implement the accessibility logic.
182
153
  * If you don't provide this prop. It falls back to a randomly generated id.
@@ -187,6 +158,19 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
187
158
  * @default false
188
159
  */
189
160
  multiSelect: _propTypes.default.bool,
161
+ /**
162
+ * Callback fired when tree items are expanded/collapsed.
163
+ * @param {React.SyntheticEvent} event The event source of the callback.
164
+ * @param {array} nodeIds The ids of the expanded nodes.
165
+ */
166
+ onExpandedNodesChange: _propTypes.default.func,
167
+ /**
168
+ * Callback fired when a tree item is expanded or collapsed.
169
+ * @param {React.SyntheticEvent} event The event source of the callback.
170
+ * @param {array} nodeId The nodeId of the modified node.
171
+ * @param {array} isExpanded `true` if the node has just been expanded, `false` if it has just been collapsed.
172
+ */
173
+ onNodeExpansionToggle: _propTypes.default.func,
190
174
  /**
191
175
  * Callback fired when tree items are focused.
192
176
  * @param {React.SyntheticEvent} event The event source of the callback **Warning**: This is a generic event not a focus event.
@@ -195,23 +179,32 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
195
179
  */
196
180
  onNodeFocus: _propTypes.default.func,
197
181
  /**
198
- * Callback fired when tree items are selected/unselected.
199
- * @param {React.SyntheticEvent} event The event source of the callback
200
- * @param {string[] | string} nodeIds Ids of the selected nodes. When `multiSelect` is true
201
- * this is an array of strings; when false (default) a string.
182
+ * Callback fired when a tree item is selected or deselected.
183
+ * @param {React.SyntheticEvent} event The event source of the callback.
184
+ * @param {array} nodeId The nodeId of the modified node.
185
+ * @param {array} isSelected `true` if the node has just been selected, `false` if it has just been deselected.
202
186
  */
203
- onNodeSelect: _propTypes.default.func,
187
+ onNodeSelectionToggle: _propTypes.default.func,
204
188
  /**
205
- * Callback fired when tree items are expanded/collapsed.
206
- * @param {React.SyntheticEvent} event The event source of the callback.
207
- * @param {array} nodeIds The ids of the expanded nodes.
189
+ * Callback fired when tree items are selected/deselected.
190
+ * @param {React.SyntheticEvent} event The event source of the callback
191
+ * @param {string[] | string} nodeIds The ids of the selected nodes.
192
+ * When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
208
193
  */
209
- onNodeToggle: _propTypes.default.func,
194
+ onSelectedNodesChange: _propTypes.default.func,
210
195
  /**
211
196
  * Selected node ids. (Controlled)
212
197
  * When `multiSelect` is true this takes an array of strings; when false (default) a string.
213
198
  */
214
- selected: _propTypes.default.any,
199
+ selectedNodes: _propTypes.default.any,
200
+ /**
201
+ * The props used for each component slot.
202
+ */
203
+ slotProps: _propTypes.default.object,
204
+ /**
205
+ * Overridable component slots.
206
+ */
207
+ slots: _propTypes.default.object,
215
208
  /**
216
209
  * The system prop that allows defining system overrides as well as additional CSS styles.
217
210
  */
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v7.0.0-alpha.1
2
+ * @mui/x-tree-view v7.0.0-alpha.7
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -43,4 +43,40 @@ Object.keys(_TreeView).forEach(function (key) {
43
43
  }
44
44
  });
45
45
  });
46
- var _useInstanceEventHandler = require("./internals/hooks/useInstanceEventHandler");
46
+ var _SimpleTreeView = require("./SimpleTreeView");
47
+ Object.keys(_SimpleTreeView).forEach(function (key) {
48
+ if (key === "default" || key === "__esModule") return;
49
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
50
+ if (key in exports && exports[key] === _SimpleTreeView[key]) return;
51
+ Object.defineProperty(exports, key, {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _SimpleTreeView[key];
55
+ }
56
+ });
57
+ });
58
+ var _RichTreeView = require("./RichTreeView");
59
+ Object.keys(_RichTreeView).forEach(function (key) {
60
+ if (key === "default" || key === "__esModule") return;
61
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
62
+ if (key in exports && exports[key] === _RichTreeView[key]) return;
63
+ Object.defineProperty(exports, key, {
64
+ enumerable: true,
65
+ get: function () {
66
+ return _RichTreeView[key];
67
+ }
68
+ });
69
+ });
70
+ var _useInstanceEventHandler = require("./internals/hooks/useInstanceEventHandler");
71
+ var _models = require("./models");
72
+ Object.keys(_models).forEach(function (key) {
73
+ if (key === "default" || key === "__esModule") return;
74
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
75
+ if (key in exports && exports[key] === _models[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _models[key];
80
+ }
81
+ });
82
+ });
@@ -3,27 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TreeViewContext = exports.DEFAULT_TREE_VIEW_CONTEXT_VALUE = void 0;
6
+ exports.TreeViewContext = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  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); }
9
9
  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 && Object.prototype.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; }
10
- const DEFAULT_TREE_VIEW_CONTEXT_VALUE = exports.DEFAULT_TREE_VIEW_CONTEXT_VALUE = {
11
- instance: null,
12
- multiSelect: false,
13
- disabledItemsFocusable: false,
14
- treeId: undefined,
15
- icons: {
16
- defaultCollapseIcon: null,
17
- defaultExpandIcon: null,
18
- defaultParentIcon: null,
19
- defaultEndIcon: null
20
- }
21
- };
22
-
23
10
  /**
24
11
  * @ignore - internal component.
25
12
  */
26
- const TreeViewContext = exports.TreeViewContext = /*#__PURE__*/React.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE);
13
+ const TreeViewContext = exports.TreeViewContext = /*#__PURE__*/React.createContext(null);
27
14
  if (process.env.NODE_ENV !== 'production') {
28
15
  TreeViewContext.displayName = 'TreeViewContext';
29
16
  }
@@ -8,5 +8,11 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _TreeViewContext = require("./TreeViewContext");
9
9
  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); }
10
10
  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 && Object.prototype.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; }
11
- const useTreeViewContext = () => React.useContext(_TreeViewContext.TreeViewContext);
11
+ const useTreeViewContext = () => {
12
+ const context = React.useContext(_TreeViewContext.TreeViewContext);
13
+ if (context == null) {
14
+ throw new Error(['MUI: Could not find the Tree View context.', 'It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.', 'This can also happen if you are bundling multiple versions of the Tree View.'].join('\n'));
15
+ }
16
+ return context;
17
+ };
12
18
  exports.useTreeViewContext = useTreeViewContext;