@mui/x-tree-view 8.0.0-beta.0 → 8.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +8 -14
- package/esm/index.js +1 -1
- package/esm/internals/models/itemPlugin.d.ts +3 -3
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +3 -8
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +1 -4
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +6 -6
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +13 -15
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +9 -12
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +16 -11
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +14 -20
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +5 -7
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +5 -4
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +16 -21
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -38
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +331 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +38 -1
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +5 -4
- package/esm/internals/utils/selectors.d.ts +1 -1
- package/esm/useTreeItem/useTreeItem.js +11 -17
- package/esm/useTreeItem/useTreeItem.types.d.ts +0 -4
- package/hooks/useTreeItemUtils/useTreeItemUtils.js +7 -13
- package/index.js +1 -1
- package/internals/models/itemPlugin.d.ts +3 -3
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +3 -8
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +1 -4
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +6 -6
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +12 -14
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -3
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +9 -12
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +16 -12
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +14 -20
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +5 -7
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +5 -4
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +15 -20
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +42 -37
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +331 -0
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +39 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +5 -4
- package/internals/utils/selectors.d.ts +1 -1
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +8 -14
- package/modern/index.js +1 -1
- package/modern/internals/models/itemPlugin.d.ts +3 -3
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +3 -8
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +1 -4
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +6 -6
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +13 -15
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +9 -12
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +16 -11
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +14 -20
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +5 -7
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +5 -4
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +16 -21
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -38
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +331 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +38 -1
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +5 -4
- package/modern/internals/utils/selectors.d.ts +1 -1
- package/modern/useTreeItem/useTreeItem.js +11 -17
- package/modern/useTreeItem/useTreeItem.types.d.ts +0 -4
- package/package.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/useTreeItem/useTreeItem.js +11 -17
- package/useTreeItem/useTreeItem.types.d.ts +0 -4
|
@@ -21,17 +21,10 @@ var _useTreeViewId = require("../internals/corePlugins/useTreeViewId/useTreeView
|
|
|
21
21
|
var _useTreeViewItems = require("../internals/plugins/useTreeViewItems/useTreeViewItems.selectors");
|
|
22
22
|
var _useTreeViewId2 = require("../internals/corePlugins/useTreeViewId/useTreeViewId.selectors");
|
|
23
23
|
var _useTreeViewExpansion = require("../internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors");
|
|
24
|
+
var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors");
|
|
24
25
|
const useTreeItem = parameters => {
|
|
25
26
|
const {
|
|
26
27
|
runItemPlugins,
|
|
27
|
-
items: {
|
|
28
|
-
onItemClick
|
|
29
|
-
},
|
|
30
|
-
selection: {
|
|
31
|
-
disableSelection,
|
|
32
|
-
checkboxSelection
|
|
33
|
-
},
|
|
34
|
-
label: labelContext,
|
|
35
28
|
instance,
|
|
36
29
|
publicAPI,
|
|
37
30
|
store
|
|
@@ -68,6 +61,8 @@ const useTreeItem = parameters => {
|
|
|
68
61
|
const handleContentRef = (0, _useForkRef.default)(contentRef, contentRefObject);
|
|
69
62
|
const checkboxRef = React.useRef(null);
|
|
70
63
|
const treeId = (0, _useSelector.useSelector)(store, _useTreeViewId2.selectorTreeViewId);
|
|
64
|
+
const isSelectionEnabledForItem = (0, _useSelector.useSelector)(store, _useTreeViewSelection.selectorIsItemSelectionEnabled, itemId);
|
|
65
|
+
const isCheckboxSelectionEnabled = (0, _useSelector.useSelector)(store, _useTreeViewSelection.selectorIsCheckboxSelectionEnabled);
|
|
71
66
|
const idAttribute = (0, _useTreeViewId.generateTreeItemIdAttribute)({
|
|
72
67
|
itemId,
|
|
73
68
|
treeId,
|
|
@@ -77,8 +72,7 @@ const useTreeItem = parameters => {
|
|
|
77
72
|
const sharedPropsEnhancerParams = {
|
|
78
73
|
rootRefObject,
|
|
79
74
|
contentRefObject,
|
|
80
|
-
interactions
|
|
81
|
-
status
|
|
75
|
+
interactions
|
|
82
76
|
};
|
|
83
77
|
const createRootHandleFocus = otherHandlers => event => {
|
|
84
78
|
otherHandlers.onFocus?.(event);
|
|
@@ -123,14 +117,14 @@ const useTreeItem = parameters => {
|
|
|
123
117
|
};
|
|
124
118
|
const createContentHandleClick = otherHandlers => event => {
|
|
125
119
|
otherHandlers.onClick?.(event);
|
|
126
|
-
|
|
120
|
+
instance.handleItemClick(event, itemId);
|
|
127
121
|
if (event.defaultMuiPrevented || checkboxRef.current?.contains(event.target)) {
|
|
128
122
|
return;
|
|
129
123
|
}
|
|
130
124
|
if ((0, _useTreeViewExpansion.selectorItemExpansionTrigger)(store.value) === 'content') {
|
|
131
125
|
interactions.handleExpansion(event);
|
|
132
126
|
}
|
|
133
|
-
if (!
|
|
127
|
+
if (!isCheckboxSelectionEnabled) {
|
|
134
128
|
interactions.handleSelection(event);
|
|
135
129
|
}
|
|
136
130
|
};
|
|
@@ -166,7 +160,7 @@ const useTreeItem = parameters => {
|
|
|
166
160
|
if (status.selected) {
|
|
167
161
|
// - each selected node has aria-selected set to true.
|
|
168
162
|
ariaSelected = true;
|
|
169
|
-
} else if (
|
|
163
|
+
} else if (!isSelectionEnabledForItem) {
|
|
170
164
|
// - if the tree contains nodes that are not selectable, aria-selected is not present on those nodes.
|
|
171
165
|
ariaSelected = undefined;
|
|
172
166
|
} else {
|
|
@@ -224,10 +218,10 @@ const useTreeItem = parameters => {
|
|
|
224
218
|
}, externalProps, {
|
|
225
219
|
onDoubleClick: createLabelHandleDoubleClick(externalEventHandlers)
|
|
226
220
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
return props;
|
|
221
|
+
const enhancedLabelProps = propsEnhancers.label?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
|
|
222
|
+
externalEventHandlers
|
|
223
|
+
})) ?? {};
|
|
224
|
+
return (0, _extends2.default)({}, enhancedLabelProps, props);
|
|
231
225
|
};
|
|
232
226
|
const getLabelInputProps = (externalProps = {}) => {
|
|
233
227
|
const externalEventHandlers = (0, _extractEventHandlers.default)(externalProps);
|
|
@@ -66,10 +66,6 @@ export type UseTreeItemIconContainerSlotProps<ExternalProps = {}> = ExternalProp
|
|
|
66
66
|
export interface UseTreeItemLabelSlotOwnProps {
|
|
67
67
|
children: React.ReactNode;
|
|
68
68
|
onDoubleClick: TreeViewCancellableEventHandler<React.MouseEvent>;
|
|
69
|
-
/**
|
|
70
|
-
* Only defined when the `isItemEditable` experimental feature is enabled.
|
|
71
|
-
*/
|
|
72
|
-
editable?: boolean;
|
|
73
69
|
}
|
|
74
70
|
export type UseTreeItemLabelSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItemLabelSlotOwnProps;
|
|
75
71
|
export interface UseTreeItemLabelInputSlotOwnProps {}
|