@vue-dnd-kit/core 2.0.11 → 2.1.0

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,125 +1,125 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".dnd-kit-default-overlay{transform:translate3d(var(--position-x),var(--position-y),0)}.dnd-kit-overlay-container{position:fixed;top:0;left:0;pointer-events:none;cursor:grabbing;z-index:9999}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- import { ref as j, watch as ie, shallowRef as te, reactive as q, computed as y, onScopeDispose as Je, onMounted as U, onBeforeUnmount as V, inject as Oe, defineComponent as Fe, unref as k, openBlock as C, createElementBlock as J, normalizeStyle as Le, Fragment as he, renderList as Qe, createBlock as ne, resolveDynamicComponent as be, createCommentVNode as et, useTemplateRef as tt, provide as nt, renderSlot as Ce, Teleport as st, createElementVNode as ot, mergeProps as at } from "vue";
3
- const T = {
2
+ import { ref as q, watch as ne, shallowRef as J, reactive as U, computed as b, onScopeDispose as qe, onMounted as V, onBeforeUnmount as Y, inject as Pe, defineComponent as Be, unref as N, openBlock as L, createElementBlock as W, normalizeStyle as Le, Fragment as me, renderList as We, createBlock as Q, resolveDynamicComponent as he, createCommentVNode as je, useTemplateRef as Je, provide as Qe, renderSlot as Ie, Teleport as et, createElementVNode as tt, mergeProps as nt } from "vue";
3
+ const k = {
4
4
  SELECT_AREA: "data-dnd-kit-select-area",
5
5
  DRAGGABLE: "data-dnd-kit-draggable",
6
6
  DROPPABLE: "data-dnd-kit-droppable",
7
7
  CONSTRAINT_AREA: "data-dnd-kit-constraint-area"
8
- }, _ = {
9
- SELECT_AREA: `[${T.SELECT_AREA}]`,
10
- DRAGGABLE: `[${T.DRAGGABLE}]`,
11
- CONSTRAINT_AREA: `[${T.CONSTRAINT_AREA}]`
12
- }, ve = "VueDnDKitProvider", Ie = (e, t, s, n) => {
13
- const o = /* @__PURE__ */ new Set();
8
+ }, z = {
9
+ SELECT_AREA: `[${k.SELECT_AREA}]`,
10
+ DRAGGABLE: `[${k.DRAGGABLE}]`,
11
+ CONSTRAINT_AREA: `[${k.CONSTRAINT_AREA}]`
12
+ }, Ae = "VueDnDKitProvider", Ce = (e, t, n, s) => {
13
+ const a = /* @__PURE__ */ new Set();
14
14
  return t.forEach((i) => {
15
- const a = e.get(i), r = n ? n(i) : a?.disabled;
16
- if (!a || r) return;
17
- const g = a.modifier?.keys, l = a.modifier?.method;
18
- if (!g || !l || g.length === 0) {
19
- o.add(i);
15
+ const o = e.get(i), r = s ? s(i) : o?.disabled;
16
+ if (!o || r) return;
17
+ const g = o.modifier?.keys, c = o.modifier?.method;
18
+ if (!g || !c || g.length === 0) {
19
+ a.add(i);
20
20
  return;
21
21
  }
22
- g[l]((c) => s.value.has(c)) && o.add(i);
23
- }), o;
22
+ g[c]((l) => n.value.has(l)) && a.add(i);
23
+ }), a;
24
24
  };
25
- let _e = "", it = "", rt = "";
26
- const D = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$el : null, K = (e, t) => e !== t && e.contains(t), lt = (e, t) => !(e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom), ye = () => {
25
+ let Oe = "", st = "", at = "";
26
+ const S = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$el : null, X = (e, t) => e !== t && e.contains(t), ot = (e, t) => !(e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom), be = () => {
27
27
  const e = document.body;
28
- _e = e.style.userSelect, e.style.userSelect = "none", window.addEventListener("contextmenu", M), window.addEventListener("selectstart", M), window.addEventListener("touchstart", M), window.addEventListener("touchmove", M);
29
- }, pe = () => {
28
+ Oe = e.style.userSelect, e.style.userSelect = "none", window.addEventListener("contextmenu", D), window.addEventListener("selectstart", D), window.addEventListener("touchstart", D), window.addEventListener("touchmove", D);
29
+ }, ye = () => {
30
30
  const e = document.body;
31
- e.style.userSelect = _e, e.style.touchAction = it, e.style.overscrollBehavior = rt, window.removeEventListener("contextmenu", M), window.removeEventListener("selectstart", M), window.removeEventListener("touchstart", M), window.removeEventListener("touchmove", M);
32
- }, M = (e) => e.preventDefault(), xe = (e, t) => {
31
+ e.style.userSelect = Oe, e.style.touchAction = st, e.style.overscrollBehavior = at, window.removeEventListener("contextmenu", D), window.removeEventListener("selectstart", D), window.removeEventListener("touchstart", D), window.removeEventListener("touchmove", D);
32
+ }, D = (e) => e.preventDefault(), xe = (e, t) => {
33
33
  if (t.entities.draggableMap.get(e)?.disabled) return !0;
34
- for (const n of t.entities.visibleDraggableSet)
35
- if (t.entities.draggableMap.get(n)?.disabled && K(n, e)) return !0;
34
+ for (const s of t.entities.visibleDraggableSet)
35
+ if (t.entities.draggableMap.get(s)?.disabled && X(s, e)) return !0;
36
36
  return !1;
37
- }, G = (e, t) => {
37
+ }, F = (e, t) => {
38
38
  if (t.entities.droppableMap.get(e)?.disabled) return !0;
39
- for (const n of t.entities.visibleDroppableSet)
40
- if (t.entities.droppableMap.get(n)?.disabled && K(n, e)) return !0;
39
+ for (const s of t.entities.visibleDroppableSet)
40
+ if (t.entities.droppableMap.get(s)?.disabled && X(s, e)) return !0;
41
41
  return !1;
42
- }, Ae = (e, t) => {
42
+ }, se = (e, t) => {
43
43
  if (!e.length || !t.length) return !0;
44
- const s = new Set(t);
45
- return e.some((n) => s.has(n));
44
+ const n = new Set(t);
45
+ return e.some((s) => n.has(s));
46
46
  };
47
- function ct(e, t, s, n) {
48
- const o = /* @__PURE__ */ new Set();
49
- for (const r of t.keys()) {
50
- const g = s.get(r);
51
- for (const l of g?.groups ?? []) o.add(l);
47
+ function it(e, t, n, s) {
48
+ const a = [];
49
+ for (const o of t.keys()) {
50
+ const r = n.get(o);
51
+ a.push({ groups: r?.groups ?? [] });
52
52
  }
53
- const i = [...o], a = /* @__PURE__ */ new Set();
54
- for (const r of e) {
55
- const l = n.get(r)?.groups ?? [];
56
- Ae(i, l) && a.add(r);
53
+ const i = /* @__PURE__ */ new Set();
54
+ for (const o of e) {
55
+ const r = s.get(o), g = r?.groups ?? [], c = r?.groupMatch ?? "every";
56
+ (!a.length || a[c]((l) => se(l.groups, g))) && i.add(o);
57
57
  }
58
- return a;
58
+ return i;
59
59
  }
60
- function gt(e, t, s) {
61
- const n = /* @__PURE__ */ new Set();
62
- for (const a of t.keys()) {
63
- const r = s.get(a);
64
- for (const g of r?.groups ?? []) n.add(g);
60
+ function rt(e, t, n) {
61
+ const s = /* @__PURE__ */ new Set();
62
+ for (const o of t.keys()) {
63
+ const r = n.get(o);
64
+ for (const g of r?.groups ?? []) s.add(g);
65
65
  }
66
- const o = [...n], i = /* @__PURE__ */ new Set();
67
- for (const a of e) {
68
- const g = s.get(a)?.groups ?? [];
69
- Ae(o, g) && i.add(a);
66
+ const a = [...s], i = /* @__PURE__ */ new Set();
67
+ for (const o of e) {
68
+ const g = n.get(o)?.groups ?? [];
69
+ se(a, g) && i.add(o);
70
70
  }
71
71
  return i;
72
72
  }
73
- const ge = (e) => {
74
- const t = new IntersectionObserver((s) => {
75
- s.forEach((n) => {
76
- const o = n.target;
77
- e[n.isIntersecting ? "add" : "delete"](o);
73
+ const re = (e) => {
74
+ const t = new IntersectionObserver((n) => {
75
+ n.forEach((s) => {
76
+ const a = s.target;
77
+ e[s.isIntersecting ? "add" : "delete"](a);
78
78
  });
79
79
  });
80
80
  return {
81
- observe: (s) => t.observe(s),
82
- unobserve: (s) => t.unobserve(s),
81
+ observe: (n) => t.observe(n),
82
+ unobserve: (n) => t.unobserve(n),
83
83
  disconnect: () => t.disconnect()
84
84
  };
85
- }, ut = (e) => {
86
- const t = new ResizeObserver((s) => {
87
- const n = s[0];
88
- if (!n) return;
89
- const { width: o, height: i } = n.contentRect;
90
- e.value = { width: o, height: i };
85
+ }, lt = (e) => {
86
+ const t = new ResizeObserver((n) => {
87
+ const s = n[0];
88
+ if (!s) return;
89
+ const { width: a, height: i } = s.contentRect;
90
+ e.value = { width: a, height: i };
91
91
  });
92
92
  return {
93
- observe: (s) => t.observe(s),
94
- unobserve: (s) => t.unobserve(s),
93
+ observe: (n) => t.observe(n),
94
+ unobserve: (n) => t.unobserve(n),
95
95
  disconnect: () => t.disconnect()
96
96
  };
97
- }, ft = (e) => {
98
- const t = j(null), s = ut(t), n = ie(
97
+ }, ct = (e) => {
98
+ const t = q(null), n = lt(t), s = ne(
99
99
  e,
100
100
  (i) => {
101
- s.disconnect(), i && s.observe(i);
101
+ n.disconnect(), i && n.observe(i);
102
102
  },
103
103
  { immediate: !0 }
104
104
  );
105
105
  return { overlaySize: t, overlaySizeObserver: {
106
106
  disconnect: () => {
107
- n(), s.disconnect();
107
+ s(), n.disconnect();
108
108
  }
109
109
  } };
110
110
  };
111
- function Se(e, t = 0, s = 0) {
111
+ function pe(e, t = 0, n = 0) {
112
112
  return {
113
113
  start: { x: e.clientX, y: e.clientY },
114
114
  current: { x: e.clientX, y: e.clientY },
115
- offset: { x: t, y: s }
115
+ offset: { x: t, y: n }
116
116
  };
117
117
  }
118
- function Ge(e, t) {
119
- const s = t.getBoundingClientRect(), n = s.width > 0 ? (e.clientX - s.left) / s.width : 0.5, o = s.height > 0 ? (e.clientY - s.top) / s.height : 0.5;
120
- return { x: n, y: o };
118
+ function _e(e, t) {
119
+ const n = t.getBoundingClientRect(), s = n.width > 0 ? (e.clientX - n.left) / n.width : 0.5, a = n.height > 0 ? (e.clientY - n.top) / n.height : 0.5;
120
+ return { x: s, y: a };
121
121
  }
122
- function He(e, t) {
122
+ function ze(e, t) {
123
123
  return {
124
124
  ...t,
125
125
  initialHTML: e.innerHTML,
@@ -127,134 +127,134 @@ function He(e, t) {
127
127
  initialOuterHTML: e.outerHTML
128
128
  };
129
129
  }
130
- function dt(e, t, s) {
131
- e.forEach((n) => {
132
- const o = t.get(n);
133
- s.set(n, He(n, o));
130
+ function gt(e, t, n) {
131
+ e.forEach((s) => {
132
+ const a = t.get(s);
133
+ n.set(s, ze(s, a));
134
134
  }), e.clear();
135
135
  }
136
- function mt(e, t, s) {
137
- s.clear();
138
- const n = t.get(e);
139
- s.set(e, He(e, n));
136
+ function ut(e, t, n) {
137
+ n.clear();
138
+ const s = t.get(e);
139
+ n.set(e, ze(e, s));
140
140
  }
141
- function se(e) {
142
- e.entities.initiatingDraggable && (e.state.value = "dragging", ht(
141
+ function ee(e) {
142
+ e.entities.initiatingDraggable && (e.state.value = "dragging", ft(
143
143
  e.entities.initiatingDraggable,
144
144
  e.entities.selectedSet,
145
145
  e.entities.draggableMap,
146
146
  e.entities.draggingMap
147
147
  ));
148
148
  }
149
- function ht(e, t, s, n) {
150
- t.has(e) ? dt(t, s, n) : (t.clear(), mt(e, s, n));
149
+ function ft(e, t, n, s) {
150
+ t.has(e) ? gt(t, n, s) : (t.clear(), ut(e, n, s));
151
151
  }
152
- function Ke(e, t, s, n) {
153
- if (n || !s) return !0;
154
- const o = e.closest(s);
155
- return o ? t.contains(o) : !1;
152
+ function Fe(e, t, n, s) {
153
+ if (s || !n) return !0;
154
+ const a = e.closest(n);
155
+ return a ? t.contains(a) : !1;
156
156
  }
157
- function bt(e, t) {
157
+ function dt(e, t) {
158
158
  if (!e || !t) return 1;
159
- const s = Math.abs(e.current.x - e.start.x), n = Math.abs(e.current.y - e.start.y);
159
+ const n = Math.abs(e.current.x - e.start.x), s = Math.abs(e.current.y - e.start.y);
160
160
  if (typeof t == "number") {
161
- const l = Math.sqrt(s * s + n * n);
162
- return Math.min(l / t, 1);
161
+ const c = Math.sqrt(n * n + s * s);
162
+ return Math.min(c / t, 1);
163
163
  }
164
164
  const {
165
- x: o = 0,
165
+ x: a = 0,
166
166
  y: i = 0,
167
- condition: a = "any"
167
+ condition: o = "any"
168
168
  } = t;
169
- if (o === 0 && i === 0) return 1;
170
- const r = o > 0 ? Math.min(s / o, 1) : 1, g = i > 0 ? Math.min(n / i, 1) : 1;
171
- return a === "both" ? Math.min(r, g) : Math.max(r, g);
169
+ if (a === 0 && i === 0) return 1;
170
+ const r = a > 0 ? Math.min(n / a, 1) : 1, g = i > 0 ? Math.min(s / i, 1) : 1;
171
+ return o === "both" ? Math.min(r, g) : Math.max(r, g);
172
172
  }
173
- function Ze(e, t, s) {
174
- if (!s) return !0;
175
- const n = s.distance != null, o = s.delay != null;
176
- return !n && !o ? !0 : n && !o ? e >= 1 : !n && o ? t >= 1 : (s.condition ?? "both") === "both" ? e >= 1 && t >= 1 : e >= 1 || t >= 1;
173
+ function He(e, t, n) {
174
+ if (!n) return !0;
175
+ const s = n.distance != null, a = n.delay != null;
176
+ return !s && !a ? !0 : s && !a ? e >= 1 : !s && a ? t >= 1 : (n.condition ?? "both") === "both" ? e >= 1 && t >= 1 : e >= 1 || t >= 1;
177
177
  }
178
- function yt(e) {
178
+ function mt(e) {
179
179
  if (e.state.value !== "activating" || !e.entities.initiatingDraggable)
180
180
  return !1;
181
181
  const t = e.entities.draggableMap.get(
182
182
  e.entities.initiatingDraggable
183
183
  );
184
- return Ze(
184
+ return He(
185
185
  e.distanceProgress.value,
186
186
  e.delay.progress,
187
187
  t?.activation
188
- ) ? (se(e), !0) : !1;
188
+ ) ? (ee(e), !0) : !1;
189
189
  }
190
- function pt(e, t) {
191
- let s = null;
192
- const n = () => {
190
+ function ht(e, t) {
191
+ let n = null;
192
+ const s = () => {
193
193
  if (e.state.value !== "activating" || !e.entities.initiatingDraggable) {
194
- s = null;
194
+ n = null;
195
195
  return;
196
196
  }
197
- const o = e.entities.draggableMap.get(
197
+ const a = e.entities.draggableMap.get(
198
198
  e.entities.initiatingDraggable
199
- ), i = o?.activation?.delay;
199
+ ), i = a?.activation?.delay;
200
200
  if (!i) {
201
- s = null;
201
+ n = null;
202
202
  return;
203
203
  }
204
204
  e.delay.progress = Math.min(
205
205
  (Date.now() - e.delay.startTime) / (i * 1e3),
206
206
  1
207
- ), Ze(
207
+ ), He(
208
208
  e.distanceProgress.value,
209
209
  e.delay.progress,
210
- o?.activation
211
- ) ? (t(), s = null) : s = requestAnimationFrame(n);
210
+ a?.activation
211
+ ) ? (t(), n = null) : n = requestAnimationFrame(s);
212
212
  };
213
- return s = requestAnimationFrame(n), {
213
+ return n = requestAnimationFrame(s), {
214
214
  cancel: () => {
215
- s !== null && (cancelAnimationFrame(s), s = null);
215
+ n !== null && (cancelAnimationFrame(n), n = null);
216
216
  }
217
217
  };
218
218
  }
219
- function St(e, t) {
220
- const s = e.closest(
221
- _.CONSTRAINT_AREA
219
+ function bt(e, t) {
220
+ const n = e.closest(
221
+ z.CONSTRAINT_AREA
222
222
  );
223
- return !s || !t.has(s) ? null : {
224
- element: s,
225
- entity: t.get(s)
223
+ return !n || !t.has(n) ? null : {
224
+ element: n,
225
+ entity: t.get(n)
226
226
  };
227
227
  }
228
- function Dt(e, t, s, n) {
229
- return s === "x" ? { x: e, y: n.top } : s === "y" ? { x: n.left, y: t } : { x: e, y: t };
228
+ function yt(e, t, n, s) {
229
+ return n === "x" ? { x: e, y: s.top } : n === "y" ? { x: s.left, y: t } : { x: e, y: t };
230
230
  }
231
- function Mt(e, t, s, n, o) {
232
- let i = e, a = t;
233
- return s !== "y" && (i = Math.max(
234
- n.left,
235
- Math.min(n.right - o.width, e)
236
- )), s !== "x" && (a = Math.max(
237
- n.top,
238
- Math.min(n.bottom - o.height, t)
239
- )), { x: i, y: a };
231
+ function pt(e, t, n, s, a) {
232
+ let i = e, o = t;
233
+ return n !== "y" && (i = Math.max(
234
+ s.left,
235
+ Math.min(s.right - a.width, e)
236
+ )), n !== "x" && (o = Math.max(
237
+ s.top,
238
+ Math.min(s.bottom - a.height, t)
239
+ )), { x: i, y: o };
240
240
  }
241
- function wt(e, t, s, n, o) {
241
+ function St(e, t, n, s, a) {
242
242
  if (!e || !t)
243
243
  return { x: 0, y: 0 };
244
- const i = t.getBoundingClientRect(), a = i.width || o?.width || 0, r = i.height || o?.height || 0;
245
- let g = e.current.x - a * e.offset.x, l = e.current.y - r * e.offset.y;
246
- if (!s)
247
- return { x: g, y: l };
248
- const u = St(s, n);
244
+ const i = t.getBoundingClientRect(), o = i.width || a?.width || 0, r = i.height || a?.height || 0;
245
+ let g = e.current.x - o * e.offset.x, c = e.current.y - r * e.offset.y;
246
+ if (!n)
247
+ return { x: g, y: c };
248
+ const u = bt(n, s);
249
249
  if (!u)
250
- return { x: g, y: l };
251
- const { element: c, entity: f } = u, d = c.getBoundingClientRect(), m = s.getBoundingClientRect(), h = Dt(
250
+ return { x: g, y: c };
251
+ const { element: l, entity: f } = u, d = l.getBoundingClientRect(), m = n.getBoundingClientRect(), h = yt(
252
252
  g,
253
- l,
253
+ c,
254
254
  f.axis || "both",
255
255
  m
256
256
  );
257
- return f.restrictToArea ? Mt(
257
+ return f.restrictToArea ? pt(
258
258
  h.x,
259
259
  h.y,
260
260
  f.axis || "both",
@@ -262,7 +262,7 @@ function wt(e, t, s, n, o) {
262
262
  i
263
263
  ) : h;
264
264
  }
265
- const N = {
265
+ const K = {
266
266
  forDrag: ["Enter", "Space"],
267
267
  forCancel: ["Escape"],
268
268
  forDrop: ["Enter", "Space"],
@@ -278,19 +278,19 @@ const N = {
278
278
  ],
279
279
  forMoveFaster: ["ShiftLeft", "ShiftRight"]
280
280
  };
281
- function vt(e, t) {
282
- const s = te(), n = j(), i = {
281
+ function Dt(e, t) {
282
+ const n = J(), s = q(), i = {
283
283
  keys: {
284
- pressedKeys: j(/* @__PURE__ */ new Set()),
285
- forDrag: [...N.forDrag],
286
- forCancel: [...N.forCancel],
287
- forDrop: [...N.forDrop],
288
- forMove: [...N.forMove],
289
- forMoveFaster: [...N.forMoveFaster]
284
+ pressedKeys: q(/* @__PURE__ */ new Set()),
285
+ forDrag: [...K.forDrag],
286
+ forCancel: [...K.forCancel],
287
+ forDrop: [...K.forDrop],
288
+ forMove: [...K.forMove],
289
+ forMoveFaster: [...K.forMoveFaster]
290
290
  },
291
291
  step: 8,
292
292
  moveFaster: 4
293
- }, a = q({
293
+ }, o = U({
294
294
  draggableMap: /* @__PURE__ */ new Map(),
295
295
  droppableMap: /* @__PURE__ */ new Map(),
296
296
  selectableAreaMap: /* @__PURE__ */ new Map(),
@@ -300,309 +300,356 @@ function vt(e, t) {
300
300
  draggingMap: /* @__PURE__ */ new Map(),
301
301
  selectedSet: /* @__PURE__ */ new Set(),
302
302
  selectionBase: /* @__PURE__ */ new Set(),
303
- allowedDroppableSet: y(() => s.value ? ct(
304
- a.visibleDroppableSet,
305
- a.draggingMap,
306
- a.draggableMap,
307
- a.droppableMap
303
+ allowedDroppableSet: b(() => n.value ? it(
304
+ o.visibleDroppableSet,
305
+ o.draggingMap,
306
+ o.draggableMap,
307
+ o.droppableMap
308
308
  ) : /* @__PURE__ */ new Set()),
309
- allowedDraggableSet: y(() => s.value ? gt(
310
- a.visibleDraggableSet,
311
- a.draggingMap,
312
- a.draggableMap
309
+ allowedDraggableSet: b(() => n.value ? rt(
310
+ o.visibleDraggableSet,
311
+ o.draggingMap,
312
+ o.draggableMap
313
313
  ) : /* @__PURE__ */ new Set()),
314
- modifiersSelectableAreaSet: y(() => Ie(
315
- a.selectableAreaMap,
316
- a.visibleSelectableAreaSet,
314
+ modifiersSelectableAreaSet: b(() => Ce(
315
+ o.selectableAreaMap,
316
+ o.visibleSelectableAreaSet,
317
317
  i.keys.pressedKeys
318
318
  )),
319
- modifiersDraggableSet: y(() => Ie(
320
- a.draggableMap,
321
- a.visibleDraggableSet,
319
+ modifiersDraggableSet: b(() => Ce(
320
+ o.draggableMap,
321
+ o.visibleDraggableSet,
322
322
  i.keys.pressedKeys,
323
- (v) => xe(v, { entities: a })
323
+ (v) => xe(v, { entities: o })
324
324
  )),
325
325
  visibleDraggableSet: /* @__PURE__ */ new Set(),
326
326
  visibleDroppableSet: /* @__PURE__ */ new Set(),
327
327
  visibleSelectableAreaSet: /* @__PURE__ */ new Set()
328
- }), r = q({
328
+ }), r = U({
329
329
  draggable: /* @__PURE__ */ new Map(),
330
330
  droppable: /* @__PURE__ */ new Map()
331
331
  }), g = {
332
- throttle: te(0)
333
- }, l = q({
332
+ throttle: J(0)
333
+ }, c = U({
334
334
  x: window.scrollX,
335
335
  y: window.scrollY
336
- }), u = q({
336
+ }), u = U({
337
337
  progress: 0,
338
338
  startTime: 0
339
- }), c = y(() => {
340
- if (!n.value || !a.initiatingDraggable) return 0;
341
- const v = a.draggableMap.get(a.initiatingDraggable)?.activation?.distance;
342
- return v ? bt(n.value, v) : 1;
343
- }), f = ge(
344
- a.visibleDraggableSet
345
- ), d = ge(
346
- a.visibleDroppableSet
347
- ), m = ge(
348
- a.visibleSelectableAreaSet
349
- ), { overlaySize: h, overlaySizeObserver: S } = ft(e), b = j(), w = y(() => {
350
- const p = a.initiatingDraggable;
351
- return wt(
352
- n.value,
339
+ }), l = b(() => {
340
+ if (!s.value || !o.initiatingDraggable) return 0;
341
+ const v = o.draggableMap.get(o.initiatingDraggable)?.activation?.distance;
342
+ return v ? dt(s.value, v) : 1;
343
+ }), f = re(
344
+ o.visibleDraggableSet
345
+ ), d = re(
346
+ o.visibleDroppableSet
347
+ ), m = re(
348
+ o.visibleSelectableAreaSet
349
+ ), { overlaySize: h, overlaySizeObserver: w } = ct(e), y = q(), R = b(() => {
350
+ const p = o.initiatingDraggable;
351
+ return St(
352
+ s.value,
353
353
  e.value,
354
354
  p || null,
355
- a.constraintsAreaMap,
355
+ o.constraintsAreaMap,
356
356
  h.value
357
357
  );
358
- }), E = y({
358
+ }), x = b({
359
359
  get: () => t?.overlayTo,
360
- set: (p) => E.value = p
361
- }), $ = y(() => t?.autoScrollViewport);
360
+ set: (p) => x.value = p
361
+ }), Z = b(() => t?.autoScrollViewport);
362
362
  return {
363
- state: s,
364
- pointer: n,
365
- entities: a,
363
+ state: n,
364
+ pointer: s,
365
+ entities: o,
366
366
  keyboard: i,
367
- scrollPosition: l,
367
+ scrollPosition: c,
368
368
  delay: u,
369
- distanceProgress: c,
369
+ distanceProgress: l,
370
370
  hovered: r,
371
371
  collision: g,
372
372
  overlay: {
373
373
  size: h,
374
- position: w,
375
- render: b,
374
+ position: R,
375
+ render: y,
376
376
  ref: e,
377
- to: E
377
+ to: x
378
378
  },
379
379
  lib: {
380
380
  draggableObserver: f,
381
381
  droppableObserver: d,
382
382
  selectableAreaObserver: m,
383
- overlaySizeObserver: S,
383
+ overlaySizeObserver: w,
384
384
  rectCache: /* @__PURE__ */ new Map()
385
385
  },
386
- autoScrollViewport: $
386
+ autoScrollViewport: Z
387
387
  };
388
388
  }
389
- const oe = (e) => {
389
+ const te = (e) => {
390
390
  const t = e.hovered.draggable.keys().next().value;
391
391
  if (t) {
392
- const n = e.entities.draggableMap.get(t);
393
- n && (n.hoveredPlacement = void 0);
392
+ const s = e.entities.draggableMap.get(t);
393
+ s && (s.hoveredPlacement = void 0);
394
394
  }
395
- const s = e.hovered.droppable.keys().next().value;
396
- if (s) {
397
- const n = e.entities.droppableMap.get(s);
398
- n && (n.hoveredPlacement = void 0);
395
+ const n = e.hovered.droppable.keys().next().value;
396
+ if (n) {
397
+ const s = e.entities.droppableMap.get(n);
398
+ s && (s.hoveredPlacement = void 0);
399
399
  }
400
400
  e.lib.rectCache.clear(), e.pointer.value = void 0, e.state.value = void 0, e.entities.selectingArea = void 0, e.entities.selectionBase.clear(), e.entities.initiatingDraggable = void 0, e.delay.progress = 0, e.delay.startTime = 0, e.entities.draggingMap.clear(), e.hovered.draggable.clear(), e.hovered.droppable.clear();
401
401
  };
402
- function I(e, t, s) {
403
- const n = Math.max(0, Math.min(t, e.length));
404
- return [...e.slice(0, n), ...s, ...e.slice(n)];
402
+ function vt(e) {
403
+ return e.parentElement?.closest(z.SELECT_AREA) ?? null;
405
404
  }
406
- function Ee(e, t, s = 1) {
407
- const n = Math.max(0, Math.min(t, e.length - 1)), o = Math.max(0, Math.min(s, e.length - n));
408
- return [...e.slice(0, n), ...e.slice(n + o)];
405
+ const Mt = (e, t, n) => {
406
+ if (!n) return {};
407
+ const s = n.getBoundingClientRect(), a = Math.max(s.left, Math.min(e.x, t.x)), i = Math.max(s.top, Math.min(e.y, t.y)), o = Math.min(s.right, Math.max(e.x, t.x)), r = Math.min(s.bottom, Math.max(e.y, t.y)), g = Math.max(0, o - a), c = Math.max(0, r - i), u = a - s.left + n.scrollLeft, l = i - s.top + n.scrollTop;
408
+ return {
409
+ position: "absolute",
410
+ left: `${u}px`,
411
+ top: `${l}px`,
412
+ width: `${g}px`,
413
+ height: `${c}px`,
414
+ pointerEvents: "none",
415
+ border: "1px solid #3b82f6",
416
+ backgroundColor: "#3b82f61a"
417
+ };
418
+ }, Ge = (e) => {
419
+ if (!e.pointer.value || !e.entities.selectingArea) return;
420
+ const { selectingArea: t } = e.entities, n = wt(
421
+ e.pointer.value.start,
422
+ e.pointer.value.current
423
+ ), s = e.entities.selectableAreaMap.get(t)?.groups ?? [], a = e.lib.rectCache;
424
+ e.entities.visibleDraggableSet.forEach((i) => {
425
+ if (i === t || !t.contains(i)) return;
426
+ const o = vt(i);
427
+ if (o && o !== t) {
428
+ e.entities.selectedSet.delete(i);
429
+ return;
430
+ }
431
+ if (xe(i, e)) {
432
+ e.entities.selectedSet.delete(i);
433
+ return;
434
+ }
435
+ const g = e.entities.draggableMap.get(i)?.groups ?? [];
436
+ if (!se(s, g)) {
437
+ e.entities.selectedSet.delete(i);
438
+ return;
439
+ }
440
+ let c = a.get(i);
441
+ c || (c = i.getBoundingClientRect(), a.set(i, c));
442
+ const u = e.entities.selectionBase.has(i);
443
+ ot(n, c) ? u ? e.entities.selectedSet.delete(i) : e.entities.selectedSet.add(i) : u ? e.entities.selectedSet.add(i) : e.entities.selectedSet.delete(i);
444
+ });
445
+ }, wt = (e, t) => {
446
+ const n = Math.min(e.x, t.x), s = Math.min(e.y, t.y), a = Math.max(e.x, t.x), i = Math.max(e.y, t.y), o = a - n, r = i - s;
447
+ return new DOMRect(n, s, o, r);
448
+ };
449
+ function I(e, t, n) {
450
+ const s = Math.max(0, Math.min(t, e.length));
451
+ return [...e.slice(0, s), ...n, ...e.slice(s)];
452
+ }
453
+ function Ee(e, t, n = 1) {
454
+ const s = Math.max(0, Math.min(t, e.length - 1)), a = Math.max(0, Math.min(n, e.length - s));
455
+ return [...e.slice(0, s), ...e.slice(s + a)];
409
456
  }
410
457
  function H(e, t) {
411
- const s = [...new Set(t)].filter((o) => o >= 0 && o < e.length).sort((o, i) => i - o);
412
- let n = e;
413
- for (const o of s) n = Ee(n, o, 1);
414
- return n;
458
+ const n = [...new Set(t)].filter((a) => a >= 0 && a < e.length).sort((a, i) => i - a);
459
+ let s = e;
460
+ for (const a of n) s = Ee(s, a, 1);
461
+ return s;
415
462
  }
416
- function Ne(e, t, s) {
417
- if (t === s || t < 0 || s < 0 || t >= e.length || s >= e.length)
463
+ function Ke(e, t, n) {
464
+ if (t === n || t < 0 || n < 0 || t >= e.length || n >= e.length)
418
465
  return e;
419
- const n = [...e];
420
- return [n[t], n[s]] = [n[s], n[t]], n;
466
+ const s = [...e];
467
+ return [s[t], s[n]] = [s[n], s[t]], s;
421
468
  }
422
- const R = {
469
+ const C = {
423
470
  getInsertSide(e, t) {
424
471
  return e ? t === "vertical" ? e.top && !e.bottom ? "before" : e.bottom && !e.top ? "after" : e.top ? "before" : null : e.left && !e.right ? "before" : e.right && !e.left ? "after" : e.left ? "before" : null : null;
425
472
  },
426
473
  isAtZoneStart(e, t) {
427
- return R.getInsertSide(e, t) === "before" && !e?.center;
474
+ return C.getInsertSide(e, t) === "before" && !e?.center;
428
475
  },
429
476
  isAtZoneEnd(e, t) {
430
- return R.getInsertSide(e, t) === "after" && !e?.center;
477
+ return C.getInsertSide(e, t) === "after" && !e?.center;
431
478
  }
432
479
  };
433
- function Ye(e, t) {
434
- const { draggedItems: s, dropZone: n, hoveredDraggable: o } = e;
435
- if (!s.length) return null;
436
- const i = o?.placement.center === !0 && n != null && n.items !== o.items, a = i ? n.items : o?.items ?? n?.items;
437
- if (!a) return null;
438
- const r = s[0].items, g = s.map((f) => f.index), l = a.length;
439
- let u, c;
440
- if (o && !i) {
441
- const f = o.items === r && g.includes(o.index);
442
- if (f && s.length === 1) {
443
- const d = R.isAtZoneStart(n?.placement, t);
444
- u = d ? 0 : l, c = d ? "prepend" : "append";
480
+ function Ne(e, t) {
481
+ const { draggedItems: n, dropZone: s, hoveredDraggable: a } = e;
482
+ if (!n.length) return null;
483
+ const i = a?.placement.center === !0 && s != null && s.items !== a.items, o = i ? s.items : a?.items ?? s?.items;
484
+ if (!o) return null;
485
+ const r = n[0].items, g = n.map((f) => f.index), c = o.length;
486
+ let u, l;
487
+ if (a && !i) {
488
+ const f = a.items === r && g.includes(a.index);
489
+ if (f && n.length === 1) {
490
+ const d = C.isAtZoneStart(s?.placement, t);
491
+ u = d ? 0 : c, l = d ? "prepend" : "append";
445
492
  } else {
446
493
  if (f)
447
494
  return null;
448
495
  {
449
- const d = R.getInsertSide(o.placement, t), m = o.index;
450
- d === "before" ? (u = Math.max(0, m), c = "insert") : d === "after" ? (u = Math.min(l, m + 1), c = "insert") : (u = l, c = "append");
496
+ const d = C.getInsertSide(a.placement, t), m = a.index;
497
+ d === "before" ? (u = Math.max(0, m), l = "insert") : d === "after" ? (u = Math.min(c, m + 1), l = "insert") : (u = c, l = "append");
451
498
  }
452
499
  }
453
500
  } else {
454
- if (!n) return null;
455
- const f = R.isAtZoneStart(n.placement, t);
456
- u = f ? 0 : l, c = f ? "prepend" : "append";
501
+ if (!s) return null;
502
+ const f = C.isAtZoneStart(s.placement, t);
503
+ u = f ? 0 : c, l = f ? "prepend" : "append";
457
504
  }
458
- return { targetIndex: u, mode: c, targetArr: a };
505
+ return { targetIndex: u, mode: l, targetArr: o };
459
506
  }
460
- function xt(e, t = "vertical") {
461
- const { draggedItems: s } = e;
462
- if (!s.length) return null;
463
- const n = Ye(e, t);
464
- if (!n) return null;
465
- const { targetArr: o, mode: i } = n;
466
- let { targetIndex: a } = n;
467
- const r = s.map((c) => c.index), g = s.map((c) => c.item), l = s[0].items;
468
- if (l === o) {
469
- const c = r.filter((d) => d < a).length;
470
- a = Math.max(0, a - c);
471
- const f = I(H(l, r), a, g);
472
- return { sourceItems: f, targetItems: f, draggedItems: g, sourceIndexes: r, targetIndex: a, mode: i, sameList: !0 };
507
+ function At(e, t = "vertical") {
508
+ const { draggedItems: n } = e;
509
+ if (!n.length) return null;
510
+ const s = Ne(e, t);
511
+ if (!s) return null;
512
+ const { targetArr: a, mode: i } = s;
513
+ let { targetIndex: o } = s;
514
+ const r = n.map((l) => l.index), g = n.map((l) => l.item), c = n[0].items;
515
+ if (c === a) {
516
+ const l = r.filter((d) => d < o).length;
517
+ o = Math.max(0, o - l);
518
+ const f = I(H(c, r), o, g);
519
+ return { sourceItems: f, targetItems: f, draggedItems: g, sourceIndexes: r, targetIndex: o, mode: i, sameList: !0 };
473
520
  } else {
474
- const c = H(l, r), f = I(o, a, g);
475
- return { sourceItems: c, targetItems: f, draggedItems: g, sourceIndexes: r, targetIndex: a, mode: i, sameList: !1 };
521
+ const l = H(c, r), f = I(a, o, g);
522
+ return { sourceItems: l, targetItems: f, draggedItems: g, sourceIndexes: r, targetIndex: o, mode: i, sameList: !1 };
476
523
  }
477
524
  }
478
- function At(e) {
479
- const { draggedItems: t, hoveredDraggable: s } = e;
480
- if (!t.length || !s) return null;
481
- const n = t.map((u) => u.index), o = s.index, i = t.map((u) => u.item), a = s.item, r = t[0].items, g = s.items, l = r === g;
482
- if (l && n.includes(o)) return null;
525
+ function xt(e) {
526
+ const { draggedItems: t, hoveredDraggable: n } = e;
527
+ if (!t.length || !n) return null;
528
+ const s = t.map((u) => u.index), a = n.index, i = t.map((u) => u.item), o = n.item, r = t[0].items, g = n.items, c = r === g;
529
+ if (c && s.includes(a)) return null;
483
530
  if (t.length === 1) {
484
- const u = n[0];
485
- if (l) {
486
- const c = Ne(r, u, o);
487
- return { sourceItems: c, targetItems: c, sourceIndexes: n, targetIndex: o, sameList: !0 };
531
+ const u = s[0];
532
+ if (c) {
533
+ const l = Ke(r, u, a);
534
+ return { sourceItems: l, targetItems: l, sourceIndexes: s, targetIndex: a, sameList: !0 };
488
535
  } else {
489
- const c = [...r], f = [...g];
490
- return c[u] = g[o], f[o] = r[u], { sourceItems: c, targetItems: f, sourceIndexes: n, targetIndex: o, sameList: !1 };
536
+ const l = [...r], f = [...g];
537
+ return l[u] = g[a], f[a] = r[u], { sourceItems: l, targetItems: f, sourceIndexes: s, targetIndex: a, sameList: !1 };
491
538
  }
492
539
  } else {
493
- const u = Math.min(...n);
494
- if (l) {
495
- const c = n.filter((b) => b < o).length, f = Math.max(0, o - c), d = n.filter((b) => b < u).length, m = Math.max(0, u - d);
496
- let h = H(r, n);
540
+ const u = Math.min(...s);
541
+ if (c) {
542
+ const l = s.filter((y) => y < a).length, f = Math.max(0, a - l), d = s.filter((y) => y < u).length, m = Math.max(0, u - d);
543
+ let h = H(r, s);
497
544
  h = I(h, f, i);
498
- const S = m >= f ? m + i.length : m;
499
- return h = I(h, S, [a]), { sourceItems: h, targetItems: h, sourceIndexes: n, targetIndex: f, sameList: !0 };
545
+ const w = m >= f ? m + i.length : m;
546
+ return h = I(h, w, [o]), { sourceItems: h, targetItems: h, sourceIndexes: s, targetIndex: f, sameList: !0 };
500
547
  } else {
501
- const c = n.filter((h) => h < u).length, f = Math.max(0, u - c);
502
- let d = H(r, n);
503
- d = I(d, f, [a]);
504
- let m = Ee(g, o);
505
- return m = I(m, o, i), { sourceItems: d, targetItems: m, sourceIndexes: n, targetIndex: o, sameList: !1 };
548
+ const l = s.filter((h) => h < u).length, f = Math.max(0, u - l);
549
+ let d = H(r, s);
550
+ d = I(d, f, [o]);
551
+ let m = Ee(g, a);
552
+ return m = I(m, a, i), { sourceItems: d, targetItems: m, sourceIndexes: s, targetIndex: a, sameList: !1 };
506
553
  }
507
554
  }
508
555
  }
509
556
  function Et(e, t = "vertical") {
510
- const { draggedItems: s } = e;
511
- if (!s.length) return null;
512
- const n = Ye(e, t);
513
- if (!n) return null;
514
- const { targetArr: o, targetIndex: i, mode: a } = n, r = s.map((l) => l.item);
515
- return { targetItems: I(o, i, r), copiedItems: r, targetIndex: i, mode: a };
557
+ const { draggedItems: n } = e;
558
+ if (!n.length) return null;
559
+ const s = Ne(e, t);
560
+ if (!s) return null;
561
+ const { targetArr: a, targetIndex: i, mode: o } = s, r = n.map((c) => c.item);
562
+ return { targetItems: I(a, i, r), copiedItems: r, targetIndex: i, mode: o };
516
563
  }
517
564
  function Lt(e) {
518
565
  const { draggedItems: t } = e;
519
566
  if (!t.length) return null;
520
- const s = t.map((a) => a.index), n = t.map((a) => a.item), o = t[0].items;
521
- return { sourceItems: H(o, s), removedItems: n, sourceIndexes: s };
567
+ const n = t.map((o) => o.index), s = t.map((o) => o.item), a = t[0].items;
568
+ return { sourceItems: H(a, n), removedItems: s, sourceIndexes: n };
522
569
  }
523
- function Ct(e) {
570
+ function Ve(e) {
524
571
  return {
525
572
  // Low-level array ops
526
573
  insertAt: I,
527
574
  removeAt: Ee,
528
575
  removeIndexes: H,
529
- swapAt: Ne,
576
+ swapAt: Ke,
530
577
  // Placement helpers
531
- getInsertSide: (t, s) => R.getInsertSide(t, s),
532
- isAtZoneStart: (t, s) => R.isAtZoneStart(t, s),
533
- isAtZoneEnd: (t, s) => R.isAtZoneEnd(t, s),
578
+ getInsertSide: (t, n) => C.getInsertSide(t, n),
579
+ isAtZoneStart: (t, n) => C.isAtZoneStart(t, n),
580
+ isAtZoneEnd: (t, n) => C.isAtZoneEnd(t, n),
534
581
  // High-level (event-bound)
535
- suggestSort: (t) => xt(e, t),
536
- suggestSwap: () => At(e),
582
+ suggestSort: (t) => At(e, t),
583
+ suggestSwap: () => xt(e),
537
584
  suggestCopy: (t) => Et(e, t),
538
585
  suggestRemove: () => Lt(e)
539
586
  };
540
587
  }
541
- const P = (e) => e.keys().next().value, It = (e) => e.target.closest(
542
- _.DRAGGABLE
588
+ const T = (e) => e.keys().next().value, It = (e) => e.target.closest(
589
+ z.DRAGGABLE
543
590
  );
544
- function Rt(e) {
591
+ function Ct(e) {
545
592
  const t = e.entities.initiatingDraggable;
546
593
  if (!t) return [];
547
- const s = e.entities.draggingMap.get(t) ?? e.entities.draggableMap.get(t), n = s?.payload;
548
- if (!n)
549
- return s?.data ? [{ index: -1, item: void 0, items: [], data: s.data() }] : [];
550
- const o = n();
551
- if (!Array.isArray(o) || o.length < 2) return [];
552
- const [i, a] = o, r = Number(i), g = a, l = /* @__PURE__ */ new Map();
553
- return l.set(r, {
594
+ const n = e.entities.draggingMap.get(t) ?? e.entities.draggableMap.get(t), s = n?.payload;
595
+ if (!s)
596
+ return n?.data ? [{ index: -1, item: void 0, items: [], data: n.data() }] : [];
597
+ const a = s();
598
+ if (!Array.isArray(a) || a.length < 2) return [];
599
+ const [i, o] = a, r = Number(i), g = o, c = /* @__PURE__ */ new Map();
600
+ return c.set(r, {
554
601
  index: r,
555
602
  item: g[r],
556
603
  items: g,
557
- data: s?.data?.()
558
- }), e.entities.draggingMap.forEach((u, c) => {
559
- const f = e.entities.draggableMap.get(c), d = f?.payload;
604
+ data: n?.data?.()
605
+ }), e.entities.draggingMap.forEach((u, l) => {
606
+ const f = e.entities.draggableMap.get(l), d = f?.payload;
560
607
  if (!d) return;
561
608
  const m = d();
562
609
  if (!Array.isArray(m) || m.length < 2) return;
563
- const [h, S] = m;
564
- if (S !== g) return;
565
- const b = Number(h);
566
- l.has(b) || l.set(b, {
567
- index: b,
568
- item: S[b],
610
+ const [h, w] = m;
611
+ if (w !== g) return;
612
+ const y = Number(h);
613
+ c.has(y) || c.set(y, {
614
+ index: y,
615
+ item: w[y],
569
616
  items: g,
570
617
  data: f?.data?.()
571
618
  });
572
- }), [...l.values()].sort((u, c) => u.index - c.index);
619
+ }), [...c.values()].sort((u, l) => u.index - l.index);
573
620
  }
574
621
  const A = (e, t) => {
575
- const s = Rt(e);
576
- let n, o;
622
+ const n = Ct(e);
623
+ let s, a;
577
624
  if (t) {
578
625
  const i = e.entities.droppableMap.get(t);
579
626
  if (i) {
580
627
  const g = i.payload;
581
- n = {
628
+ s = {
582
629
  items: g ? g() : [],
583
630
  placement: e.hovered.droppable.get(t),
584
631
  data: i.data?.()
585
632
  };
586
633
  }
587
- const a = P(e.hovered.draggable);
588
- if (a && (a === t || t.contains(a)) && a) {
589
- const g = e.entities.draggableMap.get(a), l = g?.payload, u = e.hovered.draggable.get(a), c = { top: !1, right: !1, bottom: !1, left: !1, center: !1 };
590
- if (l) {
591
- const f = l();
634
+ const o = T(e.hovered.draggable);
635
+ if (o && (o === t || t.contains(o)) && o) {
636
+ const g = e.entities.draggableMap.get(o), c = g?.payload, u = e.hovered.draggable.get(o), l = { top: !1, right: !1, bottom: !1, left: !1, center: !1 };
637
+ if (c) {
638
+ const f = c();
592
639
  if (Array.isArray(f) && f.length >= 2) {
593
640
  const [d, m] = f, h = Number(d);
594
- o = {
595
- element: a,
596
- placement: u ?? c,
641
+ a = {
642
+ element: o,
643
+ placement: u ?? l,
597
644
  index: h,
598
645
  item: m[h],
599
646
  items: m,
600
647
  data: g?.data?.()
601
648
  };
602
649
  }
603
- } else g?.data && (o = {
604
- element: a,
605
- placement: u ?? c,
650
+ } else g?.data && (a = {
651
+ element: o,
652
+ placement: u ?? l,
606
653
  index: -1,
607
654
  item: void 0,
608
655
  items: [],
@@ -611,116 +658,69 @@ const A = (e, t) => {
611
658
  }
612
659
  }
613
660
  return {
614
- draggedItems: s,
615
- dropZone: n,
616
- hoveredDraggable: o,
661
+ draggedItems: n,
662
+ dropZone: s,
663
+ hoveredDraggable: a,
617
664
  provider: e,
618
- helpers: Ct({ draggedItems: s, dropZone: n, hoveredDraggable: o })
665
+ helpers: Ve({ draggedItems: n, dropZone: s, hoveredDraggable: a })
619
666
  };
620
- }, F = (e, t, s) => {
667
+ }, P = (e, t, n) => {
621
668
  if (!t) return;
622
- const n = e.entities.draggingMap.get(t) ?? e.entities.draggableMap.get(t);
623
- !n || n.disabled || n.events?.[s]?.(A(e));
624
- }, x = (e, t) => {
625
- const s = A(e);
626
- e.entities.draggingMap.forEach((n) => {
627
- n.disabled || n.events?.[t]?.(s);
669
+ const s = e.entities.draggingMap.get(t) ?? e.entities.draggableMap.get(t);
670
+ !s || s.disabled || s.events?.[n]?.(A(e));
671
+ }, M = (e, t) => {
672
+ const n = A(e);
673
+ e.entities.draggingMap.forEach((s) => {
674
+ s.disabled || s.events?.[t]?.(n);
628
675
  });
629
- }, kt = (e, t, s) => {
630
- if (t !== s) {
631
- if (t && !G(t, e)) {
632
- const n = A(e, t);
633
- e.entities.droppableMap.get(t)?.events?.onLeave?.(n);
676
+ }, Rt = (e, t, n) => {
677
+ if (t !== n) {
678
+ if (t && !F(t, e)) {
679
+ const s = A(e, t);
680
+ e.entities.droppableMap.get(t)?.events?.onLeave?.(s);
634
681
  }
635
- if (s && !G(s, e)) {
636
- const n = A(e, s);
637
- e.entities.droppableMap.get(s)?.events?.onEnter?.(n);
682
+ if (n && !F(n, e)) {
683
+ const s = A(e, n);
684
+ e.entities.droppableMap.get(n)?.events?.onEnter?.(s);
638
685
  }
639
686
  }
640
- }, Pt = (e, t, s) => {
641
- if (t !== s) {
642
- const n = A(e);
687
+ }, Tt = (e, t, n) => {
688
+ if (t !== n) {
689
+ const s = A(e);
643
690
  if (t) {
644
- const o = e.entities.draggableMap.get(t);
645
- o && !o.disabled && o.events?.onLeave?.(n);
691
+ const a = e.entities.draggableMap.get(t);
692
+ a && !a.disabled && a.events?.onLeave?.(s);
646
693
  }
647
- if (s) {
648
- const o = e.entities.draggableMap.get(s);
649
- o && !o.disabled && o.events?.onHover?.(n);
694
+ if (n) {
695
+ const a = e.entities.draggableMap.get(n);
696
+ a && !a.disabled && a.events?.onHover?.(s);
650
697
  }
651
698
  }
652
- }, ue = (e, t, s) => {
653
- const n = It(t);
654
- !n || !e.entities.draggingMap.has(n) || e.entities.draggingMap.get(n)?.events?.[s]?.(A(e));
655
- }, Tt = (e, t) => {
656
- const s = P(t.droppable);
657
- s && !G(s, e) && e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e, s));
658
- }, Xe = (e, t) => {
659
- const s = P(t.droppable);
660
- s && !G(s, e) && e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e, s));
661
- };
662
- function zt(e) {
663
- return e.parentElement?.closest(_.SELECT_AREA) ?? null;
664
- }
665
- const Bt = (e, t, s) => {
666
- if (!s) return {};
667
- const n = s.getBoundingClientRect(), o = Math.max(n.left, Math.min(e.x, t.x)), i = Math.max(n.top, Math.min(e.y, t.y)), a = Math.min(n.right, Math.max(e.x, t.x)), r = Math.min(n.bottom, Math.max(e.y, t.y)), g = Math.max(0, a - o), l = Math.max(0, r - i), u = o - n.left + s.scrollLeft, c = i - n.top + s.scrollTop;
699
+ }, le = (e, t, n) => {
700
+ const s = It(t);
701
+ !s || !e.entities.draggingMap.has(s) || e.entities.draggingMap.get(s)?.events?.[n]?.(A(e));
702
+ }, kt = (e, t) => {
703
+ const n = T(t.droppable);
704
+ n && !F(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e, n));
705
+ }, Se = (e, t) => {
706
+ const n = T(t.droppable);
707
+ n && !F(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e, n));
708
+ }, Pt = (e, t, n = 5) => {
709
+ const s = n / 2;
668
710
  return {
669
- position: "absolute",
670
- left: `${u}px`,
671
- top: `${c}px`,
672
- width: `${g}px`,
673
- height: `${l}px`,
674
- pointerEvents: "none",
675
- border: "1px solid #3b82f6",
676
- backgroundColor: "#3b82f61a"
711
+ left: e - s,
712
+ top: t - s,
713
+ width: n,
714
+ height: n
677
715
  };
678
- }, Ue = (e) => {
679
- if (!e.pointer.value || !e.entities.selectingArea) return;
680
- const { selectingArea: t } = e.entities, s = Ot(
681
- e.pointer.value.start,
682
- e.pointer.value.current
683
- ), n = e.entities.selectableAreaMap.get(t)?.groups ?? [], o = e.lib.rectCache;
684
- e.entities.visibleDraggableSet.forEach((i) => {
685
- if (i === t || !t.contains(i)) return;
686
- const a = zt(i);
687
- if (a && a !== t) {
688
- e.entities.selectedSet.delete(i);
689
- return;
690
- }
691
- if (xe(i, e)) {
692
- e.entities.selectedSet.delete(i);
693
- return;
694
- }
695
- const g = e.entities.draggableMap.get(i)?.groups ?? [];
696
- if (!Ae(n, g)) {
697
- e.entities.selectedSet.delete(i);
698
- return;
699
- }
700
- let l = o.get(i);
701
- l || (l = i.getBoundingClientRect(), o.set(i, l));
702
- const u = e.entities.selectionBase.has(i);
703
- lt(s, l) ? u ? e.entities.selectedSet.delete(i) : e.entities.selectedSet.add(i) : u ? e.entities.selectedSet.add(i) : e.entities.selectedSet.delete(i);
704
- });
705
- }, Ot = (e, t) => {
706
- const s = Math.min(e.x, t.x), n = Math.min(e.y, t.y), o = Math.max(e.x, t.x), i = Math.max(e.y, t.y), a = o - s, r = i - n;
707
- return new DOMRect(s, n, a, r);
708
- }, Ft = (e, t, s = 5) => {
709
- const n = s / 2;
710
- return {
711
- left: e - n,
712
- top: t - n,
713
- width: s,
714
- height: s
715
- };
716
- }, _t = (e) => {
717
- const t = e.pointer.value?.current, s = t?.x ?? 0, n = t?.y ?? 0;
718
- return Ft(s, n, 5);
719
- }, B = (e, t, s) => {
720
- const n = e.left + e.width / 2, o = e.top + e.height / 2;
721
- if (s) {
722
- const r = s.top ?? 0, g = s.right ?? 0, l = s.bottom ?? 0, u = s.left ?? 0, c = t.left + u, f = t.right - g, d = t.top + r, m = t.bottom - l;
723
- if (c < f && d < m && n >= c && n <= f && o >= d && o <= m)
716
+ }, Bt = (e) => {
717
+ const t = e.pointer.value?.current, n = t?.x ?? 0, s = t?.y ?? 0;
718
+ return Pt(n, s, 5);
719
+ }, O = (e, t, n) => {
720
+ const s = e.left + e.width / 2, a = e.top + e.height / 2;
721
+ if (n) {
722
+ const r = n.top ?? 0, g = n.right ?? 0, c = n.bottom ?? 0, u = n.left ?? 0, l = t.left + u, f = t.right - g, d = t.top + r, m = t.bottom - c;
723
+ if (l < f && d < m && s >= l && s <= f && a >= d && a <= m)
724
724
  return {
725
725
  top: !1,
726
726
  right: !1,
@@ -729,96 +729,96 @@ const Bt = (e, t, s) => {
729
729
  center: !0
730
730
  };
731
731
  }
732
- const i = t.left + t.width / 2, a = t.top + t.height / 2;
732
+ const i = t.left + t.width / 2, o = t.top + t.height / 2;
733
733
  return {
734
- top: o <= a,
735
- bottom: o > a,
736
- left: n <= i,
737
- right: n > i,
734
+ top: a <= o,
735
+ bottom: a > o,
736
+ left: s <= i,
737
+ right: s > i,
738
738
  center: !1
739
739
  };
740
- }, Gt = (e) => ({
740
+ }, Ot = (e) => ({
741
741
  x: e.left + e.width / 2,
742
742
  y: e.top + e.height / 2
743
743
  }), Re = (e, t) => {
744
- const s = Gt(t);
745
- return Math.hypot(e.x - s.x, e.y - s.y);
744
+ const n = Ot(t);
745
+ return Math.hypot(e.x - n.x, e.y - n.y);
746
746
  };
747
- function Ht(e, t) {
747
+ function _t(e, t) {
748
748
  return e === t ? !0 : !e || !t ? !1 : e.top === t.top && e.right === t.right && e.bottom === t.bottom && e.left === t.left && e.center === t.center;
749
749
  }
750
- function W(e, t) {
751
- Ht(e.hoveredPlacement, t) || (e.hoveredPlacement = t);
750
+ function $(e, t) {
751
+ _t(e.hoveredPlacement, t) || (e.hoveredPlacement = t);
752
752
  }
753
- const Kt = (e, t) => e.find((s) => s !== t && K(t, s)), ae = (e, t, s) => {
754
- const n = P(t.droppable), o = P(t.draggable);
755
- o && t.draggable.delete(o), n && t.droppable.delete(n);
756
- const i = _t(e), a = s.zones[0], r = s.elements[0];
757
- if (a && r && a === r && e.entities.droppableMap.has(a) && a) {
758
- const c = a.getBoundingClientRect(), f = e.entities.draggableMap.get(a)?.placementMargins, d = B(i, c, f);
753
+ const zt = (e, t) => e.find((n) => n !== t && X(t, n)), De = (e, t, n) => {
754
+ const s = T(t.droppable), a = T(t.draggable);
755
+ a && t.draggable.delete(a), s && t.droppable.delete(s);
756
+ const i = Bt(e), o = n.zones[0], r = n.elements[0];
757
+ if (o && r && o === r && e.entities.droppableMap.has(o) && o) {
758
+ const l = o.getBoundingClientRect(), f = e.entities.draggableMap.get(o)?.placementMargins, d = O(i, l, f);
759
759
  if (d.center) {
760
- t.droppable.set(a, d);
761
- const m = Kt(s.elements, a);
760
+ t.droppable.set(o, d);
761
+ const m = zt(n.elements, o);
762
762
  if (m) {
763
763
  const h = m.getBoundingClientRect();
764
764
  t.draggable.set(
765
765
  m,
766
- B(i, h, void 0)
766
+ O(i, h, void 0)
767
767
  );
768
768
  }
769
769
  } else
770
770
  t.draggable.set(r, d);
771
771
  } else {
772
- if (a) {
773
- const c = a.getBoundingClientRect();
774
- t.droppable.set(a, B(i, c));
772
+ if (o) {
773
+ const l = o.getBoundingClientRect();
774
+ t.droppable.set(o, O(i, l));
775
775
  }
776
776
  if (r)
777
- if (a)
778
- if (K(a, r)) {
779
- const c = r.getBoundingClientRect(), f = e.entities.draggableMap.get(r)?.placementMargins;
777
+ if (o)
778
+ if (X(o, r)) {
779
+ const l = r.getBoundingClientRect(), f = e.entities.draggableMap.get(r)?.placementMargins;
780
780
  t.draggable.set(
781
781
  r,
782
- B(i, c, f)
782
+ O(i, l, f)
783
783
  );
784
784
  } else {
785
- const c = e.pointer.value?.current ?? { x: 0, y: 0 }, f = a.getBoundingClientRect(), d = r.getBoundingClientRect(), m = Re(c, f);
786
- if (Re(c, d) < m) {
785
+ const l = e.pointer.value?.current ?? { x: 0, y: 0 }, f = o.getBoundingClientRect(), d = r.getBoundingClientRect(), m = Re(l, f);
786
+ if (Re(l, d) < m) {
787
787
  t.droppable.clear();
788
- const S = e.entities.draggableMap.get(r)?.placementMargins;
788
+ const w = e.entities.draggableMap.get(r)?.placementMargins;
789
789
  t.draggable.set(
790
790
  r,
791
- B(i, d, S)
791
+ O(i, d, w)
792
792
  );
793
793
  }
794
794
  }
795
795
  else {
796
- const c = r.getBoundingClientRect(), f = e.entities.draggableMap.get(r)?.placementMargins;
796
+ const l = r.getBoundingClientRect(), f = e.entities.draggableMap.get(r)?.placementMargins;
797
797
  t.draggable.set(
798
798
  r,
799
- B(i, c, f)
799
+ O(i, l, f)
800
800
  );
801
801
  }
802
802
  }
803
- const l = P(t.droppable), u = P(t.draggable);
804
- if (o && o !== u) {
805
- const c = e.entities.draggableMap.get(o);
806
- c && W(c, void 0);
803
+ const c = T(t.droppable), u = T(t.draggable);
804
+ if (a && a !== u) {
805
+ const l = e.entities.draggableMap.get(a);
806
+ l && $(l, void 0);
807
807
  }
808
- if (n && n !== l) {
809
- const c = e.entities.droppableMap.get(n);
810
- c && W(c, void 0);
808
+ if (s && s !== c) {
809
+ const l = e.entities.droppableMap.get(s);
810
+ l && $(l, void 0);
811
811
  }
812
812
  if (u) {
813
- const c = e.entities.draggableMap.get(u);
814
- c && W(c, t.draggable.get(u));
813
+ const l = e.entities.draggableMap.get(u);
814
+ l && $(l, t.draggable.get(u));
815
815
  }
816
- if (l) {
817
- const c = e.entities.droppableMap.get(l);
818
- c && W(c, t.droppable.get(l));
816
+ if (c) {
817
+ const l = e.entities.droppableMap.get(c);
818
+ l && $(l, t.droppable.get(c));
819
819
  }
820
- kt(e, n, l), Pt(e, o, u);
821
- }, fe = (e, t) => e.x < t.x + t.width && e.x + e.width > t.x && e.y < t.y + t.height && e.y + e.height > t.y, X = (e) => {
820
+ Rt(e, s, c), Tt(e, a, u);
821
+ }, ce = (e, t) => e.x < t.x + t.width && e.x + e.width > t.x && e.y < t.y + t.height && e.y + e.height > t.y, ge = (e) => {
822
822
  if (!e)
823
823
  return { x: 0, y: 0, width: 0, height: 0, top: 0, left: 0, right: 0, bottom: 0 };
824
824
  const t = e.getBoundingClientRect();
@@ -832,179 +832,219 @@ const Kt = (e, t) => e.find((s) => s !== t && K(t, s)), ae = (e, t, s) => {
832
832
  right: t.right,
833
833
  bottom: t.bottom
834
834
  };
835
- }, Y = (e) => ({
836
- x: e.x + e.width / 2,
837
- y: e.y + e.height / 2
838
- }), Zt = (e, t) => Math.hypot(t.x - e.x, t.y - e.y), Q = (e, t) => {
839
- const s = Math.max(
835
+ }, ue = (e, t) => {
836
+ const n = Math.max(
840
837
  0,
841
838
  Math.min(e.x + e.width, t.x + t.width) - Math.max(e.x, t.x)
842
- ), n = Math.max(
839
+ ), s = Math.max(
843
840
  0,
844
841
  Math.min(e.y + e.height, t.y + t.height) - Math.max(e.y, t.y)
845
- ), o = s * n, i = e.width * e.height, a = t.width * t.height;
846
- return i === 0 || a === 0 ? 0 : (o / i * 100 + o / a * 100) / 2;
847
- }, Nt = (e, t, s) => t >= e.x && t <= e.x + e.width && s >= e.y && s <= e.y + e.height, Yt = (e) => e.overlay.ref?.value ?? null, ke = (e) => {
848
- const t = e.overlay.position?.value ?? { x: 0, y: 0 }, { x: s, y: n } = t, o = e.overlay.size?.value;
849
- let i, a;
850
- if (o)
851
- i = o.width, a = o.height;
842
+ ), a = n * s, i = e.width * e.height, o = t.width * t.height;
843
+ return i === 0 || o === 0 ? 0 : (a / i * 100 + a / o * 100) / 2;
844
+ }, Ft = (e) => e.overlay.ref?.value ?? null, Te = (e) => {
845
+ const t = e.overlay.position?.value ?? { x: 0, y: 0 }, { x: n, y: s } = t, a = e.overlay.size?.value;
846
+ let i, o;
847
+ if (a)
848
+ i = a.width, o = a.height;
852
849
  else {
853
850
  const r = e.overlay.ref?.value?.getBoundingClientRect();
854
- i = r?.width ?? 0, a = r?.height ?? 0;
851
+ i = r?.width ?? 0, o = r?.height ?? 0;
855
852
  }
856
853
  return {
857
- x: s,
858
- y: n,
854
+ x: n,
855
+ y: s,
859
856
  width: i,
860
- height: a,
861
- top: n,
862
- left: s,
863
- right: s + i,
864
- bottom: n + a
857
+ height: o,
858
+ top: s,
859
+ left: n,
860
+ right: n + i,
861
+ bottom: s + o
865
862
  };
866
- }, De = (e) => e.entities.allowedDraggableSet, Ve = (e) => e.entities.allowedDroppableSet, Xt = (e, t) => !t.entities.draggingMap.has(e), Ut = (e, t) => ![...t.entities.draggingMap.keys()].some(
867
- (s) => K(s, e)
868
- ), Vt = (e, t) => t.entities.draggableMap.has(e) ? !xe(e, t) : t.entities.droppableMap.has(e) ? !G(e, t) : !0, ee = (e, t) => Xt(e, t) && Ut(e, t) && Vt(e, t), de = 10;
869
- function O(e, t) {
863
+ }, ve = (e) => e.entities.allowedDraggableSet, Ye = (e) => e.entities.allowedDroppableSet, Ht = (e, t) => !t.entities.draggingMap.has(e), Gt = (e, t) => ![...t.entities.draggingMap.keys()].some(
864
+ (n) => X(n, e)
865
+ ), Kt = (e, t) => t.entities.draggableMap.has(e) ? !xe(e, t) : t.entities.droppableMap.has(e) ? !F(e, t) : !0, j = (e, t) => Ht(e, t) && Gt(e, t) && Kt(e, t), fe = 10;
866
+ function _(e, t) {
870
867
  return Math.hypot(
871
868
  t.x - (e.x + e.width / 2),
872
869
  t.y - (e.y + e.height / 2)
873
870
  );
874
871
  }
875
- function $t(e) {
876
- const t = e.pointer.value?.current ?? { x: 0, y: 0 }, s = document.elementFromPoint(t.x, t.y);
877
- if (!s) return null;
878
- const n = De(e), o = Ve(e), i = [], a = [];
879
- let r = s;
872
+ function Nt(e) {
873
+ const t = e.pointer.value?.current ?? { x: 0, y: 0 }, n = document.elementFromPoint(t.x, t.y);
874
+ if (!n) return null;
875
+ const s = ve(e), a = Ye(e), i = [], o = [];
876
+ let r = n;
880
877
  for (; r; )
881
- (n.has(r) || o.has(r)) && ee(r, e) && (n.has(r) && i.push(r), o.has(r) && a.push(r)), r = r.parentElement;
882
- return i.length === 0 && a.length === 0 ? null : { elements: i, zones: a };
878
+ (s.has(r) || a.has(r)) && j(r, e) && (s.has(r) && i.push(r), a.has(r) && o.push(r)), r = r.parentElement;
879
+ return i.length === 0 && o.length === 0 ? null : { elements: i, zones: o };
883
880
  }
884
881
  const Me = (e) => {
885
- if (!Yt(e)) return { elements: [], zones: [] };
886
- const s = e.pointer.value?.current ?? { x: 0, y: 0 }, n = $t(e);
887
- if (n) {
888
- if (n.elements.length > 0) return n;
889
- const l = n.zones[0];
890
- if (!l) return n;
891
- const u = ke(e);
892
- return { elements: [...De(e)].filter(
893
- (d) => l.contains(d) && ee(d, e)
894
- ).map((d) => ({ el: d, box: X(d) })).filter(
895
- ({ box: d }) => fe(d, u) && Q(d, u) >= de
896
- ).sort((d, m) => O(d.box, s) - O(m.box, s)).map(({ el: d }) => d), zones: n.zones };
882
+ if (!Ft(e)) return { elements: [], zones: [] };
883
+ const n = e.pointer.value?.current ?? { x: 0, y: 0 }, s = Nt(e);
884
+ if (s) {
885
+ if (s.elements.length > 0) return s;
886
+ const c = s.zones[0];
887
+ if (!c) return s;
888
+ const u = Te(e);
889
+ return { elements: [...ve(e)].filter(
890
+ (d) => c.contains(d) && j(d, e)
891
+ ).map((d) => ({ el: d, box: ge(d) })).filter(
892
+ ({ box: d }) => ce(d, u) && ue(d, u) >= fe
893
+ ).sort((d, m) => _(d.box, n) - _(m.box, n)).map(({ el: d }) => d), zones: s.zones };
897
894
  }
898
- const o = ke(e), i = [...De(e)].filter(
899
- (l) => ee(l, e)
900
- ), a = [...Ve(e)].filter(
901
- (l) => ee(l, e)
902
- ), r = i.map((l) => ({ n: l, box: X(l) })).filter(
903
- ({ box: l }) => fe(l, o) && Q(l, o) >= de
904
- ).sort((l, u) => O(l.box, s) - O(u.box, s)).map(({ n: l }) => l), g = a.map((l) => ({ n: l, box: X(l) })).filter(
905
- ({ box: l }) => fe(l, o) && Q(l, o) >= de
906
- ).sort((l, u) => O(l.box, s) - O(u.box, s)).map(({ n: l }) => l);
895
+ const a = Te(e), i = [...ve(e)].filter(
896
+ (c) => j(c, e)
897
+ ), o = [...Ye(e)].filter(
898
+ (c) => j(c, e)
899
+ ), r = i.map((c) => ({ n: c, box: ge(c) })).filter(
900
+ ({ box: c }) => ce(c, a) && ue(c, a) >= fe
901
+ ).sort((c, u) => _(c.box, n) - _(u.box, n)).map(({ n: c }) => c), g = o.map((c) => ({ n: c, box: ge(c) })).filter(
902
+ ({ box: c }) => ce(c, a) && ue(c, a) >= fe
903
+ ).sort((c, u) => _(c.box, n) - _(u.box, n)).map(({ n: c }) => c);
907
904
  return { elements: r, zones: g };
908
905
  };
909
906
  function we(e) {
910
- if (e.collision?.run) {
911
- const s = e.collision.run(e);
912
- ae(e, e.hovered, s);
913
- return;
914
- }
915
907
  const t = Me(e);
916
- ae(e, e.hovered, t);
908
+ De(e, e.hovered, t);
917
909
  }
918
- function qt(e, t) {
919
- const s = e.collision?.throttle?.value ?? 0;
920
- if (s <= 0) {
910
+ function Vt(e, t) {
911
+ const n = e.collision?.throttle?.value ?? 0;
912
+ if (n <= 0) {
921
913
  we(e);
922
914
  return;
923
915
  }
924
- const n = Date.now();
925
- n - t.value >= s && (t.value = n, we(e));
916
+ const s = Date.now();
917
+ s - t.value >= n && (t.value = s, we(e));
926
918
  }
927
- async function $e(e) {
919
+ async function Xe(e) {
928
920
  const t = e.hovered.droppable.keys().next().value;
929
- if (!t || G(t, e)) return "accept";
930
- const s = e.entities.droppableMap.get(t), n = A(e, t), o = s?.events?.onDrop?.(n);
931
- if (o != null && typeof o.then == "function") {
921
+ if (!t || F(t, e)) return "accept";
922
+ const n = e.entities.droppableMap.get(t), s = A(e, t);
923
+ let a = s;
924
+ if (n?.groupMatch === "some" && (n.groups?.length ?? 0) > 0) {
925
+ const r = n.groups, g = s.draggedItems.filter((u) => {
926
+ for (const [, l] of e.entities.draggingMap) {
927
+ const f = l.payload?.();
928
+ if (!(!Array.isArray(f) || f.length < 2) && Number(f[0]) === u.index && f[1] === u.items)
929
+ return se(l.groups ?? [], r);
930
+ }
931
+ return !0;
932
+ }), c = s.draggedItems.filter(
933
+ (u) => !g.includes(u)
934
+ );
935
+ if (c.length > 0) {
936
+ const u = (l) => ({
937
+ ...s,
938
+ draggedItems: l,
939
+ helpers: Ve({ ...s, draggedItems: l })
940
+ });
941
+ if (n.events?.onValidate) {
942
+ const l = n.events.onValidate({
943
+ validItems: g,
944
+ invalidItems: c,
945
+ dropZone: s.dropZone,
946
+ hoveredDraggable: s.hoveredDraggable
947
+ }), f = l != null && typeof l.then == "function";
948
+ let d;
949
+ if (f) {
950
+ e.state.value = "pending";
951
+ try {
952
+ d = await l;
953
+ } catch {
954
+ const h = e.entities.initiatingDraggable;
955
+ return P(e, h, "onSelfDragCancel"), M(e, "onDragCancel"), Se(e, e.hovered), "cancel";
956
+ }
957
+ } else
958
+ d = l;
959
+ if (d === !1)
960
+ return e.state.value = "dragging", "decline";
961
+ const m = Array.isArray(d) ? d : g;
962
+ if (m.length === 0) return "accept";
963
+ a = u(m);
964
+ } else {
965
+ if (g.length === 0) return "accept";
966
+ a = u(g);
967
+ }
968
+ }
969
+ }
970
+ const i = n?.events?.onDrop?.(a);
971
+ if (i != null && typeof i.then == "function") {
932
972
  e.state.value = "pending";
933
- let a;
973
+ let r;
934
974
  try {
935
- a = await o;
975
+ r = await i;
936
976
  } catch {
937
- const r = e.entities.initiatingDraggable;
938
- return F(e, r, "onSelfDragCancel"), x(e, "onDragCancel"), Xe(e, e.hovered), "cancel";
977
+ const g = e.entities.initiatingDraggable;
978
+ return P(e, g, "onSelfDragCancel"), M(e, "onDragCancel"), Se(e, e.hovered), "cancel";
939
979
  }
940
- return a === !1 ? (e.state.value = "dragging", "decline") : "accept";
980
+ return r === !1 ? (e.state.value = "dragging", "decline") : "accept";
941
981
  }
942
- return o === !1 ? "decline" : "accept";
982
+ return i === !1 ? "decline" : "accept";
943
983
  }
944
- function qe(e) {
984
+ function Ze(e) {
945
985
  const t = e.entities.initiatingDraggable;
946
- F(e, t, "onSelfDragEnd"), x(e, "onDragEnd"), Tt(e, e.hovered);
986
+ P(e, t, "onSelfDragEnd"), M(e, "onDragEnd"), kt(e, e.hovered);
947
987
  }
948
- function Wt(e) {
988
+ function Yt(e) {
949
989
  const t = e.entities.selectingArea;
950
990
  if (!t) return;
951
- const s = e.entities.selectableAreaMap.get(t), n = [...e.entities.selectedSet];
952
- s?.events?.onSelected?.(n);
991
+ const n = e.entities.selectableAreaMap.get(t), s = [...e.entities.selectedSet];
992
+ n?.events?.onSelected?.(s);
953
993
  }
954
- const jt = (e) => {
994
+ const Xt = (e) => {
955
995
  const t = {
956
996
  current: null
957
- }, s = { value: 0 }, n = async () => {
958
- pe(), t.current?.cancel(), t.current = null;
997
+ }, n = { value: 0 }, s = async () => {
998
+ ye(), t.current?.cancel(), t.current = null;
959
999
  const r = e.state.value;
960
1000
  if (r === "dragging") {
961
- const g = await $e(e);
962
- if (g === "accept" && qe(e), g === "accept" || g === "cancel") {
963
- oe(e), document.removeEventListener("pointerup", n), document.removeEventListener("pointermove", o);
1001
+ const g = await Xe(e);
1002
+ if (g === "accept" && Ze(e), g === "accept" || g === "cancel") {
1003
+ te(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", a);
964
1004
  return;
965
1005
  }
966
1006
  return;
967
- } else r === "selecting" && Wt(e);
968
- oe(e), document.removeEventListener("pointerup", n), document.removeEventListener("pointermove", o);
969
- }, o = (r) => {
970
- if (e.pointer.value) {
971
- if (e.pointer.value.current = { x: r.clientX, y: r.clientY }, yt(e)) {
972
- ue(e, r, "onSelfDragStart"), x(e, "onDragStart");
1007
+ } else r === "selecting" && Yt(e);
1008
+ te(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", a);
1009
+ }, a = (r) => {
1010
+ if (e.pointer.value && e.state.value !== "pending") {
1011
+ if (e.pointer.value.current = { x: r.clientX, y: r.clientY }, mt(e)) {
1012
+ le(e, r, "onSelfDragStart"), M(e, "onDragStart");
973
1013
  return;
974
1014
  }
975
1015
  if (e.state.value === "dragging") {
976
- qt(e, s);
1016
+ Vt(e, n);
977
1017
  const g = e.entities.initiatingDraggable;
978
- F(e, g, "onSelfDragMove"), x(e, "onDragMove");
1018
+ P(e, g, "onSelfDragMove"), M(e, "onDragMove");
979
1019
  }
980
- e.state.value === "selecting" && Ue(e);
1020
+ e.state.value === "selecting" && Ge(e);
981
1021
  }
982
1022
  };
983
1023
  return { pointerDown: (r) => {
984
- document.addEventListener("pointerup", n), document.addEventListener("pointermove", o);
985
- const g = r.target, l = g.closest(
986
- _.SELECT_AREA
1024
+ document.addEventListener("pointerup", s), document.addEventListener("pointermove", a);
1025
+ const g = r.target, c = g.closest(
1026
+ z.SELECT_AREA
987
1027
  ), u = g.closest(
988
- _.DRAGGABLE
1028
+ z.DRAGGABLE
989
1029
  );
990
- if (e.entities.modifiersSelectableAreaSet.size > 0 && e.entities.modifiersSelectableAreaSet.has(l)) {
991
- ye(), e.pointer.value = Se(r), e.state.value = "selecting", e.entities.selectingArea = l, e.entities.selectionBase = new Set(e.entities.selectedSet);
1030
+ if (e.entities.modifiersSelectableAreaSet.size > 0 && e.entities.modifiersSelectableAreaSet.has(c)) {
1031
+ be(), e.pointer.value = pe(r), e.state.value = "selecting", e.entities.selectingArea = c, e.entities.selectionBase = new Set(e.entities.selectedSet);
992
1032
  return;
993
1033
  }
994
1034
  if (e.entities.modifiersDraggableSet.size > 0 && e.entities.modifiersDraggableSet.has(u)) {
995
- const c = e.entities.draggableMap.get(u);
996
- if (!Ke(g, u, c?.dragHandle))
1035
+ const l = e.entities.draggableMap.get(u);
1036
+ if (!Fe(g, u, l?.dragHandle))
997
1037
  return;
998
- ye(), e.entities.initiatingDraggable = u;
999
- const f = Ge(r, u);
1000
- e.pointer.value = Se(r, f.x, f.y), c?.activation?.distance || c?.activation?.delay ? (e.state.value = "activating", c?.activation?.delay && (e.delay.startTime = Date.now(), t.current = pt(e, () => {
1001
- se(e), ue(e, r, "onSelfDragStart"), x(e, "onDragStart");
1002
- }))) : (se(e), ue(e, r, "onSelfDragStart"), x(e, "onDragStart"));
1038
+ be(), e.entities.initiatingDraggable = u;
1039
+ const f = _e(r, u);
1040
+ e.pointer.value = pe(r, f.x, f.y), l?.activation?.distance || l?.activation?.delay ? (e.state.value = "activating", l?.activation?.delay && (e.delay.startTime = Date.now(), t.current = ht(e, () => {
1041
+ ee(e), le(e, r, "onSelfDragStart"), M(e, "onDragStart");
1042
+ }))) : (ee(e), le(e, r, "onSelfDragStart"), M(e, "onDragStart"));
1003
1043
  }
1004
- }, pointerUp: n, pointerMove: o, cleanup: () => {
1005
- t.current?.cancel(), document.removeEventListener("pointerup", n), document.removeEventListener("pointermove", o), e.lib.draggableObserver.disconnect(), e.lib.droppableObserver.disconnect(), e.lib.selectableAreaObserver.disconnect(), e.lib.overlaySizeObserver.disconnect();
1044
+ }, pointerUp: s, pointerMove: a, cleanup: () => {
1045
+ t.current?.cancel(), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", a), e.lib.draggableObserver.disconnect(), e.lib.droppableObserver.disconnect(), e.lib.selectableAreaObserver.disconnect(), e.lib.overlaySizeObserver.disconnect();
1006
1046
  } };
1007
- }, Jt = {
1047
+ }, Zt = {
1008
1048
  ArrowUp: { dx: 0, dy: -1 },
1009
1049
  ArrowDown: { dx: 0, dy: 1 },
1010
1050
  ArrowLeft: { dx: -1, dy: 0 },
@@ -1013,167 +1053,167 @@ const jt = (e) => {
1013
1053
  KeyA: { dx: -1, dy: 0 },
1014
1054
  KeyS: { dx: 0, dy: 1 },
1015
1055
  KeyD: { dx: 1, dy: 0 }
1016
- }, Qt = (e) => (t) => {
1017
- const { keys: s } = e.keyboard;
1018
- if (s.pressedKeys.value.add(t.code), e.state.value === "dragging") {
1019
- if (s.forCancel.includes(t.code)) {
1020
- t.preventDefault(), pe(), F(
1056
+ }, Ut = (e) => (t) => {
1057
+ const { keys: n } = e.keyboard;
1058
+ if (console.log(t.code), n.pressedKeys.value.add(t.code), e.state.value === "dragging") {
1059
+ if (n.forCancel.includes(t.code)) {
1060
+ t.preventDefault(), ye(), P(
1021
1061
  e,
1022
1062
  e.entities.initiatingDraggable,
1023
1063
  "onSelfDragCancel"
1024
- ), x(e, "onDragCancel"), Xe(e, e.hovered), oe(e);
1064
+ ), M(e, "onDragCancel"), Se(e, e.hovered), te(e);
1025
1065
  return;
1026
1066
  }
1027
- if (s.forDrop.includes(t.code)) {
1028
- t.preventDefault(), (async () => (await $e(e) && qe(e), pe(), oe(e)))();
1067
+ if (n.forDrop.includes(t.code)) {
1068
+ t.preventDefault(), (async () => (await Xe(e) && Ze(e), ye(), te(e)))();
1029
1069
  return;
1030
1070
  }
1031
- const o = Jt[t.code];
1032
- if (o && s.forMove.includes(t.code) && e.pointer.value) {
1071
+ const a = Zt[t.code];
1072
+ if (a && n.forMove.includes(t.code) && e.pointer.value) {
1033
1073
  t.preventDefault();
1034
- const i = s.forMoveFaster.some(
1035
- (l) => s.pressedKeys.value.has(l)
1036
- ), a = e.keyboard.step * (i ? e.keyboard.moveFaster : 1);
1074
+ const i = n.forMoveFaster.some(
1075
+ (c) => n.pressedKeys.value.has(c)
1076
+ ), o = e.keyboard.step * (i ? e.keyboard.moveFaster : 1);
1037
1077
  e.pointer.value.current = {
1038
- x: e.pointer.value.current.x + o.dx * a,
1039
- y: e.pointer.value.current.y + o.dy * a
1078
+ x: e.pointer.value.current.x + a.dx * o,
1079
+ y: e.pointer.value.current.y + a.dy * o
1040
1080
  };
1041
1081
  const g = (e.collision?.run ?? Me)(e);
1042
- ae(e, e.hovered, g), F(
1082
+ De(e, e.hovered, g), P(
1043
1083
  e,
1044
1084
  e.entities.initiatingDraggable,
1045
1085
  "onSelfDragMove"
1046
- ), x(e, "onDragMove");
1086
+ ), M(e, "onDragMove");
1047
1087
  return;
1048
1088
  }
1049
1089
  return;
1050
1090
  }
1051
- if (s.forDrag.includes(t.code)) {
1052
- const o = document.activeElement;
1053
- if (!o) return;
1054
- const i = o.closest(
1055
- _.DRAGGABLE
1091
+ if (n.forDrag.includes(t.code)) {
1092
+ const a = document.activeElement;
1093
+ if (!a) return;
1094
+ const i = a.closest(
1095
+ z.DRAGGABLE
1056
1096
  );
1057
1097
  if (!i || e.entities.modifiersDraggableSet.size === 0 || !e.entities.modifiersDraggableSet.has(i))
1058
1098
  return;
1059
- const a = e.entities.draggableMap.get(i);
1060
- if (!Ke(o, i, a?.dragHandle, !0))
1099
+ const o = e.entities.draggableMap.get(i);
1100
+ if (!Fe(a, i, o?.dragHandle, !0))
1061
1101
  return;
1062
- t.preventDefault(), ye();
1063
- const r = i.getBoundingClientRect(), g = r.left + r.width / 2, l = r.top + r.height / 2, u = {
1102
+ t.preventDefault(), be();
1103
+ const r = i.getBoundingClientRect(), g = r.left + r.width / 2, c = r.top + r.height / 2, u = {
1064
1104
  clientX: g,
1065
- clientY: l
1105
+ clientY: c
1066
1106
  };
1067
1107
  e.entities.initiatingDraggable = i;
1068
- const c = Ge(u, i);
1069
- e.pointer.value = Se(
1108
+ const l = _e(u, i);
1109
+ e.pointer.value = pe(
1070
1110
  u,
1071
- c.x,
1072
- c.y
1073
- ), se(e);
1111
+ l.x,
1112
+ l.y
1113
+ ), ee(e);
1074
1114
  const d = (e.collision?.run ?? Me)(e);
1075
- ae(e, e.hovered, d), F(e, i, "onSelfDragStart"), x(e, "onDragStart");
1115
+ De(e, e.hovered, d), P(e, i, "onSelfDragStart"), M(e, "onDragStart");
1076
1116
  }
1077
- }, en = (e) => (t) => {
1117
+ }, $t = (e) => (t) => {
1078
1118
  e.keyboard.keys.pressedKeys.value.delete(t.code);
1079
- }, tn = (e) => () => {
1119
+ }, qt = (e) => () => {
1080
1120
  e.keyboard.keys.pressedKeys.value.clear();
1081
- }, me = {
1082
- keyDown: Qt,
1083
- keyUp: en,
1084
- clear: tn
1085
- }, nn = (e) => () => {
1121
+ }, de = {
1122
+ keyDown: Ut,
1123
+ keyUp: $t,
1124
+ clear: qt
1125
+ }, Wt = (e) => () => {
1086
1126
  if (!e.state.value) return;
1087
- const t = e.scrollPosition.x, s = e.scrollPosition.y;
1127
+ const t = e.scrollPosition.x, n = e.scrollPosition.y;
1088
1128
  if (e.scrollPosition.x = window.scrollX, e.scrollPosition.y = window.scrollY, e.lib.rectCache.clear(), e.state.value === "dragging") {
1089
1129
  we(e);
1090
1130
  return;
1091
1131
  }
1092
1132
  if (e.state.value === "selecting" && e.pointer.value) {
1093
- const n = window.scrollX - t, o = window.scrollY - s;
1094
- e.pointer.value.start.x -= n, e.pointer.value.start.y -= o, Ue(e);
1133
+ const s = window.scrollX - t, a = window.scrollY - n;
1134
+ e.pointer.value.start.x -= s, e.pointer.value.start.y -= a, Ge(e);
1095
1135
  }
1096
- }, L = 50, sn = 144, Pe = 1e3 / sn;
1097
- function on(e) {
1136
+ }, E = 50, jt = 144, ke = 1e3 / jt;
1137
+ function Jt(e) {
1098
1138
  return e == null ? {
1099
- top: L,
1100
- right: L,
1101
- bottom: L,
1102
- left: L
1139
+ top: E,
1140
+ right: E,
1141
+ bottom: E,
1142
+ left: E
1103
1143
  } : typeof e == "number" ? {
1104
1144
  top: e,
1105
1145
  right: e,
1106
1146
  bottom: e,
1107
1147
  left: e
1108
1148
  } : {
1109
- top: e.top ?? L,
1110
- right: e.right ?? L,
1111
- bottom: e.bottom ?? L,
1112
- left: e.left ?? L
1149
+ top: e.top ?? E,
1150
+ right: e.right ?? E,
1151
+ bottom: e.bottom ?? E,
1152
+ left: e.left ?? E
1113
1153
  };
1114
1154
  }
1115
- const an = {
1155
+ const Qt = {
1116
1156
  getScrollState(e) {
1117
1157
  return {
1118
1158
  scrollTop: e.scrollTop,
1119
1159
  scrollLeft: e.scrollLeft
1120
1160
  };
1121
1161
  },
1122
- setScroll(e, t, s) {
1123
- e.scrollTop = t, e.scrollLeft = s;
1162
+ setScroll(e, t, n) {
1163
+ e.scrollTop = t, e.scrollLeft = n;
1124
1164
  }
1125
1165
  };
1126
- function We(e, t, s, n = an, o) {
1127
- const { speed: i = 10, disabled: a = !1 } = t, r = on(t.threshold);
1128
- let g = null, l = null, u = null, c = 0, f = 0;
1129
- const d = (b) => {
1130
- o && (o.value = b);
1131
- }, m = (b) => {
1132
- const w = e.value, E = s();
1133
- if (!w || !E || a) {
1166
+ function Ue(e, t, n, s = Qt, a) {
1167
+ const { speed: i = 10, disabled: o = !1 } = t, r = Jt(t.threshold);
1168
+ let g = null, c = null, u = null, l = 0, f = 0;
1169
+ const d = (y) => {
1170
+ a && (a.value = y);
1171
+ }, m = (y) => {
1172
+ const R = e.value, x = n();
1173
+ if (!R || !x || o) {
1134
1174
  d(!1);
1135
1175
  return;
1136
1176
  }
1137
- l || (l = b);
1138
- const $ = b - l;
1139
- if ($ < Pe) {
1177
+ c || (c = y);
1178
+ const Z = y - c;
1179
+ if (Z < ke) {
1140
1180
  g = requestAnimationFrame(m);
1141
1181
  return;
1142
1182
  }
1143
- const p = i * ($ / Pe);
1144
- l = b;
1145
- const { scrollTop: v, scrollLeft: Z } = n.getScrollState(w);
1146
- (!u || c !== v || f !== Z) && (u = n.getRect ? n.getRect(w) : w.getBoundingClientRect(), c = v, f = Z);
1147
- let z = !1, le = v, ce = Z;
1148
- r.top > 0 && E.y - u.top < r.top ? (le = v - p, z = !0) : r.bottom > 0 && u.bottom - E.y < r.bottom && (le = v + p, z = !0), r.left > 0 && E.x - u.left < r.left ? (ce = Z - p, z = !0) : r.right > 0 && u.right - E.x < r.right && (ce = Z + p, z = !0), z && n.setScroll(w, le, ce), d(z), g = requestAnimationFrame(m);
1183
+ const p = i * (Z / ke);
1184
+ c = y;
1185
+ const { scrollTop: v, scrollLeft: G } = s.getScrollState(R);
1186
+ (!u || l !== v || f !== G) && (u = s.getRect ? s.getRect(R) : R.getBoundingClientRect(), l = v, f = G);
1187
+ let B = !1, oe = v, ie = G;
1188
+ r.top > 0 && x.y - u.top < r.top ? (oe = v - p, B = !0) : r.bottom > 0 && u.bottom - x.y < r.bottom && (oe = v + p, B = !0), r.left > 0 && x.x - u.left < r.left ? (ie = G - p, B = !0) : r.right > 0 && u.right - x.x < r.right && (ie = G + p, B = !0), B && s.setScroll(R, oe, ie), d(B), g = requestAnimationFrame(m);
1149
1189
  };
1150
1190
  return { run: () => {
1151
- l = null, g = requestAnimationFrame(m);
1191
+ c = null, g = requestAnimationFrame(m);
1152
1192
  }, stop: () => {
1153
- g && (cancelAnimationFrame(g), g = null), u = null, c = 0, f = 0, l = null, d(!1);
1193
+ g && (cancelAnimationFrame(g), g = null), u = null, l = 0, f = 0, c = null, d(!1);
1154
1194
  } };
1155
1195
  }
1156
- const rn = {
1196
+ const en = {
1157
1197
  getScrollState() {
1158
1198
  return {
1159
1199
  scrollTop: window.scrollY ?? document.documentElement.scrollTop,
1160
1200
  scrollLeft: window.scrollX ?? document.documentElement.scrollLeft
1161
1201
  };
1162
1202
  },
1163
- setScroll(e, t, s) {
1164
- window.scrollTo(s, t);
1203
+ setScroll(e, t, n) {
1204
+ window.scrollTo(n, t);
1165
1205
  },
1166
1206
  getRect() {
1167
1207
  return new DOMRect(0, 0, window.innerWidth, window.innerHeight);
1168
1208
  }
1169
- }, ln = {
1209
+ }, tn = {
1170
1210
  get value() {
1171
1211
  return typeof document < "u" ? document.documentElement : null;
1172
1212
  }
1173
1213
  };
1174
- function cn(e, t) {
1175
- const s = te(!1), o = We(
1176
- ln,
1214
+ function nn(e, t) {
1215
+ const n = J(!1), a = Ue(
1216
+ tn,
1177
1217
  t ?? {},
1178
1218
  () => {
1179
1219
  if (e.state.value !== "dragging") return null;
@@ -1183,41 +1223,41 @@ function cn(e, t) {
1183
1223
  y: r.y + g.height / 2
1184
1224
  } : r : null;
1185
1225
  },
1186
- rn,
1187
- s
1188
- ), i = ie(
1226
+ en,
1227
+ n
1228
+ ), i = ne(
1189
1229
  () => e.state.value,
1190
1230
  (r) => {
1191
- r === "dragging" ? o.run() : o.stop();
1231
+ r === "dragging" ? a.run() : a.stop();
1192
1232
  }
1193
- ), a = () => {
1194
- i(), o.stop();
1233
+ ), o = () => {
1234
+ i(), a.stop();
1195
1235
  };
1196
- return Je(a), { isScrolling: s, stop: a };
1236
+ return qe(o), { isScrolling: n, stop: o };
1197
1237
  }
1198
- const gn = (e) => {
1199
- const t = jt(e), s = me.keyDown(e), n = me.keyUp(e), o = me.clear(e), i = nn(e);
1200
- let a = null;
1201
- ie(
1238
+ const sn = (e) => {
1239
+ const t = Xt(e), n = de.keyDown(e), s = de.keyUp(e), a = de.clear(e), i = Wt(e);
1240
+ let o = null;
1241
+ ne(
1202
1242
  e.autoScrollViewport,
1203
1243
  (r) => {
1204
- a?.(), a = null, (r === !0 || r && typeof r == "object") && (a = cn(
1244
+ o?.(), o = null, (r === !0 || r && typeof r == "object") && (o = nn(
1205
1245
  e,
1206
1246
  r === !0 ? {} : r
1207
1247
  ).stop);
1208
1248
  },
1209
1249
  { immediate: !0 }
1210
- ), U(() => {
1211
- document.addEventListener("pointerdown", t.pointerDown), document.addEventListener("keydown", s), document.addEventListener("keyup", n), document.addEventListener("blur", o), document.addEventListener("scroll", i, !0);
1212
- }), V(() => {
1213
- document.removeEventListener("pointerdown", t.pointerDown), document.removeEventListener("pointerup", t.pointerUp), document.removeEventListener("pointermove", t.pointerMove), document.removeEventListener("keydown", s), document.removeEventListener("keyup", n), document.removeEventListener("blur", o), document.removeEventListener("scroll", i, !0), a?.(), t.cleanup();
1250
+ ), V(() => {
1251
+ document.addEventListener("pointerdown", t.pointerDown), document.addEventListener("keydown", n), document.addEventListener("keyup", s), document.addEventListener("blur", a), document.addEventListener("scroll", i, !0);
1252
+ }), Y(() => {
1253
+ document.removeEventListener("pointerdown", t.pointerDown), document.removeEventListener("pointerup", t.pointerUp), document.removeEventListener("pointermove", t.pointerMove), document.removeEventListener("keydown", n), document.removeEventListener("keyup", s), document.removeEventListener("blur", a), document.removeEventListener("scroll", i, !0), o?.(), t.cleanup();
1214
1254
  });
1215
- }, re = () => {
1216
- const e = Oe(ve);
1255
+ }, ae = () => {
1256
+ const e = Pe(Ae);
1217
1257
  if (!e) throw Error("DnD provider not found");
1218
1258
  return e;
1219
- }, je = () => {
1220
- const e = re();
1259
+ }, $e = () => {
1260
+ const e = ae();
1221
1261
  return {
1222
1262
  overlay: e.overlay,
1223
1263
  delay: e.delay,
@@ -1231,20 +1271,20 @@ const gn = (e) => {
1231
1271
  collision: e.collision,
1232
1272
  autoScrollViewport: e.autoScrollViewport
1233
1273
  };
1234
- }, un = /* @__PURE__ */ Fe({
1274
+ }, an = /* @__PURE__ */ Be({
1235
1275
  __name: "DefaultOverlay",
1236
1276
  setup(e) {
1237
- const { entities: t, state: s, overlay: n } = je();
1238
- return (o, i) => k(s) === "dragging" ? (C(), J("div", {
1277
+ const { entities: t, state: n, overlay: s } = $e();
1278
+ return (a, i) => N(n) === "dragging" ? (L(), W("div", {
1239
1279
  key: 0,
1240
1280
  class: "dnd-kit-default-overlay",
1241
1281
  style: Le({
1242
- "--position-x": k(n).position.value.x + "px",
1243
- "--position-y": k(n).position.value.y + "px"
1282
+ "--position-x": N(s).position.value.x + "px",
1283
+ "--position-y": N(s).position.value.y + "px"
1244
1284
  })
1245
1285
  }, [
1246
- (C(!0), J(he, null, Qe(k(t).draggingMap, ([a, r]) => (C(), J(he, null, [
1247
- k(t).draggableMap.get(a)?.render ? (C(), ne(be(k(t).draggableMap.get(a)?.render), { key: 0 })) : (C(), ne(be(a.tagName), {
1286
+ (L(!0), W(me, null, We(N(t).draggingMap, ([o, r]) => (L(), W(me, null, [
1287
+ r.render ? (L(), Q(he(r.render), { key: 0 })) : (L(), Q(he(o.tagName), {
1248
1288
  key: 1,
1249
1289
  innerHTML: r.initialOuterHTML,
1250
1290
  style: Le({
@@ -1253,9 +1293,9 @@ const gn = (e) => {
1253
1293
  })
1254
1294
  }, null, 8, ["innerHTML", "style"]))
1255
1295
  ], 64))), 256))
1256
- ], 4)) : et("", !0);
1296
+ ], 4)) : je("", !0);
1257
1297
  }
1258
- }), hn = /* @__PURE__ */ Fe({
1298
+ }), rn = /* @__PURE__ */ Be({
1259
1299
  __name: "DnDProvider",
1260
1300
  props: {
1261
1301
  autoScrollViewport: { type: [Object, Boolean, null] },
@@ -1264,81 +1304,81 @@ const gn = (e) => {
1264
1304
  class: {}
1265
1305
  },
1266
1306
  setup(e) {
1267
- const t = e, s = tt("overlayRef"), n = vt(s, t);
1268
- gn(n);
1269
- const o = y(
1270
- () => n.overlay.render.value ?? un
1307
+ const t = e, n = Je("overlayRef"), s = Dt(n, t);
1308
+ sn(s);
1309
+ const a = b(
1310
+ () => s.overlay.render.value ?? an
1271
1311
  );
1272
- return nt(ve, n), (i, a) => (C(), J(he, null, [
1273
- Ce(i.$slots, "default"),
1274
- (C(), ne(st, {
1275
- to: k(n).overlay.to.value || "body"
1312
+ return Qe(Ae, s), (i, o) => (L(), W(me, null, [
1313
+ Ie(i.$slots, "default"),
1314
+ (L(), Q(et, {
1315
+ to: N(s).overlay.to.value || "body"
1276
1316
  }, [
1277
- ot("div", at({
1317
+ tt("div", nt({
1278
1318
  ref_key: "overlayRef",
1279
- ref: s,
1319
+ ref: n,
1280
1320
  class: "dnd-kit-overlay-container"
1281
1321
  }, t), [
1282
- Ce(i.$slots, "overlay", { overlay: o.value }, () => [
1283
- (C(), ne(be(o.value)))
1322
+ Ie(i.$slots, "overlay", { overlay: a.value }, () => [
1323
+ (L(), Q(he(a.value)))
1284
1324
  ])
1285
1325
  ], 16)
1286
1326
  ], 8, ["to"]))
1287
1327
  ], 64));
1288
1328
  }
1289
1329
  });
1290
- function bn(e, t, s) {
1291
- const n = re();
1292
- let o, i, a;
1293
- typeof t == "function" ? (o = {}, i = t) : (o = t ?? {}, i = s);
1294
- const r = y({
1330
+ function ln(e, t, n) {
1331
+ const s = ae();
1332
+ let a, i, o;
1333
+ typeof t == "function" ? (a = {}, i = t) : (a = t ?? {}, i = n);
1334
+ const r = b({
1295
1335
  get() {
1296
- const c = D(e);
1297
- return c ? n.entities.selectedSet.has(c) : !1;
1336
+ const l = S(e);
1337
+ return l ? s.entities.selectedSet.has(l) : !1;
1298
1338
  },
1299
- set(c) {
1300
- const f = D(e);
1301
- f && n.entities.selectedSet[c ? "add" : "delete"](f);
1339
+ set(l) {
1340
+ const f = S(e);
1341
+ f && s.entities.selectedSet[l ? "add" : "delete"](f);
1302
1342
  }
1303
- }), g = y(() => {
1304
- const c = D(e);
1305
- return c ? n.entities.draggingMap.has(c) : !1;
1306
- }), l = y(() => {
1307
- const c = D(e);
1308
- return c ? n.entities.allowedDraggableSet.has(c) : !1;
1309
- }), u = y(() => {
1310
- const c = D(e);
1311
- if (c)
1312
- return n.entities.draggableMap.get(c)?.hoveredPlacement;
1343
+ }), g = b(() => {
1344
+ const l = S(e);
1345
+ return l ? s.entities.draggingMap.has(l) : !1;
1346
+ }), c = b(() => {
1347
+ const l = S(e);
1348
+ return l ? s.entities.allowedDraggableSet.has(l) : !1;
1349
+ }), u = b(() => {
1350
+ const l = S(e);
1351
+ if (l)
1352
+ return s.entities.draggableMap.get(l)?.hoveredPlacement;
1313
1353
  });
1314
- return U(() => {
1315
- a = D(e), a && (a.addEventListener("dragstart", M), a.addEventListener("drag", M), a.addEventListener("dragend", M), a.setAttribute(T.DRAGGABLE, ""), n.lib.draggableObserver.observe(a), n.entities.draggableMap.set(a, {
1316
- render: o.render,
1317
- disabled: o.disabled ?? !1,
1318
- groups: o.groups ?? [],
1319
- modifier: o.modifier,
1320
- events: o.events,
1354
+ return V(() => {
1355
+ o = S(e), o && (o.addEventListener("dragstart", D), o.addEventListener("drag", D), o.addEventListener("dragend", D), o.setAttribute(k.DRAGGABLE, ""), s.lib.draggableObserver.observe(o), s.entities.draggableMap.set(o, {
1356
+ render: a.render,
1357
+ disabled: a.disabled ?? !1,
1358
+ groups: a.groups ?? [],
1359
+ modifier: a.modifier,
1360
+ events: a.events,
1321
1361
  payload: i,
1322
- data: o.data,
1323
- dragHandle: o.dragHandle,
1324
- activation: o.activation,
1325
- placementMargins: o.placementMargins,
1362
+ data: a.data,
1363
+ dragHandle: a.dragHandle,
1364
+ activation: a.activation,
1365
+ placementMargins: a.placementMargins,
1326
1366
  hoveredPlacement: void 0
1327
1367
  }));
1328
- }), V(() => {
1329
- a && (n.lib.draggableObserver.unobserve(a), n.entities.visibleDraggableSet.delete(a), n.entities.draggableMap.delete(a), n.entities.modifiersDraggableSet.delete(a));
1368
+ }), Y(() => {
1369
+ o && (s.lib.draggableObserver.unobserve(o), s.entities.visibleDraggableSet.delete(o), s.entities.draggableMap.delete(o), s.entities.modifiersDraggableSet.delete(o));
1330
1370
  }), {
1331
1371
  selected: r,
1332
1372
  isDragging: g,
1333
- isAllowed: l,
1373
+ isAllowed: c,
1334
1374
  isDragOver: u
1335
1375
  };
1336
1376
  }
1337
- const yn = (e, t) => {
1338
- const s = re(), n = y(() => e.value === s.entities.selectingArea);
1339
- let o = null;
1340
- U(() => {
1341
- o = D(e), o && (o.setAttribute(T.SELECT_AREA, ""), s.lib.selectableAreaObserver.observe(o), s.entities.selectableAreaMap.set(o, {
1377
+ const cn = (e, t) => {
1378
+ const n = ae(), s = b(() => e.value === n.entities.selectingArea);
1379
+ let a = null;
1380
+ V(() => {
1381
+ a = S(e), a && (a.setAttribute(k.SELECT_AREA, ""), n.lib.selectableAreaObserver.observe(a), n.entities.selectableAreaMap.set(a, {
1342
1382
  modifier: t?.modifier ?? {
1343
1383
  keys: ["ControlLeft"],
1344
1384
  method: "every"
@@ -1347,248 +1387,90 @@ const yn = (e, t) => {
1347
1387
  disabled: t?.disabled ?? !1,
1348
1388
  groups: t?.groups ?? []
1349
1389
  }));
1350
- }), V(() => {
1351
- o && (s.lib.selectableAreaObserver.unobserve(o), s.entities.visibleSelectableAreaSet.delete(o), s.entities.modifiersSelectableAreaSet.delete(o), s.entities.selectableAreaMap.delete(o));
1390
+ }), Y(() => {
1391
+ a && (n.lib.selectableAreaObserver.unobserve(a), n.entities.visibleSelectableAreaSet.delete(a), n.entities.modifiersSelectableAreaSet.delete(a), n.entities.selectableAreaMap.delete(a));
1352
1392
  });
1353
- const i = y(() => {
1354
- s.scrollPosition.x, s.scrollPosition.y;
1355
- const a = s.pointer.value;
1356
- return !a || s.state.value !== "selecting" || !o || !n.value ? {} : Bt(a.start, a.current, o);
1393
+ const i = b(() => {
1394
+ n.scrollPosition.x, n.scrollPosition.y;
1395
+ const o = n.pointer.value;
1396
+ return !o || n.state.value !== "selecting" || !a || !s.value ? {} : Mt(o.start, o.current, a);
1357
1397
  });
1358
1398
  return {
1359
- isSelecting: n,
1399
+ isSelecting: s,
1360
1400
  style: i
1361
1401
  };
1362
1402
  };
1363
- function pn(e, t) {
1364
- const s = Oe(ve);
1365
- if (!s) throw Error("DnD provider not found");
1366
- let n = null;
1367
- return U(() => {
1368
- n = D(e), n && (n.setAttribute(T.CONSTRAINT_AREA, ""), s.entities.constraintsAreaMap.set(n, {
1403
+ function gn(e, t) {
1404
+ const n = Pe(Ae);
1405
+ if (!n) throw Error("DnD provider not found");
1406
+ let s = null;
1407
+ return V(() => {
1408
+ s = S(e), s && (s.setAttribute(k.CONSTRAINT_AREA, ""), n.entities.constraintsAreaMap.set(s, {
1369
1409
  axis: t?.axis || "both",
1370
1410
  restrictToArea: t?.restrictToArea || !1
1371
1411
  }));
1372
- }), V(() => {
1373
- n && s.entities.constraintsAreaMap.delete(n);
1412
+ }), Y(() => {
1413
+ s && n.entities.constraintsAreaMap.delete(s);
1374
1414
  }), {};
1375
1415
  }
1376
- function Sn(e, t, s) {
1377
- const n = re();
1378
- let o = null, i, a;
1379
- typeof t == "function" ? (i = {}, a = t) : (i = t ?? {}, a = s);
1380
- const r = y(() => {
1381
- const l = D(e);
1382
- return l ? n.entities.allowedDroppableSet.has(l) : !1;
1383
- }), g = y(() => {
1384
- const l = D(e);
1385
- if (l)
1386
- return n.entities.droppableMap.get(l)?.hoveredPlacement;
1416
+ function un(e, t, n) {
1417
+ const s = ae();
1418
+ let a = null, i, o;
1419
+ typeof t == "function" ? (i = {}, o = t) : (i = t ?? {}, o = n);
1420
+ const r = b(() => {
1421
+ const c = S(e);
1422
+ return c ? s.entities.allowedDroppableSet.has(c) : !1;
1423
+ }), g = b(() => {
1424
+ const c = S(e);
1425
+ if (c)
1426
+ return s.entities.droppableMap.get(c)?.hoveredPlacement;
1387
1427
  });
1388
- return U(() => {
1389
- o = D(e), o && (o.setAttribute(T.DROPPABLE, ""), n.lib.droppableObserver.observe(o), n.entities.droppableMap.set(o, {
1428
+ return V(() => {
1429
+ a = S(e), a && (a.setAttribute(k.DROPPABLE, ""), s.lib.droppableObserver.observe(a), s.entities.droppableMap.set(a, {
1390
1430
  disabled: i.disabled ?? !1,
1391
1431
  groups: i.groups ?? [],
1432
+ groupMatch: i.groupMatch ?? "every",
1392
1433
  events: i.events,
1393
- payload: a,
1434
+ payload: o,
1394
1435
  data: i.data,
1395
1436
  hoveredPlacement: void 0
1396
1437
  }));
1397
- }), V(() => {
1398
- o && (n.lib.droppableObserver.unobserve(o), n.entities.visibleDroppableSet.delete(o), n.entities.droppableMap.delete(o));
1438
+ }), Y(() => {
1439
+ a && (s.lib.droppableObserver.unobserve(a), s.entities.visibleDroppableSet.delete(a), s.entities.droppableMap.delete(a));
1399
1440
  }), {
1400
1441
  isAllowed: r,
1401
1442
  isDragOver: g
1402
1443
  };
1403
1444
  }
1404
- const Dn = (e, t) => {
1405
- const s = je(), n = te(!1), i = We(
1445
+ const fn = (e, t) => {
1446
+ const n = $e(), s = J(!1), i = Ue(
1406
1447
  e,
1407
1448
  t ?? {},
1408
1449
  () => {
1409
- if (s.state.value !== "dragging") return null;
1410
- const a = s.overlay.position.value, r = s.overlay.size.value;
1411
- return a ? r?.width && r?.height ? {
1412
- x: a.x + r.width / 2,
1413
- y: a.y + r.height / 2
1414
- } : a : null;
1450
+ if (n.state.value !== "dragging") return null;
1451
+ const o = n.overlay.position.value, r = n.overlay.size.value;
1452
+ return o ? r?.width && r?.height ? {
1453
+ x: o.x + r.width / 2,
1454
+ y: o.y + r.height / 2
1455
+ } : o : null;
1415
1456
  },
1416
1457
  void 0,
1417
- n
1458
+ s
1418
1459
  );
1419
- return ie(
1420
- () => s.state.value,
1421
- (a) => {
1422
- a === "dragging" ? i.run() : i.stop();
1460
+ return ne(
1461
+ () => n.state.value,
1462
+ (o) => {
1463
+ o === "dragging" ? i.run() : i.stop();
1423
1464
  }
1424
- ), { isScrolling: n };
1465
+ ), { isScrolling: s };
1425
1466
  };
1426
- function Te(e, t) {
1427
- return t <= 0 ? e : Math.round(e / t) * t;
1428
- }
1429
- function Mn(e, t) {
1430
- const s = t && "grid" in t && t.grid != null, n = t ? s ? t.grid : t.gridX : 1, o = t ? s ? t.grid : t.gridY : 1;
1431
- return y(() => {
1432
- const { x: i, y: a } = e.value;
1433
- return {
1434
- x: Te(i, n),
1435
- y: Te(a, o)
1436
- };
1437
- });
1438
- }
1439
- const ze = () => !0, Be = () => 0, fn = "separate", dn = () => {
1440
- const e = {
1441
- filterElements: ze,
1442
- filterZones: ze,
1443
- sortElements: Be,
1444
- sortZones: Be,
1445
- mergeStrategy: fn,
1446
- pickClosestBetweenFirst: !1
1447
- }, t = (n, o, i, a, r, g, l) => {
1448
- const u = a instanceof Set ? a : new Set(a), c = { containerBox: o, pointer: i }, f = e.minOverlapPercent, d = [];
1449
- for (const m of u) {
1450
- if (!r(m, n)) continue;
1451
- const h = X(m);
1452
- if (!l(h, c)) continue;
1453
- const S = Q(h, o);
1454
- if (f !== void 0 && S < f) continue;
1455
- let b = 0;
1456
- for (const w of u)
1457
- w !== m && K(w, m) && b++;
1458
- d.push({
1459
- node: m,
1460
- box: h,
1461
- meta: {
1462
- isPointerInElement: Nt(h, i.x, i.y),
1463
- overlapPercent: S,
1464
- depth: b,
1465
- centerDistance: Zt(
1466
- Y(o),
1467
- Y(h)
1468
- )
1469
- }
1470
- });
1471
- }
1472
- return d.sort((m, h) => g(m, h, c)), d;
1473
- }, s = {
1474
- container(n) {
1475
- return e.container = n, s;
1476
- },
1477
- containerBox(n) {
1478
- return e.containerBox = n, s;
1479
- },
1480
- elements(n) {
1481
- return e.elements = n, s;
1482
- },
1483
- zones(n) {
1484
- return e.zones = n, s;
1485
- },
1486
- filterElements(n) {
1487
- return e.filterElements = n, s;
1488
- },
1489
- filterZones(n) {
1490
- return e.filterZones = n, s;
1491
- },
1492
- collision(n) {
1493
- return e.collision = n, s;
1494
- },
1495
- sortElements(n) {
1496
- return e.sortElements = n, s;
1497
- },
1498
- sortZones(n) {
1499
- return e.sortZones = n, s;
1500
- },
1501
- mergeStrategy(n) {
1502
- return e.mergeStrategy = n, s;
1503
- },
1504
- pickClosestBetweenFirst(n) {
1505
- return e.pickClosestBetweenFirst = n, s;
1506
- },
1507
- minOverlapPercent(n) {
1508
- return e.minOverlapPercent = n, s;
1509
- },
1510
- build() {
1511
- const n = e;
1512
- if (!n.container || !n.elements || !n.zones || !n.collision)
1513
- throw new Error(
1514
- "sensor: container, elements, zones, collision are required"
1515
- );
1516
- return (o) => {
1517
- const i = n.container(o);
1518
- if (!i) return { elements: [], zones: [] };
1519
- const a = n.containerBox ? n.containerBox(o) : X(i), r = o.pointer.value?.current ?? { x: 0, y: 0 }, g = t(
1520
- o,
1521
- a,
1522
- r,
1523
- n.elements(o),
1524
- n.filterElements,
1525
- n.sortElements,
1526
- n.collision
1527
- ), l = t(
1528
- o,
1529
- a,
1530
- r,
1531
- n.zones(o),
1532
- n.filterZones,
1533
- n.sortZones,
1534
- n.collision
1535
- );
1536
- if (n.mergeStrategy === "unified-closest") {
1537
- const u = [
1538
- ...g.map((f) => ({
1539
- node: f.node,
1540
- box: f.box,
1541
- isZone: !1,
1542
- distance: 0
1543
- })),
1544
- ...l.map((f) => ({
1545
- node: f.node,
1546
- box: f.box,
1547
- isZone: !0,
1548
- distance: 0
1549
- }))
1550
- ];
1551
- if (u.length === 0) return { elements: [], zones: [] };
1552
- for (const f of u) {
1553
- const d = Y(f.box);
1554
- f.distance = Math.hypot(
1555
- r.x - d.x,
1556
- r.y - d.y
1557
- );
1558
- }
1559
- const c = u.reduce(
1560
- (f, d) => d.distance < f.distance ? d : f
1561
- );
1562
- return c.isZone ? { elements: [], zones: [c.node] } : { elements: [c.node], zones: [] };
1563
- }
1564
- if (n.pickClosestBetweenFirst && g[0] && l[0]) {
1565
- const u = Y(l[0].box), c = Y(g[0].box), f = Math.hypot(
1566
- r.x - u.x,
1567
- r.y - u.y
1568
- );
1569
- return Math.hypot(
1570
- r.x - c.x,
1571
- r.y - c.y
1572
- ) < f ? { elements: g.map((m) => m.node), zones: [] } : { elements: [], zones: l.map((m) => m.node) };
1573
- }
1574
- return {
1575
- elements: g.map((u) => u.node),
1576
- zones: l.map((u) => u.node)
1577
- };
1578
- };
1579
- }
1580
- };
1581
- return s;
1582
- }, wn = () => dn();
1583
1467
  export {
1584
- hn as DnDProvider,
1585
- wn as createSensor,
1468
+ rn as DnDProvider,
1586
1469
  Me as defaultCollisionDetection,
1587
- Dn as makeAutoScroll,
1588
- pn as makeConstraintArea,
1589
- bn as makeDraggable,
1590
- Sn as makeDroppable,
1591
- yn as makeSelectionArea,
1592
- Mn as makeSnappedOverlayPosition,
1593
- je as useDnDProvider
1470
+ fn as makeAutoScroll,
1471
+ gn as makeConstraintArea,
1472
+ ln as makeDraggable,
1473
+ un as makeDroppable,
1474
+ cn as makeSelectionArea,
1475
+ $e as useDnDProvider
1594
1476
  };