@mui/x-tree-view-pro 8.0.0-alpha.11 → 8.0.0-alpha.12
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 +161 -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
|
@@ -4,135 +4,129 @@ import { TreeViewPluginSignature, UseTreeViewItemsSignature } from '@mui/x-tree-
|
|
|
4
4
|
import { TreeViewItemId, TreeViewItemsReorderingAction, TreeViewCancellableEventHandler } from '@mui/x-tree-view/models';
|
|
5
5
|
import { TreeItemDragAndDropOverlayProps } from '@mui/x-tree-view/TreeItemDragAndDropOverlay';
|
|
6
6
|
export interface UseTreeViewItemsReorderingInstance {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Check if a given item can be dragged.
|
|
9
|
+
* @param {TreeViewItemId} itemId The id of the item to check.
|
|
10
|
+
* @returns {boolean} `true` if the item can be dragged, `false` otherwise.
|
|
11
|
+
*/
|
|
12
|
+
canItemBeDragged: (itemId: TreeViewItemId) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Get the valid reordering action if a given item is the target of the ongoing reordering.
|
|
15
|
+
* @param {TreeViewItemId} itemId The id of the item to get the action of.
|
|
16
|
+
* @returns {TreeViewItemItemReorderingValidActions} The valid actions for the item.
|
|
17
|
+
*/
|
|
18
|
+
getDroppingTargetValidActions: (itemId: TreeViewItemId) => TreeViewItemItemReorderingValidActions;
|
|
19
|
+
/**
|
|
20
|
+
* Start a reordering for the given item.
|
|
21
|
+
* @param {TreeViewItemId} itemId The id of the item to start the reordering for.
|
|
22
|
+
*/
|
|
23
|
+
startDraggingItem: (itemId: TreeViewItemId) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Stop the reordering of a given item.
|
|
26
|
+
* @param {TreeViewItemId} itemId The id of the item to stop the reordering for.
|
|
27
|
+
*/
|
|
28
|
+
stopDraggingItem: (itemId: TreeViewItemId) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Set the new target item for the ongoing reordering.
|
|
31
|
+
* The action will be determined based on the position of the cursor inside the target and the valid actions for this target.
|
|
32
|
+
* @param {object} params The params describing the new target item.
|
|
33
|
+
* @param {TreeViewItemId} params.itemId The id of the new target item.
|
|
34
|
+
* @param {TreeViewItemItemReorderingValidActions} params.validActions The valid actions for the new target item.
|
|
35
|
+
* @param {number} params.targetHeight The height of the target item.
|
|
36
|
+
* @param {number} params.cursorY The Y coordinate of the mouse cursor.
|
|
37
|
+
* @param {number} params.cursorX The X coordinate of the mouse cursor.
|
|
38
|
+
* @param {HTMLDivElement} params.contentElement The DOM element rendered for the content slot.
|
|
39
|
+
*/
|
|
40
|
+
setDragTargetItem: (params: {
|
|
41
|
+
itemId: TreeViewItemId;
|
|
42
|
+
validActions: TreeViewItemItemReorderingValidActions;
|
|
43
|
+
targetHeight: number;
|
|
44
|
+
cursorY: number;
|
|
45
|
+
cursorX: number;
|
|
46
|
+
contentElement: HTMLDivElement;
|
|
47
|
+
}) => void;
|
|
48
48
|
}
|
|
49
49
|
export interface TreeViewItemReorderPosition {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
parentId: string | null;
|
|
51
|
+
index: number;
|
|
52
52
|
}
|
|
53
|
-
export type TreeViewItemItemReorderingValidActions = {
|
|
54
|
-
[key in TreeViewItemsReorderingAction]?: TreeViewItemReorderPosition;
|
|
55
|
-
};
|
|
53
|
+
export type TreeViewItemItemReorderingValidActions = { [key in TreeViewItemsReorderingAction]?: TreeViewItemReorderPosition };
|
|
56
54
|
export interface UseTreeViewItemsReorderingParameters {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, the reordering of items is enabled.
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
itemsReordering?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Determine if a given item can be reordered.
|
|
62
|
+
* @param {string} itemId The id of the item to check.
|
|
63
|
+
* @returns {boolean} `true` if the item can be reordered.
|
|
64
|
+
* @default () => true
|
|
65
|
+
*/
|
|
66
|
+
isItemReorderable?: (itemId: string) => boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Used to determine if a given item can move to some new position.
|
|
69
|
+
* @param {object} params The params describing the item re-ordering.
|
|
70
|
+
* @param {string} params.itemId The id of the item that is being moved to a new position.
|
|
71
|
+
* @param {TreeViewItemReorderPosition} params.oldPosition The old position of the item.
|
|
72
|
+
* @param {TreeViewItemReorderPosition} params.newPosition The new position of the item.
|
|
73
|
+
* @returns {boolean} `true` if the item can move to the new position.
|
|
74
|
+
*/
|
|
75
|
+
canMoveItemToNewPosition?: (params: {
|
|
76
|
+
itemId: string;
|
|
77
|
+
oldPosition: TreeViewItemReorderPosition;
|
|
78
|
+
newPosition: TreeViewItemReorderPosition;
|
|
79
|
+
}) => boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Callback fired when a Tree Item is moved in the tree.
|
|
82
|
+
* @param {object} params The params describing the item re-ordering.
|
|
83
|
+
* @param {string} params.itemId The id of the item moved.
|
|
84
|
+
* @param {TreeViewItemReorderPosition} params.oldPosition The old position of the item.
|
|
85
|
+
* @param {TreeViewItemReorderPosition} params.newPosition The new position of the item.
|
|
86
|
+
*/
|
|
87
|
+
onItemPositionChange?: (params: {
|
|
88
|
+
itemId: string;
|
|
89
|
+
oldPosition: TreeViewItemReorderPosition;
|
|
90
|
+
newPosition: TreeViewItemReorderPosition;
|
|
91
|
+
}) => void;
|
|
94
92
|
}
|
|
95
93
|
export type UseTreeViewItemsReorderingDefaultizedParameters = DefaultizedProps<UseTreeViewItemsReorderingParameters, 'itemsReordering'>;
|
|
96
94
|
export interface UseTreeViewItemsReorderingState {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
95
|
+
itemsReordering: {
|
|
96
|
+
draggedItemId: string;
|
|
97
|
+
targetItemId: string;
|
|
98
|
+
newPosition: TreeViewItemReorderPosition | null;
|
|
99
|
+
action: TreeViewItemsReorderingAction | null;
|
|
100
|
+
} | null;
|
|
103
101
|
}
|
|
104
102
|
interface UseTreeViewItemsReorderingContextValue {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
itemsReordering: {
|
|
104
|
+
enabled: boolean;
|
|
105
|
+
isItemReorderable: ((itemId: string) => boolean) | undefined;
|
|
106
|
+
};
|
|
109
107
|
}
|
|
110
108
|
export type UseTreeViewItemsReorderingSignature = TreeViewPluginSignature<{
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
109
|
+
params: UseTreeViewItemsReorderingParameters;
|
|
110
|
+
defaultizedParams: UseTreeViewItemsReorderingDefaultizedParameters;
|
|
111
|
+
instance: UseTreeViewItemsReorderingInstance;
|
|
112
|
+
state: UseTreeViewItemsReorderingState;
|
|
113
|
+
contextValue: UseTreeViewItemsReorderingContextValue;
|
|
114
|
+
dependencies: [UseTreeViewItemsSignature];
|
|
117
115
|
}>;
|
|
118
116
|
export interface UseTreeItemRootSlotPropsFromItemsReordering {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
draggable?: true;
|
|
118
|
+
onDragStart?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
119
|
+
onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
120
|
+
onDragEnd?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
123
121
|
}
|
|
124
122
|
export interface UseTreeItemContentSlotPropsFromItemsReordering {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
export interface UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering extends TreeItemDragAndDropOverlayProps {
|
|
123
|
+
onDragEnter?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
124
|
+
onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
129
125
|
}
|
|
126
|
+
export interface UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering extends TreeItemDragAndDropOverlayProps {}
|
|
130
127
|
declare module '@mui/x-tree-view/useTreeItem' {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
interface UseTreeItemDragAndDropOverlaySlotOwnProps extends UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering {
|
|
136
|
-
}
|
|
128
|
+
interface UseTreeItemRootSlotOwnProps extends UseTreeItemRootSlotPropsFromItemsReordering {}
|
|
129
|
+
interface UseTreeItemContentSlotOwnProps extends UseTreeItemContentSlotPropsFromItemsReordering {}
|
|
130
|
+
interface UseTreeItemDragAndDropOverlaySlotOwnProps extends UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering {}
|
|
137
131
|
}
|
|
138
|
-
export {};
|
|
132
|
+
export {};
|
|
@@ -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 = "MTczOTc0NjgwMDAwMA==";
|
|
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';
|