@mui/x-tree-view 7.0.0-beta.6 → 7.0.0-beta.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 +117 -1
- package/RichTreeView/RichTreeView.js +22 -22
- package/RichTreeView/RichTreeView.types.d.ts +2 -1
- package/SimpleTreeView/SimpleTreeView.js +22 -22
- package/TreeItem/TreeItem.js +57 -53
- package/TreeItem/TreeItem.types.d.ts +10 -8
- package/TreeItem/useTreeItemState.js +2 -2
- package/TreeItem2/TreeItem2.d.ts +18 -0
- package/TreeItem2/TreeItem2.js +301 -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 +68 -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.js +22 -22
- 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/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 +25 -25
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +11 -11
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -12
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +5 -5
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +17 -17
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +11 -9
- package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -34
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +11 -11
- package/internals/useTreeView/useTreeView.js +27 -25
- package/modern/RichTreeView/RichTreeView.js +22 -22
- package/modern/SimpleTreeView/SimpleTreeView.js +22 -22
- package/modern/TreeItem/TreeItem.js +57 -53
- package/modern/TreeItem/useTreeItemState.js +2 -2
- 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 +22 -22
- 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 +24 -24
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -12
- package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +16 -16
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +11 -9
- package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -34
- package/modern/internals/useTreeView/useTreeView.js +27 -25
- package/modern/useTreeItem2/index.js +1 -0
- package/modern/useTreeItem2/useTreeItem2.js +135 -0
- package/modern/useTreeItem2/useTreeItem2.types.js +1 -0
- package/node/RichTreeView/RichTreeView.js +22 -22
- package/node/SimpleTreeView/SimpleTreeView.js +22 -22
- package/node/TreeItem/TreeItem.js +57 -53
- package/node/TreeItem/useTreeItemState.js +2 -2
- 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 +22 -22
- 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 +24 -24
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -12
- package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +16 -16
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +11 -9
- package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -34
- package/node/internals/useTreeView/useTreeView.js +27 -25
- package/node/useTreeItem2/index.js +12 -0
- package/node/useTreeItem2/useTreeItem2.js +143 -0
- package/node/useTreeItem2/useTreeItem2.types.js +5 -0
- package/package.json +1 -1
- 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 +138 -0
- package/useTreeItem2/useTreeItem2.types.d.ts +113 -0
- package/useTreeItem2/useTreeItem2.types.js +1 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "TreeItem2Provider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _TreeItem2Provider.TreeItem2Provider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _TreeItem2Provider = require("./TreeItem2Provider");
|
|
@@ -78,7 +78,7 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
|
|
|
78
78
|
*/
|
|
79
79
|
apiRef: _propTypes.default.shape({
|
|
80
80
|
current: _propTypes.default.shape({
|
|
81
|
-
|
|
81
|
+
focusItem: _propTypes.default.func.isRequired,
|
|
82
82
|
getItem: _propTypes.default.func.isRequired
|
|
83
83
|
})
|
|
84
84
|
}),
|
|
@@ -92,17 +92,17 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
|
|
|
92
92
|
classes: _propTypes.default.object,
|
|
93
93
|
className: _propTypes.default.string,
|
|
94
94
|
/**
|
|
95
|
-
* Expanded
|
|
95
|
+
* Expanded item ids.
|
|
96
96
|
* Used when the item's expansion is not controlled.
|
|
97
97
|
* @default []
|
|
98
98
|
*/
|
|
99
|
-
|
|
99
|
+
defaultExpandedItems: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
100
100
|
/**
|
|
101
|
-
* Selected
|
|
101
|
+
* Selected item ids. (Uncontrolled)
|
|
102
102
|
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
103
103
|
* @default []
|
|
104
104
|
*/
|
|
105
|
-
|
|
105
|
+
defaultSelectedItems: _propTypes.default.any,
|
|
106
106
|
/**
|
|
107
107
|
* If `true`, will allow focus on disabled items.
|
|
108
108
|
* @default false
|
|
@@ -114,10 +114,10 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
|
|
|
114
114
|
*/
|
|
115
115
|
disableSelection: _propTypes.default.bool,
|
|
116
116
|
/**
|
|
117
|
-
* Expanded
|
|
117
|
+
* Expanded item ids.
|
|
118
118
|
* Used when the item's expansion is controlled.
|
|
119
119
|
*/
|
|
120
|
-
|
|
120
|
+
expandedItems: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
121
121
|
/**
|
|
122
122
|
* This prop is used to help implement the accessibility logic.
|
|
123
123
|
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
@@ -131,42 +131,42 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
|
|
|
131
131
|
/**
|
|
132
132
|
* Callback fired when tree items are expanded/collapsed.
|
|
133
133
|
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
134
|
-
* @param {array}
|
|
134
|
+
* @param {array} itemIds The ids of the expanded items.
|
|
135
135
|
*/
|
|
136
|
-
|
|
136
|
+
onExpandedItemsChange: _propTypes.default.func,
|
|
137
137
|
/**
|
|
138
138
|
* Callback fired when a tree item is expanded or collapsed.
|
|
139
139
|
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
140
|
-
* @param {array}
|
|
141
|
-
* @param {array} isExpanded `true` if the
|
|
140
|
+
* @param {array} itemId The itemId of the modified item.
|
|
141
|
+
* @param {array} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
|
|
142
142
|
*/
|
|
143
|
-
|
|
143
|
+
onItemExpansionToggle: _propTypes.default.func,
|
|
144
144
|
/**
|
|
145
145
|
* Callback fired when tree items are focused.
|
|
146
146
|
* @param {React.SyntheticEvent} event The event source of the callback **Warning**: This is a generic event not a focus event.
|
|
147
|
-
* @param {string}
|
|
148
|
-
* @param {string} value of the focused
|
|
147
|
+
* @param {string} itemId The id of the focused item.
|
|
148
|
+
* @param {string} value of the focused item.
|
|
149
149
|
*/
|
|
150
|
-
|
|
150
|
+
onItemFocus: _propTypes.default.func,
|
|
151
151
|
/**
|
|
152
152
|
* Callback fired when a tree item is selected or deselected.
|
|
153
153
|
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
154
|
-
* @param {array}
|
|
155
|
-
* @param {array} isSelected `true` if the
|
|
154
|
+
* @param {array} itemId The itemId of the modified item.
|
|
155
|
+
* @param {array} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
|
|
156
156
|
*/
|
|
157
|
-
|
|
157
|
+
onItemSelectionToggle: _propTypes.default.func,
|
|
158
158
|
/**
|
|
159
159
|
* Callback fired when tree items are selected/deselected.
|
|
160
160
|
* @param {React.SyntheticEvent} event The event source of the callback
|
|
161
|
-
* @param {string[] | string}
|
|
161
|
+
* @param {string[] | string} itemIds The ids of the selected items.
|
|
162
162
|
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
|
|
163
163
|
*/
|
|
164
|
-
|
|
164
|
+
onSelectedItemsChange: _propTypes.default.func,
|
|
165
165
|
/**
|
|
166
|
-
* Selected
|
|
166
|
+
* Selected item ids. (Controlled)
|
|
167
167
|
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
168
168
|
*/
|
|
169
|
-
|
|
169
|
+
selectedItems: _propTypes.default.any,
|
|
170
170
|
/**
|
|
171
171
|
* The props used for each component slot.
|
|
172
172
|
*/
|
package/node/hooks/index.js
CHANGED
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "useTreeItem2Utils", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useTreeItem2Utils.useTreeItem2Utils;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "useTreeViewApiRef", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
9
15
|
return _useTreeViewApiRef.useTreeViewApiRef;
|
|
10
16
|
}
|
|
11
17
|
});
|
|
12
|
-
var _useTreeViewApiRef = require("./useTreeViewApiRef");
|
|
18
|
+
var _useTreeViewApiRef = require("./useTreeViewApiRef");
|
|
19
|
+
var _useTreeItem2Utils = require("./useTreeItem2Utils");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useTreeItem2Utils", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useTreeItem2Utils.useTreeItem2Utils;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useTreeItem2Utils = require("./useTreeItem2Utils");
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTreeItem2Utils = void 0;
|
|
7
|
+
var _useTreeViewContext = require("../../internals/TreeViewProvider/useTreeViewContext");
|
|
8
|
+
const useTreeItem2Utils = ({
|
|
9
|
+
nodeId,
|
|
10
|
+
children
|
|
11
|
+
}) => {
|
|
12
|
+
const {
|
|
13
|
+
instance,
|
|
14
|
+
selection: {
|
|
15
|
+
multiSelect
|
|
16
|
+
}
|
|
17
|
+
} = (0, _useTreeViewContext.useTreeViewContext)();
|
|
18
|
+
const status = {
|
|
19
|
+
expandable: Boolean(Array.isArray(children) ? children.length : children),
|
|
20
|
+
expanded: instance.isNodeExpanded(nodeId),
|
|
21
|
+
focused: instance.isNodeFocused(nodeId),
|
|
22
|
+
selected: instance.isNodeSelected(nodeId),
|
|
23
|
+
disabled: instance.isNodeDisabled(nodeId)
|
|
24
|
+
};
|
|
25
|
+
const handleExpansion = event => {
|
|
26
|
+
if (status.disabled) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (!status.focused) {
|
|
30
|
+
instance.focusItem(event, nodeId);
|
|
31
|
+
}
|
|
32
|
+
const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
33
|
+
|
|
34
|
+
// If already expanded and trying to toggle selection don't close
|
|
35
|
+
if (status.expandable && !(multiple && instance.isNodeExpanded(nodeId))) {
|
|
36
|
+
instance.toggleNodeExpansion(event, nodeId);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const handleSelection = event => {
|
|
40
|
+
if (status.disabled) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!status.focused) {
|
|
44
|
+
instance.focusItem(event, nodeId);
|
|
45
|
+
}
|
|
46
|
+
const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
47
|
+
if (multiple) {
|
|
48
|
+
if (event.shiftKey) {
|
|
49
|
+
instance.selectRange(event, {
|
|
50
|
+
end: nodeId
|
|
51
|
+
});
|
|
52
|
+
} else {
|
|
53
|
+
instance.selectNode(event, nodeId, true);
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
instance.selectNode(event, nodeId);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const interactions = {
|
|
60
|
+
handleExpansion,
|
|
61
|
+
handleSelection
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
interactions,
|
|
65
|
+
status
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
exports.useTreeItem2Utils = useTreeItem2Utils;
|
package/node/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-tree-view v7.0.0-beta.
|
|
2
|
+
* @mui/x-tree-view v7.0.0-beta.7
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -19,18 +19,6 @@ Object.defineProperty(exports, "unstable_resetCleanupTracking", {
|
|
|
19
19
|
return _useInstanceEventHandler.unstable_resetCleanupTracking;
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
|
-
var _TreeItem = require("./TreeItem");
|
|
23
|
-
Object.keys(_TreeItem).forEach(function (key) {
|
|
24
|
-
if (key === "default" || key === "__esModule") return;
|
|
25
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
26
|
-
if (key in exports && exports[key] === _TreeItem[key]) return;
|
|
27
|
-
Object.defineProperty(exports, key, {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
get: function () {
|
|
30
|
-
return _TreeItem[key];
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
22
|
var _TreeView = require("./TreeView");
|
|
35
23
|
Object.keys(_TreeView).forEach(function (key) {
|
|
36
24
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -67,6 +55,66 @@ Object.keys(_RichTreeView).forEach(function (key) {
|
|
|
67
55
|
}
|
|
68
56
|
});
|
|
69
57
|
});
|
|
58
|
+
var _TreeItem = require("./TreeItem");
|
|
59
|
+
Object.keys(_TreeItem).forEach(function (key) {
|
|
60
|
+
if (key === "default" || key === "__esModule") return;
|
|
61
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
62
|
+
if (key in exports && exports[key] === _TreeItem[key]) return;
|
|
63
|
+
Object.defineProperty(exports, key, {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
get: function () {
|
|
66
|
+
return _TreeItem[key];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
var _TreeItem2 = require("./TreeItem2");
|
|
71
|
+
Object.keys(_TreeItem2).forEach(function (key) {
|
|
72
|
+
if (key === "default" || key === "__esModule") return;
|
|
73
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
74
|
+
if (key in exports && exports[key] === _TreeItem2[key]) return;
|
|
75
|
+
Object.defineProperty(exports, key, {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
get: function () {
|
|
78
|
+
return _TreeItem2[key];
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
var _useTreeItem = require("./useTreeItem2");
|
|
83
|
+
Object.keys(_useTreeItem).forEach(function (key) {
|
|
84
|
+
if (key === "default" || key === "__esModule") return;
|
|
85
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
86
|
+
if (key in exports && exports[key] === _useTreeItem[key]) return;
|
|
87
|
+
Object.defineProperty(exports, key, {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _useTreeItem[key];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
var _TreeItem2Icon = require("./TreeItem2Icon");
|
|
95
|
+
Object.keys(_TreeItem2Icon).forEach(function (key) {
|
|
96
|
+
if (key === "default" || key === "__esModule") return;
|
|
97
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
98
|
+
if (key in exports && exports[key] === _TreeItem2Icon[key]) return;
|
|
99
|
+
Object.defineProperty(exports, key, {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function () {
|
|
102
|
+
return _TreeItem2Icon[key];
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
var _TreeItem2Provider = require("./TreeItem2Provider");
|
|
107
|
+
Object.keys(_TreeItem2Provider).forEach(function (key) {
|
|
108
|
+
if (key === "default" || key === "__esModule") return;
|
|
109
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
110
|
+
if (key in exports && exports[key] === _TreeItem2Provider[key]) return;
|
|
111
|
+
Object.defineProperty(exports, key, {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
get: function () {
|
|
114
|
+
return _TreeItem2Provider[key];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
70
118
|
var _useInstanceEventHandler = require("./internals/hooks/useInstanceEventHandler");
|
|
71
119
|
var _models = require("./models");
|
|
72
120
|
Object.keys(_models).forEach(function (key) {
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const UNINITIALIZED = {};
|
|
11
|
-
|
|
12
|
-
// See https://github.com/facebook/react/issues/14490 for when to use this.
|
|
13
|
-
function useLazyRef(init, initArg) {
|
|
14
|
-
const ref = React.useRef(UNINITIALIZED);
|
|
15
|
-
if (ref.current === UNINITIALIZED) {
|
|
16
|
-
ref.current = init(initArg);
|
|
7
|
+
Object.defineProperty(exports, "useLazyRef", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _useLazyRef.default;
|
|
17
11
|
}
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
});
|
|
13
|
+
var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
React.useEffect(fn, EMPTY);
|
|
14
|
-
/* eslint-enable react-hooks/exhaustive-deps */
|
|
15
|
-
}
|
|
7
|
+
Object.defineProperty(exports, "useOnMount", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _useOnMount.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _useOnMount = _interopRequireDefault(require("@mui/utils/useOnMount"));
|
|
@@ -1,43 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
'use client';
|
|
3
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class Timeout {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.currentId = null;
|
|
14
|
-
this.clear = () => {
|
|
15
|
-
if (this.currentId !== null) {
|
|
16
|
-
clearTimeout(this.currentId);
|
|
17
|
-
this.currentId = null;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
this.disposeEffect = () => {
|
|
21
|
-
return this.clear;
|
|
22
|
-
};
|
|
7
|
+
Object.defineProperty(exports, "useTimeout", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _useTimeout.default;
|
|
23
11
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Executes `fn` after `delay`, clearing any previously scheduled call.
|
|
29
|
-
*/
|
|
30
|
-
start(delay, fn) {
|
|
31
|
-
this.clear();
|
|
32
|
-
this.currentId = setTimeout(() => {
|
|
33
|
-
this.currentId = null;
|
|
34
|
-
fn();
|
|
35
|
-
}, delay);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.Timeout = Timeout;
|
|
39
|
-
function useTimeout() {
|
|
40
|
-
const timeout = (0, _useLazyRef.useLazyRef)(Timeout.create).current;
|
|
41
|
-
(0, _useOnMount.useOnMount)(timeout.disposeEffect);
|
|
42
|
-
return timeout;
|
|
43
|
-
}
|
|
12
|
+
});
|
|
13
|
+
var _useTimeout = _interopRequireDefault(require("@mui/utils/useTimeout"));
|
|
@@ -16,42 +16,42 @@ const useTreeViewExpansion = ({
|
|
|
16
16
|
params,
|
|
17
17
|
models
|
|
18
18
|
}) => {
|
|
19
|
-
const
|
|
20
|
-
params.
|
|
21
|
-
models.
|
|
19
|
+
const setExpandedItems = (event, value) => {
|
|
20
|
+
params.onExpandedItemsChange?.(event, value);
|
|
21
|
+
models.expandedItems.setControlledValue(value);
|
|
22
22
|
};
|
|
23
23
|
const isNodeExpanded = React.useCallback(nodeId => {
|
|
24
|
-
return Array.isArray(models.
|
|
25
|
-
}, [models.
|
|
24
|
+
return Array.isArray(models.expandedItems.value) ? models.expandedItems.value.indexOf(nodeId) !== -1 : false;
|
|
25
|
+
}, [models.expandedItems.value]);
|
|
26
26
|
const isNodeExpandable = React.useCallback(nodeId => !!instance.getNode(nodeId)?.expandable, [instance]);
|
|
27
|
-
const toggleNodeExpansion = (0, _useEventCallback.default)((event,
|
|
28
|
-
if (
|
|
27
|
+
const toggleNodeExpansion = (0, _useEventCallback.default)((event, itemId) => {
|
|
28
|
+
if (itemId == null) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
const isExpandedBefore = models.
|
|
31
|
+
const isExpandedBefore = models.expandedItems.value.indexOf(itemId) !== -1;
|
|
32
32
|
let newExpanded;
|
|
33
33
|
if (isExpandedBefore) {
|
|
34
|
-
newExpanded = models.
|
|
34
|
+
newExpanded = models.expandedItems.value.filter(id => id !== itemId);
|
|
35
35
|
} else {
|
|
36
|
-
newExpanded = [
|
|
36
|
+
newExpanded = [itemId].concat(models.expandedItems.value);
|
|
37
37
|
}
|
|
38
|
-
if (params.
|
|
39
|
-
params.
|
|
38
|
+
if (params.onItemExpansionToggle) {
|
|
39
|
+
params.onItemExpansionToggle(event, itemId, !isExpandedBefore);
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
setExpandedItems(event, newExpanded);
|
|
42
42
|
});
|
|
43
43
|
const expandAllSiblings = (event, nodeId) => {
|
|
44
44
|
const node = instance.getNode(nodeId);
|
|
45
45
|
const siblings = instance.getChildrenIds(node.parentId);
|
|
46
46
|
const diff = siblings.filter(child => instance.isNodeExpandable(child) && !instance.isNodeExpanded(child));
|
|
47
|
-
const newExpanded = models.
|
|
47
|
+
const newExpanded = models.expandedItems.value.concat(diff);
|
|
48
48
|
if (diff.length > 0) {
|
|
49
|
-
if (params.
|
|
49
|
+
if (params.onItemExpansionToggle) {
|
|
50
50
|
diff.forEach(newlyExpandedNodeId => {
|
|
51
|
-
params.
|
|
51
|
+
params.onItemExpansionToggle(event, newlyExpandedNodeId, true);
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
setExpandedItems(event, newExpanded);
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
(0, _useTreeView.populateInstance)(instance, {
|
|
@@ -63,17 +63,17 @@ const useTreeViewExpansion = ({
|
|
|
63
63
|
};
|
|
64
64
|
exports.useTreeViewExpansion = useTreeViewExpansion;
|
|
65
65
|
useTreeViewExpansion.models = {
|
|
66
|
-
|
|
67
|
-
getDefaultValue: params => params.
|
|
66
|
+
expandedItems: {
|
|
67
|
+
getDefaultValue: params => params.defaultExpandedItems
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
const DEFAULT_EXPANDED_NODES = [];
|
|
71
71
|
useTreeViewExpansion.getDefaultizedParams = params => (0, _extends2.default)({}, params, {
|
|
72
|
-
|
|
72
|
+
defaultExpandedItems: params.defaultExpandedItems ?? DEFAULT_EXPANDED_NODES
|
|
73
73
|
});
|
|
74
74
|
useTreeViewExpansion.params = {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
expandedItems: true,
|
|
76
|
+
defaultExpandedItems: true,
|
|
77
|
+
onExpandedItemsChange: true,
|
|
78
|
+
onItemExpansionToggle: true
|
|
79
79
|
};
|
|
@@ -37,31 +37,31 @@ const useTreeViewFocus = ({
|
|
|
37
37
|
const node = instance.getNode(nodeId);
|
|
38
38
|
return node && (node.parentId == null || instance.isNodeExpanded(node.parentId));
|
|
39
39
|
};
|
|
40
|
-
const
|
|
40
|
+
const focusItem = (0, _useEventCallback.default)((event, nodeId) => {
|
|
41
41
|
// if we receive a nodeId, and it is visible, the focus will be set to it
|
|
42
42
|
if (nodeId && isNodeVisible(nodeId)) {
|
|
43
43
|
if (!isTreeViewFocused()) {
|
|
44
44
|
instance.focusRoot();
|
|
45
45
|
}
|
|
46
46
|
setFocusedNodeId(nodeId);
|
|
47
|
-
if (params.
|
|
48
|
-
params.
|
|
47
|
+
if (params.onItemFocus) {
|
|
48
|
+
params.onItemFocus(event, nodeId);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
const focusDefaultNode = (0, _useEventCallback.default)(event => {
|
|
53
53
|
let nodeToFocusId;
|
|
54
|
-
if (Array.isArray(models.
|
|
55
|
-
nodeToFocusId = models.
|
|
56
|
-
} else if (models.
|
|
57
|
-
nodeToFocusId = models.
|
|
54
|
+
if (Array.isArray(models.selectedItems.value)) {
|
|
55
|
+
nodeToFocusId = models.selectedItems.value.find(isNodeVisible);
|
|
56
|
+
} else if (models.selectedItems.value != null && isNodeVisible(models.selectedItems.value)) {
|
|
57
|
+
nodeToFocusId = models.selectedItems.value;
|
|
58
58
|
}
|
|
59
59
|
if (nodeToFocusId == null) {
|
|
60
60
|
nodeToFocusId = instance.getNavigableChildrenIds(null)[0];
|
|
61
61
|
}
|
|
62
62
|
setFocusedNodeId(nodeToFocusId);
|
|
63
|
-
if (params.
|
|
64
|
-
params.
|
|
63
|
+
if (params.onItemFocus) {
|
|
64
|
+
params.onItemFocus(event, nodeToFocusId);
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
const focusRoot = (0, _useEventCallback.default)(() => {
|
|
@@ -71,12 +71,12 @@ const useTreeViewFocus = ({
|
|
|
71
71
|
});
|
|
72
72
|
(0, _useTreeView.populateInstance)(instance, {
|
|
73
73
|
isNodeFocused,
|
|
74
|
-
|
|
74
|
+
focusItem,
|
|
75
75
|
focusRoot,
|
|
76
76
|
focusDefaultNode
|
|
77
77
|
});
|
|
78
78
|
(0, _useTreeView.populatePublicAPI)(publicAPI, {
|
|
79
|
-
|
|
79
|
+
focusItem
|
|
80
80
|
});
|
|
81
81
|
(0, _useInstanceEventHandler.useInstanceEventHandler)(instance, 'removeNode', ({
|
|
82
82
|
id
|
|
@@ -114,5 +114,5 @@ useTreeViewFocus.getInitialState = () => ({
|
|
|
114
114
|
focusedNodeId: null
|
|
115
115
|
});
|
|
116
116
|
useTreeViewFocus.params = {
|
|
117
|
-
|
|
117
|
+
onItemFocus: true
|
|
118
118
|
};
|
|
@@ -80,15 +80,15 @@ const useTreeViewJSXNodes = ({
|
|
|
80
80
|
exports.useTreeViewJSXNodes = useTreeViewJSXNodes;
|
|
81
81
|
const useTreeViewJSXNodesItemPlugin = ({
|
|
82
82
|
props,
|
|
83
|
-
|
|
83
|
+
rootRef,
|
|
84
|
+
contentRef
|
|
84
85
|
}) => {
|
|
85
86
|
const {
|
|
86
87
|
children,
|
|
87
88
|
disabled = false,
|
|
88
89
|
label,
|
|
89
90
|
nodeId,
|
|
90
|
-
id
|
|
91
|
-
ContentProps: inContentProps
|
|
91
|
+
id
|
|
92
92
|
} = props;
|
|
93
93
|
const {
|
|
94
94
|
instance
|
|
@@ -101,8 +101,9 @@ const useTreeViewJSXNodesItemPlugin = ({
|
|
|
101
101
|
};
|
|
102
102
|
const expandable = isExpandable(children);
|
|
103
103
|
const [treeItemElement, setTreeItemElement] = React.useState(null);
|
|
104
|
-
const
|
|
105
|
-
const
|
|
104
|
+
const pluginContentRef = React.useRef(null);
|
|
105
|
+
const handleRootRef = (0, _useForkRef.default)(setTreeItemElement, rootRef);
|
|
106
|
+
const handleContentRef = (0, _useForkRef.default)(pluginContentRef, contentRef);
|
|
106
107
|
const descendant = React.useMemo(() => ({
|
|
107
108
|
element: treeItemElement,
|
|
108
109
|
id: nodeId
|
|
@@ -128,22 +129,21 @@ const useTreeViewJSXNodesItemPlugin = ({
|
|
|
128
129
|
}, [instance, parentId, index, nodeId, expandable, disabled, id]);
|
|
129
130
|
React.useEffect(() => {
|
|
130
131
|
if (label) {
|
|
131
|
-
return instance.mapFirstCharFromJSX(nodeId, (
|
|
132
|
+
return instance.mapFirstCharFromJSX(nodeId, (pluginContentRef.current?.textContent ?? '').substring(0, 1).toLowerCase());
|
|
132
133
|
}
|
|
133
134
|
return undefined;
|
|
134
135
|
}, [instance, nodeId, label]);
|
|
135
136
|
return {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
ref: contentRef
|
|
139
|
-
})
|
|
140
|
-
}),
|
|
141
|
-
ref: handleRef,
|
|
142
|
-
wrapItem: item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_DescendantProvider.DescendantProvider, {
|
|
143
|
-
id: nodeId,
|
|
144
|
-
children: item
|
|
145
|
-
})
|
|
137
|
+
contentRef: handleContentRef,
|
|
138
|
+
rootRef: handleRootRef
|
|
146
139
|
};
|
|
147
140
|
};
|
|
148
141
|
useTreeViewJSXNodes.itemPlugin = useTreeViewJSXNodesItemPlugin;
|
|
142
|
+
useTreeViewJSXNodes.wrapItem = ({
|
|
143
|
+
children,
|
|
144
|
+
nodeId
|
|
145
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_DescendantProvider.DescendantProvider, {
|
|
146
|
+
id: nodeId,
|
|
147
|
+
children: children
|
|
148
|
+
});
|
|
149
149
|
useTreeViewJSXNodes.params = {};
|