@dnd-kit/react 0.0.8-beta-20250203132449 → 0.0.8-beta-20250203143224

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 CHANGED
@@ -198,8 +198,8 @@ function useDraggable(input) {
198
198
  manager
199
199
  )
200
200
  );
201
- const isDragSource = hooks.useComputed(() => draggable.isDragSource, [draggable]);
202
- const status = hooks.useComputed(() => draggable.status, [draggable]);
201
+ const trackedDraggable = hooks.useDeepSignal(draggable);
202
+ hooks.useComputed(() => draggable.status, [draggable]);
203
203
  hooks.useOnValueChange(id, () => draggable.id = id);
204
204
  hooks.useOnElementChange(handle, (handle2) => draggable.handle = handle2);
205
205
  hooks.useOnElementChange(element, (element2) => draggable.element = element2);
@@ -220,12 +220,15 @@ function useDraggable(input) {
220
220
  }
221
221
  );
222
222
  return {
223
- draggable,
224
- get isDragSource() {
225
- return isDragSource.value;
223
+ draggable: trackedDraggable,
224
+ get isDragging() {
225
+ return trackedDraggable.isDragging;
226
+ },
227
+ get isDropping() {
228
+ return trackedDraggable.isDropping;
226
229
  },
227
- get status() {
228
- return status.value;
230
+ get isDragSource() {
231
+ return trackedDraggable.isDragSource;
229
232
  },
230
233
  handleRef: react.useCallback(
231
234
  (element2) => {
@@ -288,7 +291,7 @@ function useDroppable(input) {
288
291
  manager
289
292
  )
290
293
  );
291
- const isDropTarget = hooks.useComputed(() => droppable.isDropTarget, [droppable]);
294
+ const trackedDroppalbe = hooks.useDeepSignal(droppable);
292
295
  hooks.useOnValueChange(id, () => droppable.id = id);
293
296
  hooks.useOnElementChange(element, (element2) => droppable.element = element2);
294
297
  hooks.useOnValueChange(accept, () => droppable.id = id, void 0, state.deepEqual);
@@ -297,8 +300,9 @@ function useDroppable(input) {
297
300
  hooks.useOnValueChange(disabled, () => droppable.disabled = disabled === true);
298
301
  hooks.useOnValueChange(type, () => droppable.id = id);
299
302
  return {
303
+ droppable: trackedDroppalbe,
300
304
  get isDropTarget() {
301
- return isDropTarget.value;
305
+ return trackedDroppalbe.isDropTarget;
302
306
  },
303
307
  ref: react.useCallback(
304
308
  (element2) => {
@@ -309,8 +313,7 @@ function useDroppable(input) {
309
313
  droppable.element = element2 != null ? element2 : void 0;
310
314
  },
311
315
  [droppable]
312
- ),
313
- droppable
316
+ )
314
317
  };
315
318
  }
316
319
  function useDragOperation() {
package/index.d.ts CHANGED
@@ -25,8 +25,9 @@ interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T
25
25
  }
26
26
  declare function useDraggable<T extends Data = Data>(input: UseDraggableInput<T>): {
27
27
  draggable: Draggable<T>;
28
+ readonly isDragging: boolean;
29
+ readonly isDropping: boolean;
28
30
  readonly isDragSource: boolean;
29
- readonly status: "idle" | "dragging" | "dropping";
30
31
  handleRef: (element: Element | null) => void;
31
32
  ref: (element: Element | null) => void;
32
33
  };
@@ -41,9 +42,9 @@ interface UseDroppableInput<T extends Data = Data> extends Omit<DroppableInput<T
41
42
  element?: RefOrValue<Element>;
42
43
  }
43
44
  declare function useDroppable<T extends Data = Data>(input: UseDroppableInput<T>): {
45
+ droppable: Droppable<T>;
44
46
  readonly isDropTarget: boolean;
45
47
  ref: (element: Element | null) => void;
46
- droppable: Droppable<T>;
47
48
  };
48
49
 
49
50
  declare function useDragDropManager(): _dnd_kit_dom.DragDropManager<_dnd_kit_dom.Draggable<_dnd_kit_abstract.Data>, _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data>> | null;
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createContext, useState, useEffect, startTransition, useContext, useCallback, useRef, useTransition, useLayoutEffect } from 'react';
2
2
  import { DragDropManager, defaultPreset, Draggable, Feedback, Droppable } from '@dnd-kit/dom';
3
- import { useLatest, useOnValueChange, useIsomorphicLayoutEffect, useComputed, useOnElementChange, useDeepSignal, useConstant } from '@dnd-kit/react/hooks';
3
+ import { useLatest, useOnValueChange, useIsomorphicLayoutEffect, useDeepSignal, useComputed, useOnElementChange, useConstant } from '@dnd-kit/react/hooks';
4
4
  import { deepEqual } from '@dnd-kit/state';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import { currentValue } from '@dnd-kit/react/utilities';
@@ -196,8 +196,8 @@ function useDraggable(input) {
196
196
  manager
197
197
  )
198
198
  );
199
- const isDragSource = useComputed(() => draggable.isDragSource, [draggable]);
200
- const status = useComputed(() => draggable.status, [draggable]);
199
+ const trackedDraggable = useDeepSignal(draggable);
200
+ useComputed(() => draggable.status, [draggable]);
201
201
  useOnValueChange(id, () => draggable.id = id);
202
202
  useOnElementChange(handle, (handle2) => draggable.handle = handle2);
203
203
  useOnElementChange(element, (element2) => draggable.element = element2);
@@ -218,12 +218,15 @@ function useDraggable(input) {
218
218
  }
219
219
  );
220
220
  return {
221
- draggable,
222
- get isDragSource() {
223
- return isDragSource.value;
221
+ draggable: trackedDraggable,
222
+ get isDragging() {
223
+ return trackedDraggable.isDragging;
224
+ },
225
+ get isDropping() {
226
+ return trackedDraggable.isDropping;
224
227
  },
225
- get status() {
226
- return status.value;
228
+ get isDragSource() {
229
+ return trackedDraggable.isDragSource;
227
230
  },
228
231
  handleRef: useCallback(
229
232
  (element2) => {
@@ -286,7 +289,7 @@ function useDroppable(input) {
286
289
  manager
287
290
  )
288
291
  );
289
- const isDropTarget = useComputed(() => droppable.isDropTarget, [droppable]);
292
+ const trackedDroppalbe = useDeepSignal(droppable);
290
293
  useOnValueChange(id, () => droppable.id = id);
291
294
  useOnElementChange(element, (element2) => droppable.element = element2);
292
295
  useOnValueChange(accept, () => droppable.id = id, void 0, deepEqual);
@@ -295,8 +298,9 @@ function useDroppable(input) {
295
298
  useOnValueChange(disabled, () => droppable.disabled = disabled === true);
296
299
  useOnValueChange(type, () => droppable.id = id);
297
300
  return {
301
+ droppable: trackedDroppalbe,
298
302
  get isDropTarget() {
299
- return isDropTarget.value;
303
+ return trackedDroppalbe.isDropTarget;
300
304
  },
301
305
  ref: useCallback(
302
306
  (element2) => {
@@ -307,8 +311,7 @@ function useDroppable(input) {
307
311
  droppable.element = element2 != null ? element2 : void 0;
308
312
  },
309
313
  [droppable]
310
- ),
311
- droppable
314
+ )
312
315
  };
313
316
  }
314
317
  function useDragOperation() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnd-kit/react",
3
- "version": "0.0.8-beta-20250203132449",
3
+ "version": "0.0.8-beta-20250203143224",
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.8-beta-20250203132449",
60
- "@dnd-kit/dom": "0.0.8-beta-20250203132449",
61
- "@dnd-kit/state": "0.0.8-beta-20250203132449",
59
+ "@dnd-kit/abstract": "0.0.8-beta-20250203143224",
60
+ "@dnd-kit/dom": "0.0.8-beta-20250203143224",
61
+ "@dnd-kit/state": "0.0.8-beta-20250203143224",
62
62
  "tslib": "^2.6.2"
63
63
  },
64
64
  "peerDependencies": {
package/sortable.cjs CHANGED
@@ -56,9 +56,7 @@ function useSortable(input) {
56
56
  manager
57
57
  );
58
58
  });
59
- const isDropTarget = hooks.useComputed(() => sortable$1.isDropTarget, [sortable$1]);
60
- const isDragSource = hooks.useComputed(() => sortable$1.isDragSource, [sortable$1]);
61
- const status = hooks.useComputed(() => sortable$1.status, [sortable$1]);
59
+ const trackedSortable = hooks.useDeepSignal(sortable$1);
62
60
  hooks.useOnValueChange(id, () => sortable$1.id = id);
63
61
  hooks.useIsomorphicLayoutEffect(() => {
64
62
  state.batch(() => {
@@ -106,14 +104,18 @@ function useSortable(input) {
106
104
  state.deepEqual
107
105
  );
108
106
  return {
107
+ sortable: trackedSortable,
108
+ get isDragging() {
109
+ return trackedSortable.isDragging;
110
+ },
111
+ get isDropping() {
112
+ return trackedSortable.isDropping;
113
+ },
109
114
  get isDragSource() {
110
- return isDragSource.value;
115
+ return trackedSortable.isDragSource;
111
116
  },
112
117
  get isDropTarget() {
113
- return isDropTarget.value;
114
- },
115
- get status() {
116
- return status.value;
118
+ return trackedSortable.isDropTarget;
117
119
  },
118
120
  handleRef: react$1.useCallback(
119
121
  (element2) => {
package/sortable.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Data } from '@dnd-kit/abstract';
2
- import { SortableInput } from '@dnd-kit/dom/sortable';
2
+ import { SortableInput, Sortable } from '@dnd-kit/dom/sortable';
3
3
  import { RefOrValue } from '@dnd-kit/react/utilities';
4
4
 
5
5
  interface UseSortableInput<T extends Data = Data> extends Omit<SortableInput<T>, 'handle' | 'element' | 'target'> {
@@ -8,9 +8,11 @@ interface UseSortableInput<T extends Data = Data> extends Omit<SortableInput<T>,
8
8
  target?: RefOrValue<Element>;
9
9
  }
10
10
  declare function useSortable<T extends Data = Data>(input: UseSortableInput<T>): {
11
+ sortable: Sortable<T>;
12
+ readonly isDragging: boolean;
13
+ readonly isDropping: boolean;
11
14
  readonly isDragSource: boolean;
12
15
  readonly isDropTarget: boolean;
13
- readonly status: "idle" | "dragging" | "dropping";
14
16
  handleRef: (element: Element | null) => void;
15
17
  ref: (element: Element | null) => void;
16
18
  sourceRef: (element: Element | null) => void;
package/sortable.js CHANGED
@@ -2,7 +2,7 @@ import { useCallback } from 'react';
2
2
  import { batch, deepEqual } from '@dnd-kit/state';
3
3
  import { Sortable, defaultSortableTransition } from '@dnd-kit/dom/sortable';
4
4
  import { useInstance } from '@dnd-kit/react';
5
- import { useComputed, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect, useOnElementChange } from '@dnd-kit/react/hooks';
5
+ import { useDeepSignal, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect, useOnElementChange } from '@dnd-kit/react/hooks';
6
6
  import { currentValue } from '@dnd-kit/react/utilities';
7
7
 
8
8
  var __defProp = Object.defineProperty;
@@ -54,9 +54,7 @@ function useSortable(input) {
54
54
  manager
55
55
  );
56
56
  });
57
- const isDropTarget = useComputed(() => sortable.isDropTarget, [sortable]);
58
- const isDragSource = useComputed(() => sortable.isDragSource, [sortable]);
59
- const status = useComputed(() => sortable.status, [sortable]);
57
+ const trackedSortable = useDeepSignal(sortable);
60
58
  useOnValueChange(id, () => sortable.id = id);
61
59
  useIsomorphicLayoutEffect(() => {
62
60
  batch(() => {
@@ -104,14 +102,18 @@ function useSortable(input) {
104
102
  deepEqual
105
103
  );
106
104
  return {
105
+ sortable: trackedSortable,
106
+ get isDragging() {
107
+ return trackedSortable.isDragging;
108
+ },
109
+ get isDropping() {
110
+ return trackedSortable.isDropping;
111
+ },
107
112
  get isDragSource() {
108
- return isDragSource.value;
113
+ return trackedSortable.isDragSource;
109
114
  },
110
115
  get isDropTarget() {
111
- return isDropTarget.value;
112
- },
113
- get status() {
114
- return status.value;
116
+ return trackedSortable.isDropTarget;
115
117
  },
116
118
  handleRef: useCallback(
117
119
  (element2) => {