@mui/x-tree-view 7.0.0-beta.6 → 7.0.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 +311 -12
- package/README.md +1 -1
- package/RichTreeView/RichTreeView.js +34 -36
- package/RichTreeView/RichTreeView.types.d.ts +3 -2
- package/SimpleTreeView/SimpleTreeView.js +25 -26
- package/TreeItem/TreeItem.js +94 -82
- package/TreeItem/TreeItem.types.d.ts +13 -11
- package/TreeItem/TreeItemContent.d.ts +7 -7
- package/TreeItem/TreeItemContent.js +10 -10
- package/TreeItem/useTreeItemState.d.ts +1 -1
- package/TreeItem/useTreeItemState.js +13 -13
- package/TreeItem2/TreeItem2.d.ts +18 -0
- package/TreeItem2/TreeItem2.js +300 -0
- package/TreeItem2/TreeItem2.types.d.ts +64 -0
- package/TreeItem2/TreeItem2.types.js +1 -0
- package/TreeItem2/index.d.ts +2 -0
- package/TreeItem2/index.js +1 -0
- package/TreeItem2/package.json +6 -0
- package/TreeItem2Icon/TreeItem2Icon.d.ts +7 -0
- package/TreeItem2Icon/TreeItem2Icon.js +67 -0
- package/TreeItem2Icon/TreeItem2Icon.types.d.ts +40 -0
- package/TreeItem2Icon/TreeItem2Icon.types.js +1 -0
- package/TreeItem2Icon/index.d.ts +2 -0
- package/TreeItem2Icon/index.js +1 -0
- package/TreeItem2Icon/package.json +6 -0
- package/TreeItem2Provider/TreeItem2Provider.d.ts +7 -0
- package/TreeItem2Provider/TreeItem2Provider.js +24 -0
- package/TreeItem2Provider/TreeItem2Provider.types.d.ts +6 -0
- package/TreeItem2Provider/TreeItem2Provider.types.js +1 -0
- package/TreeItem2Provider/index.d.ts +2 -0
- package/TreeItem2Provider/index.js +1 -0
- package/TreeItem2Provider/package.json +6 -0
- package/TreeView/TreeView.d.ts +1 -1
- package/TreeView/TreeView.js +23 -23
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +2 -1
- package/hooks/useTreeItem2Utils/index.d.ts +1 -0
- package/hooks/useTreeItem2Utils/index.js +1 -0
- package/hooks/useTreeItem2Utils/useTreeItem2Utils.d.ts +15 -0
- package/hooks/useTreeItem2Utils/useTreeItem2Utils.js +61 -0
- package/index.d.ts +5 -1
- package/index.js +9 -2
- package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -1
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +4 -2
- package/internals/hooks/useInstanceEventHandler.js +5 -10
- package/internals/hooks/useLazyRef.d.ts +1 -2
- package/internals/hooks/useLazyRef.js +1 -11
- package/internals/hooks/useOnMount.d.ts +1 -2
- package/internals/hooks/useOnMount.js +1 -7
- package/internals/hooks/useTimeout.d.ts +1 -11
- package/internals/hooks/useTimeout.js +1 -36
- package/internals/models/plugin.d.ts +19 -16
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +31 -38
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +14 -14
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +67 -51
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +9 -8
- package/internals/plugins/useTreeViewId/useTreeViewId.js +1 -1
- package/internals/plugins/useTreeViewId/useTreeViewId.types.d.ts +1 -1
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +30 -31
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.d.ts +2 -2
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +75 -80
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +4 -1
- package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +26 -31
- package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +11 -11
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +47 -50
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +15 -15
- package/internals/useTreeView/useTreeView.js +28 -27
- package/internals/useTreeView/useTreeView.utils.d.ts +2 -2
- package/internals/useTreeView/useTreeView.utils.js +22 -22
- package/internals/utils/extractPluginParamsFromProps.js +2 -2
- package/internals/utils/utils.js +1 -0
- package/modern/RichTreeView/RichTreeView.js +29 -29
- package/modern/SimpleTreeView/SimpleTreeView.js +23 -23
- package/modern/TreeItem/TreeItem.js +83 -70
- package/modern/TreeItem/TreeItemContent.js +10 -10
- package/modern/TreeItem/useTreeItemState.js +13 -13
- package/modern/TreeItem2/TreeItem2.js +300 -0
- package/modern/TreeItem2/TreeItem2.types.js +1 -0
- package/modern/TreeItem2/index.js +1 -0
- package/modern/TreeItem2Icon/TreeItem2Icon.js +67 -0
- package/modern/TreeItem2Icon/TreeItem2Icon.types.js +1 -0
- package/modern/TreeItem2Icon/index.js +1 -0
- package/modern/TreeItem2Provider/TreeItem2Provider.js +24 -0
- package/modern/TreeItem2Provider/TreeItem2Provider.types.js +1 -0
- package/modern/TreeItem2Provider/index.js +1 -0
- package/modern/TreeView/TreeView.js +23 -23
- package/modern/hooks/index.js +2 -1
- package/modern/hooks/useTreeItem2Utils/index.js +1 -0
- package/modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js +61 -0
- package/modern/index.js +9 -2
- package/modern/internals/hooks/useLazyRef.js +1 -11
- package/modern/internals/hooks/useOnMount.js +1 -7
- package/modern/internals/hooks/useTimeout.js +1 -36
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +29 -29
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +65 -46
- package/modern/internals/plugins/useTreeViewId/useTreeViewId.js +1 -1
- package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +30 -30
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +74 -77
- package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +21 -22
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -43
- package/modern/internals/useTreeView/useTreeView.js +28 -27
- package/modern/internals/useTreeView/useTreeView.utils.js +22 -22
- package/modern/internals/utils/utils.js +1 -0
- package/modern/useTreeItem2/index.js +1 -0
- package/modern/useTreeItem2/useTreeItem2.js +146 -0
- package/modern/useTreeItem2/useTreeItem2.types.js +1 -0
- package/node/RichTreeView/RichTreeView.js +29 -29
- package/node/SimpleTreeView/SimpleTreeView.js +23 -23
- package/node/TreeItem/TreeItem.js +83 -70
- package/node/TreeItem/TreeItemContent.js +10 -10
- package/node/TreeItem/useTreeItemState.js +13 -13
- package/node/TreeItem2/TreeItem2.js +308 -0
- package/node/TreeItem2/TreeItem2.types.js +5 -0
- package/node/TreeItem2/index.js +42 -0
- package/node/TreeItem2Icon/TreeItem2Icon.js +75 -0
- package/node/TreeItem2Icon/TreeItem2Icon.types.js +5 -0
- package/node/TreeItem2Icon/index.js +12 -0
- package/node/TreeItem2Provider/TreeItem2Provider.js +30 -0
- package/node/TreeItem2Provider/TreeItem2Provider.types.js +5 -0
- package/node/TreeItem2Provider/index.js +12 -0
- package/node/TreeView/TreeView.js +23 -23
- package/node/hooks/index.js +8 -1
- package/node/hooks/useTreeItem2Utils/index.js +12 -0
- package/node/hooks/useTreeItem2Utils/useTreeItem2Utils.js +68 -0
- package/node/index.js +61 -13
- package/node/internals/hooks/useLazyRef.js +7 -13
- package/node/internals/hooks/useOnMount.js +8 -10
- package/node/internals/hooks/useTimeout.js +7 -37
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +29 -29
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +65 -46
- package/node/internals/plugins/useTreeViewId/useTreeViewId.js +1 -1
- package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +30 -30
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +74 -77
- package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +21 -22
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -43
- package/node/internals/useTreeView/useTreeView.js +28 -27
- package/node/internals/useTreeView/useTreeView.utils.js +22 -22
- package/node/internals/utils/utils.js +1 -0
- package/node/useTreeItem2/index.js +12 -0
- package/node/useTreeItem2/useTreeItem2.js +154 -0
- package/node/useTreeItem2/useTreeItem2.types.js +5 -0
- package/package.json +5 -5
- package/themeAugmentation/components.d.ts +5 -0
- package/themeAugmentation/overrides.d.ts +1 -0
- package/themeAugmentation/props.d.ts +2 -0
- package/useTreeItem2/index.d.ts +2 -0
- package/useTreeItem2/index.js +1 -0
- package/useTreeItem2/package.json +6 -0
- package/useTreeItem2/useTreeItem2.d.ts +2 -0
- package/useTreeItem2/useTreeItem2.js +146 -0
- package/useTreeItem2/useTreeItem2.types.d.ts +115 -0
- package/useTreeItem2/useTreeItem2.types.js +1 -0
|
@@ -12,6 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
|
|
14
14
|
var _utils = require("@mui/base/utils");
|
|
15
|
+
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
15
16
|
var _styles = require("@mui/material/styles");
|
|
16
17
|
var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
|
|
17
18
|
var _elementTypeAcceptingRef = _interopRequireDefault(require("@mui/utils/elementTypeAcceptingRef"));
|
|
@@ -20,8 +21,9 @@ var _TreeItemContent = require("./TreeItemContent");
|
|
|
20
21
|
var _treeItemClasses = require("./treeItemClasses");
|
|
21
22
|
var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewContext");
|
|
22
23
|
var _icons = require("../icons");
|
|
24
|
+
var _TreeItem2Provider = require("../TreeItem2Provider");
|
|
23
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
-
const _excluded = ["children", "className", "slots", "slotProps", "ContentComponent", "ContentProps", "
|
|
26
|
+
const _excluded = ["children", "className", "slots", "slotProps", "ContentComponent", "ContentProps", "itemId", "id", "label", "onClick", "onMouseDown", "onFocus", "onBlur", "onKeyDown"],
|
|
25
27
|
_excluded2 = ["ownerState"],
|
|
26
28
|
_excluded3 = ["ownerState"],
|
|
27
29
|
_excluded4 = ["ownerState"];
|
|
@@ -152,18 +154,10 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
|
|
|
152
154
|
disabledItemsFocusable,
|
|
153
155
|
instance
|
|
154
156
|
} = (0, _useTreeViewContext.useTreeViewContext)();
|
|
155
|
-
const
|
|
157
|
+
const props = (0, _styles.useThemeProps)({
|
|
156
158
|
props: inProps,
|
|
157
159
|
name: 'MuiTreeItem'
|
|
158
160
|
});
|
|
159
|
-
const {
|
|
160
|
-
props,
|
|
161
|
-
ref,
|
|
162
|
-
wrapItem
|
|
163
|
-
} = runItemPlugins({
|
|
164
|
-
props: inPropsWithTheme,
|
|
165
|
-
ref: inRef
|
|
166
|
-
});
|
|
167
161
|
const {
|
|
168
162
|
children,
|
|
169
163
|
className,
|
|
@@ -171,13 +165,21 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
|
|
|
171
165
|
slotProps: inSlotProps,
|
|
172
166
|
ContentComponent = _TreeItemContent.TreeItemContent,
|
|
173
167
|
ContentProps,
|
|
174
|
-
|
|
168
|
+
itemId,
|
|
175
169
|
id,
|
|
176
170
|
label,
|
|
177
171
|
onClick,
|
|
178
|
-
onMouseDown
|
|
172
|
+
onMouseDown,
|
|
173
|
+
onBlur,
|
|
174
|
+
onKeyDown
|
|
179
175
|
} = props,
|
|
180
176
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
177
|
+
const {
|
|
178
|
+
contentRef,
|
|
179
|
+
rootRef
|
|
180
|
+
} = runItemPlugins(props);
|
|
181
|
+
const handleRootRef = (0, _useForkRef.default)(inRef, rootRef);
|
|
182
|
+
const handleContentRef = (0, _useForkRef.default)(ContentProps?.ref, contentRef);
|
|
181
183
|
const slots = {
|
|
182
184
|
expandIcon: inSlots?.expandIcon ?? contextIcons.slots.expandIcon ?? _icons.TreeViewExpandIcon,
|
|
183
185
|
collapseIcon: inSlots?.collapseIcon ?? contextIcons.slots.collapseIcon ?? _icons.TreeViewCollapseIcon,
|
|
@@ -192,10 +194,10 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
|
|
|
192
194
|
return Boolean(reactChildren);
|
|
193
195
|
};
|
|
194
196
|
const expandable = isExpandable(children);
|
|
195
|
-
const expanded = instance.isNodeExpanded(
|
|
196
|
-
const focused = instance.isNodeFocused(
|
|
197
|
-
const selected = instance.isNodeSelected(
|
|
198
|
-
const disabled = instance.isNodeDisabled(
|
|
197
|
+
const expanded = instance.isNodeExpanded(itemId);
|
|
198
|
+
const focused = instance.isNodeFocused(itemId);
|
|
199
|
+
const selected = instance.isNodeSelected(itemId);
|
|
200
|
+
const disabled = instance.isNodeDisabled(itemId);
|
|
199
201
|
const ownerState = (0, _extends2.default)({}, props, {
|
|
200
202
|
expanded,
|
|
201
203
|
focused,
|
|
@@ -257,62 +259,73 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
|
|
|
257
259
|
/* single-selection trees unset aria-selected on un-selected items.
|
|
258
260
|
*
|
|
259
261
|
* If the tree does not support multiple selection, aria-selected
|
|
260
|
-
* is set to true for the selected
|
|
262
|
+
* is set to true for the selected item and it is not present on any other item in the tree.
|
|
261
263
|
* Source: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
|
|
262
264
|
*/
|
|
263
265
|
ariaSelected = true;
|
|
264
266
|
}
|
|
265
267
|
function handleFocus(event) {
|
|
266
|
-
// DOM focus stays on the tree which manages focus with aria-activedescendant
|
|
267
|
-
if (event.target === event.currentTarget) {
|
|
268
|
-
instance.focusRoot();
|
|
269
|
-
}
|
|
270
268
|
const canBeFocused = !disabled || disabledItemsFocusable;
|
|
271
269
|
if (!focused && canBeFocused && event.currentTarget === event.target) {
|
|
272
|
-
instance.
|
|
270
|
+
instance.focusItem(event, itemId);
|
|
273
271
|
}
|
|
274
272
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
273
|
+
function handleBlur(event) {
|
|
274
|
+
onBlur?.(event);
|
|
275
|
+
instance.removeFocusedItem();
|
|
276
|
+
}
|
|
277
|
+
const handleKeyDown = event => {
|
|
278
|
+
onKeyDown?.(event);
|
|
279
|
+
instance.handleItemKeyDown(event, itemId);
|
|
280
|
+
};
|
|
281
|
+
const idAttribute = instance.getTreeItemId(itemId, id);
|
|
282
|
+
const tabIndex = instance.canItemBeTabbed(itemId) ? 0 : -1;
|
|
283
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2Provider.TreeItem2Provider, {
|
|
284
|
+
itemId: itemId,
|
|
285
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TreeItemRoot, (0, _extends2.default)({
|
|
286
|
+
className: (0, _clsx.default)(classes.root, className),
|
|
287
|
+
role: "treeitem",
|
|
288
|
+
"aria-expanded": expandable ? expanded : undefined,
|
|
289
|
+
"aria-selected": ariaSelected,
|
|
290
|
+
"aria-disabled": disabled || undefined,
|
|
291
|
+
id: idAttribute,
|
|
292
|
+
tabIndex: tabIndex
|
|
293
|
+
}, other, {
|
|
294
|
+
ownerState: ownerState,
|
|
295
|
+
onFocus: handleFocus,
|
|
296
|
+
onBlur: handleBlur,
|
|
297
|
+
onKeyDown: handleKeyDown,
|
|
298
|
+
ref: handleRootRef,
|
|
299
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTreeItemContent, (0, _extends2.default)({
|
|
300
|
+
as: ContentComponent,
|
|
301
|
+
classes: {
|
|
302
|
+
root: classes.content,
|
|
303
|
+
expanded: classes.expanded,
|
|
304
|
+
selected: classes.selected,
|
|
305
|
+
focused: classes.focused,
|
|
306
|
+
disabled: classes.disabled,
|
|
307
|
+
iconContainer: classes.iconContainer,
|
|
308
|
+
label: classes.label
|
|
309
|
+
},
|
|
310
|
+
label: label,
|
|
311
|
+
itemId: itemId,
|
|
312
|
+
onClick: onClick,
|
|
313
|
+
onMouseDown: onMouseDown,
|
|
314
|
+
icon: icon,
|
|
315
|
+
expansionIcon: expansionIcon,
|
|
316
|
+
displayIcon: displayIcon,
|
|
317
|
+
ownerState: ownerState
|
|
318
|
+
}, ContentProps, {
|
|
319
|
+
ref: handleContentRef
|
|
320
|
+
})), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemGroup, (0, _extends2.default)({
|
|
321
|
+
as: GroupTransition
|
|
322
|
+
}, groupTransitionProps, {
|
|
323
|
+
children: children
|
|
324
|
+
}))]
|
|
325
|
+
}))
|
|
326
|
+
});
|
|
314
327
|
});
|
|
315
|
-
TreeItem.propTypes = {
|
|
328
|
+
process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
|
|
316
329
|
// ----------------------------- Warning --------------------------------
|
|
317
330
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
318
331
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
@@ -327,7 +340,7 @@ TreeItem.propTypes = {
|
|
|
327
340
|
classes: _propTypes.default.object,
|
|
328
341
|
className: _propTypes.default.string,
|
|
329
342
|
/**
|
|
330
|
-
* The component used
|
|
343
|
+
* The component used to render the content of the item.
|
|
331
344
|
* @default TreeItemContent
|
|
332
345
|
*/
|
|
333
346
|
ContentComponent: _elementTypeAcceptingRef.default,
|
|
@@ -336,21 +349,21 @@ TreeItem.propTypes = {
|
|
|
336
349
|
*/
|
|
337
350
|
ContentProps: _propTypes.default.object,
|
|
338
351
|
/**
|
|
339
|
-
* If `true`, the
|
|
352
|
+
* If `true`, the item is disabled.
|
|
340
353
|
* @default false
|
|
341
354
|
*/
|
|
342
355
|
disabled: _propTypes.default.bool,
|
|
343
356
|
/**
|
|
344
|
-
* The
|
|
357
|
+
* The id of the item.
|
|
345
358
|
*/
|
|
346
|
-
|
|
359
|
+
itemId: _propTypes.default.string.isRequired,
|
|
347
360
|
/**
|
|
348
|
-
* The
|
|
361
|
+
* The tree item label.
|
|
349
362
|
*/
|
|
350
|
-
|
|
363
|
+
label: _propTypes.default.node,
|
|
351
364
|
/**
|
|
352
365
|
* This prop isn't supported.
|
|
353
|
-
* Use the `
|
|
366
|
+
* Use the `onItemFocus` callback on the tree if you need to monitor a item's focus.
|
|
354
367
|
*/
|
|
355
368
|
onFocus: _unsupportedProp.default,
|
|
356
369
|
/**
|
|
@@ -367,4 +380,4 @@ TreeItem.propTypes = {
|
|
|
367
380
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
368
381
|
*/
|
|
369
382
|
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])
|
|
370
|
-
};
|
|
383
|
+
} : void 0;
|
|
@@ -12,7 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _useTreeItemState = require("./useTreeItemState");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
const _excluded = ["classes", "className", "displayIcon", "expansionIcon", "icon", "label", "
|
|
15
|
+
const _excluded = ["classes", "className", "displayIcon", "expansionIcon", "icon", "label", "itemId", "onClick", "onMouseDown"];
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
/**
|
|
@@ -26,7 +26,7 @@ const TreeItemContent = exports.TreeItemContent = /*#__PURE__*/React.forwardRef(
|
|
|
26
26
|
expansionIcon,
|
|
27
27
|
icon: iconProp,
|
|
28
28
|
label,
|
|
29
|
-
|
|
29
|
+
itemId,
|
|
30
30
|
onClick,
|
|
31
31
|
onMouseDown
|
|
32
32
|
} = props,
|
|
@@ -39,7 +39,7 @@ const TreeItemContent = exports.TreeItemContent = /*#__PURE__*/React.forwardRef(
|
|
|
39
39
|
handleExpansion,
|
|
40
40
|
handleSelection,
|
|
41
41
|
preventSelection
|
|
42
|
-
} = (0, _useTreeItemState.useTreeItemState)(
|
|
42
|
+
} = (0, _useTreeItemState.useTreeItemState)(itemId);
|
|
43
43
|
const icon = iconProp || expansionIcon || displayIcon;
|
|
44
44
|
const handleMouseDown = event => {
|
|
45
45
|
preventSelection(event);
|
|
@@ -83,23 +83,23 @@ process.env.NODE_ENV !== "production" ? TreeItemContent.propTypes = {
|
|
|
83
83
|
classes: _propTypes.default.object.isRequired,
|
|
84
84
|
className: _propTypes.default.string,
|
|
85
85
|
/**
|
|
86
|
-
* The icon to display next to the tree
|
|
86
|
+
* The icon to display next to the tree item's label. Either a parent or end icon.
|
|
87
87
|
*/
|
|
88
88
|
displayIcon: _propTypes.default.node,
|
|
89
89
|
/**
|
|
90
|
-
* The icon to display next to the tree
|
|
90
|
+
* The icon to display next to the tree item's label. Either an expansion or collapse icon.
|
|
91
91
|
*/
|
|
92
92
|
expansionIcon: _propTypes.default.node,
|
|
93
93
|
/**
|
|
94
|
-
* The icon to display next to the tree
|
|
94
|
+
* The icon to display next to the tree item's label.
|
|
95
95
|
*/
|
|
96
96
|
icon: _propTypes.default.node,
|
|
97
97
|
/**
|
|
98
|
-
* The
|
|
98
|
+
* The id of the item.
|
|
99
99
|
*/
|
|
100
|
-
|
|
100
|
+
itemId: _propTypes.default.string.isRequired,
|
|
101
101
|
/**
|
|
102
|
-
* The
|
|
102
|
+
* The tree item label.
|
|
103
103
|
*/
|
|
104
|
-
|
|
104
|
+
label: _propTypes.default.node
|
|
105
105
|
} : void 0;
|
|
@@ -5,47 +5,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useTreeItemState = useTreeItemState;
|
|
7
7
|
var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewContext");
|
|
8
|
-
function useTreeItemState(
|
|
8
|
+
function useTreeItemState(itemId) {
|
|
9
9
|
const {
|
|
10
10
|
instance,
|
|
11
11
|
selection: {
|
|
12
12
|
multiSelect
|
|
13
13
|
}
|
|
14
14
|
} = (0, _useTreeViewContext.useTreeViewContext)();
|
|
15
|
-
const expandable = instance.isNodeExpandable(
|
|
16
|
-
const expanded = instance.isNodeExpanded(
|
|
17
|
-
const focused = instance.isNodeFocused(
|
|
18
|
-
const selected = instance.isNodeSelected(
|
|
19
|
-
const disabled = instance.isNodeDisabled(
|
|
15
|
+
const expandable = instance.isNodeExpandable(itemId);
|
|
16
|
+
const expanded = instance.isNodeExpanded(itemId);
|
|
17
|
+
const focused = instance.isNodeFocused(itemId);
|
|
18
|
+
const selected = instance.isNodeSelected(itemId);
|
|
19
|
+
const disabled = instance.isNodeDisabled(itemId);
|
|
20
20
|
const handleExpansion = event => {
|
|
21
21
|
if (!disabled) {
|
|
22
22
|
if (!focused) {
|
|
23
|
-
instance.
|
|
23
|
+
instance.focusItem(event, itemId);
|
|
24
24
|
}
|
|
25
25
|
const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
26
26
|
|
|
27
27
|
// If already expanded and trying to toggle selection don't close
|
|
28
|
-
if (expandable && !(multiple && instance.isNodeExpanded(
|
|
29
|
-
instance.toggleNodeExpansion(event,
|
|
28
|
+
if (expandable && !(multiple && instance.isNodeExpanded(itemId))) {
|
|
29
|
+
instance.toggleNodeExpansion(event, itemId);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
const handleSelection = event => {
|
|
34
34
|
if (!disabled) {
|
|
35
35
|
if (!focused) {
|
|
36
|
-
instance.
|
|
36
|
+
instance.focusItem(event, itemId);
|
|
37
37
|
}
|
|
38
38
|
const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
39
39
|
if (multiple) {
|
|
40
40
|
if (event.shiftKey) {
|
|
41
41
|
instance.selectRange(event, {
|
|
42
|
-
end:
|
|
42
|
+
end: itemId
|
|
43
43
|
});
|
|
44
44
|
} else {
|
|
45
|
-
instance.selectNode(event,
|
|
45
|
+
instance.selectNode(event, itemId, true);
|
|
46
46
|
}
|
|
47
47
|
} else {
|
|
48
|
-
instance.selectNode(event,
|
|
48
|
+
instance.selectNode(event, itemId);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
};
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TreeItem2Root = exports.TreeItem2Label = exports.TreeItem2IconContainer = exports.TreeItem2GroupTransition = exports.TreeItem2Content = exports.TreeItem2 = void 0;
|
|
8
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
|
+
var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
15
|
+
var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
|
|
16
|
+
var _utils = require("@mui/base/utils");
|
|
17
|
+
var _system = require("@mui/system");
|
|
18
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
19
|
+
var _useTreeItem = require("../useTreeItem2");
|
|
20
|
+
var _TreeItem = require("../TreeItem");
|
|
21
|
+
var _TreeItem2Icon = require("../TreeItem2Icon");
|
|
22
|
+
var _TreeItem2Provider = require("../TreeItem2Provider");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
+
const _excluded = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
|
|
25
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
26
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
27
|
+
const TreeItem2Root = exports.TreeItem2Root = (0, _styles.styled)('li', {
|
|
28
|
+
name: 'MuiTreeItem2',
|
|
29
|
+
slot: 'Root',
|
|
30
|
+
overridesResolver: (props, styles) => styles.root
|
|
31
|
+
})({
|
|
32
|
+
listStyle: 'none',
|
|
33
|
+
margin: 0,
|
|
34
|
+
padding: 0,
|
|
35
|
+
outline: 0
|
|
36
|
+
});
|
|
37
|
+
const TreeItem2Content = exports.TreeItem2Content = (0, _styles.styled)('div', {
|
|
38
|
+
name: 'MuiTreeItem2',
|
|
39
|
+
slot: 'Content',
|
|
40
|
+
overridesResolver: (props, styles) => styles.content,
|
|
41
|
+
shouldForwardProp: prop => (0, _system.shouldForwardProp)(prop) && prop !== 'status'
|
|
42
|
+
})(({
|
|
43
|
+
theme
|
|
44
|
+
}) => ({
|
|
45
|
+
padding: theme.spacing(0.5, 1),
|
|
46
|
+
borderRadius: theme.shape.borderRadius,
|
|
47
|
+
width: '100%',
|
|
48
|
+
boxSizing: 'border-box',
|
|
49
|
+
// prevent width + padding to overflow
|
|
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
|
+
[`& .${_TreeItem.treeItemClasses.groupTransition}`]: {
|
|
63
|
+
margin: 0,
|
|
64
|
+
padding: 0,
|
|
65
|
+
paddingLeft: 12
|
|
66
|
+
},
|
|
67
|
+
variants: [{
|
|
68
|
+
props: ({
|
|
69
|
+
status
|
|
70
|
+
}) => status.disabled,
|
|
71
|
+
style: {
|
|
72
|
+
opacity: (theme.vars || theme).palette.action.disabledOpacity,
|
|
73
|
+
backgroundColor: 'transparent'
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
props: ({
|
|
77
|
+
status
|
|
78
|
+
}) => status.focused,
|
|
79
|
+
style: {
|
|
80
|
+
backgroundColor: (theme.vars || theme).palette.action.focus
|
|
81
|
+
}
|
|
82
|
+
}, {
|
|
83
|
+
props: ({
|
|
84
|
+
status
|
|
85
|
+
}) => status.selected,
|
|
86
|
+
style: {
|
|
87
|
+
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),
|
|
88
|
+
'&:hover': {
|
|
89
|
+
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),
|
|
90
|
+
// Reset on touch devices, it doesn't add specificity
|
|
91
|
+
'@media (hover: none)': {
|
|
92
|
+
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)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
props: ({
|
|
98
|
+
status
|
|
99
|
+
}) => status.selected && status.focused,
|
|
100
|
+
style: {
|
|
101
|
+
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)
|
|
102
|
+
}
|
|
103
|
+
}]
|
|
104
|
+
}));
|
|
105
|
+
const TreeItem2Label = exports.TreeItem2Label = (0, _styles.styled)('div', {
|
|
106
|
+
name: 'MuiTreeItem2',
|
|
107
|
+
slot: 'Label',
|
|
108
|
+
overridesResolver: (props, styles) => styles.label
|
|
109
|
+
})(({
|
|
110
|
+
theme
|
|
111
|
+
}) => (0, _extends2.default)({
|
|
112
|
+
width: '100%',
|
|
113
|
+
boxSizing: 'border-box',
|
|
114
|
+
// prevent width + padding to overflow
|
|
115
|
+
// fixes overflow - see https://github.com/mui/material-ui/issues/27372
|
|
116
|
+
minWidth: 0,
|
|
117
|
+
position: 'relative'
|
|
118
|
+
}, theme.typography.body1));
|
|
119
|
+
const TreeItem2IconContainer = exports.TreeItem2IconContainer = (0, _styles.styled)('div', {
|
|
120
|
+
name: 'MuiTreeItem2',
|
|
121
|
+
slot: 'IconContainer',
|
|
122
|
+
overridesResolver: (props, styles) => styles.iconContainer
|
|
123
|
+
})({
|
|
124
|
+
width: 16,
|
|
125
|
+
display: 'flex',
|
|
126
|
+
flexShrink: 0,
|
|
127
|
+
justifyContent: 'center',
|
|
128
|
+
'& svg': {
|
|
129
|
+
fontSize: 18
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
const TreeItem2GroupTransition = exports.TreeItem2GroupTransition = (0, _styles.styled)(_Collapse.default, {
|
|
133
|
+
name: 'MuiTreeItem2GroupTransition',
|
|
134
|
+
slot: 'GroupTransition',
|
|
135
|
+
overridesResolver: (props, styles) => styles.groupTransition
|
|
136
|
+
})({
|
|
137
|
+
margin: 0,
|
|
138
|
+
padding: 0,
|
|
139
|
+
paddingLeft: 12
|
|
140
|
+
});
|
|
141
|
+
const useUtilityClasses = ownerState => {
|
|
142
|
+
const {
|
|
143
|
+
classes
|
|
144
|
+
} = ownerState;
|
|
145
|
+
const slots = {
|
|
146
|
+
root: ['root'],
|
|
147
|
+
content: ['content'],
|
|
148
|
+
expanded: ['expanded'],
|
|
149
|
+
selected: ['selected'],
|
|
150
|
+
focused: ['focused'],
|
|
151
|
+
disabled: ['disabled'],
|
|
152
|
+
iconContainer: ['iconContainer'],
|
|
153
|
+
label: ['label'],
|
|
154
|
+
groupTransition: ['groupTransition']
|
|
155
|
+
};
|
|
156
|
+
return (0, _composeClasses.default)(slots, _TreeItem.getTreeItemUtilityClass, classes);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
*
|
|
161
|
+
* Demos:
|
|
162
|
+
*
|
|
163
|
+
* - [Tree View](https://mui.com/x/react-tree-view/)
|
|
164
|
+
*
|
|
165
|
+
* API:
|
|
166
|
+
*
|
|
167
|
+
* - [TreeItem2 API](https://mui.com/x/api/tree-view/tree-item-2/)
|
|
168
|
+
*/
|
|
169
|
+
const TreeItem2 = exports.TreeItem2 = /*#__PURE__*/React.forwardRef(function TreeItem2(inProps, forwardedRef) {
|
|
170
|
+
const props = (0, _styles.useThemeProps)({
|
|
171
|
+
props: inProps,
|
|
172
|
+
name: 'MuiTreeItem2'
|
|
173
|
+
});
|
|
174
|
+
const {
|
|
175
|
+
id,
|
|
176
|
+
itemId,
|
|
177
|
+
label,
|
|
178
|
+
disabled,
|
|
179
|
+
children,
|
|
180
|
+
slots = {},
|
|
181
|
+
slotProps = {}
|
|
182
|
+
} = props,
|
|
183
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
184
|
+
const {
|
|
185
|
+
getRootProps,
|
|
186
|
+
getContentProps,
|
|
187
|
+
getIconContainerProps,
|
|
188
|
+
getLabelProps,
|
|
189
|
+
getGroupTransitionProps,
|
|
190
|
+
status
|
|
191
|
+
} = (0, _useTreeItem.unstable_useTreeItem2)({
|
|
192
|
+
id,
|
|
193
|
+
itemId,
|
|
194
|
+
children,
|
|
195
|
+
label,
|
|
196
|
+
disabled
|
|
197
|
+
});
|
|
198
|
+
const ownerState = (0, _extends2.default)({}, props, status);
|
|
199
|
+
const classes = useUtilityClasses(ownerState);
|
|
200
|
+
const Root = slots.root ?? TreeItem2Root;
|
|
201
|
+
const rootProps = (0, _utils.useSlotProps)({
|
|
202
|
+
elementType: Root,
|
|
203
|
+
getSlotProps: getRootProps,
|
|
204
|
+
externalForwardedProps: other,
|
|
205
|
+
externalSlotProps: slotProps.root,
|
|
206
|
+
additionalProps: {
|
|
207
|
+
ref: forwardedRef
|
|
208
|
+
},
|
|
209
|
+
ownerState: {},
|
|
210
|
+
className: classes.root
|
|
211
|
+
});
|
|
212
|
+
const Content = slots.content ?? TreeItem2Content;
|
|
213
|
+
const contentProps = (0, _utils.useSlotProps)({
|
|
214
|
+
elementType: Content,
|
|
215
|
+
getSlotProps: getContentProps,
|
|
216
|
+
externalSlotProps: slotProps.content,
|
|
217
|
+
ownerState: {},
|
|
218
|
+
className: (0, _clsx.default)(classes.content, status.expanded && classes.expanded, status.selected && classes.selected, status.focused && classes.focused, status.disabled && classes.disabled)
|
|
219
|
+
});
|
|
220
|
+
const IconContainer = slots.iconContainer ?? TreeItem2IconContainer;
|
|
221
|
+
const iconContainerProps = (0, _utils.useSlotProps)({
|
|
222
|
+
elementType: IconContainer,
|
|
223
|
+
getSlotProps: getIconContainerProps,
|
|
224
|
+
externalSlotProps: slotProps.iconContainer,
|
|
225
|
+
ownerState: {},
|
|
226
|
+
className: classes.iconContainer
|
|
227
|
+
});
|
|
228
|
+
const Label = slots.label ?? TreeItem2Label;
|
|
229
|
+
const labelProps = (0, _utils.useSlotProps)({
|
|
230
|
+
elementType: Label,
|
|
231
|
+
getSlotProps: getLabelProps,
|
|
232
|
+
externalSlotProps: slotProps.label,
|
|
233
|
+
ownerState: {},
|
|
234
|
+
className: classes.label
|
|
235
|
+
});
|
|
236
|
+
const GroupTransition = slots.groupTransition ?? undefined;
|
|
237
|
+
const groupTransitionProps = (0, _utils.useSlotProps)({
|
|
238
|
+
elementType: GroupTransition,
|
|
239
|
+
getSlotProps: getGroupTransitionProps,
|
|
240
|
+
externalSlotProps: slotProps.groupTransition,
|
|
241
|
+
ownerState: {},
|
|
242
|
+
className: classes.groupTransition
|
|
243
|
+
});
|
|
244
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2Provider.TreeItem2Provider, {
|
|
245
|
+
itemId: itemId,
|
|
246
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
|
|
247
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Content, (0, _extends2.default)({}, contentProps, {
|
|
248
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconContainer, (0, _extends2.default)({}, iconContainerProps, {
|
|
249
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2Icon.TreeItem2Icon, {
|
|
250
|
+
status: status,
|
|
251
|
+
slots: slots,
|
|
252
|
+
slotProps: slotProps
|
|
253
|
+
})
|
|
254
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelProps))]
|
|
255
|
+
})), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItem2GroupTransition, (0, _extends2.default)({
|
|
256
|
+
as: GroupTransition
|
|
257
|
+
}, groupTransitionProps))]
|
|
258
|
+
}))
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
process.env.NODE_ENV !== "production" ? TreeItem2.propTypes = {
|
|
262
|
+
// ----------------------------- Warning --------------------------------
|
|
263
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
264
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
265
|
+
// ----------------------------------------------------------------------
|
|
266
|
+
/**
|
|
267
|
+
* The content of the component.
|
|
268
|
+
*/
|
|
269
|
+
children: _propTypes.default.node,
|
|
270
|
+
/**
|
|
271
|
+
* Override or extend the styles applied to the component.
|
|
272
|
+
*/
|
|
273
|
+
classes: _propTypes.default.object,
|
|
274
|
+
className: _propTypes.default.string,
|
|
275
|
+
/**
|
|
276
|
+
* If `true`, the item is disabled.
|
|
277
|
+
* @default false
|
|
278
|
+
*/
|
|
279
|
+
disabled: _propTypes.default.bool,
|
|
280
|
+
/**
|
|
281
|
+
* The id attribute of the item. If not provided, it will be generated.
|
|
282
|
+
*/
|
|
283
|
+
id: _propTypes.default.string,
|
|
284
|
+
/**
|
|
285
|
+
* The id of the item.
|
|
286
|
+
* Must be unique.
|
|
287
|
+
*/
|
|
288
|
+
itemId: _propTypes.default.string.isRequired,
|
|
289
|
+
/**
|
|
290
|
+
* The label of the item.
|
|
291
|
+
*/
|
|
292
|
+
label: _propTypes.default.node,
|
|
293
|
+
/**
|
|
294
|
+
* This prop isn't supported.
|
|
295
|
+
* Use the `onItemFocus` callback on the tree if you need to monitor a item's focus.
|
|
296
|
+
*/
|
|
297
|
+
onFocus: _unsupportedProp.default,
|
|
298
|
+
/**
|
|
299
|
+
* The props used for each component slot.
|
|
300
|
+
* @default {}
|
|
301
|
+
*/
|
|
302
|
+
slotProps: _propTypes.default.object,
|
|
303
|
+
/**
|
|
304
|
+
* Overridable component slots.
|
|
305
|
+
* @default {}
|
|
306
|
+
*/
|
|
307
|
+
slots: _propTypes.default.object
|
|
308
|
+
} : void 0;
|