@dnd-kit/react 0.0.2-beta-20240604021900 → 0.0.2-beta-20240604190117
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 +38 -86
- package/index.d.ts +11 -10
- package/index.js +45 -93
- package/package.json +2 -2
- package/sortable.cjs +8 -0
- package/sortable.js +9 -1
package/index.cjs
CHANGED
|
@@ -2,79 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
4
|
var dom = require('@dnd-kit/dom');
|
|
5
|
-
var state = require('@dnd-kit/state');
|
|
6
|
-
var reactDom = require('react-dom');
|
|
7
5
|
var hooks = require('@dnd-kit/react/hooks');
|
|
8
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
7
|
var utilities = require('@dnd-kit/react/utilities');
|
|
8
|
+
var state = require('@dnd-kit/state');
|
|
10
9
|
|
|
11
|
-
// src/core/context/
|
|
10
|
+
// src/core/context/DragDropProvider.tsx
|
|
12
11
|
var DragDropContext = react.createContext(
|
|
13
12
|
new dom.DragDropManager()
|
|
14
13
|
);
|
|
15
|
-
function useConstant(initializer, dependency) {
|
|
16
|
-
const ref = react.useRef();
|
|
17
|
-
const previousDependency = react.useRef(dependency);
|
|
18
|
-
if (!ref.current) {
|
|
19
|
-
ref.current = initializer();
|
|
20
|
-
}
|
|
21
|
-
if (previousDependency.current !== dependency) {
|
|
22
|
-
previousDependency.current = dependency;
|
|
23
|
-
ref.current = initializer();
|
|
24
|
-
}
|
|
25
|
-
return ref.current;
|
|
26
|
-
}
|
|
27
|
-
var canUseDOM = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
28
|
-
var useIsomorphicLayoutEffect = canUseDOM ? react.useLayoutEffect : react.useEffect;
|
|
29
|
-
|
|
30
|
-
// src/hooks/useSignal.ts
|
|
31
|
-
function useSignal(signalOrValue, sync = false) {
|
|
32
|
-
const sig = useConstant(
|
|
33
|
-
() => signalOrValue instanceof state.Signal ? signalOrValue : state.signal(signalOrValue)
|
|
34
|
-
);
|
|
35
|
-
let val = sig.peek();
|
|
36
|
-
const update = react.useState(val)[1];
|
|
37
|
-
useIsomorphicLayoutEffect(
|
|
38
|
-
() => state.effect(() => {
|
|
39
|
-
if (val !== (val = sig.value)) {
|
|
40
|
-
if (sync) {
|
|
41
|
-
reactDom.flushSync(() => update(val));
|
|
42
|
-
} else {
|
|
43
|
-
update(val);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}),
|
|
47
|
-
[sync]
|
|
48
|
-
);
|
|
49
|
-
return sig;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// src/hooks/useComputed.ts
|
|
53
|
-
function useComputed(compute, sync = false) {
|
|
54
|
-
return useSignal(
|
|
55
|
-
useConstant(() => state.computed(compute)),
|
|
56
|
-
sync
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// src/core/context/hooks.ts
|
|
61
|
-
function useDragDropManager() {
|
|
62
|
-
return react.useContext(DragDropContext);
|
|
63
|
-
}
|
|
64
|
-
function useDragOperation() {
|
|
65
|
-
const manager = useDragDropManager();
|
|
66
|
-
const { dragOperation } = manager;
|
|
67
|
-
const source = useComputed(() => dragOperation.source);
|
|
68
|
-
const target = useComputed(() => dragOperation.target);
|
|
69
|
-
return {
|
|
70
|
-
get source() {
|
|
71
|
-
return source.value;
|
|
72
|
-
},
|
|
73
|
-
get target() {
|
|
74
|
-
return target.value;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
14
|
function useRenderer() {
|
|
79
15
|
const [_, startTransition] = react.useTransition();
|
|
80
16
|
const [transitionCount, setTransitionCount] = react.useState(0);
|
|
@@ -175,14 +111,30 @@ var DragDropProvider = react.forwardRef(
|
|
|
175
111
|
return /* @__PURE__ */ jsxRuntime.jsx(DragDropContext.Provider, { value: manager, children });
|
|
176
112
|
}
|
|
177
113
|
);
|
|
114
|
+
function useDragDropManager() {
|
|
115
|
+
return react.useContext(DragDropContext);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// src/core/hooks/useInstance.ts
|
|
119
|
+
function useInstance(initializer) {
|
|
120
|
+
const manager = useDragDropManager();
|
|
121
|
+
const [instance] = react.useState(() => initializer(manager));
|
|
122
|
+
react.useEffect(() => {
|
|
123
|
+
manager.registry.register(instance);
|
|
124
|
+
return () => {
|
|
125
|
+
manager.registry.unregister(instance);
|
|
126
|
+
};
|
|
127
|
+
}, []);
|
|
128
|
+
return instance;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// src/core/draggable/useDraggable.ts
|
|
178
132
|
function useDraggable(input) {
|
|
179
133
|
const { disabled, id, sensors } = input;
|
|
180
|
-
const manager = useDragDropManager();
|
|
181
134
|
const handle = utilities.getCurrentValue(input.handle);
|
|
182
135
|
const element = utilities.getCurrentValue(input.element);
|
|
183
|
-
const draggable =
|
|
184
|
-
() => new dom.Draggable({ ...input, handle, element }, manager)
|
|
185
|
-
manager
|
|
136
|
+
const draggable = useInstance(
|
|
137
|
+
(manager) => new dom.Draggable({ ...input, handle, element }, manager)
|
|
186
138
|
);
|
|
187
139
|
const isDragSource = hooks.useComputed(() => draggable.isDragSource);
|
|
188
140
|
hooks.useOnValueChange(id, () => draggable.id = id);
|
|
@@ -194,12 +146,6 @@ function useDraggable(input) {
|
|
|
194
146
|
input.feedback,
|
|
195
147
|
() => draggable.feedback = input.feedback ?? "default"
|
|
196
148
|
);
|
|
197
|
-
react.useEffect(() => {
|
|
198
|
-
manager.registry.register(draggable);
|
|
199
|
-
return () => {
|
|
200
|
-
manager.registry.unregister(draggable);
|
|
201
|
-
};
|
|
202
|
-
}, [manager, draggable]);
|
|
203
149
|
return {
|
|
204
150
|
get isDragSource() {
|
|
205
151
|
return isDragSource.value;
|
|
@@ -219,12 +165,10 @@ function useDraggable(input) {
|
|
|
219
165
|
};
|
|
220
166
|
}
|
|
221
167
|
function useDroppable(input) {
|
|
222
|
-
const manager = useDragDropManager();
|
|
223
168
|
const { collisionDetector, disabled, id, accept, type } = input;
|
|
224
169
|
const element = utilities.getCurrentValue(input.element);
|
|
225
|
-
const droppable =
|
|
226
|
-
() => new dom.Droppable({ ...input, element }, manager)
|
|
227
|
-
manager
|
|
170
|
+
const droppable = useInstance(
|
|
171
|
+
(manager) => new dom.Droppable({ ...input, element }, manager)
|
|
228
172
|
);
|
|
229
173
|
const isDisabled = hooks.useComputed(() => droppable.disabled);
|
|
230
174
|
const isDropTarget = hooks.useComputed(() => droppable.isDropTarget);
|
|
@@ -234,12 +178,6 @@ function useDroppable(input) {
|
|
|
234
178
|
hooks.useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
235
179
|
hooks.useOnValueChange(element, () => droppable.element = element);
|
|
236
180
|
hooks.useOnValueChange(type, () => droppable.id = id);
|
|
237
|
-
react.useEffect(() => {
|
|
238
|
-
manager.registry.register(droppable);
|
|
239
|
-
return () => {
|
|
240
|
-
manager.registry.unregister(droppable);
|
|
241
|
-
};
|
|
242
|
-
}, [manager, droppable]);
|
|
243
181
|
return {
|
|
244
182
|
get isDisabled() {
|
|
245
183
|
return isDisabled.value;
|
|
@@ -255,6 +193,20 @@ function useDroppable(input) {
|
|
|
255
193
|
)
|
|
256
194
|
};
|
|
257
195
|
}
|
|
196
|
+
function useDragOperation() {
|
|
197
|
+
const manager = useDragDropManager();
|
|
198
|
+
const { dragOperation } = manager;
|
|
199
|
+
const source = hooks.useComputed(() => dragOperation.source);
|
|
200
|
+
const target = hooks.useComputed(() => dragOperation.target);
|
|
201
|
+
return {
|
|
202
|
+
get source() {
|
|
203
|
+
return source.value;
|
|
204
|
+
},
|
|
205
|
+
get target() {
|
|
206
|
+
return target.value;
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
}
|
|
258
210
|
|
|
259
211
|
exports.DragDropProvider = DragDropProvider;
|
|
260
212
|
exports.useDragDropManager = useDragDropManager;
|
package/index.d.ts
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import * as _dnd_kit_dom from '@dnd-kit/dom';
|
|
2
|
-
import { DragDropManager, Draggable, Droppable, DragDropManagerInput, DraggableInput, DroppableInput } from '@dnd-kit/dom';
|
|
3
|
-
import * as _dnd_kit_abstract from '@dnd-kit/abstract';
|
|
4
|
-
import { DragDropEvents, Data } from '@dnd-kit/abstract';
|
|
5
1
|
import * as react from 'react';
|
|
6
2
|
import { PropsWithChildren } from 'react';
|
|
3
|
+
import * as _dnd_kit_abstract from '@dnd-kit/abstract';
|
|
4
|
+
import { DragDropEvents, Data } from '@dnd-kit/abstract';
|
|
5
|
+
import * as _dnd_kit_dom from '@dnd-kit/dom';
|
|
6
|
+
import { DragDropManager, Draggable, Droppable, DragDropManagerInput, DraggableInput, DroppableInput } from '@dnd-kit/dom';
|
|
7
7
|
import { RefOrValue } from '@dnd-kit/react/utilities';
|
|
8
8
|
|
|
9
|
-
declare function useDragDropManager(): _dnd_kit_dom.DragDropManager<_dnd_kit_dom.Draggable<_dnd_kit_abstract.Data>, _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data>>;
|
|
10
|
-
declare function useDragOperation(): {
|
|
11
|
-
readonly source: _dnd_kit_dom.Draggable<_dnd_kit_abstract.Data> | null;
|
|
12
|
-
readonly target: _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data> | null;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
9
|
type Events = DragDropEvents<Draggable, Droppable, DragDropManager>;
|
|
16
10
|
interface Props extends DragDropManagerInput, PropsWithChildren {
|
|
17
11
|
manager?: DragDropManager;
|
|
@@ -43,4 +37,11 @@ declare function useDroppable<T extends Data = Data>(input: UseDroppableInput<T>
|
|
|
43
37
|
ref: (element: Element | null) => void;
|
|
44
38
|
};
|
|
45
39
|
|
|
40
|
+
declare function useDragDropManager(): _dnd_kit_dom.DragDropManager<_dnd_kit_dom.Draggable<_dnd_kit_abstract.Data>, _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data>>;
|
|
41
|
+
|
|
42
|
+
declare function useDragOperation(): {
|
|
43
|
+
readonly source: _dnd_kit_dom.Draggable<_dnd_kit_abstract.Data> | null;
|
|
44
|
+
readonly target: _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data> | null;
|
|
45
|
+
};
|
|
46
|
+
|
|
46
47
|
export { DragDropProvider, useDragDropManager, useDragOperation, useDraggable, useDroppable };
|
package/index.js
CHANGED
|
@@ -1,84 +1,20 @@
|
|
|
1
|
-
import { createContext, forwardRef, useEffect, useImperativeHandle,
|
|
1
|
+
import { createContext, forwardRef, useEffect, useImperativeHandle, useTransition, useState, useRef, useContext, useCallback } from 'react';
|
|
2
2
|
import { DragDropManager, defaultPreset, Draggable, Droppable } from '@dnd-kit/dom';
|
|
3
|
-
import {
|
|
4
|
-
import { flushSync } from 'react-dom';
|
|
5
|
-
import { useConstant as useConstant$1, useLatest, useEvent, useOnValueChange, useComputed as useComputed$1 } from '@dnd-kit/react/hooks';
|
|
3
|
+
import { useConstant, useLatest, useEvent, useOnValueChange, useComputed } from '@dnd-kit/react/hooks';
|
|
6
4
|
import { jsx } from 'react/jsx-runtime';
|
|
7
5
|
import { getCurrentValue } from '@dnd-kit/react/utilities';
|
|
6
|
+
import { deepEqual } from '@dnd-kit/state';
|
|
8
7
|
|
|
9
|
-
// src/core/context/
|
|
8
|
+
// src/core/context/DragDropProvider.tsx
|
|
10
9
|
var DragDropContext = createContext(
|
|
11
10
|
new DragDropManager()
|
|
12
11
|
);
|
|
13
|
-
function useConstant(initializer, dependency) {
|
|
14
|
-
const ref = useRef();
|
|
15
|
-
const previousDependency = useRef(dependency);
|
|
16
|
-
if (!ref.current) {
|
|
17
|
-
ref.current = initializer();
|
|
18
|
-
}
|
|
19
|
-
if (previousDependency.current !== dependency) {
|
|
20
|
-
previousDependency.current = dependency;
|
|
21
|
-
ref.current = initializer();
|
|
22
|
-
}
|
|
23
|
-
return ref.current;
|
|
24
|
-
}
|
|
25
|
-
var canUseDOM = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
26
|
-
var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
|
|
27
|
-
|
|
28
|
-
// src/hooks/useSignal.ts
|
|
29
|
-
function useSignal(signalOrValue, sync = false) {
|
|
30
|
-
const sig = useConstant(
|
|
31
|
-
() => signalOrValue instanceof Signal ? signalOrValue : signal(signalOrValue)
|
|
32
|
-
);
|
|
33
|
-
let val = sig.peek();
|
|
34
|
-
const update = useState(val)[1];
|
|
35
|
-
useIsomorphicLayoutEffect(
|
|
36
|
-
() => effect(() => {
|
|
37
|
-
if (val !== (val = sig.value)) {
|
|
38
|
-
if (sync) {
|
|
39
|
-
flushSync(() => update(val));
|
|
40
|
-
} else {
|
|
41
|
-
update(val);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
|
-
[sync]
|
|
46
|
-
);
|
|
47
|
-
return sig;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// src/hooks/useComputed.ts
|
|
51
|
-
function useComputed(compute, sync = false) {
|
|
52
|
-
return useSignal(
|
|
53
|
-
useConstant(() => computed(compute)),
|
|
54
|
-
sync
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// src/core/context/hooks.ts
|
|
59
|
-
function useDragDropManager() {
|
|
60
|
-
return useContext(DragDropContext);
|
|
61
|
-
}
|
|
62
|
-
function useDragOperation() {
|
|
63
|
-
const manager = useDragDropManager();
|
|
64
|
-
const { dragOperation } = manager;
|
|
65
|
-
const source = useComputed(() => dragOperation.source);
|
|
66
|
-
const target = useComputed(() => dragOperation.target);
|
|
67
|
-
return {
|
|
68
|
-
get source() {
|
|
69
|
-
return source.value;
|
|
70
|
-
},
|
|
71
|
-
get target() {
|
|
72
|
-
return target.value;
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
12
|
function useRenderer() {
|
|
77
13
|
const [_, startTransition] = useTransition();
|
|
78
14
|
const [transitionCount, setTransitionCount] = useState(0);
|
|
79
15
|
const rendering = useRef();
|
|
80
16
|
const resolver = useRef();
|
|
81
|
-
const renderer = useConstant
|
|
17
|
+
const renderer = useConstant(() => ({
|
|
82
18
|
get rendering() {
|
|
83
19
|
return rendering.current ?? Promise.resolve();
|
|
84
20
|
}
|
|
@@ -114,7 +50,7 @@ var DragDropProvider = forwardRef(
|
|
|
114
50
|
...input
|
|
115
51
|
}, ref) {
|
|
116
52
|
const { renderer, trackRendering } = useRenderer();
|
|
117
|
-
const manager = useConstant
|
|
53
|
+
const manager = useConstant(() => {
|
|
118
54
|
const instance = input.manager ?? new DragDropManager(input);
|
|
119
55
|
instance.renderer = renderer;
|
|
120
56
|
return instance;
|
|
@@ -173,16 +109,32 @@ var DragDropProvider = forwardRef(
|
|
|
173
109
|
return /* @__PURE__ */ jsx(DragDropContext.Provider, { value: manager, children });
|
|
174
110
|
}
|
|
175
111
|
);
|
|
112
|
+
function useDragDropManager() {
|
|
113
|
+
return useContext(DragDropContext);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// src/core/hooks/useInstance.ts
|
|
117
|
+
function useInstance(initializer) {
|
|
118
|
+
const manager = useDragDropManager();
|
|
119
|
+
const [instance] = useState(() => initializer(manager));
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
manager.registry.register(instance);
|
|
122
|
+
return () => {
|
|
123
|
+
manager.registry.unregister(instance);
|
|
124
|
+
};
|
|
125
|
+
}, []);
|
|
126
|
+
return instance;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// src/core/draggable/useDraggable.ts
|
|
176
130
|
function useDraggable(input) {
|
|
177
131
|
const { disabled, id, sensors } = input;
|
|
178
|
-
const manager = useDragDropManager();
|
|
179
132
|
const handle = getCurrentValue(input.handle);
|
|
180
133
|
const element = getCurrentValue(input.element);
|
|
181
|
-
const draggable =
|
|
182
|
-
() => new Draggable({ ...input, handle, element }, manager)
|
|
183
|
-
manager
|
|
134
|
+
const draggable = useInstance(
|
|
135
|
+
(manager) => new Draggable({ ...input, handle, element }, manager)
|
|
184
136
|
);
|
|
185
|
-
const isDragSource = useComputed
|
|
137
|
+
const isDragSource = useComputed(() => draggable.isDragSource);
|
|
186
138
|
useOnValueChange(id, () => draggable.id = id);
|
|
187
139
|
useOnValueChange(handle, () => draggable.handle = handle);
|
|
188
140
|
useOnValueChange(element, () => draggable.element = element);
|
|
@@ -192,12 +144,6 @@ function useDraggable(input) {
|
|
|
192
144
|
input.feedback,
|
|
193
145
|
() => draggable.feedback = input.feedback ?? "default"
|
|
194
146
|
);
|
|
195
|
-
useEffect(() => {
|
|
196
|
-
manager.registry.register(draggable);
|
|
197
|
-
return () => {
|
|
198
|
-
manager.registry.unregister(draggable);
|
|
199
|
-
};
|
|
200
|
-
}, [manager, draggable]);
|
|
201
147
|
return {
|
|
202
148
|
get isDragSource() {
|
|
203
149
|
return isDragSource.value;
|
|
@@ -217,27 +163,19 @@ function useDraggable(input) {
|
|
|
217
163
|
};
|
|
218
164
|
}
|
|
219
165
|
function useDroppable(input) {
|
|
220
|
-
const manager = useDragDropManager();
|
|
221
166
|
const { collisionDetector, disabled, id, accept, type } = input;
|
|
222
167
|
const element = getCurrentValue(input.element);
|
|
223
|
-
const droppable =
|
|
224
|
-
() => new Droppable({ ...input, element }, manager)
|
|
225
|
-
manager
|
|
168
|
+
const droppable = useInstance(
|
|
169
|
+
(manager) => new Droppable({ ...input, element }, manager)
|
|
226
170
|
);
|
|
227
|
-
const isDisabled = useComputed
|
|
228
|
-
const isDropTarget = useComputed
|
|
171
|
+
const isDisabled = useComputed(() => droppable.disabled);
|
|
172
|
+
const isDropTarget = useComputed(() => droppable.isDropTarget);
|
|
229
173
|
useOnValueChange(id, () => droppable.id = id);
|
|
230
174
|
useOnValueChange(accept, () => droppable.id = id, void 0, deepEqual);
|
|
231
175
|
useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
232
176
|
useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
233
177
|
useOnValueChange(element, () => droppable.element = element);
|
|
234
178
|
useOnValueChange(type, () => droppable.id = id);
|
|
235
|
-
useEffect(() => {
|
|
236
|
-
manager.registry.register(droppable);
|
|
237
|
-
return () => {
|
|
238
|
-
manager.registry.unregister(droppable);
|
|
239
|
-
};
|
|
240
|
-
}, [manager, droppable]);
|
|
241
179
|
return {
|
|
242
180
|
get isDisabled() {
|
|
243
181
|
return isDisabled.value;
|
|
@@ -253,6 +191,20 @@ function useDroppable(input) {
|
|
|
253
191
|
)
|
|
254
192
|
};
|
|
255
193
|
}
|
|
194
|
+
function useDragOperation() {
|
|
195
|
+
const manager = useDragDropManager();
|
|
196
|
+
const { dragOperation } = manager;
|
|
197
|
+
const source = useComputed(() => dragOperation.source);
|
|
198
|
+
const target = useComputed(() => dragOperation.target);
|
|
199
|
+
return {
|
|
200
|
+
get source() {
|
|
201
|
+
return source.value;
|
|
202
|
+
},
|
|
203
|
+
get target() {
|
|
204
|
+
return target.value;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
256
208
|
|
|
257
209
|
export { DragDropProvider, useDragDropManager, useDragOperation, useDraggable, useDroppable };
|
|
258
210
|
//# sourceMappingURL=out.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.0.2-beta-
|
|
3
|
+
"version": "0.0.2-beta-20240604190117",
|
|
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": "0.0.2-beta-
|
|
60
|
+
"@dnd-kit/dom": "0.0.2-beta-20240604190117",
|
|
61
61
|
"@dnd-kit/state": "*",
|
|
62
62
|
"tslib": "^2.6.2"
|
|
63
63
|
},
|
package/sortable.cjs
CHANGED
|
@@ -37,6 +37,14 @@ function useSortable(input) {
|
|
|
37
37
|
),
|
|
38
38
|
manager
|
|
39
39
|
);
|
|
40
|
+
react$1.useEffect(() => {
|
|
41
|
+
manager.registry.register(sortable$1.draggable);
|
|
42
|
+
manager.registry.register(sortable$1.droppable);
|
|
43
|
+
return () => {
|
|
44
|
+
manager.registry.unregister(sortable$1.draggable);
|
|
45
|
+
manager.registry.unregister(sortable$1.droppable);
|
|
46
|
+
};
|
|
47
|
+
}, [manager]);
|
|
40
48
|
const isDisabled = hooks.useComputed(() => sortable$1.disabled);
|
|
41
49
|
const isDropTarget = hooks.useComputed(() => sortable$1.isDropTarget);
|
|
42
50
|
const isDragSource = hooks.useComputed(() => sortable$1.isDragSource);
|
package/sortable.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
1
|
+
import { useEffect, 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';
|
|
@@ -35,6 +35,14 @@ function useSortable(input) {
|
|
|
35
35
|
),
|
|
36
36
|
manager
|
|
37
37
|
);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
manager.registry.register(sortable.draggable);
|
|
40
|
+
manager.registry.register(sortable.droppable);
|
|
41
|
+
return () => {
|
|
42
|
+
manager.registry.unregister(sortable.draggable);
|
|
43
|
+
manager.registry.unregister(sortable.droppable);
|
|
44
|
+
};
|
|
45
|
+
}, [manager]);
|
|
38
46
|
const isDisabled = useComputed(() => sortable.disabled);
|
|
39
47
|
const isDropTarget = useComputed(() => sortable.isDropTarget);
|
|
40
48
|
const isDragSource = useComputed(() => sortable.isDragSource);
|