@mui/x-tree-view-pro 8.0.0-alpha.11 → 8.0.0-alpha.13
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 +460 -1
- package/RichTreeViewPro/RichTreeViewPro.d.ts +4 -4
- package/RichTreeViewPro/RichTreeViewPro.js +81 -75
- package/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +2 -3
- package/RichTreeViewPro/RichTreeViewPro.plugins.js +9 -3
- package/RichTreeViewPro/RichTreeViewPro.types.d.ts +38 -38
- package/RichTreeViewPro/RichTreeViewPro.types.js +5 -1
- package/RichTreeViewPro/index.d.ts +3 -3
- package/RichTreeViewPro/index.js +27 -3
- package/RichTreeViewPro/richTreeViewProClasses.d.ts +3 -3
- package/RichTreeViewPro/richTreeViewProClasses.js +13 -5
- package/esm/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
- package/{node → esm}/RichTreeViewPro/RichTreeViewPro.js +75 -81
- package/esm/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.plugins.js +5 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.types.js +1 -0
- package/esm/RichTreeViewPro/index.d.ts +3 -0
- package/esm/RichTreeViewPro/index.js +3 -0
- package/esm/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
- package/esm/RichTreeViewPro/richTreeViewProClasses.js +6 -0
- package/esm/index.d.ts +12 -0
- package/esm/index.js +22 -0
- package/esm/internals/index.d.ts +1 -0
- package/esm/internals/index.js +1 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/index.js +1 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
- package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +10 -19
- package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +26 -35
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +179 -0
- package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +4 -11
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +132 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +1 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
- package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +21 -31
- package/esm/internals/utils/releaseInfo.d.ts +1 -0
- package/esm/internals/utils/releaseInfo.js +13 -0
- package/esm/internals/zero-styled/index.d.ts +3 -0
- package/esm/internals/zero-styled/index.js +7 -0
- package/esm/package.json +1 -0
- package/esm/themeAugmentation/components.d.ts +11 -0
- package/esm/themeAugmentation/index.d.ts +3 -0
- package/esm/themeAugmentation/index.js +0 -0
- package/esm/themeAugmentation/overrides.d.ts +12 -0
- package/esm/themeAugmentation/props.d.ts +10 -0
- package/index.d.ts +2 -2
- package/index.js +147 -15
- package/internals/index.d.ts +1 -1
- package/internals/index.js +12 -1
- package/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -2
- package/internals/plugins/useTreeViewItemsReordering/index.js +12 -1
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +2 -2
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +1 -1
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +19 -10
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +35 -26
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +134 -134
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +11 -4
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +108 -114
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +5 -1
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +28 -15
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +31 -21
- package/internals/utils/releaseInfo.d.ts +1 -1
- package/internals/utils/releaseInfo.js +13 -5
- package/internals/zero-styled/index.d.ts +1 -1
- package/internals/zero-styled/index.js +14 -4
- package/modern/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
- package/modern/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
- package/modern/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
- package/modern/RichTreeViewPro/index.d.ts +3 -0
- package/modern/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
- package/modern/index.d.ts +12 -0
- package/modern/index.js +1 -1
- package/modern/internals/index.d.ts +1 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +179 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +132 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
- package/modern/internals/utils/releaseInfo.d.ts +1 -0
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/internals/zero-styled/index.d.ts +3 -0
- package/modern/package.json +1 -0
- package/modern/themeAugmentation/components.d.ts +11 -0
- package/modern/themeAugmentation/index.d.ts +3 -0
- package/modern/themeAugmentation/overrides.d.ts +12 -0
- package/modern/themeAugmentation/props.d.ts +10 -0
- package/package.json +40 -10
- package/themeAugmentation/components.d.ts +1 -3
- package/themeAugmentation/index.d.ts +1 -1
- package/themeAugmentation/index.js +1 -0
- package/themeAugmentation/overrides.d.ts +2 -3
- package/themeAugmentation/props.d.ts +2 -4
- package/tsconfig.build.tsbuildinfo +1 -0
- package/RichTreeViewPro/package.json +0 -6
- package/internals/package.json +0 -6
- package/node/RichTreeViewPro/RichTreeViewPro.plugins.js +0 -11
- package/node/RichTreeViewPro/RichTreeViewPro.types.js +0 -5
- package/node/RichTreeViewPro/index.js +0 -27
- package/node/RichTreeViewPro/richTreeViewProClasses.js +0 -14
- package/node/index.js +0 -154
- package/node/internals/index.js +0 -12
- package/node/internals/plugins/useTreeViewItemsReordering/index.js +0 -12
- package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -5
- package/node/internals/utils/releaseInfo.js +0 -21
- package/node/internals/zero-styled/index.js +0 -17
- package/node/themeAugmentation/index.js +0 -1
- package/themeAugmentation/package.json +0 -6
|
@@ -1,24 +1,37 @@
|
|
|
1
1
|
import { TreeViewUsedStore, UseTreeViewItemsState } from '@mui/x-tree-view/internals';
|
|
2
2
|
import { TreeViewItemId, TreeViewItemsReorderingAction } from '@mui/x-tree-view/models';
|
|
3
|
-
import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, UseTreeViewItemsReorderingSignature } from
|
|
3
|
+
import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Checks if the item with the id itemIdB is an ancestor of the item with the id itemIdA.
|
|
6
6
|
*/
|
|
7
7
|
export declare const isAncestor: (store: TreeViewUsedStore<UseTreeViewItemsReorderingSignature>, itemIdA: string, itemIdB: string) => boolean;
|
|
8
8
|
interface GetNewPositionParams {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
itemChildrenIndentation: string | number;
|
|
10
|
+
validActions: TreeViewItemItemReorderingValidActions;
|
|
11
|
+
targetHeight: number;
|
|
12
|
+
targetDepth: number;
|
|
13
|
+
cursorY: number;
|
|
14
|
+
cursorX: number;
|
|
15
|
+
contentElement: HTMLDivElement;
|
|
16
16
|
}
|
|
17
|
-
export declare const chooseActionToApply: ({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
export declare const chooseActionToApply: ({
|
|
18
|
+
itemChildrenIndentation,
|
|
19
|
+
validActions,
|
|
20
|
+
targetHeight,
|
|
21
|
+
targetDepth,
|
|
22
|
+
cursorX,
|
|
23
|
+
cursorY,
|
|
24
|
+
contentElement
|
|
25
|
+
}: GetNewPositionParams) => TreeViewItemsReorderingAction | null;
|
|
26
|
+
export declare const moveItemInTree: <R extends {}>({
|
|
27
|
+
itemToMoveId,
|
|
28
|
+
oldPosition,
|
|
29
|
+
newPosition,
|
|
30
|
+
prevState
|
|
31
|
+
}: {
|
|
32
|
+
itemToMoveId: TreeViewItemId;
|
|
33
|
+
oldPosition: TreeViewItemReorderPosition;
|
|
34
|
+
newPosition: TreeViewItemReorderPosition;
|
|
35
|
+
prevState: UseTreeViewItemsState<R>["items"];
|
|
23
36
|
}) => UseTreeViewItemsState<R>["items"];
|
|
24
|
-
export {};
|
|
37
|
+
export {};
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.moveItemInTree = exports.isAncestor = exports.chooseActionToApply = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _internals = require("@mui/x-tree-view/internals");
|
|
3
10
|
/**
|
|
4
11
|
* Checks if the item with the id itemIdB is an ancestor of the item with the id itemIdA.
|
|
5
12
|
*/
|
|
6
|
-
|
|
7
|
-
const itemMetaA = selectorItemMeta(store.value, itemIdA);
|
|
13
|
+
const isAncestor = (store, itemIdA, itemIdB) => {
|
|
14
|
+
const itemMetaA = (0, _internals.selectorItemMeta)(store.value, itemIdA);
|
|
8
15
|
if (itemMetaA.parentId === itemIdB) {
|
|
9
16
|
return true;
|
|
10
17
|
}
|
|
@@ -19,6 +26,7 @@ export const isAncestor = (store, itemIdA, itemIdB) => {
|
|
|
19
26
|
* @param {string | null} itemChildrenIndentation The indentation as passed to the `itemChildrenIndentation` prop.
|
|
20
27
|
* @param {HTMLElement} contentElement The DOM element to which the indentation will be applied.
|
|
21
28
|
*/
|
|
29
|
+
exports.isAncestor = isAncestor;
|
|
22
30
|
const parseItemChildrenIndentation = (itemChildrenIndentation, contentElement) => {
|
|
23
31
|
if (typeof itemChildrenIndentation === 'number') {
|
|
24
32
|
return itemChildrenIndentation;
|
|
@@ -37,7 +45,7 @@ const parseItemChildrenIndentation = (itemChildrenIndentation, contentElement) =
|
|
|
37
45
|
contentElement.removeChild(tempElement);
|
|
38
46
|
return value;
|
|
39
47
|
};
|
|
40
|
-
|
|
48
|
+
const chooseActionToApply = ({
|
|
41
49
|
itemChildrenIndentation,
|
|
42
50
|
validActions,
|
|
43
51
|
targetHeight,
|
|
@@ -82,23 +90,24 @@ export const chooseActionToApply = ({
|
|
|
82
90
|
}
|
|
83
91
|
return action;
|
|
84
92
|
};
|
|
85
|
-
|
|
93
|
+
exports.chooseActionToApply = chooseActionToApply;
|
|
94
|
+
const moveItemInTree = ({
|
|
86
95
|
itemToMoveId,
|
|
87
96
|
oldPosition,
|
|
88
97
|
newPosition,
|
|
89
98
|
prevState
|
|
90
99
|
}) => {
|
|
91
100
|
const itemToMoveMeta = prevState.itemMetaLookup[itemToMoveId];
|
|
92
|
-
const oldParentId = oldPosition.parentId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
93
|
-
const newParentId = newPosition.parentId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
101
|
+
const oldParentId = oldPosition.parentId ?? _internals.TREE_VIEW_ROOT_PARENT_ID;
|
|
102
|
+
const newParentId = newPosition.parentId ?? _internals.TREE_VIEW_ROOT_PARENT_ID;
|
|
94
103
|
|
|
95
104
|
// 1. Update the `itemOrderedChildrenIds`.
|
|
96
|
-
const itemOrderedChildrenIds =
|
|
105
|
+
const itemOrderedChildrenIds = (0, _extends2.default)({}, prevState.itemOrderedChildrenIdsLookup);
|
|
97
106
|
if (oldParentId === newParentId) {
|
|
98
107
|
const updatedChildren = [...itemOrderedChildrenIds[oldParentId]];
|
|
99
108
|
updatedChildren.splice(oldPosition.index, 1);
|
|
100
109
|
updatedChildren.splice(newPosition.index, 0, itemToMoveId);
|
|
101
|
-
itemOrderedChildrenIds[itemToMoveMeta.parentId ?? TREE_VIEW_ROOT_PARENT_ID] = updatedChildren;
|
|
110
|
+
itemOrderedChildrenIds[itemToMoveMeta.parentId ?? _internals.TREE_VIEW_ROOT_PARENT_ID] = updatedChildren;
|
|
102
111
|
} else {
|
|
103
112
|
const updatedOldParentChildren = [...itemOrderedChildrenIds[oldParentId]];
|
|
104
113
|
updatedOldParentChildren.splice(oldPosition.index, 1);
|
|
@@ -109,50 +118,51 @@ export const moveItemInTree = ({
|
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
// 2. Update the `itemChildrenIndexes`
|
|
112
|
-
const itemChildrenIndexes =
|
|
113
|
-
itemChildrenIndexes[oldParentId] = buildSiblingIndexes(itemOrderedChildrenIds[oldParentId]);
|
|
121
|
+
const itemChildrenIndexes = (0, _extends2.default)({}, prevState.itemChildrenIndexesLookup);
|
|
122
|
+
itemChildrenIndexes[oldParentId] = (0, _internals.buildSiblingIndexes)(itemOrderedChildrenIds[oldParentId]);
|
|
114
123
|
if (newParentId !== oldParentId) {
|
|
115
|
-
itemChildrenIndexes[newParentId] = buildSiblingIndexes(itemOrderedChildrenIds[newParentId]);
|
|
124
|
+
itemChildrenIndexes[newParentId] = (0, _internals.buildSiblingIndexes)(itemOrderedChildrenIds[newParentId]);
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
// 3. Update the `itemMetaLookup`
|
|
119
|
-
const itemMetaLookup =
|
|
128
|
+
const itemMetaLookup = (0, _extends2.default)({}, prevState.itemMetaLookup);
|
|
120
129
|
|
|
121
130
|
// 3.1 Update the `expandable` property of the old and the new parent
|
|
122
131
|
function updateExpandable(itemId) {
|
|
123
132
|
const isExpandable = itemOrderedChildrenIds[itemId].length > 0;
|
|
124
133
|
if (itemMetaLookup[itemId].expandable !== isExpandable) {
|
|
125
|
-
itemMetaLookup[itemId] =
|
|
134
|
+
itemMetaLookup[itemId] = (0, _extends2.default)({}, itemMetaLookup[itemId], {
|
|
126
135
|
expandable: isExpandable
|
|
127
136
|
});
|
|
128
137
|
}
|
|
129
138
|
}
|
|
130
|
-
if (oldParentId !== TREE_VIEW_ROOT_PARENT_ID && oldParentId !== newParentId) {
|
|
139
|
+
if (oldParentId !== _internals.TREE_VIEW_ROOT_PARENT_ID && oldParentId !== newParentId) {
|
|
131
140
|
updateExpandable(oldParentId);
|
|
132
141
|
}
|
|
133
|
-
if (newParentId !== TREE_VIEW_ROOT_PARENT_ID && newParentId !== oldParentId) {
|
|
142
|
+
if (newParentId !== _internals.TREE_VIEW_ROOT_PARENT_ID && newParentId !== oldParentId) {
|
|
134
143
|
updateExpandable(newParentId);
|
|
135
144
|
}
|
|
136
145
|
|
|
137
146
|
// 3.2 Update the `parentId` and `depth` properties of the item to move
|
|
138
147
|
// The depth is always defined because drag&drop is only usable with Rich Tree View components.
|
|
139
148
|
const itemToMoveDepth = newPosition.parentId == null ? 0 : itemMetaLookup[newParentId].depth + 1;
|
|
140
|
-
itemMetaLookup[itemToMoveId] =
|
|
149
|
+
itemMetaLookup[itemToMoveId] = (0, _extends2.default)({}, itemToMoveMeta, {
|
|
141
150
|
parentId: newPosition.parentId,
|
|
142
151
|
depth: itemToMoveDepth
|
|
143
152
|
});
|
|
144
153
|
|
|
145
154
|
// 3.3 Update the depth of all the children of the item to move
|
|
146
155
|
const updateItemDepth = (itemId, depth) => {
|
|
147
|
-
itemMetaLookup[itemId] =
|
|
156
|
+
itemMetaLookup[itemId] = (0, _extends2.default)({}, itemMetaLookup[itemId], {
|
|
148
157
|
depth
|
|
149
158
|
});
|
|
150
159
|
itemOrderedChildrenIds[itemId]?.forEach(childId => updateItemDepth(childId, depth + 1));
|
|
151
160
|
};
|
|
152
161
|
itemOrderedChildrenIds[itemToMoveId]?.forEach(childId => updateItemDepth(childId, itemToMoveDepth + 1));
|
|
153
|
-
return
|
|
162
|
+
return (0, _extends2.default)({}, prevState, {
|
|
154
163
|
itemOrderedChildrenIdsLookup: itemOrderedChildrenIds,
|
|
155
164
|
itemChildrenIndexesLookup: itemChildrenIndexes,
|
|
156
165
|
itemMetaLookup
|
|
157
166
|
});
|
|
158
|
-
};
|
|
167
|
+
};
|
|
168
|
+
exports.moveItemInTree = moveItemInTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getReleaseInfo: () => any;
|
|
1
|
+
export declare const getReleaseInfo: () => any;
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getReleaseInfo = void 0;
|
|
8
|
+
var _ponyfillGlobal = _interopRequireDefault(require("@mui/utils/ponyfillGlobal"));
|
|
9
|
+
const getReleaseInfo = () => {
|
|
10
|
+
const releaseInfo = "MTc0MDY5NzIwMDAwMA==";
|
|
4
11
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
12
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
13
|
// eslint-disable-next-line no-useless-concat
|
|
7
14
|
if (releaseInfo === '__RELEASE' + '_INFO__') {
|
|
8
15
|
// eslint-disable-next-line no-underscore-dangle
|
|
9
|
-
return
|
|
16
|
+
return _ponyfillGlobal.default.__MUI_RELEASE_INFO__;
|
|
10
17
|
}
|
|
11
18
|
}
|
|
12
19
|
return releaseInfo;
|
|
13
|
-
};
|
|
20
|
+
};
|
|
21
|
+
exports.getReleaseInfo = getReleaseInfo;
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
export { styled } from '@mui/material/styles';
|
|
1
|
+
"use strict";
|
|
3
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createUseThemeProps = createUseThemeProps;
|
|
7
|
+
Object.defineProperty(exports, "styled", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _styles.styled;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _styles = require("@mui/material/styles");
|
|
4
14
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5
|
-
|
|
6
|
-
return useThemeProps;
|
|
15
|
+
function createUseThemeProps(name) {
|
|
16
|
+
return _styles.useThemeProps;
|
|
7
17
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RichTreeViewProProps } from "./RichTreeViewPro.types.js";
|
|
3
|
+
export declare const RichTreeViewProRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
|
|
4
|
+
ownerState: RichTreeViewProProps<any, any>;
|
|
5
|
+
}, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, keyof React.ClassAttributes<HTMLUListElement> | keyof React.HTMLAttributes<HTMLUListElement>>, {}>;
|
|
6
|
+
type RichTreeViewProComponent = (<R extends {}, Multiple extends boolean | undefined = undefined>(props: RichTreeViewProProps<R, Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
|
|
7
|
+
propTypes?: any;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* Demos:
|
|
12
|
+
*
|
|
13
|
+
* - [Tree View](https://mui.com/x/react-tree-view/)
|
|
14
|
+
*
|
|
15
|
+
* API:
|
|
16
|
+
*
|
|
17
|
+
* - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
|
|
18
|
+
*/
|
|
19
|
+
declare const RichTreeViewPro: RichTreeViewProComponent;
|
|
20
|
+
export { RichTreeViewPro };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UseTreeViewItemsParameters, UseTreeViewExpansionParameters, UseTreeViewSelectionParameters, UseTreeViewFocusParameters, UseTreeViewIconsParameters, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewCorePluginParameters, UseTreeViewLabelParameters } from '@mui/x-tree-view/internals';
|
|
2
|
+
import { UseTreeViewItemsReorderingParameters } from "../internals/plugins/useTreeViewItemsReordering/index.js";
|
|
3
|
+
export declare const RICH_TREE_VIEW_PRO_PLUGINS: readonly [import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewItemsSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewExpansionSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewSelectionSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewFocusSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewKeyboardNavigationSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewIconsSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("@mui/x-tree-view/internals").UseTreeViewLabelSignature>, import("@mui/x-tree-view/internals").TreeViewPlugin<import("../internals").UseTreeViewItemsReorderingSignature>];
|
|
4
|
+
export type RichTreeViewProPluginSignatures = ConvertPluginsIntoSignatures<typeof RICH_TREE_VIEW_PRO_PLUGINS>;
|
|
5
|
+
export type RichTreeViewProPluginSlots = MergeSignaturesProperty<RichTreeViewProPluginSignatures, 'slots'>;
|
|
6
|
+
export type RichTreeViewProPluginSlotProps = MergeSignaturesProperty<RichTreeViewProPluginSignatures, 'slotProps'>;
|
|
7
|
+
export interface RichTreeViewProPluginParameters<R extends {}, Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, UseTreeViewItemsParameters<R>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewIconsParameters, UseTreeViewLabelParameters<R>, UseTreeViewItemsReorderingParameters {}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Theme } from '@mui/material/styles';
|
|
3
|
+
import { SxProps } from '@mui/system/styleFunctionSx';
|
|
4
|
+
import { SlotComponentProps } from '@mui/utils/types';
|
|
5
|
+
import { TreeViewPublicAPI, TreeViewExperimentalFeatures, RichTreeViewItemsSlots, RichTreeViewItemsSlotProps } from '@mui/x-tree-view/internals';
|
|
6
|
+
import { RichTreeViewProClasses } from "./richTreeViewProClasses.js";
|
|
7
|
+
import { RichTreeViewProPluginParameters, RichTreeViewProPluginSlotProps, RichTreeViewProPluginSlots, RichTreeViewProPluginSignatures } from "./RichTreeViewPro.plugins.js";
|
|
8
|
+
export interface RichTreeViewProSlots extends RichTreeViewProPluginSlots, RichTreeViewItemsSlots {
|
|
9
|
+
/**
|
|
10
|
+
* Element rendered at the root.
|
|
11
|
+
* @default RichTreeViewProRoot
|
|
12
|
+
*/
|
|
13
|
+
root?: React.ElementType;
|
|
14
|
+
}
|
|
15
|
+
export interface RichTreeViewProSlotProps<R extends {}, Multiple extends boolean | undefined> extends RichTreeViewProPluginSlotProps, RichTreeViewItemsSlotProps {
|
|
16
|
+
root?: SlotComponentProps<'ul', {}, RichTreeViewProProps<R, Multiple>>;
|
|
17
|
+
}
|
|
18
|
+
export type RichTreeViewProApiRef = React.RefObject<TreeViewPublicAPI<RichTreeViewProPluginSignatures> | undefined>;
|
|
19
|
+
export interface RichTreeViewProPropsBase extends React.HTMLAttributes<HTMLUListElement> {
|
|
20
|
+
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Override or extend the styles applied to the component.
|
|
23
|
+
*/
|
|
24
|
+
classes?: Partial<RichTreeViewProClasses>;
|
|
25
|
+
/**
|
|
26
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
27
|
+
*/
|
|
28
|
+
sx?: SxProps<Theme>;
|
|
29
|
+
}
|
|
30
|
+
export interface RichTreeViewProProps<R extends {}, Multiple extends boolean | undefined> extends RichTreeViewProPluginParameters<R, Multiple>, RichTreeViewProPropsBase {
|
|
31
|
+
/**
|
|
32
|
+
* Overridable component slots.
|
|
33
|
+
* @default {}
|
|
34
|
+
*/
|
|
35
|
+
slots?: RichTreeViewProSlots;
|
|
36
|
+
/**
|
|
37
|
+
* The props used for each component slot.
|
|
38
|
+
* @default {}
|
|
39
|
+
*/
|
|
40
|
+
slotProps?: RichTreeViewProSlotProps<R, Multiple>;
|
|
41
|
+
/**
|
|
42
|
+
* The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
|
|
43
|
+
*/
|
|
44
|
+
apiRef?: RichTreeViewProApiRef;
|
|
45
|
+
/**
|
|
46
|
+
* Unstable features, breaking changes might be introduced.
|
|
47
|
+
* For each feature, if the flag is not explicitly set to `true`,
|
|
48
|
+
* the feature will be fully disabled and any property / method call will not have any effect.
|
|
49
|
+
*/
|
|
50
|
+
experimentalFeatures?: TreeViewExperimentalFeatures<RichTreeViewProPluginSignatures>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface RichTreeViewProClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
}
|
|
5
|
+
export type RichTreeViewProClassKey = keyof RichTreeViewProClasses;
|
|
6
|
+
export declare function getRichTreeViewProUtilityClass(slot: string): string;
|
|
7
|
+
export declare const richTreeViewProClasses: RichTreeViewProClasses;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from '@mui/x-tree-view/SimpleTreeView';
|
|
2
|
+
export * from "./RichTreeViewPro/index.js";
|
|
3
|
+
export * from '@mui/x-tree-view/TreeItem';
|
|
4
|
+
export * from '@mui/x-tree-view/useTreeItem';
|
|
5
|
+
export * from '@mui/x-tree-view/TreeItemIcon';
|
|
6
|
+
export * from '@mui/x-tree-view/TreeItemProvider';
|
|
7
|
+
export * from '@mui/x-tree-view/TreeItemDragAndDropOverlay';
|
|
8
|
+
export * from '@mui/x-tree-view/TreeItemLabelInput';
|
|
9
|
+
export { unstable_resetCleanupTracking } from '@mui/x-tree-view/internals';
|
|
10
|
+
export * from '@mui/x-tree-view/models';
|
|
11
|
+
export * from '@mui/x-tree-view/icons';
|
|
12
|
+
export * from '@mui/x-tree-view/hooks';
|
package/modern/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseTreeViewItemsReorderingSignature } from "./plugins/useTreeViewItemsReordering/index.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { useTreeViewItemsReordering } from "./useTreeViewItemsReordering.js";
|
|
2
|
+
export type { UseTreeViewItemsReorderingSignature, UseTreeViewItemsReorderingParameters, UseTreeViewItemsReorderingDefaultizedParameters, TreeViewItemReorderPosition } from './useTreeViewItemsReordering.types';
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { TreeViewState } from '@mui/x-tree-view/internals';
|
|
2
|
+
import { UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get the items reordering state.
|
|
5
|
+
* @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
|
|
6
|
+
* @returns {TreeViewItemsReorderingState | null} The items reordering state.
|
|
7
|
+
*/
|
|
8
|
+
export declare const selectorItemsReordering: (state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
|
|
9
|
+
draggedItemId: string;
|
|
10
|
+
targetItemId: string;
|
|
11
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
12
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
13
|
+
} | null;
|
|
14
|
+
/**
|
|
15
|
+
* Get the properties of the dragged item.
|
|
16
|
+
* @param {TreeViewState<[UseTreeViewItemsSignature, UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
|
|
17
|
+
* @param {string} itemId The id of the item.
|
|
18
|
+
* @returns {TreeViewItemDraggedItemProperties | null} The properties of the dragged item if the current item is being dragged, `null` otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export declare const selectorItemsReorderingDraggedItemProperties: ((state: any, itemId: string) => {
|
|
21
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
22
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
|
|
23
|
+
targetDepth: number;
|
|
24
|
+
} | null) & {
|
|
25
|
+
clearCache: () => void;
|
|
26
|
+
resultsCount: () => number;
|
|
27
|
+
resetResultsCount: () => void;
|
|
28
|
+
} & {
|
|
29
|
+
resultFunc: (resultFuncArgs_0: {
|
|
30
|
+
draggedItemId: string;
|
|
31
|
+
targetItemId: string;
|
|
32
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
33
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
34
|
+
} | null, resultFuncArgs_1: {
|
|
35
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
36
|
+
}, resultFuncArgs_2: string) => {
|
|
37
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
38
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
|
|
39
|
+
targetDepth: number;
|
|
40
|
+
} | null;
|
|
41
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
42
|
+
draggedItemId: string;
|
|
43
|
+
targetItemId: string;
|
|
44
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
45
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
46
|
+
} | null, resultFuncArgs_1: {
|
|
47
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
48
|
+
}, resultFuncArgs_2: string) => {
|
|
49
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
50
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
|
|
51
|
+
targetDepth: number;
|
|
52
|
+
} | null) & {
|
|
53
|
+
clearCache: () => void;
|
|
54
|
+
resultsCount: () => number;
|
|
55
|
+
resetResultsCount: () => void;
|
|
56
|
+
};
|
|
57
|
+
lastResult: () => {
|
|
58
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
59
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
|
|
60
|
+
targetDepth: number;
|
|
61
|
+
} | null;
|
|
62
|
+
dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
|
|
63
|
+
draggedItemId: string;
|
|
64
|
+
targetItemId: string;
|
|
65
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
66
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
67
|
+
} | null, ((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("@mui/x-tree-view/internals").UseTreeViewItemsState<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties> & Partial<{}> & {
|
|
68
|
+
cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
|
|
69
|
+
}) => {
|
|
70
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
71
|
+
}) & {
|
|
72
|
+
clearCache: () => void;
|
|
73
|
+
resultsCount: () => number;
|
|
74
|
+
resetResultsCount: () => void;
|
|
75
|
+
} & {
|
|
76
|
+
resultFunc: (resultFuncArgs_0: {
|
|
77
|
+
disabledItemsFocusable: boolean;
|
|
78
|
+
itemModelLookup: {
|
|
79
|
+
[itemId: string]: import("@mui/x-tree-view").TreeViewBaseItem<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties>;
|
|
80
|
+
};
|
|
81
|
+
itemMetaLookup: {
|
|
82
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
83
|
+
};
|
|
84
|
+
itemOrderedChildrenIdsLookup: {
|
|
85
|
+
[parentItemId: string]: string[];
|
|
86
|
+
};
|
|
87
|
+
itemChildrenIndexesLookup: {
|
|
88
|
+
[parentItemId: string]: {
|
|
89
|
+
[itemId: string]: number;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
}) => {
|
|
93
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
94
|
+
};
|
|
95
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
96
|
+
disabledItemsFocusable: boolean;
|
|
97
|
+
itemModelLookup: {
|
|
98
|
+
[itemId: string]: import("@mui/x-tree-view").TreeViewBaseItem<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties>;
|
|
99
|
+
};
|
|
100
|
+
itemMetaLookup: {
|
|
101
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
102
|
+
};
|
|
103
|
+
itemOrderedChildrenIdsLookup: {
|
|
104
|
+
[parentItemId: string]: string[];
|
|
105
|
+
};
|
|
106
|
+
itemChildrenIndexesLookup: {
|
|
107
|
+
[parentItemId: string]: {
|
|
108
|
+
[itemId: string]: number;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
}) => {
|
|
112
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
113
|
+
}) & {
|
|
114
|
+
clearCache: () => void;
|
|
115
|
+
resultsCount: () => number;
|
|
116
|
+
resetResultsCount: () => void;
|
|
117
|
+
};
|
|
118
|
+
lastResult: () => {
|
|
119
|
+
[itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
|
|
120
|
+
};
|
|
121
|
+
dependencies: [import("@mui/x-tree-view/internals/utils/selectors").TreeViewRootSelector<import("@mui/x-tree-view/internals").UseTreeViewItemsSignature>];
|
|
122
|
+
recomputations: () => number;
|
|
123
|
+
resetRecomputations: () => void;
|
|
124
|
+
dependencyRecomputations: () => number;
|
|
125
|
+
resetDependencyRecomputations: () => void;
|
|
126
|
+
} & {
|
|
127
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
128
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
129
|
+
}, (_: any, itemId: string) => string];
|
|
130
|
+
recomputations: () => number;
|
|
131
|
+
resetRecomputations: () => void;
|
|
132
|
+
dependencyRecomputations: () => number;
|
|
133
|
+
resetDependencyRecomputations: () => void;
|
|
134
|
+
} & {
|
|
135
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
136
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Check if the current item is a valid target for the dragged item.
|
|
140
|
+
* @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
|
|
141
|
+
* @param {string} itemId The id of the item.
|
|
142
|
+
* @returns {boolean} `true` if the current item is a valid target for the dragged item, `false` otherwise.
|
|
143
|
+
*/
|
|
144
|
+
export declare const selectorItemsReorderingIsValidTarget: ((state: any, itemId: string) => boolean | null) & {
|
|
145
|
+
clearCache: () => void;
|
|
146
|
+
resultsCount: () => number;
|
|
147
|
+
resetResultsCount: () => void;
|
|
148
|
+
} & {
|
|
149
|
+
resultFunc: (resultFuncArgs_0: {
|
|
150
|
+
draggedItemId: string;
|
|
151
|
+
targetItemId: string;
|
|
152
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
153
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
154
|
+
} | null, resultFuncArgs_1: string) => boolean | null;
|
|
155
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
156
|
+
draggedItemId: string;
|
|
157
|
+
targetItemId: string;
|
|
158
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
159
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
160
|
+
} | null, resultFuncArgs_1: string) => boolean | null) & {
|
|
161
|
+
clearCache: () => void;
|
|
162
|
+
resultsCount: () => number;
|
|
163
|
+
resetResultsCount: () => void;
|
|
164
|
+
};
|
|
165
|
+
lastResult: () => boolean | null;
|
|
166
|
+
dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
|
|
167
|
+
draggedItemId: string;
|
|
168
|
+
targetItemId: string;
|
|
169
|
+
newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
|
|
170
|
+
action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
|
|
171
|
+
} | null, (_: any, itemId: string) => string];
|
|
172
|
+
recomputations: () => number;
|
|
173
|
+
resetRecomputations: () => void;
|
|
174
|
+
dependencyRecomputations: () => number;
|
|
175
|
+
resetDependencyRecomputations: () => void;
|
|
176
|
+
} & {
|
|
177
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
178
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
179
|
+
};
|