@dnd-kit/react 0.0.6-beta-20240917191338 → 0.0.6-beta-20240918141737
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/hooks.cjs +9 -10
- package/hooks.d.ts +1 -1
- package/hooks.js +11 -12
- package/index.cjs +6 -2
- package/index.js +6 -2
- package/package.json +4 -4
- package/sortable.cjs +5 -0
- package/sortable.js +5 -0
package/hooks.cjs
CHANGED
|
@@ -15,15 +15,12 @@ var canUseDOM = typeof window !== "undefined" && typeof window.document !== "und
|
|
|
15
15
|
var useIsomorphicLayoutEffect = canUseDOM ? react.useLayoutEffect : react.useEffect;
|
|
16
16
|
|
|
17
17
|
// src/hooks/useSignal.ts
|
|
18
|
-
function useSignal(
|
|
19
|
-
|
|
20
|
-
() => signalOrValue instanceof state.Signal ? signalOrValue : state.signal(signalOrValue)
|
|
21
|
-
);
|
|
22
|
-
let val = sig.peek();
|
|
18
|
+
function useSignal(signal, sync = false) {
|
|
19
|
+
let val = signal.peek();
|
|
23
20
|
const update = react.useState(val)[1];
|
|
24
21
|
useIsomorphicLayoutEffect(
|
|
25
22
|
() => state.effect(() => {
|
|
26
|
-
if (val !== (val =
|
|
23
|
+
if (val !== (val = signal.value)) {
|
|
27
24
|
if (sync) {
|
|
28
25
|
reactDom.flushSync(() => update(val));
|
|
29
26
|
} else {
|
|
@@ -31,15 +28,17 @@ function useSignal(signalOrValue, sync = false) {
|
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
30
|
}),
|
|
34
|
-
[sync]
|
|
31
|
+
[signal, sync]
|
|
35
32
|
);
|
|
36
|
-
return
|
|
33
|
+
return signal;
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
// src/hooks/useComputed.ts
|
|
40
|
-
function useComputed(compute, sync = false) {
|
|
37
|
+
function useComputed(compute, dependencies = [], sync = false) {
|
|
38
|
+
const $compute = react.useRef(compute);
|
|
39
|
+
$compute.current = compute;
|
|
41
40
|
return useSignal(
|
|
42
|
-
|
|
41
|
+
react.useMemo(() => state.computed(() => $compute.current()), dependencies),
|
|
43
42
|
sync
|
|
44
43
|
);
|
|
45
44
|
}
|
package/hooks.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { EffectCallback, DependencyList, useLayoutEffect, useEffect } from 'reac
|
|
|
4
4
|
|
|
5
5
|
declare function useConstant<T = any>(initializer: () => T): T;
|
|
6
6
|
|
|
7
|
-
declare function useComputed<T = any>(compute: () => T, sync?: boolean): _preact_signals_core.
|
|
7
|
+
declare function useComputed<T = any>(compute: () => T, dependencies?: any[], sync?: boolean): _preact_signals_core.Signal<T>;
|
|
8
8
|
|
|
9
9
|
declare function useImmediateEffect(callback: EffectCallback, _?: DependencyList): void;
|
|
10
10
|
|
package/hooks.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useRef, useLayoutEffect, useEffect, useState } from 'react';
|
|
2
|
-
import { computed,
|
|
1
|
+
import { useRef, useLayoutEffect, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { computed, effect } from '@dnd-kit/state';
|
|
3
3
|
import { flushSync } from 'react-dom';
|
|
4
4
|
|
|
5
5
|
function useConstant(initializer) {
|
|
@@ -13,15 +13,12 @@ var canUseDOM = typeof window !== "undefined" && typeof window.document !== "und
|
|
|
13
13
|
var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
|
|
14
14
|
|
|
15
15
|
// src/hooks/useSignal.ts
|
|
16
|
-
function useSignal(
|
|
17
|
-
|
|
18
|
-
() => signalOrValue instanceof Signal ? signalOrValue : signal(signalOrValue)
|
|
19
|
-
);
|
|
20
|
-
let val = sig.peek();
|
|
16
|
+
function useSignal(signal, sync = false) {
|
|
17
|
+
let val = signal.peek();
|
|
21
18
|
const update = useState(val)[1];
|
|
22
19
|
useIsomorphicLayoutEffect(
|
|
23
20
|
() => effect(() => {
|
|
24
|
-
if (val !== (val =
|
|
21
|
+
if (val !== (val = signal.value)) {
|
|
25
22
|
if (sync) {
|
|
26
23
|
flushSync(() => update(val));
|
|
27
24
|
} else {
|
|
@@ -29,15 +26,17 @@ function useSignal(signalOrValue, sync = false) {
|
|
|
29
26
|
}
|
|
30
27
|
}
|
|
31
28
|
}),
|
|
32
|
-
[sync]
|
|
29
|
+
[signal, sync]
|
|
33
30
|
);
|
|
34
|
-
return
|
|
31
|
+
return signal;
|
|
35
32
|
}
|
|
36
33
|
|
|
37
34
|
// src/hooks/useComputed.ts
|
|
38
|
-
function useComputed(compute, sync = false) {
|
|
35
|
+
function useComputed(compute, dependencies = [], sync = false) {
|
|
36
|
+
const $compute = useRef(compute);
|
|
37
|
+
$compute.current = compute;
|
|
39
38
|
return useSignal(
|
|
40
|
-
|
|
39
|
+
useMemo(() => computed(() => $compute.current()), dependencies),
|
|
41
40
|
sync
|
|
42
41
|
);
|
|
43
42
|
}
|
package/index.cjs
CHANGED
|
@@ -236,6 +236,10 @@ function useDraggable(input) {
|
|
|
236
236
|
),
|
|
237
237
|
ref: react.useCallback(
|
|
238
238
|
(element2) => {
|
|
239
|
+
var _a, _b;
|
|
240
|
+
if (!element2 && ((_a = draggable.element) == null ? void 0 : _a.isConnected) && !((_b = draggable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
239
243
|
draggable.element = element2 != null ? element2 : void 0;
|
|
240
244
|
},
|
|
241
245
|
[draggable]
|
|
@@ -276,8 +280,8 @@ function useDroppable(input) {
|
|
|
276
280
|
}
|
|
277
281
|
function useDragOperation() {
|
|
278
282
|
const manager = useDragDropManager();
|
|
279
|
-
const source = hooks.useComputed(() => manager == null ? void 0 : manager.dragOperation.source);
|
|
280
|
-
const target = hooks.useComputed(() => manager == null ? void 0 : manager.dragOperation.target);
|
|
283
|
+
const source = hooks.useComputed(() => manager == null ? void 0 : manager.dragOperation.source, [manager]);
|
|
284
|
+
const target = hooks.useComputed(() => manager == null ? void 0 : manager.dragOperation.target, [manager]);
|
|
281
285
|
return {
|
|
282
286
|
get source() {
|
|
283
287
|
return source.value;
|
package/index.js
CHANGED
|
@@ -234,6 +234,10 @@ function useDraggable(input) {
|
|
|
234
234
|
),
|
|
235
235
|
ref: useCallback(
|
|
236
236
|
(element2) => {
|
|
237
|
+
var _a, _b;
|
|
238
|
+
if (!element2 && ((_a = draggable.element) == null ? void 0 : _a.isConnected) && !((_b = draggable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
237
241
|
draggable.element = element2 != null ? element2 : void 0;
|
|
238
242
|
},
|
|
239
243
|
[draggable]
|
|
@@ -274,8 +278,8 @@ function useDroppable(input) {
|
|
|
274
278
|
}
|
|
275
279
|
function useDragOperation() {
|
|
276
280
|
const manager = useDragDropManager();
|
|
277
|
-
const source = useComputed(() => manager == null ? void 0 : manager.dragOperation.source);
|
|
278
|
-
const target = useComputed(() => manager == null ? void 0 : manager.dragOperation.target);
|
|
281
|
+
const source = useComputed(() => manager == null ? void 0 : manager.dragOperation.source, [manager]);
|
|
282
|
+
const target = useComputed(() => manager == null ? void 0 : manager.dragOperation.target, [manager]);
|
|
279
283
|
return {
|
|
280
284
|
get source() {
|
|
281
285
|
return source.value;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.0.6-beta-
|
|
3
|
+
"version": "0.0.6-beta-20240918141737",
|
|
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.6-beta-
|
|
60
|
-
"@dnd-kit/dom": "0.0.6-beta-
|
|
61
|
-
"@dnd-kit/state": "0.0.6-beta-
|
|
59
|
+
"@dnd-kit/abstract": "0.0.6-beta-20240918141737",
|
|
60
|
+
"@dnd-kit/dom": "0.0.6-beta-20240918141737",
|
|
61
|
+
"@dnd-kit/state": "0.0.6-beta-20240918141737",
|
|
62
62
|
"tslib": "^2.6.2"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
package/sortable.cjs
CHANGED
|
@@ -122,6 +122,11 @@ function useSortable(input) {
|
|
|
122
122
|
),
|
|
123
123
|
sourceRef: react$1.useCallback(
|
|
124
124
|
(element2) => {
|
|
125
|
+
var _a;
|
|
126
|
+
const { manager: manager2 } = sortable$1;
|
|
127
|
+
if (!element2 && ((_a = sortable$1.source) == null ? void 0 : _a.isConnected) && !(manager2 == null ? void 0 : manager2.dragOperation.status.idle)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
125
130
|
sortable$1.source = element2 != null ? element2 : void 0;
|
|
126
131
|
},
|
|
127
132
|
[sortable$1]
|
package/sortable.js
CHANGED
|
@@ -120,6 +120,11 @@ function useSortable(input) {
|
|
|
120
120
|
),
|
|
121
121
|
sourceRef: useCallback(
|
|
122
122
|
(element2) => {
|
|
123
|
+
var _a;
|
|
124
|
+
const { manager: manager2 } = sortable;
|
|
125
|
+
if (!element2 && ((_a = sortable.source) == null ? void 0 : _a.isConnected) && !(manager2 == null ? void 0 : manager2.dragOperation.status.idle)) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
123
128
|
sortable.source = element2 != null ? element2 : void 0;
|
|
124
129
|
},
|
|
125
130
|
[sortable]
|