@mui/x-tree-view-pro 8.0.0-alpha.9 → 8.0.0-beta.1

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.
Files changed (136) hide show
  1. package/CHANGELOG.md +1523 -0
  2. package/README.md +1 -1
  3. package/RichTreeViewPro/RichTreeViewPro.d.ts +5 -5
  4. package/RichTreeViewPro/RichTreeViewPro.js +101 -89
  5. package/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +4 -5
  6. package/RichTreeViewPro/RichTreeViewPro.plugins.js +10 -3
  7. package/RichTreeViewPro/RichTreeViewPro.types.d.ts +38 -38
  8. package/RichTreeViewPro/RichTreeViewPro.types.js +5 -1
  9. package/RichTreeViewPro/index.d.ts +3 -3
  10. package/RichTreeViewPro/index.js +27 -3
  11. package/RichTreeViewPro/richTreeViewProClasses.d.ts +3 -3
  12. package/RichTreeViewPro/richTreeViewProClasses.js +13 -5
  13. package/esm/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
  14. package/{node → esm}/RichTreeViewPro/RichTreeViewPro.js +95 -95
  15. package/esm/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
  16. package/esm/RichTreeViewPro/RichTreeViewPro.plugins.js +6 -0
  17. package/esm/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
  18. package/esm/RichTreeViewPro/RichTreeViewPro.types.js +1 -0
  19. package/esm/RichTreeViewPro/index.d.ts +3 -0
  20. package/esm/RichTreeViewPro/index.js +3 -0
  21. package/esm/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
  22. package/esm/RichTreeViewPro/richTreeViewProClasses.js +6 -0
  23. package/esm/index.d.ts +12 -0
  24. package/esm/index.js +22 -0
  25. package/esm/internals/index.d.ts +1 -0
  26. package/esm/internals/index.js +1 -0
  27. package/esm/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
  28. package/esm/internals/plugins/useTreeViewItemsReordering/index.js +1 -0
  29. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
  30. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
  31. package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +13 -22
  32. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +203 -0
  33. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +417 -0
  34. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +50 -0
  35. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +127 -0
  36. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +1 -0
  37. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
  38. package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +21 -31
  39. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  40. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
  41. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +3 -0
  42. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +288 -0
  43. package/esm/internals/plugins/useTreeViewLazyLoading/utils.d.ts +32 -0
  44. package/esm/internals/plugins/useTreeViewLazyLoading/utils.js +85 -0
  45. package/esm/internals/utils/releaseInfo.d.ts +1 -0
  46. package/esm/internals/utils/releaseInfo.js +13 -0
  47. package/esm/internals/zero-styled/index.d.ts +3 -0
  48. package/esm/internals/zero-styled/index.js +7 -0
  49. package/esm/package.json +1 -0
  50. package/esm/themeAugmentation/components.d.ts +11 -0
  51. package/esm/themeAugmentation/index.d.ts +3 -0
  52. package/esm/themeAugmentation/index.js +0 -0
  53. package/esm/themeAugmentation/overrides.d.ts +12 -0
  54. package/esm/themeAugmentation/props.d.ts +10 -0
  55. package/index.d.ts +2 -2
  56. package/index.js +147 -15
  57. package/internals/index.d.ts +1 -1
  58. package/internals/index.js +12 -1
  59. package/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -2
  60. package/internals/plugins/useTreeViewItemsReordering/index.js +12 -1
  61. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +2 -2
  62. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +1 -1
  63. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +22 -13
  64. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +81 -69
  65. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +335 -97
  66. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +30 -9
  67. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +105 -119
  68. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +5 -1
  69. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +28 -15
  70. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +31 -21
  71. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  72. package/internals/plugins/useTreeViewLazyLoading/index.js +12 -0
  73. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +3 -0
  74. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +297 -0
  75. package/internals/plugins/useTreeViewLazyLoading/utils.d.ts +32 -0
  76. package/internals/plugins/useTreeViewLazyLoading/utils.js +89 -0
  77. package/internals/utils/releaseInfo.d.ts +1 -1
  78. package/internals/utils/releaseInfo.js +13 -5
  79. package/internals/zero-styled/index.d.ts +1 -1
  80. package/internals/zero-styled/index.js +14 -4
  81. package/modern/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
  82. package/modern/RichTreeViewPro/RichTreeViewPro.js +21 -15
  83. package/modern/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
  84. package/modern/RichTreeViewPro/RichTreeViewPro.plugins.js +2 -1
  85. package/modern/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
  86. package/modern/RichTreeViewPro/index.d.ts +3 -0
  87. package/modern/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
  88. package/modern/index.d.ts +12 -0
  89. package/modern/index.js +1 -1
  90. package/modern/internals/index.d.ts +1 -0
  91. package/modern/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
  92. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
  93. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
  94. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +6 -6
  95. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +54 -51
  96. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +417 -0
  97. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +23 -8
  98. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +127 -0
  99. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
  100. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  101. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
  102. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +3 -0
  103. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +288 -0
  104. package/modern/internals/plugins/useTreeViewLazyLoading/utils.d.ts +32 -0
  105. package/modern/internals/plugins/useTreeViewLazyLoading/utils.js +85 -0
  106. package/modern/internals/utils/releaseInfo.d.ts +1 -0
  107. package/modern/internals/utils/releaseInfo.js +1 -1
  108. package/modern/internals/zero-styled/index.d.ts +3 -0
  109. package/modern/package.json +1 -0
  110. package/modern/themeAugmentation/components.d.ts +11 -0
  111. package/modern/themeAugmentation/index.d.ts +3 -0
  112. package/modern/themeAugmentation/overrides.d.ts +12 -0
  113. package/modern/themeAugmentation/props.d.ts +10 -0
  114. package/package.json +43 -10
  115. package/themeAugmentation/components.d.ts +1 -3
  116. package/themeAugmentation/index.d.ts +1 -1
  117. package/themeAugmentation/index.js +1 -0
  118. package/themeAugmentation/overrides.d.ts +2 -3
  119. package/themeAugmentation/props.d.ts +2 -4
  120. package/tsconfig.build.tsbuildinfo +1 -0
  121. package/RichTreeViewPro/package.json +0 -6
  122. package/internals/package.json +0 -6
  123. package/node/RichTreeViewPro/RichTreeViewPro.plugins.js +0 -11
  124. package/node/RichTreeViewPro/RichTreeViewPro.types.js +0 -5
  125. package/node/RichTreeViewPro/index.js +0 -27
  126. package/node/RichTreeViewPro/richTreeViewProClasses.js +0 -14
  127. package/node/index.js +0 -154
  128. package/node/internals/index.js +0 -12
  129. package/node/internals/plugins/useTreeViewItemsReordering/index.js +0 -12
  130. package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +0 -209
  131. package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +0 -42
  132. package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -5
  133. package/node/internals/utils/releaseInfo.js +0 -21
  134. package/node/internals/zero-styled/index.js +0 -17
  135. package/node/themeAugmentation/index.js +0 -1
  136. package/themeAugmentation/package.json +0 -6
@@ -0,0 +1,417 @@
1
+ import { TreeViewState } from '@mui/x-tree-view/internals';
2
+ import { UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.js";
3
+ /**
4
+ * Get the properties of the current reordering.
5
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
6
+ * @returns {TreeViewItemsReorderingState['currentReorder']} The properties of the current reordering.
7
+ */
8
+ export declare const selectorCurrentItemReordering: ((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItemsReordering.types").UseTreeViewItemsReorderingState & Partial<{}> & {
9
+ cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
10
+ }) => {
11
+ draggedItemId: string;
12
+ targetItemId: string;
13
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
14
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
15
+ } | null) & {
16
+ clearCache: () => void;
17
+ resultsCount: () => number;
18
+ resetResultsCount: () => void;
19
+ } & {
20
+ resultFunc: (resultFuncArgs_0: {
21
+ isItemReorderable: (itemId: string) => boolean;
22
+ currentReorder: {
23
+ draggedItemId: string;
24
+ targetItemId: string;
25
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
26
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
27
+ } | null;
28
+ }) => {
29
+ draggedItemId: string;
30
+ targetItemId: string;
31
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
32
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
33
+ } | null;
34
+ memoizedResultFunc: ((resultFuncArgs_0: {
35
+ isItemReorderable: (itemId: string) => boolean;
36
+ currentReorder: {
37
+ draggedItemId: string;
38
+ targetItemId: string;
39
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
40
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
41
+ } | null;
42
+ }) => {
43
+ draggedItemId: string;
44
+ targetItemId: string;
45
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
46
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
47
+ } | null) & {
48
+ clearCache: () => void;
49
+ resultsCount: () => number;
50
+ resetResultsCount: () => void;
51
+ };
52
+ lastResult: () => {
53
+ draggedItemId: string;
54
+ targetItemId: string;
55
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
56
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
57
+ } | null;
58
+ dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
59
+ isItemReorderable: (itemId: string) => boolean;
60
+ currentReorder: {
61
+ draggedItemId: string;
62
+ targetItemId: string;
63
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
64
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
65
+ } | null;
66
+ }];
67
+ recomputations: () => number;
68
+ resetRecomputations: () => void;
69
+ dependencyRecomputations: () => number;
70
+ resetDependencyRecomputations: () => void;
71
+ } & {
72
+ argsMemoize: typeof import("reselect").weakMapMemoize;
73
+ memoize: typeof import("reselect").weakMapMemoize;
74
+ };
75
+ /**
76
+ * Get the properties of the dragged item.
77
+ * @param {TreeViewState<[UseTreeViewItemsSignature, UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
78
+ * @param {string} itemId The id of the item.
79
+ * @returns {TreeViewItemDraggedItemProperties | null} The properties of the dragged item if the current item is being dragged, `null` otherwise.
80
+ */
81
+ export declare const selectorDraggedItemProperties: ((state: any, itemId: string) => {
82
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
83
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
84
+ targetDepth: number;
85
+ } | null) & {
86
+ clearCache: () => void;
87
+ resultsCount: () => number;
88
+ resetResultsCount: () => void;
89
+ } & {
90
+ resultFunc: (resultFuncArgs_0: {
91
+ draggedItemId: string;
92
+ targetItemId: string;
93
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
94
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
95
+ } | null, resultFuncArgs_1: {
96
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
97
+ }, resultFuncArgs_2: string) => {
98
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
99
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
100
+ targetDepth: number;
101
+ } | null;
102
+ memoizedResultFunc: ((resultFuncArgs_0: {
103
+ draggedItemId: string;
104
+ targetItemId: string;
105
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
106
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
107
+ } | null, resultFuncArgs_1: {
108
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
109
+ }, resultFuncArgs_2: string) => {
110
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
111
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
112
+ targetDepth: number;
113
+ } | null) & {
114
+ clearCache: () => void;
115
+ resultsCount: () => number;
116
+ resetResultsCount: () => void;
117
+ };
118
+ lastResult: () => {
119
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
120
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
121
+ targetDepth: number;
122
+ } | null;
123
+ dependencies: [((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItemsReordering.types").UseTreeViewItemsReorderingState & Partial<{}> & {
124
+ cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
125
+ }) => {
126
+ draggedItemId: string;
127
+ targetItemId: string;
128
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
129
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
130
+ } | null) & {
131
+ clearCache: () => void;
132
+ resultsCount: () => number;
133
+ resetResultsCount: () => void;
134
+ } & {
135
+ resultFunc: (resultFuncArgs_0: {
136
+ isItemReorderable: (itemId: string) => boolean;
137
+ currentReorder: {
138
+ draggedItemId: string;
139
+ targetItemId: string;
140
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
141
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
142
+ } | null;
143
+ }) => {
144
+ draggedItemId: string;
145
+ targetItemId: string;
146
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
147
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
148
+ } | null;
149
+ memoizedResultFunc: ((resultFuncArgs_0: {
150
+ isItemReorderable: (itemId: string) => boolean;
151
+ currentReorder: {
152
+ draggedItemId: string;
153
+ targetItemId: string;
154
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
155
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
156
+ } | null;
157
+ }) => {
158
+ draggedItemId: string;
159
+ targetItemId: string;
160
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
161
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
162
+ } | null) & {
163
+ clearCache: () => void;
164
+ resultsCount: () => number;
165
+ resetResultsCount: () => void;
166
+ };
167
+ lastResult: () => {
168
+ draggedItemId: string;
169
+ targetItemId: string;
170
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
171
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
172
+ } | null;
173
+ dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
174
+ isItemReorderable: (itemId: string) => boolean;
175
+ currentReorder: {
176
+ draggedItemId: string;
177
+ targetItemId: string;
178
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
179
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
180
+ } | null;
181
+ }];
182
+ recomputations: () => number;
183
+ resetRecomputations: () => void;
184
+ dependencyRecomputations: () => number;
185
+ resetDependencyRecomputations: () => void;
186
+ } & {
187
+ argsMemoize: typeof import("reselect").weakMapMemoize;
188
+ memoize: typeof import("reselect").weakMapMemoize;
189
+ }, ((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<{}> & {
190
+ cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
191
+ }) => {
192
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
193
+ }) & {
194
+ clearCache: () => void;
195
+ resultsCount: () => number;
196
+ resetResultsCount: () => void;
197
+ } & {
198
+ resultFunc: (resultFuncArgs_0: {
199
+ disabledItemsFocusable: boolean;
200
+ itemModelLookup: {
201
+ [itemId: string]: import("@mui/x-tree-view").TreeViewBaseItem<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties>;
202
+ };
203
+ itemMetaLookup: {
204
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
205
+ };
206
+ itemOrderedChildrenIdsLookup: {
207
+ [parentItemId: string]: string[];
208
+ };
209
+ itemChildrenIndexesLookup: {
210
+ [parentItemId: string]: {
211
+ [itemId: string]: number;
212
+ };
213
+ };
214
+ loading: boolean;
215
+ error: Error | null;
216
+ }) => {
217
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
218
+ };
219
+ memoizedResultFunc: ((resultFuncArgs_0: {
220
+ disabledItemsFocusable: boolean;
221
+ itemModelLookup: {
222
+ [itemId: string]: import("@mui/x-tree-view").TreeViewBaseItem<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties>;
223
+ };
224
+ itemMetaLookup: {
225
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
226
+ };
227
+ itemOrderedChildrenIdsLookup: {
228
+ [parentItemId: string]: string[];
229
+ };
230
+ itemChildrenIndexesLookup: {
231
+ [parentItemId: string]: {
232
+ [itemId: string]: number;
233
+ };
234
+ };
235
+ loading: boolean;
236
+ error: Error | null;
237
+ }) => {
238
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
239
+ }) & {
240
+ clearCache: () => void;
241
+ resultsCount: () => number;
242
+ resetResultsCount: () => void;
243
+ };
244
+ lastResult: () => {
245
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
246
+ };
247
+ dependencies: [import("@mui/x-tree-view/internals/utils/selectors").TreeViewRootSelector<import("@mui/x-tree-view/internals").UseTreeViewItemsSignature>];
248
+ recomputations: () => number;
249
+ resetRecomputations: () => void;
250
+ dependencyRecomputations: () => number;
251
+ resetDependencyRecomputations: () => void;
252
+ } & {
253
+ argsMemoize: typeof import("reselect").weakMapMemoize;
254
+ memoize: typeof import("reselect").weakMapMemoize;
255
+ }, (_: any, itemId: string) => string];
256
+ recomputations: () => number;
257
+ resetRecomputations: () => void;
258
+ dependencyRecomputations: () => number;
259
+ resetDependencyRecomputations: () => void;
260
+ } & {
261
+ argsMemoize: typeof import("reselect").weakMapMemoize;
262
+ memoize: typeof import("reselect").weakMapMemoize;
263
+ };
264
+ /**
265
+ * Check if the current item is a valid target for the dragged item.
266
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
267
+ * @param {string} itemId The id of the item.
268
+ * @returns {boolean} `true` if the current item is a valid target for the dragged item, `false` otherwise.
269
+ */
270
+ export declare const selectorIsItemValidReorderingTarget: ((state: any, itemId: string) => boolean | null) & {
271
+ clearCache: () => void;
272
+ resultsCount: () => number;
273
+ resetResultsCount: () => void;
274
+ } & {
275
+ resultFunc: (resultFuncArgs_0: {
276
+ draggedItemId: string;
277
+ targetItemId: string;
278
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
279
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
280
+ } | null, resultFuncArgs_1: string) => boolean | null;
281
+ memoizedResultFunc: ((resultFuncArgs_0: {
282
+ draggedItemId: string;
283
+ targetItemId: string;
284
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
285
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
286
+ } | null, resultFuncArgs_1: string) => boolean | null) & {
287
+ clearCache: () => void;
288
+ resultsCount: () => number;
289
+ resetResultsCount: () => void;
290
+ };
291
+ lastResult: () => boolean | null;
292
+ dependencies: [((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItemsReordering.types").UseTreeViewItemsReorderingState & Partial<{}> & {
293
+ cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
294
+ }) => {
295
+ draggedItemId: string;
296
+ targetItemId: string;
297
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
298
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
299
+ } | null) & {
300
+ clearCache: () => void;
301
+ resultsCount: () => number;
302
+ resetResultsCount: () => void;
303
+ } & {
304
+ resultFunc: (resultFuncArgs_0: {
305
+ isItemReorderable: (itemId: string) => boolean;
306
+ currentReorder: {
307
+ draggedItemId: string;
308
+ targetItemId: string;
309
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
310
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
311
+ } | null;
312
+ }) => {
313
+ draggedItemId: string;
314
+ targetItemId: string;
315
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
316
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
317
+ } | null;
318
+ memoizedResultFunc: ((resultFuncArgs_0: {
319
+ isItemReorderable: (itemId: string) => boolean;
320
+ currentReorder: {
321
+ draggedItemId: string;
322
+ targetItemId: string;
323
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
324
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
325
+ } | null;
326
+ }) => {
327
+ draggedItemId: string;
328
+ targetItemId: string;
329
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
330
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
331
+ } | null) & {
332
+ clearCache: () => void;
333
+ resultsCount: () => number;
334
+ resetResultsCount: () => void;
335
+ };
336
+ lastResult: () => {
337
+ draggedItemId: string;
338
+ targetItemId: string;
339
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
340
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
341
+ } | null;
342
+ dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
343
+ isItemReorderable: (itemId: string) => boolean;
344
+ currentReorder: {
345
+ draggedItemId: string;
346
+ targetItemId: string;
347
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
348
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
349
+ } | null;
350
+ }];
351
+ recomputations: () => number;
352
+ resetRecomputations: () => void;
353
+ dependencyRecomputations: () => number;
354
+ resetDependencyRecomputations: () => void;
355
+ } & {
356
+ argsMemoize: typeof import("reselect").weakMapMemoize;
357
+ memoize: typeof import("reselect").weakMapMemoize;
358
+ }, (_: any, itemId: string) => string];
359
+ recomputations: () => number;
360
+ resetRecomputations: () => void;
361
+ dependencyRecomputations: () => number;
362
+ resetDependencyRecomputations: () => void;
363
+ } & {
364
+ argsMemoize: typeof import("reselect").weakMapMemoize;
365
+ memoize: typeof import("reselect").weakMapMemoize;
366
+ };
367
+ /**
368
+ * Check if the items can be reordered.
369
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
370
+ * @param {string} itemId The id of the item.
371
+ * @returns {boolean} `true` if the items can be reordered, `false` otherwise.
372
+ */
373
+ export declare const selectorCanItemBeReordered: ((state: any, itemId: string) => boolean) & {
374
+ clearCache: () => void;
375
+ resultsCount: () => number;
376
+ resetResultsCount: () => void;
377
+ } & {
378
+ resultFunc: (resultFuncArgs_0: {
379
+ isItemReorderable: (itemId: string) => boolean;
380
+ currentReorder: {
381
+ draggedItemId: string;
382
+ targetItemId: string;
383
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
384
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
385
+ } | null;
386
+ }, resultFuncArgs_1: string) => boolean;
387
+ memoizedResultFunc: ((resultFuncArgs_0: {
388
+ isItemReorderable: (itemId: string) => boolean;
389
+ currentReorder: {
390
+ draggedItemId: string;
391
+ targetItemId: string;
392
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
393
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
394
+ } | null;
395
+ }, resultFuncArgs_1: string) => boolean) & {
396
+ clearCache: () => void;
397
+ resultsCount: () => number;
398
+ resetResultsCount: () => void;
399
+ };
400
+ lastResult: () => boolean;
401
+ dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
402
+ isItemReorderable: (itemId: string) => boolean;
403
+ currentReorder: {
404
+ draggedItemId: string;
405
+ targetItemId: string;
406
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
407
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
408
+ } | null;
409
+ }, (_: any, itemId: string) => string];
410
+ recomputations: () => number;
411
+ resetRecomputations: () => void;
412
+ dependencyRecomputations: () => number;
413
+ resetDependencyRecomputations: () => void;
414
+ } & {
415
+ argsMemoize: typeof import("reselect").weakMapMemoize;
416
+ memoize: typeof import("reselect").weakMapMemoize;
417
+ };
@@ -2,9 +2,16 @@ import { createSelector, selectorItemMetaLookup } from '@mui/x-tree-view/interna
2
2
  /**
3
3
  * Get the items reordering state.
4
4
  * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
5
- * @returns {TreeViewItemsReorderingState | null} The items reordering state.
5
+ * @returns {TreeViewItemsReorderingState} The items reordering state.
6
6
  */
7
- export const selectorItemsReordering = state => state.itemsReordering;
7
+ const selectorItemsReordering = state => state.itemsReordering;
8
+
9
+ /**
10
+ * Get the properties of the current reordering.
11
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
12
+ * @returns {TreeViewItemsReorderingState['currentReorder']} The properties of the current reordering.
13
+ */
14
+ export const selectorCurrentItemReordering = createSelector([selectorItemsReordering], itemsReordering => itemsReordering.currentReorder);
8
15
 
9
16
  /**
10
17
  * Get the properties of the dragged item.
@@ -12,16 +19,16 @@ export const selectorItemsReordering = state => state.itemsReordering;
12
19
  * @param {string} itemId The id of the item.
13
20
  * @returns {TreeViewItemDraggedItemProperties | null} The properties of the dragged item if the current item is being dragged, `null` otherwise.
14
21
  */
15
- export const selectorItemsReorderingDraggedItemProperties = createSelector([selectorItemsReordering, selectorItemMetaLookup, (_, itemId) => itemId], (itemsReordering, itemMetaLookup, itemId) => {
16
- if (!itemsReordering || itemsReordering.targetItemId !== itemId || itemsReordering.action == null) {
22
+ export const selectorDraggedItemProperties = createSelector([selectorCurrentItemReordering, selectorItemMetaLookup, (_, itemId) => itemId], (currentReorder, itemMetaLookup, itemId) => {
23
+ if (!currentReorder || currentReorder.targetItemId !== itemId || currentReorder.action == null) {
17
24
  return null;
18
25
  }
19
- const targetDepth = itemsReordering.newPosition?.parentId == null ? 0 :
26
+ const targetDepth = currentReorder.newPosition?.parentId == null ? 0 :
20
27
  // The depth is always defined because drag&drop is only usable with Rich Tree View components.
21
28
  itemMetaLookup[itemId].depth + 1;
22
29
  return {
23
- newPosition: itemsReordering.newPosition,
24
- action: itemsReordering.action,
30
+ newPosition: currentReorder.newPosition,
31
+ action: currentReorder.action,
25
32
  targetDepth
26
33
  };
27
34
  });
@@ -32,4 +39,12 @@ export const selectorItemsReorderingDraggedItemProperties = createSelector([sele
32
39
  * @param {string} itemId The id of the item.
33
40
  * @returns {boolean} `true` if the current item is a valid target for the dragged item, `false` otherwise.
34
41
  */
35
- export const selectorItemsReorderingIsValidTarget = createSelector([selectorItemsReordering, (_, itemId) => itemId], (itemsReordering, itemId) => itemsReordering && itemsReordering.draggedItemId !== itemId);
42
+ export const selectorIsItemValidReorderingTarget = createSelector([selectorCurrentItemReordering, (_, itemId) => itemId], (currentReorder, itemId) => currentReorder && currentReorder.draggedItemId !== itemId);
43
+
44
+ /**
45
+ * Check if the items can be reordered.
46
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
47
+ * @param {string} itemId The id of the item.
48
+ * @returns {boolean} `true` if the items can be reordered, `false` otherwise.
49
+ */
50
+ export const selectorCanItemBeReordered = createSelector([selectorItemsReordering, (_, itemId) => itemId], (itemsReordering, itemId) => itemsReordering.isItemReorderable(itemId));
@@ -0,0 +1,127 @@
1
+ import * as React from 'react';
2
+ import { DefaultizedProps } from '@mui/x-internals/types';
3
+ import { TreeViewPluginSignature, UseTreeViewItemsSignature } from '@mui/x-tree-view/internals';
4
+ import { TreeViewItemId, TreeViewItemsReorderingAction, TreeViewCancellableEventHandler } from '@mui/x-tree-view/models';
5
+ import { TreeItemDragAndDropOverlayProps } from '@mui/x-tree-view/TreeItemDragAndDropOverlay';
6
+ export interface UseTreeViewItemsReorderingInstance {
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
+ }
49
+ export interface TreeViewItemReorderPosition {
50
+ parentId: string | null;
51
+ index: number;
52
+ }
53
+ export type TreeViewItemItemReorderingValidActions = { [key in TreeViewItemsReorderingAction]?: TreeViewItemReorderPosition };
54
+ export interface UseTreeViewItemsReorderingParameters {
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;
92
+ }
93
+ export type UseTreeViewItemsReorderingDefaultizedParameters = DefaultizedProps<UseTreeViewItemsReorderingParameters, 'itemsReordering'>;
94
+ export interface UseTreeViewItemsReorderingState {
95
+ itemsReordering: {
96
+ isItemReorderable: (itemId: string) => boolean;
97
+ currentReorder: {
98
+ draggedItemId: string;
99
+ targetItemId: string;
100
+ newPosition: TreeViewItemReorderPosition | null;
101
+ action: TreeViewItemsReorderingAction | null;
102
+ } | null;
103
+ };
104
+ }
105
+ export type UseTreeViewItemsReorderingSignature = TreeViewPluginSignature<{
106
+ params: UseTreeViewItemsReorderingParameters;
107
+ defaultizedParams: UseTreeViewItemsReorderingDefaultizedParameters;
108
+ instance: UseTreeViewItemsReorderingInstance;
109
+ state: UseTreeViewItemsReorderingState;
110
+ dependencies: [UseTreeViewItemsSignature];
111
+ }>;
112
+ export interface UseTreeItemRootSlotPropsFromItemsReordering {
113
+ draggable?: true;
114
+ onDragStart?: TreeViewCancellableEventHandler<React.DragEvent>;
115
+ onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
116
+ onDragEnd?: TreeViewCancellableEventHandler<React.DragEvent>;
117
+ }
118
+ export interface UseTreeItemContentSlotPropsFromItemsReordering {
119
+ onDragEnter?: TreeViewCancellableEventHandler<React.DragEvent>;
120
+ onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
121
+ }
122
+ export interface UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering extends TreeItemDragAndDropOverlayProps {}
123
+ declare module '@mui/x-tree-view/useTreeItem' {
124
+ interface UseTreeItemRootSlotOwnProps extends UseTreeItemRootSlotPropsFromItemsReordering {}
125
+ interface UseTreeItemContentSlotOwnProps extends UseTreeItemContentSlotPropsFromItemsReordering {}
126
+ interface UseTreeItemDragAndDropOverlaySlotOwnProps extends UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering {}
127
+ }
@@ -0,0 +1,37 @@
1
+ import { TreeViewUsedStore, UseTreeViewItemsState } from '@mui/x-tree-view/internals';
2
+ import { TreeViewItemId, TreeViewItemsReorderingAction } from '@mui/x-tree-view/models';
3
+ import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.js";
4
+ /**
5
+ * Checks if the item with the id itemIdB is an ancestor of the item with the id itemIdA.
6
+ */
7
+ export declare const isAncestor: (store: TreeViewUsedStore<UseTreeViewItemsReorderingSignature>, itemIdA: string, itemIdB: string) => boolean;
8
+ interface GetNewPositionParams {
9
+ itemChildrenIndentation: string | number;
10
+ validActions: TreeViewItemItemReorderingValidActions;
11
+ targetHeight: number;
12
+ targetDepth: number;
13
+ cursorY: number;
14
+ cursorX: number;
15
+ contentElement: HTMLDivElement;
16
+ }
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"];
36
+ }) => UseTreeViewItemsState<R>["items"];
37
+ export {};
@@ -0,0 +1 @@
1
+ export { useTreeViewLazyLoading } from "./useTreeViewLazyLoading.js";
@@ -0,0 +1 @@
1
+ export { useTreeViewLazyLoading } from "./useTreeViewLazyLoading.js";
@@ -0,0 +1,3 @@
1
+ import { TreeViewPlugin } from '@mui/x-tree-view/internals';
2
+ import type { UseTreeViewLazyLoadingSignature } from '@mui/x-tree-view/internals';
3
+ export declare const useTreeViewLazyLoading: TreeViewPlugin<UseTreeViewLazyLoadingSignature>;