@dnd-kit/react 0.0.4-beta-20240621184125 → 0.0.4-beta-20240622155137
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 +18 -16
- package/index.d.ts +1 -0
- package/index.js +18 -16
- package/package.json +4 -4
- package/sortable.cjs +7 -6
- package/sortable.d.ts +1 -0
- package/sortable.js +7 -6
package/index.cjs
CHANGED
|
@@ -4,8 +4,8 @@ var react = require('react');
|
|
|
4
4
|
var dom = require('@dnd-kit/dom');
|
|
5
5
|
var hooks = require('@dnd-kit/react/hooks');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var utilities = require('@dnd-kit/react/utilities');
|
|
8
7
|
var state = require('@dnd-kit/state');
|
|
8
|
+
var utilities = require('@dnd-kit/react/utilities');
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
11
11
|
var __defProps = Object.defineProperties;
|
|
@@ -169,33 +169,34 @@ function useDragDropManager() {
|
|
|
169
169
|
function useInstance(initializer) {
|
|
170
170
|
var _a;
|
|
171
171
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
172
|
-
const [instance] = react.useState(() => initializer(
|
|
172
|
+
const [instance] = react.useState(() => initializer());
|
|
173
173
|
react.useEffect(() => {
|
|
174
174
|
instance.manager = manager;
|
|
175
175
|
return manager == null ? void 0 : manager.registry.register(instance);
|
|
176
176
|
}, [instance, manager]);
|
|
177
177
|
return instance;
|
|
178
178
|
}
|
|
179
|
+
|
|
180
|
+
// src/core/draggable/useDraggable.ts
|
|
179
181
|
function useDraggable(input) {
|
|
180
|
-
const { disabled, id, modifiers, sensors } = input;
|
|
182
|
+
const { disabled, data, id, modifiers, sensors } = input;
|
|
181
183
|
const handle = utilities.currentValue(input.handle);
|
|
182
184
|
const element = utilities.currentValue(input.element);
|
|
183
185
|
const draggable = useInstance(
|
|
184
|
-
(
|
|
186
|
+
() => new dom.Draggable(
|
|
185
187
|
__spreadProps(__spreadValues({}, input), {
|
|
186
188
|
handle,
|
|
187
|
-
element
|
|
188
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
189
|
-
register: false
|
|
190
|
-
})
|
|
189
|
+
element
|
|
191
190
|
}),
|
|
192
|
-
|
|
191
|
+
void 0
|
|
193
192
|
)
|
|
194
193
|
);
|
|
195
194
|
const isDragSource = hooks.useComputed(() => draggable.isDragSource);
|
|
195
|
+
const status = hooks.useComputed(() => draggable.status);
|
|
196
196
|
hooks.useOnValueChange(id, () => draggable.id = id);
|
|
197
197
|
hooks.useOnValueChange(handle, () => draggable.handle = handle);
|
|
198
198
|
hooks.useOnValueChange(element, () => draggable.element = element);
|
|
199
|
+
hooks.useOnValueChange(data, () => data && (draggable.data = data));
|
|
199
200
|
hooks.useOnValueChange(disabled, () => draggable.disabled = disabled === true);
|
|
200
201
|
hooks.useOnValueChange(sensors, () => draggable.sensors = sensors);
|
|
201
202
|
hooks.useOnValueChange(
|
|
@@ -216,6 +217,9 @@ function useDraggable(input) {
|
|
|
216
217
|
get isDragSource() {
|
|
217
218
|
return isDragSource.value;
|
|
218
219
|
},
|
|
220
|
+
get status() {
|
|
221
|
+
return status.value;
|
|
222
|
+
},
|
|
219
223
|
handleRef: react.useCallback(
|
|
220
224
|
(element2) => {
|
|
221
225
|
draggable.handle = element2 != null ? element2 : void 0;
|
|
@@ -231,23 +235,21 @@ function useDraggable(input) {
|
|
|
231
235
|
};
|
|
232
236
|
}
|
|
233
237
|
function useDroppable(input) {
|
|
234
|
-
const { collisionDetector, disabled, id, accept, type } = input;
|
|
238
|
+
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
235
239
|
const element = utilities.currentValue(input.element);
|
|
236
240
|
const droppable = useInstance(
|
|
237
|
-
(
|
|
241
|
+
() => new dom.Droppable(
|
|
238
242
|
__spreadProps(__spreadValues({}, input), {
|
|
239
|
-
element
|
|
240
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
241
|
-
register: false
|
|
242
|
-
})
|
|
243
|
+
element
|
|
243
244
|
}),
|
|
244
|
-
|
|
245
|
+
void 0
|
|
245
246
|
)
|
|
246
247
|
);
|
|
247
248
|
const isDropTarget = hooks.useComputed(() => droppable.isDropTarget);
|
|
248
249
|
hooks.useOnValueChange(id, () => droppable.id = id);
|
|
249
250
|
hooks.useOnValueChange(accept, () => droppable.id = id, void 0, state.deepEqual);
|
|
250
251
|
hooks.useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
252
|
+
hooks.useOnValueChange(data, () => data && (droppable.data = data));
|
|
251
253
|
hooks.useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
252
254
|
hooks.useOnValueChange(element, () => droppable.element = element);
|
|
253
255
|
hooks.useOnValueChange(type, () => droppable.id = id);
|
package/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T
|
|
|
25
25
|
declare function useDraggable<T extends Data = Data>(input: UseDraggableInput<T>): {
|
|
26
26
|
draggable: Draggable<T>;
|
|
27
27
|
readonly isDragSource: boolean;
|
|
28
|
+
readonly status: "idle" | "dragging" | "dropping";
|
|
28
29
|
handleRef: (element: Element | null) => void;
|
|
29
30
|
ref: (element: Element | null) => void;
|
|
30
31
|
};
|
package/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import { createContext, useState, useEffect, startTransition, useContext, useCal
|
|
|
2
2
|
import { DragDropManager, defaultPreset, Draggable, Droppable } from '@dnd-kit/dom';
|
|
3
3
|
import { useLatest, useOnValueChange, useComputed, useConstant } from '@dnd-kit/react/hooks';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
import { currentValue } from '@dnd-kit/react/utilities';
|
|
6
5
|
import { deepEqual } from '@dnd-kit/state';
|
|
6
|
+
import { currentValue } from '@dnd-kit/react/utilities';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __defProps = Object.defineProperties;
|
|
@@ -167,33 +167,34 @@ function useDragDropManager() {
|
|
|
167
167
|
function useInstance(initializer) {
|
|
168
168
|
var _a;
|
|
169
169
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
170
|
-
const [instance] = useState(() => initializer(
|
|
170
|
+
const [instance] = useState(() => initializer());
|
|
171
171
|
useEffect(() => {
|
|
172
172
|
instance.manager = manager;
|
|
173
173
|
return manager == null ? void 0 : manager.registry.register(instance);
|
|
174
174
|
}, [instance, manager]);
|
|
175
175
|
return instance;
|
|
176
176
|
}
|
|
177
|
+
|
|
178
|
+
// src/core/draggable/useDraggable.ts
|
|
177
179
|
function useDraggable(input) {
|
|
178
|
-
const { disabled, id, modifiers, sensors } = input;
|
|
180
|
+
const { disabled, data, id, modifiers, sensors } = input;
|
|
179
181
|
const handle = currentValue(input.handle);
|
|
180
182
|
const element = currentValue(input.element);
|
|
181
183
|
const draggable = useInstance(
|
|
182
|
-
(
|
|
184
|
+
() => new Draggable(
|
|
183
185
|
__spreadProps(__spreadValues({}, input), {
|
|
184
186
|
handle,
|
|
185
|
-
element
|
|
186
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
187
|
-
register: false
|
|
188
|
-
})
|
|
187
|
+
element
|
|
189
188
|
}),
|
|
190
|
-
|
|
189
|
+
void 0
|
|
191
190
|
)
|
|
192
191
|
);
|
|
193
192
|
const isDragSource = useComputed(() => draggable.isDragSource);
|
|
193
|
+
const status = useComputed(() => draggable.status);
|
|
194
194
|
useOnValueChange(id, () => draggable.id = id);
|
|
195
195
|
useOnValueChange(handle, () => draggable.handle = handle);
|
|
196
196
|
useOnValueChange(element, () => draggable.element = element);
|
|
197
|
+
useOnValueChange(data, () => data && (draggable.data = data));
|
|
197
198
|
useOnValueChange(disabled, () => draggable.disabled = disabled === true);
|
|
198
199
|
useOnValueChange(sensors, () => draggable.sensors = sensors);
|
|
199
200
|
useOnValueChange(
|
|
@@ -214,6 +215,9 @@ function useDraggable(input) {
|
|
|
214
215
|
get isDragSource() {
|
|
215
216
|
return isDragSource.value;
|
|
216
217
|
},
|
|
218
|
+
get status() {
|
|
219
|
+
return status.value;
|
|
220
|
+
},
|
|
217
221
|
handleRef: useCallback(
|
|
218
222
|
(element2) => {
|
|
219
223
|
draggable.handle = element2 != null ? element2 : void 0;
|
|
@@ -229,23 +233,21 @@ function useDraggable(input) {
|
|
|
229
233
|
};
|
|
230
234
|
}
|
|
231
235
|
function useDroppable(input) {
|
|
232
|
-
const { collisionDetector, disabled, id, accept, type } = input;
|
|
236
|
+
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
233
237
|
const element = currentValue(input.element);
|
|
234
238
|
const droppable = useInstance(
|
|
235
|
-
(
|
|
239
|
+
() => new Droppable(
|
|
236
240
|
__spreadProps(__spreadValues({}, input), {
|
|
237
|
-
element
|
|
238
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
239
|
-
register: false
|
|
240
|
-
})
|
|
241
|
+
element
|
|
241
242
|
}),
|
|
242
|
-
|
|
243
|
+
void 0
|
|
243
244
|
)
|
|
244
245
|
);
|
|
245
246
|
const isDropTarget = useComputed(() => droppable.isDropTarget);
|
|
246
247
|
useOnValueChange(id, () => droppable.id = id);
|
|
247
248
|
useOnValueChange(accept, () => droppable.id = id, void 0, deepEqual);
|
|
248
249
|
useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
250
|
+
useOnValueChange(data, () => data && (droppable.data = data));
|
|
249
251
|
useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
250
252
|
useOnValueChange(element, () => droppable.element = element);
|
|
251
253
|
useOnValueChange(type, () => droppable.id = id);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.0.4-beta-
|
|
3
|
+
"version": "0.0.4-beta-20240622155137",
|
|
4
4
|
"main": "./index.cjs",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@dnd-kit/abstract": "0.0.4-beta-
|
|
60
|
-
"@dnd-kit/dom": "0.0.4-beta-
|
|
61
|
-
"@dnd-kit/state": "0.0.4-beta-
|
|
59
|
+
"@dnd-kit/abstract": "0.0.4-beta-20240622155137",
|
|
60
|
+
"@dnd-kit/dom": "0.0.4-beta-20240622155137",
|
|
61
|
+
"@dnd-kit/state": "0.0.4-beta-20240622155137",
|
|
62
62
|
"tslib": "^2.6.2"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
package/sortable.cjs
CHANGED
|
@@ -51,12 +51,9 @@ function useSortable(input) {
|
|
|
51
51
|
handle,
|
|
52
52
|
element,
|
|
53
53
|
target,
|
|
54
|
-
feedback
|
|
55
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
56
|
-
register: false
|
|
57
|
-
})
|
|
54
|
+
feedback
|
|
58
55
|
}),
|
|
59
|
-
|
|
56
|
+
void 0
|
|
60
57
|
);
|
|
61
58
|
});
|
|
62
59
|
react$1.useEffect(() => {
|
|
@@ -71,6 +68,7 @@ function useSortable(input) {
|
|
|
71
68
|
}, [sortable$1, manager]);
|
|
72
69
|
const isDropTarget = hooks.useComputed(() => sortable$1.isDropTarget);
|
|
73
70
|
const isDragSource = hooks.useComputed(() => sortable$1.isDragSource);
|
|
71
|
+
const status = hooks.useComputed(() => sortable$1.status);
|
|
74
72
|
hooks.useOnValueChange(id, () => sortable$1.id = id);
|
|
75
73
|
hooks.useOnValueChange(index, () => sortable$1.index = index, hooks.useIsomorphicLayoutEffect);
|
|
76
74
|
hooks.useOnValueChange(type, () => sortable$1.type = type);
|
|
@@ -81,7 +79,7 @@ function useSortable(input) {
|
|
|
81
79
|
void 0,
|
|
82
80
|
state.deepEqual
|
|
83
81
|
);
|
|
84
|
-
hooks.useOnValueChange(data, () => sortable$1.data = data
|
|
82
|
+
hooks.useOnValueChange(data, () => data && (sortable$1.data = data));
|
|
85
83
|
hooks.useOnValueChange(
|
|
86
84
|
index,
|
|
87
85
|
() => {
|
|
@@ -113,6 +111,9 @@ function useSortable(input) {
|
|
|
113
111
|
get isDropTarget() {
|
|
114
112
|
return isDropTarget.value;
|
|
115
113
|
},
|
|
114
|
+
get status() {
|
|
115
|
+
return status.value;
|
|
116
|
+
},
|
|
116
117
|
handleRef: react$1.useCallback(
|
|
117
118
|
(element2) => {
|
|
118
119
|
sortable$1.handle = element2 != null ? element2 : void 0;
|
package/sortable.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ interface UseSortableInput<T extends Data = Data> extends Omit<SortableInput<T>,
|
|
|
10
10
|
declare function useSortable<T extends Data = Data>(input: UseSortableInput<T>): {
|
|
11
11
|
readonly isDragSource: boolean;
|
|
12
12
|
readonly isDropTarget: boolean;
|
|
13
|
+
readonly status: "idle" | "dragging" | "dropping";
|
|
13
14
|
handleRef: (element: Element | null) => void;
|
|
14
15
|
ref: (element: Element | null) => void;
|
|
15
16
|
sourceRef: (element: Element | null) => void;
|
package/sortable.js
CHANGED
|
@@ -49,12 +49,9 @@ function useSortable(input) {
|
|
|
49
49
|
handle,
|
|
50
50
|
element,
|
|
51
51
|
target,
|
|
52
|
-
feedback
|
|
53
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
54
|
-
register: false
|
|
55
|
-
})
|
|
52
|
+
feedback
|
|
56
53
|
}),
|
|
57
|
-
|
|
54
|
+
void 0
|
|
58
55
|
);
|
|
59
56
|
});
|
|
60
57
|
useEffect(() => {
|
|
@@ -69,6 +66,7 @@ function useSortable(input) {
|
|
|
69
66
|
}, [sortable, manager]);
|
|
70
67
|
const isDropTarget = useComputed(() => sortable.isDropTarget);
|
|
71
68
|
const isDragSource = useComputed(() => sortable.isDragSource);
|
|
69
|
+
const status = useComputed(() => sortable.status);
|
|
72
70
|
useOnValueChange(id, () => sortable.id = id);
|
|
73
71
|
useOnValueChange(index, () => sortable.index = index, useIsomorphicLayoutEffect);
|
|
74
72
|
useOnValueChange(type, () => sortable.type = type);
|
|
@@ -79,7 +77,7 @@ function useSortable(input) {
|
|
|
79
77
|
void 0,
|
|
80
78
|
deepEqual
|
|
81
79
|
);
|
|
82
|
-
useOnValueChange(data, () => sortable.data = data
|
|
80
|
+
useOnValueChange(data, () => data && (sortable.data = data));
|
|
83
81
|
useOnValueChange(
|
|
84
82
|
index,
|
|
85
83
|
() => {
|
|
@@ -111,6 +109,9 @@ function useSortable(input) {
|
|
|
111
109
|
get isDropTarget() {
|
|
112
110
|
return isDropTarget.value;
|
|
113
111
|
},
|
|
112
|
+
get status() {
|
|
113
|
+
return status.value;
|
|
114
|
+
},
|
|
114
115
|
handleRef: useCallback(
|
|
115
116
|
(element2) => {
|
|
116
117
|
sortable.handle = element2 != null ? element2 : void 0;
|