@dnd-kit/react 0.0.4-beta-20240621184125 → 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 CHANGED
@@ -4,8 +4,8 @@ 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;
@@ -169,33 +169,34 @@ function useDragDropManager() {
169
169
  function useInstance(initializer) {
170
170
  var _a;
171
171
  const manager = (_a = useDragDropManager()) != null ? _a : void 0;
172
- const [instance] = react.useState(() => initializer(manager));
172
+ const [instance] = react.useState(() => initializer());
173
173
  react.useEffect(() => {
174
174
  instance.manager = manager;
175
175
  return manager == null ? void 0 : manager.registry.register(instance);
176
176
  }, [instance, manager]);
177
177
  return instance;
178
178
  }
179
+
180
+ // src/core/draggable/useDraggable.ts
179
181
  function useDraggable(input) {
180
- const { disabled, id, modifiers, sensors } = input;
182
+ const { disabled, data, id, modifiers, sensors } = input;
181
183
  const handle = utilities.currentValue(input.handle);
182
184
  const element = utilities.currentValue(input.element);
183
185
  const draggable = useInstance(
184
- (manager) => new dom.Draggable(
186
+ () => new dom.Draggable(
185
187
  __spreadProps(__spreadValues({}, input), {
186
188
  handle,
187
- element,
188
- options: __spreadProps(__spreadValues({}, input.options), {
189
- register: false
190
- })
189
+ element
191
190
  }),
192
- manager
191
+ void 0
193
192
  )
194
193
  );
195
194
  const isDragSource = hooks.useComputed(() => draggable.isDragSource);
195
+ const status = hooks.useComputed(() => draggable.status);
196
196
  hooks.useOnValueChange(id, () => draggable.id = id);
197
197
  hooks.useOnValueChange(handle, () => draggable.handle = handle);
198
198
  hooks.useOnValueChange(element, () => draggable.element = element);
199
+ hooks.useOnValueChange(data, () => data && (draggable.data = data));
199
200
  hooks.useOnValueChange(disabled, () => draggable.disabled = disabled === true);
200
201
  hooks.useOnValueChange(sensors, () => draggable.sensors = sensors);
201
202
  hooks.useOnValueChange(
@@ -216,6 +217,9 @@ function useDraggable(input) {
216
217
  get isDragSource() {
217
218
  return isDragSource.value;
218
219
  },
220
+ get status() {
221
+ return status.value;
222
+ },
219
223
  handleRef: react.useCallback(
220
224
  (element2) => {
221
225
  draggable.handle = element2 != null ? element2 : void 0;
@@ -231,23 +235,21 @@ function useDraggable(input) {
231
235
  };
232
236
  }
233
237
  function useDroppable(input) {
234
- const { collisionDetector, disabled, id, accept, type } = input;
238
+ const { collisionDetector, data, disabled, id, accept, type } = input;
235
239
  const element = utilities.currentValue(input.element);
236
240
  const droppable = useInstance(
237
- (manager) => new dom.Droppable(
241
+ () => new dom.Droppable(
238
242
  __spreadProps(__spreadValues({}, input), {
239
- element,
240
- options: __spreadProps(__spreadValues({}, input.options), {
241
- register: false
242
- })
243
+ element
243
244
  }),
244
- manager
245
+ void 0
245
246
  )
246
247
  );
247
248
  const isDropTarget = hooks.useComputed(() => droppable.isDropTarget);
248
249
  hooks.useOnValueChange(id, () => droppable.id = id);
249
250
  hooks.useOnValueChange(accept, () => droppable.id = id, void 0, state.deepEqual);
250
251
  hooks.useOnValueChange(collisionDetector, () => droppable.id = id);
252
+ hooks.useOnValueChange(data, () => data && (droppable.data = data));
251
253
  hooks.useOnValueChange(disabled, () => droppable.disabled = disabled === true);
252
254
  hooks.useOnValueChange(element, () => droppable.element = element);
253
255
  hooks.useOnValueChange(type, () => droppable.id = id);
package/index.d.ts CHANGED
@@ -25,6 +25,7 @@ interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T
25
25
  declare function useDraggable<T extends Data = Data>(input: UseDraggableInput<T>): {
26
26
  draggable: Draggable<T>;
27
27
  readonly isDragSource: boolean;
28
+ readonly status: "idle" | "dragging" | "dropping";
28
29
  handleRef: (element: Element | null) => void;
29
30
  ref: (element: Element | null) => void;
30
31
  };
package/index.js CHANGED
@@ -2,8 +2,8 @@ import { createContext, useState, useEffect, startTransition, useContext, useCal
2
2
  import { DragDropManager, defaultPreset, Draggable, Droppable } from '@dnd-kit/dom';
3
3
  import { useLatest, useOnValueChange, useComputed, useConstant } from '@dnd-kit/react/hooks';
4
4
  import { jsx } from 'react/jsx-runtime';
5
- import { currentValue } from '@dnd-kit/react/utilities';
6
5
  import { deepEqual } from '@dnd-kit/state';
6
+ import { currentValue } from '@dnd-kit/react/utilities';
7
7
 
8
8
  var __defProp = Object.defineProperty;
9
9
  var __defProps = Object.defineProperties;
@@ -167,33 +167,34 @@ function useDragDropManager() {
167
167
  function useInstance(initializer) {
168
168
  var _a;
169
169
  const manager = (_a = useDragDropManager()) != null ? _a : void 0;
170
- const [instance] = useState(() => initializer(manager));
170
+ const [instance] = useState(() => initializer());
171
171
  useEffect(() => {
172
172
  instance.manager = manager;
173
173
  return manager == null ? void 0 : manager.registry.register(instance);
174
174
  }, [instance, manager]);
175
175
  return instance;
176
176
  }
177
+
178
+ // src/core/draggable/useDraggable.ts
177
179
  function useDraggable(input) {
178
- const { disabled, id, modifiers, sensors } = input;
180
+ const { disabled, data, id, modifiers, sensors } = input;
179
181
  const handle = currentValue(input.handle);
180
182
  const element = currentValue(input.element);
181
183
  const draggable = useInstance(
182
- (manager) => new Draggable(
184
+ () => new Draggable(
183
185
  __spreadProps(__spreadValues({}, input), {
184
186
  handle,
185
- element,
186
- options: __spreadProps(__spreadValues({}, input.options), {
187
- register: false
188
- })
187
+ element
189
188
  }),
190
- manager
189
+ void 0
191
190
  )
192
191
  );
193
192
  const isDragSource = useComputed(() => draggable.isDragSource);
193
+ const status = useComputed(() => draggable.status);
194
194
  useOnValueChange(id, () => draggable.id = id);
195
195
  useOnValueChange(handle, () => draggable.handle = handle);
196
196
  useOnValueChange(element, () => draggable.element = element);
197
+ useOnValueChange(data, () => data && (draggable.data = data));
197
198
  useOnValueChange(disabled, () => draggable.disabled = disabled === true);
198
199
  useOnValueChange(sensors, () => draggable.sensors = sensors);
199
200
  useOnValueChange(
@@ -214,6 +215,9 @@ function useDraggable(input) {
214
215
  get isDragSource() {
215
216
  return isDragSource.value;
216
217
  },
218
+ get status() {
219
+ return status.value;
220
+ },
217
221
  handleRef: useCallback(
218
222
  (element2) => {
219
223
  draggable.handle = element2 != null ? element2 : void 0;
@@ -229,23 +233,21 @@ function useDraggable(input) {
229
233
  };
230
234
  }
231
235
  function useDroppable(input) {
232
- const { collisionDetector, disabled, id, accept, type } = input;
236
+ const { collisionDetector, data, disabled, id, accept, type } = input;
233
237
  const element = currentValue(input.element);
234
238
  const droppable = useInstance(
235
- (manager) => new Droppable(
239
+ () => new Droppable(
236
240
  __spreadProps(__spreadValues({}, input), {
237
- element,
238
- options: __spreadProps(__spreadValues({}, input.options), {
239
- register: false
240
- })
241
+ element
241
242
  }),
242
- manager
243
+ void 0
243
244
  )
244
245
  );
245
246
  const isDropTarget = useComputed(() => droppable.isDropTarget);
246
247
  useOnValueChange(id, () => droppable.id = id);
247
248
  useOnValueChange(accept, () => droppable.id = id, void 0, deepEqual);
248
249
  useOnValueChange(collisionDetector, () => droppable.id = id);
250
+ useOnValueChange(data, () => data && (droppable.data = data));
249
251
  useOnValueChange(disabled, () => droppable.disabled = disabled === true);
250
252
  useOnValueChange(element, () => droppable.element = element);
251
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-20240621184125",
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-20240621184125",
60
- "@dnd-kit/dom": "0.0.4-beta-20240621184125",
61
- "@dnd-kit/state": "0.0.4-beta-20240621184125",
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
- manager != null ? manager : void 0
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 != null ? data : null);
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
- manager != null ? manager : void 0
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 != null ? data : null);
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;