@dnd-kit/react 0.0.1 → 0.0.2-beta-20240604015414
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +44 -31
- package/index.js +44 -31
- package/package.json +2 -2
- package/sortable.cjs +2 -8
- package/sortable.d.ts +1 -3
- package/sortable.js +3 -9
package/index.cjs
CHANGED
|
@@ -129,34 +129,41 @@ var DragDropProvider = react.forwardRef(
|
|
|
129
129
|
const handleDragEnd = hooks.useLatest(onDragEnd);
|
|
130
130
|
const handleCollision = hooks.useEvent(onCollision);
|
|
131
131
|
react.useEffect(() => {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
132
|
+
const listeners = [
|
|
133
|
+
manager.monitor.addEventListener(
|
|
134
|
+
"beforedragstart",
|
|
135
|
+
(event, manager2) => {
|
|
136
|
+
const callback = handleBeforeDragStart.current;
|
|
137
|
+
if (callback) {
|
|
138
|
+
trackRendering(() => callback(event, manager2));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
manager.monitor.addEventListener("dragstart", handleDragStart),
|
|
143
|
+
manager.monitor.addEventListener("dragover", (event, manager2) => {
|
|
144
|
+
const callback = handleDragOver.current;
|
|
145
|
+
if (callback) {
|
|
146
|
+
trackRendering(() => callback(event, manager2));
|
|
147
|
+
}
|
|
148
|
+
}),
|
|
149
|
+
manager.monitor.addEventListener("dragmove", (event, manager2) => {
|
|
150
|
+
const callback = handleDragMove.current;
|
|
151
|
+
if (callback) {
|
|
152
|
+
trackRendering(() => callback(event, manager2));
|
|
153
|
+
}
|
|
154
|
+
}),
|
|
155
|
+
manager.monitor.addEventListener("dragend", (event, manager2) => {
|
|
156
|
+
const callback = handleDragEnd.current;
|
|
157
|
+
if (callback) {
|
|
158
|
+
trackRendering(() => callback(event, manager2));
|
|
159
|
+
}
|
|
160
|
+
}),
|
|
161
|
+
manager.monitor.addEventListener("collision", handleCollision)
|
|
162
|
+
];
|
|
158
163
|
return () => {
|
|
159
|
-
|
|
164
|
+
for (const unsubscribe of listeners) {
|
|
165
|
+
unsubscribe();
|
|
166
|
+
}
|
|
160
167
|
};
|
|
161
168
|
}, [manager]);
|
|
162
169
|
hooks.useOnValueChange(
|
|
@@ -188,8 +195,11 @@ function useDraggable(input) {
|
|
|
188
195
|
() => draggable.feedback = input.feedback ?? "default"
|
|
189
196
|
);
|
|
190
197
|
react.useEffect(() => {
|
|
191
|
-
|
|
192
|
-
|
|
198
|
+
manager.registry.register(draggable);
|
|
199
|
+
return () => {
|
|
200
|
+
manager.registry.unregister(draggable);
|
|
201
|
+
};
|
|
202
|
+
}, [manager, draggable]);
|
|
193
203
|
return {
|
|
194
204
|
get isDragSource() {
|
|
195
205
|
return isDragSource.value;
|
|
@@ -225,8 +235,11 @@ function useDroppable(input) {
|
|
|
225
235
|
hooks.useOnValueChange(element, () => droppable.element = element);
|
|
226
236
|
hooks.useOnValueChange(type, () => droppable.id = id);
|
|
227
237
|
react.useEffect(() => {
|
|
228
|
-
|
|
229
|
-
|
|
238
|
+
manager.registry.register(droppable);
|
|
239
|
+
return () => {
|
|
240
|
+
manager.registry.unregister(droppable);
|
|
241
|
+
};
|
|
242
|
+
}, [manager, droppable]);
|
|
230
243
|
return {
|
|
231
244
|
get isDisabled() {
|
|
232
245
|
return isDisabled.value;
|
package/index.js
CHANGED
|
@@ -127,34 +127,41 @@ var DragDropProvider = forwardRef(
|
|
|
127
127
|
const handleDragEnd = useLatest(onDragEnd);
|
|
128
128
|
const handleCollision = useEvent(onCollision);
|
|
129
129
|
useEffect(() => {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
130
|
+
const listeners = [
|
|
131
|
+
manager.monitor.addEventListener(
|
|
132
|
+
"beforedragstart",
|
|
133
|
+
(event, manager2) => {
|
|
134
|
+
const callback = handleBeforeDragStart.current;
|
|
135
|
+
if (callback) {
|
|
136
|
+
trackRendering(() => callback(event, manager2));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
),
|
|
140
|
+
manager.monitor.addEventListener("dragstart", handleDragStart),
|
|
141
|
+
manager.monitor.addEventListener("dragover", (event, manager2) => {
|
|
142
|
+
const callback = handleDragOver.current;
|
|
143
|
+
if (callback) {
|
|
144
|
+
trackRendering(() => callback(event, manager2));
|
|
145
|
+
}
|
|
146
|
+
}),
|
|
147
|
+
manager.monitor.addEventListener("dragmove", (event, manager2) => {
|
|
148
|
+
const callback = handleDragMove.current;
|
|
149
|
+
if (callback) {
|
|
150
|
+
trackRendering(() => callback(event, manager2));
|
|
151
|
+
}
|
|
152
|
+
}),
|
|
153
|
+
manager.monitor.addEventListener("dragend", (event, manager2) => {
|
|
154
|
+
const callback = handleDragEnd.current;
|
|
155
|
+
if (callback) {
|
|
156
|
+
trackRendering(() => callback(event, manager2));
|
|
157
|
+
}
|
|
158
|
+
}),
|
|
159
|
+
manager.monitor.addEventListener("collision", handleCollision)
|
|
160
|
+
];
|
|
156
161
|
return () => {
|
|
157
|
-
|
|
162
|
+
for (const unsubscribe of listeners) {
|
|
163
|
+
unsubscribe();
|
|
164
|
+
}
|
|
158
165
|
};
|
|
159
166
|
}, [manager]);
|
|
160
167
|
useOnValueChange(
|
|
@@ -186,8 +193,11 @@ function useDraggable(input) {
|
|
|
186
193
|
() => draggable.feedback = input.feedback ?? "default"
|
|
187
194
|
);
|
|
188
195
|
useEffect(() => {
|
|
189
|
-
|
|
190
|
-
|
|
196
|
+
manager.registry.register(draggable);
|
|
197
|
+
return () => {
|
|
198
|
+
manager.registry.unregister(draggable);
|
|
199
|
+
};
|
|
200
|
+
}, [manager, draggable]);
|
|
191
201
|
return {
|
|
192
202
|
get isDragSource() {
|
|
193
203
|
return isDragSource.value;
|
|
@@ -223,8 +233,11 @@ function useDroppable(input) {
|
|
|
223
233
|
useOnValueChange(element, () => droppable.element = element);
|
|
224
234
|
useOnValueChange(type, () => droppable.id = id);
|
|
225
235
|
useEffect(() => {
|
|
226
|
-
|
|
227
|
-
|
|
236
|
+
manager.registry.register(droppable);
|
|
237
|
+
return () => {
|
|
238
|
+
manager.registry.unregister(droppable);
|
|
239
|
+
};
|
|
240
|
+
}, [manager, droppable]);
|
|
228
241
|
return {
|
|
229
242
|
get isDisabled() {
|
|
230
243
|
return isDisabled.value;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2-beta-20240604015414",
|
|
4
4
|
"main": "./index.cjs",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@dnd-kit/abstract": "*",
|
|
60
|
-
"@dnd-kit/dom": "
|
|
60
|
+
"@dnd-kit/dom": "0.0.2-beta-20240604015414",
|
|
61
61
|
"@dnd-kit/state": "*",
|
|
62
62
|
"tslib": "^2.6.2"
|
|
63
63
|
},
|
package/sortable.cjs
CHANGED
|
@@ -17,11 +17,11 @@ function useSortable(input) {
|
|
|
17
17
|
data,
|
|
18
18
|
index,
|
|
19
19
|
disabled,
|
|
20
|
+
feedback,
|
|
20
21
|
sensors,
|
|
21
22
|
transition = sortable.defaultSortableTransition,
|
|
22
23
|
type
|
|
23
24
|
} = input;
|
|
24
|
-
const feedback = typeof input.feedback === "function" ? "none" : input.feedback;
|
|
25
25
|
const manager = react.useDragDropManager();
|
|
26
26
|
const handle = utilities.getCurrentValue(input.handle);
|
|
27
27
|
const element = utilities.getCurrentValue(input.element);
|
|
@@ -71,14 +71,8 @@ function useSortable(input) {
|
|
|
71
71
|
collisionPriority,
|
|
72
72
|
() => sortable$1.collisionPriority = collisionPriority
|
|
73
73
|
);
|
|
74
|
-
hooks.useOnValueChange(
|
|
75
|
-
input.feedback,
|
|
76
|
-
() => sortable$1.feedback = feedback ?? "default"
|
|
77
|
-
);
|
|
74
|
+
hooks.useOnValueChange(feedback, () => sortable$1.feedback = feedback ?? "default");
|
|
78
75
|
hooks.useOnValueChange(transition, () => sortable$1.transition = transition);
|
|
79
|
-
react$1.useEffect(() => {
|
|
80
|
-
return sortable$1.destroy;
|
|
81
|
-
}, [sortable$1]);
|
|
82
76
|
return {
|
|
83
77
|
get isDisabled() {
|
|
84
78
|
return isDisabled.value;
|
package/sortable.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Data } from '@dnd-kit/abstract';
|
|
2
2
|
import { SortableInput } from '@dnd-kit/dom/sortable';
|
|
3
3
|
import { RefOrValue } from '@dnd-kit/react/utilities';
|
|
4
|
-
import { FeedbackType } from '@dnd-kit/dom';
|
|
5
4
|
|
|
6
|
-
interface UseSortableInput<T extends Data = Data> extends Omit<SortableInput<T>, 'handle' | 'element'
|
|
5
|
+
interface UseSortableInput<T extends Data = Data> extends Omit<SortableInput<T>, 'handle' | 'element'> {
|
|
7
6
|
handle?: RefOrValue<Element>;
|
|
8
7
|
element?: RefOrValue<Element>;
|
|
9
|
-
feedback?: FeedbackType | (() => React.ReactNode);
|
|
10
8
|
}
|
|
11
9
|
declare function useSortable<T extends Data = Data>(input: UseSortableInput<T>): {
|
|
12
10
|
readonly isDisabled: boolean;
|
package/sortable.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
2
|
import { deepEqual } from '@dnd-kit/state';
|
|
3
3
|
import { Sortable, defaultSortableTransition } from '@dnd-kit/dom/sortable';
|
|
4
4
|
import { useDragDropManager } from '@dnd-kit/react';
|
|
@@ -15,11 +15,11 @@ function useSortable(input) {
|
|
|
15
15
|
data,
|
|
16
16
|
index,
|
|
17
17
|
disabled,
|
|
18
|
+
feedback,
|
|
18
19
|
sensors,
|
|
19
20
|
transition = defaultSortableTransition,
|
|
20
21
|
type
|
|
21
22
|
} = input;
|
|
22
|
-
const feedback = typeof input.feedback === "function" ? "none" : input.feedback;
|
|
23
23
|
const manager = useDragDropManager();
|
|
24
24
|
const handle = getCurrentValue(input.handle);
|
|
25
25
|
const element = getCurrentValue(input.element);
|
|
@@ -69,14 +69,8 @@ function useSortable(input) {
|
|
|
69
69
|
collisionPriority,
|
|
70
70
|
() => sortable.collisionPriority = collisionPriority
|
|
71
71
|
);
|
|
72
|
-
useOnValueChange(
|
|
73
|
-
input.feedback,
|
|
74
|
-
() => sortable.feedback = feedback ?? "default"
|
|
75
|
-
);
|
|
72
|
+
useOnValueChange(feedback, () => sortable.feedback = feedback ?? "default");
|
|
76
73
|
useOnValueChange(transition, () => sortable.transition = transition);
|
|
77
|
-
useEffect(() => {
|
|
78
|
-
return sortable.destroy;
|
|
79
|
-
}, [sortable]);
|
|
80
74
|
return {
|
|
81
75
|
get isDisabled() {
|
|
82
76
|
return isDisabled.value;
|