@vue-dnd-kit/core 0.0.26-beta → 0.0.27-beta

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.
@@ -1,168 +1,77 @@
1
- import { effectScope as de, ref as E, computed as w, onMounted as A, onBeforeUnmount as U, defineComponent as ae, createElementBlock as $, createCommentVNode as ge, unref as re, openBlock as R, normalizeStyle as oe, Fragment as fe, renderList as he, createBlock as me, resolveDynamicComponent as pe, watch as ue, nextTick as ye, getCurrentScope as Ee, onScopeDispose as we, shallowRef as W, toValue as N, getCurrentInstance as Pe, markRaw as xe } from "vue";
2
- let le = !1, X;
3
- const C = () => (le || (X = de(!0).run(() => ({
4
- /** Whether any drag operation is currently active */
5
- isDragging: w(
6
- () => X.draggingElements.value.length > 0
7
- ),
8
- /** Active container where dragging occurs */
9
- activeContainer: {
10
- /** Component instance of active container */
11
- component: E(null),
12
- /** DOM reference of active container */
13
- ref: E(null)
14
- },
15
- /** All registered draggable elements */
16
- elements: E([]),
17
- /** Elements currently being dragged */
18
- draggingElements: E([]),
19
- /** Elements currently selected (for multi-drag) */
20
- selectedElements: E([]),
21
- /** All registered drop zones */
22
- zones: E([]),
23
- /** Current hover states */
24
- hovered: {
25
- /** Currently hovered drop zone */
26
- zone: E(null),
27
- /** Currently hovered draggable element */
28
- element: E(null)
29
- },
30
- /** Pointer position tracking */
31
- pointerPosition: {
32
- /** Current pointer coordinates */
33
- current: E(null),
34
- /** Initial coordinates when drag started */
35
- start: E(null),
36
- /** Offset from start position */
37
- offset: {
38
- /** Offset as percentage of container */
39
- percent: E(null),
40
- /** Offset in pixels */
41
- pixel: E(null)
42
- }
43
- }
44
- })), le = !0), X), De = () => {
45
- const t = E(null), { draggingElements: e, pointerPosition: l, isDragging: u, activeContainer: c } = C();
46
- return A(() => {
47
- c.ref = t;
48
- }), U(() => {
49
- c.ref.value = null;
50
- }), {
51
- elementRef: t,
52
- draggingElements: e,
53
- pointerPosition: l,
54
- isDragging: u
55
- };
56
- }, Ie = ["innerHTML"], Me = /* @__PURE__ */ ae({
57
- __name: "DefaultOverlay",
58
- setup(t) {
59
- const { elementRef: e, pointerPosition: l, isDragging: u, draggingElements: c } = De(), r = w(() => {
60
- var s, d, h, p;
61
- return {
62
- transform: `translate3d(${(((s = l.current.value) == null ? void 0 : s.x) ?? 0) - (((d = l.offset.pixel.value) == null ? void 0 : d.x) ?? 0)}px, ${(((h = l.current.value) == null ? void 0 : h.y) ?? 0) - (((p = l.offset.pixel.value) == null ? void 0 : p.y) ?? 0)}px, 0)`,
63
- zIndex: 1e3,
64
- position: "fixed",
65
- top: 0,
66
- left: 0,
67
- transition: "0.3s cubic-bezier(0.165, 0.84, 0.44, 1)"
68
- };
69
- });
70
- return (s, d) => re(u) ? (R(), $("div", {
71
- key: 0,
72
- ref_key: "elementRef",
73
- ref: e,
74
- style: oe(r.value)
75
- }, [
76
- (R(!0), $(fe, null, he(re(c), (h, p) => {
77
- var o, g;
78
- return R(), $("div", {
79
- key: p,
80
- innerHTML: h.initialHTML,
81
- style: oe({
82
- width: `${(o = h.initialRect) == null ? void 0 : o.width}px`,
83
- height: `${(g = h.initialRect) == null ? void 0 : g.height}px`
84
- })
85
- }, null, 12, Ie);
86
- }), 128))
87
- ], 4)) : ge("", !0);
88
- }
89
- }), Fe = /* @__PURE__ */ ae({
90
- __name: "DragOverlay",
91
- setup(t) {
92
- const { activeContainer: e } = C(), l = w(
93
- () => e.component.value ?? Me
94
- );
95
- return (u, c) => (R(), me(pe(l.value)));
96
- }
97
- }), Se = "data-dnd-draggable";
98
- function Ce(t) {
99
- return Ee() ? (we(t), !0) : !1;
1
+ import { effectScope as ce, watch as se, nextTick as ve, getCurrentScope as de, onScopeDispose as ge, shallowRef as F, toValue as U, computed as w, getCurrentInstance as fe, onMounted as A, ref as E, onBeforeUnmount as W, defineComponent as ie, createElementBlock as $, createCommentVNode as he, unref as ne, openBlock as R, normalizeStyle as re, Fragment as me, renderList as pe, createBlock as ye, resolveDynamicComponent as Ee, markRaw as we } from "vue";
2
+ function Pe(t) {
3
+ return de() ? (ge(t), !0) : !1;
100
4
  }
101
- const Le = typeof window < "u" && typeof document < "u";
5
+ function xe(t) {
6
+ let e = !1, n;
7
+ const u = ce(!0);
8
+ return (...c) => (e || (n = u.run(() => t(...c)), e = !0), n);
9
+ }
10
+ const De = typeof window < "u" && typeof document < "u";
102
11
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
103
- const _e = (t) => t != null, Y = () => {
12
+ const Ie = (t) => t != null, X = () => {
104
13
  };
105
- function Oe(t) {
14
+ function Se(t) {
106
15
  return Array.isArray(t) ? t : [t];
107
16
  }
108
- function ke(t, e, l) {
109
- const u = ue(t, (...c) => (ye(() => u()), e(...c)), l);
17
+ function Me(t, e, n) {
18
+ const u = se(t, (...c) => (ve(() => u()), e(...c)), n);
110
19
  return u;
111
20
  }
112
- const ce = Le ? window : void 0;
113
- function b(t) {
21
+ const ae = De ? window : void 0;
22
+ function Y(t) {
114
23
  var e;
115
- const l = N(t);
116
- return (e = l == null ? void 0 : l.$el) != null ? e : l;
24
+ const n = U(t);
25
+ return (e = n == null ? void 0 : n.$el) != null ? e : n;
117
26
  }
118
- function Te() {
119
- const t = W(!1), e = Pe();
27
+ function Ce() {
28
+ const t = F(!1), e = fe();
120
29
  return e && A(() => {
121
30
  t.value = !0;
122
31
  }, e), t;
123
32
  }
124
- function ze(t) {
125
- const e = Te();
33
+ function Le(t) {
34
+ const e = Ce();
126
35
  return w(() => (e.value, !!t()));
127
36
  }
128
- function He(t, e, l = {}) {
37
+ function _e(t, e, n = {}) {
129
38
  const {
130
39
  root: u,
131
40
  rootMargin: c = "0px",
132
41
  threshold: r = 0,
133
- window: s = ce,
134
- immediate: d = !0
135
- } = l, h = ze(() => s && "IntersectionObserver" in s), p = w(() => {
136
- const n = N(t);
137
- return Oe(n).map(b).filter(_e);
42
+ window: s = ae,
43
+ immediate: v = !0
44
+ } = n, f = Le(() => s && "IntersectionObserver" in s), p = w(() => {
45
+ const o = U(t);
46
+ return Se(o).map(Y).filter(Ie);
138
47
  });
139
- let o = Y;
140
- const g = W(d), x = h.value ? ue(
141
- () => [p.value, b(u), g.value],
142
- ([n, v]) => {
143
- if (o(), !g.value || !n.length)
48
+ let l = X;
49
+ const g = F(v), x = f.value ? se(
50
+ () => [p.value, Y(u), g.value],
51
+ ([o, d]) => {
52
+ if (l(), !g.value || !o.length)
144
53
  return;
145
54
  const m = new IntersectionObserver(
146
55
  e,
147
56
  {
148
- root: b(v),
57
+ root: Y(d),
149
58
  rootMargin: c,
150
59
  threshold: r
151
60
  }
152
61
  );
153
- n.forEach((f) => f && m.observe(f)), o = () => {
154
- m.disconnect(), o = Y;
62
+ o.forEach((h) => h && m.observe(h)), l = () => {
63
+ m.disconnect(), l = X;
155
64
  };
156
65
  },
157
- { immediate: d, flush: "post" }
158
- ) : Y, y = () => {
159
- o(), x(), g.value = !1;
66
+ { immediate: v, flush: "post" }
67
+ ) : X, y = () => {
68
+ l(), x(), g.value = !1;
160
69
  };
161
- return Ce(y), {
162
- isSupported: h,
70
+ return Pe(y), {
71
+ isSupported: f,
163
72
  isActive: g,
164
73
  pause() {
165
- o(), g.value = !1;
74
+ l(), g.value = !1;
166
75
  },
167
76
  resume() {
168
77
  g.value = !0;
@@ -170,53 +79,131 @@ function He(t, e, l = {}) {
170
79
  stop: y
171
80
  };
172
81
  }
173
- function Re(t, e = {}) {
82
+ function Oe(t, e = {}) {
174
83
  const {
175
- window: l = ce,
84
+ window: n = ae,
176
85
  scrollTarget: u,
177
86
  threshold: c = 0,
178
87
  rootMargin: r,
179
88
  once: s = !1
180
- } = e, d = W(!1), { stop: h } = He(
89
+ } = e, v = F(!1), { stop: f } = _e(
181
90
  t,
182
91
  (p) => {
183
- let o = d.value, g = 0;
92
+ let l = v.value, g = 0;
184
93
  for (const x of p)
185
- x.time >= g && (g = x.time, o = x.isIntersecting);
186
- d.value = o, s && ke(d, () => {
187
- h();
94
+ x.time >= g && (g = x.time, l = x.isIntersecting);
95
+ v.value = l, s && Me(v, () => {
96
+ f();
188
97
  });
189
98
  },
190
99
  {
191
100
  root: u,
192
- window: l,
101
+ window: n,
193
102
  threshold: c,
194
- rootMargin: N(r)
103
+ rootMargin: U(r)
195
104
  }
196
105
  );
197
- return d;
106
+ return v;
198
107
  }
199
- const Ae = (t) => {
108
+ const C = xe(() => {
109
+ const t = E([]), e = w(() => t.value.length > 0), n = {
110
+ component: E(null),
111
+ ref: E(null)
112
+ }, u = E([]), c = E([]), r = E([]), s = {
113
+ zone: E(null),
114
+ element: E(null)
115
+ }, v = {
116
+ current: E(null),
117
+ start: E(null),
118
+ offset: {
119
+ percent: E(null),
120
+ pixel: E(null)
121
+ }
122
+ };
123
+ return {
124
+ isDragging: e,
125
+ activeContainer: n,
126
+ elements: u,
127
+ draggingElements: t,
128
+ selectedElements: c,
129
+ zones: r,
130
+ hovered: s,
131
+ pointerPosition: v
132
+ };
133
+ }), ke = () => {
134
+ const t = E(null), { draggingElements: e, pointerPosition: n, isDragging: u, activeContainer: c } = C();
135
+ return A(() => {
136
+ c.ref = t;
137
+ }), W(() => {
138
+ c.ref.value = null;
139
+ }), {
140
+ elementRef: t,
141
+ draggingElements: e,
142
+ pointerPosition: n,
143
+ isDragging: u
144
+ };
145
+ }, Te = ["innerHTML"], ze = /* @__PURE__ */ ie({
146
+ __name: "DefaultOverlay",
147
+ setup(t) {
148
+ const { elementRef: e, pointerPosition: n, isDragging: u, draggingElements: c } = ke(), r = w(() => {
149
+ var s, v, f, p;
150
+ return {
151
+ transform: `translate3d(${(((s = n.current.value) == null ? void 0 : s.x) ?? 0) - (((v = n.offset.pixel.value) == null ? void 0 : v.x) ?? 0)}px, ${(((f = n.current.value) == null ? void 0 : f.y) ?? 0) - (((p = n.offset.pixel.value) == null ? void 0 : p.y) ?? 0)}px, 0)`,
152
+ zIndex: 1e3,
153
+ position: "fixed",
154
+ top: 0,
155
+ left: 0,
156
+ transition: "0.3s cubic-bezier(0.165, 0.84, 0.44, 1)"
157
+ };
158
+ });
159
+ return (s, v) => ne(u) ? (R(), $("div", {
160
+ key: 0,
161
+ ref_key: "elementRef",
162
+ ref: e,
163
+ style: re(r.value)
164
+ }, [
165
+ (R(!0), $(me, null, pe(ne(c), (f, p) => {
166
+ var l, g;
167
+ return R(), $("div", {
168
+ key: p,
169
+ innerHTML: f.initialHTML,
170
+ style: re({
171
+ width: `${(l = f.initialRect) == null ? void 0 : l.width}px`,
172
+ height: `${(g = f.initialRect) == null ? void 0 : g.height}px`
173
+ })
174
+ }, null, 12, Te);
175
+ }), 128))
176
+ ], 4)) : he("", !0);
177
+ }
178
+ }), be = /* @__PURE__ */ ie({
179
+ __name: "DragOverlay",
180
+ setup(t) {
181
+ const { activeContainer: e } = C(), n = w(
182
+ () => e.component.value ?? ze
183
+ );
184
+ return (u, c) => (R(), ye(Ee(n.value)));
185
+ }
186
+ }), He = "data-dnd-draggable", Re = (t) => {
200
187
  const {
201
188
  elements: e,
202
- draggingElements: l,
189
+ draggingElements: n,
203
190
  hovered: u,
204
191
  selectedElements: c,
205
192
  isDragging: r
206
- } = C(), s = E(null), d = w(
193
+ } = C(), s = E(null), v = w(
207
194
  () => {
208
195
  var y;
209
196
  return ((y = u.element.value) == null ? void 0 : y.node) === s.value;
210
197
  }
211
- ), h = Re(s), p = w(
212
- () => l.value.some((y) => y.node === s.value)
213
- ), o = w(() => {
198
+ ), f = Oe(s), p = w(
199
+ () => n.value.some((y) => y.node === s.value)
200
+ ), l = w(() => {
214
201
  if (!s.value || !r.value) return !1;
215
202
  const y = e.value.find(
216
- (n) => n.node === s.value
203
+ (o) => o.node === s.value
217
204
  );
218
- return y != null && y.groups.length ? !l.value.some((n) => n.groups.length ? !n.groups.some(
219
- (v) => y.groups.includes(v)
205
+ return y != null && y.groups.length ? !n.value.some((o) => o.groups.length ? !o.groups.some(
206
+ (d) => y.groups.includes(d)
220
207
  ) : !1) : !0;
221
208
  });
222
209
  return {
@@ -230,37 +217,38 @@ const Ae = (t) => {
230
217
  defaultLayer: (t == null ? void 0 : t.layer) ?? null,
231
218
  events: (t == null ? void 0 : t.events) ?? {},
232
219
  data: (t == null ? void 0 : t.data) ?? void 0,
233
- isVisible: h.value
234
- }), s.value.setAttribute(Se, "true");
220
+ isVisible: f.value
221
+ }), s.value.setAttribute(He, "true");
235
222
  },
236
223
  unregisterElement: () => {
237
224
  const y = e.value.findIndex(
238
- (v) => v.node === s.value
225
+ (d) => d.node === s.value
239
226
  );
240
227
  y !== -1 && e.value.splice(y, 1);
241
- const n = c.value.findIndex(
242
- (v) => v.node === s.value
228
+ const o = c.value.findIndex(
229
+ (d) => d.node === s.value
243
230
  );
244
- n !== -1 && c.value.splice(n, 1);
231
+ o !== -1 && c.value.splice(o, 1);
245
232
  },
246
233
  isDragging: p,
247
- isOvered: d,
248
- isAllowed: o
234
+ isOvered: v,
235
+ isAllowed: l,
236
+ isVisible: f
249
237
  };
250
- }, Ve = () => {
251
- let t = "", e = "", l = "";
238
+ }, Ae = () => {
239
+ let t = "", e = "", n = "";
252
240
  const u = () => {
253
241
  const s = document.body;
254
- t = s.style.userSelect, e = s.style.touchAction, l = s.style.overscrollBehavior, s.style.userSelect = "none", s.style.touchAction = "none", s.style.overscrollBehavior = "none", window.addEventListener("contextmenu", r), window.addEventListener("selectstart", r), window.addEventListener("touchstart", r), window.addEventListener("touchmove", r);
242
+ t = s.style.userSelect, e = s.style.touchAction, n = s.style.overscrollBehavior, s.style.userSelect = "none", s.style.touchAction = "none", s.style.overscrollBehavior = "none", window.addEventListener("contextmenu", r), window.addEventListener("selectstart", r), window.addEventListener("touchstart", r), window.addEventListener("touchmove", r);
255
243
  }, c = () => {
256
244
  const s = document.body;
257
- s.style.userSelect = t, s.style.touchAction = e, s.style.overscrollBehavior = l, window.removeEventListener("contextmenu", r), window.removeEventListener("selectstart", r), window.removeEventListener("touchstart", r), window.removeEventListener("touchmove", r);
245
+ s.style.userSelect = t, s.style.touchAction = e, s.style.overscrollBehavior = n, window.removeEventListener("contextmenu", r), window.removeEventListener("selectstart", r), window.removeEventListener("touchstart", r), window.removeEventListener("touchmove", r);
258
246
  }, r = (s) => s.preventDefault();
259
247
  return {
260
248
  disableInteractions: u,
261
249
  enableInteractions: c
262
250
  };
263
- }, se = (t, e) => t.x < e.x + e.width && t.x + t.width > e.x && t.y < e.y + e.height && t.y + t.height > e.y, k = (t) => {
251
+ }, oe = (t, e) => t.x < e.x + e.width && t.x + t.width > e.x && t.y < e.y + e.height && t.y + t.height > e.y, k = (t) => {
264
252
  if (!t)
265
253
  return {
266
254
  x: 0,
@@ -283,25 +271,25 @@ const Ae = (t) => {
283
271
  width: e.width,
284
272
  height: e.height
285
273
  };
286
- }, F = (t) => ({
274
+ }, b = (t) => ({
287
275
  x: t.x + t.width / 2,
288
276
  y: t.y + t.height / 2
289
- }), Ze = (t, e) => {
290
- const l = k(t);
277
+ }), Ve = (t, e) => {
278
+ const n = k(t);
291
279
  return {
292
280
  pixel: {
293
- x: e.x - l.x,
294
- y: e.y - l.y
281
+ x: e.x - n.x,
282
+ y: e.y - n.y
295
283
  },
296
284
  percent: {
297
- x: (e.x - l.x) / l.width * 100,
298
- y: (e.y - l.y) / l.height * 100
285
+ x: (e.x - n.x) / n.width * 100,
286
+ y: (e.y - n.y) / n.height * 100
299
287
  }
300
288
  };
301
- }, ie = (t, e) => {
302
- const l = e.x - t.x, u = e.y - t.y;
303
- return Math.sqrt(l * l + u * u);
304
- }, S = (t, e) => t ? e.contains(t) : !1, $e = (t) => {
289
+ }, le = (t, e) => {
290
+ const n = e.x - t.x, u = e.y - t.y;
291
+ return Math.sqrt(n * n + u * u);
292
+ }, M = (t, e) => t ? e.contains(t) : !1, Ze = (t) => {
305
293
  const e = C();
306
294
  return {
307
295
  onPointerStart: (r) => {
@@ -309,11 +297,11 @@ const Ae = (t) => {
309
297
  x: r.clientX,
310
298
  y: r.clientY
311
299
  };
312
- const { pixel: s, percent: d } = Ze(t.value, {
300
+ const { pixel: s, percent: v } = Ve(t.value, {
313
301
  x: r.clientX,
314
302
  y: r.clientY
315
303
  });
316
- e.pointerPosition.offset.pixel.value = s, e.pointerPosition.offset.percent.value = d;
304
+ e.pointerPosition.offset.pixel.value = s, e.pointerPosition.offset.percent.value = v;
317
305
  },
318
306
  onPointerMove: (r) => {
319
307
  e.pointerPosition.current.value = {
@@ -325,15 +313,15 @@ const Ae = (t) => {
325
313
  e.pointerPosition.current.value = null, e.pointerPosition.start.value = null, e.pointerPosition.offset.pixel.value = null, e.pointerPosition.offset.percent.value = null;
326
314
  }
327
315
  };
328
- }, Xe = (t) => {
329
- const e = C(), { onPointerStart: l, onPointerMove: u, onPointerEnd: c } = $e(t);
316
+ }, $e = (t) => {
317
+ const e = C(), { onPointerStart: n, onPointerMove: u, onPointerEnd: c } = Ze(t);
330
318
  let r = null;
331
- const s = (n) => {
332
- var f, I;
333
- const v = e.selectedElements.value.some(
334
- (P) => P.node === n
319
+ const s = (o) => {
320
+ var h, I;
321
+ const d = e.selectedElements.value.some(
322
+ (P) => P.node === o
335
323
  );
336
- if (e.selectedElements.value.length && v)
324
+ if (e.selectedElements.value.length && d)
337
325
  return e.selectedElements.value.map((P) => {
338
326
  var L, H;
339
327
  return {
@@ -344,47 +332,47 @@ const Ae = (t) => {
344
332
  });
345
333
  e.selectedElements.value = [];
346
334
  const m = e.elements.value.find(
347
- (P) => P.node === n
335
+ (P) => P.node === o
348
336
  );
349
337
  return m ? [
350
338
  {
351
339
  ...m,
352
- initialHTML: ((f = m.node) == null ? void 0 : f.outerHTML) ?? "",
340
+ initialHTML: ((h = m.node) == null ? void 0 : h.outerHTML) ?? "",
353
341
  initialRect: (I = m.node) == null ? void 0 : I.getBoundingClientRect()
354
342
  }
355
343
  ] : [];
356
- }, d = (n, v) => {
344
+ }, v = (o, d) => {
357
345
  const m = Math.max(
358
346
  0,
359
- Math.min(n.x + n.width, v.x + v.width) - Math.max(n.x, v.x)
360
- ), f = Math.max(
347
+ Math.min(o.x + o.width, d.x + d.width) - Math.max(o.x, d.x)
348
+ ), h = Math.max(
361
349
  0,
362
- Math.min(n.y + n.height, v.y + v.height) - Math.max(n.y, v.y)
363
- ), I = m * f, P = n.width * n.height, L = v.width * v.height;
350
+ Math.min(o.y + o.height, d.y + d.height) - Math.max(o.y, d.y)
351
+ ), I = m * h, P = o.width * o.height, L = d.width * d.height;
364
352
  return (I / P * 100 + I / L * 100) / 2;
365
- }, h = () => {
366
- var q, B, G, j, J, K, Q, ee, te, ne;
367
- const n = k(e.activeContainer.ref.value), v = F(n), m = ((q = e.pointerPosition.current.value) == null ? void 0 : q.x) ?? 0, f = ((B = e.pointerPosition.current.value) == null ? void 0 : B.y) ?? 0, P = !(n && m >= n.x && m <= n.x + n.width && f >= n.y && f <= n.y + n.height), L = e.draggingElements.value.map((i) => i.node), H = e.elements.value.filter((i) => {
368
- if (!i.node || !i.isVisible || !i.node || L.some(
369
- (D) => D && S(i.node, D)
353
+ }, f = () => {
354
+ var G, N, q, B, j, J, K, Q, ee, te;
355
+ const o = k(e.activeContainer.ref.value), d = b(o), m = ((G = e.pointerPosition.current.value) == null ? void 0 : G.x) ?? 0, h = ((N = e.pointerPosition.current.value) == null ? void 0 : N.y) ?? 0, P = !(o && m >= o.x && m <= o.x + o.width && h >= o.y && h <= o.y + o.height), L = e.draggingElements.value.map((i) => i.node), H = e.elements.value.filter((i) => {
356
+ if (!i.node || L.some(
357
+ (D) => D && M(i.node, D)
370
358
  ) || i.groups.length && !!e.draggingElements.value.some(
371
- (M) => M.groups.length ? !M.groups.some(
359
+ (S) => S.groups.length ? !S.groups.some(
372
360
  (_) => i.groups.includes(_)
373
361
  ) : !1
374
362
  ))
375
363
  return !1;
376
364
  const a = k(i.node);
377
- return a && n && se(a, n);
365
+ return a && o && oe(a, o);
378
366
  }).map((i) => {
379
- const a = k(i.node), D = F(a), M = m >= a.x && m <= a.x + a.width && f >= a.y && f <= a.y + a.height, _ = d(a, n), V = ie(v, D), Z = e.elements.value.filter(
380
- (O) => O !== i && O.node && i.node && S(
367
+ const a = k(i.node), D = b(a), S = m >= a.x && m <= a.x + a.width && h >= a.y && h <= a.y + a.height, _ = v(a, o), V = le(d, D), Z = e.elements.value.filter(
368
+ (O) => O !== i && O.node && i.node && M(
381
369
  i.node,
382
370
  O.node
383
371
  )
384
372
  ).length;
385
373
  return {
386
374
  element: i,
387
- isPointerInElement: M,
375
+ isPointerInElement: S,
388
376
  overlapPercent: _,
389
377
  depth: Z,
390
378
  centerDistance: V
@@ -397,20 +385,20 @@ const Ae = (t) => {
397
385
  return i.isPointerInElement ? -1 : 1;
398
386
  }
399
387
  return Math.abs(i.overlapPercent - a.overlapPercent) <= 1 ? i.centerDistance - a.centerDistance : a.overlapPercent - i.overlapPercent;
400
- }), ve = e.zones.value.filter((i) => {
388
+ }), ue = e.zones.value.filter((i) => {
401
389
  if (!i.node || L.some(
402
- (D) => D && S(i.node, D)
403
- ) || i.groups.length && !!e.draggingElements.value.some((M) => M.groups.length ? !M.groups.some((_) => i.groups.includes(_)) : !1))
390
+ (D) => D && M(i.node, D)
391
+ ) || i.groups.length && !!e.draggingElements.value.some((S) => S.groups.length ? !S.groups.some((_) => i.groups.includes(_)) : !1))
404
392
  return !1;
405
393
  const a = k(i.node);
406
- return a && n && se(a, n);
394
+ return a && o && oe(a, o);
407
395
  }).map((i) => {
408
- const a = k(i.node), D = F(a), M = m >= a.x && m <= a.x + a.width && f >= a.y && f <= a.y + a.height, _ = d(a, n), V = ie(v, D), Z = e.zones.value.filter(
409
- (O) => O !== i && O.node && i.node && S(i.node, O.node)
396
+ const a = k(i.node), D = b(a), S = m >= a.x && m <= a.x + a.width && h >= a.y && h <= a.y + a.height, _ = v(a, o), V = le(d, D), Z = e.zones.value.filter(
397
+ (O) => O !== i && O.node && i.node && M(i.node, O.node)
410
398
  ).length;
411
399
  return {
412
400
  zone: i,
413
- isPointerInElement: M,
401
+ isPointerInElement: S,
414
402
  overlapPercent: _,
415
403
  depth: Z,
416
404
  centerDistance: V
@@ -424,47 +412,47 @@ const Ae = (t) => {
424
412
  }
425
413
  return Math.abs(i.overlapPercent - a.overlapPercent) <= 1 ? i.centerDistance - a.centerDistance : a.overlapPercent - i.overlapPercent;
426
414
  }), T = e.hovered.element.value, z = e.hovered.zone.value;
427
- e.hovered.element.value = ((G = H[0]) == null ? void 0 : G.element) ?? null, e.hovered.zone.value = ((j = ve[0]) == null ? void 0 : j.zone) ?? null, e.hovered.element.value !== T && ((J = T == null ? void 0 : T.events) != null && J.onLeave && T.events.onLeave(e), (Q = (K = e.hovered.element.value) == null ? void 0 : K.events) != null && Q.onHover && e.hovered.element.value.events.onHover(e)), e.hovered.zone.value !== z && ((ee = z == null ? void 0 : z.events) != null && ee.onLeave && z.events.onLeave(e), (ne = (te = e.hovered.zone.value) == null ? void 0 : te.events) != null && ne.onHover && e.hovered.zone.value.events.onHover(e)), r = requestAnimationFrame(h);
415
+ e.hovered.element.value = ((q = H[0]) == null ? void 0 : q.element) ?? null, e.hovered.zone.value = ((B = ue[0]) == null ? void 0 : B.zone) ?? null, e.hovered.element.value !== T && ((j = T == null ? void 0 : T.events) != null && j.onLeave && T.events.onLeave(e), (K = (J = e.hovered.element.value) == null ? void 0 : J.events) != null && K.onHover && e.hovered.element.value.events.onHover(e)), e.hovered.zone.value !== z && ((Q = z == null ? void 0 : z.events) != null && Q.onLeave && z.events.onLeave(e), (te = (ee = e.hovered.zone.value) == null ? void 0 : ee.events) != null && te.onHover && e.hovered.zone.value.events.onHover(e)), r = requestAnimationFrame(f);
428
416
  }, p = () => {
429
- h();
430
- }, o = () => {
417
+ f();
418
+ }, l = () => {
431
419
  r !== null && (cancelAnimationFrame(r), r = null);
432
420
  };
433
421
  return {
434
- activate: (n) => {
435
- e.draggingElements.value = s(t.value), l(n), p();
422
+ activate: (o) => {
423
+ e.draggingElements.value = s(t.value), n(o), p();
436
424
  },
437
- track: (n) => {
438
- u(n);
425
+ track: (o) => {
426
+ u(o);
439
427
  },
440
428
  deactivate: () => {
441
- var n, v;
442
- c(), e.hovered.zone.value ? (v = (n = e.hovered.zone.value.events).onDrop) == null || v.call(n, e) : e.draggingElements.value.forEach(
429
+ var o, d;
430
+ c(), e.hovered.zone.value ? (d = (o = e.hovered.zone.value.events).onDrop) == null || d.call(o, e) : e.draggingElements.value.forEach(
443
431
  (m) => {
444
- var f, I;
445
- return (I = (f = m.events).onEnd) == null ? void 0 : I.call(f, e);
432
+ var h, I;
433
+ return (I = (h = m.events).onEnd) == null ? void 0 : I.call(h, e);
446
434
  }
447
- ), e.draggingElements.value = [], e.selectedElements.value = [], e.hovered.zone.value = null, e.hovered.element.value = null, o();
435
+ ), e.draggingElements.value = [], e.selectedElements.value = [], e.hovered.zone.value = null, e.hovered.element.value = null, l();
448
436
  }
449
437
  };
450
- }, Ue = (t) => {
438
+ }, Fe = (t) => {
451
439
  const {
452
440
  elementRef: e,
453
- registerElement: l,
441
+ registerElement: n,
454
442
  unregisterElement: u,
455
443
  isDragging: c,
456
444
  isOvered: r,
457
445
  isAllowed: s
458
- } = Ae(t), { disableInteractions: d, enableInteractions: h } = Ve(), p = C(), { activate: o, track: g, deactivate: x } = Xe(e), y = (f) => {
459
- t != null && t.container && (p.activeContainer.component.value = xe(t.container)), d(), o(f), document.addEventListener("pointermove", n), document.addEventListener("pointerup", m), document.addEventListener("wheel", v);
460
- }, n = (f) => {
461
- g(f);
462
- }, v = (f) => {
463
- g(f);
446
+ } = Re(t), { disableInteractions: v, enableInteractions: f } = Ae(), p = C(), { activate: l, track: g, deactivate: x } = $e(e), y = (h) => {
447
+ t != null && t.container && (p.activeContainer.component.value = we(t.container)), v(), l(h), document.addEventListener("pointermove", o), document.addEventListener("pointerup", m), document.addEventListener("wheel", d);
448
+ }, o = (h) => {
449
+ g(h);
450
+ }, d = (h) => {
451
+ g(h);
464
452
  }, m = () => {
465
- p.activeContainer.component.value = null, h(), x(), document.removeEventListener("pointermove", n), document.removeEventListener("pointerup", m), document.removeEventListener("wheel", v);
453
+ p.activeContainer.component.value = null, f(), x(), document.removeEventListener("pointermove", o), document.removeEventListener("pointerup", m), document.removeEventListener("wheel", d);
466
454
  };
467
- return A(l), U(u), {
455
+ return A(n), W(u), {
468
456
  pointerPosition: p.pointerPosition,
469
457
  elementRef: e,
470
458
  isDragging: c,
@@ -472,17 +460,17 @@ const Ae = (t) => {
472
460
  isAllowed: s,
473
461
  handleDragStart: y
474
462
  };
475
- }, Ye = (t) => {
476
- const { zones: e, hovered: l, draggingElements: u, isDragging: c } = C(), r = E(null), s = w(() => {
477
- var o;
478
- return ((o = l.zone.value) == null ? void 0 : o.node) === r.value;
479
- }), d = w(() => {
463
+ }, Xe = (t) => {
464
+ const { zones: e, hovered: n, draggingElements: u, isDragging: c } = C(), r = E(null), s = w(() => {
465
+ var l;
466
+ return ((l = n.zone.value) == null ? void 0 : l.node) === r.value;
467
+ }), v = w(() => {
480
468
  if (!r.value || !c.value) return !1;
481
- const o = e.value.find(
469
+ const l = e.value.find(
482
470
  (g) => g.node === r.value
483
471
  );
484
- return o != null && o.groups.length ? !u.value.some((g) => g.groups.length ? !g.groups.some(
485
- (x) => o.groups.includes(x)
472
+ return l != null && l.groups.length ? !u.value.some((g) => g.groups.length ? !g.groups.some(
473
+ (x) => l.groups.includes(x)
486
474
  ) : !1) : !0;
487
475
  });
488
476
  return { elementRef: r, registerZone: () => {
@@ -495,61 +483,61 @@ const Ae = (t) => {
495
483
  }), r.value.setAttribute("data-dnd-droppable", "true");
496
484
  }, unregisterZone: () => {
497
485
  if (!r.value) throw new Error("elementRef is not set");
498
- const o = e.value.findIndex(
486
+ const l = e.value.findIndex(
499
487
  (g) => g.node === r.value
500
488
  );
501
- o !== -1 && e.value.splice(o, 1);
502
- }, isOvered: s, isAllowed: d };
489
+ l !== -1 && e.value.splice(l, 1);
490
+ }, isOvered: s, isAllowed: v };
491
+ }, Ue = (t) => {
492
+ const { elementRef: e, registerZone: n, unregisterZone: u, isOvered: c, isAllowed: r } = Xe(t);
493
+ return A(n), W(u), { elementRef: e, isOvered: c, isAllowed: r };
503
494
  }, We = (t) => {
504
- const { elementRef: e, registerZone: l, unregisterZone: u, isOvered: c, isAllowed: r } = Ye(t);
505
- return A(l), U(u), { elementRef: e, isOvered: c, isAllowed: r };
506
- }, Ne = (t) => {
507
- const { selectedElements: e, elements: l } = C(), u = w(
508
- () => l.value.find((o) => o.node === t.value)
495
+ const { selectedElements: e, elements: n } = C(), u = w(
496
+ () => n.value.find((l) => l.node === t.value)
509
497
  ), c = w(
510
- () => e.value.some((o) => o.node === t.value)
498
+ () => e.value.some((l) => l.node === t.value)
511
499
  ), r = w(() => t.value ? e.value.some(
512
- (o) => o.node && S(
513
- o.node,
500
+ (l) => l.node && M(
501
+ l.node,
514
502
  t.value
515
503
  )
516
504
  ) : !1), s = w(() => t.value ? e.value.some(
517
- (o) => o.node && S(
505
+ (l) => l.node && M(
518
506
  t.value,
519
- o.node
507
+ l.node
520
508
  )
521
- ) : !1), d = () => {
509
+ ) : !1), v = () => {
522
510
  u.value && (e.value = e.value.filter(
523
- (o) => o.node !== t.value
511
+ (l) => l.node !== t.value
524
512
  ));
525
- }, h = () => {
513
+ }, f = () => {
526
514
  u.value && (r.value && (e.value = e.value.filter(
527
- (o) => o.node && !S(
528
- o.node,
515
+ (l) => l.node && !M(
516
+ l.node,
529
517
  t.value
530
518
  )
531
519
  )), s.value && (e.value = e.value.filter(
532
- (o) => o.node && !S(
520
+ (l) => l.node && !M(
533
521
  t.value,
534
- o.node
522
+ l.node
535
523
  )
536
524
  )), e.value.push(u.value));
537
525
  };
538
526
  return {
539
- handleUnselect: d,
540
- handleSelect: h,
527
+ handleUnselect: v,
528
+ handleSelect: f,
541
529
  handleToggleSelect: () => {
542
- u.value && (e.value.some((o) => o.node === t.value) ? d() : h());
530
+ u.value && (e.value.some((l) => l.node === t.value) ? v() : f());
543
531
  },
544
532
  isSelected: c,
545
533
  isParentOfSelected: r
546
534
  };
547
535
  };
548
536
  export {
549
- Fe as DragOverlay,
537
+ be as DragOverlay,
550
538
  k as getBoundingBox,
551
539
  C as useDnDStore,
552
- Ue as useDraggable,
553
- We as useDroppable,
554
- Ne as useSelection
540
+ Fe as useDraggable,
541
+ Ue as useDroppable,
542
+ We as useSelection
555
543
  };