@mui/x-tree-view 7.22.0 → 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.
Files changed (196) hide show
  1. package/CHANGELOG.md +161 -48
  2. package/README.md +2 -2
  3. package/RichTreeView/RichTreeView.js +20 -1
  4. package/RichTreeView/RichTreeView.types.d.ts +4 -4
  5. package/SimpleTreeView/SimpleTreeView.js +21 -3
  6. package/TreeItem/TreeItem.d.ts +20 -2
  7. package/TreeItem/TreeItem.js +238 -368
  8. package/TreeItem/TreeItem.types.d.ts +51 -86
  9. package/TreeItem/index.d.ts +1 -4
  10. package/TreeItem/index.js +2 -4
  11. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
  12. package/{modern/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +26 -21
  13. package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.d.ts → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts} +1 -1
  14. package/TreeItemDragAndDropOverlay/index.d.ts +2 -0
  15. package/TreeItemDragAndDropOverlay/index.js +1 -0
  16. package/{TreeItem2LabelInput → TreeItemDragAndDropOverlay}/package.json +1 -1
  17. package/TreeItemIcon/TreeItemIcon.d.ts +7 -0
  18. package/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
  19. package/{TreeItem2Icon/TreeItem2Icon.types.d.ts → TreeItemIcon/TreeItemIcon.types.d.ts} +7 -7
  20. package/TreeItemIcon/index.d.ts +2 -0
  21. package/TreeItemIcon/index.js +1 -0
  22. package/{useTreeItem2 → TreeItemIcon}/package.json +1 -1
  23. package/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
  24. package/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +7 -3
  25. package/{TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts → TreeItemLabelInput/TreeItemLabelInput.types.d.ts} +1 -1
  26. package/TreeItemLabelInput/index.d.ts +2 -0
  27. package/TreeItemLabelInput/index.js +1 -0
  28. package/{TreeItem2Provider → TreeItemLabelInput}/package.json +1 -1
  29. package/TreeItemProvider/TreeItemProvider.d.ts +9 -0
  30. package/{modern/TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +7 -3
  31. package/{TreeItem2Provider/TreeItem2Provider.types.d.ts → TreeItemProvider/TreeItemProvider.types.d.ts} +1 -1
  32. package/TreeItemProvider/index.d.ts +2 -0
  33. package/TreeItemProvider/index.js +1 -0
  34. package/{TreeItem2Icon → TreeItemProvider}/package.json +1 -1
  35. package/hooks/index.d.ts +1 -1
  36. package/hooks/index.js +1 -1
  37. package/hooks/useTreeItemUtils/index.d.ts +1 -0
  38. package/hooks/useTreeItemUtils/index.js +1 -0
  39. package/hooks/{useTreeItem2Utils/useTreeItem2Utils.d.ts → useTreeItemUtils/useTreeItemUtils.d.ts} +11 -11
  40. package/hooks/{useTreeItem2Utils/useTreeItem2Utils.js → useTreeItemUtils/useTreeItemUtils.js} +5 -3
  41. package/index.d.ts +5 -5
  42. package/index.js +6 -6
  43. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +2 -1
  44. package/internals/components/RichTreeViewItems.d.ts +1 -2
  45. package/internals/index.d.ts +1 -1
  46. package/internals/models/helpers.d.ts +0 -2
  47. package/internals/models/itemPlugin.d.ts +11 -8
  48. package/internals/models/plugin.d.ts +1 -1
  49. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -1
  50. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -4
  51. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +3 -5
  52. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +1 -1
  53. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +6 -5
  54. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
  55. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +86 -0
  56. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -18
  57. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +33 -3
  58. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +20 -1
  59. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +95 -0
  60. package/models/items.d.ts +4 -0
  61. package/modern/RichTreeView/RichTreeView.js +20 -1
  62. package/modern/SimpleTreeView/SimpleTreeView.js +21 -3
  63. package/modern/TreeItem/TreeItem.js +238 -368
  64. package/modern/TreeItem/index.js +2 -4
  65. package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +26 -21
  66. package/modern/TreeItemDragAndDropOverlay/index.js +1 -0
  67. package/modern/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
  68. package/modern/TreeItemIcon/index.js +1 -0
  69. package/modern/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +7 -3
  70. package/modern/TreeItemLabelInput/index.js +1 -0
  71. package/{TreeItem2Provider/TreeItem2Provider.js → modern/TreeItemProvider/TreeItemProvider.js} +7 -3
  72. package/modern/TreeItemProvider/index.js +1 -0
  73. package/modern/hooks/index.js +1 -1
  74. package/modern/hooks/useTreeItemUtils/index.js +1 -0
  75. package/modern/hooks/{useTreeItem2Utils/useTreeItem2Utils.js → useTreeItemUtils/useTreeItemUtils.js} +5 -3
  76. package/modern/index.js +6 -6
  77. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -4
  78. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +86 -0
  79. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -18
  80. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +95 -0
  81. package/modern/useTreeItem/index.js +1 -0
  82. package/modern/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +21 -42
  83. package/node/RichTreeView/RichTreeView.js +20 -1
  84. package/node/SimpleTreeView/SimpleTreeView.js +21 -3
  85. package/node/TreeItem/TreeItem.js +239 -369
  86. package/node/TreeItem/index.js +38 -16
  87. package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +26 -22
  88. package/node/TreeItemDragAndDropOverlay/index.js +12 -0
  89. package/node/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +4 -3
  90. package/node/TreeItemIcon/index.js +12 -0
  91. package/node/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +6 -3
  92. package/node/TreeItemLabelInput/index.js +12 -0
  93. package/node/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +6 -3
  94. package/node/TreeItemProvider/index.js +12 -0
  95. package/node/hooks/index.js +3 -3
  96. package/node/hooks/useTreeItemUtils/index.js +12 -0
  97. package/node/hooks/{useTreeItem2Utils/useTreeItem2Utils.js → useTreeItemUtils/useTreeItemUtils.js} +6 -5
  98. package/node/index.js +29 -29
  99. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +2 -4
  100. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +94 -0
  101. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +42 -17
  102. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +99 -2
  103. package/node/useTreeItem/index.js +12 -0
  104. package/node/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +22 -44
  105. package/package.json +3 -3
  106. package/themeAugmentation/components.d.ts +0 -10
  107. package/themeAugmentation/overrides.d.ts +0 -3
  108. package/themeAugmentation/props.d.ts +1 -5
  109. package/useTreeItem/index.d.ts +2 -0
  110. package/useTreeItem/index.js +1 -0
  111. package/{TreeItem2 → useTreeItem}/package.json +1 -1
  112. package/useTreeItem/useTreeItem.d.ts +2 -0
  113. package/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +21 -42
  114. package/{useTreeItem2/useTreeItem2.types.d.ts → useTreeItem/useTreeItem.types.d.ts} +42 -58
  115. package/TreeItem/TreeItemContent.d.ts +0 -61
  116. package/TreeItem/TreeItemContent.js +0 -146
  117. package/TreeItem/useTreeItemState.d.ts +0 -21
  118. package/TreeItem/useTreeItemState.js +0 -143
  119. package/TreeItem2/TreeItem2.d.ts +0 -34
  120. package/TreeItem2/TreeItem2.js +0 -387
  121. package/TreeItem2/TreeItem2.types.d.ts +0 -92
  122. package/TreeItem2/index.d.ts +0 -2
  123. package/TreeItem2/index.js +0 -1
  124. package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.d.ts +0 -4
  125. package/TreeItem2DragAndDropOverlay/index.d.ts +0 -2
  126. package/TreeItem2DragAndDropOverlay/index.js +0 -1
  127. package/TreeItem2DragAndDropOverlay/package.json +0 -6
  128. package/TreeItem2Icon/TreeItem2Icon.d.ts +0 -7
  129. package/TreeItem2Icon/index.d.ts +0 -2
  130. package/TreeItem2Icon/index.js +0 -1
  131. package/TreeItem2LabelInput/TreeItem2LabelInput.d.ts +0 -2
  132. package/TreeItem2LabelInput/index.d.ts +0 -2
  133. package/TreeItem2LabelInput/index.js +0 -1
  134. package/TreeItem2Provider/TreeItem2Provider.d.ts +0 -6
  135. package/TreeItem2Provider/index.d.ts +0 -2
  136. package/TreeItem2Provider/index.js +0 -1
  137. package/TreeView/TreeView.d.ts +0 -21
  138. package/TreeView/TreeView.js +0 -211
  139. package/TreeView/TreeView.types.d.ts +0 -9
  140. package/TreeView/index.d.ts +0 -3
  141. package/TreeView/index.js +0 -3
  142. package/TreeView/package.json +0 -6
  143. package/TreeView/treeViewClasses.d.ts +0 -7
  144. package/TreeView/treeViewClasses.js +0 -6
  145. package/hooks/useTreeItem2Utils/index.d.ts +0 -1
  146. package/hooks/useTreeItem2Utils/index.js +0 -1
  147. package/modern/TreeItem/TreeItemContent.js +0 -146
  148. package/modern/TreeItem/useTreeItemState.js +0 -143
  149. package/modern/TreeItem2/TreeItem2.js +0 -387
  150. package/modern/TreeItem2/index.js +0 -1
  151. package/modern/TreeItem2DragAndDropOverlay/index.js +0 -1
  152. package/modern/TreeItem2Icon/index.js +0 -1
  153. package/modern/TreeItem2LabelInput/index.js +0 -1
  154. package/modern/TreeItem2Provider/TreeItem2Provider.types.js +0 -1
  155. package/modern/TreeItem2Provider/index.js +0 -1
  156. package/modern/TreeView/TreeView.js +0 -211
  157. package/modern/TreeView/TreeView.types.js +0 -1
  158. package/modern/TreeView/index.js +0 -3
  159. package/modern/TreeView/treeViewClasses.js +0 -6
  160. package/modern/hooks/useTreeItem2Utils/index.js +0 -1
  161. package/modern/useTreeItem2/index.js +0 -4
  162. package/modern/useTreeItem2/useTreeItem2.types.js +0 -1
  163. package/node/TreeItem/TreeItemContent.js +0 -153
  164. package/node/TreeItem/useTreeItemState.js +0 -148
  165. package/node/TreeItem2/TreeItem2.js +0 -394
  166. package/node/TreeItem2/index.js +0 -48
  167. package/node/TreeItem2DragAndDropOverlay/index.js +0 -12
  168. package/node/TreeItem2Icon/index.js +0 -12
  169. package/node/TreeItem2LabelInput/index.js +0 -12
  170. package/node/TreeItem2Provider/index.js +0 -12
  171. package/node/TreeView/TreeView.js +0 -217
  172. package/node/TreeView/TreeView.types.js +0 -5
  173. package/node/TreeView/index.js +0 -27
  174. package/node/TreeView/treeViewClasses.js +0 -14
  175. package/node/hooks/useTreeItem2Utils/index.js +0 -12
  176. package/node/useTreeItem2/index.js +0 -10
  177. package/node/useTreeItem2/useTreeItem2.types.js +0 -5
  178. package/useTreeItem2/index.d.ts +0 -3
  179. package/useTreeItem2/index.js +0 -4
  180. package/useTreeItem2/useTreeItem2.d.ts +0 -2
  181. package/useTreeItem2/useTreeItem2.types.js +0 -1
  182. /package/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  183. /package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
  184. /package/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  185. /package/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  186. /package/{TreeItem2Provider/TreeItem2Provider.types.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  187. /package/{TreeView/TreeView.types.js → modern/TreeItemIcon/TreeItemIcon.types.js} +0 -0
  188. /package/modern/{TreeItem2/TreeItem2.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  189. /package/modern/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  190. /package/modern/{TreeItem2Icon/TreeItem2Icon.types.js → useTreeItem/useTreeItem.types.js} +0 -0
  191. /package/node/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  192. /package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
  193. /package/node/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  194. /package/node/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  195. /package/node/{TreeItem2Provider/TreeItem2Provider.types.js → useTreeItem/useTreeItem.types.js} +0 -0
  196. /package/{modern/TreeItem2LabelInput/TreeItem2LabelInput.types.js → useTreeItem/useTreeItem.types.js} +0 -0
@@ -1,387 +0,0 @@
1
- 'use client';
2
-
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["visible"],
6
- _excluded2 = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
7
- import * as React from 'react';
8
- import PropTypes from 'prop-types';
9
- import clsx from 'clsx';
10
- import unsupportedProp from '@mui/utils/unsupportedProp';
11
- import { alpha } from '@mui/material/styles';
12
- import Collapse from '@mui/material/Collapse';
13
- import MuiCheckbox from '@mui/material/Checkbox';
14
- import useSlotProps from '@mui/utils/useSlotProps';
15
- import { shouldForwardProp } from '@mui/system/createStyled';
16
- import composeClasses from '@mui/utils/composeClasses';
17
- import { styled, createUseThemeProps } from "../internals/zero-styled/index.js";
18
- import { useTreeItem2 } from "../useTreeItem2/index.js";
19
- import { getTreeItemUtilityClass } from "../TreeItem/index.js";
20
- import { TreeItem2Icon } from "../TreeItem2Icon/index.js";
21
- import { TreeItem2DragAndDropOverlay } from "../TreeItem2DragAndDropOverlay/index.js";
22
- import { TreeItem2Provider } from "../TreeItem2Provider/index.js";
23
- import { TreeItem2LabelInput } from "../TreeItem2LabelInput/index.js";
24
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
- const useThemeProps = createUseThemeProps('MuiTreeItem2');
26
- export const TreeItem2Root = styled('li', {
27
- name: 'MuiTreeItem2',
28
- slot: 'Root',
29
- overridesResolver: (props, styles) => styles.root
30
- })({
31
- listStyle: 'none',
32
- margin: 0,
33
- padding: 0,
34
- outline: 0
35
- });
36
- export const TreeItem2Content = styled('div', {
37
- name: 'MuiTreeItem2',
38
- slot: 'Content',
39
- overridesResolver: (props, styles) => styles.content,
40
- shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'status' && prop !== 'indentationAtItemLevel'
41
- })(({
42
- theme
43
- }) => ({
44
- padding: theme.spacing(0.5, 1),
45
- borderRadius: theme.shape.borderRadius,
46
- width: '100%',
47
- boxSizing: 'border-box',
48
- // prevent width + padding to overflow
49
- position: 'relative',
50
- display: 'flex',
51
- alignItems: 'center',
52
- gap: theme.spacing(1),
53
- cursor: 'pointer',
54
- WebkitTapHighlightColor: 'transparent',
55
- '&:hover': {
56
- backgroundColor: (theme.vars || theme).palette.action.hover,
57
- // Reset on touch devices, it doesn't add specificity
58
- '@media (hover: none)': {
59
- backgroundColor: 'transparent'
60
- }
61
- },
62
- variants: [{
63
- props: {
64
- indentationAtItemLevel: true
65
- },
66
- style: {
67
- paddingLeft: `calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`
68
- }
69
- }, {
70
- props: ({
71
- status
72
- }) => status.disabled,
73
- style: {
74
- opacity: (theme.vars || theme).palette.action.disabledOpacity,
75
- backgroundColor: 'transparent'
76
- }
77
- }, {
78
- props: ({
79
- status
80
- }) => status.focused,
81
- style: {
82
- backgroundColor: (theme.vars || theme).palette.action.focus
83
- }
84
- }, {
85
- props: ({
86
- status
87
- }) => status.selected,
88
- style: {
89
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
90
- '&:hover': {
91
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
92
- // Reset on touch devices, it doesn't add specificity
93
- '@media (hover: none)': {
94
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)
95
- }
96
- }
97
- }
98
- }, {
99
- props: ({
100
- status
101
- }) => status.selected && status.focused,
102
- style: {
103
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
104
- }
105
- }]
106
- }));
107
- export const TreeItem2Label = styled('div', {
108
- name: 'MuiTreeItem2',
109
- slot: 'Label',
110
- overridesResolver: (props, styles) => styles.label,
111
- shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'editable'
112
- })(({
113
- theme
114
- }) => _extends({
115
- width: '100%',
116
- boxSizing: 'border-box',
117
- // prevent width + padding to overflow
118
- // fixes overflow - see https://github.com/mui/material-ui/issues/27372
119
- minWidth: 0,
120
- position: 'relative',
121
- overflow: 'hidden'
122
- }, theme.typography.body1, {
123
- variants: [{
124
- props: ({
125
- editable
126
- }) => editable,
127
- style: {
128
- paddingLeft: '2px'
129
- }
130
- }]
131
- }));
132
- export const TreeItem2IconContainer = styled('div', {
133
- name: 'MuiTreeItem2',
134
- slot: 'IconContainer',
135
- overridesResolver: (props, styles) => styles.iconContainer
136
- })({
137
- width: 16,
138
- display: 'flex',
139
- flexShrink: 0,
140
- justifyContent: 'center',
141
- '& svg': {
142
- fontSize: 18
143
- }
144
- });
145
- export const TreeItem2GroupTransition = styled(Collapse, {
146
- name: 'MuiTreeItem2',
147
- slot: 'GroupTransition',
148
- overridesResolver: (props, styles) => styles.groupTransition,
149
- shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'indentationAtItemLevel'
150
- })({
151
- margin: 0,
152
- padding: 0,
153
- paddingLeft: 'var(--TreeView-itemChildrenIndentation)',
154
- variants: [{
155
- props: {
156
- indentationAtItemLevel: true
157
- },
158
- style: {
159
- paddingLeft: 0
160
- }
161
- }]
162
- });
163
- export const TreeItem2Checkbox = styled(/*#__PURE__*/React.forwardRef((props, ref) => {
164
- const {
165
- visible
166
- } = props,
167
- other = _objectWithoutPropertiesLoose(props, _excluded);
168
- if (!visible) {
169
- return null;
170
- }
171
- return /*#__PURE__*/_jsx(MuiCheckbox, _extends({}, other, {
172
- ref: ref
173
- }));
174
- }), {
175
- name: 'MuiTreeItem2',
176
- slot: 'Checkbox',
177
- overridesResolver: (props, styles) => styles.checkbox
178
- })({
179
- padding: 0
180
- });
181
- const useUtilityClasses = ownerState => {
182
- const {
183
- classes
184
- } = ownerState;
185
- const slots = {
186
- root: ['root'],
187
- content: ['content'],
188
- expanded: ['expanded'],
189
- editing: ['editing'],
190
- editable: ['editable'],
191
- selected: ['selected'],
192
- focused: ['focused'],
193
- disabled: ['disabled'],
194
- iconContainer: ['iconContainer'],
195
- checkbox: ['checkbox'],
196
- label: ['label'],
197
- groupTransition: ['groupTransition'],
198
- labelInput: ['labelInput'],
199
- dragAndDropOverlay: ['dragAndDropOverlay']
200
- };
201
- return composeClasses(slots, getTreeItemUtilityClass, classes);
202
- };
203
- /**
204
- *
205
- * Demos:
206
- *
207
- * - [Tree View](https://mui.com/x/react-tree-view/)
208
- *
209
- * API:
210
- *
211
- * - [TreeItem2 API](https://mui.com/x/api/tree-view/tree-item-2/)
212
- */
213
- export const TreeItem2 = /*#__PURE__*/React.forwardRef(function TreeItem2(inProps, forwardedRef) {
214
- const props = useThemeProps({
215
- props: inProps,
216
- name: 'MuiTreeItem2'
217
- });
218
- const {
219
- id,
220
- itemId,
221
- label,
222
- disabled,
223
- children,
224
- slots = {},
225
- slotProps = {}
226
- } = props,
227
- other = _objectWithoutPropertiesLoose(props, _excluded2);
228
- const {
229
- getRootProps,
230
- getContentProps,
231
- getIconContainerProps,
232
- getCheckboxProps,
233
- getLabelProps,
234
- getGroupTransitionProps,
235
- getLabelInputProps,
236
- getDragAndDropOverlayProps,
237
- status
238
- } = useTreeItem2({
239
- id,
240
- itemId,
241
- children,
242
- label,
243
- disabled
244
- });
245
- const ownerState = _extends({}, props, status);
246
- const classes = useUtilityClasses(ownerState);
247
- const Root = slots.root ?? TreeItem2Root;
248
- const rootProps = useSlotProps({
249
- elementType: Root,
250
- getSlotProps: getRootProps,
251
- externalForwardedProps: other,
252
- externalSlotProps: slotProps.root,
253
- additionalProps: {
254
- ref: forwardedRef
255
- },
256
- ownerState: {},
257
- className: classes.root
258
- });
259
- const Content = slots.content ?? TreeItem2Content;
260
- const contentProps = useSlotProps({
261
- elementType: Content,
262
- getSlotProps: getContentProps,
263
- externalSlotProps: slotProps.content,
264
- ownerState: {},
265
- className: clsx(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)
266
- });
267
- const IconContainer = slots.iconContainer ?? TreeItem2IconContainer;
268
- const iconContainerProps = useSlotProps({
269
- elementType: IconContainer,
270
- getSlotProps: getIconContainerProps,
271
- externalSlotProps: slotProps.iconContainer,
272
- ownerState: {},
273
- className: classes.iconContainer
274
- });
275
- const Label = slots.label ?? TreeItem2Label;
276
- const labelProps = useSlotProps({
277
- elementType: Label,
278
- getSlotProps: getLabelProps,
279
- externalSlotProps: slotProps.label,
280
- ownerState: {},
281
- className: classes.label
282
- });
283
- const Checkbox = slots.checkbox ?? TreeItem2Checkbox;
284
- const checkboxProps = useSlotProps({
285
- elementType: Checkbox,
286
- getSlotProps: getCheckboxProps,
287
- externalSlotProps: slotProps.checkbox,
288
- ownerState: {},
289
- className: classes.checkbox
290
- });
291
- const GroupTransition = slots.groupTransition ?? undefined;
292
- const groupTransitionProps = useSlotProps({
293
- elementType: GroupTransition,
294
- getSlotProps: getGroupTransitionProps,
295
- externalSlotProps: slotProps.groupTransition,
296
- ownerState: {},
297
- className: classes.groupTransition
298
- });
299
- const LabelInput = slots.labelInput ?? TreeItem2LabelInput;
300
- const labelInputProps = useSlotProps({
301
- elementType: LabelInput,
302
- getSlotProps: getLabelInputProps,
303
- externalSlotProps: slotProps.labelInput,
304
- ownerState: {},
305
- className: classes.labelInput
306
- });
307
- const DragAndDropOverlay = slots.dragAndDropOverlay ?? TreeItem2DragAndDropOverlay;
308
- const dragAndDropOverlayProps = useSlotProps({
309
- elementType: DragAndDropOverlay,
310
- getSlotProps: getDragAndDropOverlayProps,
311
- externalSlotProps: slotProps.dragAndDropOverlay,
312
- ownerState: {},
313
- className: classes.dragAndDropOverlay
314
- });
315
- return /*#__PURE__*/_jsx(TreeItem2Provider, {
316
- itemId: itemId,
317
- children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
318
- children: [/*#__PURE__*/_jsxs(Content, _extends({}, contentProps, {
319
- children: [/*#__PURE__*/_jsx(IconContainer, _extends({}, iconContainerProps, {
320
- children: /*#__PURE__*/_jsx(TreeItem2Icon, {
321
- status: status,
322
- slots: slots,
323
- slotProps: slotProps
324
- })
325
- })), /*#__PURE__*/_jsx(Checkbox, _extends({}, checkboxProps)), status.editing ? /*#__PURE__*/_jsx(LabelInput, _extends({}, labelInputProps)) : /*#__PURE__*/_jsx(Label, _extends({}, labelProps)), /*#__PURE__*/_jsx(DragAndDropOverlay, _extends({}, dragAndDropOverlayProps))]
326
- })), children && /*#__PURE__*/_jsx(TreeItem2GroupTransition, _extends({
327
- as: GroupTransition
328
- }, groupTransitionProps))]
329
- }))
330
- });
331
- });
332
- process.env.NODE_ENV !== "production" ? TreeItem2.propTypes = {
333
- // ----------------------------- Warning --------------------------------
334
- // | These PropTypes are generated from the TypeScript type definitions |
335
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
336
- // ----------------------------------------------------------------------
337
- /**
338
- * The content of the component.
339
- */
340
- children: PropTypes.node,
341
- /**
342
- * Override or extend the styles applied to the component.
343
- */
344
- classes: PropTypes.object,
345
- className: PropTypes.string,
346
- /**
347
- * If `true`, the item is disabled.
348
- * @default false
349
- */
350
- disabled: PropTypes.bool,
351
- /**
352
- * The id attribute of the item. If not provided, it will be generated.
353
- */
354
- id: PropTypes.string,
355
- /**
356
- * The id of the item.
357
- * Must be unique.
358
- */
359
- itemId: PropTypes.string.isRequired,
360
- /**
361
- * The label of the item.
362
- */
363
- label: PropTypes.node,
364
- /**
365
- * Callback fired when the item root is blurred.
366
- */
367
- onBlur: PropTypes.func,
368
- /**
369
- * This prop isn't supported.
370
- * Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
371
- */
372
- onFocus: unsupportedProp,
373
- /**
374
- * Callback fired when a key is pressed on the keyboard and the tree is in focus.
375
- */
376
- onKeyDown: PropTypes.func,
377
- /**
378
- * The props used for each component slot.
379
- * @default {}
380
- */
381
- slotProps: PropTypes.object,
382
- /**
383
- * Overridable component slots.
384
- * @default {}
385
- */
386
- slots: PropTypes.object
387
- } : void 0;
@@ -1,92 +0,0 @@
1
- import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/utils';
3
- import { UseTreeItem2Parameters, UseTreeItem2Status } from '../useTreeItem2';
4
- import { TreeItemClasses } from '../TreeItem';
5
- import { TreeItem2IconSlotProps, TreeItem2IconSlots } from '../TreeItem2Icon';
6
- import { TreeViewCancellableEventHandler } from '../models';
7
- export interface TreeItem2Slots extends TreeItem2IconSlots {
8
- /**
9
- * The component that renders the root.
10
- * @default TreeItem2Root
11
- */
12
- root?: React.ElementType;
13
- /**
14
- * The component that renders the content of the item.
15
- * (e.g.: everything related to this item, not to its children).
16
- * @default TreeItem2Content
17
- */
18
- content?: React.ElementType;
19
- /**
20
- * The component that renders the children of the item.
21
- * @default TreeItem2GroupTransition
22
- */
23
- groupTransition?: React.ElementType;
24
- /**
25
- * The component that renders the icon.
26
- * @default TreeItem2IconContainer
27
- */
28
- iconContainer?: React.ElementType;
29
- /**
30
- * The component that renders the item checkbox for selection.
31
- * @default TreeItem2Checkbox
32
- */
33
- checkbox?: React.ElementType;
34
- /**
35
- * The component that renders the item label.
36
- * @default TreeItem2Label
37
- */
38
- label?: React.ElementType;
39
- /**
40
- * The component that renders the input to edit the label when the item is editable and is currently being edited.
41
- * @default TreeItem2LabelInput
42
- */
43
- labelInput?: React.ElementType;
44
- /**
45
- * The component that renders the overlay when an item reordering is ongoing.
46
- * Warning: This slot is only useful when using the `<RichTreeViewPro />` component.
47
- * @default TreeItem2DragAndDropOverlay
48
- */
49
- dragAndDropOverlay?: React.ElementType;
50
- }
51
- export interface TreeItem2SlotProps extends TreeItem2IconSlotProps {
52
- root?: SlotComponentProps<'li', {}, {}>;
53
- content?: SlotComponentProps<'div', {}, {}>;
54
- groupTransition?: SlotComponentProps<'div', {}, {}>;
55
- iconContainer?: SlotComponentProps<'div', {}, {}>;
56
- checkbox?: SlotComponentProps<'button', {}, {}>;
57
- label?: SlotComponentProps<'div', {}, {}>;
58
- labelInput?: SlotComponentProps<'input', {}, {}>;
59
- dragAndDropOverlay?: SlotComponentProps<'div', {}, {}>;
60
- }
61
- export interface TreeItem2Props extends Omit<UseTreeItem2Parameters, 'rootRef'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onFocus'> {
62
- className?: string;
63
- /**
64
- * Override or extend the styles applied to the component.
65
- */
66
- classes?: Partial<TreeItemClasses>;
67
- /**
68
- * Overridable component slots.
69
- * @default {}
70
- */
71
- slots?: TreeItem2Slots;
72
- /**
73
- * The props used for each component slot.
74
- * @default {}
75
- */
76
- slotProps?: TreeItem2SlotProps;
77
- /**
78
- * This prop isn't supported.
79
- * Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
80
- */
81
- onFocus?: null;
82
- /**
83
- * Callback fired when the item root is blurred.
84
- */
85
- onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLLIElement>>;
86
- /**
87
- * Callback fired when a key is pressed on the keyboard and the tree is in focus.
88
- */
89
- onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLLIElement>>;
90
- }
91
- export interface TreeItem2OwnerState extends Omit<TreeItem2Props, 'disabled'>, UseTreeItem2Status {
92
- }
@@ -1,2 +0,0 @@
1
- export { TreeItem2, TreeItem2Root, TreeItem2Content, TreeItem2IconContainer, TreeItem2GroupTransition, TreeItem2Checkbox, TreeItem2Label, } from './TreeItem2';
2
- export type { TreeItem2Props, TreeItem2Slots, TreeItem2SlotProps } from './TreeItem2.types';
@@ -1 +0,0 @@
1
- export { TreeItem2, TreeItem2Root, TreeItem2Content, TreeItem2IconContainer, TreeItem2GroupTransition, TreeItem2Checkbox, TreeItem2Label } from "./TreeItem2.js";
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { TreeItem2DragAndDropOverlayProps } from './TreeItem2DragAndDropOverlay.types';
3
- declare function TreeItem2DragAndDropOverlay(props: TreeItem2DragAndDropOverlayProps): React.JSX.Element | null;
4
- export { TreeItem2DragAndDropOverlay };
@@ -1,2 +0,0 @@
1
- export { TreeItem2DragAndDropOverlay } from './TreeItem2DragAndDropOverlay';
2
- export type { TreeItem2DragAndDropOverlayProps } from './TreeItem2DragAndDropOverlay.types';
@@ -1 +0,0 @@
1
- export { TreeItem2DragAndDropOverlay } from "./TreeItem2DragAndDropOverlay.js";
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "main": "../node/TreeItem2DragAndDropOverlay/index.js",
5
- "types": "./index.d.ts"
6
- }
@@ -1,7 +0,0 @@
1
- import * as React from 'react';
2
- import { TreeItem2IconProps } from './TreeItem2Icon.types';
3
- declare function TreeItem2Icon(props: TreeItem2IconProps): React.JSX.Element | null;
4
- declare namespace TreeItem2Icon {
5
- var propTypes: any;
6
- }
7
- export { TreeItem2Icon };
@@ -1,2 +0,0 @@
1
- export { TreeItem2Icon } from './TreeItem2Icon';
2
- export type { TreeItem2IconProps, TreeItem2IconSlots, TreeItem2IconSlotProps, } from './TreeItem2Icon.types';
@@ -1 +0,0 @@
1
- export { TreeItem2Icon } from "./TreeItem2Icon.js";
@@ -1,2 +0,0 @@
1
- declare const TreeItem2LabelInput: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, keyof import("react").ClassAttributes<HTMLInputElement> | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, {}>;
2
- export { TreeItem2LabelInput };
@@ -1,2 +0,0 @@
1
- export { TreeItem2LabelInput } from './TreeItem2LabelInput';
2
- export type { TreeItem2LabelInputProps } from './TreeItem2LabelInput.types';
@@ -1 +0,0 @@
1
- export { TreeItem2LabelInput } from "./TreeItem2LabelInput.js";
@@ -1,6 +0,0 @@
1
- import { TreeItem2ProviderProps } from './TreeItem2Provider.types';
2
- declare function TreeItem2Provider(props: TreeItem2ProviderProps): import("react").ReactNode;
3
- declare namespace TreeItem2Provider {
4
- var propTypes: any;
5
- }
6
- export { TreeItem2Provider };
@@ -1,2 +0,0 @@
1
- export { TreeItem2Provider } from './TreeItem2Provider';
2
- export type { TreeItem2ProviderProps } from './TreeItem2Provider.types';
@@ -1 +0,0 @@
1
- export { TreeItem2Provider } from "./TreeItem2Provider.js";
@@ -1,21 +0,0 @@
1
- import * as React from 'react';
2
- import { TreeViewProps } from './TreeView.types';
3
- type TreeViewComponent = (<Multiple extends boolean | undefined = undefined>(props: TreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
4
- propTypes?: any;
5
- };
6
- /**
7
- * This component has been deprecated in favor of the new Simple Tree View component.
8
- * You can have a look at how to migrate to the new component in the v7 [migration guide](https://mui.com/x/migration/migration-tree-view-v6/#use-simpletreeview-instead-of-treeview)
9
- *
10
- * Demos:
11
- *
12
- * - [Tree View](https://mui.com/x/react-tree-view/)
13
- *
14
- * API:
15
- *
16
- * - [TreeView API](https://mui.com/x/api/tree-view/tree-view/)
17
- *
18
- * @deprecated
19
- */
20
- declare const TreeView: TreeViewComponent;
21
- export { TreeView };