@vue-dnd-kit/core 2.0.8 → 2.0.9

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.
@@ -10,7 +10,15 @@ export declare const getRelativeCoordinates: (event: ICoordinates, container: HT
10
10
  y: number;
11
11
  }) => ICoordinates;
12
12
  /**
13
- * Returns CSS properties for bounded selection box within container
13
+ * Returns CSS properties for a bounded selection box within its container.
14
+ *
15
+ * Uses position: absolute (not fixed) so the rect is placed correctly even when
16
+ * an ancestor element has a CSS transform / will-change / filter — any of those
17
+ * break fixed positioning by creating a new containing block.
18
+ *
19
+ * Coordinates are converted from viewport-space (pointer positions) to
20
+ * container-local space, accounting for the container's own scroll offset so it
21
+ * also works inside scrollable containers.
14
22
  */
15
23
  export declare const getBoundedSelectionArea: (start: ICoordinates, current: ICoordinates, container: HTMLElement | null) => CSSProperties;
16
24
  /**
@@ -1,2 +1,2 @@
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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),R={SELECT_AREA:"data-dnd-kit-select-area",DRAGGABLE:"data-dnd-kit-draggable",DROPPABLE:"data-dnd-kit-droppable",CONSTRAINT_AREA:"data-dnd-kit-constraint-area"},O={SELECT_AREA:`[${R.SELECT_AREA}]`,DRAGGABLE:`[${R.DRAGGABLE}]`,CONSTRAINT_AREA:`[${R.CONSTRAINT_AREA}]`},ge="VueDnDKitProvider",be=(e,t,s,n)=>{const o=new Set;return t.forEach(a=>{const r=e.get(a),i=n?n(a):r?.disabled;if(!r||i)return;const u=r.modifier?.keys,l=r.modifier?.method;if(!u||!l||u.length===0){o.add(a);return}u[l](c=>s.value.has(c))&&o.add(a)}),o};let we="",ze="",Oe="";const D=e=>e.value?e.value instanceof HTMLElement?e.value:e.value.$el:null,G=(e,t)=>e!==t&&e.contains(t),Fe=(e,t)=>!(e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom),ae=()=>{const e=document.body;we=e.style.userSelect,e.style.userSelect="none",window.addEventListener("contextmenu",M),window.addEventListener("selectstart",M),window.addEventListener("touchstart",M),window.addEventListener("touchmove",M)},ie=()=>{const e=document.body;e.style.userSelect=we,e.style.touchAction=ze,e.style.overscrollBehavior=Oe,window.removeEventListener("contextmenu",M),window.removeEventListener("selectstart",M),window.removeEventListener("touchstart",M),window.removeEventListener("touchmove",M)},M=e=>e.preventDefault(),fe=(e,t)=>{if(t.entities.draggableMap.get(e)?.disabled)return!0;for(const n of t.entities.visibleDraggableSet)if(t.entities.draggableMap.get(n)?.disabled&&G(n,e))return!0;return!1},F=(e,t)=>{if(t.entities.droppableMap.get(e)?.disabled)return!0;for(const n of t.entities.visibleDroppableSet)if(t.entities.droppableMap.get(n)?.disabled&&G(n,e))return!0;return!1},de=(e,t)=>{if(!e.length||!t.length)return!0;const s=new Set(t);return e.some(n=>s.has(n))};function _e(e,t,s,n){const o=new Set;for(const i of t.keys()){const u=s.get(i);for(const l of u?.groups??[])o.add(l)}const a=[...o],r=new Set;for(const i of e){const l=n.get(i)?.groups??[];de(a,l)&&r.add(i)}return r}function Ge(e,t,s){const n=new Set;for(const r of t.keys()){const i=s.get(r);for(const u of i?.groups??[])n.add(u)}const o=[...n],a=new Set;for(const r of e){const u=s.get(r)?.groups??[];de(o,u)&&a.add(r)}return a}const te=e=>{const t=new IntersectionObserver(s=>{s.forEach(n=>{const o=n.target;e[n.isIntersecting?"add":"delete"](o)})});return{observe:s=>t.observe(s),unobserve:s=>t.unobserve(s),disconnect:()=>t.disconnect()}},He=e=>{const t=new ResizeObserver(s=>{const n=s[0];if(!n)return;const{width:o,height:a}=n.contentRect;e.value={width:o,height:a}});return{observe:s=>t.observe(s),unobserve:s=>t.unobserve(s),disconnect:()=>t.disconnect()}},Ke=e=>{const t=g.ref(null),s=He(t),n=g.watch(e,a=>{s.disconnect(),a&&s.observe(a)},{immediate:!0});return{overlaySize:t,overlaySizeObserver:{disconnect:()=>{n(),s.disconnect()}}}};function le(e,t=0,s=0){return{start:{x:e.clientX,y:e.clientY},current:{x:e.clientX,y:e.clientY},offset:{x:t,y:s}}}function xe(e,t){const s=t.getBoundingClientRect(),n=s.width>0?(e.clientX-s.left)/s.width:.5,o=s.height>0?(e.clientY-s.top)/s.height:.5;return{x:n,y:o}}function Ae(e,t){return{...t,initialHTML:e.innerHTML,initialRect:e.getBoundingClientRect(),initialOuterHTML:e.outerHTML}}function Ze(e,t,s){e.forEach(n=>{const o=t.get(n);s.set(n,Ae(n,o))}),e.clear()}function Ne(e,t,s){s.clear();const n=t.get(e);s.set(e,Ae(e,n))}function $(e){e.entities.initiatingDraggable&&(e.state.value="dragging",Ue(e.entities.initiatingDraggable,e.entities.selectedSet,e.entities.draggableMap,e.entities.draggingMap))}function Ue(e,t,s,n){t.has(e)?Ze(t,s,n):(t.clear(),Ne(e,s,n))}function Ee(e,t,s,n){if(n||!s)return!0;const o=e.closest(s);return o?t.contains(o):!1}function Ye(e,t){if(!e||!t)return 1;const s=Math.abs(e.current.x-e.start.x),n=Math.abs(e.current.y-e.start.y);if(typeof t=="number"){const l=Math.sqrt(s*s+n*n);return Math.min(l/t,1)}const{x:o=0,y:a=0,condition:r="any"}=t;if(o===0&&a===0)return 1;const i=o>0?Math.min(s/o,1):1,u=a>0?Math.min(n/a,1):1;return r==="both"?Math.min(i,u):Math.max(i,u)}function Ce(e,t,s){if(!s)return!0;const n=s.distance!=null,o=s.delay!=null;return!n&&!o?!0:n&&!o?e>=1:!n&&o?t>=1:(s.condition??"both")==="both"?e>=1&&t>=1:e>=1||t>=1}function Xe(e){if(e.state.value!=="activating"||!e.entities.initiatingDraggable)return!1;const t=e.entities.draggableMap.get(e.entities.initiatingDraggable);return Ce(e.distanceProgress.value,e.delay.progress,t?.activation)?($(e),!0):!1}function Ve(e,t){let s=null;const n=()=>{if(e.state.value!=="activating"||!e.entities.initiatingDraggable){s=null;return}const o=e.entities.draggableMap.get(e.entities.initiatingDraggable),a=o?.activation?.delay;if(!a){s=null;return}e.delay.progress=Math.min((Date.now()-e.delay.startTime)/(a*1e3),1),Ce(e.distanceProgress.value,e.delay.progress,o?.activation)?(t(),s=null):s=requestAnimationFrame(n)};return s=requestAnimationFrame(n),{cancel:()=>{s!==null&&(cancelAnimationFrame(s),s=null)}}}function $e(e,t){const s=e.closest(O.CONSTRAINT_AREA);return!s||!t.has(s)?null:{element:s,entity:t.get(s)}}function qe(e,t,s,n){return s==="x"?{x:e,y:n.top}:s==="y"?{x:n.left,y:t}:{x:e,y:t}}function je(e,t,s,n,o){let a=e,r=t;return s!=="y"&&(a=Math.max(n.left,Math.min(n.right-o.width,e))),s!=="x"&&(r=Math.max(n.top,Math.min(n.bottom-o.height,t))),{x:a,y:r}}function We(e,t,s,n,o){if(!e||!t)return{x:0,y:0};const a=t.getBoundingClientRect(),r=a.width||o?.width||0,i=a.height||o?.height||0;let u=e.current.x-r*e.offset.x,l=e.current.y-i*e.offset.y;if(!s)return{x:u,y:l};const f=$e(s,n);if(!f)return{x:u,y:l};const{element:c,entity:d}=f,m=c.getBoundingClientRect(),h=s.getBoundingClientRect(),b=qe(u,l,d.axis||"both",h);return d.restrictToArea?je(b.x,b.y,d.axis||"both",m,a):b}const K={forDrag:["Enter","Space"],forCancel:["Escape"],forDrop:["Enter","Space"],forMove:["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","KeyW","KeyA","KeyS","KeyD"],forMoveFaster:["ShiftLeft","ShiftRight"]};function Je(e,t){const s=g.shallowRef(),n=g.ref(),a={keys:{pressedKeys:g.ref(new Set),forDrag:[...K.forDrag],forCancel:[...K.forCancel],forDrop:[...K.forDrop],forMove:[...K.forMove],forMoveFaster:[...K.forMoveFaster]},step:8,moveFaster:4},r=g.reactive({draggableMap:new Map,droppableMap:new Map,selectableAreaMap:new Map,constraintsAreaMap:new Map,initiatingDraggable:void 0,selectingArea:void 0,draggingMap:new Map,selectedSet:new Set,allowedDroppableSet:g.computed(()=>s.value?_e(r.visibleDroppableSet,r.draggingMap,r.draggableMap,r.droppableMap):new Set),allowedDraggableSet:g.computed(()=>s.value?Ge(r.visibleDraggableSet,r.draggingMap,r.draggableMap):new Set),modifiersSelectableAreaSet:g.computed(()=>be(r.selectableAreaMap,r.visibleSelectableAreaSet,a.keys.pressedKeys)),modifiersDraggableSet:g.computed(()=>be(r.draggableMap,r.visibleDraggableSet,a.keys.pressedKeys,w=>fe(w,{entities:r}))),visibleDraggableSet:new Set,visibleDroppableSet:new Set,visibleSelectableAreaSet:new Set}),i=g.reactive({draggable:new Map,droppable:new Map}),u={throttle:g.shallowRef(0)},l=g.reactive({x:window.scrollX,y:window.scrollY}),f=g.reactive({progress:0,startTime:0}),c=g.computed(()=>{if(!n.value||!r.initiatingDraggable)return 0;const w=r.draggableMap.get(r.initiatingDraggable)?.activation?.distance;return w?Ye(n.value,w):1}),d=te(r.visibleDraggableSet),m=te(r.visibleDroppableSet),h=te(r.visibleSelectableAreaSet),{overlaySize:b,overlaySizeObserver:S}=Ke(e),y=g.ref(),v=g.computed(()=>{const p=r.initiatingDraggable;return We(n.value,e.value,p||null,r.constraintsAreaMap,b.value)}),E=g.computed({get:()=>t?.overlayTo,set:p=>E.value=p}),U=g.computed(()=>t?.autoScrollViewport);return{state:s,pointer:n,entities:r,keyboard:a,scrollPosition:l,delay:f,distanceProgress:c,hovered:i,collision:u,overlay:{size:b,position:v,render:y,ref:e,to:E},lib:{draggableObserver:d,droppableObserver:m,selectableAreaObserver:h,overlaySizeObserver:S,rectCache:new Map},autoScrollViewport:U}}const q=e=>{const t=e.hovered.draggable.keys().next().value;if(t){const n=e.entities.draggableMap.get(t);n&&(n.hoveredPlacement=void 0)}const s=e.hovered.droppable.keys().next().value;if(s){const n=e.entities.droppableMap.get(s);n&&(n.hoveredPlacement=void 0)}e.lib.rectCache.clear(),e.pointer.value=void 0,e.state.value=void 0,e.entities.selectingArea=void 0,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()};function L(e,t,s){const n=Math.max(0,Math.min(t,e.length));return[...e.slice(0,n),...s,...e.slice(n)]}function me(e,t,s=1){const n=Math.max(0,Math.min(t,e.length-1)),o=Math.max(0,Math.min(s,e.length-n));return[...e.slice(0,n),...e.slice(n+o)]}function _(e,t){const s=[...new Set(t)].filter(o=>o>=0&&o<e.length).sort((o,a)=>a-o);let n=e;for(const o of s)n=me(n,o,1);return n}function Le(e,t,s){if(t===s||t<0||s<0||t>=e.length||s>=e.length)return e;const n=[...e];return[n[t],n[s]]=[n[s],n[t]],n}const k={getInsertSide(e,t){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},isAtZoneStart(e,t){return k.getInsertSide(e,t)==="before"&&!e?.center},isAtZoneEnd(e,t){return k.getInsertSide(e,t)==="after"&&!e?.center}};function ke(e,t){const{draggedItems:s,dropZone:n,hoveredDraggable:o}=e;if(!s.length)return null;const a=o?.placement.center===!0&&n!=null&&n.items!==o.items,r=a?n.items:o?.items??n?.items;if(!r)return null;const i=s[0].items,u=s.map(d=>d.index),l=r.length;let f,c;if(o&&!a){const d=o.items===i&&u.includes(o.index);if(d&&s.length===1){const m=k.isAtZoneStart(n?.placement,t);f=m?0:l,c=m?"prepend":"append"}else{if(d)return null;{const m=k.getInsertSide(o.placement,t),h=o.index;m==="before"?(f=Math.max(0,h),c="insert"):m==="after"?(f=Math.min(l,h+1),c="insert"):(f=l,c="append")}}}else{if(!n)return null;const d=k.isAtZoneStart(n.placement,t);f=d?0:l,c=d?"prepend":"append"}return{targetIndex:f,mode:c,targetArr:r}}function Qe(e,t="vertical"){const{draggedItems:s}=e;if(!s.length)return null;const n=ke(e,t);if(!n)return null;const{targetArr:o,mode:a}=n;let{targetIndex:r}=n;const i=s.map(c=>c.index),u=s.map(c=>c.item),l=s[0].items;if(l===o){const c=i.filter(m=>m<r).length;r=Math.max(0,r-c);const d=L(_(l,i),r,u);return{sourceItems:d,targetItems:d,draggedItems:u,sourceIndexes:i,targetIndex:r,mode:a,sameList:!0}}else{const c=_(l,i),d=L(o,r,u);return{sourceItems:c,targetItems:d,draggedItems:u,sourceIndexes:i,targetIndex:r,mode:a,sameList:!1}}}function et(e){const{draggedItems:t,hoveredDraggable:s}=e;if(!t.length||!s)return null;const n=t.map(f=>f.index),o=s.index,a=t.map(f=>f.item),r=s.item,i=t[0].items,u=s.items,l=i===u;if(l&&n.includes(o))return null;if(t.length===1){const f=n[0];if(l){const c=Le(i,f,o);return{sourceItems:c,targetItems:c,sourceIndexes:n,targetIndex:o,sameList:!0}}else{const c=[...i],d=[...u];return c[f]=u[o],d[o]=i[f],{sourceItems:c,targetItems:d,sourceIndexes:n,targetIndex:o,sameList:!1}}}else{const f=Math.min(...n);if(l){const c=n.filter(y=>y<o).length,d=Math.max(0,o-c),m=n.filter(y=>y<f).length,h=Math.max(0,f-m);let b=_(i,n);b=L(b,d,a);const S=h>=d?h+a.length:h;return b=L(b,S,[r]),{sourceItems:b,targetItems:b,sourceIndexes:n,targetIndex:d,sameList:!0}}else{const c=n.filter(b=>b<f).length,d=Math.max(0,f-c);let m=_(i,n);m=L(m,d,[r]);let h=me(u,o);return h=L(h,o,a),{sourceItems:m,targetItems:h,sourceIndexes:n,targetIndex:o,sameList:!1}}}}function tt(e,t="vertical"){const{draggedItems:s}=e;if(!s.length)return null;const n=ke(e,t);if(!n)return null;const{targetArr:o,targetIndex:a,mode:r}=n,i=s.map(l=>l.item);return{targetItems:L(o,a,i),copiedItems:i,targetIndex:a,mode:r}}function nt(e){const{draggedItems:t}=e;if(!t.length)return null;const s=t.map(r=>r.index),n=t.map(r=>r.item),o=t[0].items;return{sourceItems:_(o,s),removedItems:n,sourceIndexes:s}}function st(e){return{insertAt:L,removeAt:me,removeIndexes:_,swapAt:Le,getInsertSide:(t,s)=>k.getInsertSide(t,s),isAtZoneStart:(t,s)=>k.isAtZoneStart(t,s),isAtZoneEnd:(t,s)=>k.isAtZoneEnd(t,s),suggestSort:t=>Qe(e,t),suggestSwap:()=>et(e),suggestCopy:t=>tt(e,t),suggestRemove:()=>nt(e)}}const I=e=>e.keys().next().value,ot=e=>e.target.closest(O.DRAGGABLE);function rt(e){const t=e.entities.initiatingDraggable;if(!t)return[];const s=e.entities.draggingMap.get(t)??e.entities.draggableMap.get(t),n=s?.payload;if(!n)return s?.data?[{index:-1,item:void 0,items:[],data:s.data()}]:[];const o=n();if(!Array.isArray(o)||o.length<2)return[];const[a,r]=o,i=Number(a),u=r,l=new Map;return l.set(i,{index:i,item:u[i],items:u,data:s?.data?.()}),e.entities.draggingMap.forEach((f,c)=>{const d=e.entities.draggableMap.get(c),m=d?.payload;if(!m)return;const h=m();if(!Array.isArray(h)||h.length<2)return;const[b,S]=h;if(S!==u)return;const y=Number(b);l.has(y)||l.set(y,{index:y,item:S[y],items:u,data:d?.data?.()})}),[...l.values()].sort((f,c)=>f.index-c.index)}const A=(e,t)=>{const s=rt(e);let n,o;if(t){const a=e.entities.droppableMap.get(t);if(a){const u=a.payload;n={items:u?u():[],placement:e.hovered.droppable.get(t),data:a.data?.()}}const r=I(e.hovered.draggable);if(r&&(r===t||t.contains(r))&&r){const u=e.entities.draggableMap.get(r),l=u?.payload,f=e.hovered.draggable.get(r),c={top:!1,right:!1,bottom:!1,left:!1,center:!1};if(l){const d=l();if(Array.isArray(d)&&d.length>=2){const[m,h]=d,b=Number(m);o={element:r,placement:f??c,index:b,item:h[b],items:h,data:u?.data?.()}}}else u?.data&&(o={element:r,placement:f??c,index:-1,item:void 0,items:[],data:u.data()})}}return{draggedItems:s,dropZone:n,hoveredDraggable:o,provider:e,helpers:st({draggedItems:s,dropZone:n,hoveredDraggable:o})}},z=(e,t,s)=>{if(!t)return;const n=e.entities.draggingMap.get(t)??e.entities.draggableMap.get(t);!n||n.disabled||n.events?.[s]?.(A(e))},x=(e,t)=>{const s=A(e);e.entities.draggingMap.forEach(n=>{n.disabled||n.events?.[t]?.(s)})},at=(e,t,s)=>{if(t!==s){if(t&&!F(t,e)){const n=A(e,t);e.entities.droppableMap.get(t)?.events?.onLeave?.(n)}if(s&&!F(s,e)){const n=A(e,s);e.entities.droppableMap.get(s)?.events?.onEnter?.(n)}}},it=(e,t,s)=>{if(t!==s){const n=A(e);if(t){const o=e.entities.draggableMap.get(t);o&&!o.disabled&&o.events?.onLeave?.(n)}if(s){const o=e.entities.draggableMap.get(s);o&&!o.disabled&&o.events?.onHover?.(n)}}},ne=(e,t,s)=>{const n=ot(t);!n||!e.entities.draggingMap.has(n)||e.entities.draggingMap.get(n)?.events?.[s]?.(A(e))},lt=(e,t)=>{const s=I(t.droppable);s&&!F(s,e)&&e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e,s))},Ie=(e,t)=>{const s=I(t.droppable);s&&!F(s,e)&&e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e,s))};function ct(e){return e.parentElement?.closest(O.SELECT_AREA)??null}const ut=(e,t,s)=>{if(!s)return{};const n=s.getBoundingClientRect(),o=Math.max(n.left,Math.min(e.x,t.x)),a=Math.max(n.top,Math.min(e.y,t.y)),r=Math.min(n.right,Math.max(e.x,t.x)),i=Math.min(n.bottom,Math.max(e.y,t.y)),u=Math.max(0,r-o),l=Math.max(0,i-a);return{left:`${o}px`,top:`${a}px`,width:`${u}px`,height:`${l}px`,position:"fixed",pointerEvents:"none",border:"1px solid #3b82f6",backgroundColor:"#3b82f61a"}},gt=e=>{if(!e.pointer.value||!e.entities.selectingArea)return;const{selectingArea:t}=e.entities,s=ft(e.pointer.value.start,e.pointer.value.current),n=e.entities.selectableAreaMap.get(t)?.groups??[],o=e.lib.rectCache;e.entities.visibleDraggableSet.forEach(a=>{if(a===t||!t.contains(a))return;const r=ct(a);if(r&&r!==t){e.entities.selectedSet.delete(a);return}if(fe(a,e)){e.entities.selectedSet.delete(a);return}const u=e.entities.draggableMap.get(a)?.groups??[];if(!de(n,u)){e.entities.selectedSet.delete(a);return}let l=o.get(a);l||(l=a.getBoundingClientRect(),o.set(a,l)),Fe(s,l)?e.entities.selectedSet.add(a):e.entities.selectedSet.delete(a)})},ft=(e,t)=>{const s=Math.min(e.x,t.x),n=Math.min(e.y,t.y),o=Math.max(e.x,t.x),a=Math.max(e.y,t.y),r=o-s,i=a-n;return new DOMRect(s,n,r,i)},dt=(e,t,s=5)=>{const n=s/2;return{left:e-n,top:t-n,width:s,height:s}},mt=e=>{const t=e.pointer.value?.current,s=t?.x??0,n=t?.y??0;return dt(s,n,5)},B=(e,t,s)=>{const n=e.left+e.width/2,o=e.top+e.height/2;if(s){const i=s.top??0,u=s.right??0,l=s.bottom??0,f=s.left??0,c=t.left+f,d=t.right-u,m=t.top+i,h=t.bottom-l;if(c<d&&m<h&&n>=c&&n<=d&&o>=m&&o<=h)return{top:!1,right:!1,bottom:!1,left:!1,center:!0}}const a=t.left+t.width/2,r=t.top+t.height/2;return{top:o<=r,bottom:o>r,left:n<=a,right:n>a,center:!1}},ht=e=>({x:e.left+e.width/2,y:e.top+e.height/2}),ye=(e,t)=>{const s=ht(t);return Math.hypot(e.x-s.x,e.y-s.y)};function bt(e,t){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}function Y(e,t){bt(e.hoveredPlacement,t)||(e.hoveredPlacement=t)}const yt=(e,t)=>e.find(s=>s!==t&&G(t,s)),j=(e,t,s)=>{const n=I(t.droppable),o=I(t.draggable);o&&t.draggable.delete(o),n&&t.droppable.delete(n);const a=mt(e),r=s.zones[0],i=s.elements[0];if(r&&i&&r===i&&e.entities.droppableMap.has(r)&&r){const c=r.getBoundingClientRect(),d=e.entities.draggableMap.get(r)?.placementMargins,m=B(a,c,d);if(m.center){t.droppable.set(r,m);const h=yt(s.elements,r);if(h){const b=h.getBoundingClientRect();t.draggable.set(h,B(a,b,void 0))}}else t.draggable.set(i,m)}else{if(r){const c=r.getBoundingClientRect();t.droppable.set(r,B(a,c))}if(i)if(r)if(G(r,i)){const c=i.getBoundingClientRect(),d=e.entities.draggableMap.get(i)?.placementMargins;t.draggable.set(i,B(a,c,d))}else{const c=e.pointer.value?.current??{x:0,y:0},d=r.getBoundingClientRect(),m=i.getBoundingClientRect(),h=ye(c,d);if(ye(c,m)<h){t.droppable.clear();const S=e.entities.draggableMap.get(i)?.placementMargins;t.draggable.set(i,B(a,m,S))}}else{const c=i.getBoundingClientRect(),d=e.entities.draggableMap.get(i)?.placementMargins;t.draggable.set(i,B(a,c,d))}}const l=I(t.droppable),f=I(t.draggable);if(o&&o!==f){const c=e.entities.draggableMap.get(o);c&&Y(c,void 0)}if(n&&n!==l){const c=e.entities.droppableMap.get(n);c&&Y(c,void 0)}if(f){const c=e.entities.draggableMap.get(f);c&&Y(c,t.draggable.get(f))}if(l){const c=e.entities.droppableMap.get(l);c&&Y(c,t.droppable.get(l))}at(e,n,l),it(e,o,f)},se=(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,N=e=>{if(!e)return{x:0,y:0,width:0,height:0,top:0,left:0,right:0,bottom:0};const t=e.getBoundingClientRect();return{x:t.x,y:t.y,width:t.width,height:t.height,top:t.top,left:t.left,right:t.right,bottom:t.bottom}},Z=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),pt=(e,t)=>Math.hypot(t.x-e.x,t.y-e.y),X=(e,t)=>{const s=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),n=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y)),o=s*n,a=e.width*e.height,r=t.width*t.height;return a===0||r===0?0:(o/a*100+o/r*100)/2},St=(e,t,s)=>t>=e.x&&t<=e.x+e.width&&s>=e.y&&s<=e.y+e.height,Dt=e=>e.overlay.ref?.value??null,pe=e=>{const t=e.overlay.position?.value??{x:0,y:0},{x:s,y:n}=t,o=e.overlay.size?.value;let a,r;if(o)a=o.width,r=o.height;else{const i=e.overlay.ref?.value?.getBoundingClientRect();a=i?.width??0,r=i?.height??0}return{x:s,y:n,width:a,height:r,top:n,left:s,right:s+a,bottom:n+r}},ce=e=>e.entities.allowedDraggableSet,Re=e=>e.entities.allowedDroppableSet,Mt=(e,t)=>!t.entities.draggingMap.has(e),vt=(e,t)=>![...t.entities.draggingMap.keys()].some(s=>G(s,e)),wt=(e,t)=>t.entities.draggableMap.has(e)?!fe(e,t):t.entities.droppableMap.has(e)?!F(e,t):!0,V=(e,t)=>Mt(e,t)&&vt(e,t)&&wt(e,t),oe=10;function T(e,t){return Math.hypot(t.x-(e.x+e.width/2),t.y-(e.y+e.height/2))}function xt(e){const t=e.pointer.value?.current??{x:0,y:0},s=document.elementFromPoint(t.x,t.y);if(!s)return null;const n=ce(e),o=Re(e),a=[],r=[];let i=s;for(;i;)(n.has(i)||o.has(i))&&V(i,e)&&(n.has(i)&&a.push(i),o.has(i)&&r.push(i)),i=i.parentElement;return a.length===0&&r.length===0?null:{elements:a,zones:r}}const W=e=>{if(!Dt(e))return{elements:[],zones:[]};const s=e.pointer.value?.current??{x:0,y:0},n=xt(e);if(n){if(n.elements.length>0)return n;const l=n.zones[0];if(!l)return n;const f=pe(e);return{elements:[...ce(e)].filter(m=>l.contains(m)&&V(m,e)).map(m=>({el:m,box:N(m)})).filter(({box:m})=>se(m,f)&&X(m,f)>=oe).sort((m,h)=>T(m.box,s)-T(h.box,s)).map(({el:m})=>m),zones:n.zones}}const o=pe(e),a=[...ce(e)].filter(l=>V(l,e)),r=[...Re(e)].filter(l=>V(l,e)),i=a.map(l=>({n:l,box:N(l)})).filter(({box:l})=>se(l,o)&&X(l,o)>=oe).sort((l,f)=>T(l.box,s)-T(f.box,s)).map(({n:l})=>l),u=r.map(l=>({n:l,box:N(l)})).filter(({box:l})=>se(l,o)&&X(l,o)>=oe).sort((l,f)=>T(l.box,s)-T(f.box,s)).map(({n:l})=>l);return{elements:i,zones:u}};function ue(e){if(e.collision?.run){const s=e.collision.run(e);j(e,e.hovered,s);return}const t=W(e);j(e,e.hovered,t)}function At(e,t){const s=e.collision?.throttle?.value??0;if(s<=0){ue(e);return}const n=Date.now();n-t.value>=s&&(t.value=n,ue(e))}async function Pe(e){const t=e.hovered.droppable.keys().next().value;if(!t||F(t,e))return"accept";const s=e.entities.droppableMap.get(t),n=A(e,t),o=s?.events?.onDrop?.(n);if(o!=null&&typeof o.then=="function"){e.state.value="pending";let r;try{r=await o}catch{const i=e.entities.initiatingDraggable;return z(e,i,"onSelfDragCancel"),x(e,"onDragCancel"),Ie(e,e.hovered),"cancel"}return r===!1?(e.state.value="dragging","decline"):"accept"}return o===!1?"decline":"accept"}function Be(e){const t=e.entities.initiatingDraggable;z(e,t,"onSelfDragEnd"),x(e,"onDragEnd"),lt(e,e.hovered)}function Et(e){const t=e.entities.selectingArea;if(!t)return;const s=e.entities.selectableAreaMap.get(t),n=[...e.entities.selectedSet];s?.events?.onSelected?.(n)}const Ct=e=>{const t={current:null},s={value:0},n=async()=>{ie(),t.current?.cancel(),t.current=null;const i=e.state.value;if(i==="dragging"){const u=await Pe(e);if(u==="accept"&&Be(e),u==="accept"||u==="cancel"){q(e),document.removeEventListener("pointerup",n),document.removeEventListener("pointermove",o);return}return}else i==="selecting"&&Et(e);q(e),document.removeEventListener("pointerup",n),document.removeEventListener("pointermove",o)},o=i=>{if(e.pointer.value){if(e.pointer.value.current={x:i.clientX,y:i.clientY},Xe(e)){ne(e,i,"onSelfDragStart"),x(e,"onDragStart");return}if(e.state.value==="dragging"){At(e,s);const u=e.entities.initiatingDraggable;z(e,u,"onSelfDragMove"),x(e,"onDragMove")}e.state.value==="selecting"&&gt(e)}};return{pointerDown:i=>{document.addEventListener("pointerup",n),document.addEventListener("pointermove",o);const u=i.target,l=u.closest(O.SELECT_AREA),f=u.closest(O.DRAGGABLE);if(e.entities.modifiersSelectableAreaSet.size>0&&e.entities.modifiersSelectableAreaSet.has(l)){ae(),e.pointer.value=le(i),e.state.value="selecting",e.entities.selectingArea=l;return}if(e.entities.modifiersDraggableSet.size>0&&e.entities.modifiersDraggableSet.has(f)){const c=e.entities.draggableMap.get(f);if(!Ee(u,f,c?.dragHandle))return;ae(),e.entities.initiatingDraggable=f;const d=xe(i,f);e.pointer.value=le(i,d.x,d.y),c?.activation?.distance||c?.activation?.delay?(e.state.value="activating",c?.activation?.delay&&(e.delay.startTime=Date.now(),t.current=Ve(e,()=>{$(e),ne(e,i,"onSelfDragStart"),x(e,"onDragStart")}))):($(e),ne(e,i,"onSelfDragStart"),x(e,"onDragStart"))}},pointerUp:n,pointerMove:o,cleanup:()=>{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()}}},Lt={ArrowUp:{dx:0,dy:-1},ArrowDown:{dx:0,dy:1},ArrowLeft:{dx:-1,dy:0},ArrowRight:{dx:1,dy:0},KeyW:{dx:0,dy:-1},KeyA:{dx:-1,dy:0},KeyS:{dx:0,dy:1},KeyD:{dx:1,dy:0}},kt=e=>t=>{const{keys:s}=e.keyboard;if(s.pressedKeys.value.add(t.code),e.state.value==="dragging"){if(s.forCancel.includes(t.code)){t.preventDefault(),ie(),z(e,e.entities.initiatingDraggable,"onSelfDragCancel"),x(e,"onDragCancel"),Ie(e,e.hovered),q(e);return}if(s.forDrop.includes(t.code)){t.preventDefault(),(async()=>(await Pe(e)&&Be(e),ie(),q(e)))();return}const o=Lt[t.code];if(o&&s.forMove.includes(t.code)&&e.pointer.value){t.preventDefault();const a=s.forMoveFaster.some(l=>s.pressedKeys.value.has(l)),r=e.keyboard.step*(a?e.keyboard.moveFaster:1);e.pointer.value.current={x:e.pointer.value.current.x+o.dx*r,y:e.pointer.value.current.y+o.dy*r};const u=(e.collision?.run??W)(e);j(e,e.hovered,u),z(e,e.entities.initiatingDraggable,"onSelfDragMove"),x(e,"onDragMove");return}return}if(s.forDrag.includes(t.code)){const o=document.activeElement;if(!o)return;const a=o.closest(O.DRAGGABLE);if(!a||e.entities.modifiersDraggableSet.size===0||!e.entities.modifiersDraggableSet.has(a))return;const r=e.entities.draggableMap.get(a);if(!Ee(o,a,r?.dragHandle,!0))return;t.preventDefault(),ae();const i=a.getBoundingClientRect(),u=i.left+i.width/2,l=i.top+i.height/2,f={clientX:u,clientY:l};e.entities.initiatingDraggable=a;const c=xe(f,a);e.pointer.value=le(f,c.x,c.y),$(e);const m=(e.collision?.run??W)(e);j(e,e.hovered,m),z(e,a,"onSelfDragStart"),x(e,"onDragStart")}},It=e=>t=>{e.keyboard.keys.pressedKeys.value.delete(t.code)},Rt=e=>()=>{e.keyboard.keys.pressedKeys.value.clear()},re={keyDown:kt,keyUp:It,clear:Rt},Pt=e=>()=>{e.state.value&&(e.scrollPosition.x=window.scrollX,e.scrollPosition.y=window.scrollY,e.lib.rectCache.clear(),e.state.value==="dragging"&&ue(e))},C=50,Bt=144,Se=1e3/Bt;function Tt(e){return e==null?{top:C,right:C,bottom:C,left:C}:typeof e=="number"?{top:e,right:e,bottom:e,left:e}:{top:e.top??C,right:e.right??C,bottom:e.bottom??C,left:e.left??C}}const zt={getScrollState(e){return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}},setScroll(e,t,s){e.scrollTop=t,e.scrollLeft=s}};function Te(e,t,s,n=zt,o){const{speed:a=10,disabled:r=!1}=t,i=Tt(t.threshold);let u=null,l=null,f=null,c=0,d=0;const m=y=>{o&&(o.value=y)},h=y=>{const v=e.value,E=s();if(!v||!E||r){m(!1);return}l||(l=y);const U=y-l;if(U<Se){u=requestAnimationFrame(h);return}const p=a*(U/Se);l=y;const{scrollTop:w,scrollLeft:H}=n.getScrollState(v);(!f||c!==w||d!==H)&&(f=n.getRect?n.getRect(v):v.getBoundingClientRect(),c=w,d=H);let P=!1,Q=w,ee=H;i.top>0&&E.y-f.top<i.top?(Q=w-p,P=!0):i.bottom>0&&f.bottom-E.y<i.bottom&&(Q=w+p,P=!0),i.left>0&&E.x-f.left<i.left?(ee=H-p,P=!0):i.right>0&&f.right-E.x<i.right&&(ee=H+p,P=!0),P&&n.setScroll(v,Q,ee),m(P),u=requestAnimationFrame(h)};return{run:()=>{l=null,u=requestAnimationFrame(h)},stop:()=>{u&&(cancelAnimationFrame(u),u=null),f=null,c=0,d=0,l=null,m(!1)}}}const Ot={getScrollState(){return{scrollTop:window.scrollY??document.documentElement.scrollTop,scrollLeft:window.scrollX??document.documentElement.scrollLeft}},setScroll(e,t,s){window.scrollTo(s,t)},getRect(){return new DOMRect(0,0,window.innerWidth,window.innerHeight)}},Ft={get value(){return typeof document<"u"?document.documentElement:null}};function _t(e,t){const s=g.shallowRef(!1),o=Te(Ft,t??{},()=>{if(e.state.value!=="dragging")return null;const i=e.overlay.position.value,u=e.overlay.size.value;return i?u?.width&&u?.height?{x:i.x+u.width/2,y:i.y+u.height/2}:i:null},Ot,s),a=g.watch(()=>e.state.value,i=>{i==="dragging"?o.run():o.stop()}),r=()=>{a(),o.stop()};return g.onScopeDispose(r),{isScrolling:s,stop:r}}const Gt=e=>{const t=Ct(e),s=re.keyDown(e),n=re.keyUp(e),o=re.clear(e),a=Pt(e);let r=null;g.watch(e.autoScrollViewport,i=>{r?.(),r=null,(i===!0||i&&typeof i=="object")&&(r=_t(e,i===!0?{}:i).stop)},{immediate:!0}),g.onMounted(()=>{document.addEventListener("pointerdown",t.pointerDown),document.addEventListener("keydown",s),document.addEventListener("keyup",n),document.addEventListener("blur",o),document.addEventListener("scroll",a,!0)}),g.onBeforeUnmount(()=>{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",a,!0),r?.(),t.cleanup()})},J=()=>{const e=g.inject(ge);if(!e)throw Error("DnD provider not found");return e},he=()=>{const e=J();return{overlay:e.overlay,delay:e.delay,distanceProgress:e.distanceProgress,entities:e.entities,pointer:e.pointer,state:e.state,scrollPosition:e.scrollPosition,keyboard:e.keyboard,hovered:e.hovered,collision:e.collision,autoScrollViewport:e.autoScrollViewport}},Ht=g.defineComponent({__name:"DefaultOverlay",setup(e){const{entities:t,state:s,overlay:n}=he();return(o,a)=>g.unref(s)==="dragging"?(g.openBlock(),g.createElementBlock("div",{key:0,class:"dnd-kit-default-overlay",style:g.normalizeStyle({"--position-x":g.unref(n).position.value.x+"px","--position-y":g.unref(n).position.value.y+"px"})},[(g.openBlock(!0),g.createElementBlock(g.Fragment,null,g.renderList(g.unref(t).draggingMap,([r,i])=>(g.openBlock(),g.createElementBlock(g.Fragment,null,[g.unref(t).draggableMap.get(r)?.render?(g.openBlock(),g.createBlock(g.resolveDynamicComponent(g.unref(t).draggableMap.get(r)?.render),{key:0})):(g.openBlock(),g.createBlock(g.resolveDynamicComponent(r.tagName),{key:1,innerHTML:i.initialOuterHTML,style:g.normalizeStyle({width:i.initialRect.width+"px",height:i.initialRect.height+"px"})},null,8,["innerHTML","style"]))],64))),256))],4)):g.createCommentVNode("",!0)}}),Kt=g.defineComponent({__name:"DnDProvider",props:{autoScrollViewport:{type:[Object,Boolean,null]},overlayTo:{type:[String,Boolean,null]},style:{},class:{}},setup(e){const t=e,s=g.useTemplateRef("overlayRef"),n=Je(s,t);Gt(n);const o=g.computed(()=>n.overlay.render.value??Ht);return g.provide(ge,n),(a,r)=>(g.openBlock(),g.createElementBlock(g.Fragment,null,[g.renderSlot(a.$slots,"default"),(g.openBlock(),g.createBlock(g.Teleport,{to:g.unref(n).overlay.to.value||"body"},[g.createElementVNode("div",g.mergeProps({ref_key:"overlayRef",ref:s,class:"dnd-kit-overlay-container"},t),[g.renderSlot(a.$slots,"overlay",{overlay:o.value},()=>[(g.openBlock(),g.createBlock(g.resolveDynamicComponent(o.value)))])],16)],8,["to"]))],64))}});function Zt(e,t,s){const n=J();let o,a,r;typeof t=="function"?(o={},a=t):(o=t??{},a=s);const i=g.computed({get(){const c=D(e);return c?n.entities.selectedSet.has(c):!1},set(c){const d=D(e);d&&n.entities.selectedSet[c?"add":"delete"](d)}}),u=g.computed(()=>{const c=D(e);return c?n.entities.draggingMap.has(c):!1}),l=g.computed(()=>{const c=D(e);return c?n.entities.allowedDraggableSet.has(c):!1}),f=g.computed(()=>{const c=D(e);if(c)return n.entities.draggableMap.get(c)?.hoveredPlacement});return g.onMounted(()=>{r=D(e),r&&(r.addEventListener("dragstart",M),r.addEventListener("drag",M),r.addEventListener("dragend",M),r.setAttribute(R.DRAGGABLE,""),n.lib.draggableObserver.observe(r),n.entities.draggableMap.set(r,{render:o.render,disabled:o.disabled??!1,groups:o.groups??[],modifier:o.modifier,events:o.events,payload:a,data:o.data,dragHandle:o.dragHandle,activation:o.activation,placementMargins:o.placementMargins,hoveredPlacement:void 0}))}),g.onBeforeUnmount(()=>{r&&(n.lib.draggableObserver.unobserve(r),n.entities.visibleDraggableSet.delete(r),n.entities.draggableMap.delete(r),n.entities.modifiersDraggableSet.delete(r))}),{selected:i,isDragging:u,isAllowed:l,isDragOver:f}}const Nt=(e,t)=>{const s=J(),n=g.computed(()=>e.value===s.entities.selectingArea);let o=null;g.onMounted(()=>{o=D(e),o&&(o.setAttribute(R.SELECT_AREA,""),s.lib.selectableAreaObserver.observe(o),s.entities.selectableAreaMap.set(o,{modifier:t?.modifier??{keys:["ControlLeft"],method:"every"},events:t?.events,disabled:t?.disabled??!1,groups:t?.groups??[]}))}),g.onBeforeUnmount(()=>{o&&(s.lib.selectableAreaObserver.unobserve(o),s.entities.visibleSelectableAreaSet.delete(o),s.entities.modifiersSelectableAreaSet.delete(o),s.entities.selectableAreaMap.delete(o))});const a=g.computed(()=>{s.scrollPosition.x,s.scrollPosition.y;const r=s.pointer.value;return!r||s.state.value!=="selecting"||!o||!n.value?{}:ut(r.start,r.current,o)});return{isSelecting:n,style:a}};function Ut(e,t){const s=g.inject(ge);if(!s)throw Error("DnD provider not found");let n=null;return g.onMounted(()=>{n=D(e),n&&(n.setAttribute(R.CONSTRAINT_AREA,""),s.entities.constraintsAreaMap.set(n,{axis:t?.axis||"both",restrictToArea:t?.restrictToArea||!1}))}),g.onBeforeUnmount(()=>{n&&s.entities.constraintsAreaMap.delete(n)}),{}}function Yt(e,t,s){const n=J();let o=null,a,r;typeof t=="function"?(a={},r=t):(a=t??{},r=s);const i=g.computed(()=>{const l=D(e);return l?n.entities.allowedDroppableSet.has(l):!1}),u=g.computed(()=>{const l=D(e);if(l)return n.entities.droppableMap.get(l)?.hoveredPlacement});return g.onMounted(()=>{o=D(e),o&&(o.setAttribute(R.DROPPABLE,""),n.lib.droppableObserver.observe(o),n.entities.droppableMap.set(o,{disabled:a.disabled??!1,groups:a.groups??[],events:a.events,payload:r,data:a.data,hoveredPlacement:void 0}))}),g.onBeforeUnmount(()=>{o&&(n.lib.droppableObserver.unobserve(o),n.entities.visibleDroppableSet.delete(o),n.entities.droppableMap.delete(o))}),{isAllowed:i,isDragOver:u}}const Xt=(e,t)=>{const s=he(),n=g.shallowRef(!1),a=Te(e,t??{},()=>{if(s.state.value!=="dragging")return null;const r=s.overlay.position.value,i=s.overlay.size.value;return r?i?.width&&i?.height?{x:r.x+i.width/2,y:r.y+i.height/2}:r:null},void 0,n);return g.watch(()=>s.state.value,r=>{r==="dragging"?a.run():a.stop()}),{isScrolling:n}};function De(e,t){return t<=0?e:Math.round(e/t)*t}function Vt(e,t){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;return g.computed(()=>{const{x:a,y:r}=e.value;return{x:De(a,n),y:De(r,o)}})}const Me=()=>!0,ve=()=>0,$t="separate",qt=()=>{const e={filterElements:Me,filterZones:Me,sortElements:ve,sortZones:ve,mergeStrategy:$t,pickClosestBetweenFirst:!1},t=(n,o,a,r,i,u,l)=>{const f=r instanceof Set?r:new Set(r),c={containerBox:o,pointer:a},d=e.minOverlapPercent,m=[];for(const h of f){if(!i(h,n))continue;const b=N(h);if(!l(b,c))continue;const S=X(b,o);if(d!==void 0&&S<d)continue;let y=0;for(const v of f)v!==h&&G(v,h)&&y++;m.push({node:h,box:b,meta:{isPointerInElement:St(b,a.x,a.y),overlapPercent:S,depth:y,centerDistance:pt(Z(o),Z(b))}})}return m.sort((h,b)=>u(h,b,c)),m},s={container(n){return e.container=n,s},containerBox(n){return e.containerBox=n,s},elements(n){return e.elements=n,s},zones(n){return e.zones=n,s},filterElements(n){return e.filterElements=n,s},filterZones(n){return e.filterZones=n,s},collision(n){return e.collision=n,s},sortElements(n){return e.sortElements=n,s},sortZones(n){return e.sortZones=n,s},mergeStrategy(n){return e.mergeStrategy=n,s},pickClosestBetweenFirst(n){return e.pickClosestBetweenFirst=n,s},minOverlapPercent(n){return e.minOverlapPercent=n,s},build(){const n=e;if(!n.container||!n.elements||!n.zones||!n.collision)throw new Error("sensor: container, elements, zones, collision are required");return o=>{const a=n.container(o);if(!a)return{elements:[],zones:[]};const r=n.containerBox?n.containerBox(o):N(a),i=o.pointer.value?.current??{x:0,y:0},u=t(o,r,i,n.elements(o),n.filterElements,n.sortElements,n.collision),l=t(o,r,i,n.zones(o),n.filterZones,n.sortZones,n.collision);if(n.mergeStrategy==="unified-closest"){const f=[...u.map(d=>({node:d.node,box:d.box,isZone:!1,distance:0})),...l.map(d=>({node:d.node,box:d.box,isZone:!0,distance:0}))];if(f.length===0)return{elements:[],zones:[]};for(const d of f){const m=Z(d.box);d.distance=Math.hypot(i.x-m.x,i.y-m.y)}const c=f.reduce((d,m)=>m.distance<d.distance?m:d);return c.isZone?{elements:[],zones:[c.node]}:{elements:[c.node],zones:[]}}if(n.pickClosestBetweenFirst&&u[0]&&l[0]){const f=Z(l[0].box),c=Z(u[0].box),d=Math.hypot(i.x-f.x,i.y-f.y);return Math.hypot(i.x-c.x,i.y-c.y)<d?{elements:u.map(h=>h.node),zones:[]}:{elements:[],zones:l.map(h=>h.node)}}return{elements:u.map(f=>f.node),zones:l.map(f=>f.node)}}}};return s},jt=()=>qt();exports.DnDProvider=Kt;exports.createSensor=jt;exports.defaultCollisionDetection=W;exports.makeAutoScroll=Xt;exports.makeConstraintArea=Ut;exports.makeDraggable=Zt;exports.makeDroppable=Yt;exports.makeSelectionArea=Nt;exports.makeSnappedOverlayPosition=Vt;exports.useDnDProvider=he;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),R={SELECT_AREA:"data-dnd-kit-select-area",DRAGGABLE:"data-dnd-kit-draggable",DROPPABLE:"data-dnd-kit-droppable",CONSTRAINT_AREA:"data-dnd-kit-constraint-area"},O={SELECT_AREA:`[${R.SELECT_AREA}]`,DRAGGABLE:`[${R.DRAGGABLE}]`,CONSTRAINT_AREA:`[${R.CONSTRAINT_AREA}]`},ge="VueDnDKitProvider",be=(e,t,s,n)=>{const o=new Set;return t.forEach(r=>{const a=e.get(r),i=n?n(r):a?.disabled;if(!a||i)return;const u=a.modifier?.keys,l=a.modifier?.method;if(!u||!l||u.length===0){o.add(r);return}u[l](c=>s.value.has(c))&&o.add(r)}),o};let we="",Oe="",Fe="";const D=e=>e.value?e.value instanceof HTMLElement?e.value:e.value.$el:null,G=(e,t)=>e!==t&&e.contains(t),_e=(e,t)=>!(e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom),re=()=>{const e=document.body;we=e.style.userSelect,e.style.userSelect="none",window.addEventListener("contextmenu",v),window.addEventListener("selectstart",v),window.addEventListener("touchstart",v),window.addEventListener("touchmove",v)},ie=()=>{const e=document.body;e.style.userSelect=we,e.style.touchAction=Oe,e.style.overscrollBehavior=Fe,window.removeEventListener("contextmenu",v),window.removeEventListener("selectstart",v),window.removeEventListener("touchstart",v),window.removeEventListener("touchmove",v)},v=e=>e.preventDefault(),fe=(e,t)=>{if(t.entities.draggableMap.get(e)?.disabled)return!0;for(const n of t.entities.visibleDraggableSet)if(t.entities.draggableMap.get(n)?.disabled&&G(n,e))return!0;return!1},F=(e,t)=>{if(t.entities.droppableMap.get(e)?.disabled)return!0;for(const n of t.entities.visibleDroppableSet)if(t.entities.droppableMap.get(n)?.disabled&&G(n,e))return!0;return!1},de=(e,t)=>{if(!e.length||!t.length)return!0;const s=new Set(t);return e.some(n=>s.has(n))};function Ge(e,t,s,n){const o=new Set;for(const i of t.keys()){const u=s.get(i);for(const l of u?.groups??[])o.add(l)}const r=[...o],a=new Set;for(const i of e){const l=n.get(i)?.groups??[];de(r,l)&&a.add(i)}return a}function He(e,t,s){const n=new Set;for(const a of t.keys()){const i=s.get(a);for(const u of i?.groups??[])n.add(u)}const o=[...n],r=new Set;for(const a of e){const u=s.get(a)?.groups??[];de(o,u)&&r.add(a)}return r}const te=e=>{const t=new IntersectionObserver(s=>{s.forEach(n=>{const o=n.target;e[n.isIntersecting?"add":"delete"](o)})});return{observe:s=>t.observe(s),unobserve:s=>t.unobserve(s),disconnect:()=>t.disconnect()}},Ke=e=>{const t=new ResizeObserver(s=>{const n=s[0];if(!n)return;const{width:o,height:r}=n.contentRect;e.value={width:o,height:r}});return{observe:s=>t.observe(s),unobserve:s=>t.unobserve(s),disconnect:()=>t.disconnect()}},Ze=e=>{const t=g.ref(null),s=Ke(t),n=g.watch(e,r=>{s.disconnect(),r&&s.observe(r)},{immediate:!0});return{overlaySize:t,overlaySizeObserver:{disconnect:()=>{n(),s.disconnect()}}}};function le(e,t=0,s=0){return{start:{x:e.clientX,y:e.clientY},current:{x:e.clientX,y:e.clientY},offset:{x:t,y:s}}}function xe(e,t){const s=t.getBoundingClientRect(),n=s.width>0?(e.clientX-s.left)/s.width:.5,o=s.height>0?(e.clientY-s.top)/s.height:.5;return{x:n,y:o}}function Ae(e,t){return{...t,initialHTML:e.innerHTML,initialRect:e.getBoundingClientRect(),initialOuterHTML:e.outerHTML}}function Ne(e,t,s){e.forEach(n=>{const o=t.get(n);s.set(n,Ae(n,o))}),e.clear()}function Ye(e,t,s){s.clear();const n=t.get(e);s.set(e,Ae(e,n))}function $(e){e.entities.initiatingDraggable&&(e.state.value="dragging",Ue(e.entities.initiatingDraggable,e.entities.selectedSet,e.entities.draggableMap,e.entities.draggingMap))}function Ue(e,t,s,n){t.has(e)?Ne(t,s,n):(t.clear(),Ye(e,s,n))}function Ee(e,t,s,n){if(n||!s)return!0;const o=e.closest(s);return o?t.contains(o):!1}function Xe(e,t){if(!e||!t)return 1;const s=Math.abs(e.current.x-e.start.x),n=Math.abs(e.current.y-e.start.y);if(typeof t=="number"){const l=Math.sqrt(s*s+n*n);return Math.min(l/t,1)}const{x:o=0,y:r=0,condition:a="any"}=t;if(o===0&&r===0)return 1;const i=o>0?Math.min(s/o,1):1,u=r>0?Math.min(n/r,1):1;return a==="both"?Math.min(i,u):Math.max(i,u)}function Le(e,t,s){if(!s)return!0;const n=s.distance!=null,o=s.delay!=null;return!n&&!o?!0:n&&!o?e>=1:!n&&o?t>=1:(s.condition??"both")==="both"?e>=1&&t>=1:e>=1||t>=1}function Ve(e){if(e.state.value!=="activating"||!e.entities.initiatingDraggable)return!1;const t=e.entities.draggableMap.get(e.entities.initiatingDraggable);return Le(e.distanceProgress.value,e.delay.progress,t?.activation)?($(e),!0):!1}function $e(e,t){let s=null;const n=()=>{if(e.state.value!=="activating"||!e.entities.initiatingDraggable){s=null;return}const o=e.entities.draggableMap.get(e.entities.initiatingDraggable),r=o?.activation?.delay;if(!r){s=null;return}e.delay.progress=Math.min((Date.now()-e.delay.startTime)/(r*1e3),1),Le(e.distanceProgress.value,e.delay.progress,o?.activation)?(t(),s=null):s=requestAnimationFrame(n)};return s=requestAnimationFrame(n),{cancel:()=>{s!==null&&(cancelAnimationFrame(s),s=null)}}}function qe(e,t){const s=e.closest(O.CONSTRAINT_AREA);return!s||!t.has(s)?null:{element:s,entity:t.get(s)}}function je(e,t,s,n){return s==="x"?{x:e,y:n.top}:s==="y"?{x:n.left,y:t}:{x:e,y:t}}function We(e,t,s,n,o){let r=e,a=t;return s!=="y"&&(r=Math.max(n.left,Math.min(n.right-o.width,e))),s!=="x"&&(a=Math.max(n.top,Math.min(n.bottom-o.height,t))),{x:r,y:a}}function Je(e,t,s,n,o){if(!e||!t)return{x:0,y:0};const r=t.getBoundingClientRect(),a=r.width||o?.width||0,i=r.height||o?.height||0;let u=e.current.x-a*e.offset.x,l=e.current.y-i*e.offset.y;if(!s)return{x:u,y:l};const f=qe(s,n);if(!f)return{x:u,y:l};const{element:c,entity:d}=f,m=c.getBoundingClientRect(),h=s.getBoundingClientRect(),b=je(u,l,d.axis||"both",h);return d.restrictToArea?We(b.x,b.y,d.axis||"both",m,r):b}const K={forDrag:["Enter","Space"],forCancel:["Escape"],forDrop:["Enter","Space"],forMove:["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","KeyW","KeyA","KeyS","KeyD"],forMoveFaster:["ShiftLeft","ShiftRight"]};function Qe(e,t){const s=g.shallowRef(),n=g.ref(),r={keys:{pressedKeys:g.ref(new Set),forDrag:[...K.forDrag],forCancel:[...K.forCancel],forDrop:[...K.forDrop],forMove:[...K.forMove],forMoveFaster:[...K.forMoveFaster]},step:8,moveFaster:4},a=g.reactive({draggableMap:new Map,droppableMap:new Map,selectableAreaMap:new Map,constraintsAreaMap:new Map,initiatingDraggable:void 0,selectingArea:void 0,draggingMap:new Map,selectedSet:new Set,allowedDroppableSet:g.computed(()=>s.value?Ge(a.visibleDroppableSet,a.draggingMap,a.draggableMap,a.droppableMap):new Set),allowedDraggableSet:g.computed(()=>s.value?He(a.visibleDraggableSet,a.draggingMap,a.draggableMap):new Set),modifiersSelectableAreaSet:g.computed(()=>be(a.selectableAreaMap,a.visibleSelectableAreaSet,r.keys.pressedKeys)),modifiersDraggableSet:g.computed(()=>be(a.draggableMap,a.visibleDraggableSet,r.keys.pressedKeys,w=>fe(w,{entities:a}))),visibleDraggableSet:new Set,visibleDroppableSet:new Set,visibleSelectableAreaSet:new Set}),i=g.reactive({draggable:new Map,droppable:new Map}),u={throttle:g.shallowRef(0)},l=g.reactive({x:window.scrollX,y:window.scrollY}),f=g.reactive({progress:0,startTime:0}),c=g.computed(()=>{if(!n.value||!a.initiatingDraggable)return 0;const w=a.draggableMap.get(a.initiatingDraggable)?.activation?.distance;return w?Xe(n.value,w):1}),d=te(a.visibleDraggableSet),m=te(a.visibleDroppableSet),h=te(a.visibleSelectableAreaSet),{overlaySize:b,overlaySizeObserver:S}=Ze(e),y=g.ref(),M=g.computed(()=>{const p=a.initiatingDraggable;return Je(n.value,e.value,p||null,a.constraintsAreaMap,b.value)}),E=g.computed({get:()=>t?.overlayTo,set:p=>E.value=p}),Y=g.computed(()=>t?.autoScrollViewport);return{state:s,pointer:n,entities:a,keyboard:r,scrollPosition:l,delay:f,distanceProgress:c,hovered:i,collision:u,overlay:{size:b,position:M,render:y,ref:e,to:E},lib:{draggableObserver:d,droppableObserver:m,selectableAreaObserver:h,overlaySizeObserver:S,rectCache:new Map},autoScrollViewport:Y}}const q=e=>{const t=e.hovered.draggable.keys().next().value;if(t){const n=e.entities.draggableMap.get(t);n&&(n.hoveredPlacement=void 0)}const s=e.hovered.droppable.keys().next().value;if(s){const n=e.entities.droppableMap.get(s);n&&(n.hoveredPlacement=void 0)}e.lib.rectCache.clear(),e.pointer.value=void 0,e.state.value=void 0,e.entities.selectingArea=void 0,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()};function C(e,t,s){const n=Math.max(0,Math.min(t,e.length));return[...e.slice(0,n),...s,...e.slice(n)]}function me(e,t,s=1){const n=Math.max(0,Math.min(t,e.length-1)),o=Math.max(0,Math.min(s,e.length-n));return[...e.slice(0,n),...e.slice(n+o)]}function _(e,t){const s=[...new Set(t)].filter(o=>o>=0&&o<e.length).sort((o,r)=>r-o);let n=e;for(const o of s)n=me(n,o,1);return n}function Ce(e,t,s){if(t===s||t<0||s<0||t>=e.length||s>=e.length)return e;const n=[...e];return[n[t],n[s]]=[n[s],n[t]],n}const k={getInsertSide(e,t){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},isAtZoneStart(e,t){return k.getInsertSide(e,t)==="before"&&!e?.center},isAtZoneEnd(e,t){return k.getInsertSide(e,t)==="after"&&!e?.center}};function ke(e,t){const{draggedItems:s,dropZone:n,hoveredDraggable:o}=e;if(!s.length)return null;const r=o?.placement.center===!0&&n!=null&&n.items!==o.items,a=r?n.items:o?.items??n?.items;if(!a)return null;const i=s[0].items,u=s.map(d=>d.index),l=a.length;let f,c;if(o&&!r){const d=o.items===i&&u.includes(o.index);if(d&&s.length===1){const m=k.isAtZoneStart(n?.placement,t);f=m?0:l,c=m?"prepend":"append"}else{if(d)return null;{const m=k.getInsertSide(o.placement,t),h=o.index;m==="before"?(f=Math.max(0,h),c="insert"):m==="after"?(f=Math.min(l,h+1),c="insert"):(f=l,c="append")}}}else{if(!n)return null;const d=k.isAtZoneStart(n.placement,t);f=d?0:l,c=d?"prepend":"append"}return{targetIndex:f,mode:c,targetArr:a}}function et(e,t="vertical"){const{draggedItems:s}=e;if(!s.length)return null;const n=ke(e,t);if(!n)return null;const{targetArr:o,mode:r}=n;let{targetIndex:a}=n;const i=s.map(c=>c.index),u=s.map(c=>c.item),l=s[0].items;if(l===o){const c=i.filter(m=>m<a).length;a=Math.max(0,a-c);const d=C(_(l,i),a,u);return{sourceItems:d,targetItems:d,draggedItems:u,sourceIndexes:i,targetIndex:a,mode:r,sameList:!0}}else{const c=_(l,i),d=C(o,a,u);return{sourceItems:c,targetItems:d,draggedItems:u,sourceIndexes:i,targetIndex:a,mode:r,sameList:!1}}}function tt(e){const{draggedItems:t,hoveredDraggable:s}=e;if(!t.length||!s)return null;const n=t.map(f=>f.index),o=s.index,r=t.map(f=>f.item),a=s.item,i=t[0].items,u=s.items,l=i===u;if(l&&n.includes(o))return null;if(t.length===1){const f=n[0];if(l){const c=Ce(i,f,o);return{sourceItems:c,targetItems:c,sourceIndexes:n,targetIndex:o,sameList:!0}}else{const c=[...i],d=[...u];return c[f]=u[o],d[o]=i[f],{sourceItems:c,targetItems:d,sourceIndexes:n,targetIndex:o,sameList:!1}}}else{const f=Math.min(...n);if(l){const c=n.filter(y=>y<o).length,d=Math.max(0,o-c),m=n.filter(y=>y<f).length,h=Math.max(0,f-m);let b=_(i,n);b=C(b,d,r);const S=h>=d?h+r.length:h;return b=C(b,S,[a]),{sourceItems:b,targetItems:b,sourceIndexes:n,targetIndex:d,sameList:!0}}else{const c=n.filter(b=>b<f).length,d=Math.max(0,f-c);let m=_(i,n);m=C(m,d,[a]);let h=me(u,o);return h=C(h,o,r),{sourceItems:m,targetItems:h,sourceIndexes:n,targetIndex:o,sameList:!1}}}}function nt(e,t="vertical"){const{draggedItems:s}=e;if(!s.length)return null;const n=ke(e,t);if(!n)return null;const{targetArr:o,targetIndex:r,mode:a}=n,i=s.map(l=>l.item);return{targetItems:C(o,r,i),copiedItems:i,targetIndex:r,mode:a}}function st(e){const{draggedItems:t}=e;if(!t.length)return null;const s=t.map(a=>a.index),n=t.map(a=>a.item),o=t[0].items;return{sourceItems:_(o,s),removedItems:n,sourceIndexes:s}}function ot(e){return{insertAt:C,removeAt:me,removeIndexes:_,swapAt:Ce,getInsertSide:(t,s)=>k.getInsertSide(t,s),isAtZoneStart:(t,s)=>k.isAtZoneStart(t,s),isAtZoneEnd:(t,s)=>k.isAtZoneEnd(t,s),suggestSort:t=>et(e,t),suggestSwap:()=>tt(e),suggestCopy:t=>nt(e,t),suggestRemove:()=>st(e)}}const I=e=>e.keys().next().value,at=e=>e.target.closest(O.DRAGGABLE);function rt(e){const t=e.entities.initiatingDraggable;if(!t)return[];const s=e.entities.draggingMap.get(t)??e.entities.draggableMap.get(t),n=s?.payload;if(!n)return s?.data?[{index:-1,item:void 0,items:[],data:s.data()}]:[];const o=n();if(!Array.isArray(o)||o.length<2)return[];const[r,a]=o,i=Number(r),u=a,l=new Map;return l.set(i,{index:i,item:u[i],items:u,data:s?.data?.()}),e.entities.draggingMap.forEach((f,c)=>{const d=e.entities.draggableMap.get(c),m=d?.payload;if(!m)return;const h=m();if(!Array.isArray(h)||h.length<2)return;const[b,S]=h;if(S!==u)return;const y=Number(b);l.has(y)||l.set(y,{index:y,item:S[y],items:u,data:d?.data?.()})}),[...l.values()].sort((f,c)=>f.index-c.index)}const A=(e,t)=>{const s=rt(e);let n,o;if(t){const r=e.entities.droppableMap.get(t);if(r){const u=r.payload;n={items:u?u():[],placement:e.hovered.droppable.get(t),data:r.data?.()}}const a=I(e.hovered.draggable);if(a&&(a===t||t.contains(a))&&a){const u=e.entities.draggableMap.get(a),l=u?.payload,f=e.hovered.draggable.get(a),c={top:!1,right:!1,bottom:!1,left:!1,center:!1};if(l){const d=l();if(Array.isArray(d)&&d.length>=2){const[m,h]=d,b=Number(m);o={element:a,placement:f??c,index:b,item:h[b],items:h,data:u?.data?.()}}}else u?.data&&(o={element:a,placement:f??c,index:-1,item:void 0,items:[],data:u.data()})}}return{draggedItems:s,dropZone:n,hoveredDraggable:o,provider:e,helpers:ot({draggedItems:s,dropZone:n,hoveredDraggable:o})}},z=(e,t,s)=>{if(!t)return;const n=e.entities.draggingMap.get(t)??e.entities.draggableMap.get(t);!n||n.disabled||n.events?.[s]?.(A(e))},x=(e,t)=>{const s=A(e);e.entities.draggingMap.forEach(n=>{n.disabled||n.events?.[t]?.(s)})},it=(e,t,s)=>{if(t!==s){if(t&&!F(t,e)){const n=A(e,t);e.entities.droppableMap.get(t)?.events?.onLeave?.(n)}if(s&&!F(s,e)){const n=A(e,s);e.entities.droppableMap.get(s)?.events?.onEnter?.(n)}}},lt=(e,t,s)=>{if(t!==s){const n=A(e);if(t){const o=e.entities.draggableMap.get(t);o&&!o.disabled&&o.events?.onLeave?.(n)}if(s){const o=e.entities.draggableMap.get(s);o&&!o.disabled&&o.events?.onHover?.(n)}}},ne=(e,t,s)=>{const n=at(t);!n||!e.entities.draggingMap.has(n)||e.entities.draggingMap.get(n)?.events?.[s]?.(A(e))},ct=(e,t)=>{const s=I(t.droppable);s&&!F(s,e)&&e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e,s))},Ie=(e,t)=>{const s=I(t.droppable);s&&!F(s,e)&&e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e,s))};function ut(e){return e.parentElement?.closest(O.SELECT_AREA)??null}const gt=(e,t,s)=>{if(!s)return{};const n=s.getBoundingClientRect(),o=Math.max(n.left,Math.min(e.x,t.x)),r=Math.max(n.top,Math.min(e.y,t.y)),a=Math.min(n.right,Math.max(e.x,t.x)),i=Math.min(n.bottom,Math.max(e.y,t.y)),u=Math.max(0,a-o),l=Math.max(0,i-r),f=o-n.left+s.scrollLeft,c=r-n.top+s.scrollTop;return{position:"absolute",left:`${f}px`,top:`${c}px`,width:`${u}px`,height:`${l}px`,pointerEvents:"none",border:"1px solid #3b82f6",backgroundColor:"#3b82f61a"}},Re=e=>{if(!e.pointer.value||!e.entities.selectingArea)return;const{selectingArea:t}=e.entities,s=ft(e.pointer.value.start,e.pointer.value.current),n=e.entities.selectableAreaMap.get(t)?.groups??[],o=e.lib.rectCache;e.entities.visibleDraggableSet.forEach(r=>{if(r===t||!t.contains(r))return;const a=ut(r);if(a&&a!==t){e.entities.selectedSet.delete(r);return}if(fe(r,e)){e.entities.selectedSet.delete(r);return}const u=e.entities.draggableMap.get(r)?.groups??[];if(!de(n,u)){e.entities.selectedSet.delete(r);return}let l=o.get(r);l||(l=r.getBoundingClientRect(),o.set(r,l)),_e(s,l)?e.entities.selectedSet.add(r):e.entities.selectedSet.delete(r)})},ft=(e,t)=>{const s=Math.min(e.x,t.x),n=Math.min(e.y,t.y),o=Math.max(e.x,t.x),r=Math.max(e.y,t.y),a=o-s,i=r-n;return new DOMRect(s,n,a,i)},dt=(e,t,s=5)=>{const n=s/2;return{left:e-n,top:t-n,width:s,height:s}},mt=e=>{const t=e.pointer.value?.current,s=t?.x??0,n=t?.y??0;return dt(s,n,5)},T=(e,t,s)=>{const n=e.left+e.width/2,o=e.top+e.height/2;if(s){const i=s.top??0,u=s.right??0,l=s.bottom??0,f=s.left??0,c=t.left+f,d=t.right-u,m=t.top+i,h=t.bottom-l;if(c<d&&m<h&&n>=c&&n<=d&&o>=m&&o<=h)return{top:!1,right:!1,bottom:!1,left:!1,center:!0}}const r=t.left+t.width/2,a=t.top+t.height/2;return{top:o<=a,bottom:o>a,left:n<=r,right:n>r,center:!1}},ht=e=>({x:e.left+e.width/2,y:e.top+e.height/2}),ye=(e,t)=>{const s=ht(t);return Math.hypot(e.x-s.x,e.y-s.y)};function bt(e,t){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}function U(e,t){bt(e.hoveredPlacement,t)||(e.hoveredPlacement=t)}const yt=(e,t)=>e.find(s=>s!==t&&G(t,s)),j=(e,t,s)=>{const n=I(t.droppable),o=I(t.draggable);o&&t.draggable.delete(o),n&&t.droppable.delete(n);const r=mt(e),a=s.zones[0],i=s.elements[0];if(a&&i&&a===i&&e.entities.droppableMap.has(a)&&a){const c=a.getBoundingClientRect(),d=e.entities.draggableMap.get(a)?.placementMargins,m=T(r,c,d);if(m.center){t.droppable.set(a,m);const h=yt(s.elements,a);if(h){const b=h.getBoundingClientRect();t.draggable.set(h,T(r,b,void 0))}}else t.draggable.set(i,m)}else{if(a){const c=a.getBoundingClientRect();t.droppable.set(a,T(r,c))}if(i)if(a)if(G(a,i)){const c=i.getBoundingClientRect(),d=e.entities.draggableMap.get(i)?.placementMargins;t.draggable.set(i,T(r,c,d))}else{const c=e.pointer.value?.current??{x:0,y:0},d=a.getBoundingClientRect(),m=i.getBoundingClientRect(),h=ye(c,d);if(ye(c,m)<h){t.droppable.clear();const S=e.entities.draggableMap.get(i)?.placementMargins;t.draggable.set(i,T(r,m,S))}}else{const c=i.getBoundingClientRect(),d=e.entities.draggableMap.get(i)?.placementMargins;t.draggable.set(i,T(r,c,d))}}const l=I(t.droppable),f=I(t.draggable);if(o&&o!==f){const c=e.entities.draggableMap.get(o);c&&U(c,void 0)}if(n&&n!==l){const c=e.entities.droppableMap.get(n);c&&U(c,void 0)}if(f){const c=e.entities.draggableMap.get(f);c&&U(c,t.draggable.get(f))}if(l){const c=e.entities.droppableMap.get(l);c&&U(c,t.droppable.get(l))}it(e,n,l),lt(e,o,f)},se=(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,N=e=>{if(!e)return{x:0,y:0,width:0,height:0,top:0,left:0,right:0,bottom:0};const t=e.getBoundingClientRect();return{x:t.x,y:t.y,width:t.width,height:t.height,top:t.top,left:t.left,right:t.right,bottom:t.bottom}},Z=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),pt=(e,t)=>Math.hypot(t.x-e.x,t.y-e.y),X=(e,t)=>{const s=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),n=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y)),o=s*n,r=e.width*e.height,a=t.width*t.height;return r===0||a===0?0:(o/r*100+o/a*100)/2},St=(e,t,s)=>t>=e.x&&t<=e.x+e.width&&s>=e.y&&s<=e.y+e.height,Dt=e=>e.overlay.ref?.value??null,pe=e=>{const t=e.overlay.position?.value??{x:0,y:0},{x:s,y:n}=t,o=e.overlay.size?.value;let r,a;if(o)r=o.width,a=o.height;else{const i=e.overlay.ref?.value?.getBoundingClientRect();r=i?.width??0,a=i?.height??0}return{x:s,y:n,width:r,height:a,top:n,left:s,right:s+r,bottom:n+a}},ce=e=>e.entities.allowedDraggableSet,Pe=e=>e.entities.allowedDroppableSet,vt=(e,t)=>!t.entities.draggingMap.has(e),Mt=(e,t)=>![...t.entities.draggingMap.keys()].some(s=>G(s,e)),wt=(e,t)=>t.entities.draggableMap.has(e)?!fe(e,t):t.entities.droppableMap.has(e)?!F(e,t):!0,V=(e,t)=>vt(e,t)&&Mt(e,t)&&wt(e,t),oe=10;function B(e,t){return Math.hypot(t.x-(e.x+e.width/2),t.y-(e.y+e.height/2))}function xt(e){const t=e.pointer.value?.current??{x:0,y:0},s=document.elementFromPoint(t.x,t.y);if(!s)return null;const n=ce(e),o=Pe(e),r=[],a=[];let i=s;for(;i;)(n.has(i)||o.has(i))&&V(i,e)&&(n.has(i)&&r.push(i),o.has(i)&&a.push(i)),i=i.parentElement;return r.length===0&&a.length===0?null:{elements:r,zones:a}}const W=e=>{if(!Dt(e))return{elements:[],zones:[]};const s=e.pointer.value?.current??{x:0,y:0},n=xt(e);if(n){if(n.elements.length>0)return n;const l=n.zones[0];if(!l)return n;const f=pe(e);return{elements:[...ce(e)].filter(m=>l.contains(m)&&V(m,e)).map(m=>({el:m,box:N(m)})).filter(({box:m})=>se(m,f)&&X(m,f)>=oe).sort((m,h)=>B(m.box,s)-B(h.box,s)).map(({el:m})=>m),zones:n.zones}}const o=pe(e),r=[...ce(e)].filter(l=>V(l,e)),a=[...Pe(e)].filter(l=>V(l,e)),i=r.map(l=>({n:l,box:N(l)})).filter(({box:l})=>se(l,o)&&X(l,o)>=oe).sort((l,f)=>B(l.box,s)-B(f.box,s)).map(({n:l})=>l),u=a.map(l=>({n:l,box:N(l)})).filter(({box:l})=>se(l,o)&&X(l,o)>=oe).sort((l,f)=>B(l.box,s)-B(f.box,s)).map(({n:l})=>l);return{elements:i,zones:u}};function ue(e){if(e.collision?.run){const s=e.collision.run(e);j(e,e.hovered,s);return}const t=W(e);j(e,e.hovered,t)}function At(e,t){const s=e.collision?.throttle?.value??0;if(s<=0){ue(e);return}const n=Date.now();n-t.value>=s&&(t.value=n,ue(e))}async function Te(e){const t=e.hovered.droppable.keys().next().value;if(!t||F(t,e))return"accept";const s=e.entities.droppableMap.get(t),n=A(e,t),o=s?.events?.onDrop?.(n);if(o!=null&&typeof o.then=="function"){e.state.value="pending";let a;try{a=await o}catch{const i=e.entities.initiatingDraggable;return z(e,i,"onSelfDragCancel"),x(e,"onDragCancel"),Ie(e,e.hovered),"cancel"}return a===!1?(e.state.value="dragging","decline"):"accept"}return o===!1?"decline":"accept"}function Be(e){const t=e.entities.initiatingDraggable;z(e,t,"onSelfDragEnd"),x(e,"onDragEnd"),ct(e,e.hovered)}function Et(e){const t=e.entities.selectingArea;if(!t)return;const s=e.entities.selectableAreaMap.get(t),n=[...e.entities.selectedSet];s?.events?.onSelected?.(n)}const Lt=e=>{const t={current:null},s={value:0},n=async()=>{ie(),t.current?.cancel(),t.current=null;const i=e.state.value;if(i==="dragging"){const u=await Te(e);if(u==="accept"&&Be(e),u==="accept"||u==="cancel"){q(e),document.removeEventListener("pointerup",n),document.removeEventListener("pointermove",o);return}return}else i==="selecting"&&Et(e);q(e),document.removeEventListener("pointerup",n),document.removeEventListener("pointermove",o)},o=i=>{if(e.pointer.value){if(e.pointer.value.current={x:i.clientX,y:i.clientY},Ve(e)){ne(e,i,"onSelfDragStart"),x(e,"onDragStart");return}if(e.state.value==="dragging"){At(e,s);const u=e.entities.initiatingDraggable;z(e,u,"onSelfDragMove"),x(e,"onDragMove")}e.state.value==="selecting"&&Re(e)}};return{pointerDown:i=>{document.addEventListener("pointerup",n),document.addEventListener("pointermove",o);const u=i.target,l=u.closest(O.SELECT_AREA),f=u.closest(O.DRAGGABLE);if(e.entities.modifiersSelectableAreaSet.size>0&&e.entities.modifiersSelectableAreaSet.has(l)){re(),e.pointer.value=le(i),e.state.value="selecting",e.entities.selectingArea=l;return}if(e.entities.modifiersDraggableSet.size>0&&e.entities.modifiersDraggableSet.has(f)){const c=e.entities.draggableMap.get(f);if(!Ee(u,f,c?.dragHandle))return;re(),e.entities.initiatingDraggable=f;const d=xe(i,f);e.pointer.value=le(i,d.x,d.y),c?.activation?.distance||c?.activation?.delay?(e.state.value="activating",c?.activation?.delay&&(e.delay.startTime=Date.now(),t.current=$e(e,()=>{$(e),ne(e,i,"onSelfDragStart"),x(e,"onDragStart")}))):($(e),ne(e,i,"onSelfDragStart"),x(e,"onDragStart"))}},pointerUp:n,pointerMove:o,cleanup:()=>{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()}}},Ct={ArrowUp:{dx:0,dy:-1},ArrowDown:{dx:0,dy:1},ArrowLeft:{dx:-1,dy:0},ArrowRight:{dx:1,dy:0},KeyW:{dx:0,dy:-1},KeyA:{dx:-1,dy:0},KeyS:{dx:0,dy:1},KeyD:{dx:1,dy:0}},kt=e=>t=>{const{keys:s}=e.keyboard;if(s.pressedKeys.value.add(t.code),e.state.value==="dragging"){if(s.forCancel.includes(t.code)){t.preventDefault(),ie(),z(e,e.entities.initiatingDraggable,"onSelfDragCancel"),x(e,"onDragCancel"),Ie(e,e.hovered),q(e);return}if(s.forDrop.includes(t.code)){t.preventDefault(),(async()=>(await Te(e)&&Be(e),ie(),q(e)))();return}const o=Ct[t.code];if(o&&s.forMove.includes(t.code)&&e.pointer.value){t.preventDefault();const r=s.forMoveFaster.some(l=>s.pressedKeys.value.has(l)),a=e.keyboard.step*(r?e.keyboard.moveFaster:1);e.pointer.value.current={x:e.pointer.value.current.x+o.dx*a,y:e.pointer.value.current.y+o.dy*a};const u=(e.collision?.run??W)(e);j(e,e.hovered,u),z(e,e.entities.initiatingDraggable,"onSelfDragMove"),x(e,"onDragMove");return}return}if(s.forDrag.includes(t.code)){const o=document.activeElement;if(!o)return;const r=o.closest(O.DRAGGABLE);if(!r||e.entities.modifiersDraggableSet.size===0||!e.entities.modifiersDraggableSet.has(r))return;const a=e.entities.draggableMap.get(r);if(!Ee(o,r,a?.dragHandle,!0))return;t.preventDefault(),re();const i=r.getBoundingClientRect(),u=i.left+i.width/2,l=i.top+i.height/2,f={clientX:u,clientY:l};e.entities.initiatingDraggable=r;const c=xe(f,r);e.pointer.value=le(f,c.x,c.y),$(e);const m=(e.collision?.run??W)(e);j(e,e.hovered,m),z(e,r,"onSelfDragStart"),x(e,"onDragStart")}},It=e=>t=>{e.keyboard.keys.pressedKeys.value.delete(t.code)},Rt=e=>()=>{e.keyboard.keys.pressedKeys.value.clear()},ae={keyDown:kt,keyUp:It,clear:Rt},Pt=e=>()=>{if(!e.state.value)return;const t=e.scrollPosition.x,s=e.scrollPosition.y;if(e.scrollPosition.x=window.scrollX,e.scrollPosition.y=window.scrollY,e.lib.rectCache.clear(),e.state.value==="dragging"){ue(e);return}if(e.state.value==="selecting"&&e.pointer.value){const n=window.scrollX-t,o=window.scrollY-s;e.pointer.value.start.x-=n,e.pointer.value.start.y-=o,Re(e)}},L=50,Tt=144,Se=1e3/Tt;function Bt(e){return e==null?{top:L,right:L,bottom:L,left:L}:typeof e=="number"?{top:e,right:e,bottom:e,left:e}:{top:e.top??L,right:e.right??L,bottom:e.bottom??L,left:e.left??L}}const zt={getScrollState(e){return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}},setScroll(e,t,s){e.scrollTop=t,e.scrollLeft=s}};function ze(e,t,s,n=zt,o){const{speed:r=10,disabled:a=!1}=t,i=Bt(t.threshold);let u=null,l=null,f=null,c=0,d=0;const m=y=>{o&&(o.value=y)},h=y=>{const M=e.value,E=s();if(!M||!E||a){m(!1);return}l||(l=y);const Y=y-l;if(Y<Se){u=requestAnimationFrame(h);return}const p=r*(Y/Se);l=y;const{scrollTop:w,scrollLeft:H}=n.getScrollState(M);(!f||c!==w||d!==H)&&(f=n.getRect?n.getRect(M):M.getBoundingClientRect(),c=w,d=H);let P=!1,Q=w,ee=H;i.top>0&&E.y-f.top<i.top?(Q=w-p,P=!0):i.bottom>0&&f.bottom-E.y<i.bottom&&(Q=w+p,P=!0),i.left>0&&E.x-f.left<i.left?(ee=H-p,P=!0):i.right>0&&f.right-E.x<i.right&&(ee=H+p,P=!0),P&&n.setScroll(M,Q,ee),m(P),u=requestAnimationFrame(h)};return{run:()=>{l=null,u=requestAnimationFrame(h)},stop:()=>{u&&(cancelAnimationFrame(u),u=null),f=null,c=0,d=0,l=null,m(!1)}}}const Ot={getScrollState(){return{scrollTop:window.scrollY??document.documentElement.scrollTop,scrollLeft:window.scrollX??document.documentElement.scrollLeft}},setScroll(e,t,s){window.scrollTo(s,t)},getRect(){return new DOMRect(0,0,window.innerWidth,window.innerHeight)}},Ft={get value(){return typeof document<"u"?document.documentElement:null}};function _t(e,t){const s=g.shallowRef(!1),o=ze(Ft,t??{},()=>{if(e.state.value!=="dragging")return null;const i=e.overlay.position.value,u=e.overlay.size.value;return i?u?.width&&u?.height?{x:i.x+u.width/2,y:i.y+u.height/2}:i:null},Ot,s),r=g.watch(()=>e.state.value,i=>{i==="dragging"?o.run():o.stop()}),a=()=>{r(),o.stop()};return g.onScopeDispose(a),{isScrolling:s,stop:a}}const Gt=e=>{const t=Lt(e),s=ae.keyDown(e),n=ae.keyUp(e),o=ae.clear(e),r=Pt(e);let a=null;g.watch(e.autoScrollViewport,i=>{a?.(),a=null,(i===!0||i&&typeof i=="object")&&(a=_t(e,i===!0?{}:i).stop)},{immediate:!0}),g.onMounted(()=>{document.addEventListener("pointerdown",t.pointerDown),document.addEventListener("keydown",s),document.addEventListener("keyup",n),document.addEventListener("blur",o),document.addEventListener("scroll",r,!0)}),g.onBeforeUnmount(()=>{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",r,!0),a?.(),t.cleanup()})},J=()=>{const e=g.inject(ge);if(!e)throw Error("DnD provider not found");return e},he=()=>{const e=J();return{overlay:e.overlay,delay:e.delay,distanceProgress:e.distanceProgress,entities:e.entities,pointer:e.pointer,state:e.state,scrollPosition:e.scrollPosition,keyboard:e.keyboard,hovered:e.hovered,collision:e.collision,autoScrollViewport:e.autoScrollViewport}},Ht=g.defineComponent({__name:"DefaultOverlay",setup(e){const{entities:t,state:s,overlay:n}=he();return(o,r)=>g.unref(s)==="dragging"?(g.openBlock(),g.createElementBlock("div",{key:0,class:"dnd-kit-default-overlay",style:g.normalizeStyle({"--position-x":g.unref(n).position.value.x+"px","--position-y":g.unref(n).position.value.y+"px"})},[(g.openBlock(!0),g.createElementBlock(g.Fragment,null,g.renderList(g.unref(t).draggingMap,([a,i])=>(g.openBlock(),g.createElementBlock(g.Fragment,null,[g.unref(t).draggableMap.get(a)?.render?(g.openBlock(),g.createBlock(g.resolveDynamicComponent(g.unref(t).draggableMap.get(a)?.render),{key:0})):(g.openBlock(),g.createBlock(g.resolveDynamicComponent(a.tagName),{key:1,innerHTML:i.initialOuterHTML,style:g.normalizeStyle({width:i.initialRect.width+"px",height:i.initialRect.height+"px"})},null,8,["innerHTML","style"]))],64))),256))],4)):g.createCommentVNode("",!0)}}),Kt=g.defineComponent({__name:"DnDProvider",props:{autoScrollViewport:{type:[Object,Boolean,null]},overlayTo:{type:[String,Boolean,null]},style:{},class:{}},setup(e){const t=e,s=g.useTemplateRef("overlayRef"),n=Qe(s,t);Gt(n);const o=g.computed(()=>n.overlay.render.value??Ht);return g.provide(ge,n),(r,a)=>(g.openBlock(),g.createElementBlock(g.Fragment,null,[g.renderSlot(r.$slots,"default"),(g.openBlock(),g.createBlock(g.Teleport,{to:g.unref(n).overlay.to.value||"body"},[g.createElementVNode("div",g.mergeProps({ref_key:"overlayRef",ref:s,class:"dnd-kit-overlay-container"},t),[g.renderSlot(r.$slots,"overlay",{overlay:o.value},()=>[(g.openBlock(),g.createBlock(g.resolveDynamicComponent(o.value)))])],16)],8,["to"]))],64))}});function Zt(e,t,s){const n=J();let o,r,a;typeof t=="function"?(o={},r=t):(o=t??{},r=s);const i=g.computed({get(){const c=D(e);return c?n.entities.selectedSet.has(c):!1},set(c){const d=D(e);d&&n.entities.selectedSet[c?"add":"delete"](d)}}),u=g.computed(()=>{const c=D(e);return c?n.entities.draggingMap.has(c):!1}),l=g.computed(()=>{const c=D(e);return c?n.entities.allowedDraggableSet.has(c):!1}),f=g.computed(()=>{const c=D(e);if(c)return n.entities.draggableMap.get(c)?.hoveredPlacement});return g.onMounted(()=>{a=D(e),a&&(a.addEventListener("dragstart",v),a.addEventListener("drag",v),a.addEventListener("dragend",v),a.setAttribute(R.DRAGGABLE,""),n.lib.draggableObserver.observe(a),n.entities.draggableMap.set(a,{render:o.render,disabled:o.disabled??!1,groups:o.groups??[],modifier:o.modifier,events:o.events,payload:r,data:o.data,dragHandle:o.dragHandle,activation:o.activation,placementMargins:o.placementMargins,hoveredPlacement:void 0}))}),g.onBeforeUnmount(()=>{a&&(n.lib.draggableObserver.unobserve(a),n.entities.visibleDraggableSet.delete(a),n.entities.draggableMap.delete(a),n.entities.modifiersDraggableSet.delete(a))}),{selected:i,isDragging:u,isAllowed:l,isDragOver:f}}const Nt=(e,t)=>{const s=J(),n=g.computed(()=>e.value===s.entities.selectingArea);let o=null;g.onMounted(()=>{o=D(e),o&&(o.setAttribute(R.SELECT_AREA,""),s.lib.selectableAreaObserver.observe(o),s.entities.selectableAreaMap.set(o,{modifier:t?.modifier??{keys:["ControlLeft"],method:"every"},events:t?.events,disabled:t?.disabled??!1,groups:t?.groups??[]}))}),g.onBeforeUnmount(()=>{o&&(s.lib.selectableAreaObserver.unobserve(o),s.entities.visibleSelectableAreaSet.delete(o),s.entities.modifiersSelectableAreaSet.delete(o),s.entities.selectableAreaMap.delete(o))});const r=g.computed(()=>{s.scrollPosition.x,s.scrollPosition.y;const a=s.pointer.value;return!a||s.state.value!=="selecting"||!o||!n.value?{}:gt(a.start,a.current,o)});return{isSelecting:n,style:r}};function Yt(e,t){const s=g.inject(ge);if(!s)throw Error("DnD provider not found");let n=null;return g.onMounted(()=>{n=D(e),n&&(n.setAttribute(R.CONSTRAINT_AREA,""),s.entities.constraintsAreaMap.set(n,{axis:t?.axis||"both",restrictToArea:t?.restrictToArea||!1}))}),g.onBeforeUnmount(()=>{n&&s.entities.constraintsAreaMap.delete(n)}),{}}function Ut(e,t,s){const n=J();let o=null,r,a;typeof t=="function"?(r={},a=t):(r=t??{},a=s);const i=g.computed(()=>{const l=D(e);return l?n.entities.allowedDroppableSet.has(l):!1}),u=g.computed(()=>{const l=D(e);if(l)return n.entities.droppableMap.get(l)?.hoveredPlacement});return g.onMounted(()=>{o=D(e),o&&(o.setAttribute(R.DROPPABLE,""),n.lib.droppableObserver.observe(o),n.entities.droppableMap.set(o,{disabled:r.disabled??!1,groups:r.groups??[],events:r.events,payload:a,data:r.data,hoveredPlacement:void 0}))}),g.onBeforeUnmount(()=>{o&&(n.lib.droppableObserver.unobserve(o),n.entities.visibleDroppableSet.delete(o),n.entities.droppableMap.delete(o))}),{isAllowed:i,isDragOver:u}}const Xt=(e,t)=>{const s=he(),n=g.shallowRef(!1),r=ze(e,t??{},()=>{if(s.state.value!=="dragging")return null;const a=s.overlay.position.value,i=s.overlay.size.value;return a?i?.width&&i?.height?{x:a.x+i.width/2,y:a.y+i.height/2}:a:null},void 0,n);return g.watch(()=>s.state.value,a=>{a==="dragging"?r.run():r.stop()}),{isScrolling:n}};function De(e,t){return t<=0?e:Math.round(e/t)*t}function Vt(e,t){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;return g.computed(()=>{const{x:r,y:a}=e.value;return{x:De(r,n),y:De(a,o)}})}const ve=()=>!0,Me=()=>0,$t="separate",qt=()=>{const e={filterElements:ve,filterZones:ve,sortElements:Me,sortZones:Me,mergeStrategy:$t,pickClosestBetweenFirst:!1},t=(n,o,r,a,i,u,l)=>{const f=a instanceof Set?a:new Set(a),c={containerBox:o,pointer:r},d=e.minOverlapPercent,m=[];for(const h of f){if(!i(h,n))continue;const b=N(h);if(!l(b,c))continue;const S=X(b,o);if(d!==void 0&&S<d)continue;let y=0;for(const M of f)M!==h&&G(M,h)&&y++;m.push({node:h,box:b,meta:{isPointerInElement:St(b,r.x,r.y),overlapPercent:S,depth:y,centerDistance:pt(Z(o),Z(b))}})}return m.sort((h,b)=>u(h,b,c)),m},s={container(n){return e.container=n,s},containerBox(n){return e.containerBox=n,s},elements(n){return e.elements=n,s},zones(n){return e.zones=n,s},filterElements(n){return e.filterElements=n,s},filterZones(n){return e.filterZones=n,s},collision(n){return e.collision=n,s},sortElements(n){return e.sortElements=n,s},sortZones(n){return e.sortZones=n,s},mergeStrategy(n){return e.mergeStrategy=n,s},pickClosestBetweenFirst(n){return e.pickClosestBetweenFirst=n,s},minOverlapPercent(n){return e.minOverlapPercent=n,s},build(){const n=e;if(!n.container||!n.elements||!n.zones||!n.collision)throw new Error("sensor: container, elements, zones, collision are required");return o=>{const r=n.container(o);if(!r)return{elements:[],zones:[]};const a=n.containerBox?n.containerBox(o):N(r),i=o.pointer.value?.current??{x:0,y:0},u=t(o,a,i,n.elements(o),n.filterElements,n.sortElements,n.collision),l=t(o,a,i,n.zones(o),n.filterZones,n.sortZones,n.collision);if(n.mergeStrategy==="unified-closest"){const f=[...u.map(d=>({node:d.node,box:d.box,isZone:!1,distance:0})),...l.map(d=>({node:d.node,box:d.box,isZone:!0,distance:0}))];if(f.length===0)return{elements:[],zones:[]};for(const d of f){const m=Z(d.box);d.distance=Math.hypot(i.x-m.x,i.y-m.y)}const c=f.reduce((d,m)=>m.distance<d.distance?m:d);return c.isZone?{elements:[],zones:[c.node]}:{elements:[c.node],zones:[]}}if(n.pickClosestBetweenFirst&&u[0]&&l[0]){const f=Z(l[0].box),c=Z(u[0].box),d=Math.hypot(i.x-f.x,i.y-f.y);return Math.hypot(i.x-c.x,i.y-c.y)<d?{elements:u.map(h=>h.node),zones:[]}:{elements:[],zones:l.map(h=>h.node)}}return{elements:u.map(f=>f.node),zones:l.map(f=>f.node)}}}};return s},jt=()=>qt();exports.DnDProvider=Kt;exports.createSensor=jt;exports.defaultCollisionDetection=W;exports.makeAutoScroll=Xt;exports.makeConstraintArea=Yt;exports.makeDraggable=Zt;exports.makeDroppable=Ut;exports.makeSelectionArea=Nt;exports.makeSnappedOverlayPosition=Vt;exports.useDnDProvider=he;
@@ -1,5 +1,5 @@
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 re, shallowRef as te, reactive as q, computed as y, onScopeDispose as je, onMounted as U, onBeforeUnmount as V, inject as Be, defineComponent as Fe, unref as k, openBlock as C, createElementBlock as J, normalizeStyle as Le, Fragment as he, renderList as Je, createBlock as ne, resolveDynamicComponent as be, createCommentVNode as Qe, useTemplateRef as et, provide as tt, renderSlot as Ce, Teleport as nt, createElementVNode as st, mergeProps as ot } from "vue";
2
+ import { ref as j, watch as re, shallowRef as te, reactive as q, computed as y, onScopeDispose as Je, onMounted as U, onBeforeUnmount as V, inject as Be, 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
3
  const T = {
4
4
  SELECT_AREA: "data-dnd-kit-select-area",
5
5
  DRAGGABLE: "data-dnd-kit-draggable",
@@ -22,13 +22,13 @@ const T = {
22
22
  g[l]((c) => s.value.has(c)) && o.add(r);
23
23
  }), o;
24
24
  };
25
- let _e = "", at = "", 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), it = (e, t) => !(e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom), ye = () => {
25
+ let _e = "", rt = "", it = "";
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 = () => {
27
27
  const e = document.body;
28
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
29
  }, pe = () => {
30
30
  const e = document.body;
31
- e.style.userSelect = _e, e.style.touchAction = at, e.style.overscrollBehavior = rt, window.removeEventListener("contextmenu", M), window.removeEventListener("selectstart", M), window.removeEventListener("touchstart", M), window.removeEventListener("touchmove", M);
31
+ e.style.userSelect = _e, e.style.touchAction = rt, e.style.overscrollBehavior = it, window.removeEventListener("contextmenu", M), window.removeEventListener("selectstart", M), window.removeEventListener("touchstart", M), window.removeEventListener("touchmove", M);
32
32
  }, M = (e) => e.preventDefault(), xe = (e, t) => {
33
33
  if (t.entities.draggableMap.get(e)?.disabled) return !0;
34
34
  for (const n of t.entities.visibleDraggableSet)
@@ -44,7 +44,7 @@ const D = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$e
44
44
  const s = new Set(t);
45
45
  return e.some((n) => s.has(n));
46
46
  };
47
- function lt(e, t, s, n) {
47
+ function ct(e, t, s, n) {
48
48
  const o = /* @__PURE__ */ new Set();
49
49
  for (const i of t.keys()) {
50
50
  const g = s.get(i);
@@ -57,7 +57,7 @@ function lt(e, t, s, n) {
57
57
  }
58
58
  return a;
59
59
  }
60
- function ct(e, t, s) {
60
+ function gt(e, t, s) {
61
61
  const n = /* @__PURE__ */ new Set();
62
62
  for (const a of t.keys()) {
63
63
  const i = s.get(a);
@@ -82,7 +82,7 @@ const ge = (e) => {
82
82
  unobserve: (s) => t.unobserve(s),
83
83
  disconnect: () => t.disconnect()
84
84
  };
85
- }, gt = (e) => {
85
+ }, ut = (e) => {
86
86
  const t = new ResizeObserver((s) => {
87
87
  const n = s[0];
88
88
  if (!n) return;
@@ -94,8 +94,8 @@ const ge = (e) => {
94
94
  unobserve: (s) => t.unobserve(s),
95
95
  disconnect: () => t.disconnect()
96
96
  };
97
- }, ut = (e) => {
98
- const t = j(null), s = gt(t), n = re(
97
+ }, ft = (e) => {
98
+ const t = j(null), s = ut(t), n = re(
99
99
  e,
100
100
  (r) => {
101
101
  s.disconnect(), r && s.observe(r);
@@ -127,34 +127,34 @@ function He(e, t) {
127
127
  initialOuterHTML: e.outerHTML
128
128
  };
129
129
  }
130
- function ft(e, t, s) {
130
+ function dt(e, t, s) {
131
131
  e.forEach((n) => {
132
132
  const o = t.get(n);
133
133
  s.set(n, He(n, o));
134
134
  }), e.clear();
135
135
  }
136
- function dt(e, t, s) {
136
+ function mt(e, t, s) {
137
137
  s.clear();
138
138
  const n = t.get(e);
139
139
  s.set(e, He(e, n));
140
140
  }
141
141
  function se(e) {
142
- e.entities.initiatingDraggable && (e.state.value = "dragging", mt(
142
+ e.entities.initiatingDraggable && (e.state.value = "dragging", ht(
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 mt(e, t, s, n) {
150
- t.has(e) ? ft(t, s, n) : (t.clear(), dt(e, s, n));
149
+ function ht(e, t, s, n) {
150
+ t.has(e) ? dt(t, s, n) : (t.clear(), mt(e, s, n));
151
151
  }
152
152
  function Ke(e, t, s, n) {
153
153
  if (n || !s) return !0;
154
154
  const o = e.closest(s);
155
155
  return o ? t.contains(o) : !1;
156
156
  }
157
- function ht(e, t) {
157
+ function bt(e, t) {
158
158
  if (!e || !t) return 1;
159
159
  const s = Math.abs(e.current.x - e.start.x), n = Math.abs(e.current.y - e.start.y);
160
160
  if (typeof t == "number") {
@@ -175,7 +175,7 @@ function Ze(e, t, s) {
175
175
  const n = s.distance != null, o = s.delay != null;
176
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;
177
177
  }
178
- function bt(e) {
178
+ function yt(e) {
179
179
  if (e.state.value !== "activating" || !e.entities.initiatingDraggable)
180
180
  return !1;
181
181
  const t = e.entities.draggableMap.get(
@@ -187,7 +187,7 @@ function bt(e) {
187
187
  t?.activation
188
188
  ) ? (se(e), !0) : !1;
189
189
  }
190
- function yt(e, t) {
190
+ function pt(e, t) {
191
191
  let s = null;
192
192
  const n = () => {
193
193
  if (e.state.value !== "activating" || !e.entities.initiatingDraggable) {
@@ -216,7 +216,7 @@ function yt(e, t) {
216
216
  }
217
217
  };
218
218
  }
219
- function pt(e, t) {
219
+ function St(e, t) {
220
220
  const s = e.closest(
221
221
  _.CONSTRAINT_AREA
222
222
  );
@@ -225,10 +225,10 @@ function pt(e, t) {
225
225
  entity: t.get(s)
226
226
  };
227
227
  }
228
- function St(e, t, s, n) {
228
+ function Dt(e, t, s, n) {
229
229
  return s === "x" ? { x: e, y: n.top } : s === "y" ? { x: n.left, y: t } : { x: e, y: t };
230
230
  }
231
- function Dt(e, t, s, n, o) {
231
+ function Mt(e, t, s, n, o) {
232
232
  let r = e, a = t;
233
233
  return s !== "y" && (r = Math.max(
234
234
  n.left,
@@ -238,23 +238,23 @@ function Dt(e, t, s, n, o) {
238
238
  Math.min(n.bottom - o.height, t)
239
239
  )), { x: r, y: a };
240
240
  }
241
- function Mt(e, t, s, n, o) {
241
+ function vt(e, t, s, n, o) {
242
242
  if (!e || !t)
243
243
  return { x: 0, y: 0 };
244
244
  const r = t.getBoundingClientRect(), a = r.width || o?.width || 0, i = r.height || o?.height || 0;
245
245
  let g = e.current.x - a * e.offset.x, l = e.current.y - i * e.offset.y;
246
246
  if (!s)
247
247
  return { x: g, y: l };
248
- const u = pt(s, n);
248
+ const u = St(s, n);
249
249
  if (!u)
250
250
  return { x: g, y: l };
251
- const { element: c, entity: f } = u, d = c.getBoundingClientRect(), m = s.getBoundingClientRect(), h = St(
251
+ const { element: c, entity: f } = u, d = c.getBoundingClientRect(), m = s.getBoundingClientRect(), h = Dt(
252
252
  g,
253
253
  l,
254
254
  f.axis || "both",
255
255
  m
256
256
  );
257
- return f.restrictToArea ? Dt(
257
+ return f.restrictToArea ? Mt(
258
258
  h.x,
259
259
  h.y,
260
260
  f.axis || "both",
@@ -278,7 +278,7 @@ const N = {
278
278
  ],
279
279
  forMoveFaster: ["ShiftLeft", "ShiftRight"]
280
280
  };
281
- function vt(e, t) {
281
+ function wt(e, t) {
282
282
  const s = te(), n = j(), r = {
283
283
  keys: {
284
284
  pressedKeys: j(/* @__PURE__ */ new Set()),
@@ -299,13 +299,13 @@ function vt(e, t) {
299
299
  selectingArea: void 0,
300
300
  draggingMap: /* @__PURE__ */ new Map(),
301
301
  selectedSet: /* @__PURE__ */ new Set(),
302
- allowedDroppableSet: y(() => s.value ? lt(
302
+ allowedDroppableSet: y(() => s.value ? ct(
303
303
  a.visibleDroppableSet,
304
304
  a.draggingMap,
305
305
  a.draggableMap,
306
306
  a.droppableMap
307
307
  ) : /* @__PURE__ */ new Set()),
308
- allowedDraggableSet: y(() => s.value ? ct(
308
+ allowedDraggableSet: y(() => s.value ? gt(
309
309
  a.visibleDraggableSet,
310
310
  a.draggingMap,
311
311
  a.draggableMap
@@ -338,16 +338,16 @@ function vt(e, t) {
338
338
  }), c = y(() => {
339
339
  if (!n.value || !a.initiatingDraggable) return 0;
340
340
  const w = a.draggableMap.get(a.initiatingDraggable)?.activation?.distance;
341
- return w ? ht(n.value, w) : 1;
341
+ return w ? bt(n.value, w) : 1;
342
342
  }), f = ge(
343
343
  a.visibleDraggableSet
344
344
  ), d = ge(
345
345
  a.visibleDroppableSet
346
346
  ), m = ge(
347
347
  a.visibleSelectableAreaSet
348
- ), { overlaySize: h, overlaySizeObserver: S } = ut(e), b = j(), v = y(() => {
348
+ ), { overlaySize: h, overlaySizeObserver: S } = ft(e), b = j(), v = y(() => {
349
349
  const p = a.initiatingDraggable;
350
- return Mt(
350
+ return vt(
351
351
  n.value,
352
352
  e.value,
353
353
  p || null,
@@ -456,7 +456,7 @@ function Ye(e, t) {
456
456
  }
457
457
  return { targetIndex: u, mode: c, targetArr: a };
458
458
  }
459
- function wt(e, t = "vertical") {
459
+ function xt(e, t = "vertical") {
460
460
  const { draggedItems: s } = e;
461
461
  if (!s.length) return null;
462
462
  const n = Ye(e, t);
@@ -474,7 +474,7 @@ function wt(e, t = "vertical") {
474
474
  return { sourceItems: c, targetItems: f, draggedItems: g, sourceIndexes: i, targetIndex: a, mode: r, sameList: !1 };
475
475
  }
476
476
  }
477
- function xt(e) {
477
+ function At(e) {
478
478
  const { draggedItems: t, hoveredDraggable: s } = e;
479
479
  if (!t.length || !s) return null;
480
480
  const n = t.map((u) => u.index), o = s.index, r = t.map((u) => u.item), a = s.item, i = t[0].items, g = s.items, l = i === g;
@@ -505,7 +505,7 @@ function xt(e) {
505
505
  }
506
506
  }
507
507
  }
508
- function At(e, t = "vertical") {
508
+ function Et(e, t = "vertical") {
509
509
  const { draggedItems: s } = e;
510
510
  if (!s.length) return null;
511
511
  const n = Ye(e, t);
@@ -513,13 +513,13 @@ function At(e, t = "vertical") {
513
513
  const { targetArr: o, targetIndex: r, mode: a } = n, i = s.map((l) => l.item);
514
514
  return { targetItems: I(o, r, i), copiedItems: i, targetIndex: r, mode: a };
515
515
  }
516
- function Et(e) {
516
+ function Lt(e) {
517
517
  const { draggedItems: t } = e;
518
518
  if (!t.length) return null;
519
519
  const s = t.map((a) => a.index), n = t.map((a) => a.item), o = t[0].items;
520
520
  return { sourceItems: H(o, s), removedItems: n, sourceIndexes: s };
521
521
  }
522
- function Lt(e) {
522
+ function Ct(e) {
523
523
  return {
524
524
  // Low-level array ops
525
525
  insertAt: I,
@@ -531,16 +531,16 @@ function Lt(e) {
531
531
  isAtZoneStart: (t, s) => R.isAtZoneStart(t, s),
532
532
  isAtZoneEnd: (t, s) => R.isAtZoneEnd(t, s),
533
533
  // High-level (event-bound)
534
- suggestSort: (t) => wt(e, t),
535
- suggestSwap: () => xt(e),
536
- suggestCopy: (t) => At(e, t),
537
- suggestRemove: () => Et(e)
534
+ suggestSort: (t) => xt(e, t),
535
+ suggestSwap: () => At(e),
536
+ suggestCopy: (t) => Et(e, t),
537
+ suggestRemove: () => Lt(e)
538
538
  };
539
539
  }
540
- const P = (e) => e.keys().next().value, Ct = (e) => e.target.closest(
540
+ const P = (e) => e.keys().next().value, It = (e) => e.target.closest(
541
541
  _.DRAGGABLE
542
542
  );
543
- function It(e) {
543
+ function Rt(e) {
544
544
  const t = e.entities.initiatingDraggable;
545
545
  if (!t) return [];
546
546
  const s = e.entities.draggingMap.get(t) ?? e.entities.draggableMap.get(t), n = s?.payload;
@@ -571,7 +571,7 @@ function It(e) {
571
571
  }), [...l.values()].sort((u, c) => u.index - c.index);
572
572
  }
573
573
  const A = (e, t) => {
574
- const s = It(e);
574
+ const s = Rt(e);
575
575
  let n, o;
576
576
  if (t) {
577
577
  const r = e.entities.droppableMap.get(t);
@@ -614,7 +614,7 @@ const A = (e, t) => {
614
614
  dropZone: n,
615
615
  hoveredDraggable: o,
616
616
  provider: e,
617
- helpers: Lt({ draggedItems: s, dropZone: n, hoveredDraggable: o })
617
+ helpers: Ct({ draggedItems: s, dropZone: n, hoveredDraggable: o })
618
618
  };
619
619
  }, F = (e, t, s) => {
620
620
  if (!t) return;
@@ -625,7 +625,7 @@ const A = (e, t) => {
625
625
  e.entities.draggingMap.forEach((n) => {
626
626
  n.disabled || n.events?.[t]?.(s);
627
627
  });
628
- }, Rt = (e, t, s) => {
628
+ }, kt = (e, t, s) => {
629
629
  if (t !== s) {
630
630
  if (t && !G(t, e)) {
631
631
  const n = A(e, t);
@@ -636,7 +636,7 @@ const A = (e, t) => {
636
636
  e.entities.droppableMap.get(s)?.events?.onEnter?.(n);
637
637
  }
638
638
  }
639
- }, kt = (e, t, s) => {
639
+ }, Pt = (e, t, s) => {
640
640
  if (t !== s) {
641
641
  const n = A(e);
642
642
  if (t) {
@@ -649,32 +649,32 @@ const A = (e, t) => {
649
649
  }
650
650
  }
651
651
  }, ue = (e, t, s) => {
652
- const n = Ct(t);
652
+ const n = It(t);
653
653
  !n || !e.entities.draggingMap.has(n) || e.entities.draggingMap.get(n)?.events?.[s]?.(A(e));
654
- }, Pt = (e, t) => {
654
+ }, Tt = (e, t) => {
655
655
  const s = P(t.droppable);
656
656
  s && !G(s, e) && e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e, s));
657
657
  }, Xe = (e, t) => {
658
658
  const s = P(t.droppable);
659
659
  s && !G(s, e) && e.entities.droppableMap.get(s)?.events?.onLeave?.(A(e, s));
660
660
  };
661
- function Tt(e) {
661
+ function zt(e) {
662
662
  return e.parentElement?.closest(_.SELECT_AREA) ?? null;
663
663
  }
664
- const zt = (e, t, s) => {
664
+ const Ot = (e, t, s) => {
665
665
  if (!s) return {};
666
- const n = s.getBoundingClientRect(), o = Math.max(n.left, Math.min(e.x, t.x)), r = Math.max(n.top, Math.min(e.y, t.y)), a = Math.min(n.right, Math.max(e.x, t.x)), i = Math.min(n.bottom, Math.max(e.y, t.y)), g = Math.max(0, a - o), l = Math.max(0, i - r);
666
+ const n = s.getBoundingClientRect(), o = Math.max(n.left, Math.min(e.x, t.x)), r = Math.max(n.top, Math.min(e.y, t.y)), a = Math.min(n.right, Math.max(e.x, t.x)), i = Math.min(n.bottom, Math.max(e.y, t.y)), g = Math.max(0, a - o), l = Math.max(0, i - r), u = o - n.left + s.scrollLeft, c = r - n.top + s.scrollTop;
667
667
  return {
668
- left: `${o}px`,
669
- top: `${r}px`,
668
+ position: "absolute",
669
+ left: `${u}px`,
670
+ top: `${c}px`,
670
671
  width: `${g}px`,
671
672
  height: `${l}px`,
672
- position: "fixed",
673
673
  pointerEvents: "none",
674
674
  border: "1px solid #3b82f6",
675
675
  backgroundColor: "#3b82f61a"
676
676
  };
677
- }, Ot = (e) => {
677
+ }, Ue = (e) => {
678
678
  if (!e.pointer.value || !e.entities.selectingArea) return;
679
679
  const { selectingArea: t } = e.entities, s = Bt(
680
680
  e.pointer.value.start,
@@ -682,7 +682,7 @@ const zt = (e, t, s) => {
682
682
  ), n = e.entities.selectableAreaMap.get(t)?.groups ?? [], o = e.lib.rectCache;
683
683
  e.entities.visibleDraggableSet.forEach((r) => {
684
684
  if (r === t || !t.contains(r)) return;
685
- const a = Tt(r);
685
+ const a = zt(r);
686
686
  if (a && a !== t) {
687
687
  e.entities.selectedSet.delete(r);
688
688
  return;
@@ -697,7 +697,7 @@ const zt = (e, t, s) => {
697
697
  return;
698
698
  }
699
699
  let l = o.get(r);
700
- l || (l = r.getBoundingClientRect(), o.set(r, l)), it(s, l) ? e.entities.selectedSet.add(r) : e.entities.selectedSet.delete(r);
700
+ l || (l = r.getBoundingClientRect(), o.set(r, l)), lt(s, l) ? e.entities.selectedSet.add(r) : e.entities.selectedSet.delete(r);
701
701
  });
702
702
  }, Bt = (e, t) => {
703
703
  const s = Math.min(e.x, t.x), n = Math.min(e.y, t.y), o = Math.max(e.x, t.x), r = Math.max(e.y, t.y), a = o - s, i = r - n;
@@ -814,7 +814,7 @@ const Kt = (e, t) => e.find((s) => s !== t && K(t, s)), ae = (e, t, s) => {
814
814
  const c = e.entities.droppableMap.get(l);
815
815
  c && W(c, t.droppable.get(l));
816
816
  }
817
- Rt(e, n, l), kt(e, o, u);
817
+ kt(e, n, l), Pt(e, o, u);
818
818
  }, 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) => {
819
819
  if (!e)
820
820
  return { x: 0, y: 0, width: 0, height: 0, top: 0, left: 0, right: 0, bottom: 0 };
@@ -860,7 +860,7 @@ const Kt = (e, t) => e.find((s) => s !== t && K(t, s)), ae = (e, t, s) => {
860
860
  right: s + r,
861
861
  bottom: n + a
862
862
  };
863
- }, De = (e) => e.entities.allowedDraggableSet, Ue = (e) => e.entities.allowedDroppableSet, Xt = (e, t) => !t.entities.draggingMap.has(e), Ut = (e, t) => ![...t.entities.draggingMap.keys()].some(
863
+ }, 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(
864
864
  (s) => K(s, e)
865
865
  ), 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;
866
866
  function B(e, t) {
@@ -872,7 +872,7 @@ function B(e, t) {
872
872
  function $t(e) {
873
873
  const t = e.pointer.value?.current ?? { x: 0, y: 0 }, s = document.elementFromPoint(t.x, t.y);
874
874
  if (!s) return null;
875
- const n = De(e), o = Ue(e), r = [], a = [];
875
+ const n = De(e), o = Ve(e), r = [], a = [];
876
876
  let i = s;
877
877
  for (; i; )
878
878
  (n.has(i) || o.has(i)) && ee(i, e) && (n.has(i) && r.push(i), o.has(i) && a.push(i)), i = i.parentElement;
@@ -894,7 +894,7 @@ const Me = (e) => {
894
894
  }
895
895
  const o = ke(e), r = [...De(e)].filter(
896
896
  (l) => ee(l, e)
897
- ), a = [...Ue(e)].filter(
897
+ ), a = [...Ve(e)].filter(
898
898
  (l) => ee(l, e)
899
899
  ), i = r.map((l) => ({ n: l, box: X(l) })).filter(
900
900
  ({ box: l }) => fe(l, o) && Q(l, o) >= de
@@ -921,7 +921,7 @@ function qt(e, t) {
921
921
  const n = Date.now();
922
922
  n - t.value >= s && (t.value = n, ve(e));
923
923
  }
924
- async function Ve(e) {
924
+ async function $e(e) {
925
925
  const t = e.hovered.droppable.keys().next().value;
926
926
  if (!t || G(t, e)) return "accept";
927
927
  const s = e.entities.droppableMap.get(t), n = A(e, t), o = s?.events?.onDrop?.(n);
@@ -938,9 +938,9 @@ async function Ve(e) {
938
938
  }
939
939
  return o === !1 ? "decline" : "accept";
940
940
  }
941
- function $e(e) {
941
+ function qe(e) {
942
942
  const t = e.entities.initiatingDraggable;
943
- F(e, t, "onSelfDragEnd"), x(e, "onDragEnd"), Pt(e, e.hovered);
943
+ F(e, t, "onSelfDragEnd"), x(e, "onDragEnd"), Tt(e, e.hovered);
944
944
  }
945
945
  function Wt(e) {
946
946
  const t = e.entities.selectingArea;
@@ -955,8 +955,8 @@ const jt = (e) => {
955
955
  pe(), t.current?.cancel(), t.current = null;
956
956
  const i = e.state.value;
957
957
  if (i === "dragging") {
958
- const g = await Ve(e);
959
- if (g === "accept" && $e(e), g === "accept" || g === "cancel") {
958
+ const g = await $e(e);
959
+ if (g === "accept" && qe(e), g === "accept" || g === "cancel") {
960
960
  oe(e), document.removeEventListener("pointerup", n), document.removeEventListener("pointermove", o);
961
961
  return;
962
962
  }
@@ -965,7 +965,7 @@ const jt = (e) => {
965
965
  oe(e), document.removeEventListener("pointerup", n), document.removeEventListener("pointermove", o);
966
966
  }, o = (i) => {
967
967
  if (e.pointer.value) {
968
- if (e.pointer.value.current = { x: i.clientX, y: i.clientY }, bt(e)) {
968
+ if (e.pointer.value.current = { x: i.clientX, y: i.clientY }, yt(e)) {
969
969
  ue(e, i, "onSelfDragStart"), x(e, "onDragStart");
970
970
  return;
971
971
  }
@@ -974,7 +974,7 @@ const jt = (e) => {
974
974
  const g = e.entities.initiatingDraggable;
975
975
  F(e, g, "onSelfDragMove"), x(e, "onDragMove");
976
976
  }
977
- e.state.value === "selecting" && Ot(e);
977
+ e.state.value === "selecting" && Ue(e);
978
978
  }
979
979
  };
980
980
  return { pointerDown: (i) => {
@@ -994,7 +994,7 @@ const jt = (e) => {
994
994
  return;
995
995
  ye(), e.entities.initiatingDraggable = u;
996
996
  const f = Ge(i, u);
997
- e.pointer.value = Se(i, f.x, f.y), c?.activation?.distance || c?.activation?.delay ? (e.state.value = "activating", c?.activation?.delay && (e.delay.startTime = Date.now(), t.current = yt(e, () => {
997
+ e.pointer.value = Se(i, 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, () => {
998
998
  se(e), ue(e, i, "onSelfDragStart"), x(e, "onDragStart");
999
999
  }))) : (se(e), ue(e, i, "onSelfDragStart"), x(e, "onDragStart"));
1000
1000
  }
@@ -1022,7 +1022,7 @@ const jt = (e) => {
1022
1022
  return;
1023
1023
  }
1024
1024
  if (s.forDrop.includes(t.code)) {
1025
- t.preventDefault(), (async () => (await Ve(e) && $e(e), pe(), oe(e)))();
1025
+ t.preventDefault(), (async () => (await $e(e) && qe(e), pe(), oe(e)))();
1026
1026
  return;
1027
1027
  }
1028
1028
  const o = Jt[t.code];
@@ -1080,7 +1080,16 @@ const jt = (e) => {
1080
1080
  keyUp: en,
1081
1081
  clear: tn
1082
1082
  }, nn = (e) => () => {
1083
- e.state.value && (e.scrollPosition.x = window.scrollX, e.scrollPosition.y = window.scrollY, e.lib.rectCache.clear(), e.state.value === "dragging" && ve(e));
1083
+ if (!e.state.value) return;
1084
+ const t = e.scrollPosition.x, s = e.scrollPosition.y;
1085
+ if (e.scrollPosition.x = window.scrollX, e.scrollPosition.y = window.scrollY, e.lib.rectCache.clear(), e.state.value === "dragging") {
1086
+ ve(e);
1087
+ return;
1088
+ }
1089
+ if (e.state.value === "selecting" && e.pointer.value) {
1090
+ const n = window.scrollX - t, o = window.scrollY - s;
1091
+ e.pointer.value.start.x -= n, e.pointer.value.start.y -= o, Ue(e);
1092
+ }
1084
1093
  }, L = 50, sn = 144, Pe = 1e3 / sn;
1085
1094
  function on(e) {
1086
1095
  return e == null ? {
@@ -1111,7 +1120,7 @@ const an = {
1111
1120
  e.scrollTop = t, e.scrollLeft = s;
1112
1121
  }
1113
1122
  };
1114
- function qe(e, t, s, n = an, o) {
1123
+ function We(e, t, s, n = an, o) {
1115
1124
  const { speed: r = 10, disabled: a = !1 } = t, i = on(t.threshold);
1116
1125
  let g = null, l = null, u = null, c = 0, f = 0;
1117
1126
  const d = (b) => {
@@ -1160,7 +1169,7 @@ const rn = {
1160
1169
  }
1161
1170
  };
1162
1171
  function cn(e, t) {
1163
- const s = te(!1), o = qe(
1172
+ const s = te(!1), o = We(
1164
1173
  ln,
1165
1174
  t ?? {},
1166
1175
  () => {
@@ -1181,7 +1190,7 @@ function cn(e, t) {
1181
1190
  ), a = () => {
1182
1191
  r(), o.stop();
1183
1192
  };
1184
- return je(a), { isScrolling: s, stop: a };
1193
+ return Je(a), { isScrolling: s, stop: a };
1185
1194
  }
1186
1195
  const gn = (e) => {
1187
1196
  const t = jt(e), s = me.keyDown(e), n = me.keyUp(e), o = me.clear(e), r = nn(e);
@@ -1204,7 +1213,7 @@ const gn = (e) => {
1204
1213
  const e = Be(we);
1205
1214
  if (!e) throw Error("DnD provider not found");
1206
1215
  return e;
1207
- }, We = () => {
1216
+ }, je = () => {
1208
1217
  const e = ie();
1209
1218
  return {
1210
1219
  overlay: e.overlay,
@@ -1222,7 +1231,7 @@ const gn = (e) => {
1222
1231
  }, un = /* @__PURE__ */ Fe({
1223
1232
  __name: "DefaultOverlay",
1224
1233
  setup(e) {
1225
- const { entities: t, state: s, overlay: n } = We();
1234
+ const { entities: t, state: s, overlay: n } = je();
1226
1235
  return (o, r) => k(s) === "dragging" ? (C(), J("div", {
1227
1236
  key: 0,
1228
1237
  class: "dnd-kit-default-overlay",
@@ -1231,7 +1240,7 @@ const gn = (e) => {
1231
1240
  "--position-y": k(n).position.value.y + "px"
1232
1241
  })
1233
1242
  }, [
1234
- (C(!0), J(he, null, Je(k(t).draggingMap, ([a, i]) => (C(), J(he, null, [
1243
+ (C(!0), J(he, null, Qe(k(t).draggingMap, ([a, i]) => (C(), J(he, null, [
1235
1244
  k(t).draggableMap.get(a)?.render ? (C(), ne(be(k(t).draggableMap.get(a)?.render), { key: 0 })) : (C(), ne(be(a.tagName), {
1236
1245
  key: 1,
1237
1246
  innerHTML: i.initialOuterHTML,
@@ -1241,7 +1250,7 @@ const gn = (e) => {
1241
1250
  })
1242
1251
  }, null, 8, ["innerHTML", "style"]))
1243
1252
  ], 64))), 256))
1244
- ], 4)) : Qe("", !0);
1253
+ ], 4)) : et("", !0);
1245
1254
  }
1246
1255
  }), hn = /* @__PURE__ */ Fe({
1247
1256
  __name: "DnDProvider",
@@ -1252,17 +1261,17 @@ const gn = (e) => {
1252
1261
  class: {}
1253
1262
  },
1254
1263
  setup(e) {
1255
- const t = e, s = et("overlayRef"), n = vt(s, t);
1264
+ const t = e, s = tt("overlayRef"), n = wt(s, t);
1256
1265
  gn(n);
1257
1266
  const o = y(
1258
1267
  () => n.overlay.render.value ?? un
1259
1268
  );
1260
- return tt(we, n), (r, a) => (C(), J(he, null, [
1269
+ return nt(we, n), (r, a) => (C(), J(he, null, [
1261
1270
  Ce(r.$slots, "default"),
1262
- (C(), ne(nt, {
1271
+ (C(), ne(st, {
1263
1272
  to: k(n).overlay.to.value || "body"
1264
1273
  }, [
1265
- st("div", ot({
1274
+ ot("div", at({
1266
1275
  ref_key: "overlayRef",
1267
1276
  ref: s,
1268
1277
  class: "dnd-kit-overlay-container"
@@ -1341,7 +1350,7 @@ const yn = (e, t) => {
1341
1350
  const r = y(() => {
1342
1351
  s.scrollPosition.x, s.scrollPosition.y;
1343
1352
  const a = s.pointer.value;
1344
- return !a || s.state.value !== "selecting" || !o || !n.value ? {} : zt(a.start, a.current, o);
1353
+ return !a || s.state.value !== "selecting" || !o || !n.value ? {} : Ot(a.start, a.current, o);
1345
1354
  });
1346
1355
  return {
1347
1356
  isSelecting: n,
@@ -1390,7 +1399,7 @@ function Sn(e, t, s) {
1390
1399
  };
1391
1400
  }
1392
1401
  const Dn = (e, t) => {
1393
- const s = We(), n = te(!1), r = qe(
1402
+ const s = je(), n = te(!1), r = We(
1394
1403
  e,
1395
1404
  t ?? {},
1396
1405
  () => {
@@ -1578,5 +1587,5 @@ export {
1578
1587
  Sn as makeDroppable,
1579
1588
  yn as makeSelectionArea,
1580
1589
  Mn as makeSnappedOverlayPosition,
1581
- We as useDnDProvider
1590
+ je as useDnDProvider
1582
1591
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-dnd-kit/core",
3
- "version": "2.0.8",
3
+ "version": "2.0.9",
4
4
  "description": "Core functionality for Vue DnD Kit - a lightweight Vue 3 library for building performant and accessible drag and drop interfaces",
5
5
  "author": "ZiZIGY",
6
6
  "license": "MIT",