@mui/x-tree-view 7.22.1 → 8.0.0-alpha.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 +143 -92
- package/README.md +2 -2
- package/RichTreeView/RichTreeView.js +20 -1
- package/RichTreeView/RichTreeView.types.d.ts +4 -4
- package/SimpleTreeView/SimpleTreeView.js +21 -3
- package/TreeItem/TreeItem.d.ts +20 -2
- package/TreeItem/TreeItem.js +238 -368
- package/TreeItem/TreeItem.types.d.ts +51 -86
- package/TreeItem/index.d.ts +1 -4
- package/TreeItem/index.js +2 -4
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
- package/{modern/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +8 -6
- package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.d.ts → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts} +1 -1
- package/TreeItemDragAndDropOverlay/index.d.ts +2 -0
- package/TreeItemDragAndDropOverlay/index.js +1 -0
- package/{TreeItem2LabelInput → TreeItemDragAndDropOverlay}/package.json +1 -1
- package/TreeItemIcon/TreeItemIcon.d.ts +7 -0
- package/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
- package/{TreeItem2Icon/TreeItem2Icon.types.d.ts → TreeItemIcon/TreeItemIcon.types.d.ts} +7 -7
- package/TreeItemIcon/index.d.ts +2 -0
- package/TreeItemIcon/index.js +1 -0
- package/{useTreeItem2 → TreeItemIcon}/package.json +1 -1
- package/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
- package/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
- package/{TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts → TreeItemLabelInput/TreeItemLabelInput.types.d.ts} +1 -1
- package/TreeItemLabelInput/index.d.ts +2 -0
- package/TreeItemLabelInput/index.js +1 -0
- package/{TreeItem2Provider → TreeItemLabelInput}/package.json +1 -1
- package/TreeItemProvider/TreeItemProvider.d.ts +9 -0
- package/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +7 -3
- package/{TreeItem2Provider/TreeItem2Provider.types.d.ts → TreeItemProvider/TreeItemProvider.types.d.ts} +1 -1
- package/TreeItemProvider/index.d.ts +2 -0
- package/TreeItemProvider/index.js +1 -0
- package/{TreeItem2Icon → TreeItemProvider}/package.json +1 -1
- package/hooks/index.d.ts +1 -1
- package/hooks/index.js +1 -1
- package/hooks/useTreeItemUtils/index.d.ts +1 -0
- package/hooks/useTreeItemUtils/index.js +1 -0
- package/hooks/{useTreeItem2Utils/useTreeItem2Utils.d.ts → useTreeItemUtils/useTreeItemUtils.d.ts} +11 -11
- package/{modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js → hooks/useTreeItemUtils/useTreeItemUtils.js} +5 -3
- package/index.d.ts +5 -7
- package/index.js +6 -8
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +2 -1
- package/internals/components/RichTreeViewItems.d.ts +1 -2
- package/internals/index.d.ts +1 -1
- package/internals/models/helpers.d.ts +0 -2
- package/internals/models/itemPlugin.d.ts +11 -8
- package/internals/models/plugin.d.ts +1 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -4
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +3 -5
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +1 -1
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +6 -5
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +86 -0
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -18
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +33 -3
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +20 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +95 -0
- package/models/items.d.ts +4 -0
- package/modern/RichTreeView/RichTreeView.js +20 -1
- package/modern/SimpleTreeView/SimpleTreeView.js +21 -3
- package/modern/TreeItem/TreeItem.js +238 -368
- package/modern/TreeItem/index.js +2 -4
- package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +8 -6
- package/modern/TreeItemDragAndDropOverlay/index.js +1 -0
- package/modern/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
- package/modern/TreeItemIcon/index.js +1 -0
- package/modern/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
- package/modern/TreeItemLabelInput/index.js +1 -0
- package/modern/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +7 -3
- package/modern/TreeItemProvider/index.js +1 -0
- package/modern/hooks/index.js +1 -1
- package/modern/hooks/useTreeItemUtils/index.js +1 -0
- package/{hooks/useTreeItem2Utils/useTreeItem2Utils.js → modern/hooks/useTreeItemUtils/useTreeItemUtils.js} +5 -3
- package/modern/index.js +6 -8
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -4
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +86 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -18
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +95 -0
- package/modern/useTreeItem/index.js +1 -0
- package/modern/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +21 -42
- package/node/RichTreeView/RichTreeView.js +20 -1
- package/node/SimpleTreeView/SimpleTreeView.js +21 -3
- package/node/TreeItem/TreeItem.js +239 -369
- package/node/TreeItem/index.js +38 -16
- package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +7 -6
- package/node/TreeItemDragAndDropOverlay/index.js +12 -0
- package/node/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +4 -3
- package/node/TreeItemIcon/index.js +12 -0
- package/node/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
- package/node/TreeItemLabelInput/index.js +12 -0
- package/node/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +6 -3
- package/node/TreeItemProvider/index.js +12 -0
- package/node/hooks/index.js +3 -3
- package/node/hooks/useTreeItemUtils/index.js +12 -0
- package/node/hooks/{useTreeItem2Utils/useTreeItem2Utils.js → useTreeItemUtils/useTreeItemUtils.js} +6 -5
- package/node/index.js +18 -42
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -4
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +94 -0
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +42 -17
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +99 -2
- package/node/useTreeItem/index.js +12 -0
- package/node/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +22 -44
- package/package.json +3 -3
- package/themeAugmentation/components.d.ts +0 -10
- package/themeAugmentation/overrides.d.ts +0 -3
- package/themeAugmentation/props.d.ts +1 -5
- package/useTreeItem/index.d.ts +2 -0
- package/useTreeItem/index.js +1 -0
- package/{TreeItem2 → useTreeItem}/package.json +1 -1
- package/useTreeItem/useTreeItem.d.ts +2 -0
- package/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +21 -42
- package/{useTreeItem2/useTreeItem2.types.d.ts → useTreeItem/useTreeItem.types.d.ts} +42 -58
- package/TreeItem/TreeItemContent.d.ts +0 -61
- package/TreeItem/TreeItemContent.js +0 -146
- package/TreeItem/useTreeItemState.d.ts +0 -21
- package/TreeItem/useTreeItemState.js +0 -143
- package/TreeItem2/TreeItem2.d.ts +0 -34
- package/TreeItem2/TreeItem2.js +0 -387
- package/TreeItem2/TreeItem2.types.d.ts +0 -92
- package/TreeItem2/index.d.ts +0 -2
- package/TreeItem2/index.js +0 -1
- package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.d.ts +0 -7
- package/TreeItem2DragAndDropOverlay/index.d.ts +0 -2
- package/TreeItem2DragAndDropOverlay/index.js +0 -1
- package/TreeItem2DragAndDropOverlay/package.json +0 -6
- package/TreeItem2Icon/TreeItem2Icon.d.ts +0 -7
- package/TreeItem2Icon/index.d.ts +0 -2
- package/TreeItem2Icon/index.js +0 -1
- package/TreeItem2LabelInput/TreeItem2LabelInput.d.ts +0 -5
- package/TreeItem2LabelInput/index.d.ts +0 -2
- package/TreeItem2LabelInput/index.js +0 -1
- package/TreeItem2Provider/TreeItem2Provider.d.ts +0 -6
- package/TreeItem2Provider/index.d.ts +0 -2
- package/TreeItem2Provider/index.js +0 -1
- package/TreeView/TreeView.d.ts +0 -21
- package/TreeView/TreeView.js +0 -211
- package/TreeView/TreeView.types.d.ts +0 -9
- package/TreeView/index.d.ts +0 -3
- package/TreeView/index.js +0 -3
- package/TreeView/package.json +0 -6
- package/TreeView/treeViewClasses.d.ts +0 -7
- package/TreeView/treeViewClasses.js +0 -6
- package/hooks/useTreeItem2Utils/index.d.ts +0 -1
- package/hooks/useTreeItem2Utils/index.js +0 -1
- package/modern/TreeItem/TreeItemContent.js +0 -146
- package/modern/TreeItem/useTreeItemState.js +0 -143
- package/modern/TreeItem2/TreeItem2.js +0 -387
- package/modern/TreeItem2/index.js +0 -1
- package/modern/TreeItem2DragAndDropOverlay/index.js +0 -1
- package/modern/TreeItem2Icon/index.js +0 -1
- package/modern/TreeItem2LabelInput/index.js +0 -1
- package/modern/TreeItem2Provider/TreeItem2Provider.types.js +0 -1
- package/modern/TreeItem2Provider/index.js +0 -1
- package/modern/TreeView/TreeView.js +0 -211
- package/modern/TreeView/TreeView.types.js +0 -1
- package/modern/TreeView/index.js +0 -3
- package/modern/TreeView/treeViewClasses.js +0 -6
- package/modern/hooks/useTreeItem2Utils/index.js +0 -1
- package/modern/useTreeItem2/index.js +0 -4
- package/modern/useTreeItem2/useTreeItem2.types.js +0 -1
- package/node/TreeItem/TreeItemContent.js +0 -153
- package/node/TreeItem/useTreeItemState.js +0 -148
- package/node/TreeItem2/TreeItem2.js +0 -394
- package/node/TreeItem2/index.js +0 -48
- package/node/TreeItem2DragAndDropOverlay/index.js +0 -12
- package/node/TreeItem2Icon/index.js +0 -12
- package/node/TreeItem2LabelInput/index.js +0 -12
- package/node/TreeItem2Provider/index.js +0 -12
- package/node/TreeView/TreeView.js +0 -217
- package/node/TreeView/TreeView.types.js +0 -5
- package/node/TreeView/index.js +0 -27
- package/node/TreeView/treeViewClasses.js +0 -14
- package/node/hooks/useTreeItem2Utils/index.js +0 -12
- package/node/useTreeItem2/index.js +0 -10
- package/node/useTreeItem2/useTreeItem2.types.js +0 -5
- package/useTreeItem2/index.d.ts +0 -3
- package/useTreeItem2/index.js +0 -4
- package/useTreeItem2/useTreeItem2.d.ts +0 -2
- package/useTreeItem2/useTreeItem2.types.js +0 -1
- /package/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
- /package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
- /package/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
- /package/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
- /package/{TreeItem2Provider/TreeItem2Provider.types.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
- /package/{TreeView/TreeView.types.js → modern/TreeItemIcon/TreeItemIcon.types.js} +0 -0
- /package/modern/{TreeItem2/TreeItem2.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
- /package/modern/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
- /package/modern/{TreeItem2Icon/TreeItem2Icon.types.js → useTreeItem/useTreeItem.types.js} +0 -0
- /package/node/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
- /package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
- /package/node/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
- /package/node/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
- /package/node/{TreeItem2Provider/TreeItem2Provider.types.js → useTreeItem/useTreeItem.types.js} +0 -0
- /package/{modern/TreeItem2LabelInput/TreeItem2LabelInput.types.js → useTreeItem/useTreeItem.types.js} +0 -0
|
@@ -6,61 +6,31 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.TreeItem = void 0;
|
|
9
|
+
exports.TreeItemRoot = exports.TreeItemLabel = exports.TreeItemIconContainer = exports.TreeItemGroupTransition = exports.TreeItemContent = exports.TreeItemCheckbox = exports.TreeItem = void 0;
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
15
|
+
var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
|
|
16
|
+
var _styles = require("@mui/material/styles");
|
|
15
17
|
var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
|
|
16
|
-
var
|
|
18
|
+
var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
|
|
19
|
+
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
17
20
|
var _createStyled = require("@mui/system/createStyled");
|
|
18
|
-
var _styles = require("@mui/material/styles");
|
|
19
21
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
20
|
-
var _extractEventHandlers = _interopRequireDefault(require("@mui/utils/extractEventHandlers"));
|
|
21
|
-
var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
|
|
22
|
-
var _useSlotProps4 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
23
|
-
var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
|
|
24
|
-
var _elementTypeAcceptingRef = _interopRequireDefault(require("@mui/utils/elementTypeAcceptingRef"));
|
|
25
|
-
var _warning = require("@mui/x-internals/warning");
|
|
26
22
|
var _zeroStyled = require("../internals/zero-styled");
|
|
27
|
-
var
|
|
23
|
+
var _useTreeItem = require("../useTreeItem");
|
|
28
24
|
var _treeItemClasses = require("./treeItemClasses");
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var _useTreeItemState = require("./useTreeItemState");
|
|
34
|
-
var _tree = require("../internals/utils/tree");
|
|
35
|
-
var _useTreeViewId = require("../internals/corePlugins/useTreeViewId/useTreeViewId.utils");
|
|
25
|
+
var _TreeItemIcon = require("../TreeItemIcon");
|
|
26
|
+
var _TreeItemDragAndDropOverlay = require("../TreeItemDragAndDropOverlay");
|
|
27
|
+
var _TreeItemProvider = require("../TreeItemProvider");
|
|
28
|
+
var _TreeItemLabelInput = require("../TreeItemLabelInput");
|
|
36
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
37
|
-
const _excluded = ["
|
|
38
|
-
_excluded2 = ["
|
|
39
|
-
_excluded3 = ["ownerState"],
|
|
40
|
-
_excluded4 = ["ownerState"];
|
|
30
|
+
const _excluded = ["visible"],
|
|
31
|
+
_excluded2 = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
|
|
41
32
|
const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiTreeItem');
|
|
42
|
-
const
|
|
43
|
-
const {
|
|
44
|
-
classes
|
|
45
|
-
} = ownerState;
|
|
46
|
-
const slots = {
|
|
47
|
-
root: ['root'],
|
|
48
|
-
content: ['content'],
|
|
49
|
-
expanded: ['expanded'],
|
|
50
|
-
selected: ['selected'],
|
|
51
|
-
focused: ['focused'],
|
|
52
|
-
disabled: ['disabled'],
|
|
53
|
-
iconContainer: ['iconContainer'],
|
|
54
|
-
checkbox: ['checkbox'],
|
|
55
|
-
label: ['label'],
|
|
56
|
-
labelInput: ['labelInput'],
|
|
57
|
-
editing: ['editing'],
|
|
58
|
-
editable: ['editable'],
|
|
59
|
-
groupTransition: ['groupTransition']
|
|
60
|
-
};
|
|
61
|
-
return (0, _composeClasses.default)(slots, _treeItemClasses.getTreeItemUtilityClass, classes);
|
|
62
|
-
};
|
|
63
|
-
const TreeItemRoot = (0, _zeroStyled.styled)('li', {
|
|
33
|
+
const TreeItemRoot = exports.TreeItemRoot = (0, _zeroStyled.styled)('li', {
|
|
64
34
|
name: 'MuiTreeItem',
|
|
65
35
|
slot: 'Root',
|
|
66
36
|
overridesResolver: (props, styles) => styles.root
|
|
@@ -70,21 +40,16 @@ const TreeItemRoot = (0, _zeroStyled.styled)('li', {
|
|
|
70
40
|
padding: 0,
|
|
71
41
|
outline: 0
|
|
72
42
|
});
|
|
73
|
-
const
|
|
43
|
+
const TreeItemContent = exports.TreeItemContent = (0, _zeroStyled.styled)('div', {
|
|
74
44
|
name: 'MuiTreeItem',
|
|
75
45
|
slot: 'Content',
|
|
76
|
-
overridesResolver: (props, styles) =>
|
|
77
|
-
|
|
78
|
-
[`& .${_treeItemClasses.treeItemClasses.iconContainer}`]: styles.iconContainer
|
|
79
|
-
}, styles.label && {
|
|
80
|
-
[`& .${_treeItemClasses.treeItemClasses.label}`]: styles.label
|
|
81
|
-
}];
|
|
82
|
-
},
|
|
83
|
-
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'indentationAtItemLevel'
|
|
46
|
+
overridesResolver: (props, styles) => styles.content,
|
|
47
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'status'
|
|
84
48
|
})(({
|
|
85
49
|
theme
|
|
86
50
|
}) => ({
|
|
87
51
|
padding: theme.spacing(0.5, 1),
|
|
52
|
+
paddingLeft: `calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`,
|
|
88
53
|
borderRadius: theme.shape.borderRadius,
|
|
89
54
|
width: '100%',
|
|
90
55
|
boxSizing: 'border-box',
|
|
@@ -102,74 +67,130 @@ const StyledTreeItemContent = (0, _zeroStyled.styled)(_TreeItemContent.TreeItemC
|
|
|
102
67
|
backgroundColor: 'transparent'
|
|
103
68
|
}
|
|
104
69
|
},
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
70
|
+
variants: [{
|
|
71
|
+
props: ({
|
|
72
|
+
status
|
|
73
|
+
}) => status.disabled,
|
|
74
|
+
style: {
|
|
75
|
+
opacity: (theme.vars || theme).palette.action.disabledOpacity,
|
|
76
|
+
backgroundColor: 'transparent'
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
props: ({
|
|
80
|
+
status
|
|
81
|
+
}) => status.focused,
|
|
82
|
+
style: {
|
|
83
|
+
backgroundColor: (theme.vars || theme).palette.action.focus
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
props: ({
|
|
87
|
+
status
|
|
88
|
+
}) => status.selected,
|
|
89
|
+
style: {
|
|
90
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity),
|
|
91
|
+
'&:hover': {
|
|
92
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
|
|
93
|
+
// Reset on touch devices, it doesn't add specificity
|
|
94
|
+
'@media (hover: none)': {
|
|
95
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity)
|
|
96
|
+
}
|
|
119
97
|
}
|
|
120
|
-
},
|
|
121
|
-
[`&.${_treeItemClasses.treeItemClasses.focused}`]: {
|
|
122
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
|
|
123
98
|
}
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
'& svg': {
|
|
131
|
-
fontSize: 18
|
|
99
|
+
}, {
|
|
100
|
+
props: ({
|
|
101
|
+
status
|
|
102
|
+
}) => status.selected && status.focused,
|
|
103
|
+
style: {
|
|
104
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
|
|
132
105
|
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
106
|
+
}]
|
|
107
|
+
}));
|
|
108
|
+
const TreeItemLabel = exports.TreeItemLabel = (0, _zeroStyled.styled)('div', {
|
|
109
|
+
name: 'MuiTreeItem',
|
|
110
|
+
slot: 'Label',
|
|
111
|
+
overridesResolver: (props, styles) => styles.label,
|
|
112
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'editable'
|
|
113
|
+
})(({
|
|
114
|
+
theme
|
|
115
|
+
}) => (0, _extends2.default)({
|
|
116
|
+
width: '100%',
|
|
117
|
+
boxSizing: 'border-box',
|
|
118
|
+
// prevent width + padding to overflow
|
|
119
|
+
// fixes overflow - see https://github.com/mui/material-ui/issues/27372
|
|
120
|
+
minWidth: 0,
|
|
121
|
+
position: 'relative',
|
|
122
|
+
overflow: 'hidden'
|
|
123
|
+
}, theme.typography.body1, {
|
|
145
124
|
variants: [{
|
|
146
|
-
props: {
|
|
147
|
-
|
|
148
|
-
},
|
|
125
|
+
props: ({
|
|
126
|
+
editable
|
|
127
|
+
}) => editable,
|
|
149
128
|
style: {
|
|
150
|
-
paddingLeft:
|
|
129
|
+
paddingLeft: '2px'
|
|
151
130
|
}
|
|
152
131
|
}]
|
|
153
132
|
}));
|
|
154
|
-
const
|
|
133
|
+
const TreeItemIconContainer = exports.TreeItemIconContainer = (0, _zeroStyled.styled)('div', {
|
|
134
|
+
name: 'MuiTreeItem',
|
|
135
|
+
slot: 'IconContainer',
|
|
136
|
+
overridesResolver: (props, styles) => styles.iconContainer
|
|
137
|
+
})({
|
|
138
|
+
width: 16,
|
|
139
|
+
display: 'flex',
|
|
140
|
+
flexShrink: 0,
|
|
141
|
+
justifyContent: 'center',
|
|
142
|
+
'& svg': {
|
|
143
|
+
fontSize: 18
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
const TreeItemGroupTransition = exports.TreeItemGroupTransition = (0, _zeroStyled.styled)(_Collapse.default, {
|
|
155
147
|
name: 'MuiTreeItem',
|
|
156
148
|
slot: 'GroupTransition',
|
|
157
|
-
overridesResolver: (props, styles) => styles.groupTransition
|
|
158
|
-
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'indentationAtItemLevel'
|
|
149
|
+
overridesResolver: (props, styles) => styles.groupTransition
|
|
159
150
|
})({
|
|
160
151
|
margin: 0,
|
|
161
|
-
padding: 0
|
|
162
|
-
paddingLeft: 'var(--TreeView-itemChildrenIndentation)',
|
|
163
|
-
variants: [{
|
|
164
|
-
props: {
|
|
165
|
-
indentationAtItemLevel: true
|
|
166
|
-
},
|
|
167
|
-
style: {
|
|
168
|
-
paddingLeft: 0
|
|
169
|
-
}
|
|
170
|
-
}]
|
|
152
|
+
padding: 0
|
|
171
153
|
});
|
|
172
|
-
|
|
154
|
+
const TreeItemCheckbox = exports.TreeItemCheckbox = (0, _zeroStyled.styled)(/*#__PURE__*/React.forwardRef((props, ref) => {
|
|
155
|
+
const {
|
|
156
|
+
visible
|
|
157
|
+
} = props,
|
|
158
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
159
|
+
if (!visible) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, (0, _extends2.default)({}, other, {
|
|
163
|
+
ref: ref
|
|
164
|
+
}));
|
|
165
|
+
}), {
|
|
166
|
+
name: 'MuiTreeItem',
|
|
167
|
+
slot: 'Checkbox',
|
|
168
|
+
overridesResolver: (props, styles) => styles.checkbox
|
|
169
|
+
})({
|
|
170
|
+
padding: 0
|
|
171
|
+
});
|
|
172
|
+
const useUtilityClasses = ownerState => {
|
|
173
|
+
const {
|
|
174
|
+
classes
|
|
175
|
+
} = ownerState;
|
|
176
|
+
const slots = {
|
|
177
|
+
root: ['root'],
|
|
178
|
+
content: ['content'],
|
|
179
|
+
expanded: ['expanded'],
|
|
180
|
+
editing: ['editing'],
|
|
181
|
+
editable: ['editable'],
|
|
182
|
+
selected: ['selected'],
|
|
183
|
+
focused: ['focused'],
|
|
184
|
+
disabled: ['disabled'],
|
|
185
|
+
iconContainer: ['iconContainer'],
|
|
186
|
+
checkbox: ['checkbox'],
|
|
187
|
+
label: ['label'],
|
|
188
|
+
groupTransition: ['groupTransition'],
|
|
189
|
+
labelInput: ['labelInput'],
|
|
190
|
+
dragAndDropOverlay: ['dragAndDropOverlay']
|
|
191
|
+
};
|
|
192
|
+
return (0, _composeClasses.default)(slots, _treeItemClasses.getTreeItemUtilityClass, classes);
|
|
193
|
+
};
|
|
173
194
|
/**
|
|
174
195
|
*
|
|
175
196
|
* Demos:
|
|
@@ -178,269 +199,124 @@ const TreeItemGroup = (0, _zeroStyled.styled)(_Collapse.default, {
|
|
|
178
199
|
*
|
|
179
200
|
* API:
|
|
180
201
|
*
|
|
181
|
-
* - [TreeItem API](https://mui.com/x/api/tree-view/tree-item/)
|
|
202
|
+
* - [TreeItem API](https://mui.com/x/api/tree-view/tree-item-2/)
|
|
182
203
|
*/
|
|
183
|
-
const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
|
|
184
|
-
const {
|
|
185
|
-
icons: contextIcons,
|
|
186
|
-
runItemPlugins,
|
|
187
|
-
items: {
|
|
188
|
-
disabledItemsFocusable,
|
|
189
|
-
indentationAtItemLevel
|
|
190
|
-
},
|
|
191
|
-
selection: {
|
|
192
|
-
disableSelection
|
|
193
|
-
},
|
|
194
|
-
expansion: {
|
|
195
|
-
expansionTrigger
|
|
196
|
-
},
|
|
197
|
-
treeId,
|
|
198
|
-
instance
|
|
199
|
-
} = (0, _TreeViewProvider.useTreeViewContext)();
|
|
200
|
-
const depthContext = React.useContext(_TreeViewItemDepthContext.TreeViewItemDepthContext);
|
|
204
|
+
const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, forwardedRef) {
|
|
201
205
|
const props = useThemeProps({
|
|
202
206
|
props: inProps,
|
|
203
207
|
name: 'MuiTreeItem'
|
|
204
208
|
});
|
|
205
209
|
const {
|
|
206
|
-
children,
|
|
207
|
-
className,
|
|
208
|
-
slots: inSlots,
|
|
209
|
-
slotProps: inSlotProps,
|
|
210
|
-
ContentComponent = _TreeItemContent.TreeItemContent,
|
|
211
|
-
ContentProps,
|
|
212
|
-
itemId,
|
|
213
210
|
id,
|
|
211
|
+
itemId,
|
|
214
212
|
label,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
213
|
+
disabled,
|
|
214
|
+
children,
|
|
215
|
+
slots = {},
|
|
216
|
+
slotProps = {}
|
|
219
217
|
} = props,
|
|
220
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(props,
|
|
221
|
-
const {
|
|
222
|
-
expanded,
|
|
223
|
-
focused,
|
|
224
|
-
selected,
|
|
225
|
-
disabled,
|
|
226
|
-
editing,
|
|
227
|
-
handleExpansion,
|
|
228
|
-
handleCancelItemLabelEditing,
|
|
229
|
-
handleSaveItemLabel
|
|
230
|
-
} = (0, _useTreeItemState.useTreeItemState)(itemId);
|
|
231
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
232
|
-
// Checking directly the `props` to avoid having the default value applied
|
|
233
|
-
if (props.ContentComponent) {
|
|
234
|
-
(0, _warning.warnOnce)(['MUI X: The ContentComponent prop of the TreeItem component is deprecated and will be removed in the next major release.', 'You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.', 'For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/.']);
|
|
235
|
-
}
|
|
236
|
-
if (props.ContentProps) {
|
|
237
|
-
(0, _warning.warnOnce)(['MUI X: The ContentProps prop of the TreeItem component is deprecated and will be removed in the next major release.', 'You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.', 'For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/.']);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
218
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
|
|
240
219
|
const {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
const isExpandable = reactChildren => {
|
|
257
|
-
if (Array.isArray(reactChildren)) {
|
|
258
|
-
return reactChildren.length > 0 && reactChildren.some(isExpandable);
|
|
259
|
-
}
|
|
260
|
-
return Boolean(reactChildren);
|
|
261
|
-
};
|
|
262
|
-
const expandable = isExpandable(children);
|
|
263
|
-
const ownerState = (0, _extends2.default)({}, props, {
|
|
264
|
-
expanded,
|
|
265
|
-
focused,
|
|
266
|
-
selected,
|
|
267
|
-
disabled,
|
|
268
|
-
indentationAtItemLevel
|
|
220
|
+
getRootProps,
|
|
221
|
+
getContentProps,
|
|
222
|
+
getIconContainerProps,
|
|
223
|
+
getCheckboxProps,
|
|
224
|
+
getLabelProps,
|
|
225
|
+
getGroupTransitionProps,
|
|
226
|
+
getLabelInputProps,
|
|
227
|
+
getDragAndDropOverlayProps,
|
|
228
|
+
status
|
|
229
|
+
} = (0, _useTreeItem.useTreeItem)({
|
|
230
|
+
id,
|
|
231
|
+
itemId,
|
|
232
|
+
children,
|
|
233
|
+
label,
|
|
234
|
+
disabled
|
|
269
235
|
});
|
|
236
|
+
const ownerState = (0, _extends2.default)({}, props, status);
|
|
270
237
|
const classes = useUtilityClasses(ownerState);
|
|
238
|
+
const Root = slots.root ?? TreeItemRoot;
|
|
239
|
+
const rootProps = (0, _useSlotProps.default)({
|
|
240
|
+
elementType: Root,
|
|
241
|
+
getSlotProps: getRootProps,
|
|
242
|
+
externalForwardedProps: other,
|
|
243
|
+
externalSlotProps: slotProps.root,
|
|
244
|
+
additionalProps: {
|
|
245
|
+
ref: forwardedRef
|
|
246
|
+
},
|
|
247
|
+
ownerState: {},
|
|
248
|
+
className: classes.root
|
|
249
|
+
});
|
|
250
|
+
const Content = slots.content ?? TreeItemContent;
|
|
251
|
+
const contentProps = (0, _useSlotProps.default)({
|
|
252
|
+
elementType: Content,
|
|
253
|
+
getSlotProps: getContentProps,
|
|
254
|
+
externalSlotProps: slotProps.content,
|
|
255
|
+
ownerState: {},
|
|
256
|
+
className: (0, _clsx.default)(classes.content, status.expanded && classes.expanded, status.selected && classes.selected, status.focused && classes.focused, status.disabled && classes.disabled, status.editing && classes.editing, status.editable && classes.editable)
|
|
257
|
+
});
|
|
258
|
+
const IconContainer = slots.iconContainer ?? TreeItemIconContainer;
|
|
259
|
+
const iconContainerProps = (0, _useSlotProps.default)({
|
|
260
|
+
elementType: IconContainer,
|
|
261
|
+
getSlotProps: getIconContainerProps,
|
|
262
|
+
externalSlotProps: slotProps.iconContainer,
|
|
263
|
+
ownerState: {},
|
|
264
|
+
className: classes.iconContainer
|
|
265
|
+
});
|
|
266
|
+
const Label = slots.label ?? TreeItemLabel;
|
|
267
|
+
const labelProps = (0, _useSlotProps.default)({
|
|
268
|
+
elementType: Label,
|
|
269
|
+
getSlotProps: getLabelProps,
|
|
270
|
+
externalSlotProps: slotProps.label,
|
|
271
|
+
ownerState: {},
|
|
272
|
+
className: classes.label
|
|
273
|
+
});
|
|
274
|
+
const Checkbox = slots.checkbox ?? TreeItemCheckbox;
|
|
275
|
+
const checkboxProps = (0, _useSlotProps.default)({
|
|
276
|
+
elementType: Checkbox,
|
|
277
|
+
getSlotProps: getCheckboxProps,
|
|
278
|
+
externalSlotProps: slotProps.checkbox,
|
|
279
|
+
ownerState: {},
|
|
280
|
+
className: classes.checkbox
|
|
281
|
+
});
|
|
271
282
|
const GroupTransition = slots.groupTransition ?? undefined;
|
|
272
|
-
const groupTransitionProps = (0,
|
|
283
|
+
const groupTransitionProps = (0, _useSlotProps.default)({
|
|
273
284
|
elementType: GroupTransition,
|
|
285
|
+
getSlotProps: getGroupTransitionProps,
|
|
286
|
+
externalSlotProps: slotProps.groupTransition,
|
|
274
287
|
ownerState: {},
|
|
275
|
-
externalSlotProps: inSlotProps?.groupTransition,
|
|
276
|
-
additionalProps: (0, _extends2.default)({
|
|
277
|
-
unmountOnExit: true,
|
|
278
|
-
in: expanded,
|
|
279
|
-
component: 'ul',
|
|
280
|
-
role: 'group'
|
|
281
|
-
}, indentationAtItemLevel ? {
|
|
282
|
-
indentationAtItemLevel: true
|
|
283
|
-
} : {}),
|
|
284
288
|
className: classes.groupTransition
|
|
285
289
|
});
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
elementType: ExpansionIcon,
|
|
294
|
-
ownerState: {},
|
|
295
|
-
externalSlotProps: tempOwnerState => {
|
|
296
|
-
if (expanded) {
|
|
297
|
-
return (0, _extends2.default)({}, (0, _resolveComponentProps.default)(contextIcons.slotProps.collapseIcon, tempOwnerState), (0, _resolveComponentProps.default)(inSlotProps?.collapseIcon, tempOwnerState));
|
|
298
|
-
}
|
|
299
|
-
return (0, _extends2.default)({}, (0, _resolveComponentProps.default)(contextIcons.slotProps.expandIcon, tempOwnerState), (0, _resolveComponentProps.default)(inSlotProps?.expandIcon, tempOwnerState));
|
|
300
|
-
},
|
|
301
|
-
additionalProps: {
|
|
302
|
-
onClick: handleIconContainerClick
|
|
303
|
-
}
|
|
304
|
-
}),
|
|
305
|
-
expansionIconProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
|
|
306
|
-
const expansionIcon = expandable && !!ExpansionIcon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ExpansionIcon, (0, _extends2.default)({}, expansionIconProps)) : null;
|
|
307
|
-
const DisplayIcon = expandable ? undefined : slots.endIcon;
|
|
308
|
-
const _useSlotProps2 = (0, _useSlotProps4.default)({
|
|
309
|
-
elementType: DisplayIcon,
|
|
310
|
-
ownerState: {},
|
|
311
|
-
externalSlotProps: tempOwnerState => {
|
|
312
|
-
if (expandable) {
|
|
313
|
-
return {};
|
|
314
|
-
}
|
|
315
|
-
return (0, _extends2.default)({}, (0, _resolveComponentProps.default)(contextIcons.slotProps.endIcon, tempOwnerState), (0, _resolveComponentProps.default)(inSlotProps?.endIcon, tempOwnerState));
|
|
316
|
-
}
|
|
317
|
-
}),
|
|
318
|
-
displayIconProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2, _excluded3);
|
|
319
|
-
const displayIcon = DisplayIcon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(DisplayIcon, (0, _extends2.default)({}, displayIconProps)) : null;
|
|
320
|
-
const Icon = slots.icon;
|
|
321
|
-
const _useSlotProps3 = (0, _useSlotProps4.default)({
|
|
322
|
-
elementType: Icon,
|
|
323
|
-
ownerState: {},
|
|
324
|
-
externalSlotProps: inSlotProps?.icon
|
|
325
|
-
}),
|
|
326
|
-
iconProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3, _excluded4);
|
|
327
|
-
const icon = Icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, (0, _extends2.default)({}, iconProps)) : null;
|
|
328
|
-
|
|
329
|
-
// https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
|
|
330
|
-
let ariaSelected;
|
|
331
|
-
if (selected) {
|
|
332
|
-
// - each selected node has aria-selected set to true.
|
|
333
|
-
ariaSelected = true;
|
|
334
|
-
} else if (disableSelection || disabled) {
|
|
335
|
-
// - if the tree contains nodes that are not selectable, aria-selected is not present on those nodes.
|
|
336
|
-
ariaSelected = undefined;
|
|
337
|
-
} else {
|
|
338
|
-
// - all nodes that are selectable but not selected have aria-selected set to false.
|
|
339
|
-
ariaSelected = false;
|
|
340
|
-
}
|
|
341
|
-
function handleFocus(event) {
|
|
342
|
-
const canBeFocused = !disabled || disabledItemsFocusable;
|
|
343
|
-
if (!focused && canBeFocused && event.currentTarget === event.target) {
|
|
344
|
-
instance.focusItem(event, itemId);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
function handleBlur(event) {
|
|
348
|
-
onBlur?.(event);
|
|
349
|
-
if (editing ||
|
|
350
|
-
// we can exit the editing state by clicking outside the input (within the Tree Item) or by pressing Enter or Escape -> we don't want to remove the focused item from the state in these cases
|
|
351
|
-
// we can also exit the editing state by clicking on the root itself -> want to remove the focused item from the state in this case
|
|
352
|
-
event.relatedTarget && (0, _tree.isTargetInDescendants)(event.relatedTarget, rootRefObject.current) && (event.target && event.target?.dataset?.element === 'labelInput' && (0, _tree.isTargetInDescendants)(event.target, rootRefObject.current) || event.relatedTarget?.dataset?.element === 'labelInput')) {
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
instance.removeFocusedItem();
|
|
356
|
-
}
|
|
357
|
-
const handleKeyDown = event => {
|
|
358
|
-
onKeyDown?.(event);
|
|
359
|
-
if (event.target?.dataset?.element === 'labelInput') {
|
|
360
|
-
return;
|
|
361
|
-
}
|
|
362
|
-
instance.handleItemKeyDown(event, itemId);
|
|
363
|
-
};
|
|
364
|
-
const idAttribute = (0, _useTreeViewId.generateTreeItemIdAttribute)({
|
|
365
|
-
itemId,
|
|
366
|
-
treeId,
|
|
367
|
-
id
|
|
290
|
+
const LabelInput = slots.labelInput ?? _TreeItemLabelInput.TreeItemLabelInput;
|
|
291
|
+
const labelInputProps = (0, _useSlotProps.default)({
|
|
292
|
+
elementType: LabelInput,
|
|
293
|
+
getSlotProps: getLabelInputProps,
|
|
294
|
+
externalSlotProps: slotProps.labelInput,
|
|
295
|
+
ownerState: {},
|
|
296
|
+
className: classes.labelInput
|
|
368
297
|
});
|
|
369
|
-
const
|
|
370
|
-
const
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
const enhancedRootProps = propsEnhancers.root?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
|
|
379
|
-
externalEventHandlers: (0, _extractEventHandlers.default)(other)
|
|
380
|
-
})) ?? {};
|
|
381
|
-
const enhancedContentProps = propsEnhancers.content?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
|
|
382
|
-
externalEventHandlers: (0, _extractEventHandlers.default)(ContentProps)
|
|
383
|
-
})) ?? {};
|
|
384
|
-
const enhancedDragAndDropOverlayProps = propsEnhancers.dragAndDropOverlay?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
|
|
385
|
-
externalEventHandlers: {}
|
|
386
|
-
})) ?? {};
|
|
387
|
-
const enhancedLabelInputProps = propsEnhancers.labelInput?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
|
|
388
|
-
externalEventHandlers: {}
|
|
389
|
-
})) ?? {};
|
|
390
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2Provider.TreeItem2Provider, {
|
|
298
|
+
const DragAndDropOverlay = slots.dragAndDropOverlay ?? _TreeItemDragAndDropOverlay.TreeItemDragAndDropOverlay;
|
|
299
|
+
const dragAndDropOverlayProps = (0, _useSlotProps.default)({
|
|
300
|
+
elementType: DragAndDropOverlay,
|
|
301
|
+
getSlotProps: getDragAndDropOverlayProps,
|
|
302
|
+
externalSlotProps: slotProps.dragAndDropOverlay,
|
|
303
|
+
ownerState: {},
|
|
304
|
+
className: classes.dragAndDropOverlay
|
|
305
|
+
});
|
|
306
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItemProvider.TreeItemProvider, {
|
|
391
307
|
itemId: itemId,
|
|
392
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
onFocus: handleFocus,
|
|
403
|
-
onBlur: handleBlur,
|
|
404
|
-
onKeyDown: handleKeyDown,
|
|
405
|
-
ref: handleRootRef,
|
|
406
|
-
style: indentationAtItemLevel ? (0, _extends2.default)({}, other.style, {
|
|
407
|
-
'--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
|
|
408
|
-
}) : other.style
|
|
409
|
-
}, enhancedRootProps, {
|
|
410
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTreeItemContent, (0, _extends2.default)({
|
|
411
|
-
as: ContentComponent,
|
|
412
|
-
classes: {
|
|
413
|
-
root: classes.content,
|
|
414
|
-
expanded: classes.expanded,
|
|
415
|
-
selected: classes.selected,
|
|
416
|
-
focused: classes.focused,
|
|
417
|
-
disabled: classes.disabled,
|
|
418
|
-
editable: classes.editable,
|
|
419
|
-
editing: classes.editing,
|
|
420
|
-
iconContainer: classes.iconContainer,
|
|
421
|
-
label: classes.label,
|
|
422
|
-
labelInput: classes.labelInput,
|
|
423
|
-
checkbox: classes.checkbox
|
|
424
|
-
},
|
|
425
|
-
label: label,
|
|
426
|
-
itemId: itemId,
|
|
427
|
-
onClick: onClick,
|
|
428
|
-
onMouseDown: onMouseDown,
|
|
429
|
-
icon: icon,
|
|
430
|
-
expansionIcon: expansionIcon,
|
|
431
|
-
displayIcon: displayIcon,
|
|
432
|
-
ownerState: ownerState
|
|
433
|
-
}, ContentProps, enhancedContentProps, enhancedDragAndDropOverlayProps.action == null ? {} : {
|
|
434
|
-
dragAndDropOverlayProps: enhancedDragAndDropOverlayProps
|
|
435
|
-
}, enhancedLabelInputProps.value == null ? {} : {
|
|
436
|
-
labelInputProps: enhancedLabelInputProps
|
|
437
|
-
}, {
|
|
438
|
-
ref: handleContentRef
|
|
439
|
-
})), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemGroup, (0, _extends2.default)({
|
|
308
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
|
|
309
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Content, (0, _extends2.default)({}, contentProps, {
|
|
310
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconContainer, (0, _extends2.default)({}, iconContainerProps, {
|
|
311
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItemIcon.TreeItemIcon, {
|
|
312
|
+
status: status,
|
|
313
|
+
slots: slots,
|
|
314
|
+
slotProps: slotProps
|
|
315
|
+
})
|
|
316
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, checkboxProps)), status.editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LabelInput, (0, _extends2.default)({}, labelInputProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(DragAndDropOverlay, (0, _extends2.default)({}, dragAndDropOverlayProps))]
|
|
317
|
+
})), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemGroupTransition, (0, _extends2.default)({
|
|
440
318
|
as: GroupTransition
|
|
441
|
-
}, groupTransitionProps
|
|
442
|
-
children: children
|
|
443
|
-
}))]
|
|
319
|
+
}, groupTransitionProps))]
|
|
444
320
|
}))
|
|
445
321
|
});
|
|
446
322
|
});
|
|
@@ -458,37 +334,35 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
|
|
|
458
334
|
*/
|
|
459
335
|
classes: _propTypes.default.object,
|
|
460
336
|
className: _propTypes.default.string,
|
|
461
|
-
/**
|
|
462
|
-
* The component used to render the content of the item.
|
|
463
|
-
* @deprecated Consider using the `<TreeItem2 />` component or the `useTreeItem2` hook instead. For more details, see https://mui.com/x/react-tree-view/tree-item-customization/.
|
|
464
|
-
* @default TreeItemContent
|
|
465
|
-
*/
|
|
466
|
-
ContentComponent: _elementTypeAcceptingRef.default,
|
|
467
|
-
/**
|
|
468
|
-
* Props applied to ContentComponent.
|
|
469
|
-
* @deprecated Consider using the `<TreeItem2 />` component or the `useTreeItem2` hook instead. For more details, see https://mui.com/x/react-tree-view/tree-item-customization/.
|
|
470
|
-
*/
|
|
471
|
-
ContentProps: _propTypes.default.object,
|
|
472
337
|
/**
|
|
473
338
|
* If `true`, the item is disabled.
|
|
474
339
|
* @default false
|
|
475
340
|
*/
|
|
476
341
|
disabled: _propTypes.default.bool,
|
|
342
|
+
/**
|
|
343
|
+
* The id attribute of the item. If not provided, it will be generated.
|
|
344
|
+
*/
|
|
345
|
+
id: _propTypes.default.string,
|
|
477
346
|
/**
|
|
478
347
|
* The id of the item.
|
|
348
|
+
* Must be unique.
|
|
479
349
|
*/
|
|
480
350
|
itemId: _propTypes.default.string.isRequired,
|
|
481
351
|
/**
|
|
482
|
-
* The
|
|
352
|
+
* The label of the item.
|
|
483
353
|
*/
|
|
484
354
|
label: _propTypes.default.node,
|
|
355
|
+
/**
|
|
356
|
+
* Callback fired when the item root is blurred.
|
|
357
|
+
*/
|
|
358
|
+
onBlur: _propTypes.default.func,
|
|
485
359
|
/**
|
|
486
360
|
* This prop isn't supported.
|
|
487
|
-
* Use the `onItemFocus` callback on the tree if you need to monitor
|
|
361
|
+
* Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
|
|
488
362
|
*/
|
|
489
363
|
onFocus: _unsupportedProp.default,
|
|
490
364
|
/**
|
|
491
|
-
* Callback fired when a key
|
|
365
|
+
* Callback fired when a key is pressed on the keyboard and the tree is in focus.
|
|
492
366
|
*/
|
|
493
367
|
onKeyDown: _propTypes.default.func,
|
|
494
368
|
/**
|
|
@@ -500,9 +374,5 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
|
|
|
500
374
|
* Overridable component slots.
|
|
501
375
|
* @default {}
|
|
502
376
|
*/
|
|
503
|
-
slots: _propTypes.default.object
|
|
504
|
-
/**
|
|
505
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
506
|
-
*/
|
|
507
|
-
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
377
|
+
slots: _propTypes.default.object
|
|
508
378
|
} : void 0;
|