@dnd-kit/react 0.0.4-beta-20240621030124 → 0.0.4-beta-20240621184125

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
@@ -10,7 +10,6 @@ var state = require('@dnd-kit/state');
10
10
  var __defProp = Object.defineProperty;
11
11
  var __defProps = Object.defineProperties;
12
12
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
13
- var __getOwnPropNames = Object.getOwnPropertyNames;
14
13
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
14
  var __hasOwnProp = Object.prototype.hasOwnProperty;
16
15
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -39,22 +38,9 @@ var __objRest = (source, exclude) => {
39
38
  }
40
39
  return target;
41
40
  };
42
- var __esm = (fn, res) => function __init() {
43
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
44
- };
45
- var __export = (target, all) => {
46
- for (var name in all)
47
- __defProp(target, name, { get: all[name], enumerable: true });
48
- };
49
- var DragDropContext;
50
- var init_context = __esm({
51
- "src/core/context/context.ts"() {
52
- "use client";
53
- DragDropContext = react.createContext(
54
- new dom.DragDropManager()
55
- );
56
- }
57
- });
41
+ var DragDropContext = react.createContext(
42
+ new dom.DragDropManager()
43
+ );
58
44
  function useRenderer() {
59
45
  const [_, startTransition2] = react.useTransition();
60
46
  const [transitionCount, setTransitionCount] = react.useState(0);
@@ -86,16 +72,6 @@ function useRenderer() {
86
72
  }
87
73
  };
88
74
  }
89
- var init_renderer = __esm({
90
- "src/core/context/renderer.ts"() {
91
- }
92
- });
93
-
94
- // src/core/context/DragDropProvider.tsx
95
- var DragDropProvider_exports = {};
96
- __export(DragDropProvider_exports, {
97
- default: () => DragDropProvider
98
- });
99
75
  function DragDropProvider(_a) {
100
76
  var _b = _a, {
101
77
  children,
@@ -185,16 +161,6 @@ function DragDropProvider(_a) {
185
161
  );
186
162
  return /* @__PURE__ */ jsxRuntime.jsx(DragDropContext.Provider, { value: manager, children });
187
163
  }
188
- var init_DragDropProvider = __esm({
189
- "src/core/context/DragDropProvider.tsx"() {
190
- init_context();
191
- init_renderer();
192
- }
193
- });
194
- var DragDropProvider2 = react.lazy(() => Promise.resolve().then(() => (init_DragDropProvider(), DragDropProvider_exports)));
195
-
196
- // src/core/hooks/useDragDropManager.ts
197
- init_context();
198
164
  function useDragDropManager() {
199
165
  return react.useContext(DragDropContext);
200
166
  }
@@ -312,7 +278,7 @@ function useDragOperation() {
312
278
  };
313
279
  }
314
280
 
315
- exports.DragDropProvider = DragDropProvider2;
281
+ exports.DragDropProvider = DragDropProvider;
316
282
  exports.useDragDropManager = useDragDropManager;
317
283
  exports.useDragOperation = useDragOperation;
318
284
  exports.useDraggable = useDraggable;
package/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import * as react from 'react';
2
- import { PropsWithChildren } from 'react';
3
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { PropsWithChildren } from 'react';
4
3
  import * as _dnd_kit_abstract from '@dnd-kit/abstract';
5
4
  import { DragDropEvents, Data } from '@dnd-kit/abstract';
6
5
  import * as _dnd_kit_dom from '@dnd-kit/dom';
@@ -17,9 +16,7 @@ interface Props extends DragDropManagerInput, PropsWithChildren {
17
16
  onDragOver?: Events['dragover'];
18
17
  onDragEnd?: Events['dragend'];
19
18
  }
20
- declare function DragDropProvider$1({ children, onCollision, onBeforeDragStart, onDragStart, onDragMove, onDragOver, onDragEnd, ...input }: Props): react_jsx_runtime.JSX.Element;
21
-
22
- declare const DragDropProvider: react.LazyExoticComponent<typeof DragDropProvider$1>;
19
+ declare function DragDropProvider({ children, onCollision, onBeforeDragStart, onDragStart, onDragMove, onDragOver, onDragEnd, ...input }: Props): react_jsx_runtime.JSX.Element;
23
20
 
24
21
  interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T>, 'handle' | 'element'> {
25
22
  handle?: RefOrValue<Element>;
package/index.js CHANGED
@@ -1,11 +1,164 @@
1
- import { DragDropContext, __spreadProps, __spreadValues } from './chunk-56SCTCQE.js';
2
- import { lazy, useContext, useCallback, useState, useEffect } from 'react';
3
- import { Draggable, Droppable } from '@dnd-kit/dom';
4
- import { useComputed, useOnValueChange } from '@dnd-kit/react/hooks';
1
+ import { createContext, useState, useEffect, startTransition, useContext, useCallback, useTransition, useRef } from 'react';
2
+ import { DragDropManager, defaultPreset, Draggable, Droppable } from '@dnd-kit/dom';
3
+ import { useLatest, useOnValueChange, useComputed, useConstant } from '@dnd-kit/react/hooks';
4
+ import { jsx } from 'react/jsx-runtime';
5
5
  import { currentValue } from '@dnd-kit/react/utilities';
6
6
  import { deepEqual } from '@dnd-kit/state';
7
7
 
8
- var DragDropProvider = lazy(() => import('./DragDropProvider-B4S6ULO6.js'));
8
+ var __defProp = Object.defineProperty;
9
+ var __defProps = Object.defineProperties;
10
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ var __objRest = (source, exclude) => {
28
+ var target = {};
29
+ for (var prop in source)
30
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
31
+ target[prop] = source[prop];
32
+ if (source != null && __getOwnPropSymbols)
33
+ for (var prop of __getOwnPropSymbols(source)) {
34
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
35
+ target[prop] = source[prop];
36
+ }
37
+ return target;
38
+ };
39
+ var DragDropContext = createContext(
40
+ new DragDropManager()
41
+ );
42
+ function useRenderer() {
43
+ const [_, startTransition2] = useTransition();
44
+ const [transitionCount, setTransitionCount] = useState(0);
45
+ const rendering = useRef();
46
+ const resolver = useRef();
47
+ const renderer = useConstant(() => ({
48
+ get rendering() {
49
+ var _a;
50
+ return (_a = rendering.current) != null ? _a : Promise.resolve();
51
+ }
52
+ }));
53
+ useOnValueChange(transitionCount, () => {
54
+ var _a;
55
+ (_a = resolver.current) == null ? void 0 : _a.call(resolver);
56
+ rendering.current = void 0;
57
+ });
58
+ return {
59
+ renderer,
60
+ trackRendering(callback) {
61
+ if (!rendering.current) {
62
+ rendering.current = new Promise((resolve) => {
63
+ resolver.current = resolve;
64
+ });
65
+ }
66
+ startTransition2(() => {
67
+ callback();
68
+ setTransitionCount((count) => count + 1);
69
+ });
70
+ }
71
+ };
72
+ }
73
+ function DragDropProvider(_a) {
74
+ var _b = _a, {
75
+ children,
76
+ onCollision,
77
+ onBeforeDragStart,
78
+ onDragStart,
79
+ onDragMove,
80
+ onDragOver,
81
+ onDragEnd
82
+ } = _b, input = __objRest(_b, [
83
+ "children",
84
+ "onCollision",
85
+ "onBeforeDragStart",
86
+ "onDragStart",
87
+ "onDragMove",
88
+ "onDragOver",
89
+ "onDragEnd"
90
+ ]);
91
+ var _a2;
92
+ const { renderer, trackRendering } = useRenderer();
93
+ const [manager, setManager] = useState(
94
+ (_a2 = input.manager) != null ? _a2 : null
95
+ );
96
+ const { plugins, modifiers, sensors } = input;
97
+ const handleBeforeDragStart = useLatest(onBeforeDragStart);
98
+ const handleDragStart = useLatest(onDragStart);
99
+ const handleDragOver = useLatest(onDragOver);
100
+ const handleDragMove = useLatest(onDragMove);
101
+ const handleDragEnd = useLatest(onDragEnd);
102
+ const handleCollision = useLatest(onCollision);
103
+ useEffect(() => {
104
+ var _a3;
105
+ const manager2 = (_a3 = input.manager) != null ? _a3 : new DragDropManager(input);
106
+ manager2.renderer = renderer;
107
+ manager2.monitor.addEventListener("beforedragstart", (event, manager3) => {
108
+ const callback = handleBeforeDragStart.current;
109
+ if (callback) {
110
+ trackRendering(() => callback(event, manager3));
111
+ }
112
+ });
113
+ manager2.monitor.addEventListener(
114
+ "dragstart",
115
+ (event, manager3) => {
116
+ var _a4;
117
+ return (_a4 = handleDragStart.current) == null ? void 0 : _a4.call(handleDragStart, event, manager3);
118
+ }
119
+ );
120
+ manager2.monitor.addEventListener("dragover", (event, manager3) => {
121
+ const callback = handleDragOver.current;
122
+ if (callback) {
123
+ trackRendering(() => callback(event, manager3));
124
+ }
125
+ });
126
+ manager2.monitor.addEventListener("dragmove", (event, manager3) => {
127
+ const callback = handleDragMove.current;
128
+ if (callback) {
129
+ trackRendering(() => callback(event, manager3));
130
+ }
131
+ });
132
+ manager2.monitor.addEventListener("dragend", (event, manager3) => {
133
+ const callback = handleDragEnd.current;
134
+ if (callback) {
135
+ trackRendering(() => callback(event, manager3));
136
+ }
137
+ });
138
+ manager2.monitor.addEventListener(
139
+ "collision",
140
+ (event, manager3) => {
141
+ var _a4;
142
+ return (_a4 = handleCollision.current) == null ? void 0 : _a4.call(handleCollision, event, manager3);
143
+ }
144
+ );
145
+ startTransition(() => setManager(manager2));
146
+ return manager2.destroy;
147
+ }, [renderer]);
148
+ useOnValueChange(
149
+ plugins,
150
+ () => manager && (manager.plugins = plugins != null ? plugins : defaultPreset.plugins)
151
+ );
152
+ useOnValueChange(
153
+ sensors,
154
+ () => manager && (manager.sensors = sensors != null ? sensors : defaultPreset.sensors)
155
+ );
156
+ useOnValueChange(
157
+ modifiers,
158
+ () => manager && (manager.modifiers = modifiers != null ? modifiers : [])
159
+ );
160
+ return /* @__PURE__ */ jsx(DragDropContext.Provider, { value: manager, children });
161
+ }
9
162
  function useDragDropManager() {
10
163
  return useContext(DragDropContext);
11
164
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnd-kit/react",
3
- "version": "0.0.4-beta-20240621030124",
3
+ "version": "0.0.4-beta-20240621184125",
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-20240621030124",
60
- "@dnd-kit/dom": "0.0.4-beta-20240621030124",
61
- "@dnd-kit/state": "0.0.4-beta-20240621030124",
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",
62
62
  "tslib": "^2.6.2"
63
63
  },
64
64
  "peerDependencies": {