@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.
Files changed (110) hide show
  1. package/CHANGELOG.md +161 -1
  2. package/RichTreeViewPro/RichTreeViewPro.d.ts +4 -4
  3. package/RichTreeViewPro/RichTreeViewPro.js +81 -75
  4. package/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +2 -3
  5. package/RichTreeViewPro/RichTreeViewPro.plugins.js +9 -3
  6. package/RichTreeViewPro/RichTreeViewPro.types.d.ts +38 -38
  7. package/RichTreeViewPro/RichTreeViewPro.types.js +5 -1
  8. package/RichTreeViewPro/index.d.ts +3 -3
  9. package/RichTreeViewPro/index.js +27 -3
  10. package/RichTreeViewPro/richTreeViewProClasses.d.ts +3 -3
  11. package/RichTreeViewPro/richTreeViewProClasses.js +13 -5
  12. package/esm/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
  13. package/{node → esm}/RichTreeViewPro/RichTreeViewPro.js +75 -81
  14. package/esm/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
  15. package/esm/RichTreeViewPro/RichTreeViewPro.plugins.js +5 -0
  16. package/esm/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
  17. package/esm/RichTreeViewPro/RichTreeViewPro.types.js +1 -0
  18. package/esm/RichTreeViewPro/index.d.ts +3 -0
  19. package/esm/RichTreeViewPro/index.js +3 -0
  20. package/esm/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
  21. package/esm/RichTreeViewPro/richTreeViewProClasses.js +6 -0
  22. package/esm/index.d.ts +12 -0
  23. package/esm/index.js +22 -0
  24. package/esm/internals/index.d.ts +1 -0
  25. package/esm/internals/index.js +1 -0
  26. package/esm/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
  27. package/esm/internals/plugins/useTreeViewItemsReordering/index.js +1 -0
  28. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
  29. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
  30. package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +10 -19
  31. package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +26 -35
  32. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +179 -0
  33. package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +4 -11
  34. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +132 -0
  35. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +1 -0
  36. package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
  37. package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +21 -31
  38. package/esm/internals/utils/releaseInfo.d.ts +1 -0
  39. package/esm/internals/utils/releaseInfo.js +13 -0
  40. package/esm/internals/zero-styled/index.d.ts +3 -0
  41. package/esm/internals/zero-styled/index.js +7 -0
  42. package/esm/package.json +1 -0
  43. package/esm/themeAugmentation/components.d.ts +11 -0
  44. package/esm/themeAugmentation/index.d.ts +3 -0
  45. package/esm/themeAugmentation/index.js +0 -0
  46. package/esm/themeAugmentation/overrides.d.ts +12 -0
  47. package/esm/themeAugmentation/props.d.ts +10 -0
  48. package/index.d.ts +2 -2
  49. package/index.js +147 -15
  50. package/internals/index.d.ts +1 -1
  51. package/internals/index.js +12 -1
  52. package/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -2
  53. package/internals/plugins/useTreeViewItemsReordering/index.js +12 -1
  54. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +2 -2
  55. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +1 -1
  56. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +19 -10
  57. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +35 -26
  58. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +134 -134
  59. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +11 -4
  60. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +108 -114
  61. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +5 -1
  62. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +28 -15
  63. package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +31 -21
  64. package/internals/utils/releaseInfo.d.ts +1 -1
  65. package/internals/utils/releaseInfo.js +13 -5
  66. package/internals/zero-styled/index.d.ts +1 -1
  67. package/internals/zero-styled/index.js +14 -4
  68. package/modern/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
  69. package/modern/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
  70. package/modern/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
  71. package/modern/RichTreeViewPro/index.d.ts +3 -0
  72. package/modern/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
  73. package/modern/index.d.ts +12 -0
  74. package/modern/index.js +1 -1
  75. package/modern/internals/index.d.ts +1 -0
  76. package/modern/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
  77. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
  78. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
  79. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +179 -0
  80. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +132 -0
  81. package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
  82. package/modern/internals/utils/releaseInfo.d.ts +1 -0
  83. package/modern/internals/utils/releaseInfo.js +1 -1
  84. package/modern/internals/zero-styled/index.d.ts +3 -0
  85. package/modern/package.json +1 -0
  86. package/modern/themeAugmentation/components.d.ts +11 -0
  87. package/modern/themeAugmentation/index.d.ts +3 -0
  88. package/modern/themeAugmentation/overrides.d.ts +12 -0
  89. package/modern/themeAugmentation/props.d.ts +10 -0
  90. package/package.json +40 -10
  91. package/themeAugmentation/components.d.ts +1 -3
  92. package/themeAugmentation/index.d.ts +1 -1
  93. package/themeAugmentation/index.js +1 -0
  94. package/themeAugmentation/overrides.d.ts +2 -3
  95. package/themeAugmentation/props.d.ts +2 -4
  96. package/tsconfig.build.tsbuildinfo +1 -0
  97. package/RichTreeViewPro/package.json +0 -6
  98. package/internals/package.json +0 -6
  99. package/node/RichTreeViewPro/RichTreeViewPro.plugins.js +0 -11
  100. package/node/RichTreeViewPro/RichTreeViewPro.types.js +0 -5
  101. package/node/RichTreeViewPro/index.js +0 -27
  102. package/node/RichTreeViewPro/richTreeViewProClasses.js +0 -14
  103. package/node/index.js +0 -154
  104. package/node/internals/index.js +0 -12
  105. package/node/internals/plugins/useTreeViewItemsReordering/index.js +0 -12
  106. package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -5
  107. package/node/internals/utils/releaseInfo.js +0 -21
  108. package/node/internals/zero-styled/index.js +0 -17
  109. package/node/themeAugmentation/index.js +0 -1
  110. package/themeAugmentation/package.json +0 -6
@@ -0,0 +1,3 @@
1
+ export * from "./RichTreeViewPro.js";
2
+ export * from "./richTreeViewProClasses.js";
3
+ export {};
@@ -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,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getRichTreeViewProUtilityClass(slot) {
4
+ return generateUtilityClass('MuiRichTreeViewPro', slot);
5
+ }
6
+ export const richTreeViewProClasses = generateUtilityClasses('MuiRichTreeViewPro', ['root']);
package/esm/index.d.ts ADDED
@@ -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/esm/index.js ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @mui/x-tree-view-pro v8.0.0-alpha.12
3
+ *
4
+ * @license MUI X Commercial
5
+ * This source code is licensed under the commercial license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ // Tree View
9
+ export * from '@mui/x-tree-view/SimpleTreeView';
10
+ export * from "./RichTreeViewPro/index.js";
11
+
12
+ // Tree Item
13
+ export * from '@mui/x-tree-view/TreeItem';
14
+ export * from '@mui/x-tree-view/useTreeItem';
15
+ export * from '@mui/x-tree-view/TreeItemIcon';
16
+ export * from '@mui/x-tree-view/TreeItemProvider';
17
+ export * from '@mui/x-tree-view/TreeItemDragAndDropOverlay';
18
+ export * from '@mui/x-tree-view/TreeItemLabelInput';
19
+ export { unstable_resetCleanupTracking } from '@mui/x-tree-view/internals';
20
+ export * from '@mui/x-tree-view/models';
21
+ export * from '@mui/x-tree-view/icons';
22
+ export * from '@mui/x-tree-view/hooks';
@@ -0,0 +1 @@
1
+ export { UseTreeViewItemsReorderingSignature } from "./plugins/useTreeViewItemsReordering/index.js";
@@ -0,0 +1 @@
1
+ export { UseTreeViewItemsReorderingSignature } from "./plugins/useTreeViewItemsReordering/index.js";
@@ -0,0 +1,2 @@
1
+ export { useTreeViewItemsReordering } from "./useTreeViewItemsReordering.js";
2
+ export type { UseTreeViewItemsReorderingSignature, UseTreeViewItemsReorderingParameters, UseTreeViewItemsReorderingDefaultizedParameters, TreeViewItemReorderPosition } from './useTreeViewItemsReordering.types';
@@ -0,0 +1 @@
1
+ export { useTreeViewItemsReordering } from "./useTreeViewItemsReordering.js";
@@ -0,0 +1,3 @@
1
+ import { TreeViewPlugin } from '@mui/x-tree-view/internals';
2
+ import { UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.js";
3
+ export declare const useTreeViewItemsReordering: TreeViewPlugin<UseTreeViewItemsReorderingSignature>;
@@ -0,0 +1,3 @@
1
+ import { TreeViewItemPlugin } from '@mui/x-tree-view/internals';
2
+ export declare const isAndroid: () => boolean;
3
+ export declare const useTreeViewItemsReorderingItemPlugin: TreeViewItemPlugin;
@@ -1,29 +1,21 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useTreeViewItemsReorderingItemPlugin = exports.isAndroid = void 0;
8
- var React = _interopRequireWildcard(require("react"));
9
- var _internals = require("@mui/x-tree-view/internals");
10
- var _useTreeViewItemsReordering = require("./useTreeViewItemsReordering.selectors");
11
- const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');
12
- exports.isAndroid = isAndroid;
13
- const useTreeViewItemsReorderingItemPlugin = ({
1
+ import * as React from 'react';
2
+ import { useTreeViewContext, isTargetInDescendants, useSelector } from '@mui/x-tree-view/internals';
3
+ import { selectorItemsReorderingDraggedItemProperties, selectorItemsReorderingIsValidTarget } from "./useTreeViewItemsReordering.selectors.js";
4
+ export const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');
5
+ export const useTreeViewItemsReorderingItemPlugin = ({
14
6
  props
15
7
  }) => {
16
8
  const {
17
9
  instance,
18
10
  store,
19
11
  itemsReordering
20
- } = (0, _internals.useTreeViewContext)();
12
+ } = useTreeViewContext();
21
13
  const {
22
14
  itemId
23
15
  } = props;
24
16
  const validActionsRef = React.useRef(null);
25
- const draggedItemProperties = (0, _internals.useSelector)(store, _useTreeViewItemsReordering.selectorItemsReorderingDraggedItemProperties, itemId);
26
- const isValidTarget = (0, _internals.useSelector)(store, _useTreeViewItemsReordering.selectorItemsReorderingIsValidTarget, itemId);
17
+ const draggedItemProperties = useSelector(store, selectorItemsReorderingDraggedItemProperties, itemId);
18
+ const isValidTarget = useSelector(store, selectorItemsReorderingIsValidTarget, itemId);
27
19
  return {
28
20
  propsEnhancers: {
29
21
  root: ({
@@ -42,7 +34,7 @@ const useTreeViewItemsReorderingItemPlugin = ({
42
34
 
43
35
  // We don't use `event.currentTarget` here.
44
36
  // This is to allow people to pass `onDragStart` to another element than the root.
45
- if ((0, _internals.isTargetInDescendants)(event.target, rootRefObject.current)) {
37
+ if (isTargetInDescendants(event.target, rootRefObject.current)) {
46
38
  return;
47
39
  }
48
40
 
@@ -131,5 +123,4 @@ const useTreeViewItemsReorderingItemPlugin = ({
131
123
  }
132
124
  }
133
125
  };
134
- };
135
- exports.useTreeViewItemsReorderingItemPlugin = useTreeViewItemsReorderingItemPlugin;
126
+ };
@@ -1,18 +1,10 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.useTreeViewItemsReordering = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var _internals = require("@mui/x-tree-view/internals");
12
- var _useTreeViewItemsReordering = require("./useTreeViewItemsReordering.utils");
13
- var _useTreeViewItemsReordering2 = require("./useTreeViewItemsReordering.itemPlugin");
14
- var _useTreeViewItemsReordering3 = require("./useTreeViewItemsReordering.selectors");
15
- const useTreeViewItemsReordering = ({
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import { selectorItemIndex, selectorItemMeta, selectorItemOrderedChildrenIds } from '@mui/x-tree-view/internals';
4
+ import { chooseActionToApply, isAncestor, moveItemInTree } from "./useTreeViewItemsReordering.utils.js";
5
+ import { useTreeViewItemsReorderingItemPlugin } from "./useTreeViewItemsReordering.itemPlugin.js";
6
+ import { selectorItemsReordering } from "./useTreeViewItemsReordering.selectors.js";
7
+ export const useTreeViewItemsReordering = ({
16
8
  params,
17
9
  store
18
10
  }) => {
@@ -27,7 +19,7 @@ const useTreeViewItemsReordering = ({
27
19
  return true;
28
20
  }, [params.itemsReordering, params.isItemReorderable]);
29
21
  const getDroppingTargetValidActions = React.useCallback(itemId => {
30
- const itemsReordering = (0, _useTreeViewItemsReordering3.selectorItemsReordering)(store.value);
22
+ const itemsReordering = selectorItemsReordering(store.value);
31
23
  if (!itemsReordering) {
32
24
  throw new Error('There is no ongoing reordering.');
33
25
  }
@@ -35,10 +27,10 @@ const useTreeViewItemsReordering = ({
35
27
  return {};
36
28
  }
37
29
  const canMoveItemToNewPosition = params.canMoveItemToNewPosition;
38
- const targetItemMeta = (0, _internals.selectorItemMeta)(store.value, itemId);
39
- const targetItemIndex = (0, _internals.selectorItemIndex)(store.value, targetItemMeta.id);
40
- const draggedItemMeta = (0, _internals.selectorItemMeta)(store.value, itemsReordering.draggedItemId);
41
- const draggedItemIndex = (0, _internals.selectorItemIndex)(store.value, draggedItemMeta.id);
30
+ const targetItemMeta = selectorItemMeta(store.value, itemId);
31
+ const targetItemIndex = selectorItemIndex(store.value, targetItemMeta.id);
32
+ const draggedItemMeta = selectorItemMeta(store.value, itemsReordering.draggedItemId);
33
+ const draggedItemIndex = selectorItemIndex(store.value, draggedItemMeta.id);
42
34
  const oldPosition = {
43
35
  parentId: draggedItemMeta.parentId,
44
36
  index: draggedItemIndex
@@ -74,7 +66,7 @@ const useTreeViewItemsReordering = ({
74
66
  },
75
67
  'move-to-parent': targetItemMeta.parentId == null ? null : {
76
68
  parentId: targetItemMeta.parentId,
77
- index: (0, _internals.selectorItemOrderedChildrenIds)(store.value, targetItemMeta.parentId).length
69
+ index: selectorItemOrderedChildrenIds(store.value, targetItemMeta.parentId).length
78
70
  }
79
71
  };
80
72
  const validActions = {};
@@ -87,7 +79,7 @@ const useTreeViewItemsReordering = ({
87
79
  return validActions;
88
80
  }, [store, params.canMoveItemToNewPosition]);
89
81
  const startDraggingItem = React.useCallback(itemId => {
90
- store.update(prevState => (0, _extends2.default)({}, prevState, {
82
+ store.update(prevState => _extends({}, prevState, {
91
83
  itemsReordering: {
92
84
  targetItemId: itemId,
93
85
  draggedItemId: itemId,
@@ -97,25 +89,25 @@ const useTreeViewItemsReordering = ({
97
89
  }));
98
90
  }, [store]);
99
91
  const stopDraggingItem = React.useCallback(itemId => {
100
- const itemsReordering = (0, _useTreeViewItemsReordering3.selectorItemsReordering)(store.value);
92
+ const itemsReordering = selectorItemsReordering(store.value);
101
93
  if (itemsReordering == null || itemsReordering.draggedItemId !== itemId) {
102
94
  return;
103
95
  }
104
96
  if (itemsReordering.draggedItemId === itemsReordering.targetItemId || itemsReordering.action == null || itemsReordering.newPosition == null) {
105
- store.update(prevState => (0, _extends2.default)({}, prevState, {
97
+ store.update(prevState => _extends({}, prevState, {
106
98
  itemsReordering: null
107
99
  }));
108
100
  return;
109
101
  }
110
- const draggedItemMeta = (0, _internals.selectorItemMeta)(store.value, itemsReordering.draggedItemId);
102
+ const draggedItemMeta = selectorItemMeta(store.value, itemsReordering.draggedItemId);
111
103
  const oldPosition = {
112
104
  parentId: draggedItemMeta.parentId,
113
- index: (0, _internals.selectorItemIndex)(store.value, draggedItemMeta.id)
105
+ index: selectorItemIndex(store.value, draggedItemMeta.id)
114
106
  };
115
107
  const newPosition = itemsReordering.newPosition;
116
- store.update(prevState => (0, _extends2.default)({}, prevState, {
108
+ store.update(prevState => _extends({}, prevState, {
117
109
  itemsReordering: null,
118
- items: (0, _useTreeViewItemsReordering.moveItemInTree)({
110
+ items: moveItemInTree({
119
111
  itemToMoveId: itemId,
120
112
  newPosition,
121
113
  oldPosition,
@@ -139,10 +131,10 @@ const useTreeViewItemsReordering = ({
139
131
  }) => {
140
132
  store.update(prevState => {
141
133
  const prevSubState = prevState.itemsReordering;
142
- if (prevSubState == null || (0, _useTreeViewItemsReordering.isAncestor)(store, itemId, prevSubState.draggedItemId)) {
134
+ if (prevSubState == null || isAncestor(store, itemId, prevSubState.draggedItemId)) {
143
135
  return prevState;
144
136
  }
145
- const action = (0, _useTreeViewItemsReordering.chooseActionToApply)({
137
+ const action = chooseActionToApply({
146
138
  itemChildrenIndentation: params.itemChildrenIndentation,
147
139
  validActions,
148
140
  targetHeight,
@@ -155,8 +147,8 @@ const useTreeViewItemsReordering = ({
155
147
  if (prevSubState.targetItemId === itemId && prevSubState.action === action && prevSubState.newPosition?.parentId === newPosition?.parentId && prevSubState.newPosition?.index === newPosition?.index) {
156
148
  return prevState;
157
149
  }
158
- return (0, _extends2.default)({}, prevState, {
159
- itemsReordering: (0, _extends2.default)({}, prevSubState, {
150
+ return _extends({}, prevState, {
151
+ itemsReordering: _extends({}, prevSubState, {
160
152
  targetItemId: itemId,
161
153
  newPosition,
162
154
  action
@@ -181,11 +173,10 @@ const useTreeViewItemsReordering = ({
181
173
  contextValue: pluginContextValue
182
174
  };
183
175
  };
184
- exports.useTreeViewItemsReordering = useTreeViewItemsReordering;
185
- useTreeViewItemsReordering.itemPlugin = _useTreeViewItemsReordering2.useTreeViewItemsReorderingItemPlugin;
176
+ useTreeViewItemsReordering.itemPlugin = useTreeViewItemsReorderingItemPlugin;
186
177
  useTreeViewItemsReordering.getDefaultizedParams = ({
187
178
  params
188
- }) => (0, _extends2.default)({}, params, {
179
+ }) => _extends({}, params, {
189
180
  itemsReordering: params.itemsReordering ?? false
190
181
  });
191
182
  useTreeViewItemsReordering.getInitialState = () => ({
@@ -0,0 +1,179 @@
1
+ import { TreeViewState } from '@mui/x-tree-view/internals';
2
+ import { UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.js";
3
+ /**
4
+ * Get the items reordering state.
5
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
6
+ * @returns {TreeViewItemsReorderingState | null} The items reordering state.
7
+ */
8
+ export declare const selectorItemsReordering: (state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
9
+ draggedItemId: string;
10
+ targetItemId: string;
11
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
12
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
13
+ } | null;
14
+ /**
15
+ * Get the properties of the dragged item.
16
+ * @param {TreeViewState<[UseTreeViewItemsSignature, UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
17
+ * @param {string} itemId The id of the item.
18
+ * @returns {TreeViewItemDraggedItemProperties | null} The properties of the dragged item if the current item is being dragged, `null` otherwise.
19
+ */
20
+ export declare const selectorItemsReorderingDraggedItemProperties: ((state: any, itemId: string) => {
21
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
22
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
23
+ targetDepth: number;
24
+ } | null) & {
25
+ clearCache: () => void;
26
+ resultsCount: () => number;
27
+ resetResultsCount: () => void;
28
+ } & {
29
+ resultFunc: (resultFuncArgs_0: {
30
+ draggedItemId: string;
31
+ targetItemId: string;
32
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
33
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
34
+ } | null, resultFuncArgs_1: {
35
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
36
+ }, resultFuncArgs_2: string) => {
37
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
38
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
39
+ targetDepth: number;
40
+ } | null;
41
+ memoizedResultFunc: ((resultFuncArgs_0: {
42
+ draggedItemId: string;
43
+ targetItemId: string;
44
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
45
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
46
+ } | null, resultFuncArgs_1: {
47
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
48
+ }, resultFuncArgs_2: string) => {
49
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
50
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
51
+ targetDepth: number;
52
+ } | null) & {
53
+ clearCache: () => void;
54
+ resultsCount: () => number;
55
+ resetResultsCount: () => void;
56
+ };
57
+ lastResult: () => {
58
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
59
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction;
60
+ targetDepth: number;
61
+ } | null;
62
+ dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
63
+ draggedItemId: string;
64
+ targetItemId: string;
65
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
66
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
67
+ } | null, ((state: import("@mui/x-tree-view/internals/corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("@mui/x-tree-view/internals").UseTreeViewItemsState<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties> & Partial<{}> & {
68
+ cacheKey: import("@mui/x-tree-view/internals/models").TreeViewStateCacheKey;
69
+ }) => {
70
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
71
+ }) & {
72
+ clearCache: () => void;
73
+ resultsCount: () => number;
74
+ resetResultsCount: () => void;
75
+ } & {
76
+ resultFunc: (resultFuncArgs_0: {
77
+ disabledItemsFocusable: boolean;
78
+ itemModelLookup: {
79
+ [itemId: string]: import("@mui/x-tree-view").TreeViewBaseItem<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties>;
80
+ };
81
+ itemMetaLookup: {
82
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
83
+ };
84
+ itemOrderedChildrenIdsLookup: {
85
+ [parentItemId: string]: string[];
86
+ };
87
+ itemChildrenIndexesLookup: {
88
+ [parentItemId: string]: {
89
+ [itemId: string]: number;
90
+ };
91
+ };
92
+ }) => {
93
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
94
+ };
95
+ memoizedResultFunc: ((resultFuncArgs_0: {
96
+ disabledItemsFocusable: boolean;
97
+ itemModelLookup: {
98
+ [itemId: string]: import("@mui/x-tree-view").TreeViewBaseItem<import("@mui/x-tree-view").TreeViewDefaultItemModelProperties>;
99
+ };
100
+ itemMetaLookup: {
101
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
102
+ };
103
+ itemOrderedChildrenIdsLookup: {
104
+ [parentItemId: string]: string[];
105
+ };
106
+ itemChildrenIndexesLookup: {
107
+ [parentItemId: string]: {
108
+ [itemId: string]: number;
109
+ };
110
+ };
111
+ }) => {
112
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
113
+ }) & {
114
+ clearCache: () => void;
115
+ resultsCount: () => number;
116
+ resetResultsCount: () => void;
117
+ };
118
+ lastResult: () => {
119
+ [itemId: string]: import("@mui/x-tree-view/internals").TreeViewItemMeta;
120
+ };
121
+ dependencies: [import("@mui/x-tree-view/internals/utils/selectors").TreeViewRootSelector<import("@mui/x-tree-view/internals").UseTreeViewItemsSignature>];
122
+ recomputations: () => number;
123
+ resetRecomputations: () => void;
124
+ dependencyRecomputations: () => number;
125
+ resetDependencyRecomputations: () => void;
126
+ } & {
127
+ argsMemoize: typeof import("reselect").weakMapMemoize;
128
+ memoize: typeof import("reselect").weakMapMemoize;
129
+ }, (_: any, itemId: string) => string];
130
+ recomputations: () => number;
131
+ resetRecomputations: () => void;
132
+ dependencyRecomputations: () => number;
133
+ resetDependencyRecomputations: () => void;
134
+ } & {
135
+ argsMemoize: typeof import("reselect").weakMapMemoize;
136
+ memoize: typeof import("reselect").weakMapMemoize;
137
+ };
138
+ /**
139
+ * Check if the current item is a valid target for the dragged item.
140
+ * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
141
+ * @param {string} itemId The id of the item.
142
+ * @returns {boolean} `true` if the current item is a valid target for the dragged item, `false` otherwise.
143
+ */
144
+ export declare const selectorItemsReorderingIsValidTarget: ((state: any, itemId: string) => boolean | null) & {
145
+ clearCache: () => void;
146
+ resultsCount: () => number;
147
+ resetResultsCount: () => void;
148
+ } & {
149
+ resultFunc: (resultFuncArgs_0: {
150
+ draggedItemId: string;
151
+ targetItemId: string;
152
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
153
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
154
+ } | null, resultFuncArgs_1: string) => boolean | null;
155
+ memoizedResultFunc: ((resultFuncArgs_0: {
156
+ draggedItemId: string;
157
+ targetItemId: string;
158
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
159
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
160
+ } | null, resultFuncArgs_1: string) => boolean | null) & {
161
+ clearCache: () => void;
162
+ resultsCount: () => number;
163
+ resetResultsCount: () => void;
164
+ };
165
+ lastResult: () => boolean | null;
166
+ dependencies: [(state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => {
167
+ draggedItemId: string;
168
+ targetItemId: string;
169
+ newPosition: import("./useTreeViewItemsReordering.types").TreeViewItemReorderPosition | null;
170
+ action: import("@mui/x-tree-view").TreeViewItemsReorderingAction | null;
171
+ } | null, (_: any, itemId: string) => string];
172
+ recomputations: () => number;
173
+ resetRecomputations: () => void;
174
+ dependencyRecomputations: () => number;
175
+ resetDependencyRecomputations: () => void;
176
+ } & {
177
+ argsMemoize: typeof import("reselect").weakMapMemoize;
178
+ memoize: typeof import("reselect").weakMapMemoize;
179
+ };
@@ -1,16 +1,10 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.selectorItemsReorderingIsValidTarget = exports.selectorItemsReorderingDraggedItemProperties = exports.selectorItemsReordering = void 0;
7
- var _internals = require("@mui/x-tree-view/internals");
1
+ import { createSelector, selectorItemMetaLookup } from '@mui/x-tree-view/internals';
8
2
  /**
9
3
  * Get the items reordering state.
10
4
  * @param {TreeViewState<[UseTreeViewItemsReorderingSignature]>} state The state of the tree view.
11
5
  * @returns {TreeViewItemsReorderingState | null} The items reordering state.
12
6
  */
13
- const selectorItemsReordering = state => state.itemsReordering;
7
+ export const selectorItemsReordering = state => state.itemsReordering;
14
8
 
15
9
  /**
16
10
  * Get the properties of the dragged item.
@@ -18,8 +12,7 @@ const selectorItemsReordering = state => state.itemsReordering;
18
12
  * @param {string} itemId The id of the item.
19
13
  * @returns {TreeViewItemDraggedItemProperties | null} The properties of the dragged item if the current item is being dragged, `null` otherwise.
20
14
  */
21
- exports.selectorItemsReordering = selectorItemsReordering;
22
- const selectorItemsReorderingDraggedItemProperties = exports.selectorItemsReorderingDraggedItemProperties = (0, _internals.createSelector)([selectorItemsReordering, _internals.selectorItemMetaLookup, (_, itemId) => itemId], (itemsReordering, itemMetaLookup, itemId) => {
15
+ export const selectorItemsReorderingDraggedItemProperties = createSelector([selectorItemsReordering, selectorItemMetaLookup, (_, itemId) => itemId], (itemsReordering, itemMetaLookup, itemId) => {
23
16
  if (!itemsReordering || itemsReordering.targetItemId !== itemId || itemsReordering.action == null) {
24
17
  return null;
25
18
  }
@@ -39,4 +32,4 @@ const selectorItemsReorderingDraggedItemProperties = exports.selectorItemsReorde
39
32
  * @param {string} itemId The id of the item.
40
33
  * @returns {boolean} `true` if the current item is a valid target for the dragged item, `false` otherwise.
41
34
  */
42
- const selectorItemsReorderingIsValidTarget = exports.selectorItemsReorderingIsValidTarget = (0, _internals.createSelector)([selectorItemsReordering, (_, itemId) => itemId], (itemsReordering, itemId) => itemsReordering && itemsReordering.draggedItemId !== itemId);
35
+ export const selectorItemsReorderingIsValidTarget = createSelector([selectorItemsReordering, (_, itemId) => itemId], (itemsReordering, itemId) => itemsReordering && itemsReordering.draggedItemId !== itemId);
@@ -0,0 +1,132 @@
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
+ draggedItemId: string;
97
+ targetItemId: string;
98
+ newPosition: TreeViewItemReorderPosition | null;
99
+ action: TreeViewItemsReorderingAction | null;
100
+ } | null;
101
+ }
102
+ interface UseTreeViewItemsReorderingContextValue {
103
+ itemsReordering: {
104
+ enabled: boolean;
105
+ isItemReorderable: ((itemId: string) => boolean) | undefined;
106
+ };
107
+ }
108
+ export type UseTreeViewItemsReorderingSignature = TreeViewPluginSignature<{
109
+ params: UseTreeViewItemsReorderingParameters;
110
+ defaultizedParams: UseTreeViewItemsReorderingDefaultizedParameters;
111
+ instance: UseTreeViewItemsReorderingInstance;
112
+ state: UseTreeViewItemsReorderingState;
113
+ contextValue: UseTreeViewItemsReorderingContextValue;
114
+ dependencies: [UseTreeViewItemsSignature];
115
+ }>;
116
+ export interface UseTreeItemRootSlotPropsFromItemsReordering {
117
+ draggable?: true;
118
+ onDragStart?: TreeViewCancellableEventHandler<React.DragEvent>;
119
+ onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
120
+ onDragEnd?: TreeViewCancellableEventHandler<React.DragEvent>;
121
+ }
122
+ export interface UseTreeItemContentSlotPropsFromItemsReordering {
123
+ onDragEnter?: TreeViewCancellableEventHandler<React.DragEvent>;
124
+ onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
125
+ }
126
+ export interface UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering extends TreeItemDragAndDropOverlayProps {}
127
+ declare module '@mui/x-tree-view/useTreeItem' {
128
+ interface UseTreeItemRootSlotOwnProps extends UseTreeItemRootSlotPropsFromItemsReordering {}
129
+ interface UseTreeItemContentSlotOwnProps extends UseTreeItemContentSlotPropsFromItemsReordering {}
130
+ interface UseTreeItemDragAndDropOverlaySlotOwnProps extends UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering {}
131
+ }
132
+ export {};