@dnd-kit/react 0.0.4-beta-20240622155137 → 0.0.4
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 +11 -7
- package/index.d.ts +9 -2
- package/index.js +11 -8
- package/package.json +4 -4
- package/sortable.cjs +2 -12
- package/sortable.js +5 -15
package/index.cjs
CHANGED
|
@@ -38,8 +38,9 @@ var __objRest = (source, exclude) => {
|
|
|
38
38
|
}
|
|
39
39
|
return target;
|
|
40
40
|
};
|
|
41
|
+
var defaultManager = new dom.DragDropManager();
|
|
41
42
|
var DragDropContext = react.createContext(
|
|
42
|
-
|
|
43
|
+
defaultManager
|
|
43
44
|
);
|
|
44
45
|
function useRenderer() {
|
|
45
46
|
const [_, startTransition2] = react.useTransition();
|
|
@@ -169,10 +170,12 @@ function useDragDropManager() {
|
|
|
169
170
|
function useInstance(initializer) {
|
|
170
171
|
var _a;
|
|
171
172
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
172
|
-
const [instance] = react.useState(
|
|
173
|
+
const [instance] = react.useState(
|
|
174
|
+
() => initializer(manager === defaultManager ? void 0 : manager)
|
|
175
|
+
);
|
|
173
176
|
react.useEffect(() => {
|
|
174
177
|
instance.manager = manager;
|
|
175
|
-
return
|
|
178
|
+
return instance.register();
|
|
176
179
|
}, [instance, manager]);
|
|
177
180
|
return instance;
|
|
178
181
|
}
|
|
@@ -183,12 +186,12 @@ function useDraggable(input) {
|
|
|
183
186
|
const handle = utilities.currentValue(input.handle);
|
|
184
187
|
const element = utilities.currentValue(input.element);
|
|
185
188
|
const draggable = useInstance(
|
|
186
|
-
() => new dom.Draggable(
|
|
189
|
+
(manager) => new dom.Draggable(
|
|
187
190
|
__spreadProps(__spreadValues({}, input), {
|
|
188
191
|
handle,
|
|
189
192
|
element
|
|
190
193
|
}),
|
|
191
|
-
|
|
194
|
+
manager
|
|
192
195
|
)
|
|
193
196
|
);
|
|
194
197
|
const isDragSource = hooks.useComputed(() => draggable.isDragSource);
|
|
@@ -238,11 +241,11 @@ function useDroppable(input) {
|
|
|
238
241
|
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
239
242
|
const element = utilities.currentValue(input.element);
|
|
240
243
|
const droppable = useInstance(
|
|
241
|
-
() => new dom.Droppable(
|
|
244
|
+
(manager) => new dom.Droppable(
|
|
242
245
|
__spreadProps(__spreadValues({}, input), {
|
|
243
246
|
element
|
|
244
247
|
}),
|
|
245
|
-
|
|
248
|
+
manager
|
|
246
249
|
)
|
|
247
250
|
);
|
|
248
251
|
const isDropTarget = hooks.useComputed(() => droppable.isDropTarget);
|
|
@@ -285,5 +288,6 @@ exports.useDragDropManager = useDragDropManager;
|
|
|
285
288
|
exports.useDragOperation = useDragOperation;
|
|
286
289
|
exports.useDraggable = useDraggable;
|
|
287
290
|
exports.useDroppable = useDroppable;
|
|
291
|
+
exports.useInstance = useInstance;
|
|
288
292
|
//# sourceMappingURL=out.js.map
|
|
289
293
|
//# sourceMappingURL=index.cjs.map
|
package/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
3
|
import * as _dnd_kit_abstract from '@dnd-kit/abstract';
|
|
4
|
-
import { DragDropEvents, Data } from '@dnd-kit/abstract';
|
|
4
|
+
import { DragDropEvents, Data, DragDropManager as DragDropManager$1 } from '@dnd-kit/abstract';
|
|
5
5
|
import * as _dnd_kit_dom from '@dnd-kit/dom';
|
|
6
6
|
import { DragDropManagerInput, DragDropManager, Draggable, Droppable, DraggableInput, DroppableInput } from '@dnd-kit/dom';
|
|
7
7
|
import { RefOrValue } from '@dnd-kit/react/utilities';
|
|
8
|
+
import { CleanupFunction } from '@dnd-kit/state';
|
|
8
9
|
|
|
9
10
|
type Events = DragDropEvents<Draggable, Droppable, DragDropManager>;
|
|
10
11
|
interface Props extends DragDropManagerInput, PropsWithChildren {
|
|
@@ -46,4 +47,10 @@ declare function useDragOperation(): {
|
|
|
46
47
|
readonly target: _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data> | null | undefined;
|
|
47
48
|
};
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
interface Instance<T extends DragDropManager$1<any, any> = DragDropManager$1<any, any>> {
|
|
51
|
+
manager: T | undefined;
|
|
52
|
+
register(): CleanupFunction | void;
|
|
53
|
+
}
|
|
54
|
+
declare function useInstance<T extends Instance>(initializer: (manager: DragDropManager$1<any, any> | undefined) => T): T;
|
|
55
|
+
|
|
56
|
+
export { DragDropProvider, type UseDraggableInput, type UseDroppableInput, useDragDropManager, useDragOperation, useDraggable, useDroppable, useInstance };
|
package/index.js
CHANGED
|
@@ -36,8 +36,9 @@ var __objRest = (source, exclude) => {
|
|
|
36
36
|
}
|
|
37
37
|
return target;
|
|
38
38
|
};
|
|
39
|
+
var defaultManager = new DragDropManager();
|
|
39
40
|
var DragDropContext = createContext(
|
|
40
|
-
|
|
41
|
+
defaultManager
|
|
41
42
|
);
|
|
42
43
|
function useRenderer() {
|
|
43
44
|
const [_, startTransition2] = useTransition();
|
|
@@ -167,10 +168,12 @@ function useDragDropManager() {
|
|
|
167
168
|
function useInstance(initializer) {
|
|
168
169
|
var _a;
|
|
169
170
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
170
|
-
const [instance] = useState(
|
|
171
|
+
const [instance] = useState(
|
|
172
|
+
() => initializer(manager === defaultManager ? void 0 : manager)
|
|
173
|
+
);
|
|
171
174
|
useEffect(() => {
|
|
172
175
|
instance.manager = manager;
|
|
173
|
-
return
|
|
176
|
+
return instance.register();
|
|
174
177
|
}, [instance, manager]);
|
|
175
178
|
return instance;
|
|
176
179
|
}
|
|
@@ -181,12 +184,12 @@ function useDraggable(input) {
|
|
|
181
184
|
const handle = currentValue(input.handle);
|
|
182
185
|
const element = currentValue(input.element);
|
|
183
186
|
const draggable = useInstance(
|
|
184
|
-
() => new Draggable(
|
|
187
|
+
(manager) => new Draggable(
|
|
185
188
|
__spreadProps(__spreadValues({}, input), {
|
|
186
189
|
handle,
|
|
187
190
|
element
|
|
188
191
|
}),
|
|
189
|
-
|
|
192
|
+
manager
|
|
190
193
|
)
|
|
191
194
|
);
|
|
192
195
|
const isDragSource = useComputed(() => draggable.isDragSource);
|
|
@@ -236,11 +239,11 @@ function useDroppable(input) {
|
|
|
236
239
|
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
237
240
|
const element = currentValue(input.element);
|
|
238
241
|
const droppable = useInstance(
|
|
239
|
-
() => new Droppable(
|
|
242
|
+
(manager) => new Droppable(
|
|
240
243
|
__spreadProps(__spreadValues({}, input), {
|
|
241
244
|
element
|
|
242
245
|
}),
|
|
243
|
-
|
|
246
|
+
manager
|
|
244
247
|
)
|
|
245
248
|
);
|
|
246
249
|
const isDropTarget = useComputed(() => droppable.isDropTarget);
|
|
@@ -278,6 +281,6 @@ function useDragOperation() {
|
|
|
278
281
|
};
|
|
279
282
|
}
|
|
280
283
|
|
|
281
|
-
export { DragDropProvider, useDragDropManager, useDragOperation, useDraggable, useDroppable };
|
|
284
|
+
export { DragDropProvider, useDragDropManager, useDragOperation, useDraggable, useDroppable, useInstance };
|
|
282
285
|
//# sourceMappingURL=out.js.map
|
|
283
286
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.0.4
|
|
3
|
+
"version": "0.0.4",
|
|
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
|
|
60
|
-
"@dnd-kit/dom": "0.0.4
|
|
61
|
-
"@dnd-kit/state": "0.0.4
|
|
59
|
+
"@dnd-kit/abstract": "^0.0.4",
|
|
60
|
+
"@dnd-kit/dom": "^0.0.4",
|
|
61
|
+
"@dnd-kit/state": "^0.0.4",
|
|
62
62
|
"tslib": "^2.6.2"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
package/sortable.cjs
CHANGED
|
@@ -45,7 +45,7 @@ function useSortable(input) {
|
|
|
45
45
|
const handle = utilities.currentValue(input.handle);
|
|
46
46
|
const element = utilities.currentValue(input.element);
|
|
47
47
|
const target = utilities.currentValue(input.target);
|
|
48
|
-
const sortable$1 =
|
|
48
|
+
const sortable$1 = react.useInstance((manager2) => {
|
|
49
49
|
return new sortable.Sortable(
|
|
50
50
|
__spreadProps(__spreadValues({}, input), {
|
|
51
51
|
handle,
|
|
@@ -53,19 +53,9 @@ function useSortable(input) {
|
|
|
53
53
|
target,
|
|
54
54
|
feedback
|
|
55
55
|
}),
|
|
56
|
-
|
|
56
|
+
manager2
|
|
57
57
|
);
|
|
58
58
|
});
|
|
59
|
-
react$1.useEffect(() => {
|
|
60
|
-
sortable$1.manager = manager != null ? manager : void 0;
|
|
61
|
-
if (!manager) return;
|
|
62
|
-
manager.registry.register(sortable$1.draggable);
|
|
63
|
-
manager.registry.register(sortable$1.droppable);
|
|
64
|
-
return () => {
|
|
65
|
-
manager.registry.unregister(sortable$1.draggable);
|
|
66
|
-
manager.registry.unregister(sortable$1.droppable);
|
|
67
|
-
};
|
|
68
|
-
}, [sortable$1, manager]);
|
|
69
59
|
const isDropTarget = hooks.useComputed(() => sortable$1.isDropTarget);
|
|
70
60
|
const isDragSource = hooks.useComputed(() => sortable$1.isDragSource);
|
|
71
61
|
const status = hooks.useComputed(() => sortable$1.status);
|
package/sortable.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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
|
-
import { useDragDropManager } from '@dnd-kit/react';
|
|
5
|
-
import {
|
|
4
|
+
import { useDragDropManager, useInstance } from '@dnd-kit/react';
|
|
5
|
+
import { useComputed, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect } from '@dnd-kit/react/hooks';
|
|
6
6
|
import { currentValue } from '@dnd-kit/react/utilities';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
@@ -43,7 +43,7 @@ function useSortable(input) {
|
|
|
43
43
|
const handle = currentValue(input.handle);
|
|
44
44
|
const element = currentValue(input.element);
|
|
45
45
|
const target = currentValue(input.target);
|
|
46
|
-
const sortable =
|
|
46
|
+
const sortable = useInstance((manager2) => {
|
|
47
47
|
return new Sortable(
|
|
48
48
|
__spreadProps(__spreadValues({}, input), {
|
|
49
49
|
handle,
|
|
@@ -51,19 +51,9 @@ function useSortable(input) {
|
|
|
51
51
|
target,
|
|
52
52
|
feedback
|
|
53
53
|
}),
|
|
54
|
-
|
|
54
|
+
manager2
|
|
55
55
|
);
|
|
56
56
|
});
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
sortable.manager = manager != null ? manager : void 0;
|
|
59
|
-
if (!manager) return;
|
|
60
|
-
manager.registry.register(sortable.draggable);
|
|
61
|
-
manager.registry.register(sortable.droppable);
|
|
62
|
-
return () => {
|
|
63
|
-
manager.registry.unregister(sortable.draggable);
|
|
64
|
-
manager.registry.unregister(sortable.droppable);
|
|
65
|
-
};
|
|
66
|
-
}, [sortable, manager]);
|
|
67
57
|
const isDropTarget = useComputed(() => sortable.isDropTarget);
|
|
68
58
|
const isDragSource = useComputed(() => sortable.isDragSource);
|
|
69
59
|
const status = useComputed(() => sortable.status);
|