@mui/x-tree-view 7.12.0 → 7.13.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.
- package/CHANGELOG.md +151 -2
- package/RichTreeView/RichTreeView.js +20 -2
- package/RichTreeView/RichTreeView.plugins.d.ts +3 -2
- package/RichTreeView/RichTreeView.plugins.js +2 -1
- package/TreeItem/TreeItem.js +24 -0
- package/TreeItem/TreeItemContent.d.ts +8 -0
- package/TreeItem/TreeItemContent.js +48 -8
- package/TreeItem/treeItemClasses.d.ts +6 -0
- package/TreeItem/treeItemClasses.js +1 -1
- package/TreeItem/useTreeItemState.d.ts +6 -0
- package/TreeItem/useTreeItemState.js +46 -1
- package/TreeItem2/TreeItem2.d.ts +3 -1
- package/TreeItem2/TreeItem2.js +29 -5
- package/TreeItem2/TreeItem2.types.d.ts +6 -0
- package/TreeItem2Icon/TreeItem2Icon.js +2 -0
- package/TreeItem2LabelInput/TreeItem2LabelInput.d.ts +2 -0
- package/TreeItem2LabelInput/TreeItem2LabelInput.js +20 -0
- package/TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts +8 -0
- package/TreeItem2LabelInput/TreeItem2LabelInput.types.js +1 -0
- package/TreeItem2LabelInput/index.d.ts +2 -0
- package/TreeItem2LabelInput/index.js +1 -0
- package/TreeItem2LabelInput/package.json +6 -0
- package/hooks/useTreeItem2Utils/useTreeItem2Utils.d.ts +5 -1
- package/hooks/useTreeItem2Utils/useTreeItem2Utils.js +45 -2
- package/hooks/useTreeViewApiRef.d.ts +1 -1
- package/index.js +1 -1
- package/internals/index.d.ts +2 -0
- package/internals/index.js +1 -0
- package/internals/models/itemPlugin.d.ts +2 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +4 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -0
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +5 -1
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +2 -0
- package/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
- package/internals/plugins/useTreeViewLabel/index.js +1 -0
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +3 -0
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +44 -0
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +81 -0
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +75 -0
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +1 -0
- package/modern/RichTreeView/RichTreeView.js +20 -2
- package/modern/RichTreeView/RichTreeView.plugins.js +2 -1
- package/modern/TreeItem/TreeItem.js +24 -0
- package/modern/TreeItem/TreeItemContent.js +48 -8
- package/modern/TreeItem/treeItemClasses.js +1 -1
- package/modern/TreeItem/useTreeItemState.js +46 -1
- package/modern/TreeItem2/TreeItem2.js +29 -5
- package/modern/TreeItem2Icon/TreeItem2Icon.js +2 -0
- package/modern/TreeItem2LabelInput/TreeItem2LabelInput.js +20 -0
- package/modern/TreeItem2LabelInput/TreeItem2LabelInput.types.js +1 -0
- package/modern/TreeItem2LabelInput/index.js +1 -0
- package/modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js +45 -2
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +4 -1
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +5 -1
- package/modern/internals/plugins/useTreeViewLabel/index.js +1 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +44 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +81 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +1 -0
- package/modern/useTreeItem2/useTreeItem2.js +65 -4
- package/node/RichTreeView/RichTreeView.js +20 -2
- package/node/RichTreeView/RichTreeView.plugins.js +2 -1
- package/node/TreeItem/TreeItem.js +24 -0
- package/node/TreeItem/TreeItemContent.js +48 -8
- package/node/TreeItem/treeItemClasses.js +1 -1
- package/node/TreeItem/useTreeItemState.js +46 -1
- package/node/TreeItem2/TreeItem2.js +29 -5
- package/node/TreeItem2Icon/TreeItem2Icon.js +2 -0
- package/node/TreeItem2LabelInput/TreeItem2LabelInput.js +26 -0
- package/node/TreeItem2LabelInput/TreeItem2LabelInput.types.js +5 -0
- package/node/TreeItem2LabelInput/index.js +12 -0
- package/node/hooks/useTreeItem2Utils/useTreeItem2Utils.js +45 -2
- package/node/index.js +1 -1
- package/node/internals/index.js +7 -0
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +4 -1
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +5 -1
- package/node/internals/plugins/useTreeViewLabel/index.js +12 -0
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +54 -0
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +91 -0
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +5 -0
- package/node/useTreeItem2/useTreeItem2.js +65 -4
- package/package.json +10 -2
- package/useTreeItem2/index.d.ts +1 -1
- package/useTreeItem2/useTreeItem2.js +65 -4
- package/useTreeItem2/useTreeItem2.types.d.ts +35 -15
|
@@ -5,6 +5,7 @@ import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewS
|
|
|
5
5
|
import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems';
|
|
6
6
|
import { UseTreeViewFocusSignature } from '../internals/plugins/useTreeViewFocus';
|
|
7
7
|
import { UseTreeViewKeyboardNavigationSignature } from '../internals/plugins/useTreeViewKeyboardNavigation';
|
|
8
|
+
import { UseTreeViewLabelSignature } from '../internals/plugins/useTreeViewLabel';
|
|
8
9
|
import { UseTreeViewExpansionSignature } from '../internals/plugins/useTreeViewExpansion';
|
|
9
10
|
export interface UseTreeItem2Parameters {
|
|
10
11
|
/**
|
|
@@ -69,8 +70,18 @@ export interface UseTreeItem2IconContainerSlotOwnProps {
|
|
|
69
70
|
export type UseTreeItemIconContainerSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2IconContainerSlotOwnProps;
|
|
70
71
|
export interface UseTreeItem2LabelSlotOwnProps {
|
|
71
72
|
children: React.ReactNode;
|
|
73
|
+
onDoubleClick: MuiCancellableEventHandler<React.MouseEvent>;
|
|
74
|
+
/**
|
|
75
|
+
* Only defined when the `isItemEditable` experimental feature is enabled.
|
|
76
|
+
*/
|
|
77
|
+
editable?: boolean;
|
|
72
78
|
}
|
|
73
79
|
export type UseTreeItem2LabelSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2LabelSlotOwnProps;
|
|
80
|
+
export type UseTreeItem2LabelInputSlotOwnProps = {
|
|
81
|
+
onBlur: MuiCancellableEventHandler<React.FocusEvent<HTMLInputElement>>;
|
|
82
|
+
onKeyDown: MuiCancellableEventHandler<React.KeyboardEvent<HTMLInputElement>>;
|
|
83
|
+
};
|
|
84
|
+
export type UseTreeItem2LabelInputSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2LabelInputSlotOwnProps;
|
|
74
85
|
export interface UseTreeItem2CheckboxSlotOwnProps {
|
|
75
86
|
visible: boolean;
|
|
76
87
|
checked: boolean;
|
|
@@ -101,49 +112,57 @@ export interface UseTreeItem2Status {
|
|
|
101
112
|
focused: boolean;
|
|
102
113
|
selected: boolean;
|
|
103
114
|
disabled: boolean;
|
|
115
|
+
editing: boolean;
|
|
116
|
+
editable: boolean;
|
|
104
117
|
}
|
|
105
118
|
export interface UseTreeItem2ReturnValue<TSignatures extends UseTreeItem2MinimalPlugins, TOptionalSignatures extends UseTreeItem2OptionalPlugins> {
|
|
106
119
|
/**
|
|
107
120
|
* Resolver for the root slot's props.
|
|
108
|
-
* @param {ExternalProps} externalProps Additional props for the root slot
|
|
109
|
-
* @returns {UseTreeItem2RootSlotProps<ExternalProps>} Props that should be spread on the root slot
|
|
121
|
+
* @param {ExternalProps} externalProps Additional props for the root slot.
|
|
122
|
+
* @returns {UseTreeItem2RootSlotProps<ExternalProps>} Props that should be spread on the root slot.
|
|
110
123
|
*/
|
|
111
124
|
getRootProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2RootSlotProps<ExternalProps>;
|
|
112
125
|
/**
|
|
113
126
|
* Resolver for the content slot's props.
|
|
114
|
-
* @param {ExternalProps} externalProps Additional props for the content slot
|
|
115
|
-
* @returns {UseTreeItem2ContentSlotProps<ExternalProps>} Props that should be spread on the content slot
|
|
127
|
+
* @param {ExternalProps} externalProps Additional props for the content slot.
|
|
128
|
+
* @returns {UseTreeItem2ContentSlotProps<ExternalProps>} Props that should be spread on the content slot.
|
|
116
129
|
*/
|
|
117
130
|
getContentProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2ContentSlotProps<ExternalProps>;
|
|
118
131
|
/**
|
|
119
132
|
* Resolver for the label slot's props.
|
|
120
|
-
* @param {ExternalProps} externalProps Additional props for the label slot
|
|
121
|
-
* @returns {UseTreeItem2LabelSlotProps<ExternalProps>} Props that should be spread on the label slot
|
|
133
|
+
* @param {ExternalProps} externalProps Additional props for the label slot.
|
|
134
|
+
* @returns {UseTreeItem2LabelSlotProps<ExternalProps>} Props that should be spread on the label slot.
|
|
122
135
|
*/
|
|
123
136
|
getLabelProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2LabelSlotProps<ExternalProps>;
|
|
137
|
+
/**
|
|
138
|
+
* Resolver for the labelInput slot's props.
|
|
139
|
+
* @param {ExternalProps} externalProps Additional props for the labelInput slot.
|
|
140
|
+
* @returns {UseTreeItem2LabelInputSlotProps<ExternalProps>} Props that should be spread on the labelInput slot.
|
|
141
|
+
*/
|
|
142
|
+
getLabelInputProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2LabelInputSlotProps<ExternalProps>;
|
|
124
143
|
/**
|
|
125
144
|
* Resolver for the checkbox slot's props.
|
|
126
|
-
* @param {ExternalProps} externalProps Additional props for the checkbox slot
|
|
127
|
-
* @returns {UseTreeItem2CheckboxSlotProps<ExternalProps>} Props that should be spread on the checkbox slot
|
|
145
|
+
* @param {ExternalProps} externalProps Additional props for the checkbox slot.
|
|
146
|
+
* @returns {UseTreeItem2CheckboxSlotProps<ExternalProps>} Props that should be spread on the checkbox slot.
|
|
128
147
|
*/
|
|
129
148
|
getCheckboxProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2CheckboxSlotProps<ExternalProps>;
|
|
130
149
|
/**
|
|
131
150
|
* Resolver for the iconContainer slot's props.
|
|
132
|
-
* @param {ExternalProps} externalProps Additional props for the iconContainer slot
|
|
133
|
-
* @returns {UseTreeItemIconContainerSlotProps<ExternalProps>} Props that should be spread on the iconContainer slot
|
|
151
|
+
* @param {ExternalProps} externalProps Additional props for the iconContainer slot.
|
|
152
|
+
* @returns {UseTreeItemIconContainerSlotProps<ExternalProps>} Props that should be spread on the iconContainer slot.
|
|
134
153
|
*/
|
|
135
154
|
getIconContainerProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItemIconContainerSlotProps<ExternalProps>;
|
|
136
155
|
/**
|
|
137
156
|
* Resolver for the GroupTransition slot's props.
|
|
138
|
-
* @param {ExternalProps} externalProps Additional props for the GroupTransition slot
|
|
139
|
-
* @returns {UseTreeItem2GroupTransitionSlotProps<ExternalProps>} Props that should be spread on the GroupTransition slot
|
|
157
|
+
* @param {ExternalProps} externalProps Additional props for the GroupTransition slot.
|
|
158
|
+
* @returns {UseTreeItem2GroupTransitionSlotProps<ExternalProps>} Props that should be spread on the GroupTransition slot.
|
|
140
159
|
*/
|
|
141
160
|
getGroupTransitionProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2GroupTransitionSlotProps<ExternalProps>;
|
|
142
161
|
/**
|
|
143
162
|
* Resolver for the DragAndDropOverlay slot's props.
|
|
144
163
|
* Warning: This slot is only useful when using the `RichTreeViewPro` component.
|
|
145
|
-
* @param {ExternalProps} externalProps Additional props for the DragAndDropOverlay slot
|
|
146
|
-
* @returns {UseTreeItem2DragAndDropOverlaySlotProps<ExternalProps>} Props that should be spread on the DragAndDropOverlay slot
|
|
164
|
+
* @param {ExternalProps} externalProps Additional props for the DragAndDropOverlay slot.
|
|
165
|
+
* @returns {UseTreeItem2DragAndDropOverlaySlotProps<ExternalProps>} Props that should be spread on the DragAndDropOverlay slot.
|
|
147
166
|
*/
|
|
148
167
|
getDragAndDropOverlayProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2DragAndDropOverlaySlotProps<ExternalProps>;
|
|
149
168
|
/**
|
|
@@ -167,7 +186,8 @@ export type UseTreeItem2MinimalPlugins = readonly [
|
|
|
167
186
|
UseTreeViewExpansionSignature,
|
|
168
187
|
UseTreeViewItemsSignature,
|
|
169
188
|
UseTreeViewFocusSignature,
|
|
170
|
-
UseTreeViewKeyboardNavigationSignature
|
|
189
|
+
UseTreeViewKeyboardNavigationSignature,
|
|
190
|
+
UseTreeViewLabelSignature
|
|
171
191
|
];
|
|
172
192
|
/**
|
|
173
193
|
* Plugins that `useTreeItem2` can use if they are present, but are not required.
|