@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
package/modern/TreeItem/index.js
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
export { TreeItem } from "./TreeItem.js";
|
|
2
|
-
export * from "./treeItemClasses.js";
|
|
3
|
-
export * from "./useTreeItemState.js";
|
|
4
|
-
export { TreeItemContent } from "./TreeItemContent.js";
|
|
1
|
+
export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel } from "./TreeItem.js";
|
|
2
|
+
export * from "./treeItemClasses.js";
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import PropTypes from 'prop-types';
|
|
@@ -5,8 +7,8 @@ import { alpha } from '@mui/material/styles';
|
|
|
5
7
|
import { shouldForwardProp } from '@mui/system';
|
|
6
8
|
import { styled } from "../internals/zero-styled/index.js";
|
|
7
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
const
|
|
9
|
-
name: '
|
|
10
|
+
const TreeItemDragAndDropOverlayRoot = styled('div', {
|
|
11
|
+
name: 'MuiTreeItemDragAndDropOverlay',
|
|
10
12
|
slot: 'Root',
|
|
11
13
|
overridesResolver: (props, styles) => styles.root,
|
|
12
14
|
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'action'
|
|
@@ -55,13 +57,13 @@ const TreeItem2DragAndDropOverlayRoot = styled('div', {
|
|
|
55
57
|
}
|
|
56
58
|
}]
|
|
57
59
|
}));
|
|
58
|
-
function
|
|
60
|
+
function TreeItemDragAndDropOverlay(props) {
|
|
59
61
|
if (props.action == null) {
|
|
60
62
|
return null;
|
|
61
63
|
}
|
|
62
|
-
return /*#__PURE__*/_jsx(
|
|
64
|
+
return /*#__PURE__*/_jsx(TreeItemDragAndDropOverlayRoot, _extends({}, props));
|
|
63
65
|
}
|
|
64
|
-
process.env.NODE_ENV !== "production" ?
|
|
66
|
+
process.env.NODE_ENV !== "production" ? TreeItemDragAndDropOverlay.propTypes = {
|
|
65
67
|
// ----------------------------- Warning --------------------------------
|
|
66
68
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
67
69
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
@@ -69,4 +71,4 @@ process.env.NODE_ENV !== "production" ? TreeItem2DragAndDropOverlay.propTypes =
|
|
|
69
71
|
action: PropTypes.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
|
|
70
72
|
style: PropTypes.object
|
|
71
73
|
} : void 0;
|
|
72
|
-
export {
|
|
74
|
+
export { TreeItemDragAndDropOverlay };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TreeItemDragAndDropOverlay } from "./TreeItemDragAndDropOverlay.js";
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import PropTypes from 'prop-types';
|
|
@@ -6,7 +8,7 @@ import useSlotProps from '@mui/utils/useSlotProps';
|
|
|
6
8
|
import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
|
|
7
9
|
import { TreeViewCollapseIcon, TreeViewExpandIcon } from "../icons/index.js";
|
|
8
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
function
|
|
11
|
+
function TreeItemIcon(props) {
|
|
10
12
|
const {
|
|
11
13
|
slots,
|
|
12
14
|
slotProps,
|
|
@@ -42,7 +44,7 @@ function TreeItem2Icon(props) {
|
|
|
42
44
|
}
|
|
43
45
|
return /*#__PURE__*/_jsx(Icon, _extends({}, iconProps));
|
|
44
46
|
}
|
|
45
|
-
process.env.NODE_ENV !== "production" ?
|
|
47
|
+
process.env.NODE_ENV !== "production" ? TreeItemIcon.propTypes = {
|
|
46
48
|
// ----------------------------- Warning --------------------------------
|
|
47
49
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
48
50
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
@@ -67,4 +69,4 @@ process.env.NODE_ENV !== "production" ? TreeItem2Icon.propTypes = {
|
|
|
67
69
|
selected: PropTypes.bool.isRequired
|
|
68
70
|
}).isRequired
|
|
69
71
|
} : void 0;
|
|
70
|
-
export {
|
|
72
|
+
export { TreeItemIcon };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TreeItemIcon } from "./TreeItemIcon.js";
|
|
@@ -4,8 +4,8 @@ import { styled } from "../internals/zero-styled/index.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* @ignore - internal component.
|
|
6
6
|
*/
|
|
7
|
-
const
|
|
8
|
-
name: '
|
|
7
|
+
const TreeItemLabelInput = styled('input', {
|
|
8
|
+
name: 'MuiTreeItem',
|
|
9
9
|
slot: 'LabelInput',
|
|
10
10
|
overridesResolver: (props, styles) => styles.labelInput
|
|
11
11
|
})(({
|
|
@@ -21,4 +21,4 @@ const TreeItem2LabelInput = styled('input', {
|
|
|
21
21
|
outline: `1px solid ${theme.palette.primary.main}`
|
|
22
22
|
}
|
|
23
23
|
}));
|
|
24
|
-
export {
|
|
24
|
+
export { TreeItemLabelInput };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TreeItemLabelInput } from "./TreeItemLabelInput.js";
|
package/modern/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js}
RENAMED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @ignore - internal component.
|
|
6
|
+
*/
|
|
7
|
+
function TreeItemProvider(props) {
|
|
4
8
|
const {
|
|
5
9
|
children,
|
|
6
10
|
itemId
|
|
@@ -15,7 +19,7 @@ function TreeItem2Provider(props) {
|
|
|
15
19
|
instance
|
|
16
20
|
});
|
|
17
21
|
}
|
|
18
|
-
|
|
22
|
+
TreeItemProvider.propTypes = {
|
|
19
23
|
// ----------------------------- Warning --------------------------------
|
|
20
24
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
21
25
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
@@ -23,4 +27,4 @@ TreeItem2Provider.propTypes = {
|
|
|
23
27
|
children: PropTypes.node,
|
|
24
28
|
itemId: PropTypes.string.isRequired
|
|
25
29
|
};
|
|
26
|
-
export {
|
|
30
|
+
export { TreeItemProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TreeItemProvider } from "./TreeItemProvider.js";
|
package/modern/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTreeViewApiRef } from "./useTreeViewApiRef.js";
|
|
2
|
-
export {
|
|
2
|
+
export { useTreeItemUtils } from "./useTreeItemUtils/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTreeItemUtils } from "./useTreeItemUtils.js";
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { useTreeViewContext } from "../../internals/TreeViewProvider/index.js";
|
|
2
4
|
import { useTreeViewLabel } from "../../internals/plugins/useTreeViewLabel/index.js";
|
|
3
5
|
import { hasPlugin } from "../../internals/utils/plugins.js";
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
* Plugins that need to be present in the Tree View in order for `
|
|
8
|
+
* Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
11
|
/**
|
|
10
|
-
* Plugins that `
|
|
12
|
+
* Plugins that `useTreeItemUtils` can use if they are present, but are not required.
|
|
11
13
|
*/
|
|
12
14
|
|
|
13
15
|
const isItemExpandable = reactChildren => {
|
|
@@ -16,7 +18,7 @@ const isItemExpandable = reactChildren => {
|
|
|
16
18
|
}
|
|
17
19
|
return Boolean(reactChildren);
|
|
18
20
|
};
|
|
19
|
-
export const
|
|
21
|
+
export const useTreeItemUtils = ({
|
|
20
22
|
itemId,
|
|
21
23
|
children
|
|
22
24
|
}) => {
|
package/modern/index.js
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-tree-view
|
|
2
|
+
* @mui/x-tree-view v8.0.0-alpha.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
// Tree View
|
|
9
|
-
export * from "./TreeView/index.js";
|
|
10
9
|
export * from "./SimpleTreeView/index.js";
|
|
11
10
|
export * from "./RichTreeView/index.js";
|
|
12
11
|
|
|
13
12
|
// Tree Item
|
|
14
13
|
export * from "./TreeItem/index.js";
|
|
15
|
-
export * from "./
|
|
16
|
-
export * from "./
|
|
17
|
-
export * from "./
|
|
18
|
-
export * from "./
|
|
19
|
-
export * from "./
|
|
20
|
-
export * from "./TreeItem2LabelInput/index.js";
|
|
14
|
+
export * from "./useTreeItem/index.js";
|
|
15
|
+
export * from "./TreeItemIcon/index.js";
|
|
16
|
+
export * from "./TreeItemProvider/index.js";
|
|
17
|
+
export * from "./TreeItemDragAndDropOverlay/index.js";
|
|
18
|
+
export * from "./TreeItemLabelInput/index.js";
|
|
21
19
|
export { unstable_resetCleanupTracking } from "./internals/hooks/useInstanceEventHandler.js";
|
|
22
20
|
export * from "./models/index.js";
|
|
23
21
|
export * from "./icons/index.js";
|
|
@@ -63,8 +63,7 @@ export const useTreeViewItems = ({
|
|
|
63
63
|
instance,
|
|
64
64
|
params,
|
|
65
65
|
state,
|
|
66
|
-
setState
|
|
67
|
-
experimentalFeatures
|
|
66
|
+
setState
|
|
68
67
|
}) => {
|
|
69
68
|
const getItemMeta = React.useCallback(itemId => state.items.itemMetaMap[itemId], [state.items.itemMetaMap]);
|
|
70
69
|
const getItem = React.useCallback(itemId => state.items.itemMap[itemId], [state.items.itemMap]);
|
|
@@ -191,8 +190,7 @@ export const useTreeViewItems = ({
|
|
|
191
190
|
contextValue: {
|
|
192
191
|
items: {
|
|
193
192
|
onItemClick: params.onItemClick,
|
|
194
|
-
disabledItemsFocusable: params.disabledItemsFocusable
|
|
195
|
-
indentationAtItemLevel: experimentalFeatures.indentationAtItemLevel ?? false
|
|
193
|
+
disabledItemsFocusable: params.disabledItemsFocusable
|
|
196
194
|
}
|
|
197
195
|
}
|
|
198
196
|
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { useTreeViewContext } from "../../TreeViewProvider/index.js";
|
|
3
|
+
function getCheckboxStatus({
|
|
4
|
+
itemId,
|
|
5
|
+
instance,
|
|
6
|
+
selectionPropagation,
|
|
7
|
+
selected
|
|
8
|
+
}) {
|
|
9
|
+
if (selected) {
|
|
10
|
+
return {
|
|
11
|
+
indeterminate: false,
|
|
12
|
+
checked: true
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const children = instance.getItemOrderedChildrenIds(itemId);
|
|
16
|
+
if (children.length === 0) {
|
|
17
|
+
return {
|
|
18
|
+
indeterminate: false,
|
|
19
|
+
checked: false
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
let hasSelectedDescendant = false;
|
|
23
|
+
let hasUnSelectedDescendant = false;
|
|
24
|
+
const traverseDescendants = itemToTraverseId => {
|
|
25
|
+
if (itemToTraverseId !== itemId) {
|
|
26
|
+
if (instance.isItemSelected(itemToTraverseId)) {
|
|
27
|
+
hasSelectedDescendant = true;
|
|
28
|
+
} else {
|
|
29
|
+
hasUnSelectedDescendant = true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
instance.getItemOrderedChildrenIds(itemToTraverseId).forEach(traverseDescendants);
|
|
33
|
+
};
|
|
34
|
+
traverseDescendants(itemId);
|
|
35
|
+
return {
|
|
36
|
+
indeterminate: hasSelectedDescendant && hasUnSelectedDescendant || !hasUnSelectedDescendant && !selected,
|
|
37
|
+
checked: selectionPropagation.parents ? hasSelectedDescendant : selected
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export const useTreeViewSelectionItemPlugin = ({
|
|
41
|
+
props
|
|
42
|
+
}) => {
|
|
43
|
+
const {
|
|
44
|
+
itemId
|
|
45
|
+
} = props;
|
|
46
|
+
const {
|
|
47
|
+
instance,
|
|
48
|
+
selection: {
|
|
49
|
+
disableSelection,
|
|
50
|
+
checkboxSelection,
|
|
51
|
+
selectionPropagation
|
|
52
|
+
}
|
|
53
|
+
} = useTreeViewContext();
|
|
54
|
+
return {
|
|
55
|
+
propsEnhancers: {
|
|
56
|
+
checkbox: ({
|
|
57
|
+
externalEventHandlers,
|
|
58
|
+
interactions,
|
|
59
|
+
status
|
|
60
|
+
}) => {
|
|
61
|
+
const handleChange = event => {
|
|
62
|
+
externalEventHandlers.onChange?.(event);
|
|
63
|
+
if (event.defaultMuiPrevented) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (disableSelection || status.disabled) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
interactions.handleCheckboxSelection(event);
|
|
70
|
+
};
|
|
71
|
+
const checkboxStatus = getCheckboxStatus({
|
|
72
|
+
instance,
|
|
73
|
+
itemId,
|
|
74
|
+
selectionPropagation,
|
|
75
|
+
selected: status.selected
|
|
76
|
+
});
|
|
77
|
+
return _extends({
|
|
78
|
+
visible: checkboxSelection,
|
|
79
|
+
disabled: disableSelection || status.disabled,
|
|
80
|
+
tabIndex: -1,
|
|
81
|
+
onChange: handleChange
|
|
82
|
+
}, checkboxStatus);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { findOrderInTremauxTree, getAllNavigableItems, getFirstNavigableItem, getLastNavigableItem, getNonDisabledItemsInRange } from "../../utils/tree.js";
|
|
4
|
-
import { convertSelectedItemsToArray, getLookupFromArray } from "./useTreeViewSelection.utils.js";
|
|
4
|
+
import { convertSelectedItemsToArray, propagateSelection, getAddedAndRemovedItems, getLookupFromArray } from "./useTreeViewSelection.utils.js";
|
|
5
|
+
import { useTreeViewSelectionItemPlugin } from "./useTreeViewSelection.itemPlugin.js";
|
|
5
6
|
export const useTreeViewSelection = ({
|
|
6
7
|
instance,
|
|
7
8
|
params,
|
|
@@ -20,30 +21,47 @@ export const useTreeViewSelection = ({
|
|
|
20
21
|
}
|
|
21
22
|
return temp;
|
|
22
23
|
}, [models.selectedItems.value]);
|
|
23
|
-
const setSelectedItems = (event,
|
|
24
|
+
const setSelectedItems = (event, newModel, additionalItemsToPropagate) => {
|
|
25
|
+
let cleanModel;
|
|
26
|
+
if (params.multiSelect && (params.selectionPropagation.descendants || params.selectionPropagation.parents)) {
|
|
27
|
+
cleanModel = propagateSelection({
|
|
28
|
+
instance,
|
|
29
|
+
selectionPropagation: params.selectionPropagation,
|
|
30
|
+
newModel: newModel,
|
|
31
|
+
oldModel: models.selectedItems.value,
|
|
32
|
+
additionalItemsToPropagate
|
|
33
|
+
});
|
|
34
|
+
} else {
|
|
35
|
+
cleanModel = newModel;
|
|
36
|
+
}
|
|
24
37
|
if (params.onItemSelectionToggle) {
|
|
25
38
|
if (params.multiSelect) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
39
|
+
const changes = getAddedAndRemovedItems({
|
|
40
|
+
instance,
|
|
41
|
+
newModel: cleanModel,
|
|
42
|
+
oldModel: models.selectedItems.value
|
|
30
43
|
});
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
if (params.onItemSelectionToggle) {
|
|
45
|
+
changes.added.forEach(itemId => {
|
|
46
|
+
params.onItemSelectionToggle(event, itemId, true);
|
|
47
|
+
});
|
|
48
|
+
changes.removed.forEach(itemId => {
|
|
49
|
+
params.onItemSelectionToggle(event, itemId, false);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
} else if (params.onItemSelectionToggle && cleanModel !== models.selectedItems.value) {
|
|
35
53
|
if (models.selectedItems.value != null) {
|
|
36
54
|
params.onItemSelectionToggle(event, models.selectedItems.value, false);
|
|
37
55
|
}
|
|
38
|
-
if (
|
|
39
|
-
params.onItemSelectionToggle(event,
|
|
56
|
+
if (cleanModel != null) {
|
|
57
|
+
params.onItemSelectionToggle(event, cleanModel, true);
|
|
40
58
|
}
|
|
41
59
|
}
|
|
42
60
|
}
|
|
43
61
|
if (params.onSelectedItemsChange) {
|
|
44
|
-
params.onSelectedItemsChange(event,
|
|
62
|
+
params.onSelectedItemsChange(event, cleanModel);
|
|
45
63
|
}
|
|
46
|
-
models.selectedItems.setControlledValue(
|
|
64
|
+
models.selectedItems.setControlledValue(cleanModel);
|
|
47
65
|
};
|
|
48
66
|
const isItemSelected = itemId => selectedItemsMap.has(itemId);
|
|
49
67
|
const selectItem = ({
|
|
@@ -74,7 +92,10 @@ export const useTreeViewSelection = ({
|
|
|
74
92
|
newSelected = params.multiSelect ? [itemId] : itemId;
|
|
75
93
|
}
|
|
76
94
|
}
|
|
77
|
-
setSelectedItems(event, newSelected
|
|
95
|
+
setSelectedItems(event, newSelected,
|
|
96
|
+
// If shouldBeSelected === instance.isItemSelect(itemId), we still want to propagate the select.
|
|
97
|
+
// This is useful when the element is in an indeterminate state.
|
|
98
|
+
[itemId]);
|
|
78
99
|
lastSelectedItem.current = itemId;
|
|
79
100
|
lastSelectedRange.current = {};
|
|
80
101
|
};
|
|
@@ -163,11 +184,13 @@ export const useTreeViewSelection = ({
|
|
|
163
184
|
selection: {
|
|
164
185
|
multiSelect: params.multiSelect,
|
|
165
186
|
checkboxSelection: params.checkboxSelection,
|
|
166
|
-
disableSelection: params.disableSelection
|
|
187
|
+
disableSelection: params.disableSelection,
|
|
188
|
+
selectionPropagation: params.selectionPropagation
|
|
167
189
|
}
|
|
168
190
|
}
|
|
169
191
|
};
|
|
170
192
|
};
|
|
193
|
+
useTreeViewSelection.itemPlugin = useTreeViewSelectionItemPlugin;
|
|
171
194
|
useTreeViewSelection.models = {
|
|
172
195
|
selectedItems: {
|
|
173
196
|
getDefaultValue: params => params.defaultSelectedItems
|
|
@@ -180,7 +203,8 @@ useTreeViewSelection.getDefaultizedParams = ({
|
|
|
180
203
|
disableSelection: params.disableSelection ?? false,
|
|
181
204
|
multiSelect: params.multiSelect ?? false,
|
|
182
205
|
checkboxSelection: params.checkboxSelection ?? false,
|
|
183
|
-
defaultSelectedItems: params.defaultSelectedItems ?? (params.multiSelect ? DEFAULT_SELECTED_ITEMS : null)
|
|
206
|
+
defaultSelectedItems: params.defaultSelectedItems ?? (params.multiSelect ? DEFAULT_SELECTED_ITEMS : null),
|
|
207
|
+
selectionPropagation: params.selectionPropagation ?? {}
|
|
184
208
|
});
|
|
185
209
|
useTreeViewSelection.params = {
|
|
186
210
|
disableSelection: true,
|
|
@@ -189,5 +213,6 @@ useTreeViewSelection.params = {
|
|
|
189
213
|
defaultSelectedItems: true,
|
|
190
214
|
selectedItems: true,
|
|
191
215
|
onSelectedItemsChange: true,
|
|
192
|
-
onItemSelectionToggle: true
|
|
216
|
+
onItemSelectionToggle: true,
|
|
217
|
+
selectionPropagation: true
|
|
193
218
|
};
|
|
@@ -18,4 +18,99 @@ export const getLookupFromArray = array => {
|
|
|
18
18
|
lookup[itemId] = true;
|
|
19
19
|
});
|
|
20
20
|
return lookup;
|
|
21
|
+
};
|
|
22
|
+
export const getAddedAndRemovedItems = ({
|
|
23
|
+
instance,
|
|
24
|
+
oldModel,
|
|
25
|
+
newModel
|
|
26
|
+
}) => {
|
|
27
|
+
const newModelLookup = getLookupFromArray(newModel);
|
|
28
|
+
return {
|
|
29
|
+
added: newModel.filter(itemId => !instance.isItemSelected(itemId)),
|
|
30
|
+
removed: oldModel.filter(itemId => !newModelLookup[itemId])
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export const propagateSelection = ({
|
|
34
|
+
instance,
|
|
35
|
+
selectionPropagation,
|
|
36
|
+
newModel,
|
|
37
|
+
oldModel,
|
|
38
|
+
additionalItemsToPropagate
|
|
39
|
+
}) => {
|
|
40
|
+
if (!selectionPropagation.descendants && !selectionPropagation.parents) {
|
|
41
|
+
return newModel;
|
|
42
|
+
}
|
|
43
|
+
let shouldRegenerateModel = false;
|
|
44
|
+
const newModelLookup = getLookupFromArray(newModel);
|
|
45
|
+
const changes = getAddedAndRemovedItems({
|
|
46
|
+
instance,
|
|
47
|
+
newModel,
|
|
48
|
+
oldModel
|
|
49
|
+
});
|
|
50
|
+
additionalItemsToPropagate?.forEach(itemId => {
|
|
51
|
+
if (newModelLookup[itemId]) {
|
|
52
|
+
if (!changes.added.includes(itemId)) {
|
|
53
|
+
changes.added.push(itemId);
|
|
54
|
+
}
|
|
55
|
+
} else if (!changes.removed.includes(itemId)) {
|
|
56
|
+
changes.removed.push(itemId);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
changes.added.forEach(addedItemId => {
|
|
60
|
+
if (selectionPropagation.descendants) {
|
|
61
|
+
const selectDescendants = itemId => {
|
|
62
|
+
if (itemId !== addedItemId) {
|
|
63
|
+
shouldRegenerateModel = true;
|
|
64
|
+
newModelLookup[itemId] = true;
|
|
65
|
+
}
|
|
66
|
+
instance.getItemOrderedChildrenIds(itemId).forEach(selectDescendants);
|
|
67
|
+
};
|
|
68
|
+
selectDescendants(addedItemId);
|
|
69
|
+
}
|
|
70
|
+
if (selectionPropagation.parents) {
|
|
71
|
+
const checkAllDescendantsSelected = itemId => {
|
|
72
|
+
if (!newModelLookup[itemId]) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const children = instance.getItemOrderedChildrenIds(itemId);
|
|
76
|
+
return children.every(checkAllDescendantsSelected);
|
|
77
|
+
};
|
|
78
|
+
const selectParents = itemId => {
|
|
79
|
+
const parentId = instance.getItemMeta(itemId).parentId;
|
|
80
|
+
if (parentId == null) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const siblings = instance.getItemOrderedChildrenIds(parentId);
|
|
84
|
+
if (siblings.every(checkAllDescendantsSelected)) {
|
|
85
|
+
shouldRegenerateModel = true;
|
|
86
|
+
newModelLookup[parentId] = true;
|
|
87
|
+
selectParents(parentId);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
selectParents(addedItemId);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
changes.removed.forEach(removedItemId => {
|
|
94
|
+
if (selectionPropagation.parents) {
|
|
95
|
+
let parentId = instance.getItemMeta(removedItemId).parentId;
|
|
96
|
+
while (parentId != null) {
|
|
97
|
+
if (newModelLookup[parentId]) {
|
|
98
|
+
shouldRegenerateModel = true;
|
|
99
|
+
delete newModelLookup[parentId];
|
|
100
|
+
}
|
|
101
|
+
parentId = instance.getItemMeta(parentId).parentId;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (selectionPropagation.descendants) {
|
|
105
|
+
const deSelectDescendants = itemId => {
|
|
106
|
+
if (itemId !== removedItemId) {
|
|
107
|
+
shouldRegenerateModel = true;
|
|
108
|
+
delete newModelLookup[itemId];
|
|
109
|
+
}
|
|
110
|
+
instance.getItemOrderedChildrenIds(itemId).forEach(deSelectDescendants);
|
|
111
|
+
};
|
|
112
|
+
deSelectDescendants(removedItemId);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return shouldRegenerateModel ? Object.keys(newModelLookup) : newModel;
|
|
21
116
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTreeItem } from "./useTreeItem.js";
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import extractEventHandlers from '@mui/utils/extractEventHandlers';
|
|
4
6
|
import useForkRef from '@mui/utils/useForkRef';
|
|
5
7
|
import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
|
|
6
|
-
import {
|
|
8
|
+
import { useTreeItemUtils } from "../hooks/useTreeItemUtils/index.js";
|
|
7
9
|
import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.js";
|
|
8
10
|
import { isTargetInDescendants } from "../internals/utils/tree.js";
|
|
9
11
|
import { generateTreeItemIdAttribute } from "../internals/corePlugins/useTreeViewId/useTreeViewId.utils.js";
|
|
10
|
-
export const
|
|
12
|
+
export const useTreeItem = parameters => {
|
|
11
13
|
const {
|
|
12
14
|
runItemPlugins,
|
|
13
15
|
items: {
|
|
14
16
|
onItemClick,
|
|
15
|
-
disabledItemsFocusable
|
|
16
|
-
indentationAtItemLevel
|
|
17
|
+
disabledItemsFocusable
|
|
17
18
|
},
|
|
18
19
|
selection: {
|
|
19
20
|
disableSelection,
|
|
@@ -42,7 +43,7 @@ export const useTreeItem2 = parameters => {
|
|
|
42
43
|
const {
|
|
43
44
|
interactions,
|
|
44
45
|
status
|
|
45
|
-
} =
|
|
46
|
+
} = useTreeItemUtils({
|
|
46
47
|
itemId,
|
|
47
48
|
children
|
|
48
49
|
});
|
|
@@ -60,7 +61,8 @@ export const useTreeItem2 = parameters => {
|
|
|
60
61
|
const sharedPropsEnhancerParams = {
|
|
61
62
|
rootRefObject,
|
|
62
63
|
contentRefObject,
|
|
63
|
-
interactions
|
|
64
|
+
interactions,
|
|
65
|
+
status
|
|
64
66
|
};
|
|
65
67
|
const createRootHandleFocus = otherHandlers => event => {
|
|
66
68
|
otherHandlers.onFocus?.(event);
|
|
@@ -128,16 +130,6 @@ export const useTreeItem2 = parameters => {
|
|
|
128
130
|
event.preventDefault();
|
|
129
131
|
}
|
|
130
132
|
};
|
|
131
|
-
const createCheckboxHandleChange = otherHandlers => event => {
|
|
132
|
-
otherHandlers.onChange?.(event);
|
|
133
|
-
if (event.defaultMuiPrevented) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
if (disableSelection || status.disabled) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
interactions.handleCheckboxSelection(event);
|
|
140
|
-
};
|
|
141
133
|
const createIconContainerHandleClick = otherHandlers => event => {
|
|
142
134
|
otherHandlers.onClick?.(event);
|
|
143
135
|
if (event.defaultMuiPrevented) {
|
|
@@ -171,15 +163,13 @@ export const useTreeItem2 = parameters => {
|
|
|
171
163
|
'aria-selected': ariaSelected,
|
|
172
164
|
'aria-disabled': status.disabled || undefined
|
|
173
165
|
}, externalProps, {
|
|
166
|
+
style: _extends({}, externalProps.style ?? {}, {
|
|
167
|
+
'--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
|
|
168
|
+
}),
|
|
174
169
|
onFocus: createRootHandleFocus(externalEventHandlers),
|
|
175
170
|
onBlur: createRootHandleBlur(externalEventHandlers),
|
|
176
171
|
onKeyDown: createRootHandleKeyDown(externalEventHandlers)
|
|
177
172
|
});
|
|
178
|
-
if (indentationAtItemLevel) {
|
|
179
|
-
props.style = {
|
|
180
|
-
'--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
173
|
const enhancedRootProps = propsEnhancers.root?.(_extends({}, sharedPropsEnhancerParams, {
|
|
184
174
|
externalEventHandlers
|
|
185
175
|
})) ?? {};
|
|
@@ -193,9 +183,6 @@ export const useTreeItem2 = parameters => {
|
|
|
193
183
|
onMouseDown: createContentHandleMouseDown(externalEventHandlers),
|
|
194
184
|
status
|
|
195
185
|
});
|
|
196
|
-
if (indentationAtItemLevel) {
|
|
197
|
-
props.indentationAtItemLevel = true;
|
|
198
|
-
}
|
|
199
186
|
const enhancedContentProps = propsEnhancers.content?.(_extends({}, sharedPropsEnhancerParams, {
|
|
200
187
|
externalEventHandlers
|
|
201
188
|
})) ?? {};
|
|
@@ -203,15 +190,13 @@ export const useTreeItem2 = parameters => {
|
|
|
203
190
|
};
|
|
204
191
|
const getCheckboxProps = (externalProps = {}) => {
|
|
205
192
|
const externalEventHandlers = extractEventHandlers(externalProps);
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
},
|
|
213
|
-
onChange: createCheckboxHandleChange(externalEventHandlers)
|
|
214
|
-
});
|
|
193
|
+
const props = _extends({}, externalEventHandlers, {
|
|
194
|
+
ref: checkboxRef
|
|
195
|
+
}, externalProps);
|
|
196
|
+
const enhancedCheckboxProps = propsEnhancers.checkbox?.(_extends({}, sharedPropsEnhancerParams, {
|
|
197
|
+
externalEventHandlers
|
|
198
|
+
})) ?? {};
|
|
199
|
+
return _extends({}, props, enhancedCheckboxProps);
|
|
215
200
|
};
|
|
216
201
|
const getLabelProps = (externalProps = {}) => {
|
|
217
202
|
const externalEventHandlers = _extends({}, extractEventHandlers(externalProps));
|
|
@@ -227,12 +212,9 @@ export const useTreeItem2 = parameters => {
|
|
|
227
212
|
};
|
|
228
213
|
const getLabelInputProps = (externalProps = {}) => {
|
|
229
214
|
const externalEventHandlers = extractEventHandlers(externalProps);
|
|
230
|
-
const enhancedLabelInputProps = propsEnhancers.labelInput?.({
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
externalEventHandlers,
|
|
234
|
-
interactions
|
|
235
|
-
}) ?? {};
|
|
215
|
+
const enhancedLabelInputProps = propsEnhancers.labelInput?.(_extends({}, sharedPropsEnhancerParams, {
|
|
216
|
+
externalEventHandlers
|
|
217
|
+
})) ?? {};
|
|
236
218
|
return _extends({}, externalProps, enhancedLabelInputProps);
|
|
237
219
|
};
|
|
238
220
|
const getIconContainerProps = (externalProps = {}) => {
|
|
@@ -250,9 +232,6 @@ export const useTreeItem2 = parameters => {
|
|
|
250
232
|
in: status.expanded,
|
|
251
233
|
children
|
|
252
234
|
}, externalProps);
|
|
253
|
-
if (indentationAtItemLevel) {
|
|
254
|
-
response.indentationAtItemLevel = true;
|
|
255
|
-
}
|
|
256
235
|
return response;
|
|
257
236
|
};
|
|
258
237
|
const getDragAndDropOverlayProps = (externalProps = {}) => {
|