@mui/x-tree-view-pro 8.11.0 → 8.11.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 (28) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/RichTreeViewPro/RichTreeViewPro.js +14 -12
  3. package/RichTreeViewPro/RichTreeViewPro.types.d.ts +3 -2
  4. package/RichTreeViewPro/index.d.ts +2 -1
  5. package/esm/RichTreeViewPro/RichTreeViewPro.js +14 -12
  6. package/esm/RichTreeViewPro/RichTreeViewPro.types.d.ts +3 -2
  7. package/esm/RichTreeViewPro/index.d.ts +2 -1
  8. package/esm/index.js +1 -1
  9. package/esm/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -1
  10. package/esm/internals/plugins/useTreeViewItemsReordering/index.js +2 -1
  11. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +6 -5
  12. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +57 -71
  13. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +17 -433
  14. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +35 -50
  15. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +2 -2
  16. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +82 -78
  17. package/esm/internals/plugins/useTreeViewLazyLoading/utils.js +3 -1
  18. package/index.js +1 -1
  19. package/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -1
  20. package/internals/plugins/useTreeViewItemsReordering/index.js +8 -1
  21. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +4 -3
  22. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +55 -69
  23. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +17 -433
  24. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +35 -50
  25. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +1 -1
  26. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +81 -77
  27. package/internals/plugins/useTreeViewLazyLoading/utils.js +3 -1
  28. package/package.json +14 -13
@@ -1,445 +1,29 @@
1
1
  import { TreeViewState } from '@mui/x-tree-view/internals';
2
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.js").UseTreeViewItemsReorderingState & Partial<{}> & {
9
- cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
10
- }) => {
11
- draggedItemId: string;
12
- targetItemId: string;
13
- newPosition: import("./useTreeViewItemsReordering.types.js").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.js").TreeViewItemReorderPosition | null;
26
- action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
27
- } | null;
28
- }) => {
3
+ export declare const itemsReorderingSelectors: {
4
+ /**
5
+ * Gets the properties of the current reordering.
6
+ */
7
+ currentReorder: (state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
29
8
  draggedItemId: string;
30
9
  targetItemId: string;
31
10
  newPosition: import("./useTreeViewItemsReordering.types.js").TreeViewItemReorderPosition | null;
32
11
  action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
33
12
  } | null;
34
- memoizedResultFunc: ((resultFuncArgs_0: {
35
- isItemReorderable: (itemId: string) => boolean;
36
- currentReorder: {
37
- draggedItemId: string;
38
- targetItemId: string;
39
- newPosition: import("./useTreeViewItemsReordering.types.js").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.js").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.js").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.js").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
- memoize: typeof import("reselect").weakMapMemoize;
73
- argsMemoize: 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.js").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.js").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.js").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.js").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.js").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: () => {
13
+ /**
14
+ * Gets the properties of the dragged item.
15
+ */
16
+ draggedItemProperties: (args_0: 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<{}>, itemId: string) => {
119
17
  newPosition: import("./useTreeViewItemsReordering.types.js").TreeViewItemReorderPosition | null;
120
18
  action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
121
19
  targetDepth: number;
122
20
  } | null;
123
- dependencies: [((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItemsReordering.types.js").UseTreeViewItemsReorderingState & Partial<{}> & {
124
- cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
125
- }) => {
126
- draggedItemId: string;
127
- targetItemId: string;
128
- newPosition: import("./useTreeViewItemsReordering.types.js").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.js").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.js").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.js").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.js").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.js").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.js").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
- memoize: typeof import("reselect").weakMapMemoize;
188
- argsMemoize: 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
- memoize: typeof import("reselect").weakMapMemoize;
254
- argsMemoize: typeof import("reselect").weakMapMemoize;
255
- }, (_: any, itemId: string) => string];
256
- recomputations: () => number;
257
- resetRecomputations: () => void;
258
- dependencyRecomputations: () => number;
259
- resetDependencyRecomputations: () => void;
260
- } & {
261
- memoize: typeof import("reselect").weakMapMemoize;
262
- argsMemoize: 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.js").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.js").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.js").UseTreeViewItemsReorderingState & Partial<{}> & {
293
- cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
294
- }) => {
295
- draggedItemId: string;
296
- targetItemId: string;
297
- newPosition: import("./useTreeViewItemsReordering.types.js").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.js").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.js").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.js").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.js").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.js").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.js").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
- memoize: typeof import("reselect").weakMapMemoize;
357
- argsMemoize: typeof import("reselect").weakMapMemoize;
358
- }, (_: any, itemId: string) => string];
359
- recomputations: () => number;
360
- resetRecomputations: () => void;
361
- dependencyRecomputations: () => number;
362
- resetDependencyRecomputations: () => void;
363
- } & {
364
- memoize: typeof import("reselect").weakMapMemoize;
365
- argsMemoize: 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.js").TreeViewItemReorderPosition | null;
384
- action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
385
- } | null;
386
- }, resultFuncArgs_1: boolean, resultFuncArgs_2: string) => boolean;
387
- memoizedResultFunc: ((resultFuncArgs_0: {
388
- isItemReorderable: (itemId: string) => boolean;
389
- currentReorder: {
390
- draggedItemId: string;
391
- targetItemId: string;
392
- newPosition: import("./useTreeViewItemsReordering.types.js").TreeViewItemReorderPosition | null;
393
- action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
394
- } | null;
395
- }, resultFuncArgs_1: boolean, resultFuncArgs_2: 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.js").TreeViewItemReorderPosition | null;
407
- action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
408
- } | null;
409
- }, ((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & Partial<import("@mui/x-tree-view/internals/plugins/useTreeViewLabel/useTreeViewLabel.types").UseTreeViewLabelState> & {
410
- cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
411
- }) => boolean) & {
412
- clearCache: () => void;
413
- resultsCount: () => number;
414
- resetResultsCount: () => void;
415
- } & {
416
- resultFunc: (resultFuncArgs_0: {
417
- isItemEditable: ((item: any) => boolean) | boolean;
418
- editedItemId: string | null;
419
- } | undefined) => boolean;
420
- memoizedResultFunc: ((resultFuncArgs_0: {
421
- isItemEditable: ((item: any) => boolean) | boolean;
422
- editedItemId: string | null;
423
- } | undefined) => boolean) & {
424
- clearCache: () => void;
425
- resultsCount: () => number;
426
- resetResultsCount: () => void;
427
- };
428
- lastResult: () => boolean;
429
- dependencies: [import("@mui/x-tree-view/internals/utils/selectors").TreeViewRootSelector<import("@mui/x-tree-view/internals").UseTreeViewLabelSignature, true>];
430
- recomputations: () => number;
431
- resetRecomputations: () => void;
432
- dependencyRecomputations: () => number;
433
- resetDependencyRecomputations: () => void;
434
- } & {
435
- memoize: typeof import("reselect").weakMapMemoize;
436
- argsMemoize: typeof import("reselect").weakMapMemoize;
437
- }, (_: any, itemId: string) => string];
438
- recomputations: () => number;
439
- resetRecomputations: () => void;
440
- dependencyRecomputations: () => number;
441
- resetDependencyRecomputations: () => void;
442
- } & {
443
- memoize: typeof import("reselect").weakMapMemoize;
444
- argsMemoize: typeof import("reselect").weakMapMemoize;
21
+ /**
22
+ * Checks whether an item is a valid target for the dragged item.
23
+ */
24
+ isItemValidDropTarget: (state: TreeViewState<[UseTreeViewItemsReorderingSignature]>, itemId: string) => boolean;
25
+ /**
26
+ * Checks whether an item can be reordered.
27
+ */
28
+ canItemBeReordered: (args_0: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItemsReordering.types.js").UseTreeViewItemsReorderingState & Partial<{}>, itemId: string) => boolean;
445
29
  };
@@ -3,54 +3,39 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectorIsItemValidReorderingTarget = exports.selectorDraggedItemProperties = exports.selectorCurrentItemReordering = exports.selectorCanItemBeReordered = void 0;
6
+ exports.itemsReorderingSelectors = void 0;
7
+ var _store = require("@mui/x-internals/store");
7
8
  var _internals = require("@mui/x-tree-view/internals");
8
- /**
9
- * Get the items reordering state.
10
- * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
11
- * @returns {TreeViewItemsReorderingState} The items reordering state.
12
- */
13
- const selectorItemsReordering = state => state.itemsReordering;
14
-
15
- /**
16
- * Get the properties of the current reordering.
17
- * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
18
- * @returns {TreeViewItemsReorderingState['currentReorder']} The properties of the current reordering.
19
- */
20
- const selectorCurrentItemReordering = exports.selectorCurrentItemReordering = (0, _internals.createSelector)([selectorItemsReordering], itemsReordering => itemsReordering.currentReorder);
21
-
22
- /**
23
- * Get the properties of the dragged item.
24
- * @param {TreeViewState<[UseTreeViewItemsSignature, UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
25
- * @param {string} itemId The id of the item.
26
- * @returns {TreeViewItemDraggedItemProperties | null} The properties of the dragged item if the current item is being dragged, `null` otherwise.
27
- */
28
- const selectorDraggedItemProperties = exports.selectorDraggedItemProperties = (0, _internals.createSelector)([selectorCurrentItemReordering, _internals.selectorItemMetaLookup, (_, itemId) => itemId], (currentReorder, itemMetaLookup, itemId) => {
29
- if (!currentReorder || currentReorder.targetItemId !== itemId || currentReorder.action == null) {
30
- return null;
31
- }
32
- const targetDepth = currentReorder.newPosition?.parentId == null ? 0 :
33
- // The depth is always defined because drag&drop is only usable with Rich Tree View components.
34
- itemMetaLookup[itemId].depth + 1;
35
- return {
36
- newPosition: currentReorder.newPosition,
37
- action: currentReorder.action,
38
- targetDepth
39
- };
40
- });
41
-
42
- /**
43
- * Check if the current item is a valid target for the dragged item.
44
- * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
45
- * @param {string} itemId The id of the item.
46
- * @returns {boolean} `true` if the current item is a valid target for the dragged item, `false` otherwise.
47
- */
48
- const selectorIsItemValidReorderingTarget = exports.selectorIsItemValidReorderingTarget = (0, _internals.createSelector)([selectorCurrentItemReordering, (_, itemId) => itemId], (currentReorder, itemId) => currentReorder && currentReorder.draggedItemId !== itemId);
49
-
50
- /**
51
- * Check if the items can be reordered.
52
- * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
53
- * @param {string} itemId The id of the item.
54
- * @returns {boolean} `true` if the items can be reordered, `false` otherwise.
55
- */
56
- const selectorCanItemBeReordered = exports.selectorCanItemBeReordered = (0, _internals.createSelector)([selectorItemsReordering, _internals.selectorIsAnyItemBeingEdited, (_, itemId) => itemId], (itemsReordering, isEditing, itemId) => !isEditing && itemsReordering.isItemReorderable(itemId));
9
+ const itemsReorderingSelectors = exports.itemsReorderingSelectors = {
10
+ /**
11
+ * Gets the properties of the current reordering.
12
+ */
13
+ currentReorder: (0, _store.createSelector)(state => state.itemsReordering.currentReorder),
14
+ /**
15
+ * Gets the properties of the dragged item.
16
+ */
17
+ draggedItemProperties: (0, _store.createSelector)(state => state.itemsReordering.currentReorder, _internals.itemsSelectors.itemMetaLookup, (currentReorder, itemMetaLookup, itemId) => {
18
+ if (!currentReorder || currentReorder.targetItemId !== itemId || currentReorder.action == null) {
19
+ return null;
20
+ }
21
+ const targetDepth = currentReorder.newPosition?.parentId == null ? 0 :
22
+ // The depth is always defined because drag&drop is only usable with Rich Tree View components.
23
+ itemMetaLookup[itemId].depth + 1;
24
+ return {
25
+ newPosition: currentReorder.newPosition,
26
+ action: currentReorder.action,
27
+ targetDepth
28
+ };
29
+ }),
30
+ /**
31
+ * Checks whether an item is a valid target for the dragged item.
32
+ */
33
+ isItemValidDropTarget: (0, _store.createSelector)((state, itemId) => {
34
+ const draggedItemId = state.itemsReordering.currentReorder?.draggedItemId;
35
+ return draggedItemId != null && draggedItemId !== itemId;
36
+ }),
37
+ /**
38
+ * Checks whether an item can be reordered.
39
+ */
40
+ canItemBeReordered: (0, _store.createSelector)(state => state.itemsReordering.isItemReorderable, _internals.labelSelectors.isAnyItemBeingEdited, (isItemReorderable, isEditing, itemId) => !isEditing && isItemReorderable(itemId))
41
+ };
@@ -11,7 +11,7 @@ var _internals = require("@mui/x-tree-view/internals");
11
11
  * Checks if the item with the id itemIdB is an ancestor of the item with the id itemIdA.
12
12
  */
13
13
  const isAncestor = (store, itemIdA, itemIdB) => {
14
- const itemMetaA = (0, _internals.selectorItemMeta)(store.value, itemIdA);
14
+ const itemMetaA = _internals.itemsSelectors.itemMeta(store.state, itemIdA);
15
15
  if (itemMetaA.parentId === itemIdB) {
16
16
  return true;
17
17
  }