@mui/x-tree-view 7.15.0 → 7.17.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 (183) hide show
  1. package/CHANGELOG.md +185 -1
  2. package/RichTreeView/RichTreeView.js +7 -7
  3. package/RichTreeView/RichTreeView.plugins.js +7 -7
  4. package/RichTreeView/index.js +3 -3
  5. package/SimpleTreeView/SimpleTreeView.js +6 -6
  6. package/SimpleTreeView/SimpleTreeView.plugins.js +7 -7
  7. package/SimpleTreeView/index.js +2 -2
  8. package/TreeItem/TreeItem.js +26 -24
  9. package/TreeItem/TreeItemContent.js +14 -29
  10. package/TreeItem/index.js +4 -4
  11. package/TreeItem/useTreeItemState.js +3 -3
  12. package/TreeItem2/TreeItem2.js +8 -8
  13. package/TreeItem2/index.js +1 -1
  14. package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js +1 -1
  15. package/TreeItem2DragAndDropOverlay/index.js +1 -1
  16. package/TreeItem2Icon/TreeItem2Icon.js +2 -2
  17. package/TreeItem2Icon/index.js +1 -1
  18. package/TreeItem2LabelInput/TreeItem2LabelInput.js +1 -1
  19. package/TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts +8 -2
  20. package/TreeItem2LabelInput/index.js +1 -1
  21. package/TreeItem2Provider/TreeItem2Provider.js +1 -1
  22. package/TreeItem2Provider/index.js +1 -1
  23. package/TreeView/TreeView.js +3 -3
  24. package/TreeView/index.js +2 -2
  25. package/hooks/index.js +2 -2
  26. package/hooks/useTreeItem2Utils/index.js +1 -1
  27. package/hooks/useTreeItem2Utils/useTreeItem2Utils.d.ts +1 -1
  28. package/hooks/useTreeItem2Utils/useTreeItem2Utils.js +3 -3
  29. package/icons/icons.js +2 -2
  30. package/icons/index.js +1 -1
  31. package/index.js +13 -13
  32. package/internals/TreeViewItemDepthContext/index.js +1 -1
  33. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -2
  34. package/internals/TreeViewProvider/TreeViewProvider.js +1 -1
  35. package/internals/TreeViewProvider/index.js +2 -2
  36. package/internals/TreeViewProvider/useTreeViewContext.js +1 -1
  37. package/internals/corePlugins/corePlugins.js +3 -3
  38. package/internals/corePlugins/index.js +1 -1
  39. package/internals/corePlugins/useTreeViewId/index.js +1 -1
  40. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -1
  41. package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +1 -1
  42. package/internals/hooks/useInstanceEventHandler.js +2 -2
  43. package/internals/index.d.ts +0 -1
  44. package/internals/index.js +12 -13
  45. package/internals/models/index.js +5 -5
  46. package/internals/models/itemPlugin.d.ts +2 -0
  47. package/internals/plugins/useTreeViewExpansion/index.js +1 -1
  48. package/internals/plugins/useTreeViewFocus/index.js +1 -1
  49. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +4 -4
  50. package/internals/plugins/useTreeViewIcons/index.js +1 -1
  51. package/internals/plugins/useTreeViewItems/index.js +2 -2
  52. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +3 -3
  53. package/internals/plugins/useTreeViewJSXItems/index.js +1 -1
  54. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +5 -5
  55. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -1
  56. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +3 -3
  57. package/internals/plugins/useTreeViewLabel/index.js +1 -1
  58. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -1
  59. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +26 -3
  60. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +2 -2
  61. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +5 -1
  62. package/internals/plugins/useTreeViewSelection/index.js +1 -1
  63. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +2 -2
  64. package/internals/useTreeView/index.js +1 -1
  65. package/internals/useTreeView/useTreeView.js +4 -4
  66. package/models/index.d.ts +1 -0
  67. package/models/index.js +4 -1
  68. package/modern/RichTreeView/RichTreeView.js +7 -7
  69. package/modern/RichTreeView/RichTreeView.plugins.js +7 -7
  70. package/modern/RichTreeView/index.js +3 -3
  71. package/modern/SimpleTreeView/SimpleTreeView.js +6 -6
  72. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +7 -7
  73. package/modern/SimpleTreeView/index.js +2 -2
  74. package/modern/TreeItem/TreeItem.js +26 -24
  75. package/modern/TreeItem/TreeItemContent.js +14 -29
  76. package/modern/TreeItem/index.js +4 -4
  77. package/modern/TreeItem/useTreeItemState.js +3 -3
  78. package/modern/TreeItem2/TreeItem2.js +8 -8
  79. package/modern/TreeItem2/index.js +1 -1
  80. package/modern/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js +1 -1
  81. package/modern/TreeItem2DragAndDropOverlay/index.js +1 -1
  82. package/modern/TreeItem2Icon/TreeItem2Icon.js +2 -2
  83. package/modern/TreeItem2Icon/index.js +1 -1
  84. package/modern/TreeItem2LabelInput/TreeItem2LabelInput.js +1 -1
  85. package/modern/TreeItem2LabelInput/index.js +1 -1
  86. package/modern/TreeItem2Provider/TreeItem2Provider.js +1 -1
  87. package/modern/TreeItem2Provider/index.js +1 -1
  88. package/modern/TreeView/TreeView.js +3 -3
  89. package/modern/TreeView/index.js +2 -2
  90. package/modern/hooks/index.js +2 -2
  91. package/modern/hooks/useTreeItem2Utils/index.js +1 -1
  92. package/modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js +3 -3
  93. package/modern/icons/icons.js +2 -2
  94. package/modern/icons/index.js +1 -1
  95. package/modern/index.js +13 -13
  96. package/modern/internals/TreeViewItemDepthContext/index.js +1 -1
  97. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -2
  98. package/modern/internals/TreeViewProvider/TreeViewProvider.js +1 -1
  99. package/modern/internals/TreeViewProvider/index.js +2 -2
  100. package/modern/internals/TreeViewProvider/useTreeViewContext.js +1 -1
  101. package/modern/internals/corePlugins/corePlugins.js +3 -3
  102. package/modern/internals/corePlugins/index.js +1 -1
  103. package/modern/internals/corePlugins/useTreeViewId/index.js +1 -1
  104. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -1
  105. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +1 -1
  106. package/modern/internals/hooks/useInstanceEventHandler.js +2 -2
  107. package/modern/internals/index.js +12 -13
  108. package/modern/internals/models/index.js +5 -5
  109. package/modern/internals/plugins/useTreeViewExpansion/index.js +1 -1
  110. package/modern/internals/plugins/useTreeViewFocus/index.js +1 -1
  111. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +4 -4
  112. package/modern/internals/plugins/useTreeViewIcons/index.js +1 -1
  113. package/modern/internals/plugins/useTreeViewItems/index.js +2 -2
  114. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +3 -3
  115. package/modern/internals/plugins/useTreeViewJSXItems/index.js +1 -1
  116. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +5 -5
  117. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -1
  118. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +3 -3
  119. package/modern/internals/plugins/useTreeViewLabel/index.js +1 -1
  120. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +26 -3
  121. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +2 -2
  122. package/modern/internals/plugins/useTreeViewSelection/index.js +1 -1
  123. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +2 -2
  124. package/modern/internals/useTreeView/index.js +1 -1
  125. package/modern/internals/useTreeView/useTreeView.js +4 -4
  126. package/modern/models/index.js +4 -1
  127. package/modern/themeAugmentation/index.js +0 -3
  128. package/modern/useTreeItem2/index.js +4 -1
  129. package/modern/useTreeItem2/useTreeItem2.js +20 -45
  130. package/node/RichTreeView/RichTreeView.js +3 -4
  131. package/node/RichTreeView/richTreeViewClasses.js +1 -1
  132. package/node/SimpleTreeView/SimpleTreeView.js +3 -4
  133. package/node/SimpleTreeView/simpleTreeViewClasses.js +1 -1
  134. package/node/TreeItem/TreeItem.js +19 -18
  135. package/node/TreeItem/TreeItemContent.js +13 -29
  136. package/node/TreeItem/treeItemClasses.js +1 -1
  137. package/node/TreeItem2/TreeItem2.js +4 -5
  138. package/node/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js +2 -3
  139. package/node/TreeItem2Icon/TreeItem2Icon.js +2 -3
  140. package/node/TreeItem2LabelInput/TreeItem2LabelInput.js +1 -1
  141. package/node/TreeItem2Provider/TreeItem2Provider.js +1 -1
  142. package/node/TreeView/TreeView.js +2 -3
  143. package/node/TreeView/treeViewClasses.js +1 -1
  144. package/node/hooks/useTreeViewApiRef.js +1 -2
  145. package/node/icons/icons.js +3 -4
  146. package/node/index.js +1 -1
  147. package/node/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +1 -2
  148. package/node/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
  149. package/node/internals/TreeViewProvider/TreeViewContext.js +1 -2
  150. package/node/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  151. package/node/internals/TreeViewProvider/useTreeViewContext.js +1 -2
  152. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.js +2 -3
  153. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +1 -2
  154. package/node/internals/hooks/useInstanceEventHandler.js +1 -2
  155. package/node/internals/hooks/useLazyRef.js +1 -1
  156. package/node/internals/hooks/useOnMount.js +1 -1
  157. package/node/internals/hooks/useTimeout.js +1 -1
  158. package/node/internals/index.js +1 -8
  159. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +2 -3
  160. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -3
  161. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -3
  162. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +2 -3
  163. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +2 -3
  164. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +27 -6
  165. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -4
  166. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +2 -3
  167. package/node/internals/useTreeView/extractPluginParamsFromProps.js +1 -1
  168. package/node/internals/useTreeView/useTreeView.js +2 -3
  169. package/node/internals/useTreeView/useTreeViewModels.js +2 -3
  170. package/node/themeAugmentation/index.js +1 -38
  171. package/node/useTreeItem2/index.js +5 -7
  172. package/node/useTreeItem2/useTreeItem2.js +18 -44
  173. package/package.json +3 -3
  174. package/themeAugmentation/index.d.ts +3 -3
  175. package/themeAugmentation/index.js +0 -3
  176. package/useTreeItem2/index.d.ts +2 -1
  177. package/useTreeItem2/index.js +4 -1
  178. package/useTreeItem2/useTreeItem2.js +20 -45
  179. package/useTreeItem2/useTreeItem2.types.d.ts +2 -4
  180. package/internals/utils/warning.d.ts +0 -2
  181. package/internals/utils/warning.js +0 -21
  182. package/modern/internals/utils/warning.js +0 -21
  183. package/node/internals/utils/warning.js +0 -28
@@ -2,10 +2,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import extractEventHandlers from '@mui/utils/extractEventHandlers';
4
4
  import useForkRef from '@mui/utils/useForkRef';
5
- import { useTreeViewContext } from '../internals/TreeViewProvider';
6
- import { useTreeItem2Utils } from '../hooks/useTreeItem2Utils';
7
- import { TreeViewItemDepthContext } from '../internals/TreeViewItemDepthContext';
8
- import { isTargetInDescendants } from '../internals/utils/tree';
5
+ import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
6
+ import { useTreeItem2Utils } from "../hooks/useTreeItem2Utils/index.js";
7
+ import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.js";
8
+ import { isTargetInDescendants } from "../internals/utils/tree.js";
9
9
  export const useTreeItem2 = parameters => {
10
10
  const {
11
11
  runItemPlugins,
@@ -52,6 +52,11 @@ export const useTreeItem2 = parameters => {
52
52
  const handleContentRef = useForkRef(contentRef, contentRefObject);
53
53
  const checkboxRef = React.useRef(null);
54
54
  const rootTabIndex = instance.canItemBeTabbed(itemId) ? 0 : -1;
55
+ const sharedPropsEnhancerParams = {
56
+ rootRefObject,
57
+ contentRefObject,
58
+ interactions
59
+ };
55
60
  const createRootHandleFocus = otherHandlers => event => {
56
61
  otherHandlers.onFocus?.(event);
57
62
  if (event.defaultMuiPrevented) {
@@ -128,27 +133,6 @@ export const useTreeItem2 = parameters => {
128
133
  }
129
134
  interactions.handleCheckboxSelection(event);
130
135
  };
131
- const createInputHandleKeydown = otherHandlers => event => {
132
- otherHandlers.onKeyDown?.(event);
133
- if (event.defaultMuiPrevented) {
134
- return;
135
- }
136
- const target = event.target;
137
- if (event.key === 'Enter' && target.value) {
138
- interactions.handleSaveItemLabel(event, target.value);
139
- } else if (event.key === 'Escape') {
140
- interactions.handleCancelItemLabelEditing(event);
141
- }
142
- };
143
- const createInputHandleBlur = otherHandlers => event => {
144
- otherHandlers.onBlur?.(event);
145
- if (event.defaultMuiPrevented) {
146
- return;
147
- }
148
- if (event.target.value) {
149
- interactions.handleSaveItemLabel(event, event.target.value);
150
- }
151
- };
152
136
  const createIconContainerHandleClick = otherHandlers => event => {
153
137
  otherHandlers.onClick?.(event);
154
138
  if (event.defaultMuiPrevented) {
@@ -190,11 +174,9 @@ export const useTreeItem2 = parameters => {
190
174
  '--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
191
175
  };
192
176
  }
193
- const enhancedRootProps = propsEnhancers.root?.({
194
- rootRefObject,
195
- contentRefObject,
177
+ const enhancedRootProps = propsEnhancers.root?.(_extends({}, sharedPropsEnhancerParams, {
196
178
  externalEventHandlers
197
- }) ?? {};
179
+ })) ?? {};
198
180
  return _extends({}, props, enhancedRootProps);
199
181
  };
200
182
  const getContentProps = (externalProps = {}) => {
@@ -208,11 +190,9 @@ export const useTreeItem2 = parameters => {
208
190
  if (indentationAtItemLevel) {
209
191
  props.indentationAtItemLevel = true;
210
192
  }
211
- const enhancedContentProps = propsEnhancers.content?.({
212
- rootRefObject,
213
- contentRefObject,
193
+ const enhancedContentProps = propsEnhancers.content?.(_extends({}, sharedPropsEnhancerParams, {
214
194
  externalEventHandlers
215
- }) ?? {};
195
+ })) ?? {};
216
196
  return _extends({}, props, enhancedContentProps);
217
197
  };
218
198
  const getCheckboxProps = (externalProps = {}) => {
@@ -241,16 +221,13 @@ export const useTreeItem2 = parameters => {
241
221
  };
242
222
  const getLabelInputProps = (externalProps = {}) => {
243
223
  const externalEventHandlers = extractEventHandlers(externalProps);
244
- const props = _extends({}, externalEventHandlers, externalProps, {
245
- onKeyDown: createInputHandleKeydown(externalEventHandlers),
246
- onBlur: createInputHandleBlur(externalEventHandlers)
247
- });
248
- const enhancedlabelInputProps = propsEnhancers.labelInput?.({
224
+ const enhancedLabelInputProps = propsEnhancers.labelInput?.({
249
225
  rootRefObject,
250
226
  contentRefObject,
251
- externalEventHandlers
227
+ externalEventHandlers,
228
+ interactions
252
229
  }) ?? {};
253
- return _extends({}, props, enhancedlabelInputProps);
230
+ return _extends({}, externalProps, enhancedLabelInputProps);
254
231
  };
255
232
  const getIconContainerProps = (externalProps = {}) => {
256
233
  const externalEventHandlers = extractEventHandlers(externalProps);
@@ -273,12 +250,10 @@ export const useTreeItem2 = parameters => {
273
250
  return response;
274
251
  };
275
252
  const getDragAndDropOverlayProps = (externalProps = {}) => {
276
- const externalEventHandlers = _extends({}, extractEventHandlers(externalProps));
277
- const enhancedDragAndDropOverlayProps = propsEnhancers.dragAndDropOverlay?.({
278
- rootRefObject,
279
- contentRefObject,
253
+ const externalEventHandlers = extractEventHandlers(externalProps);
254
+ const enhancedDragAndDropOverlayProps = propsEnhancers.dragAndDropOverlay?.(_extends({}, sharedPropsEnhancerParams, {
280
255
  externalEventHandlers
281
- }) ?? {};
256
+ })) ?? {};
282
257
  return _extends({}, externalProps, enhancedDragAndDropOverlayProps);
283
258
  };
284
259
  return {
@@ -77,10 +77,8 @@ export interface UseTreeItem2LabelSlotOwnProps {
77
77
  editable?: boolean;
78
78
  }
79
79
  export type UseTreeItem2LabelSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2LabelSlotOwnProps;
80
- export type UseTreeItem2LabelInputSlotOwnProps = {
81
- onBlur: MuiCancellableEventHandler<React.FocusEvent<HTMLInputElement>>;
82
- onKeyDown: MuiCancellableEventHandler<React.KeyboardEvent<HTMLInputElement>>;
83
- };
80
+ export interface UseTreeItem2LabelInputSlotOwnProps {
81
+ }
84
82
  export type UseTreeItem2LabelInputSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2LabelInputSlotOwnProps;
85
83
  export interface UseTreeItem2CheckboxSlotOwnProps {
86
84
  visible: boolean;
@@ -1,2 +0,0 @@
1
- export declare function warnOnce(message: string | string[], gravity?: 'warning' | 'error'): void;
2
- export declare function clearWarningsCache(): void;
@@ -1,21 +0,0 @@
1
- const warnedOnceCache = new Set();
2
-
3
- // TODO move to @mui/x-internals
4
- // TODO eventually move to @base_ui/internals. Base UI, etc. too need this helper.
5
- export function warnOnce(message, gravity = 'warning') {
6
- if (process.env.NODE_ENV === 'production') {
7
- return;
8
- }
9
- const cleanMessage = Array.isArray(message) ? message.join('\n') : message;
10
- if (!warnedOnceCache.has(cleanMessage)) {
11
- warnedOnceCache.add(cleanMessage);
12
- if (gravity === 'error') {
13
- console.error(cleanMessage);
14
- } else {
15
- console.warn(cleanMessage);
16
- }
17
- }
18
- }
19
- export function clearWarningsCache() {
20
- warnedOnceCache.clear();
21
- }
@@ -1,21 +0,0 @@
1
- const warnedOnceCache = new Set();
2
-
3
- // TODO move to @mui/x-internals
4
- // TODO eventually move to @base_ui/internals. Base UI, etc. too need this helper.
5
- export function warnOnce(message, gravity = 'warning') {
6
- if (process.env.NODE_ENV === 'production') {
7
- return;
8
- }
9
- const cleanMessage = Array.isArray(message) ? message.join('\n') : message;
10
- if (!warnedOnceCache.has(cleanMessage)) {
11
- warnedOnceCache.add(cleanMessage);
12
- if (gravity === 'error') {
13
- console.error(cleanMessage);
14
- } else {
15
- console.warn(cleanMessage);
16
- }
17
- }
18
- }
19
- export function clearWarningsCache() {
20
- warnedOnceCache.clear();
21
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.clearWarningsCache = clearWarningsCache;
7
- exports.warnOnce = warnOnce;
8
- const warnedOnceCache = new Set();
9
-
10
- // TODO move to @mui/x-internals
11
- // TODO eventually move to @base_ui/internals. Base UI, etc. too need this helper.
12
- function warnOnce(message, gravity = 'warning') {
13
- if (process.env.NODE_ENV === 'production') {
14
- return;
15
- }
16
- const cleanMessage = Array.isArray(message) ? message.join('\n') : message;
17
- if (!warnedOnceCache.has(cleanMessage)) {
18
- warnedOnceCache.add(cleanMessage);
19
- if (gravity === 'error') {
20
- console.error(cleanMessage);
21
- } else {
22
- console.warn(cleanMessage);
23
- }
24
- }
25
- }
26
- function clearWarningsCache() {
27
- warnedOnceCache.clear();
28
- }