@mui/x-tree-view 6.17.0 → 7.0.0-alpha.7
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 +1748 -6
- package/README.md +0 -1
- package/RichTreeView/RichTreeView.d.ts +20 -0
- package/RichTreeView/RichTreeView.js +324 -0
- package/RichTreeView/RichTreeView.types.d.ts +55 -0
- package/RichTreeView/RichTreeView.types.js +1 -0
- package/RichTreeView/index.d.ts +3 -0
- package/RichTreeView/index.js +3 -0
- package/RichTreeView/package.json +6 -0
- package/RichTreeView/richTreeViewClasses.d.ts +7 -0
- package/RichTreeView/richTreeViewClasses.js +6 -0
- package/SimpleTreeView/SimpleTreeView.d.ts +20 -0
- package/SimpleTreeView/SimpleTreeView.js +268 -0
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +6 -0
- package/SimpleTreeView/SimpleTreeView.plugins.js +5 -0
- package/SimpleTreeView/SimpleTreeView.types.d.ts +38 -0
- package/SimpleTreeView/SimpleTreeView.types.js +1 -0
- package/SimpleTreeView/index.d.ts +3 -0
- package/SimpleTreeView/index.js +3 -0
- package/SimpleTreeView/package.json +6 -0
- package/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
- package/SimpleTreeView/simpleTreeViewClasses.js +6 -0
- package/TreeItem/TreeItem.js +44 -89
- package/TreeItem/TreeItem.types.d.ts +2 -1
- package/TreeItem/index.d.ts +2 -2
- package/TreeItem/index.js +2 -2
- package/TreeItem/useTreeItem.js +5 -5
- package/TreeView/TreeView.d.ts +4 -0
- package/TreeView/TreeView.js +80 -87
- package/TreeView/TreeView.types.d.ts +4 -26
- package/TreeView/index.d.ts +1 -1
- package/index.d.ts +3 -0
- package/index.js +5 -2
- package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -2
- package/internals/TreeViewProvider/TreeViewContext.js +1 -14
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -3
- package/internals/TreeViewProvider/useTreeViewContext.js +7 -1
- package/internals/corePlugins/corePlugins.d.ts +1 -1
- package/internals/corePlugins/corePlugins.js +1 -1
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -5
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
- package/internals/hooks/useLazyRef.d.ts +2 -0
- package/internals/hooks/useLazyRef.js +11 -0
- package/internals/hooks/useOnMount.d.ts +2 -0
- package/internals/hooks/useOnMount.js +7 -0
- package/internals/hooks/useTimeout.d.ts +9 -0
- package/internals/hooks/useTimeout.js +28 -0
- package/internals/models/plugin.d.ts +23 -0
- package/internals/models/treeView.d.ts +5 -1
- package/internals/plugins/defaultPlugins.d.ts +3 -2
- package/internals/plugins/defaultPlugins.js +2 -1
- package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -6
- package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.d.ts +1 -6
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +12 -5
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +13 -6
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +4 -1
- package/internals/plugins/useTreeViewId/index.d.ts +2 -0
- package/internals/plugins/useTreeViewId/index.js +1 -0
- package/internals/plugins/useTreeViewId/useTreeViewId.d.ts +3 -0
- package/internals/plugins/useTreeViewId/useTreeViewId.js +18 -0
- package/internals/plugins/useTreeViewId/useTreeViewId.types.d.ts +17 -0
- package/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
- package/internals/plugins/useTreeViewJSXNodes/index.d.ts +2 -0
- package/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.d.ts +3 -0
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +114 -0
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.d.ts +16 -0
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +20 -9
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +5 -2
- package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +83 -18
- package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +48 -5
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +1 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +15 -8
- package/internals/useTreeView/useTreeView.js +40 -3
- package/internals/useTreeView/useTreeView.types.d.ts +2 -1
- package/internals/utils/warning.d.ts +1 -0
- package/internals/utils/warning.js +14 -0
- package/legacy/RichTreeView/RichTreeView.js +317 -0
- package/legacy/RichTreeView/RichTreeView.types.js +1 -0
- package/legacy/RichTreeView/index.js +3 -0
- package/legacy/RichTreeView/richTreeViewClasses.js +6 -0
- package/legacy/SimpleTreeView/SimpleTreeView.js +264 -0
- package/legacy/SimpleTreeView/SimpleTreeView.plugins.js +6 -0
- package/legacy/SimpleTreeView/SimpleTreeView.types.js +1 -0
- package/legacy/SimpleTreeView/index.js +3 -0
- package/legacy/SimpleTreeView/simpleTreeViewClasses.js +6 -0
- package/legacy/TreeItem/TreeItem.js +49 -103
- package/legacy/TreeItem/index.js +2 -2
- package/legacy/TreeItem/useTreeItem.js +5 -5
- package/legacy/TreeView/TreeView.js +80 -82
- package/legacy/index.js +5 -2
- package/legacy/internals/TreeViewProvider/TreeViewContext.js +1 -14
- package/legacy/internals/TreeViewProvider/useTreeViewContext.js +5 -1
- package/legacy/internals/corePlugins/corePlugins.js +1 -1
- package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
- package/legacy/internals/hooks/useLazyRef.js +11 -0
- package/legacy/internals/hooks/useOnMount.js +7 -0
- package/legacy/internals/hooks/useTimeout.js +38 -0
- package/legacy/internals/plugins/defaultPlugins.js +2 -1
- package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +11 -8
- package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
- package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +13 -6
- package/legacy/internals/plugins/useTreeViewId/index.js +1 -0
- package/legacy/internals/plugins/useTreeViewId/useTreeViewId.js +21 -0
- package/legacy/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
- package/legacy/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
- package/legacy/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +120 -0
- package/legacy/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
- package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +20 -9
- package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +89 -20
- package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +45 -28
- package/legacy/internals/useTreeView/useTreeView.js +39 -3
- package/legacy/internals/utils/warning.js +15 -0
- package/legacy/models/index.js +1 -0
- package/legacy/models/items.js +1 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/items.d.ts +7 -0
- package/models/items.js +1 -0
- package/models/package.json +6 -0
- package/modern/RichTreeView/RichTreeView.js +322 -0
- package/modern/RichTreeView/RichTreeView.types.js +1 -0
- package/modern/RichTreeView/index.js +3 -0
- package/modern/RichTreeView/richTreeViewClasses.js +6 -0
- package/modern/SimpleTreeView/SimpleTreeView.js +267 -0
- package/modern/SimpleTreeView/SimpleTreeView.plugins.js +5 -0
- package/modern/SimpleTreeView/SimpleTreeView.types.js +1 -0
- package/modern/SimpleTreeView/index.js +3 -0
- package/modern/SimpleTreeView/simpleTreeViewClasses.js +6 -0
- package/modern/TreeItem/TreeItem.js +44 -88
- package/modern/TreeItem/index.js +2 -2
- package/modern/TreeItem/useTreeItem.js +5 -5
- package/modern/TreeView/TreeView.js +80 -87
- package/modern/index.js +5 -2
- package/modern/internals/TreeViewProvider/TreeViewContext.js +1 -14
- package/modern/internals/TreeViewProvider/useTreeViewContext.js +7 -1
- package/modern/internals/corePlugins/corePlugins.js +1 -1
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
- package/modern/internals/hooks/useLazyRef.js +11 -0
- package/modern/internals/hooks/useOnMount.js +7 -0
- package/modern/internals/hooks/useTimeout.js +28 -0
- package/modern/internals/plugins/defaultPlugins.js +2 -1
- package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -6
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -6
- package/modern/internals/plugins/useTreeViewId/index.js +1 -0
- package/modern/internals/plugins/useTreeViewId/useTreeViewId.js +18 -0
- package/modern/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
- package/modern/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
- package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +113 -0
- package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +19 -9
- package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +82 -18
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
- package/modern/internals/useTreeView/useTreeView.js +40 -3
- package/modern/internals/utils/warning.js +14 -0
- package/modern/models/index.js +1 -0
- package/modern/models/items.js +1 -0
- package/node/RichTreeView/RichTreeView.js +330 -0
- package/node/RichTreeView/RichTreeView.types.js +5 -0
- package/node/RichTreeView/index.js +27 -0
- package/node/RichTreeView/richTreeViewClasses.js +14 -0
- package/node/SimpleTreeView/SimpleTreeView.js +275 -0
- package/node/SimpleTreeView/SimpleTreeView.plugins.js +11 -0
- package/node/SimpleTreeView/SimpleTreeView.types.js +5 -0
- package/node/SimpleTreeView/index.js +27 -0
- package/node/SimpleTreeView/simpleTreeViewClasses.js +14 -0
- package/node/TreeItem/TreeItem.js +44 -88
- package/node/TreeItem/index.js +11 -15
- package/node/TreeItem/useTreeItem.js +5 -5
- package/node/TreeView/TreeView.js +80 -87
- package/node/index.js +38 -2
- package/node/internals/TreeViewProvider/TreeViewContext.js +2 -15
- package/node/internals/TreeViewProvider/useTreeViewContext.js +7 -1
- package/node/internals/corePlugins/corePlugins.js +1 -1
- package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
- package/node/internals/hooks/useLazyRef.js +19 -0
- package/node/internals/hooks/useOnMount.js +15 -0
- package/node/internals/hooks/useTimeout.js +34 -0
- package/node/internals/plugins/defaultPlugins.js +2 -1
- package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -7
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -6
- package/node/internals/plugins/useTreeViewId/index.js +12 -0
- package/node/internals/plugins/useTreeViewId/useTreeViewId.js +28 -0
- package/node/internals/plugins/useTreeViewId/useTreeViewId.types.js +5 -0
- package/node/internals/plugins/useTreeViewJSXNodes/index.js +12 -0
- package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +123 -0
- package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +5 -0
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +19 -9
- package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +82 -18
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
- package/node/internals/useTreeView/useTreeView.js +40 -3
- package/node/internals/utils/warning.js +21 -0
- package/node/models/index.js +16 -0
- package/node/models/items.js +5 -0
- package/package.json +8 -7
- package/themeAugmentation/components.d.ts +14 -4
- package/themeAugmentation/overrides.d.ts +8 -4
- package/themeAugmentation/props.d.ts +7 -3
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["disabledItemsFocusable", "expandedNodes", "defaultExpandedNodes", "onExpandedNodesChange", "onNodeExpansionToggle", "onNodeFocus", "disableSelection", "defaultSelectedNodes", "selectedNodes", "multiSelect", "onSelectedNodesChange", "onNodeSelectionToggle", "id", "defaultCollapseIcon", "defaultEndIcon", "defaultExpandIcon", "defaultParentIcon", "children", "slots", "slotProps"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
8
|
+
import { useSlotProps } from '@mui/base/utils';
|
|
9
|
+
import { getSimpleTreeViewUtilityClass } from './simpleTreeViewClasses';
|
|
10
|
+
import { useTreeView } from '../internals/useTreeView';
|
|
11
|
+
import { TreeViewProvider } from '../internals/TreeViewProvider';
|
|
12
|
+
import { SIMPLE_TREE_VIEW_PLUGINS } from './SimpleTreeView.plugins';
|
|
13
|
+
import { buildWarning } from '../internals/utils/warning';
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
16
|
+
var classes = ownerState.classes;
|
|
17
|
+
var slots = {
|
|
18
|
+
root: ['root']
|
|
19
|
+
};
|
|
20
|
+
return composeClasses(slots, getSimpleTreeViewUtilityClass, classes);
|
|
21
|
+
};
|
|
22
|
+
export var SimpleTreeViewRoot = styled('ul', {
|
|
23
|
+
name: 'MuiSimpleTreeView',
|
|
24
|
+
slot: 'Root',
|
|
25
|
+
overridesResolver: function overridesResolver(props, styles) {
|
|
26
|
+
return styles.root;
|
|
27
|
+
}
|
|
28
|
+
})({
|
|
29
|
+
padding: 0,
|
|
30
|
+
margin: 0,
|
|
31
|
+
listStyle: 'none',
|
|
32
|
+
outline: 0
|
|
33
|
+
});
|
|
34
|
+
var EMPTY_ITEMS = [];
|
|
35
|
+
var itemsPropWarning = buildWarning(['MUI: The `SimpleTreeView` component does not support the `items` prop.', 'If you want to add items, you need to pass them as JSX children.', 'Check the documentation for more details: https://next.mui.com/x/react-tree-view/simple-tree-view/items/']);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* Demos:
|
|
40
|
+
*
|
|
41
|
+
* - [Tree View](https://mui.com/x/react-tree-view/)
|
|
42
|
+
*
|
|
43
|
+
* API:
|
|
44
|
+
*
|
|
45
|
+
* - [SimpleTreeView API](https://mui.com/x/api/tree-view/simple-tree-view/)
|
|
46
|
+
*/
|
|
47
|
+
var SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inProps, ref) {
|
|
48
|
+
var _slots$root;
|
|
49
|
+
var props = useThemeProps({
|
|
50
|
+
props: inProps,
|
|
51
|
+
name: 'MuiSimpleTreeView'
|
|
52
|
+
});
|
|
53
|
+
var ownerState = props;
|
|
54
|
+
var _ref = props,
|
|
55
|
+
disabledItemsFocusable = _ref.disabledItemsFocusable,
|
|
56
|
+
expandedNodes = _ref.expandedNodes,
|
|
57
|
+
defaultExpandedNodes = _ref.defaultExpandedNodes,
|
|
58
|
+
onExpandedNodesChange = _ref.onExpandedNodesChange,
|
|
59
|
+
onNodeExpansionToggle = _ref.onNodeExpansionToggle,
|
|
60
|
+
onNodeFocus = _ref.onNodeFocus,
|
|
61
|
+
disableSelection = _ref.disableSelection,
|
|
62
|
+
defaultSelectedNodes = _ref.defaultSelectedNodes,
|
|
63
|
+
selectedNodes = _ref.selectedNodes,
|
|
64
|
+
multiSelect = _ref.multiSelect,
|
|
65
|
+
onSelectedNodesChange = _ref.onSelectedNodesChange,
|
|
66
|
+
onNodeSelectionToggle = _ref.onNodeSelectionToggle,
|
|
67
|
+
id = _ref.id,
|
|
68
|
+
defaultCollapseIcon = _ref.defaultCollapseIcon,
|
|
69
|
+
defaultEndIcon = _ref.defaultEndIcon,
|
|
70
|
+
defaultExpandIcon = _ref.defaultExpandIcon,
|
|
71
|
+
defaultParentIcon = _ref.defaultParentIcon,
|
|
72
|
+
children = _ref.children,
|
|
73
|
+
slots = _ref.slots,
|
|
74
|
+
slotProps = _ref.slotProps,
|
|
75
|
+
other = _objectWithoutProperties(_ref, _excluded);
|
|
76
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
77
|
+
if (props.items != null) {
|
|
78
|
+
itemsPropWarning();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
var _useTreeView = useTreeView({
|
|
82
|
+
disabledItemsFocusable: disabledItemsFocusable,
|
|
83
|
+
expandedNodes: expandedNodes,
|
|
84
|
+
defaultExpandedNodes: defaultExpandedNodes,
|
|
85
|
+
onExpandedNodesChange: onExpandedNodesChange,
|
|
86
|
+
onNodeExpansionToggle: onNodeExpansionToggle,
|
|
87
|
+
onNodeFocus: onNodeFocus,
|
|
88
|
+
disableSelection: disableSelection,
|
|
89
|
+
defaultSelectedNodes: defaultSelectedNodes,
|
|
90
|
+
selectedNodes: selectedNodes,
|
|
91
|
+
multiSelect: multiSelect,
|
|
92
|
+
onSelectedNodesChange: onSelectedNodesChange,
|
|
93
|
+
onNodeSelectionToggle: onNodeSelectionToggle,
|
|
94
|
+
id: id,
|
|
95
|
+
defaultCollapseIcon: defaultCollapseIcon,
|
|
96
|
+
defaultEndIcon: defaultEndIcon,
|
|
97
|
+
defaultExpandIcon: defaultExpandIcon,
|
|
98
|
+
defaultParentIcon: defaultParentIcon,
|
|
99
|
+
items: EMPTY_ITEMS,
|
|
100
|
+
plugins: SIMPLE_TREE_VIEW_PLUGINS,
|
|
101
|
+
rootRef: ref
|
|
102
|
+
}),
|
|
103
|
+
getRootProps = _useTreeView.getRootProps,
|
|
104
|
+
contextValue = _useTreeView.contextValue;
|
|
105
|
+
var classes = useUtilityClasses(props);
|
|
106
|
+
var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : SimpleTreeViewRoot;
|
|
107
|
+
var rootProps = useSlotProps({
|
|
108
|
+
elementType: Root,
|
|
109
|
+
externalSlotProps: {},
|
|
110
|
+
externalForwardedProps: other,
|
|
111
|
+
className: classes.root,
|
|
112
|
+
getSlotProps: getRootProps,
|
|
113
|
+
ownerState: ownerState
|
|
114
|
+
});
|
|
115
|
+
return /*#__PURE__*/_jsx(TreeViewProvider, {
|
|
116
|
+
value: contextValue,
|
|
117
|
+
children: /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {
|
|
118
|
+
children: children
|
|
119
|
+
}))
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
process.env.NODE_ENV !== "production" ? SimpleTreeView.propTypes = {
|
|
123
|
+
// ----------------------------- Warning --------------------------------
|
|
124
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
125
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
126
|
+
// ----------------------------------------------------------------------
|
|
127
|
+
/**
|
|
128
|
+
* The content of the component.
|
|
129
|
+
*/
|
|
130
|
+
children: PropTypes.node,
|
|
131
|
+
/**
|
|
132
|
+
* Override or extend the styles applied to the component.
|
|
133
|
+
*/
|
|
134
|
+
classes: PropTypes.object,
|
|
135
|
+
/**
|
|
136
|
+
* className applied to the root element.
|
|
137
|
+
*/
|
|
138
|
+
className: PropTypes.string,
|
|
139
|
+
/**
|
|
140
|
+
* The default icon used to collapse the node.
|
|
141
|
+
*/
|
|
142
|
+
defaultCollapseIcon: PropTypes.node,
|
|
143
|
+
/**
|
|
144
|
+
* The default icon displayed next to a end node. This is applied to all
|
|
145
|
+
* tree nodes and can be overridden by the TreeItem `icon` prop.
|
|
146
|
+
*/
|
|
147
|
+
defaultEndIcon: PropTypes.node,
|
|
148
|
+
/**
|
|
149
|
+
* Expanded node ids.
|
|
150
|
+
* Used when the item's expansion is not controlled.
|
|
151
|
+
* @default []
|
|
152
|
+
*/
|
|
153
|
+
defaultExpandedNodes: PropTypes.arrayOf(PropTypes.string),
|
|
154
|
+
/**
|
|
155
|
+
* The default icon used to expand the node.
|
|
156
|
+
*/
|
|
157
|
+
defaultExpandIcon: PropTypes.node,
|
|
158
|
+
/**
|
|
159
|
+
* The default icon displayed next to a parent node. This is applied to all
|
|
160
|
+
* parent nodes and can be overridden by the TreeItem `icon` prop.
|
|
161
|
+
*/
|
|
162
|
+
defaultParentIcon: PropTypes.node,
|
|
163
|
+
/**
|
|
164
|
+
* Selected node ids. (Uncontrolled)
|
|
165
|
+
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
166
|
+
* @default []
|
|
167
|
+
*/
|
|
168
|
+
defaultSelectedNodes: PropTypes.any,
|
|
169
|
+
/**
|
|
170
|
+
* If `true`, will allow focus on disabled items.
|
|
171
|
+
* @default false
|
|
172
|
+
*/
|
|
173
|
+
disabledItemsFocusable: PropTypes.bool,
|
|
174
|
+
/**
|
|
175
|
+
* If `true` selection is disabled.
|
|
176
|
+
* @default false
|
|
177
|
+
*/
|
|
178
|
+
disableSelection: PropTypes.bool,
|
|
179
|
+
/**
|
|
180
|
+
* Expanded node ids.
|
|
181
|
+
* Used when the item's expansion is controlled.
|
|
182
|
+
*/
|
|
183
|
+
expandedNodes: PropTypes.arrayOf(PropTypes.string),
|
|
184
|
+
/**
|
|
185
|
+
* Used to determine the string label for a given item.
|
|
186
|
+
*
|
|
187
|
+
* @template R
|
|
188
|
+
* @param {R} item The item to check.
|
|
189
|
+
* @returns {string} The id of the item.
|
|
190
|
+
* @default `(item) => item.id`
|
|
191
|
+
*/
|
|
192
|
+
getItemId: PropTypes.func,
|
|
193
|
+
/**
|
|
194
|
+
* Used to determine the string label for a given item.
|
|
195
|
+
*
|
|
196
|
+
* @template R
|
|
197
|
+
* @param {R} item The item to check.
|
|
198
|
+
* @returns {string} The label of the item.
|
|
199
|
+
* @default `(item) => item.label`
|
|
200
|
+
*/
|
|
201
|
+
getItemLabel: PropTypes.func,
|
|
202
|
+
/**
|
|
203
|
+
* This prop is used to help implement the accessibility logic.
|
|
204
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
205
|
+
*/
|
|
206
|
+
id: PropTypes.string,
|
|
207
|
+
/**
|
|
208
|
+
* If true `ctrl` and `shift` will trigger multiselect.
|
|
209
|
+
* @default false
|
|
210
|
+
*/
|
|
211
|
+
multiSelect: PropTypes.bool,
|
|
212
|
+
/**
|
|
213
|
+
* Callback fired when tree items are expanded/collapsed.
|
|
214
|
+
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
215
|
+
* @param {array} nodeIds The ids of the expanded nodes.
|
|
216
|
+
*/
|
|
217
|
+
onExpandedNodesChange: PropTypes.func,
|
|
218
|
+
/**
|
|
219
|
+
* Callback fired when a tree item is expanded or collapsed.
|
|
220
|
+
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
221
|
+
* @param {array} nodeId The nodeId of the modified node.
|
|
222
|
+
* @param {array} isExpanded `true` if the node has just been expanded, `false` if it has just been collapsed.
|
|
223
|
+
*/
|
|
224
|
+
onNodeExpansionToggle: PropTypes.func,
|
|
225
|
+
/**
|
|
226
|
+
* Callback fired when tree items are focused.
|
|
227
|
+
* @param {React.SyntheticEvent} event The event source of the callback **Warning**: This is a generic event not a focus event.
|
|
228
|
+
* @param {string} nodeId The id of the node focused.
|
|
229
|
+
* @param {string} value of the focused node.
|
|
230
|
+
*/
|
|
231
|
+
onNodeFocus: PropTypes.func,
|
|
232
|
+
/**
|
|
233
|
+
* Callback fired when a tree item is selected or deselected.
|
|
234
|
+
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
235
|
+
* @param {array} nodeId The nodeId of the modified node.
|
|
236
|
+
* @param {array} isSelected `true` if the node has just been selected, `false` if it has just been deselected.
|
|
237
|
+
*/
|
|
238
|
+
onNodeSelectionToggle: PropTypes.func,
|
|
239
|
+
/**
|
|
240
|
+
* Callback fired when tree items are selected/deselected.
|
|
241
|
+
* @param {React.SyntheticEvent} event The event source of the callback
|
|
242
|
+
* @param {string[] | string} nodeIds The ids of the selected nodes.
|
|
243
|
+
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
|
|
244
|
+
*/
|
|
245
|
+
onSelectedNodesChange: PropTypes.func,
|
|
246
|
+
/**
|
|
247
|
+
* Selected node ids. (Controlled)
|
|
248
|
+
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
249
|
+
*/
|
|
250
|
+
selectedNodes: PropTypes.any,
|
|
251
|
+
/**
|
|
252
|
+
* The props used for each component slot.
|
|
253
|
+
*/
|
|
254
|
+
slotProps: PropTypes.object,
|
|
255
|
+
/**
|
|
256
|
+
* Overridable component slots.
|
|
257
|
+
*/
|
|
258
|
+
slots: PropTypes.object,
|
|
259
|
+
/**
|
|
260
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
261
|
+
*/
|
|
262
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
|
|
263
|
+
} : void 0;
|
|
264
|
+
export { SimpleTreeView };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import { DEFAULT_TREE_VIEW_PLUGINS } from '../internals/plugins/defaultPlugins';
|
|
3
|
+
import { useTreeViewJSXNodes } from '../internals/plugins/useTreeViewJSXNodes';
|
|
4
|
+
export var SIMPLE_TREE_VIEW_PLUGINS = [].concat(_toConsumableArray(DEFAULT_TREE_VIEW_PLUGINS), [useTreeViewJSXNodes]);
|
|
5
|
+
|
|
6
|
+
// We can't infer this type from the plugin, otherwise we would lose the generics.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
|
+
export function getSimpleTreeViewUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiSimpleTreeView', slot);
|
|
5
|
+
}
|
|
6
|
+
export var simpleTreeViewClasses = generateUtilityClasses('MuiSimpleTreeView', ['root']);
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
-
var _excluded = ["children", "className", "collapseIcon", "ContentComponent", "ContentProps", "endIcon", "expandIcon", "
|
|
4
|
+
var _excluded = ["children", "className", "collapseIcon", "ContentComponent", "ContentProps", "endIcon", "expandIcon", "icon", "nodeId", "id", "label", "onClick", "onMouseDown", "TransitionComponent", "TransitionProps"];
|
|
6
5
|
import * as React from 'react';
|
|
7
6
|
import PropTypes from 'prop-types';
|
|
8
7
|
import clsx from 'clsx';
|
|
9
8
|
import Collapse from '@mui/material/Collapse';
|
|
10
9
|
import { alpha, styled, useThemeProps } from '@mui/material/styles';
|
|
11
|
-
import ownerDocument from '@mui/utils/ownerDocument';
|
|
12
|
-
import useForkRef from '@mui/utils/useForkRef';
|
|
13
10
|
import unsupportedProp from '@mui/utils/unsupportedProp';
|
|
14
11
|
import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';
|
|
15
12
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
16
|
-
import { DescendantProvider, useDescendant } from '../internals/TreeViewProvider/DescendantProvider';
|
|
17
13
|
import { TreeItemContent } from './TreeItemContent';
|
|
18
14
|
import { treeItemClasses, getTreeItemUtilityClass } from './treeItemClasses';
|
|
19
15
|
import { useTreeViewContext } from '../internals/TreeViewProvider/useTreeViewContext';
|
|
@@ -53,9 +49,8 @@ var StyledTreeItemContent = styled(TreeItemContent, {
|
|
|
53
49
|
return [styles.content, styles.iconContainer && _defineProperty({}, "& .".concat(treeItemClasses.iconContainer), styles.iconContainer), styles.label && _defineProperty({}, "& .".concat(treeItemClasses.label), styles.label)];
|
|
54
50
|
}
|
|
55
51
|
})(function (_ref3) {
|
|
56
|
-
var _ref4;
|
|
57
52
|
var theme = _ref3.theme;
|
|
58
|
-
return
|
|
53
|
+
return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
59
54
|
padding: '0 8px',
|
|
60
55
|
width: '100%',
|
|
61
56
|
boxSizing: 'border-box',
|
|
@@ -71,12 +66,12 @@ var StyledTreeItemContent = styled(TreeItemContent, {
|
|
|
71
66
|
backgroundColor: 'transparent'
|
|
72
67
|
}
|
|
73
68
|
}
|
|
74
|
-
},
|
|
69
|
+
}, "&.".concat(treeItemClasses.disabled), {
|
|
75
70
|
opacity: (theme.vars || theme).palette.action.disabledOpacity,
|
|
76
71
|
backgroundColor: 'transparent'
|
|
77
|
-
}),
|
|
72
|
+
}), "&.".concat(treeItemClasses.focused), {
|
|
78
73
|
backgroundColor: (theme.vars || theme).palette.action.focus
|
|
79
|
-
}),
|
|
74
|
+
}), "&.".concat(treeItemClasses.selected), _defineProperty({
|
|
80
75
|
backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
|
|
81
76
|
'&:hover': {
|
|
82
77
|
backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / calc(").concat(theme.vars.palette.action.selectedOpacity, " + ").concat(theme.vars.palette.action.hoverOpacity, "))") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
|
|
@@ -87,7 +82,7 @@ var StyledTreeItemContent = styled(TreeItemContent, {
|
|
|
87
82
|
}
|
|
88
83
|
}, "&.".concat(treeItemClasses.focused), {
|
|
89
84
|
backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / calc(").concat(theme.vars.palette.action.selectedOpacity, " + ").concat(theme.vars.palette.action.focusOpacity, "))") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
|
|
90
|
-
})),
|
|
85
|
+
})), "& .".concat(treeItemClasses.iconContainer), {
|
|
91
86
|
marginRight: 4,
|
|
92
87
|
width: 15,
|
|
93
88
|
display: 'flex',
|
|
@@ -96,7 +91,7 @@ var StyledTreeItemContent = styled(TreeItemContent, {
|
|
|
96
91
|
'& svg': {
|
|
97
92
|
fontSize: 18
|
|
98
93
|
}
|
|
99
|
-
}),
|
|
94
|
+
}), "& .".concat(treeItemClasses.label), _extends({
|
|
100
95
|
paddingLeft: 4,
|
|
101
96
|
width: '100%',
|
|
102
97
|
boxSizing: 'border-box',
|
|
@@ -104,7 +99,7 @@ var StyledTreeItemContent = styled(TreeItemContent, {
|
|
|
104
99
|
// fixes overflow - see https://github.com/mui/material-ui/issues/27372
|
|
105
100
|
minWidth: 0,
|
|
106
101
|
position: 'relative'
|
|
107
|
-
}, theme.typography.body1))
|
|
102
|
+
}, theme.typography.body1));
|
|
108
103
|
});
|
|
109
104
|
var TreeItemGroup = styled(Collapse, {
|
|
110
105
|
name: 'MuiTreeItem',
|
|
@@ -128,11 +123,24 @@ var TreeItemGroup = styled(Collapse, {
|
|
|
128
123
|
*
|
|
129
124
|
* - [TreeItem API](https://mui.com/x/api/tree-view/tree-item/)
|
|
130
125
|
*/
|
|
131
|
-
export var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
|
|
132
|
-
var
|
|
126
|
+
export var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, inRef) {
|
|
127
|
+
var _useTreeViewContext = useTreeViewContext(),
|
|
128
|
+
contextIcons = _useTreeViewContext.icons,
|
|
129
|
+
runItemPlugins = _useTreeViewContext.runItemPlugins,
|
|
130
|
+
multiSelect = _useTreeViewContext.multiSelect,
|
|
131
|
+
disabledItemsFocusable = _useTreeViewContext.disabledItemsFocusable,
|
|
132
|
+
instance = _useTreeViewContext.instance;
|
|
133
|
+
var inPropsWithTheme = useThemeProps({
|
|
133
134
|
props: inProps,
|
|
134
135
|
name: 'MuiTreeItem'
|
|
135
136
|
});
|
|
137
|
+
var _runItemPlugins = runItemPlugins({
|
|
138
|
+
props: inPropsWithTheme,
|
|
139
|
+
ref: inRef
|
|
140
|
+
}),
|
|
141
|
+
props = _runItemPlugins.props,
|
|
142
|
+
ref = _runItemPlugins.ref,
|
|
143
|
+
wrapItem = _runItemPlugins.wrapItem;
|
|
136
144
|
var children = props.children,
|
|
137
145
|
className = props.className,
|
|
138
146
|
collapseIcon = props.collapseIcon,
|
|
@@ -141,49 +149,21 @@ export var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, r
|
|
|
141
149
|
ContentProps = props.ContentProps,
|
|
142
150
|
endIcon = props.endIcon,
|
|
143
151
|
expandIcon = props.expandIcon,
|
|
144
|
-
disabledProp = props.disabled,
|
|
145
152
|
icon = props.icon,
|
|
146
|
-
idProp = props.id,
|
|
147
|
-
label = props.label,
|
|
148
153
|
nodeId = props.nodeId,
|
|
154
|
+
id = props.id,
|
|
155
|
+
label = props.label,
|
|
149
156
|
onClick = props.onClick,
|
|
150
157
|
onMouseDown = props.onMouseDown,
|
|
151
158
|
_props$TransitionComp = props.TransitionComponent,
|
|
152
159
|
TransitionComponent = _props$TransitionComp === void 0 ? Collapse : _props$TransitionComp,
|
|
153
160
|
TransitionProps = props.TransitionProps,
|
|
154
161
|
other = _objectWithoutProperties(props, _excluded);
|
|
155
|
-
var _useTreeViewContext = useTreeViewContext(),
|
|
156
|
-
contextIcons = _useTreeViewContext.icons,
|
|
157
|
-
multiSelect = _useTreeViewContext.multiSelect,
|
|
158
|
-
disabledItemsFocusable = _useTreeViewContext.disabledItemsFocusable,
|
|
159
|
-
treeId = _useTreeViewContext.treeId,
|
|
160
|
-
instance = _useTreeViewContext.instance;
|
|
161
|
-
var id;
|
|
162
|
-
if (idProp != null) {
|
|
163
|
-
id = idProp;
|
|
164
|
-
} else if (treeId && nodeId) {
|
|
165
|
-
id = "".concat(treeId, "-").concat(nodeId);
|
|
166
|
-
}
|
|
167
|
-
var _React$useState = React.useState(null),
|
|
168
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
169
|
-
treeItemElement = _React$useState2[0],
|
|
170
|
-
setTreeItemElement = _React$useState2[1];
|
|
171
|
-
var contentRef = React.useRef(null);
|
|
172
|
-
var handleRef = useForkRef(setTreeItemElement, ref);
|
|
173
|
-
var descendant = React.useMemo(function () {
|
|
174
|
-
return {
|
|
175
|
-
element: treeItemElement,
|
|
176
|
-
id: nodeId
|
|
177
|
-
};
|
|
178
|
-
}, [nodeId, treeItemElement]);
|
|
179
|
-
var _useDescendant = useDescendant(descendant),
|
|
180
|
-
index = _useDescendant.index,
|
|
181
|
-
parentId = _useDescendant.parentId;
|
|
182
162
|
var expandable = Boolean(Array.isArray(children) ? children.length : children);
|
|
183
|
-
var expanded = instance
|
|
184
|
-
var focused = instance
|
|
185
|
-
var selected = instance
|
|
186
|
-
var disabled = instance
|
|
163
|
+
var expanded = instance.isNodeExpanded(nodeId);
|
|
164
|
+
var focused = instance.isNodeFocused(nodeId);
|
|
165
|
+
var selected = instance.isNodeSelected(nodeId);
|
|
166
|
+
var disabled = instance.isNodeDisabled(nodeId);
|
|
187
167
|
var ownerState = _extends({}, props, {
|
|
188
168
|
expanded: expanded,
|
|
189
169
|
focused: focused,
|
|
@@ -205,30 +185,6 @@ export var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, r
|
|
|
205
185
|
} else {
|
|
206
186
|
displayIcon = endIcon || contextIcons.defaultEndIcon;
|
|
207
187
|
}
|
|
208
|
-
React.useEffect(function () {
|
|
209
|
-
// On the first render a node's index will be -1. We want to wait for the real index.
|
|
210
|
-
if (instance && index !== -1) {
|
|
211
|
-
instance.updateNode({
|
|
212
|
-
id: nodeId,
|
|
213
|
-
idAttribute: id,
|
|
214
|
-
index: index,
|
|
215
|
-
parentId: parentId,
|
|
216
|
-
expandable: expandable,
|
|
217
|
-
disabled: disabledProp
|
|
218
|
-
});
|
|
219
|
-
return function () {
|
|
220
|
-
return instance.removeNode(nodeId);
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
return undefined;
|
|
224
|
-
}, [instance, parentId, index, nodeId, expandable, disabledProp, id]);
|
|
225
|
-
React.useEffect(function () {
|
|
226
|
-
if (instance && label) {
|
|
227
|
-
var _contentRef$current$t, _contentRef$current;
|
|
228
|
-
return instance.mapFirstChar(nodeId, ((_contentRef$current$t = (_contentRef$current = contentRef.current) == null ? void 0 : _contentRef$current.textContent) != null ? _contentRef$current$t : '').substring(0, 1).toLowerCase());
|
|
229
|
-
}
|
|
230
|
-
return undefined;
|
|
231
|
-
}, [instance, nodeId, label]);
|
|
232
188
|
var ariaSelected;
|
|
233
189
|
if (multiSelect) {
|
|
234
190
|
ariaSelected = selected;
|
|
@@ -244,36 +200,28 @@ export var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, r
|
|
|
244
200
|
function handleFocus(event) {
|
|
245
201
|
// DOM focus stays on the tree which manages focus with aria-activedescendant
|
|
246
202
|
if (event.target === event.currentTarget) {
|
|
247
|
-
|
|
248
|
-
if (typeof event.target.getRootNode === 'function') {
|
|
249
|
-
rootElement = event.target.getRootNode();
|
|
250
|
-
} else {
|
|
251
|
-
rootElement = ownerDocument(event.target);
|
|
252
|
-
}
|
|
253
|
-
rootElement.getElementById(treeId).focus({
|
|
254
|
-
preventScroll: true
|
|
255
|
-
});
|
|
203
|
+
instance.focusRoot();
|
|
256
204
|
}
|
|
257
|
-
var
|
|
258
|
-
if (
|
|
205
|
+
var canBeFocused = !disabled || disabledItemsFocusable;
|
|
206
|
+
if (!focused && canBeFocused && event.currentTarget === event.target) {
|
|
259
207
|
instance.focusNode(event, nodeId);
|
|
260
208
|
}
|
|
261
209
|
}
|
|
262
|
-
|
|
210
|
+
var idAttribute = instance.getTreeItemId(nodeId, id);
|
|
211
|
+
var item = /*#__PURE__*/_jsxs(TreeItemRoot, _extends({
|
|
263
212
|
className: clsx(classes.root, className),
|
|
264
213
|
role: "treeitem",
|
|
265
214
|
"aria-expanded": expandable ? expanded : undefined,
|
|
266
215
|
"aria-selected": ariaSelected,
|
|
267
216
|
"aria-disabled": disabled || undefined,
|
|
268
|
-
id:
|
|
217
|
+
id: idAttribute,
|
|
269
218
|
tabIndex: -1
|
|
270
219
|
}, other, {
|
|
271
220
|
ownerState: ownerState,
|
|
272
221
|
onFocus: handleFocus,
|
|
273
|
-
ref:
|
|
222
|
+
ref: ref,
|
|
274
223
|
children: [/*#__PURE__*/_jsx(StyledTreeItemContent, _extends({
|
|
275
224
|
as: ContentComponent,
|
|
276
|
-
ref: contentRef,
|
|
277
225
|
classes: {
|
|
278
226
|
root: classes.content,
|
|
279
227
|
expanded: classes.expanded,
|
|
@@ -291,22 +239,20 @@ export var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, r
|
|
|
291
239
|
expansionIcon: expansionIcon,
|
|
292
240
|
displayIcon: displayIcon,
|
|
293
241
|
ownerState: ownerState
|
|
294
|
-
}, ContentProps)), children && /*#__PURE__*/_jsx(
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
children: children
|
|
305
|
-
}))
|
|
306
|
-
})]
|
|
242
|
+
}, ContentProps)), children && /*#__PURE__*/_jsx(TreeItemGroup, _extends({
|
|
243
|
+
as: TransitionComponent,
|
|
244
|
+
unmountOnExit: true,
|
|
245
|
+
className: classes.group,
|
|
246
|
+
in: expanded,
|
|
247
|
+
component: "ul",
|
|
248
|
+
role: "group"
|
|
249
|
+
}, TransitionProps, {
|
|
250
|
+
children: children
|
|
251
|
+
}))]
|
|
307
252
|
}));
|
|
253
|
+
return wrapItem(item);
|
|
308
254
|
});
|
|
309
|
-
|
|
255
|
+
TreeItem.propTypes = {
|
|
310
256
|
// ----------------------------- Warning --------------------------------
|
|
311
257
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
312
258
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
@@ -381,4 +327,4 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
|
|
|
381
327
|
* By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
|
|
382
328
|
*/
|
|
383
329
|
TransitionProps: PropTypes.object
|
|
384
|
-
}
|
|
330
|
+
};
|
package/legacy/TreeItem/index.js
CHANGED
|
@@ -3,11 +3,11 @@ export function useTreeItem(nodeId) {
|
|
|
3
3
|
var _useTreeViewContext = useTreeViewContext(),
|
|
4
4
|
instance = _useTreeViewContext.instance,
|
|
5
5
|
multiSelect = _useTreeViewContext.multiSelect;
|
|
6
|
-
var expandable = instance
|
|
7
|
-
var expanded = instance
|
|
8
|
-
var focused = instance
|
|
9
|
-
var selected = instance
|
|
10
|
-
var disabled = instance
|
|
6
|
+
var expandable = instance.isNodeExpandable(nodeId);
|
|
7
|
+
var expanded = instance.isNodeExpanded(nodeId);
|
|
8
|
+
var focused = instance.isNodeFocused(nodeId);
|
|
9
|
+
var selected = instance.isNodeSelected(nodeId);
|
|
10
|
+
var disabled = instance.isNodeDisabled(nodeId);
|
|
11
11
|
var handleExpansion = function handleExpansion(event) {
|
|
12
12
|
if (instance && !disabled) {
|
|
13
13
|
if (!focused) {
|