@dnd-kit/react 0.0.4-beta-20240621131401 → 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 +22 -54
- package/index.d.ts +3 -5
- package/index.js +176 -21
- 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,13 +4,12 @@ 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;
|
|
12
12
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
13
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
13
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
15
14
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
15
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -39,22 +38,9 @@ var __objRest = (source, exclude) => {
|
|
|
39
38
|
}
|
|
40
39
|
return target;
|
|
41
40
|
};
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var __export = (target, all) => {
|
|
46
|
-
for (var name in all)
|
|
47
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
48
|
-
};
|
|
49
|
-
var DragDropContext;
|
|
50
|
-
var init_context = __esm({
|
|
51
|
-
"src/core/context/context.ts"() {
|
|
52
|
-
"use client";
|
|
53
|
-
DragDropContext = react.createContext(
|
|
54
|
-
new dom.DragDropManager()
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
41
|
+
var DragDropContext = react.createContext(
|
|
42
|
+
new dom.DragDropManager()
|
|
43
|
+
);
|
|
58
44
|
function useRenderer() {
|
|
59
45
|
const [_, startTransition2] = react.useTransition();
|
|
60
46
|
const [transitionCount, setTransitionCount] = react.useState(0);
|
|
@@ -86,16 +72,6 @@ function useRenderer() {
|
|
|
86
72
|
}
|
|
87
73
|
};
|
|
88
74
|
}
|
|
89
|
-
var init_renderer = __esm({
|
|
90
|
-
"src/core/context/renderer.ts"() {
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
// src/core/context/DragDropProvider.tsx
|
|
95
|
-
var DragDropProvider_exports = {};
|
|
96
|
-
__export(DragDropProvider_exports, {
|
|
97
|
-
default: () => DragDropProvider
|
|
98
|
-
});
|
|
99
75
|
function DragDropProvider(_a) {
|
|
100
76
|
var _b = _a, {
|
|
101
77
|
children,
|
|
@@ -185,16 +161,6 @@ function DragDropProvider(_a) {
|
|
|
185
161
|
);
|
|
186
162
|
return /* @__PURE__ */ jsxRuntime.jsx(DragDropContext.Provider, { value: manager, children });
|
|
187
163
|
}
|
|
188
|
-
var init_DragDropProvider = __esm({
|
|
189
|
-
"src/core/context/DragDropProvider.tsx"() {
|
|
190
|
-
init_context();
|
|
191
|
-
init_renderer();
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
var DragDropProvider2 = react.lazy(() => Promise.resolve().then(() => (init_DragDropProvider(), DragDropProvider_exports)));
|
|
195
|
-
|
|
196
|
-
// src/core/hooks/useDragDropManager.ts
|
|
197
|
-
init_context();
|
|
198
164
|
function useDragDropManager() {
|
|
199
165
|
return react.useContext(DragDropContext);
|
|
200
166
|
}
|
|
@@ -203,33 +169,34 @@ function useDragDropManager() {
|
|
|
203
169
|
function useInstance(initializer) {
|
|
204
170
|
var _a;
|
|
205
171
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
206
|
-
const [instance] = react.useState(() => initializer(
|
|
172
|
+
const [instance] = react.useState(() => initializer());
|
|
207
173
|
react.useEffect(() => {
|
|
208
174
|
instance.manager = manager;
|
|
209
175
|
return manager == null ? void 0 : manager.registry.register(instance);
|
|
210
176
|
}, [instance, manager]);
|
|
211
177
|
return instance;
|
|
212
178
|
}
|
|
179
|
+
|
|
180
|
+
// src/core/draggable/useDraggable.ts
|
|
213
181
|
function useDraggable(input) {
|
|
214
|
-
const { disabled, id, modifiers, sensors } = input;
|
|
182
|
+
const { disabled, data, id, modifiers, sensors } = input;
|
|
215
183
|
const handle = utilities.currentValue(input.handle);
|
|
216
184
|
const element = utilities.currentValue(input.element);
|
|
217
185
|
const draggable = useInstance(
|
|
218
|
-
(
|
|
186
|
+
() => new dom.Draggable(
|
|
219
187
|
__spreadProps(__spreadValues({}, input), {
|
|
220
188
|
handle,
|
|
221
|
-
element
|
|
222
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
223
|
-
register: false
|
|
224
|
-
})
|
|
189
|
+
element
|
|
225
190
|
}),
|
|
226
|
-
|
|
191
|
+
void 0
|
|
227
192
|
)
|
|
228
193
|
);
|
|
229
194
|
const isDragSource = hooks.useComputed(() => draggable.isDragSource);
|
|
195
|
+
const status = hooks.useComputed(() => draggable.status);
|
|
230
196
|
hooks.useOnValueChange(id, () => draggable.id = id);
|
|
231
197
|
hooks.useOnValueChange(handle, () => draggable.handle = handle);
|
|
232
198
|
hooks.useOnValueChange(element, () => draggable.element = element);
|
|
199
|
+
hooks.useOnValueChange(data, () => data && (draggable.data = data));
|
|
233
200
|
hooks.useOnValueChange(disabled, () => draggable.disabled = disabled === true);
|
|
234
201
|
hooks.useOnValueChange(sensors, () => draggable.sensors = sensors);
|
|
235
202
|
hooks.useOnValueChange(
|
|
@@ -250,6 +217,9 @@ function useDraggable(input) {
|
|
|
250
217
|
get isDragSource() {
|
|
251
218
|
return isDragSource.value;
|
|
252
219
|
},
|
|
220
|
+
get status() {
|
|
221
|
+
return status.value;
|
|
222
|
+
},
|
|
253
223
|
handleRef: react.useCallback(
|
|
254
224
|
(element2) => {
|
|
255
225
|
draggable.handle = element2 != null ? element2 : void 0;
|
|
@@ -265,23 +235,21 @@ function useDraggable(input) {
|
|
|
265
235
|
};
|
|
266
236
|
}
|
|
267
237
|
function useDroppable(input) {
|
|
268
|
-
const { collisionDetector, disabled, id, accept, type } = input;
|
|
238
|
+
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
269
239
|
const element = utilities.currentValue(input.element);
|
|
270
240
|
const droppable = useInstance(
|
|
271
|
-
(
|
|
241
|
+
() => new dom.Droppable(
|
|
272
242
|
__spreadProps(__spreadValues({}, input), {
|
|
273
|
-
element
|
|
274
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
275
|
-
register: false
|
|
276
|
-
})
|
|
243
|
+
element
|
|
277
244
|
}),
|
|
278
|
-
|
|
245
|
+
void 0
|
|
279
246
|
)
|
|
280
247
|
);
|
|
281
248
|
const isDropTarget = hooks.useComputed(() => droppable.isDropTarget);
|
|
282
249
|
hooks.useOnValueChange(id, () => droppable.id = id);
|
|
283
250
|
hooks.useOnValueChange(accept, () => droppable.id = id, void 0, state.deepEqual);
|
|
284
251
|
hooks.useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
252
|
+
hooks.useOnValueChange(data, () => data && (droppable.data = data));
|
|
285
253
|
hooks.useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
286
254
|
hooks.useOnValueChange(element, () => droppable.element = element);
|
|
287
255
|
hooks.useOnValueChange(type, () => droppable.id = id);
|
|
@@ -312,7 +280,7 @@ function useDragOperation() {
|
|
|
312
280
|
};
|
|
313
281
|
}
|
|
314
282
|
|
|
315
|
-
exports.DragDropProvider =
|
|
283
|
+
exports.DragDropProvider = DragDropProvider;
|
|
316
284
|
exports.useDragDropManager = useDragDropManager;
|
|
317
285
|
exports.useDragOperation = useDragOperation;
|
|
318
286
|
exports.useDraggable = useDraggable;
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as react from 'react';
|
|
2
|
-
import { PropsWithChildren } from 'react';
|
|
3
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
4
3
|
import * as _dnd_kit_abstract from '@dnd-kit/abstract';
|
|
5
4
|
import { DragDropEvents, Data } from '@dnd-kit/abstract';
|
|
6
5
|
import * as _dnd_kit_dom from '@dnd-kit/dom';
|
|
@@ -17,9 +16,7 @@ interface Props extends DragDropManagerInput, PropsWithChildren {
|
|
|
17
16
|
onDragOver?: Events['dragover'];
|
|
18
17
|
onDragEnd?: Events['dragend'];
|
|
19
18
|
}
|
|
20
|
-
declare function DragDropProvider
|
|
21
|
-
|
|
22
|
-
declare const DragDropProvider: react.LazyExoticComponent<typeof DragDropProvider$1>;
|
|
19
|
+
declare function DragDropProvider({ children, onCollision, onBeforeDragStart, onDragStart, onDragMove, onDragOver, onDragEnd, ...input }: Props): react_jsx_runtime.JSX.Element;
|
|
23
20
|
|
|
24
21
|
interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T>, 'handle' | 'element'> {
|
|
25
22
|
handle?: RefOrValue<Element>;
|
|
@@ -28,6 +25,7 @@ interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T
|
|
|
28
25
|
declare function useDraggable<T extends Data = Data>(input: UseDraggableInput<T>): {
|
|
29
26
|
draggable: Draggable<T>;
|
|
30
27
|
readonly isDragSource: boolean;
|
|
28
|
+
readonly status: "idle" | "dragging" | "dropping";
|
|
31
29
|
handleRef: (element: Element | null) => void;
|
|
32
30
|
ref: (element: Element | null) => void;
|
|
33
31
|
};
|
package/index.js
CHANGED
|
@@ -1,11 +1,164 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { currentValue } from '@dnd-kit/react/utilities';
|
|
1
|
+
import { createContext, useState, useEffect, startTransition, useContext, useCallback, useTransition, useRef } from 'react';
|
|
2
|
+
import { DragDropManager, defaultPreset, Draggable, Droppable } from '@dnd-kit/dom';
|
|
3
|
+
import { useLatest, useOnValueChange, useComputed, useConstant } from '@dnd-kit/react/hooks';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
5
|
import { deepEqual } from '@dnd-kit/state';
|
|
6
|
+
import { currentValue } from '@dnd-kit/react/utilities';
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __defProps = Object.defineProperties;
|
|
10
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
11
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
13
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
14
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15
|
+
var __spreadValues = (a, b) => {
|
|
16
|
+
for (var prop in b || (b = {}))
|
|
17
|
+
if (__hasOwnProp.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
if (__getOwnPropSymbols)
|
|
20
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
21
|
+
if (__propIsEnum.call(b, prop))
|
|
22
|
+
__defNormalProp(a, prop, b[prop]);
|
|
23
|
+
}
|
|
24
|
+
return a;
|
|
25
|
+
};
|
|
26
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
27
|
+
var __objRest = (source, exclude) => {
|
|
28
|
+
var target = {};
|
|
29
|
+
for (var prop in source)
|
|
30
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
31
|
+
target[prop] = source[prop];
|
|
32
|
+
if (source != null && __getOwnPropSymbols)
|
|
33
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
34
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
35
|
+
target[prop] = source[prop];
|
|
36
|
+
}
|
|
37
|
+
return target;
|
|
38
|
+
};
|
|
39
|
+
var DragDropContext = createContext(
|
|
40
|
+
new DragDropManager()
|
|
41
|
+
);
|
|
42
|
+
function useRenderer() {
|
|
43
|
+
const [_, startTransition2] = useTransition();
|
|
44
|
+
const [transitionCount, setTransitionCount] = useState(0);
|
|
45
|
+
const rendering = useRef();
|
|
46
|
+
const resolver = useRef();
|
|
47
|
+
const renderer = useConstant(() => ({
|
|
48
|
+
get rendering() {
|
|
49
|
+
var _a;
|
|
50
|
+
return (_a = rendering.current) != null ? _a : Promise.resolve();
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
useOnValueChange(transitionCount, () => {
|
|
54
|
+
var _a;
|
|
55
|
+
(_a = resolver.current) == null ? void 0 : _a.call(resolver);
|
|
56
|
+
rendering.current = void 0;
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
renderer,
|
|
60
|
+
trackRendering(callback) {
|
|
61
|
+
if (!rendering.current) {
|
|
62
|
+
rendering.current = new Promise((resolve) => {
|
|
63
|
+
resolver.current = resolve;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
startTransition2(() => {
|
|
67
|
+
callback();
|
|
68
|
+
setTransitionCount((count) => count + 1);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function DragDropProvider(_a) {
|
|
74
|
+
var _b = _a, {
|
|
75
|
+
children,
|
|
76
|
+
onCollision,
|
|
77
|
+
onBeforeDragStart,
|
|
78
|
+
onDragStart,
|
|
79
|
+
onDragMove,
|
|
80
|
+
onDragOver,
|
|
81
|
+
onDragEnd
|
|
82
|
+
} = _b, input = __objRest(_b, [
|
|
83
|
+
"children",
|
|
84
|
+
"onCollision",
|
|
85
|
+
"onBeforeDragStart",
|
|
86
|
+
"onDragStart",
|
|
87
|
+
"onDragMove",
|
|
88
|
+
"onDragOver",
|
|
89
|
+
"onDragEnd"
|
|
90
|
+
]);
|
|
91
|
+
var _a2;
|
|
92
|
+
const { renderer, trackRendering } = useRenderer();
|
|
93
|
+
const [manager, setManager] = useState(
|
|
94
|
+
(_a2 = input.manager) != null ? _a2 : null
|
|
95
|
+
);
|
|
96
|
+
const { plugins, modifiers, sensors } = input;
|
|
97
|
+
const handleBeforeDragStart = useLatest(onBeforeDragStart);
|
|
98
|
+
const handleDragStart = useLatest(onDragStart);
|
|
99
|
+
const handleDragOver = useLatest(onDragOver);
|
|
100
|
+
const handleDragMove = useLatest(onDragMove);
|
|
101
|
+
const handleDragEnd = useLatest(onDragEnd);
|
|
102
|
+
const handleCollision = useLatest(onCollision);
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
var _a3;
|
|
105
|
+
const manager2 = (_a3 = input.manager) != null ? _a3 : new DragDropManager(input);
|
|
106
|
+
manager2.renderer = renderer;
|
|
107
|
+
manager2.monitor.addEventListener("beforedragstart", (event, manager3) => {
|
|
108
|
+
const callback = handleBeforeDragStart.current;
|
|
109
|
+
if (callback) {
|
|
110
|
+
trackRendering(() => callback(event, manager3));
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
manager2.monitor.addEventListener(
|
|
114
|
+
"dragstart",
|
|
115
|
+
(event, manager3) => {
|
|
116
|
+
var _a4;
|
|
117
|
+
return (_a4 = handleDragStart.current) == null ? void 0 : _a4.call(handleDragStart, event, manager3);
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
manager2.monitor.addEventListener("dragover", (event, manager3) => {
|
|
121
|
+
const callback = handleDragOver.current;
|
|
122
|
+
if (callback) {
|
|
123
|
+
trackRendering(() => callback(event, manager3));
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
manager2.monitor.addEventListener("dragmove", (event, manager3) => {
|
|
127
|
+
const callback = handleDragMove.current;
|
|
128
|
+
if (callback) {
|
|
129
|
+
trackRendering(() => callback(event, manager3));
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
manager2.monitor.addEventListener("dragend", (event, manager3) => {
|
|
133
|
+
const callback = handleDragEnd.current;
|
|
134
|
+
if (callback) {
|
|
135
|
+
trackRendering(() => callback(event, manager3));
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
manager2.monitor.addEventListener(
|
|
139
|
+
"collision",
|
|
140
|
+
(event, manager3) => {
|
|
141
|
+
var _a4;
|
|
142
|
+
return (_a4 = handleCollision.current) == null ? void 0 : _a4.call(handleCollision, event, manager3);
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
startTransition(() => setManager(manager2));
|
|
146
|
+
return manager2.destroy;
|
|
147
|
+
}, [renderer]);
|
|
148
|
+
useOnValueChange(
|
|
149
|
+
plugins,
|
|
150
|
+
() => manager && (manager.plugins = plugins != null ? plugins : defaultPreset.plugins)
|
|
151
|
+
);
|
|
152
|
+
useOnValueChange(
|
|
153
|
+
sensors,
|
|
154
|
+
() => manager && (manager.sensors = sensors != null ? sensors : defaultPreset.sensors)
|
|
155
|
+
);
|
|
156
|
+
useOnValueChange(
|
|
157
|
+
modifiers,
|
|
158
|
+
() => manager && (manager.modifiers = modifiers != null ? modifiers : [])
|
|
159
|
+
);
|
|
160
|
+
return /* @__PURE__ */ jsx(DragDropContext.Provider, { value: manager, children });
|
|
161
|
+
}
|
|
9
162
|
function useDragDropManager() {
|
|
10
163
|
return useContext(DragDropContext);
|
|
11
164
|
}
|
|
@@ -14,33 +167,34 @@ function useDragDropManager() {
|
|
|
14
167
|
function useInstance(initializer) {
|
|
15
168
|
var _a;
|
|
16
169
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
17
|
-
const [instance] = useState(() => initializer(
|
|
170
|
+
const [instance] = useState(() => initializer());
|
|
18
171
|
useEffect(() => {
|
|
19
172
|
instance.manager = manager;
|
|
20
173
|
return manager == null ? void 0 : manager.registry.register(instance);
|
|
21
174
|
}, [instance, manager]);
|
|
22
175
|
return instance;
|
|
23
176
|
}
|
|
177
|
+
|
|
178
|
+
// src/core/draggable/useDraggable.ts
|
|
24
179
|
function useDraggable(input) {
|
|
25
|
-
const { disabled, id, modifiers, sensors } = input;
|
|
180
|
+
const { disabled, data, id, modifiers, sensors } = input;
|
|
26
181
|
const handle = currentValue(input.handle);
|
|
27
182
|
const element = currentValue(input.element);
|
|
28
183
|
const draggable = useInstance(
|
|
29
|
-
(
|
|
184
|
+
() => new Draggable(
|
|
30
185
|
__spreadProps(__spreadValues({}, input), {
|
|
31
186
|
handle,
|
|
32
|
-
element
|
|
33
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
34
|
-
register: false
|
|
35
|
-
})
|
|
187
|
+
element
|
|
36
188
|
}),
|
|
37
|
-
|
|
189
|
+
void 0
|
|
38
190
|
)
|
|
39
191
|
);
|
|
40
192
|
const isDragSource = useComputed(() => draggable.isDragSource);
|
|
193
|
+
const status = useComputed(() => draggable.status);
|
|
41
194
|
useOnValueChange(id, () => draggable.id = id);
|
|
42
195
|
useOnValueChange(handle, () => draggable.handle = handle);
|
|
43
196
|
useOnValueChange(element, () => draggable.element = element);
|
|
197
|
+
useOnValueChange(data, () => data && (draggable.data = data));
|
|
44
198
|
useOnValueChange(disabled, () => draggable.disabled = disabled === true);
|
|
45
199
|
useOnValueChange(sensors, () => draggable.sensors = sensors);
|
|
46
200
|
useOnValueChange(
|
|
@@ -61,6 +215,9 @@ function useDraggable(input) {
|
|
|
61
215
|
get isDragSource() {
|
|
62
216
|
return isDragSource.value;
|
|
63
217
|
},
|
|
218
|
+
get status() {
|
|
219
|
+
return status.value;
|
|
220
|
+
},
|
|
64
221
|
handleRef: useCallback(
|
|
65
222
|
(element2) => {
|
|
66
223
|
draggable.handle = element2 != null ? element2 : void 0;
|
|
@@ -76,23 +233,21 @@ function useDraggable(input) {
|
|
|
76
233
|
};
|
|
77
234
|
}
|
|
78
235
|
function useDroppable(input) {
|
|
79
|
-
const { collisionDetector, disabled, id, accept, type } = input;
|
|
236
|
+
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
80
237
|
const element = currentValue(input.element);
|
|
81
238
|
const droppable = useInstance(
|
|
82
|
-
(
|
|
239
|
+
() => new Droppable(
|
|
83
240
|
__spreadProps(__spreadValues({}, input), {
|
|
84
|
-
element
|
|
85
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
86
|
-
register: false
|
|
87
|
-
})
|
|
241
|
+
element
|
|
88
242
|
}),
|
|
89
|
-
|
|
243
|
+
void 0
|
|
90
244
|
)
|
|
91
245
|
);
|
|
92
246
|
const isDropTarget = useComputed(() => droppable.isDropTarget);
|
|
93
247
|
useOnValueChange(id, () => droppable.id = id);
|
|
94
248
|
useOnValueChange(accept, () => droppable.id = id, void 0, deepEqual);
|
|
95
249
|
useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
250
|
+
useOnValueChange(data, () => data && (droppable.data = data));
|
|
96
251
|
useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
97
252
|
useOnValueChange(element, () => droppable.element = element);
|
|
98
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;
|