@vue-dnd-kit/core 2.4.3 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".dnd-kit-preview{transform-origin:0 0;will-change:transform}.dnd-kit-preview-container{position:fixed;top:0;left:0;pointer-events:none;cursor:grabbing;z-index:9999}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("vue"),k={SELECT_AREA:"data-dnd-kit-select-area",DRAGGABLE:"data-dnd-kit-draggable",DROPPABLE:"data-dnd-kit-droppable",CONSTRAINT_AREA:"data-dnd-kit-constraint-area"},_={SELECT_AREA:`[${k.SELECT_AREA}]`,DRAGGABLE:`[${k.DRAGGABLE}]`,CONSTRAINT_AREA:`[${k.CONSTRAINT_AREA}]`},Z="VueDnDKitProvider",pe=(e,t,n,s)=>{const a=new Set;return t.forEach(r=>{const i=e.get(r),o=s?s(r):i?.disabled;if(!i||o)return;const c=i.modifier?.keys,l=i.modifier?.method;if(!c||!l||c.length===0){a.add(r);return}c[l](g=>n.value.has(g))&&a.add(r)}),a};let Se="",Oe="",Fe="";const S=e=>e.value?e.value instanceof HTMLElement?e.value:e.value.$el:null,G=(e,t)=>e!==t&&e.contains(t),ze=(e,t)=>!(e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom),ie=()=>{const e=document.body;Se=e.style.userSelect,e.style.userSelect="none",window.addEventListener("contextmenu",w),window.addEventListener("selectstart",w),window.addEventListener("touchstart",w),window.addEventListener("touchmove",w)},oe=()=>{const e=document.body;e.style.userSelect=Se,e.style.touchAction=Oe,e.style.overscrollBehavior=Fe,window.removeEventListener("contextmenu",w),window.removeEventListener("selectstart",w),window.removeEventListener("touchstart",w),window.removeEventListener("touchmove",w)},w=e=>e.preventDefault(),de=(e,t)=>{if(t.entities.draggableMap.get(e)?.disabled)return!0;for(const s of t.entities.visibleDraggableSet)if(t.entities.draggableMap.get(s)?.disabled&&G(s,e))return!0;return!1},H=(e,t)=>{if(t.entities.droppableMap.get(e)?.disabled)return!0;for(const s of t.entities.visibleDroppableSet)if(t.entities.droppableMap.get(s)?.disabled&&G(s,e))return!0;return!1},$=(e,t)=>{if(!e.length||!t.length)return!0;const n=new Set(t);return e.some(s=>n.has(s))};function _e(e,t,n,s){const a=[];for(const i of t.keys()){const o=n.get(i);a.push({groups:o?.groups??[]})}const r=new Set;for(const i of e){const o=s.get(i),c=o?.groups??[],l=o?.groupMatch??"every";(!a.length||a[l](g=>$(g.groups,c)))&&r.add(i)}return r}function Ge(e,t,n){const s=new Set;for(const i of t.keys()){const o=n.get(i);for(const c of o?.groups??[])s.add(c)}const a=[...s],r=new Set;for(const i of e){const c=n.get(i)?.groups??[];$(a,c)&&r.add(i)}return r}const J=e=>{const t=new IntersectionObserver(n=>{n.forEach(s=>{const a=s.target;e[s.isIntersecting?"add":"delete"](a)})});return{observe:n=>t.observe(n),unobserve:n=>t.unobserve(n),disconnect:()=>t.disconnect()}};function re(e,t=0,n=0){return{start:{x:e.clientX,y:e.clientY},current:{x:e.clientX,y:e.clientY},offset:{x:t,y:n}}}function we(e,t){const n=t.getBoundingClientRect(),s=n.width>0?(e.clientX-n.left)/n.width:.5,a=n.height>0?(e.clientY-n.top)/n.height:.5;return{x:s,y:a}}function Me(e,t){return{...t,initialHTML:e.innerHTML,initialRect:e.getBoundingClientRect(),initialOuterHTML:e.outerHTML}}function He(e,t,n){e.forEach(s=>{const a=t.get(s);n.set(s,Me(s,a))}),e.clear()}function Ke(e,t,n){n.clear();const s=t.get(e);n.set(e,Me(e,s))}function V(e){e.entities.initiatingDraggable&&(e.state.value="dragging",Ne(e.entities.initiatingDraggable,e.entities.selectedSet,e.entities.draggableMap,e.entities.draggingMap))}function Ne(e,t,n,s){t.has(e)?He(t,n,s):(t.clear(),Ke(e,n,s))}function ve(e,t,n,s){if(s||!n)return!0;const a=e.closest(n);return a?t.contains(a):!1}function Ue(e,t){if(!e||!t)return 1;const n=Math.abs(e.current.x-e.start.x),s=Math.abs(e.current.y-e.start.y);if(typeof t=="number"){const l=Math.sqrt(n*n+s*s);return Math.min(l/t,1)}const{x:a=0,y:r=0,condition:i="any"}=t;if(a===0&&r===0)return 1;const o=a>0?Math.min(n/a,1):1,c=r>0?Math.min(s/r,1):1;return i==="both"?Math.min(o,c):Math.max(o,c)}function Ae(e,t,n){if(!n)return!0;const s=n.distance!=null,a=n.delay!=null;return!s&&!a?!0:s&&!a?e>=1:!s&&a?t>=1:(n.condition??"both")==="both"?e>=1&&t>=1:e>=1||t>=1}function Ye(e){if(e.state.value!=="activating"||!e.entities.initiatingDraggable)return!1;const t=e.entities.draggableMap.get(e.entities.initiatingDraggable);return Ae(e.distanceProgress.value,e.delay.progress,t?.activation)?(V(e),!0):!1}function Ve(e,t){let n=null;const s=()=>{if(e.state.value!=="activating"||!e.entities.initiatingDraggable){n=null;return}const a=e.entities.draggableMap.get(e.entities.initiatingDraggable),r=a?.activation?.delay;if(!r){n=null;return}e.delay.progress=Math.min((Date.now()-e.delay.startTime)/(r*1e3),1),Ae(e.distanceProgress.value,e.delay.progress,a?.activation)?(t(),n=null):n=requestAnimationFrame(s)};return n=requestAnimationFrame(s),{cancel:()=>{n!==null&&(cancelAnimationFrame(n),n=null)}}}function Xe(e,t){const n=e.closest(_.CONSTRAINT_AREA);return!n||!t.has(n)?null:{element:n,entity:t.get(n)}}function Ze(e,t,n,s){return n==="x"?{x:e,y:s.top}:n==="y"?{x:s.left,y:t}:{x:e,y:t}}function $e(e,t,n,s,a){let r=e,i=t;return n!=="y"&&(r=Math.max(s.left,Math.min(s.right-a.width,e))),n!=="x"&&(i=Math.max(s.top,Math.min(s.bottom-a.height,t))),{x:r,y:i}}function je(e,t,n,s){if(!e)return{x:0,y:0};const a=t?.width??0,r=t?.height??0;let i=e.current.x-a*e.offset.x,o=e.current.y-r*e.offset.y;if(!n)return{x:i,y:o};const c=Xe(n,s);if(!c)return{x:i,y:o};const{element:l,entity:u}=c,g=l.getBoundingClientRect(),d=n.getBoundingClientRect(),m=Ze(i,o,u.axis||"both",d);return u.restrictToArea?$e(m.x,m.y,u.axis||"both",g,t??{width:0,height:0}):m}const N={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 n=f.shallowRef(),s=f.ref(),r={keys:{pressedKeys:f.ref(new Set),forDrag:[...N.forDrag],forCancel:[...N.forCancel],forDrop:[...N.forDrop],forMove:[...N.forMove],forMoveFaster:[...N.forMoveFaster]},step:8,moveFaster:4},i=f.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,selectionBase:new Set,allowedDroppableSet:f.computed(()=>n.value?_e(i.visibleDroppableSet,i.draggingMap,i.draggableMap,i.droppableMap):new Set),allowedDraggableSet:f.computed(()=>n.value?Ge(i.visibleDraggableSet,i.draggingMap,i.draggableMap):new Set),modifiersSelectableAreaSet:f.computed(()=>pe(i.selectableAreaMap,i.visibleSelectableAreaSet,r.keys.pressedKeys)),modifiersDraggableSet:f.computed(()=>pe(i.draggableMap,i.visibleDraggableSet,r.keys.pressedKeys,D=>de(D,{entities:i}))),visibleDraggableSet:new Set,visibleDroppableSet:new Set,visibleSelectableAreaSet:new Set}),o=f.reactive({draggable:new Map,droppable:new Map}),c={throttle:f.shallowRef(0)},l=f.reactive({x:window.scrollX,y:window.scrollY}),u=f.reactive({progress:0,startTime:0}),g=f.computed(()=>{if(!s.value||!i.initiatingDraggable)return 0;const D=i.draggableMap.get(i.initiatingDraggable)?.activation?.distance;return D?Ue(s.value,D):1}),d=J(i.visibleDraggableSet),m=J(i.visibleDroppableSet),h=J(i.visibleSelectableAreaSet),p=f.ref(),M=f.shallowRef(new DOMRect),b=f.computed(()=>{l.x,l.y;const y=M.value,D=i.initiatingDraggable,I=D?i.draggingMap.get(D):null,T=y.width&&y.height?y:I?.initialRect??null;return je(s.value,T,D||null,i.constraintsAreaMap)}),E=f.computed({get:()=>t?.previewTo,set:y=>E.value=y}),R=f.computed(()=>t?.autoScrollViewport);return{state:n,pointer:s,entities:i,keyboard:r,scrollPosition:l,delay:u,distanceProgress:g,hovered:o,collision:c,preview:{size:M,position:b,render:p,ref:e,to:E},lib:{draggableObserver:d,droppableObserver:m,selectableAreaObserver:h,rectCache:new Map},autoScrollViewport:R}}const X=e=>{const t=e.hovered.draggable.keys().next().value;if(t){const s=e.entities.draggableMap.get(t);s&&(s.hoveredPlacement=void 0)}const n=e.hovered.droppable.keys().next().value;if(n){const s=e.entities.droppableMap.get(n);s&&(s.hoveredPlacement=void 0)}e.lib.rectCache.clear(),e.pointer.value=void 0,e.state.value=void 0,e.entities.selectingArea=void 0,e.entities.selectionBase.clear(),e.entities.initiatingDraggable=void 0,e.delay.progress=0,e.delay.startTime=0,e.entities.draggingMap.clear(),e.hovered.draggable.clear(),e.hovered.droppable.clear()};function We(e){return e.parentElement?.closest(_.SELECT_AREA)??null}const Je=(e,t,n)=>{if(!n)return{};const s=n.getBoundingClientRect(),a=Math.max(s.left,Math.min(e.x,t.x)),r=Math.max(s.top,Math.min(e.y,t.y)),i=Math.min(s.right,Math.max(e.x,t.x)),o=Math.min(s.bottom,Math.max(e.y,t.y)),c=Math.max(0,i-a),l=Math.max(0,o-r),u=a-s.left+n.scrollLeft,g=r-s.top+n.scrollTop;return{position:"absolute",left:`${u}px`,top:`${g}px`,width:`${c}px`,height:`${l}px`,pointerEvents:"none",border:"1px solid #3b82f6",backgroundColor:"#3b82f61a"}},Ee=e=>{if(!e.pointer.value||!e.entities.selectingArea)return;const{selectingArea:t}=e.entities,n=Qe(e.pointer.value.start,e.pointer.value.current),s=e.entities.selectableAreaMap.get(t)?.groups??[],a=e.lib.rectCache;e.entities.visibleDraggableSet.forEach(r=>{if(r===t||!t.contains(r))return;const i=We(r);if(i&&i!==t){e.entities.selectedSet.delete(r);return}if(de(r,e)){e.entities.selectedSet.delete(r);return}const c=e.entities.draggableMap.get(r)?.groups??[];if(!$(s,c)){e.entities.selectedSet.delete(r);return}let l=a.get(r);l||(l=r.getBoundingClientRect(),a.set(r,l));const u=e.entities.selectionBase.has(r),g=ze(n,l);switch(e.entities.selectableAreaMap.get(t)?.strategy){case"toggle":e.entities.selectedSet[g!==u?"add":"delete"](r);break;case"select":e.entities.selectedSet[g?"add":"delete"](r);break}})},Qe=(e,t)=>{const n=Math.min(e.x,t.x),s=Math.min(e.y,t.y),a=Math.max(e.x,t.x),r=Math.max(e.y,t.y),i=a-n,o=r-s;return new DOMRect(n,s,i,o)};function L(e,t,n){const s=Math.max(0,Math.min(t,e.length));return[...e.slice(0,s),...n,...e.slice(s)]}function me(e,t,n=1){const s=Math.max(0,Math.min(t,e.length-1)),a=Math.max(0,Math.min(n,e.length-s));return[...e.slice(0,s),...e.slice(s+a)]}function K(e,t){const n=[...new Set(t)].filter(a=>a>=0&&a<e.length).sort((a,r)=>r-a);let s=e;for(const a of n)s=me(s,a,1);return s}function xe(e,t,n){if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;const s=[...e];return[s[t],s[n]]=[s[n],s[t]],s}const C={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 C.getInsertSide(e,t)==="before"&&!e?.center},isAtZoneEnd(e,t){return C.getInsertSide(e,t)==="after"&&!e?.center}};function Le(e,t){const{draggedItems:n,dropZone:s,hoveredDraggable:a}=e;if(!n.length)return null;const r=a?.placement.center===!0&&s!=null&&s.items!==a.items,i=r?s.items:a?.items??s?.items;if(!i)return null;const o=n[0].items,c=n.map(d=>d.index),l=i.length;let u,g;if(a&&!r){const d=a.items===o&&c.includes(a.index);if(d&&n.length===1){const m=C.isAtZoneStart(s?.placement,t);u=m?0:l,g=m?"prepend":"append"}else{if(d)return null;{const m=C.getInsertSide(a.placement,t),h=a.index;m==="before"?(u=Math.max(0,h),g="insert"):m==="after"?(u=Math.min(l,h+1),g="insert"):(u=l,g="append")}}}else{if(!s)return null;const d=C.isAtZoneStart(s.placement,t);u=d?0:l,g=d?"prepend":"append"}return{targetIndex:u,mode:g,targetArr:i}}function et(e,t="vertical"){const{draggedItems:n}=e;if(!n.length)return null;const s=Le(e,t);if(!s)return null;const{targetArr:a,mode:r}=s;let{targetIndex:i}=s;const o=n.map(g=>g.index),c=n.map(g=>g.item),l=n[0].items;if(l===a){const g=o.filter(m=>m<i).length;i=Math.max(0,i-g);const d=L(K(l,o),i,c);return{sourceItems:d,targetItems:d,draggedItems:c,sourceIndexes:o,targetIndex:i,mode:r,sameList:!0}}else{const g=K(l,o),d=L(a,i,c);return{sourceItems:g,targetItems:d,draggedItems:c,sourceIndexes:o,targetIndex:i,mode:r,sameList:!1}}}function tt(e){const{draggedItems:t,hoveredDraggable:n}=e;if(!t.length||!n)return null;const s=t.map(u=>u.index),a=n.index,r=t.map(u=>u.item),i=n.item,o=t[0].items,c=n.items,l=o===c;if(l&&s.includes(a))return null;if(t.length===1){const u=s[0];if(l){const g=xe(o,u,a);return{sourceItems:g,targetItems:g,sourceIndexes:s,targetIndex:a,sameList:!0}}else{const g=[...o],d=[...c];return g[u]=c[a],d[a]=o[u],{sourceItems:g,targetItems:d,sourceIndexes:s,targetIndex:a,sameList:!1}}}else{const u=Math.min(...s);if(l){const g=s.filter(b=>b<a).length,d=Math.max(0,a-g),m=s.filter(b=>b<u).length,h=Math.max(0,u-m);let p=K(o,s);p=L(p,d,r);const M=h>=d?h+r.length:h;return p=L(p,M,[i]),{sourceItems:p,targetItems:p,sourceIndexes:s,targetIndex:d,sameList:!0}}else{const g=s.filter(p=>p<u).length,d=Math.max(0,u-g);let m=K(o,s);m=L(m,d,[i]);let h=me(c,a);return h=L(h,a,r),{sourceItems:m,targetItems:h,sourceIndexes:s,targetIndex:a,sameList:!1}}}}function nt(e,t="vertical"){const{draggedItems:n}=e;if(!n.length)return null;const s=Le(e,t);if(!s)return null;const{targetArr:a,targetIndex:r,mode:i}=s,o=n.map(l=>l.item);return{targetItems:L(a,r,o),copiedItems:o,targetIndex:r,mode:i}}function st(e){const{draggedItems:t}=e;if(!t.length)return null;const n=t.map(i=>i.index),s=t.map(i=>i.item),a=t[0].items;return{sourceItems:K(a,n),removedItems:s,sourceIndexes:n}}function ke(e){return{insertAt:L,removeAt:me,removeIndexes:K,swapAt:xe,getInsertSide:(t,n)=>C.getInsertSide(t,n),isAtZoneStart:(t,n)=>C.isAtZoneStart(t,n),isAtZoneEnd:(t,n)=>C.isAtZoneEnd(t,n),suggestSort:t=>et(e,t),suggestSwap:()=>tt(e),suggestCopy:t=>nt(e,t),suggestRemove:()=>st(e)}}const P=e=>e.keys().next().value,at=e=>e.target.closest(_.DRAGGABLE);function Ce(e,t){const n=t.entities.draggingMap.get(e);if(n)return n;const s=e.getAttribute(k.DRAGGABLE);if(s){for(const[,a]of t.entities.draggingMap)if(a.id===s)return a}}function it(e){const t=e.entities.initiatingDraggable;if(!t)return[];const n=Ce(t,e)??e.entities.draggableMap.get(t),s=n?.payload;if(!s)return n?.data?[{index:-1,item:void 0,items:[],data:n.data()}]:[];const a=s();if(!Array.isArray(a)||a.length<2)return[];const[r,i]=a,o=Number(r),c=i,l=new Map;return l.set(o,{index:o,item:c[o],items:c,data:n?.data?.()}),e.entities.draggingMap.forEach((u,g)=>{const d=e.entities.draggableMap.get(g),m=d?.payload;if(!m)return;const h=m();if(!Array.isArray(h)||h.length<2)return;const[p,M]=h;if(M!==c)return;const b=Number(p);l.has(b)||l.set(b,{index:b,item:M[b],items:c,data:d?.data?.()})}),[...l.values()].sort((u,g)=>u.index-g.index)}const A=(e,t)=>{const n=it(e);let s,a;if(t){const r=e.entities.droppableMap.get(t);if(r){const c=r.payload;s={items:c?c():[],placement:e.hovered.droppable.get(t),data:r.data?.()}}const i=P(e.hovered.draggable);if(i&&(i===t||t.contains(i))&&i){const c=e.entities.draggableMap.get(i),l=c?.payload,u=e.hovered.draggable.get(i),g={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,p=Number(m);a={element:i,placement:u??g,index:p,item:h[p],items:h,data:c?.data?.()}}}else c?.data&&(a={element:i,placement:u??g,index:-1,item:void 0,items:[],data:c.data()})}}return{draggedItems:n,dropZone:s,hoveredDraggable:a,provider:e,helpers:ke({draggedItems:n,dropZone:s,hoveredDraggable:a})}},O=(e,t,n)=>{if(!t)return;const s=Ce(t,e)??e.entities.draggableMap.get(t);!s||s.disabled||s.events?.[n]?.(A(e))},v=(e,t)=>{const n=A(e);e.entities.draggingMap.forEach(s=>{s.disabled||s.events?.[t]?.(n)})},ot=(e,t,n)=>{if(t!==n){if(t&&!H(t,e)){const s=A(e,t);e.entities.droppableMap.get(t)?.events?.onLeave?.(s)}if(n&&!H(n,e)){const s=A(e,n);e.entities.droppableMap.get(n)?.events?.onEnter?.(s)}}},rt=(e,t,n)=>{if(t!==n){const s=A(e);if(t){const a=e.entities.draggableMap.get(t);a&&!a.disabled&&a.events?.onLeave?.(s)}if(n){const a=e.entities.draggableMap.get(n);a&&!a.disabled&&a.events?.onHover?.(s)}}},Q=(e,t,n)=>{const s=at(t);!s||!e.entities.draggingMap.has(s)||e.entities.draggingMap.get(s)?.events?.[n]?.(A(e))},lt=(e,t)=>{const n=P(t.droppable);n&&!H(n,e)&&e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e,n))},le=(e,t)=>{const n=P(t.droppable);n&&!H(n,e)&&e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e,n))},ct=(e,t,n=5)=>{const s=n/2;return{left:e-s,top:t-s,width:n,height:n}},gt=e=>{const t=e.pointer.value?.current,n=t?.x??0,s=t?.y??0;return ct(n,s,5)},B=(e,t,n)=>{const s=e.left+e.width/2,a=e.top+e.height/2;if(n){const o=n.top??0,c=n.right??0,l=n.bottom??0,u=n.left??0,g=t.left+u,d=t.right-c,m=t.top+o,h=t.bottom-l;if(g<d&&m<h&&s>=g&&s<=d&&a>=m&&a<=h)return{top:!1,right:!1,bottom:!1,left:!1,center:!0}}const r=t.left+t.width/2,i=t.top+t.height/2;return{top:a<=i,bottom:a>i,left:s<=r,right:s>r,center:!1}},ut=e=>({x:e.left+e.width/2,y:e.top+e.height/2}),be=(e,t)=>{const n=ut(t);return Math.hypot(e.x-n.x,e.y-n.y)};function ft(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){ft(e.hoveredPlacement,t)||(e.hoveredPlacement=t)}const dt=(e,t)=>e.find(n=>n!==t&&G(t,n)),ce=(e,t,n)=>{const s=P(t.droppable),a=P(t.draggable);a&&t.draggable.delete(a),s&&t.droppable.delete(s);const r=gt(e),i=n.zones[0],o=n.elements[0];if(i&&o&&i===o&&e.entities.droppableMap.has(i)&&i){const g=i.getBoundingClientRect(),d=e.entities.draggableMap.get(i)?.placementMargins,m=B(r,g,d);if(m.center){t.droppable.set(i,m);const h=dt(n.elements,i);if(h){const p=h.getBoundingClientRect();t.draggable.set(h,B(r,p,void 0))}}else{t.draggable.set(o,m);const h=n.zones.find(p=>p!==i);if(h){const p=h.getBoundingClientRect();t.droppable.set(h,B(r,p))}}}else{if(i){const g=i.getBoundingClientRect();t.droppable.set(i,B(r,g))}if(o)if(i)if(G(i,o)){const g=o.getBoundingClientRect(),d=e.entities.draggableMap.get(o)?.placementMargins;t.draggable.set(o,B(r,g,d))}else{const g=e.pointer.value?.current??{x:0,y:0},d=i.getBoundingClientRect(),m=o.getBoundingClientRect(),h=be(g,d);if(be(g,m)<h){t.droppable.clear();const M=e.entities.draggableMap.get(o)?.placementMargins;t.draggable.set(o,B(r,m,M))}}else{const g=o.getBoundingClientRect(),d=e.entities.draggableMap.get(o)?.placementMargins;t.draggable.set(o,B(r,g,d))}}const l=P(t.droppable),u=P(t.draggable);if(a&&a!==u){const g=e.entities.draggableMap.get(a);g&&U(g,void 0)}if(s&&s!==l){const g=e.entities.droppableMap.get(s);g&&U(g,void 0)}if(u){const g=e.entities.draggableMap.get(u);g&&U(g,t.draggable.get(u))}if(l){const g=e.entities.droppableMap.get(l);g&&U(g,t.droppable.get(l))}ot(e,s,l),rt(e,a,u)},ee=(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,te=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}},ne=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),s=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y)),a=n*s,r=e.width*e.height,i=t.width*t.height;return r===0||i===0?0:(a/r*100+a/i*100)/2},mt=e=>e.preview.ref?.value??null,ye=e=>{const t=e.preview.position?.value??{x:0,y:0},{x:n,y:s}=t,a=e.preview.size?.value;let r,i;if(a)r=a.width,i=a.height;else{const o=e.preview.ref?.value?.getBoundingClientRect();r=o?.width??0,i=o?.height??0}return{x:n,y:s,width:r,height:i,top:s,left:n,right:n+r,bottom:s+i}},ge=e=>e.entities.allowedDraggableSet,Re=e=>e.entities.allowedDroppableSet,ht=(e,t)=>!t.entities.draggingMap.has(e),pt=(e,t)=>![...t.entities.draggingMap.keys()].some(n=>{if(G(n,e))return!0;const s=n.parentElement;return!!(s&&e!==n&&!t.entities.draggableMap.has(s)&&!t.entities.droppableMap.has(s)&&G(s,e)&&[...t.entities.draggableMap.keys()].filter(r=>r.parentElement===s).length===1)}),bt=(e,t)=>t.entities.draggableMap.has(e)?!de(e,t):t.entities.droppableMap.has(e)?!H(e,t):!0,Y=(e,t)=>ht(e,t)&&pt(e,t)&&bt(e,t),se=10;function z(e,t){return Math.hypot(t.x-(e.x+e.width/2),t.y-(e.y+e.height/2))}function yt(e){const t=e.pointer.value?.current??{x:0,y:0},n=document.elementFromPoint(t.x,t.y);if(!n)return null;const s=ge(e),a=Re(e),r=[],i=[];let o=n;for(;o;)(s.has(o)||a.has(o))&&Y(o,e)&&(s.has(o)&&r.push(o),a.has(o)&&i.push(o)),o=o.parentElement;return r.length===0&&i.length===0?null:{elements:r,zones:i}}const ue=e=>{if(!mt(e))return{elements:[],zones:[]};const n=e.pointer.value?.current??{x:0,y:0},s=yt(e);if(s){if(s.elements.length>0)return s;const l=s.zones[0];if(!l)return s;const u=ye(e);return{elements:[...ge(e)].filter(m=>l.contains(m)&&Y(m,e)).map(m=>({el:m,box:te(m)})).filter(({box:m})=>ee(m,u)&&ne(m,u)>=se).sort((m,h)=>z(m.box,n)-z(h.box,n)).map(({el:m})=>m),zones:s.zones}}const a=ye(e),r=[...ge(e)].filter(l=>Y(l,e)),i=[...Re(e)].filter(l=>Y(l,e)),o=r.map(l=>({n:l,box:te(l)})).filter(({box:l})=>ee(l,a)&&ne(l,a)>=se).sort((l,u)=>z(l.box,n)-z(u.box,n)).map(({n:l})=>l),c=i.map(l=>({n:l,box:te(l)})).filter(({box:l})=>ee(l,a)&&ne(l,a)>=se).sort((l,u)=>z(l.box,n)-z(u.box,n)).map(({n:l})=>l);return{elements:o,zones:c}};function fe(e){const t=ue(e);ce(e,e.hovered,t)}function Dt(e,t){const n=e.collision?.throttle?.value??0;if(n<=0){fe(e);return}const s=Date.now();s-t.value>=n&&(t.value=s,fe(e))}async function Ie(e){const t=e.hovered.droppable.keys().next().value;if(!t||H(t,e))return"accept";const n=e.entities.droppableMap.get(t),s=A(e,t);let a=s;if(n?.groupMatch==="some"&&(n.groups?.length??0)>0){const o=n.groups,c=s.draggedItems.filter(u=>{for(const[,g]of e.entities.draggingMap){const d=g.payload?.();if(!(!Array.isArray(d)||d.length<2)&&Number(d[0])===u.index&&d[1]===u.items)return $(g.groups??[],o)}return!0}),l=s.draggedItems.filter(u=>!c.includes(u));if(l.length>0){const u=g=>({...s,draggedItems:g,helpers:ke({...s,draggedItems:g})});if(n.events?.onValidate){const g=n.events.onValidate({validItems:c,invalidItems:l,dropZone:s.dropZone,hoveredDraggable:s.hoveredDraggable}),d=g!=null&&typeof g.then=="function";let m;if(d){e.state.value="pending";try{m=await g}catch{const p=e.entities.initiatingDraggable;return O(e,p,"onSelfDragCancel"),v(e,"onDragCancel"),le(e,e.hovered),"cancel"}}else m=g;if(m===!1)return e.state.value="dragging","decline";const h=Array.isArray(m)?m:c;if(h.length===0)return"accept";a=u(h)}else{if(c.length===0)return"accept";a=u(c)}}}const r=n?.events?.onDrop?.(a);if(r!=null&&typeof r.then=="function"){e.state.value="pending";let o;try{o=await r}catch{const c=e.entities.initiatingDraggable;return O(e,c,"onSelfDragCancel"),v(e,"onDragCancel"),le(e,e.hovered),"cancel"}return o===!1?(e.state.value="dragging","decline"):"accept"}return r===!1?"decline":"accept"}function Te(e){const t=e.entities.initiatingDraggable;O(e,t,"onSelfDragEnd"),v(e,"onDragEnd"),lt(e,e.hovered)}function St(e){const t=e.entities.selectingArea;if(!t)return;const n=e.entities.selectableAreaMap.get(t),s=[...e.entities.selectedSet];n?.events?.onSelected?.(s)}const wt=e=>{const t={current:null},n={value:0},s=async()=>{oe(),t.current?.cancel(),t.current=null;const o=e.state.value;if(o==="dragging"){const c=await Ie(e);if(c==="accept"&&Te(e),c==="accept"||c==="cancel"){X(e),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",a);return}return}else o==="selecting"&&St(e);X(e),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",a)},a=o=>{if(e.pointer.value&&e.state.value!=="pending"){if(e.pointer.value.current={x:o.clientX,y:o.clientY},Ye(e)){Q(e,o,"onSelfDragStart"),v(e,"onDragStart");return}if(e.state.value==="dragging"){Dt(e,n);const c=e.entities.initiatingDraggable;O(e,c,"onSelfDragMove"),v(e,"onDragMove")}e.state.value==="selecting"&&Ee(e)}};return{pointerDown:o=>{document.addEventListener("pointerup",s),document.addEventListener("pointermove",a);const c=o.composedPath?.()[0]??o.target,l=c.closest(_.SELECT_AREA),u=c.closest(_.DRAGGABLE);if(e.entities.modifiersSelectableAreaSet.size>0&&e.entities.modifiersSelectableAreaSet.has(l)){ie(),e.pointer.value=re(o),e.state.value="selecting",e.entities.selectingArea=l,e.entities.selectionBase=new Set(e.entities.selectedSet);return}if(e.entities.modifiersDraggableSet.size>0&&e.entities.modifiersDraggableSet.has(u)){const g=e.entities.draggableMap.get(u);if(!ve(c,u,g?.dragHandle))return;ie(),e.entities.initiatingDraggable=u;const d=we(o,u);e.pointer.value=re(o,d.x,d.y),g?.activation?.distance||g?.activation?.delay?(e.state.value="activating",g?.activation?.delay&&(e.delay.startTime=Date.now(),t.current=Ve(e,()=>{V(e),Q(e,o,"onSelfDragStart"),v(e,"onDragStart")}))):(V(e),Q(e,o,"onSelfDragStart"),v(e,"onDragStart"))}},pointerUp:s,pointerMove:a,cleanup:()=>{t.current?.cancel(),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",a),e.lib.draggableObserver.disconnect(),e.lib.droppableObserver.disconnect(),e.lib.selectableAreaObserver.disconnect()}}},Mt={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}},vt=e=>t=>{const{keys:n}=e.keyboard;if(n.pressedKeys.value.add(t.code),e.state.value==="dragging"){if(n.forCancel.includes(t.code)){t.preventDefault(),oe(),O(e,e.entities.initiatingDraggable,"onSelfDragCancel"),v(e,"onDragCancel"),le(e,e.hovered),X(e);return}if(n.forDrop.includes(t.code)){t.preventDefault(),(async()=>(await Ie(e)&&Te(e),oe(),X(e)))();return}const a=Mt[t.code];if(a&&n.forMove.includes(t.code)&&e.pointer.value){t.preventDefault();const r=n.forMoveFaster.some(c=>n.pressedKeys.value.has(c)),i=e.keyboard.step*(r?e.keyboard.moveFaster:1);e.pointer.value.current={x:e.pointer.value.current.x+a.dx*i,y:e.pointer.value.current.y+a.dy*i};const o=ue(e);ce(e,e.hovered,o),O(e,e.entities.initiatingDraggable,"onSelfDragMove"),v(e,"onDragMove");return}return}if(n.forDrag.includes(t.code)){const a=document.activeElement;if(!a)return;const r=a.closest(_.DRAGGABLE);if(!r||e.entities.modifiersDraggableSet.size===0||!e.entities.modifiersDraggableSet.has(r))return;const i=e.entities.draggableMap.get(r);if(!ve(a,r,i?.dragHandle,!0))return;t.preventDefault(),ie();const o=r.getBoundingClientRect(),c=o.left+o.width/2,l=o.top+o.height/2,u={clientX:c,clientY:l};e.entities.initiatingDraggable=r;const g=we(u,r);e.pointer.value=re(u,g.x,g.y),V(e);const d=ue(e);ce(e,e.hovered,d),O(e,r,"onSelfDragStart"),v(e,"onDragStart")}},At=e=>t=>{e.keyboard.keys.pressedKeys.value.delete(t.code)},Et=e=>()=>{e.keyboard.keys.pressedKeys.value.clear()},ae={keyDown:vt,keyUp:At,clear:Et},xt=e=>()=>{if(!e.state.value)return;const t=e.scrollPosition.x,n=e.scrollPosition.y;if(e.scrollPosition.x=window.scrollX,e.scrollPosition.y=window.scrollY,e.lib.rectCache.clear(),e.state.value==="dragging"){fe(e);return}if(e.state.value==="selecting"&&e.pointer.value){const s=window.scrollX-t,a=window.scrollY-n;e.pointer.value.start.x-=s,e.pointer.value.start.y-=a,Ee(e)}},x=50,Lt=144,De=1e3/Lt;function kt(e){return e==null?{top:x,right:x,bottom:x,left:x}:typeof e=="number"?{top:e,right:e,bottom:e,left:e}:{top:e.top??x,right:e.right??x,bottom:e.bottom??x,left:e.left??x}}const Ct={getScrollState(e){return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}},setScroll(e,t,n){e.scrollTop=t,e.scrollLeft=n}};function Be(e,t,n,s=Ct,a){const{speed:r=10,disabled:i=!1}=t,o=kt(t.threshold);let c=null,l=null,u=null,g=0,d=0;const m=b=>{a&&(a.value=b)},h=b=>{const E=e.value,R=n();if(!E||!R||i){m(!1);return}l||(l=b);const y=b-l;if(y<De){c=requestAnimationFrame(h);return}const D=r*(y/De);l=b;const{scrollTop:I,scrollLeft:T}=s.getScrollState(E);(!u||g!==I||d!==T)&&(u=s.getRect?s.getRect(E):E.getBoundingClientRect(),g=I,d=T);let F=!1,q=I,W=T;o.top>0&&R.y-u.top<o.top?(q=I-D,F=!0):o.bottom>0&&u.bottom-R.y<o.bottom&&(q=I+D,F=!0),o.left>0&&R.x-u.left<o.left?(W=T-D,F=!0):o.right>0&&u.right-R.x<o.right&&(W=T+D,F=!0),F&&s.setScroll(E,q,W),m(F),c=requestAnimationFrame(h)};return{run:()=>{l=null,c=requestAnimationFrame(h)},stop:()=>{c&&(cancelAnimationFrame(c),c=null),u=null,g=0,d=0,l=null,m(!1)}}}const Rt={getScrollState(){return{scrollTop:window.scrollY??document.documentElement.scrollTop,scrollLeft:window.scrollX??document.documentElement.scrollLeft}},setScroll(e,t,n){window.scrollTo(n,t)},getRect(){return new DOMRect(0,0,window.innerWidth,window.innerHeight)}},It={get value(){return typeof document<"u"?document.documentElement:null}};function Tt(e,t){const n=f.shallowRef(!1),a=Be(It,t??{},()=>{if(e.state.value!=="dragging")return null;const o=e.preview.position.value,c=e.preview.size.value;return o?c?.width&&c?.height?{x:o.x+c.width/2,y:o.y+c.height/2}:o:null},Rt,n),r=f.watch(()=>e.state.value,o=>{o==="dragging"?a.run():a.stop()}),i=()=>{r(),a.stop()};return f.onScopeDispose(i),{isScrolling:n,stop:i}}const Bt=e=>{const t=wt(e),n=ae.keyDown(e),s=ae.keyUp(e),a=ae.clear(e),r=xt(e);let i=null;f.watch(e.autoScrollViewport,o=>{i?.(),i=null,(o===!0||o&&typeof o=="object")&&(i=Tt(e,o===!0?{}:o).stop)},{immediate:!0}),f.onMounted(()=>{document.addEventListener("pointerdown",t.pointerDown),document.addEventListener("keydown",n),document.addEventListener("keyup",s),document.addEventListener("blur",a),document.addEventListener("scroll",r,!0)}),f.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",t.pointerDown),document.removeEventListener("pointerup",t.pointerUp),document.removeEventListener("pointermove",t.pointerMove),document.removeEventListener("keydown",n),document.removeEventListener("keyup",s),document.removeEventListener("blur",a),document.removeEventListener("scroll",r,!0),i?.(),t.cleanup()})},j=()=>{const e=f.inject(Z);if(!e)throw Error("DnD provider not found");return e},he=()=>{const e=j();return{preview:e.preview,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}},Pe=f.defineComponent({__name:"DragPreview",props:{grid:{}},setup(e){const{state:t,entities:n,preview:s}=he(),a=f.useTemplateRef("contentRef");f.watch(()=>a.value,()=>{const o=a.value?.getBoundingClientRect();o&&(s.size.value=o)});const r=(o,c)=>!c||c<=0?o:Math.round(o/c)*c,i=f.computed(()=>{const{x:o,y:c}=s.position.value,l=typeof e.grid=="object"?e.grid.x:e.grid,u=typeof e.grid=="object"?e.grid.y:e.grid;return{x:r(o,l),y:r(c,u)}});return(o,c)=>f.unref(t)==="dragging"?(f.openBlock(),f.createElementBlock("div",{key:0,class:"dnd-kit-preview",ref_key:"contentRef",ref:a,style:f.normalizeStyle({transform:`translate3d(${i.value.x}px, ${i.value.y}px, 0)`})},[f.renderSlot(o.$slots,"default",{draggingMap:f.unref(n).draggingMap},()=>[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(f.unref(n).draggingMap,([l,u])=>(f.openBlock(),f.createElementBlock(f.Fragment,{key:l},[u.render?(f.openBlock(),f.createBlock(f.resolveDynamicComponent(u.render),{key:0})):(f.openBlock(),f.createBlock(f.resolveDynamicComponent(l.tagName),{key:1,innerHTML:u.initialOuterHTML,style:f.normalizeStyle({width:u.initialRect.width+"px",height:u.initialRect.height+"px"})},null,8,["innerHTML","style"]))],64))),128))])],4)):f.createCommentVNode("",!0)}}),Pt=f.defineComponent({__name:"DnDProvider",props:{autoScrollViewport:{type:[Object,Boolean,null]},previewTo:{type:[String,Boolean,null]},style:{},class:{}},setup(e){const t=e,n=f.useTemplateRef("previewRef"),s=qe(n,t);Bt(s);const a=f.computed(()=>s.preview.render.value??Pe);return f.provide(Z,s),(r,i)=>(f.openBlock(),f.createElementBlock(f.Fragment,null,[f.renderSlot(r.$slots,"default"),(f.openBlock(),f.createBlock(f.Teleport,{to:f.unref(s).preview.to.value||"body"},[f.createElementVNode("div",f.mergeProps({ref_key:"previewRef",ref:n,class:"dnd-kit-preview-container"},t),[f.renderSlot(r.$slots,"preview",{preview:a.value},()=>[(f.openBlock(),f.createBlock(f.resolveDynamicComponent(a.value)))])],16)],8,["to"]))],64))}});function Ot(e,t,n){const s=j();let a,r,i;typeof t=="function"?(a={},r=t):(a=t??{},r=n);const o=a.id??Math.random().toString(36).slice(2),c=f.computed({get(){const d=S(e);return d?s.entities.selectedSet.has(d):!1},set(d){const m=S(e);m&&s.entities.selectedSet[d?"add":"delete"](m)}}),l=f.computed(()=>{const d=S(e);return d?s.entities.draggingMap.has(d):!1}),u=f.computed(()=>{const d=S(e);return d?s.entities.allowedDraggableSet.has(d):!1}),g=f.computed(()=>{const d=S(e);if(d)return s.entities.draggableMap.get(d)?.hoveredPlacement});return f.onMounted(()=>{if(i=S(e),!!i&&(i.addEventListener("dragstart",w),i.addEventListener("drag",w),i.addEventListener("dragend",w),i.setAttribute(k.DRAGGABLE,o),s.lib.draggableObserver.observe(i),s.entities.draggableMap.set(i,{id:o,render:a.render,disabled:a.disabled??!1,groups:a.groups??[],modifier:a.modifier,events:a.events,payload:r,data:a.data,dragHandle:a.dragHandle,activation:a.activation,placementMargins:a.placementMargins,hoveredPlacement:void 0}),o)){for(const[d,m]of s.entities.draggingMap)if(m.id===o&&d!==i){s.entities.draggingMap.delete(d),s.entities.draggingMap.set(i,m);break}}}),f.onBeforeUnmount(()=>{i&&(s.lib.draggableObserver.unobserve(i),s.entities.visibleDraggableSet.delete(i),s.entities.draggableMap.delete(i),s.entities.modifiersDraggableSet.delete(i))}),{selected:c,isDragging:l,isAllowed:u,isDragOver:g}}const Ft=(e,t)=>{const n=j(),s=f.computed(()=>e.value===n.entities.selectingArea);let a=null;f.onMounted(()=>{a=S(e),a&&(a.setAttribute(k.SELECT_AREA,""),n.lib.selectableAreaObserver.observe(a),n.entities.selectableAreaMap.set(a,{modifier:t?.modifier??{keys:["ControlLeft"],method:"every"},events:t?.events,disabled:t?.disabled??!1,groups:t?.groups??[],strategy:t?.strategy??"toggle"}))}),f.onBeforeUnmount(()=>{a&&(n.lib.selectableAreaObserver.unobserve(a),n.entities.visibleSelectableAreaSet.delete(a),n.entities.modifiersSelectableAreaSet.delete(a),n.entities.selectableAreaMap.delete(a))});const r=f.computed(()=>{n.scrollPosition.x,n.scrollPosition.y;const i=n.pointer.value;return!i||n.state.value!=="selecting"||!a||!s.value?{}:Je(i.start,i.current,a)});return{isSelecting:s,style:r}};function zt(e,t){const n=f.inject(Z);if(!n)throw Error("DnD provider not found");let s=null;return f.onMounted(()=>{s=S(e),s&&(s.setAttribute(k.CONSTRAINT_AREA,""),n.entities.constraintsAreaMap.set(s,{axis:t?.axis||"both",restrictToArea:t?.restrictToArea||!1}))}),f.onBeforeUnmount(()=>{s&&n.entities.constraintsAreaMap.delete(s)}),{}}function _t(e,t,n){const s=j();let a=null,r,i;typeof t=="function"?(r={},i=t):(r=t??{},i=n);const o=f.computed(()=>{const l=S(e);return l?s.entities.allowedDroppableSet.has(l):!1}),c=f.computed(()=>{const l=S(e);if(l)return s.entities.droppableMap.get(l)?.hoveredPlacement});return f.onMounted(()=>{a=S(e),a&&(a.setAttribute(k.DROPPABLE,""),s.lib.droppableObserver.observe(a),s.entities.droppableMap.set(a,{disabled:r.disabled??!1,groups:r.groups??[],groupMatch:r.groupMatch??"every",events:r.events,payload:i,data:r.data,hoveredPlacement:void 0}))}),f.onBeforeUnmount(()=>{a&&(s.lib.droppableObserver.unobserve(a),s.entities.visibleDroppableSet.delete(a),s.entities.droppableMap.delete(a))}),{isAllowed:o,isDragOver:c}}const Gt=(e,t)=>{const n=he(),s=f.shallowRef(!1),r=Be(e,t??{},()=>{if(n.state.value!=="dragging")return null;const i=n.preview.position.value,o=n.preview.size.value;return i?o?.width&&o?.height?{x:i.x+o.width/2,y:i.y+o.height/2}:i:null},void 0,s);return f.watch(()=>n.state.value,i=>{i==="dragging"?r.run():r.stop()}),{isScrolling:s}};exports.DnDProvider=Pt;exports.DragPreview=Pe;exports.injectionKey=Z;exports.makeAutoScroll=Gt;exports.makeConstraintArea=zt;exports.makeDraggable=Ot;exports.makeDroppable=_t;exports.makeSelectionArea=Ft;exports.useDnDProvider=he;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),k={SELECT_AREA:"data-dnd-kit-select-area",DRAGGABLE:"data-dnd-kit-draggable",DROPPABLE:"data-dnd-kit-droppable",CONSTRAINT_AREA:"data-dnd-kit-constraint-area"},_={SELECT_AREA:`[${k.SELECT_AREA}]`,DRAGGABLE:`[${k.DRAGGABLE}]`,CONSTRAINT_AREA:`[${k.CONSTRAINT_AREA}]`},Z="VueDnDKitProvider",he=(e,t,n,s)=>{const a=new Set;return t.forEach(r=>{const i=e.get(r),o=s?s(r):i?.disabled;if(!i||o)return;const c=i.modifier?.keys,l=i.modifier?.method;if(!c||!l||c.length===0){a.add(r);return}c[l](g=>n.value.has(g))&&a.add(r)}),a};let we="",Oe="",Fe="";const w=e=>e.value?e.value instanceof HTMLElement?e.value:e.value.$el:null,G=(e,t)=>e!==t&&e.contains(t),ze=(e,t)=>!(e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom),ie=()=>{const e=document.body;we=e.style.userSelect,e.style.userSelect="none",window.addEventListener("contextmenu",S),window.addEventListener("selectstart",S),window.addEventListener("touchstart",S),window.addEventListener("touchmove",S)},oe=()=>{const e=document.body;e.style.userSelect=we,e.style.touchAction=Oe,e.style.overscrollBehavior=Fe,window.removeEventListener("contextmenu",S),window.removeEventListener("selectstart",S),window.removeEventListener("touchstart",S),window.removeEventListener("touchmove",S)},S=e=>e.preventDefault(),de=(e,t)=>{if(t.entities.draggableMap.get(e)?.disabled)return!0;for(const s of t.entities.visibleDraggableSet)if(t.entities.draggableMap.get(s)?.disabled&&G(s,e))return!0;return!1},H=(e,t)=>{if(t.entities.droppableMap.get(e)?.disabled)return!0;for(const s of t.entities.visibleDroppableSet)if(t.entities.droppableMap.get(s)?.disabled&&G(s,e))return!0;return!1},$=(e,t)=>{if(!e.length||!t.length)return!0;const n=new Set(t);return e.some(s=>n.has(s))};function _e(e,t,n,s){const a=[];for(const i of t.keys()){const o=n.get(i);a.push({groups:o?.groups??[]})}const r=new Set;for(const i of e){const o=s.get(i),c=o?.groups??[],l=o?.groupMatch??"every";(!a.length||a[l](g=>$(g.groups,c)))&&r.add(i)}return r}function Ge(e,t,n){const s=new Set;for(const i of t.keys()){const o=n.get(i);for(const c of o?.groups??[])s.add(c)}const a=[...s],r=new Set;for(const i of e){const c=n.get(i)?.groups??[];$(a,c)&&r.add(i)}return r}const J=e=>{if(typeof IntersectionObserver>"u")return{observe:()=>{},unobserve:()=>{},disconnect:()=>{}};const t=new IntersectionObserver(n=>{n.forEach(s=>{const a=s.target;e[s.isIntersecting?"add":"delete"](a)})});return{observe:n=>t.observe(n),unobserve:n=>t.unobserve(n),disconnect:()=>t.disconnect()}};function re(e,t=0,n=0){return{start:{x:e.clientX,y:e.clientY},current:{x:e.clientX,y:e.clientY},offset:{x:t,y:n}}}function Se(e,t){const n=t.getBoundingClientRect(),s=n.width>0?(e.clientX-n.left)/n.width:.5,a=n.height>0?(e.clientY-n.top)/n.height:.5;return{x:s,y:a}}function Me(e,t){return{...t,initialHTML:e.innerHTML,initialRect:e.getBoundingClientRect(),initialOuterHTML:e.outerHTML}}function He(e,t,n){e.forEach(s=>{const a=t.get(s);n.set(s,Me(s,a))}),e.clear()}function Ke(e,t,n){n.clear();const s=t.get(e);n.set(e,Me(e,s))}function V(e){e.entities.initiatingDraggable&&(e.state.value="dragging",Ne(e.entities.initiatingDraggable,e.entities.selectedSet,e.entities.draggableMap,e.entities.draggingMap))}function Ne(e,t,n,s){t.has(e)?He(t,n,s):(t.clear(),Ke(e,n,s))}function ve(e,t,n,s){if(s||!n)return!0;const a=e.closest(n);return a?t.contains(a):!1}function Ue(e,t){if(!e||!t)return 1;const n=Math.abs(e.current.x-e.start.x),s=Math.abs(e.current.y-e.start.y);if(typeof t=="number"){const l=Math.sqrt(n*n+s*s);return Math.min(l/t,1)}const{x:a=0,y:r=0,condition:i="any"}=t;if(a===0&&r===0)return 1;const o=a>0?Math.min(n/a,1):1,c=r>0?Math.min(s/r,1):1;return i==="both"?Math.min(o,c):Math.max(o,c)}function Ae(e,t,n){if(!n)return!0;const s=n.distance!=null,a=n.delay!=null;return!s&&!a?!0:s&&!a?e>=1:!s&&a?t>=1:(n.condition??"both")==="both"?e>=1&&t>=1:e>=1||t>=1}function Ye(e){if(e.state.value!=="activating"||!e.entities.initiatingDraggable)return!1;const t=e.entities.draggableMap.get(e.entities.initiatingDraggable);return Ae(e.distanceProgress.value,e.delay.progress,t?.activation)?(V(e),!0):!1}function Ve(e,t){let n=null;const s=()=>{if(e.state.value!=="activating"||!e.entities.initiatingDraggable){n=null;return}const a=e.entities.draggableMap.get(e.entities.initiatingDraggable),r=a?.activation?.delay;if(!r){n=null;return}e.delay.progress=Math.min((Date.now()-e.delay.startTime)/(r*1e3),1),Ae(e.distanceProgress.value,e.delay.progress,a?.activation)?(t(),n=null):n=requestAnimationFrame(s)};return n=requestAnimationFrame(s),{cancel:()=>{n!==null&&(cancelAnimationFrame(n),n=null)}}}function Xe(e,t){const n=e.closest(_.CONSTRAINT_AREA);return!n||!t.has(n)?null:{element:n,entity:t.get(n)}}function Ze(e,t,n,s){return n==="x"?{x:e,y:s.top}:n==="y"?{x:s.left,y:t}:{x:e,y:t}}function $e(e,t,n,s,a){let r=e,i=t;return n!=="y"&&(r=Math.max(s.left,Math.min(s.right-a.width,e))),n!=="x"&&(i=Math.max(s.top,Math.min(s.bottom-a.height,t))),{x:r,y:i}}function je(e,t,n,s){if(!e)return{x:0,y:0};const a=t?.width??0,r=t?.height??0;let i=e.current.x-a*e.offset.x,o=e.current.y-r*e.offset.y;if(!n)return{x:i,y:o};const c=Xe(n,s);if(!c)return{x:i,y:o};const{element:l,entity:f}=c,g=l.getBoundingClientRect(),d=n.getBoundingClientRect(),m=Ze(i,o,f.axis||"both",d);return f.restrictToArea?$e(m.x,m.y,f.axis||"both",g,t??{width:0,height:0}):m}const N={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 n=u.shallowRef(),s=u.ref(),r={keys:{pressedKeys:u.ref(new Set),forDrag:[...N.forDrag],forCancel:[...N.forCancel],forDrop:[...N.forDrop],forMove:[...N.forMove],forMoveFaster:[...N.forMoveFaster]},step:8,moveFaster:4},i=u.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,selectionBase:new Set,allowedDroppableSet:u.computed(()=>n.value?_e(i.visibleDroppableSet,i.draggingMap,i.draggableMap,i.droppableMap):new Set),allowedDraggableSet:u.computed(()=>n.value?Ge(i.visibleDraggableSet,i.draggingMap,i.draggableMap):new Set),modifiersSelectableAreaSet:u.computed(()=>he(i.selectableAreaMap,i.visibleSelectableAreaSet,r.keys.pressedKeys)),modifiersDraggableSet:u.computed(()=>he(i.draggableMap,i.visibleDraggableSet,r.keys.pressedKeys,D=>de(D,{entities:i}))),visibleDraggableSet:new Set,visibleDroppableSet:new Set,visibleSelectableAreaSet:new Set}),o=u.reactive({draggable:new Map,droppable:new Map}),c={throttle:u.shallowRef(0)},l=u.reactive({x:typeof window<"u"?window.scrollX:0,y:typeof window<"u"?window.scrollY:0}),f=u.reactive({progress:0,startTime:0}),g=u.computed(()=>{if(!s.value||!i.initiatingDraggable)return 0;const D=i.draggableMap.get(i.initiatingDraggable)?.activation?.distance;return D?Ue(s.value,D):1}),d=J(i.visibleDraggableSet),m=J(i.visibleDroppableSet),p=J(i.visibleSelectableAreaSet),h=u.ref(),M=u.shallowRef(typeof DOMRect<"u"?new DOMRect:{}),b=u.computed(()=>{l.x,l.y;const y=M.value,D=i.initiatingDraggable,I=D?i.draggingMap.get(D):null,T=y.width&&y.height?y:I?.initialRect??null;return je(s.value,T,D||null,i.constraintsAreaMap)}),E=u.computed({get:()=>t?.previewTo,set:y=>E.value=y}),R=u.computed(()=>t?.autoScrollViewport);return{state:n,pointer:s,entities:i,keyboard:r,scrollPosition:l,delay:f,distanceProgress:g,hovered:o,collision:c,preview:{size:M,position:b,render:h,ref:e,to:E},lib:{draggableObserver:d,droppableObserver:m,selectableAreaObserver:p,rectCache:new Map},autoScrollViewport:R}}const X=e=>{const t=e.hovered.draggable.keys().next().value;if(t){const s=e.entities.draggableMap.get(t);s&&(s.hoveredPlacement=void 0)}const n=e.hovered.droppable.keys().next().value;if(n){const s=e.entities.droppableMap.get(n);s&&(s.hoveredPlacement=void 0)}e.lib.rectCache.clear(),e.pointer.value=void 0,e.state.value=void 0,e.entities.selectingArea=void 0,e.entities.selectionBase.clear(),e.entities.initiatingDraggable=void 0,e.delay.progress=0,e.delay.startTime=0,e.entities.draggingMap.clear(),e.hovered.draggable.clear(),e.hovered.droppable.clear()};function We(e){return e.parentElement?.closest(_.SELECT_AREA)??null}const Je=(e,t,n)=>{if(!n)return{};const s=n.getBoundingClientRect(),a=Math.max(s.left,Math.min(e.x,t.x)),r=Math.max(s.top,Math.min(e.y,t.y)),i=Math.min(s.right,Math.max(e.x,t.x)),o=Math.min(s.bottom,Math.max(e.y,t.y)),c=Math.max(0,i-a),l=Math.max(0,o-r),f=a-s.left+n.scrollLeft,g=r-s.top+n.scrollTop;return{position:"absolute",left:`${f}px`,top:`${g}px`,width:`${c}px`,height:`${l}px`,pointerEvents:"none",border:"1px solid #3b82f6",backgroundColor:"#3b82f61a"}},Ee=e=>{if(!e.pointer.value||!e.entities.selectingArea)return;const{selectingArea:t}=e.entities,n=Qe(e.pointer.value.start,e.pointer.value.current),s=e.entities.selectableAreaMap.get(t)?.groups??[],a=e.lib.rectCache;e.entities.visibleDraggableSet.forEach(r=>{if(r===t||!t.contains(r))return;const i=We(r);if(i&&i!==t){e.entities.selectedSet.delete(r);return}if(de(r,e)){e.entities.selectedSet.delete(r);return}const c=e.entities.draggableMap.get(r)?.groups??[];if(!$(s,c)){e.entities.selectedSet.delete(r);return}let l=a.get(r);l||(l=r.getBoundingClientRect(),a.set(r,l));const f=e.entities.selectionBase.has(r),g=ze(n,l);switch(e.entities.selectableAreaMap.get(t)?.strategy){case"toggle":e.entities.selectedSet[g!==f?"add":"delete"](r);break;case"select":e.entities.selectedSet[g?"add":"delete"](r);break}})},Qe=(e,t)=>{const n=Math.min(e.x,t.x),s=Math.min(e.y,t.y),a=Math.max(e.x,t.x),r=Math.max(e.y,t.y),i=a-n,o=r-s;return new DOMRect(n,s,i,o)};function L(e,t,n){const s=Math.max(0,Math.min(t,e.length));return[...e.slice(0,s),...n,...e.slice(s)]}function me(e,t,n=1){const s=Math.max(0,Math.min(t,e.length-1)),a=Math.max(0,Math.min(n,e.length-s));return[...e.slice(0,s),...e.slice(s+a)]}function K(e,t){const n=[...new Set(t)].filter(a=>a>=0&&a<e.length).sort((a,r)=>r-a);let s=e;for(const a of n)s=me(s,a,1);return s}function xe(e,t,n){if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;const s=[...e];return[s[t],s[n]]=[s[n],s[t]],s}const C={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 C.getInsertSide(e,t)==="before"&&!e?.center},isAtZoneEnd(e,t){return C.getInsertSide(e,t)==="after"&&!e?.center}};function Le(e,t){const{draggedItems:n,dropZone:s,hoveredDraggable:a}=e;if(!n.length)return null;const r=a?.placement.center===!0&&s!=null&&s.items!==a.items,i=r?s.items:a?.items??s?.items;if(!i)return null;const o=n[0].items,c=n.map(d=>d.index),l=i.length;let f,g;if(a&&!r){const d=a.items===o&&c.includes(a.index);if(d&&n.length===1){const m=C.isAtZoneStart(s?.placement,t);f=m?0:l,g=m?"prepend":"append"}else{if(d)return null;{const m=C.getInsertSide(a.placement,t),p=a.index;m==="before"?(f=Math.max(0,p),g="insert"):m==="after"?(f=Math.min(l,p+1),g="insert"):(f=l,g="append")}}}else{if(!s)return null;const d=C.isAtZoneStart(s.placement,t);f=d?0:l,g=d?"prepend":"append"}return{targetIndex:f,mode:g,targetArr:i}}function et(e,t="vertical"){const{draggedItems:n}=e;if(!n.length)return null;const s=Le(e,t);if(!s)return null;const{targetArr:a,mode:r}=s;let{targetIndex:i}=s;const o=n.map(g=>g.index),c=n.map(g=>g.item),l=n[0].items;if(l===a){const g=o.filter(m=>m<i).length;i=Math.max(0,i-g);const d=L(K(l,o),i,c);return{sourceItems:d,targetItems:d,draggedItems:c,sourceIndexes:o,targetIndex:i,mode:r,sameList:!0}}else{const g=K(l,o),d=L(a,i,c);return{sourceItems:g,targetItems:d,draggedItems:c,sourceIndexes:o,targetIndex:i,mode:r,sameList:!1}}}function tt(e){const{draggedItems:t,hoveredDraggable:n}=e;if(!t.length||!n)return null;const s=t.map(f=>f.index),a=n.index,r=t.map(f=>f.item),i=n.item,o=t[0].items,c=n.items,l=o===c;if(l&&s.includes(a))return null;if(t.length===1){const f=s[0];if(l){const g=xe(o,f,a);return{sourceItems:g,targetItems:g,sourceIndexes:s,targetIndex:a,sameList:!0}}else{const g=[...o],d=[...c];return g[f]=c[a],d[a]=o[f],{sourceItems:g,targetItems:d,sourceIndexes:s,targetIndex:a,sameList:!1}}}else{const f=Math.min(...s);if(l){const g=s.filter(b=>b<a).length,d=Math.max(0,a-g),m=s.filter(b=>b<f).length,p=Math.max(0,f-m);let h=K(o,s);h=L(h,d,r);const M=p>=d?p+r.length:p;return h=L(h,M,[i]),{sourceItems:h,targetItems:h,sourceIndexes:s,targetIndex:d,sameList:!0}}else{const g=s.filter(h=>h<f).length,d=Math.max(0,f-g);let m=K(o,s);m=L(m,d,[i]);let p=me(c,a);return p=L(p,a,r),{sourceItems:m,targetItems:p,sourceIndexes:s,targetIndex:a,sameList:!1}}}}function nt(e,t="vertical"){const{draggedItems:n}=e;if(!n.length)return null;const s=Le(e,t);if(!s)return null;const{targetArr:a,targetIndex:r,mode:i}=s,o=n.map(l=>l.item);return{targetItems:L(a,r,o),copiedItems:o,targetIndex:r,mode:i}}function st(e){const{draggedItems:t}=e;if(!t.length)return null;const n=t.map(i=>i.index),s=t.map(i=>i.item),a=t[0].items;return{sourceItems:K(a,n),removedItems:s,sourceIndexes:n}}function ke(e){return{insertAt:L,removeAt:me,removeIndexes:K,swapAt:xe,getInsertSide:(t,n)=>C.getInsertSide(t,n),isAtZoneStart:(t,n)=>C.isAtZoneStart(t,n),isAtZoneEnd:(t,n)=>C.isAtZoneEnd(t,n),suggestSort:t=>et(e,t),suggestSwap:()=>tt(e),suggestCopy:t=>nt(e,t),suggestRemove:()=>st(e)}}const P=e=>e.keys().next().value,at=e=>e.target.closest(_.DRAGGABLE);function Ce(e,t){const n=t.entities.draggingMap.get(e);if(n)return n;const s=e.getAttribute(k.DRAGGABLE);if(s){for(const[,a]of t.entities.draggingMap)if(a.id===s)return a}}function it(e){const t=e.entities.initiatingDraggable;if(!t)return[];const n=Ce(t,e)??e.entities.draggableMap.get(t),s=n?.payload;if(!s)return n?.data?[{index:-1,item:void 0,items:[],data:n.data()}]:[];const a=s();if(!Array.isArray(a)||a.length<2)return[];const[r,i]=a,o=Number(r),c=i,l=new Map;return l.set(o,{index:o,item:c[o],items:c,data:n?.data?.()}),e.entities.draggingMap.forEach((f,g)=>{const d=e.entities.draggableMap.get(g),m=d?.payload;if(!m)return;const p=m();if(!Array.isArray(p)||p.length<2)return;const[h,M]=p;if(M!==c)return;const b=Number(h);l.has(b)||l.set(b,{index:b,item:M[b],items:c,data:d?.data?.()})}),[...l.values()].sort((f,g)=>f.index-g.index)}const A=(e,t)=>{const n=it(e);let s,a;if(t){const r=e.entities.droppableMap.get(t);if(r){const c=r.payload;s={items:c?c():[],placement:e.hovered.droppable.get(t),data:r.data?.()}}const i=P(e.hovered.draggable);if(i&&(i===t||t.contains(i))&&i){const c=e.entities.draggableMap.get(i),l=c?.payload,f=e.hovered.draggable.get(i),g={top:!1,right:!1,bottom:!1,left:!1,center:!1};if(l){const d=l();if(Array.isArray(d)&&d.length>=2){const[m,p]=d,h=Number(m);a={element:i,placement:f??g,index:h,item:p[h],items:p,data:c?.data?.()}}}else c?.data&&(a={element:i,placement:f??g,index:-1,item:void 0,items:[],data:c.data()})}}return{draggedItems:n,dropZone:s,hoveredDraggable:a,provider:e,helpers:ke({draggedItems:n,dropZone:s,hoveredDraggable:a})}},O=(e,t,n)=>{if(!t)return;const s=Ce(t,e)??e.entities.draggableMap.get(t);!s||s.disabled||s.events?.[n]?.(A(e))},v=(e,t)=>{const n=A(e);e.entities.draggingMap.forEach(s=>{s.disabled||s.events?.[t]?.(n)})},ot=(e,t,n)=>{if(t!==n){if(t&&!H(t,e)){const s=A(e,t);e.entities.droppableMap.get(t)?.events?.onLeave?.(s)}if(n&&!H(n,e)){const s=A(e,n);e.entities.droppableMap.get(n)?.events?.onEnter?.(s)}}},rt=(e,t,n)=>{if(t!==n){const s=A(e);if(t){const a=e.entities.draggableMap.get(t);a&&!a.disabled&&a.events?.onLeave?.(s)}if(n){const a=e.entities.draggableMap.get(n);a&&!a.disabled&&a.events?.onHover?.(s)}}},Q=(e,t,n)=>{const s=at(t);!s||!e.entities.draggingMap.has(s)||e.entities.draggingMap.get(s)?.events?.[n]?.(A(e))},lt=(e,t)=>{const n=P(t.droppable);n&&!H(n,e)&&e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e,n))},le=(e,t)=>{const n=P(t.droppable);n&&!H(n,e)&&e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e,n))},ct=(e,t,n=5)=>{const s=n/2;return{left:e-s,top:t-s,width:n,height:n}},gt=e=>{const t=e.pointer.value?.current,n=t?.x??0,s=t?.y??0;return ct(n,s,5)},B=(e,t,n)=>{const s=e.left+e.width/2,a=e.top+e.height/2;if(n){const o=n.top??0,c=n.right??0,l=n.bottom??0,f=n.left??0,g=t.left+f,d=t.right-c,m=t.top+o,p=t.bottom-l;if(g<d&&m<p&&s>=g&&s<=d&&a>=m&&a<=p)return{top:!1,right:!1,bottom:!1,left:!1,center:!0}}const r=t.left+t.width/2,i=t.top+t.height/2;return{top:a<=i,bottom:a>i,left:s<=r,right:s>r,center:!1}},ut=e=>({x:e.left+e.width/2,y:e.top+e.height/2}),be=(e,t)=>{const n=ut(t);return Math.hypot(e.x-n.x,e.y-n.y)};function ft(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){ft(e.hoveredPlacement,t)||(e.hoveredPlacement=t)}const dt=(e,t)=>e.find(n=>n!==t&&G(t,n)),ce=(e,t,n)=>{const s=P(t.droppable),a=P(t.draggable);a&&t.draggable.delete(a),s&&t.droppable.delete(s);const r=gt(e),i=n.zones[0],o=n.elements[0];if(i&&o&&i===o&&e.entities.droppableMap.has(i)&&i){const g=i.getBoundingClientRect(),d=e.entities.draggableMap.get(i)?.placementMargins,m=B(r,g,d);if(m.center){t.droppable.set(i,m);const p=dt(n.elements,i);if(p){const h=p.getBoundingClientRect();t.draggable.set(p,B(r,h,void 0))}}else{t.draggable.set(o,m);const p=n.zones.find(h=>h!==i);if(p){const h=p.getBoundingClientRect();t.droppable.set(p,B(r,h))}}}else{if(i){const g=i.getBoundingClientRect();t.droppable.set(i,B(r,g))}if(o)if(i)if(G(i,o)){const g=o.getBoundingClientRect(),d=e.entities.draggableMap.get(o)?.placementMargins;t.draggable.set(o,B(r,g,d))}else{const g=e.pointer.value?.current??{x:0,y:0},d=i.getBoundingClientRect(),m=o.getBoundingClientRect(),p=be(g,d);if(be(g,m)<p){t.droppable.clear();const M=e.entities.draggableMap.get(o)?.placementMargins;t.draggable.set(o,B(r,m,M))}}else{const g=o.getBoundingClientRect(),d=e.entities.draggableMap.get(o)?.placementMargins;t.draggable.set(o,B(r,g,d))}}const l=P(t.droppable),f=P(t.draggable);if(a&&a!==f){const g=e.entities.draggableMap.get(a);g&&U(g,void 0)}if(s&&s!==l){const g=e.entities.droppableMap.get(s);g&&U(g,void 0)}if(f){const g=e.entities.draggableMap.get(f);g&&U(g,t.draggable.get(f))}if(l){const g=e.entities.droppableMap.get(l);g&&U(g,t.droppable.get(l))}ot(e,s,l),rt(e,a,f)},ee=(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,te=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}},ne=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),s=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y)),a=n*s,r=e.width*e.height,i=t.width*t.height;return r===0||i===0?0:(a/r*100+a/i*100)/2},mt=e=>e.preview.ref?.value??null,ye=e=>{const t=e.preview.position?.value??{x:0,y:0},{x:n,y:s}=t,a=e.preview.size?.value;let r,i;if(a)r=a.width,i=a.height;else{const o=e.preview.ref?.value?.getBoundingClientRect();r=o?.width??0,i=o?.height??0}return{x:n,y:s,width:r,height:i,top:s,left:n,right:n+r,bottom:s+i}},ge=e=>e.entities.allowedDraggableSet,Re=e=>e.entities.allowedDroppableSet,pt=(e,t)=>!t.entities.draggingMap.has(e),ht=(e,t)=>![...t.entities.draggingMap.keys()].some(n=>{if(G(n,e))return!0;const s=n.parentElement;return!!(s&&e!==n&&!t.entities.draggableMap.has(s)&&!t.entities.droppableMap.has(s)&&G(s,e)&&[...t.entities.draggableMap.keys()].filter(r=>r.parentElement===s).length===1)}),bt=(e,t)=>t.entities.draggableMap.has(e)?!de(e,t):t.entities.droppableMap.has(e)?!H(e,t):!0,Y=(e,t)=>pt(e,t)&&ht(e,t)&&bt(e,t),se=10;function z(e,t){return Math.hypot(t.x-(e.x+e.width/2),t.y-(e.y+e.height/2))}function yt(e){const t=e.pointer.value?.current??{x:0,y:0},n=document.elementFromPoint(t.x,t.y);if(!n)return null;const s=ge(e),a=Re(e),r=[],i=[];let o=n;for(;o;)(s.has(o)||a.has(o))&&Y(o,e)&&(s.has(o)&&r.push(o),a.has(o)&&i.push(o)),o=o.parentElement;return r.length===0&&i.length===0?null:{elements:r,zones:i}}const ue=e=>{if(!mt(e))return{elements:[],zones:[]};const n=e.pointer.value?.current??{x:0,y:0},s=yt(e);if(s){if(s.elements.length>0)return s;const l=s.zones[0];if(!l)return s;const f=ye(e);return{elements:[...ge(e)].filter(m=>l.contains(m)&&Y(m,e)).map(m=>({el:m,box:te(m)})).filter(({box:m})=>ee(m,f)&&ne(m,f)>=se).sort((m,p)=>z(m.box,n)-z(p.box,n)).map(({el:m})=>m),zones:s.zones}}const a=ye(e),r=[...ge(e)].filter(l=>Y(l,e)),i=[...Re(e)].filter(l=>Y(l,e)),o=r.map(l=>({n:l,box:te(l)})).filter(({box:l})=>ee(l,a)&&ne(l,a)>=se).sort((l,f)=>z(l.box,n)-z(f.box,n)).map(({n:l})=>l),c=i.map(l=>({n:l,box:te(l)})).filter(({box:l})=>ee(l,a)&&ne(l,a)>=se).sort((l,f)=>z(l.box,n)-z(f.box,n)).map(({n:l})=>l);return{elements:o,zones:c}};function fe(e){const t=ue(e);ce(e,e.hovered,t)}function Dt(e,t){const n=e.collision?.throttle?.value??0;if(n<=0){fe(e);return}const s=Date.now();s-t.value>=n&&(t.value=s,fe(e))}async function Ie(e){const t=e.hovered.droppable.keys().next().value;if(!t||H(t,e))return"accept";const n=e.entities.droppableMap.get(t),s=A(e,t);let a=s;if(n?.groupMatch==="some"&&(n.groups?.length??0)>0){const o=n.groups,c=s.draggedItems.filter(f=>{for(const[,g]of e.entities.draggingMap){const d=g.payload?.();if(!(!Array.isArray(d)||d.length<2)&&Number(d[0])===f.index&&d[1]===f.items)return $(g.groups??[],o)}return!0}),l=s.draggedItems.filter(f=>!c.includes(f));if(l.length>0){const f=g=>({...s,draggedItems:g,helpers:ke({...s,draggedItems:g})});if(n.events?.onValidate){const g=n.events.onValidate({validItems:c,invalidItems:l,dropZone:s.dropZone,hoveredDraggable:s.hoveredDraggable}),d=g!=null&&typeof g.then=="function";let m;if(d){e.state.value="pending";try{m=await g}catch{const h=e.entities.initiatingDraggable;return O(e,h,"onSelfDragCancel"),v(e,"onDragCancel"),le(e,e.hovered),"cancel"}}else m=g;if(m===!1)return e.state.value="dragging","decline";const p=Array.isArray(m)?m:c;if(p.length===0)return"accept";a=f(p)}else{if(c.length===0)return"accept";a=f(c)}}}const r=n?.events?.onDrop?.(a);if(r!=null&&typeof r.then=="function"){e.state.value="pending";let o;try{o=await r}catch{const c=e.entities.initiatingDraggable;return O(e,c,"onSelfDragCancel"),v(e,"onDragCancel"),le(e,e.hovered),"cancel"}return o===!1?(e.state.value="dragging","decline"):"accept"}return r===!1?"decline":"accept"}function Te(e){const t=e.entities.initiatingDraggable;O(e,t,"onSelfDragEnd"),v(e,"onDragEnd"),lt(e,e.hovered)}function wt(e){const t=e.entities.selectingArea;if(!t)return;const n=e.entities.selectableAreaMap.get(t),s=[...e.entities.selectedSet];n?.events?.onSelected?.(s)}const St=e=>{const t={current:null},n={value:0},s=async()=>{oe(),t.current?.cancel(),t.current=null;const o=e.state.value;if(o==="dragging"){const c=await Ie(e);if(c==="accept"&&Te(e),c==="accept"||c==="cancel"){X(e),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",a);return}return}else o==="selecting"&&wt(e);X(e),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",a)},a=o=>{if(e.pointer.value&&e.state.value!=="pending"){if(e.pointer.value.current={x:o.clientX,y:o.clientY},Ye(e)){Q(e,o,"onSelfDragStart"),v(e,"onDragStart");return}if(e.state.value==="dragging"){Dt(e,n);const c=e.entities.initiatingDraggable;O(e,c,"onSelfDragMove"),v(e,"onDragMove")}e.state.value==="selecting"&&Ee(e)}};return{pointerDown:o=>{document.addEventListener("pointerup",s),document.addEventListener("pointermove",a);const c=o.composedPath?.()[0]??o.target,l=c.closest(_.SELECT_AREA),f=c.closest(_.DRAGGABLE);if(e.entities.modifiersSelectableAreaSet.size>0&&e.entities.modifiersSelectableAreaSet.has(l)){ie(),e.pointer.value=re(o),e.state.value="selecting",e.entities.selectingArea=l,e.entities.selectionBase=new Set(e.entities.selectedSet);return}if(e.entities.modifiersDraggableSet.size>0&&e.entities.modifiersDraggableSet.has(f)){const g=e.entities.draggableMap.get(f);if(!ve(c,f,g?.dragHandle))return;ie(),e.entities.initiatingDraggable=f;const d=Se(o,f);e.pointer.value=re(o,d.x,d.y),g?.activation?.distance||g?.activation?.delay?(e.state.value="activating",g?.activation?.delay&&(e.delay.startTime=Date.now(),t.current=Ve(e,()=>{V(e),Q(e,o,"onSelfDragStart"),v(e,"onDragStart")}))):(V(e),Q(e,o,"onSelfDragStart"),v(e,"onDragStart"))}},pointerUp:s,pointerMove:a,cleanup:()=>{t.current?.cancel(),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",a),e.lib.draggableObserver.disconnect(),e.lib.droppableObserver.disconnect(),e.lib.selectableAreaObserver.disconnect()}}},Mt={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}},vt=e=>t=>{const{keys:n}=e.keyboard;if(n.pressedKeys.value.add(t.code),e.state.value==="dragging"){if(n.forCancel.includes(t.code)){t.preventDefault(),oe(),O(e,e.entities.initiatingDraggable,"onSelfDragCancel"),v(e,"onDragCancel"),le(e,e.hovered),X(e);return}if(n.forDrop.includes(t.code)){t.preventDefault(),(async()=>(await Ie(e)&&Te(e),oe(),X(e)))();return}const a=Mt[t.code];if(a&&n.forMove.includes(t.code)&&e.pointer.value){t.preventDefault();const r=n.forMoveFaster.some(c=>n.pressedKeys.value.has(c)),i=e.keyboard.step*(r?e.keyboard.moveFaster:1);e.pointer.value.current={x:e.pointer.value.current.x+a.dx*i,y:e.pointer.value.current.y+a.dy*i};const o=ue(e);ce(e,e.hovered,o),O(e,e.entities.initiatingDraggable,"onSelfDragMove"),v(e,"onDragMove");return}return}if(n.forDrag.includes(t.code)){const a=document.activeElement;if(!a)return;const r=a.closest(_.DRAGGABLE);if(!r||e.entities.modifiersDraggableSet.size===0||!e.entities.modifiersDraggableSet.has(r))return;const i=e.entities.draggableMap.get(r);if(!ve(a,r,i?.dragHandle,!0))return;t.preventDefault(),ie();const o=r.getBoundingClientRect(),c=o.left+o.width/2,l=o.top+o.height/2,f={clientX:c,clientY:l};e.entities.initiatingDraggable=r;const g=Se(f,r);e.pointer.value=re(f,g.x,g.y),V(e);const d=ue(e);ce(e,e.hovered,d),O(e,r,"onSelfDragStart"),v(e,"onDragStart")}},At=e=>t=>{e.keyboard.keys.pressedKeys.value.delete(t.code)},Et=e=>()=>{e.keyboard.keys.pressedKeys.value.clear()},ae={keyDown:vt,keyUp:At,clear:Et},xt=e=>()=>{if(!e.state.value)return;const t=e.scrollPosition.x,n=e.scrollPosition.y;if(e.scrollPosition.x=window.scrollX,e.scrollPosition.y=window.scrollY,e.lib.rectCache.clear(),e.state.value==="dragging"){fe(e);return}if(e.state.value==="selecting"&&e.pointer.value){const s=window.scrollX-t,a=window.scrollY-n;e.pointer.value.start.x-=s,e.pointer.value.start.y-=a,Ee(e)}},x=50,Lt=144,De=1e3/Lt;function kt(e){return e==null?{top:x,right:x,bottom:x,left:x}:typeof e=="number"?{top:e,right:e,bottom:e,left:e}:{top:e.top??x,right:e.right??x,bottom:e.bottom??x,left:e.left??x}}const Ct={getScrollState(e){return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}},setScroll(e,t,n){e.scrollTop=t,e.scrollLeft=n}};function Be(e,t,n,s=Ct,a){const{speed:r=10,disabled:i=!1}=t,o=kt(t.threshold);let c=null,l=null,f=null,g=0,d=0;const m=b=>{a&&(a.value=b)},p=b=>{const E=e.value,R=n();if(!E||!R||i){m(!1);return}l||(l=b);const y=b-l;if(y<De){c=requestAnimationFrame(p);return}const D=r*(y/De);l=b;const{scrollTop:I,scrollLeft:T}=s.getScrollState(E);(!f||g!==I||d!==T)&&(f=s.getRect?s.getRect(E):E.getBoundingClientRect(),g=I,d=T);let F=!1,q=I,W=T;o.top>0&&R.y-f.top<o.top?(q=I-D,F=!0):o.bottom>0&&f.bottom-R.y<o.bottom&&(q=I+D,F=!0),o.left>0&&R.x-f.left<o.left?(W=T-D,F=!0):o.right>0&&f.right-R.x<o.right&&(W=T+D,F=!0),F&&s.setScroll(E,q,W),m(F),c=requestAnimationFrame(p)};return{run:()=>{l=null,c=requestAnimationFrame(p)},stop:()=>{c&&(cancelAnimationFrame(c),c=null),f=null,g=0,d=0,l=null,m(!1)}}}const Rt={getScrollState(){return{scrollTop:window.scrollY??document.documentElement.scrollTop,scrollLeft:window.scrollX??document.documentElement.scrollLeft}},setScroll(e,t,n){window.scrollTo(n,t)},getRect(){return new DOMRect(0,0,window.innerWidth,window.innerHeight)}},It={get value(){return typeof document<"u"?document.documentElement:null}};function Tt(e,t){const n=u.shallowRef(!1),a=Be(It,t??{},()=>{if(e.state.value!=="dragging")return null;const o=e.preview.position.value,c=e.preview.size.value;return o?c?.width&&c?.height?{x:o.x+c.width/2,y:o.y+c.height/2}:o:null},Rt,n),r=u.watch(()=>e.state.value,o=>{o==="dragging"?a.run():a.stop()}),i=()=>{r(),a.stop()};return u.onScopeDispose(i),{isScrolling:n,stop:i}}const Bt=e=>{const t=St(e),n=ae.keyDown(e),s=ae.keyUp(e),a=ae.clear(e),r=xt(e);let i=null;u.watch(e.autoScrollViewport,o=>{i?.(),i=null,(o===!0||o&&typeof o=="object")&&(i=Tt(e,o===!0?{}:o).stop)},{immediate:!0}),u.onMounted(()=>{document.addEventListener("pointerdown",t.pointerDown),document.addEventListener("keydown",n),document.addEventListener("keyup",s),document.addEventListener("blur",a),document.addEventListener("scroll",r,!0)}),u.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",t.pointerDown),document.removeEventListener("pointerup",t.pointerUp),document.removeEventListener("pointermove",t.pointerMove),document.removeEventListener("keydown",n),document.removeEventListener("keyup",s),document.removeEventListener("blur",a),document.removeEventListener("scroll",r,!0),i?.(),t.cleanup()})},j=()=>{const e=u.inject(Z);if(!e)throw Error("DnD provider not found");return e},pe=()=>{const e=j();return{preview:e.preview,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}},Pe=u.defineComponent({__name:"DragPreview",props:{grid:{}},setup(e){const{state:t,entities:n,preview:s}=pe(),a=u.useTemplateRef("contentRef");u.watch(()=>a.value,()=>{const o=a.value?.getBoundingClientRect();o&&(s.size.value=o)});const r=(o,c)=>!c||c<=0?o:Math.round(o/c)*c,i=u.computed(()=>{const{x:o,y:c}=s.position.value,l=typeof e.grid=="object"?e.grid.x:e.grid,f=typeof e.grid=="object"?e.grid.y:e.grid;return{x:r(o,l),y:r(c,f)}});return(o,c)=>u.unref(t)==="dragging"?(u.openBlock(),u.createElementBlock("div",{key:0,class:"dnd-kit-preview",ref_key:"contentRef",ref:a,style:u.normalizeStyle({transform:`translate3d(${i.value.x}px, ${i.value.y}px, 0)`})},[u.renderSlot(o.$slots,"default",{draggingMap:u.unref(n).draggingMap},()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(u.unref(n).draggingMap,([l,f])=>(u.openBlock(),u.createElementBlock(u.Fragment,{key:l},[f.render?(u.openBlock(),u.createBlock(u.resolveDynamicComponent(f.render),{key:0})):(u.openBlock(),u.createBlock(u.resolveDynamicComponent(l.tagName),{key:1,innerHTML:f.initialOuterHTML,style:u.normalizeStyle({width:f.initialRect.width+"px",height:f.initialRect.height+"px"})},null,8,["innerHTML","style"]))],64))),128))])],4)):u.createCommentVNode("",!0)}}),Pt=u.defineComponent({__name:"DnDProvider",props:{autoScrollViewport:{type:[Object,Boolean,null]},previewTo:{type:[String,Boolean,null]},style:{},class:{}},setup(e){const t=e,n=u.useTemplateRef("previewRef"),s=qe(n,t);Bt(s);const a=u.ref(!1);u.onMounted(()=>a.value=!0);const r=u.computed(()=>s.preview.render.value??Pe);return u.provide(Z,s),(i,o)=>(u.openBlock(),u.createElementBlock(u.Fragment,null,[u.renderSlot(i.$slots,"default"),(u.openBlock(),u.createBlock(u.Teleport,{disabled:!a.value,to:u.unref(s).preview.to.value||"body"},[u.createElementVNode("div",u.mergeProps({ref_key:"previewRef",ref:n,class:"dnd-kit-preview-container"},t),[u.renderSlot(i.$slots,"preview",{preview:r.value},()=>[(u.openBlock(),u.createBlock(u.resolveDynamicComponent(r.value)))])],16)],8,["disabled","to"]))],64))}});function Ot(e,t,n){const s=j();let a,r,i;typeof t=="function"?(a={},r=t):(a=t??{},r=n);const o=a.id??Math.random().toString(36).slice(2),c=u.computed({get(){const d=w(e);return d?s.entities.selectedSet.has(d):!1},set(d){const m=w(e);m&&s.entities.selectedSet[d?"add":"delete"](m)}}),l=u.computed(()=>{const d=w(e);return d?s.entities.draggingMap.has(d):!1}),f=u.computed(()=>{const d=w(e);return d?s.entities.allowedDraggableSet.has(d):!1}),g=u.computed(()=>{const d=w(e);if(d)return s.entities.draggableMap.get(d)?.hoveredPlacement});return u.onMounted(()=>{if(i=w(e),!!i&&(i.addEventListener("dragstart",S),i.addEventListener("drag",S),i.addEventListener("dragend",S),i.setAttribute(k.DRAGGABLE,o),s.lib.draggableObserver.observe(i),s.entities.draggableMap.set(i,{id:o,render:a.render,disabled:a.disabled??!1,groups:a.groups??[],modifier:a.modifier,events:a.events,payload:r,data:a.data,dragHandle:a.dragHandle,activation:a.activation,placementMargins:a.placementMargins,hoveredPlacement:void 0}),o)){for(const[d,m]of s.entities.draggingMap)if(m.id===o&&d!==i){s.entities.draggingMap.delete(d),s.entities.draggingMap.set(i,m);break}}}),u.onBeforeUnmount(()=>{i&&(s.lib.draggableObserver.unobserve(i),s.entities.visibleDraggableSet.delete(i),s.entities.draggableMap.delete(i),s.entities.modifiersDraggableSet.delete(i))}),{selected:c,isDragging:l,isAllowed:f,isDragOver:g}}const Ft=(e,t)=>{const n=j(),s=u.computed(()=>e.value===n.entities.selectingArea);let a=null;u.onMounted(()=>{a=w(e),a&&(a.setAttribute(k.SELECT_AREA,""),n.lib.selectableAreaObserver.observe(a),n.entities.selectableAreaMap.set(a,{modifier:t?.modifier??{keys:["ControlLeft"],method:"every"},events:t?.events,disabled:t?.disabled??!1,groups:t?.groups??[],strategy:t?.strategy??"toggle"}))}),u.onBeforeUnmount(()=>{a&&(n.lib.selectableAreaObserver.unobserve(a),n.entities.visibleSelectableAreaSet.delete(a),n.entities.modifiersSelectableAreaSet.delete(a),n.entities.selectableAreaMap.delete(a))});const r=u.computed(()=>{n.scrollPosition.x,n.scrollPosition.y;const i=n.pointer.value;return!i||n.state.value!=="selecting"||!a||!s.value?{}:Je(i.start,i.current,a)});return{isSelecting:s,style:r}};function zt(e,t){const n=u.inject(Z);if(!n)throw Error("DnD provider not found");let s=null;return u.onMounted(()=>{s=w(e),s&&(s.setAttribute(k.CONSTRAINT_AREA,""),n.entities.constraintsAreaMap.set(s,{axis:t?.axis||"both",restrictToArea:t?.restrictToArea||!1}))}),u.onBeforeUnmount(()=>{s&&n.entities.constraintsAreaMap.delete(s)}),{}}function _t(e,t,n){const s=j();let a=null,r,i;typeof t=="function"?(r={},i=t):(r=t??{},i=n);const o=u.computed(()=>{const l=w(e);return l?s.entities.allowedDroppableSet.has(l):!1}),c=u.computed(()=>{const l=w(e);if(l)return s.entities.droppableMap.get(l)?.hoveredPlacement});return u.onMounted(()=>{a=w(e),a&&(a.setAttribute(k.DROPPABLE,""),s.lib.droppableObserver.observe(a),s.entities.droppableMap.set(a,{disabled:r.disabled??!1,groups:r.groups??[],groupMatch:r.groupMatch??"every",events:r.events,payload:i,data:r.data,hoveredPlacement:void 0}))}),u.onBeforeUnmount(()=>{a&&(s.lib.droppableObserver.unobserve(a),s.entities.visibleDroppableSet.delete(a),s.entities.droppableMap.delete(a))}),{isAllowed:o,isDragOver:c}}const Gt=(e,t)=>{const n=pe(),s=u.shallowRef(!1),r=Be(e,t??{},()=>{if(n.state.value!=="dragging")return null;const i=n.preview.position.value,o=n.preview.size.value;return i?o?.width&&o?.height?{x:i.x+o.width/2,y:i.y+o.height/2}:i:null},void 0,s);return u.watch(()=>n.state.value,i=>{i==="dragging"?r.run():r.stop()}),{isScrolling:s}};exports.DnDProvider=Pt;exports.DragPreview=Pe;exports.injectionKey=Z;exports.makeAutoScroll=Gt;exports.makeConstraintArea=zt;exports.makeDraggable=Ot;exports.makeDroppable=_t;exports.makeSelectionArea=Ft;exports.useDnDProvider=pe;
@@ -1,15 +1,15 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".dnd-kit-preview{transform-origin:0 0;will-change:transform}.dnd-kit-preview-container{position:fixed;top:0;left:0;pointer-events:none;cursor:grabbing;z-index:9999}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
- import { shallowRef as V, ref as oe, reactive as $, computed as b, watch as te, onScopeDispose as We, onMounted as X, onBeforeUnmount as Z, inject as Pe, defineComponent as Be, useTemplateRef as Oe, unref as q, openBlock as L, createElementBlock as j, normalizeStyle as Ce, renderSlot as me, Fragment as he, renderList as Je, createBlock as J, resolveDynamicComponent as be, createCommentVNode as Qe, provide as et, Teleport as tt, createElementVNode as nt, mergeProps as st } from "vue";
3
- const I = {
2
+ import { shallowRef as X, ref as q, reactive as $, computed as b, watch as ne, onScopeDispose as We, onMounted as Y, onBeforeUnmount as Z, inject as Pe, defineComponent as Be, useTemplateRef as Oe, unref as j, openBlock as L, createElementBlock as W, normalizeStyle as Ie, renderSlot as me, Fragment as he, renderList as Je, createBlock as Q, resolveDynamicComponent as be, createCommentVNode as Qe, provide as et, Teleport as tt, createElementVNode as nt, mergeProps as st } from "vue";
3
+ const C = {
4
4
  SELECT_AREA: "data-dnd-kit-select-area",
5
5
  DRAGGABLE: "data-dnd-kit-draggable",
6
6
  DROPPABLE: "data-dnd-kit-droppable",
7
7
  CONSTRAINT_AREA: "data-dnd-kit-constraint-area"
8
8
  }, G = {
9
- SELECT_AREA: `[${I.SELECT_AREA}]`,
10
- DRAGGABLE: `[${I.DRAGGABLE}]`,
11
- CONSTRAINT_AREA: `[${I.CONSTRAINT_AREA}]`
12
- }, Ee = "VueDnDKitProvider", Ie = (e, t, n, s) => {
9
+ SELECT_AREA: `[${C.SELECT_AREA}]`,
10
+ DRAGGABLE: `[${C.DRAGGABLE}]`,
11
+ CONSTRAINT_AREA: `[${C.CONSTRAINT_AREA}]`
12
+ }, Ee = "VueDnDKitProvider", Ce = (e, t, n, s) => {
13
13
  const i = /* @__PURE__ */ new Set();
14
14
  return t.forEach((r) => {
15
15
  const a = e.get(r), o = s ? s(r) : a?.disabled;
@@ -23,13 +23,13 @@ const I = {
23
23
  }), i;
24
24
  };
25
25
  let Fe = "", it = "", at = "";
26
- const S = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$el : null, H = (e, t) => e !== t && e.contains(t), ot = (e, t) => !(e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom), pe = () => {
26
+ const w = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$el : null, H = (e, t) => e !== t && e.contains(t), ot = (e, t) => !(e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom), pe = () => {
27
27
  const e = document.body;
28
- Fe = e.style.userSelect, e.style.userSelect = "none", window.addEventListener("contextmenu", w), window.addEventListener("selectstart", w), window.addEventListener("touchstart", w), window.addEventListener("touchmove", w);
28
+ Fe = e.style.userSelect, e.style.userSelect = "none", window.addEventListener("contextmenu", S), window.addEventListener("selectstart", S), window.addEventListener("touchstart", S), window.addEventListener("touchmove", S);
29
29
  }, ye = () => {
30
30
  const e = document.body;
31
- e.style.userSelect = Fe, e.style.touchAction = it, e.style.overscrollBehavior = at, window.removeEventListener("contextmenu", w), window.removeEventListener("selectstart", w), window.removeEventListener("touchstart", w), window.removeEventListener("touchmove", w);
32
- }, w = (e) => e.preventDefault(), xe = (e, t) => {
31
+ e.style.userSelect = Fe, e.style.touchAction = it, e.style.overscrollBehavior = at, window.removeEventListener("contextmenu", S), window.removeEventListener("selectstart", S), window.removeEventListener("touchstart", S), window.removeEventListener("touchmove", S);
32
+ }, S = (e) => e.preventDefault(), xe = (e, t) => {
33
33
  if (t.entities.draggableMap.get(e)?.disabled) return !0;
34
34
  for (const s of t.entities.visibleDraggableSet)
35
35
  if (t.entities.draggableMap.get(s)?.disabled && H(s, e)) return !0;
@@ -39,7 +39,7 @@ const S = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$e
39
39
  for (const s of t.entities.visibleDroppableSet)
40
40
  if (t.entities.droppableMap.get(s)?.disabled && H(s, e)) return !0;
41
41
  return !1;
42
- }, ne = (e, t) => {
42
+ }, se = (e, t) => {
43
43
  if (!e.length || !t.length) return !0;
44
44
  const n = new Set(t);
45
45
  return e.some((s) => n.has(s));
@@ -53,7 +53,7 @@ function rt(e, t, n, s) {
53
53
  const r = /* @__PURE__ */ new Set();
54
54
  for (const a of e) {
55
55
  const o = s.get(a), c = o?.groups ?? [], l = o?.groupMatch ?? "every";
56
- (!i.length || i[l]((g) => ne(g.groups, c))) && r.add(a);
56
+ (!i.length || i[l]((g) => se(g.groups, c))) && r.add(a);
57
57
  }
58
58
  return r;
59
59
  }
@@ -66,11 +66,16 @@ function lt(e, t, n) {
66
66
  const i = [...s], r = /* @__PURE__ */ new Set();
67
67
  for (const a of e) {
68
68
  const c = n.get(a)?.groups ?? [];
69
- ne(i, c) && r.add(a);
69
+ se(i, c) && r.add(a);
70
70
  }
71
71
  return r;
72
72
  }
73
73
  const re = (e) => {
74
+ if (typeof IntersectionObserver > "u")
75
+ return { observe: () => {
76
+ }, unobserve: () => {
77
+ }, disconnect: () => {
78
+ } };
74
79
  const t = new IntersectionObserver((n) => {
75
80
  n.forEach((s) => {
76
81
  const i = s.target;
@@ -113,7 +118,7 @@ function gt(e, t, n) {
113
118
  const s = t.get(e);
114
119
  n.set(e, _e(e, s));
115
120
  }
116
- function Q(e) {
121
+ function ee(e) {
117
122
  e.entities.initiatingDraggable && (e.state.value = "dragging", ut(
118
123
  e.entities.initiatingDraggable,
119
124
  e.entities.selectedSet,
@@ -160,7 +165,7 @@ function dt(e) {
160
165
  e.distanceProgress.value,
161
166
  e.delay.progress,
162
167
  t?.activation
163
- ) ? (Q(e), !0) : !1;
168
+ ) ? (ee(e), !0) : !1;
164
169
  }
165
170
  function mt(e, t) {
166
171
  let n = null;
@@ -237,7 +242,7 @@ function yt(e, t, n, s) {
237
242
  t ?? { width: 0, height: 0 }
238
243
  ) : d;
239
244
  }
240
- const Y = {
245
+ const V = {
241
246
  forDrag: ["Enter", "Space"],
242
247
  forCancel: ["Escape"],
243
248
  forDrop: ["Enter", "Space"],
@@ -254,14 +259,14 @@ const Y = {
254
259
  forMoveFaster: ["ShiftLeft", "ShiftRight"]
255
260
  };
256
261
  function Dt(e, t) {
257
- const n = V(), s = oe(), r = {
262
+ const n = X(), s = q(), r = {
258
263
  keys: {
259
- pressedKeys: oe(/* @__PURE__ */ new Set()),
260
- forDrag: [...Y.forDrag],
261
- forCancel: [...Y.forCancel],
262
- forDrop: [...Y.forDrop],
263
- forMove: [...Y.forMove],
264
- forMoveFaster: [...Y.forMoveFaster]
264
+ pressedKeys: q(/* @__PURE__ */ new Set()),
265
+ forDrag: [...V.forDrag],
266
+ forCancel: [...V.forCancel],
267
+ forDrop: [...V.forDrop],
268
+ forMove: [...V.forMove],
269
+ forMoveFaster: [...V.forMoveFaster]
265
270
  },
266
271
  step: 8,
267
272
  moveFaster: 4
@@ -286,12 +291,12 @@ function Dt(e, t) {
286
291
  a.draggingMap,
287
292
  a.draggableMap
288
293
  ) : /* @__PURE__ */ new Set()),
289
- modifiersSelectableAreaSet: b(() => Ie(
294
+ modifiersSelectableAreaSet: b(() => Ce(
290
295
  a.selectableAreaMap,
291
296
  a.visibleSelectableAreaSet,
292
297
  r.keys.pressedKeys
293
298
  )),
294
- modifiersDraggableSet: b(() => Ie(
299
+ modifiersDraggableSet: b(() => Ce(
295
300
  a.draggableMap,
296
301
  a.visibleDraggableSet,
297
302
  r.keys.pressedKeys,
@@ -304,10 +309,10 @@ function Dt(e, t) {
304
309
  draggable: /* @__PURE__ */ new Map(),
305
310
  droppable: /* @__PURE__ */ new Map()
306
311
  }), c = {
307
- throttle: V(0)
312
+ throttle: X(0)
308
313
  }, l = $({
309
- x: window.scrollX,
310
- y: window.scrollY
314
+ x: typeof window < "u" ? window.scrollX : 0,
315
+ y: typeof window < "u" ? window.scrollY : 0
311
316
  }), u = $({
312
317
  progress: 0,
313
318
  startTime: 0
@@ -321,7 +326,7 @@ function Dt(e, t) {
321
326
  a.visibleDroppableSet
322
327
  ), m = re(
323
328
  a.visibleSelectableAreaSet
324
- ), h = oe(), M = V(new DOMRect()), p = b(() => {
329
+ ), h = q(), M = X(typeof DOMRect < "u" ? new DOMRect() : {}), p = b(() => {
325
330
  l.x, l.y;
326
331
  const y = M.value, D = a.initiatingDraggable, T = D ? a.draggingMap.get(D) : null, P = y.width && y.height ? y : T?.initialRect ?? null;
327
332
  return yt(
@@ -360,7 +365,7 @@ function Dt(e, t) {
360
365
  autoScrollViewport: k
361
366
  };
362
367
  }
363
- const ee = (e) => {
368
+ const te = (e) => {
364
369
  const t = e.hovered.draggable.keys().next().value;
365
370
  if (t) {
366
371
  const s = e.entities.draggableMap.get(t);
@@ -373,12 +378,12 @@ const ee = (e) => {
373
378
  }
374
379
  e.lib.rectCache.clear(), e.pointer.value = void 0, e.state.value = void 0, e.entities.selectingArea = void 0, e.entities.selectionBase.clear(), e.entities.initiatingDraggable = void 0, e.delay.progress = 0, e.delay.startTime = 0, e.entities.draggingMap.clear(), e.hovered.draggable.clear(), e.hovered.droppable.clear();
375
380
  };
376
- function St(e) {
381
+ function wt(e) {
377
382
  return e.parentElement?.closest(
378
383
  G.SELECT_AREA
379
384
  ) ?? null;
380
385
  }
381
- const wt = (e, t, n) => {
386
+ const St = (e, t, n) => {
382
387
  if (!n) return {};
383
388
  const s = n.getBoundingClientRect(), i = Math.max(s.left, Math.min(e.x, t.x)), r = Math.max(s.top, Math.min(e.y, t.y)), a = Math.min(s.right, Math.max(e.x, t.x)), o = Math.min(s.bottom, Math.max(e.y, t.y)), c = Math.max(0, a - i), l = Math.max(0, o - r), u = i - s.left + n.scrollLeft, g = r - s.top + n.scrollTop;
384
389
  return {
@@ -399,7 +404,7 @@ const wt = (e, t, n) => {
399
404
  ), s = e.entities.selectableAreaMap.get(t)?.groups ?? [], i = e.lib.rectCache;
400
405
  e.entities.visibleDraggableSet.forEach((r) => {
401
406
  if (r === t || !t.contains(r)) return;
402
- const a = St(r);
407
+ const a = wt(r);
403
408
  if (a && a !== t) {
404
409
  e.entities.selectedSet.delete(r);
405
410
  return;
@@ -409,7 +414,7 @@ const wt = (e, t, n) => {
409
414
  return;
410
415
  }
411
416
  const c = e.entities.draggableMap.get(r)?.groups ?? [];
412
- if (!ne(s, c)) {
417
+ if (!se(s, c)) {
413
418
  e.entities.selectedSet.delete(r);
414
419
  return;
415
420
  }
@@ -431,7 +436,7 @@ const wt = (e, t, n) => {
431
436
  const n = Math.min(e.x, t.x), s = Math.min(e.y, t.y), i = Math.max(e.x, t.x), r = Math.max(e.y, t.y), a = i - n, o = r - s;
432
437
  return new DOMRect(n, s, a, o);
433
438
  };
434
- function C(e, t, n) {
439
+ function I(e, t, n) {
435
440
  const s = Math.max(0, Math.min(t, e.length));
436
441
  return [...e.slice(0, s), ...n, ...e.slice(s)];
437
442
  }
@@ -489,7 +494,7 @@ function Ye(e, t) {
489
494
  }
490
495
  return { targetIndex: u, mode: g, targetArr: a };
491
496
  }
492
- function At(e, t = "vertical") {
497
+ function vt(e, t = "vertical") {
493
498
  const { draggedItems: n } = e;
494
499
  if (!n.length) return null;
495
500
  const s = Ye(e, t);
@@ -500,14 +505,14 @@ function At(e, t = "vertical") {
500
505
  if (l === i) {
501
506
  const g = o.filter((d) => d < a).length;
502
507
  a = Math.max(0, a - g);
503
- const f = C(N(l, o), a, c);
508
+ const f = I(N(l, o), a, c);
504
509
  return { sourceItems: f, targetItems: f, draggedItems: c, sourceIndexes: o, targetIndex: a, mode: r, sameList: !0 };
505
510
  } else {
506
- const g = N(l, o), f = C(i, a, c);
511
+ const g = N(l, o), f = I(i, a, c);
507
512
  return { sourceItems: g, targetItems: f, draggedItems: c, sourceIndexes: o, targetIndex: a, mode: r, sameList: !1 };
508
513
  }
509
514
  }
510
- function vt(e) {
515
+ function At(e) {
511
516
  const { draggedItems: t, hoveredDraggable: n } = e;
512
517
  if (!t.length || !n) return null;
513
518
  const s = t.map((u) => u.index), i = n.index, r = t.map((u) => u.item), a = n.item, o = t[0].items, c = n.items, l = o === c;
@@ -526,15 +531,15 @@ function vt(e) {
526
531
  if (l) {
527
532
  const g = s.filter((p) => p < i).length, f = Math.max(0, i - g), d = s.filter((p) => p < u).length, m = Math.max(0, u - d);
528
533
  let h = N(o, s);
529
- h = C(h, f, r);
534
+ h = I(h, f, r);
530
535
  const M = m >= f ? m + r.length : m;
531
- return h = C(h, M, [a]), { sourceItems: h, targetItems: h, sourceIndexes: s, targetIndex: f, sameList: !0 };
536
+ return h = I(h, M, [a]), { sourceItems: h, targetItems: h, sourceIndexes: s, targetIndex: f, sameList: !0 };
532
537
  } else {
533
538
  const g = s.filter((h) => h < u).length, f = Math.max(0, u - g);
534
539
  let d = N(o, s);
535
- d = C(d, f, [a]);
540
+ d = I(d, f, [a]);
536
541
  let m = Le(c, i);
537
- return m = C(m, i, r), { sourceItems: d, targetItems: m, sourceIndexes: s, targetIndex: i, sameList: !1 };
542
+ return m = I(m, i, r), { sourceItems: d, targetItems: m, sourceIndexes: s, targetIndex: i, sameList: !1 };
538
543
  }
539
544
  }
540
545
  }
@@ -544,7 +549,7 @@ function Et(e, t = "vertical") {
544
549
  const s = Ye(e, t);
545
550
  if (!s) return null;
546
551
  const { targetArr: i, targetIndex: r, mode: a } = s, o = n.map((l) => l.item);
547
- return { targetItems: C(i, r, o), copiedItems: o, targetIndex: r, mode: a };
552
+ return { targetItems: I(i, r, o), copiedItems: o, targetIndex: r, mode: a };
548
553
  }
549
554
  function xt(e) {
550
555
  const { draggedItems: t } = e;
@@ -555,7 +560,7 @@ function xt(e) {
555
560
  function Ve(e) {
556
561
  return {
557
562
  // Low-level array ops
558
- insertAt: C,
563
+ insertAt: I,
559
564
  removeAt: Le,
560
565
  removeIndexes: N,
561
566
  swapAt: Ne,
@@ -564,8 +569,8 @@ function Ve(e) {
564
569
  isAtZoneStart: (t, n) => R.isAtZoneStart(t, n),
565
570
  isAtZoneEnd: (t, n) => R.isAtZoneEnd(t, n),
566
571
  // High-level (event-bound)
567
- suggestSort: (t) => At(e, t),
568
- suggestSwap: () => vt(e),
572
+ suggestSort: (t) => vt(e, t),
573
+ suggestSwap: () => At(e),
569
574
  suggestCopy: (t) => Et(e, t),
570
575
  suggestRemove: () => xt(e)
571
576
  };
@@ -576,13 +581,13 @@ const O = (e) => e.keys().next().value, Lt = (e) => e.target.closest(
576
581
  function Xe(e, t) {
577
582
  const n = t.entities.draggingMap.get(e);
578
583
  if (n) return n;
579
- const s = e.getAttribute(I.DRAGGABLE);
584
+ const s = e.getAttribute(C.DRAGGABLE);
580
585
  if (s) {
581
586
  for (const [, i] of t.entities.draggingMap)
582
587
  if (i.id === s) return i;
583
588
  }
584
589
  }
585
- function Ct(e) {
590
+ function It(e) {
586
591
  const t = e.entities.initiatingDraggable;
587
592
  if (!t) return [];
588
593
  const n = Xe(t, e) ?? e.entities.draggableMap.get(t), s = n?.payload;
@@ -612,8 +617,8 @@ function Ct(e) {
612
617
  });
613
618
  }), [...l.values()].sort((u, g) => u.index - g.index);
614
619
  }
615
- const v = (e, t) => {
616
- const n = Ct(e);
620
+ const A = (e, t) => {
621
+ const n = It(e);
617
622
  let s, i;
618
623
  if (t) {
619
624
  const r = e.entities.droppableMap.get(t);
@@ -661,26 +666,26 @@ const v = (e, t) => {
661
666
  }, F = (e, t, n) => {
662
667
  if (!t) return;
663
668
  const s = Xe(t, e) ?? e.entities.draggableMap.get(t);
664
- !s || s.disabled || s.events?.[n]?.(v(e));
665
- }, A = (e, t) => {
666
- const n = v(e);
669
+ !s || s.disabled || s.events?.[n]?.(A(e));
670
+ }, v = (e, t) => {
671
+ const n = A(e);
667
672
  e.entities.draggingMap.forEach((s) => {
668
673
  s.disabled || s.events?.[t]?.(n);
669
674
  });
670
- }, It = (e, t, n) => {
675
+ }, Ct = (e, t, n) => {
671
676
  if (t !== n) {
672
677
  if (t && !K(t, e)) {
673
- const s = v(e, t);
678
+ const s = A(e, t);
674
679
  e.entities.droppableMap.get(t)?.events?.onLeave?.(s);
675
680
  }
676
681
  if (n && !K(n, e)) {
677
- const s = v(e, n);
682
+ const s = A(e, n);
678
683
  e.entities.droppableMap.get(n)?.events?.onEnter?.(s);
679
684
  }
680
685
  }
681
686
  }, Rt = (e, t, n) => {
682
687
  if (t !== n) {
683
- const s = v(e);
688
+ const s = A(e);
684
689
  if (t) {
685
690
  const i = e.entities.draggableMap.get(t);
686
691
  i && !i.disabled && i.events?.onLeave?.(s);
@@ -692,13 +697,13 @@ const v = (e, t) => {
692
697
  }
693
698
  }, le = (e, t, n) => {
694
699
  const s = Lt(t);
695
- !s || !e.entities.draggingMap.has(s) || e.entities.draggingMap.get(s)?.events?.[n]?.(v(e));
700
+ !s || !e.entities.draggingMap.has(s) || e.entities.draggingMap.get(s)?.events?.[n]?.(A(e));
696
701
  }, kt = (e, t) => {
697
702
  const n = O(t.droppable);
698
- n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(v(e, n));
699
- }, Se = (e, t) => {
703
+ n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e, n));
704
+ }, we = (e, t) => {
700
705
  const n = O(t.droppable);
701
- n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(v(e, n));
706
+ n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e, n));
702
707
  }, Tt = (e, t, n = 5) => {
703
708
  const s = n / 2;
704
709
  return {
@@ -744,7 +749,7 @@ function Ot(e, t) {
744
749
  function U(e, t) {
745
750
  Ot(e.hoveredPlacement, t) || (e.hoveredPlacement = t);
746
751
  }
747
- const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), we = (e, t, n) => {
752
+ const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), Se = (e, t, n) => {
748
753
  const s = O(t.droppable), i = O(t.draggable);
749
754
  i && t.draggable.delete(i), s && t.droppable.delete(s);
750
755
  const r = Pt(e), a = n.zones[0], o = n.elements[0];
@@ -820,7 +825,7 @@ const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), we = (e, t, n) => {
820
825
  const g = e.entities.droppableMap.get(l);
821
826
  g && U(g, t.droppable.get(l));
822
827
  }
823
- It(e, s, l), Rt(e, i, u);
828
+ Ct(e, s, l), Rt(e, i, u);
824
829
  }, ce = (e, t) => e.x < t.x + t.width && e.x + e.width > t.x && e.y < t.y + t.height && e.y + e.height > t.y, ge = (e) => {
825
830
  if (!e)
826
831
  return { x: 0, y: 0, width: 0, height: 0, top: 0, left: 0, right: 0, bottom: 0 };
@@ -869,7 +874,7 @@ const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), we = (e, t, n) => {
869
874
  return !!(s && e !== n && !t.entities.draggableMap.has(s) && !t.entities.droppableMap.has(s) && H(s, e) && [
870
875
  ...t.entities.draggableMap.keys()
871
876
  ].filter((r) => r.parentElement === s).length === 1);
872
- }), Ht = (e, t) => t.entities.draggableMap.has(e) ? !xe(e, t) : t.entities.droppableMap.has(e) ? !K(e, t) : !0, W = (e, t) => _t(e, t) && Gt(e, t) && Ht(e, t), fe = 10;
877
+ }), Ht = (e, t) => t.entities.draggableMap.has(e) ? !xe(e, t) : t.entities.droppableMap.has(e) ? !K(e, t) : !0, J = (e, t) => _t(e, t) && Gt(e, t) && Ht(e, t), fe = 10;
873
878
  function _(e, t) {
874
879
  return Math.hypot(
875
880
  t.x - (e.x + e.width / 2),
@@ -882,10 +887,10 @@ function Kt(e) {
882
887
  const s = Me(e), i = Ze(e), r = [], a = [];
883
888
  let o = n;
884
889
  for (; o; )
885
- (s.has(o) || i.has(o)) && W(o, e) && (s.has(o) && r.push(o), i.has(o) && a.push(o)), o = o.parentElement;
890
+ (s.has(o) || i.has(o)) && J(o, e) && (s.has(o) && r.push(o), i.has(o) && a.push(o)), o = o.parentElement;
886
891
  return r.length === 0 && a.length === 0 ? null : { elements: r, zones: a };
887
892
  }
888
- const Ae = (e) => {
893
+ const ve = (e) => {
889
894
  if (!zt(e)) return { elements: [], zones: [] };
890
895
  const n = e.pointer.value?.current ?? { x: 0, y: 0 }, s = Kt(e);
891
896
  if (s) {
@@ -894,15 +899,15 @@ const Ae = (e) => {
894
899
  if (!l) return s;
895
900
  const u = ke(e);
896
901
  return { elements: [...Me(e)].filter(
897
- (d) => l.contains(d) && W(d, e)
902
+ (d) => l.contains(d) && J(d, e)
898
903
  ).map((d) => ({ el: d, box: ge(d) })).filter(
899
904
  ({ box: d }) => ce(d, u) && ue(d, u) >= fe
900
905
  ).sort((d, m) => _(d.box, n) - _(m.box, n)).map(({ el: d }) => d), zones: s.zones };
901
906
  }
902
907
  const i = ke(e), r = [...Me(e)].filter(
903
- (l) => W(l, e)
908
+ (l) => J(l, e)
904
909
  ), a = [...Ze(e)].filter(
905
- (l) => W(l, e)
910
+ (l) => J(l, e)
906
911
  ), o = r.map((l) => ({ n: l, box: ge(l) })).filter(
907
912
  ({ box: l }) => ce(l, i) && ue(l, i) >= fe
908
913
  ).sort((l, u) => _(l.box, n) - _(u.box, n)).map(({ n: l }) => l), c = a.map((l) => ({ n: l, box: ge(l) })).filter(
@@ -910,30 +915,30 @@ const Ae = (e) => {
910
915
  ).sort((l, u) => _(l.box, n) - _(u.box, n)).map(({ n: l }) => l);
911
916
  return { elements: o, zones: c };
912
917
  };
913
- function ve(e) {
914
- const t = Ae(e);
915
- we(e, e.hovered, t);
918
+ function Ae(e) {
919
+ const t = ve(e);
920
+ Se(e, e.hovered, t);
916
921
  }
917
922
  function Nt(e, t) {
918
923
  const n = e.collision?.throttle?.value ?? 0;
919
924
  if (n <= 0) {
920
- ve(e);
925
+ Ae(e);
921
926
  return;
922
927
  }
923
928
  const s = Date.now();
924
- s - t.value >= n && (t.value = s, ve(e));
929
+ s - t.value >= n && (t.value = s, Ae(e));
925
930
  }
926
931
  async function $e(e) {
927
932
  const t = e.hovered.droppable.keys().next().value;
928
933
  if (!t || K(t, e)) return "accept";
929
- const n = e.entities.droppableMap.get(t), s = v(e, t);
934
+ const n = e.entities.droppableMap.get(t), s = A(e, t);
930
935
  let i = s;
931
936
  if (n?.groupMatch === "some" && (n.groups?.length ?? 0) > 0) {
932
937
  const o = n.groups, c = s.draggedItems.filter((u) => {
933
938
  for (const [, g] of e.entities.draggingMap) {
934
939
  const f = g.payload?.();
935
940
  if (!(!Array.isArray(f) || f.length < 2) && Number(f[0]) === u.index && f[1] === u.items)
936
- return ne(g.groups ?? [], o);
941
+ return se(g.groups ?? [], o);
937
942
  }
938
943
  return !0;
939
944
  }), l = s.draggedItems.filter(
@@ -959,7 +964,7 @@ async function $e(e) {
959
964
  d = await g;
960
965
  } catch {
961
966
  const h = e.entities.initiatingDraggable;
962
- return F(e, h, "onSelfDragCancel"), A(e, "onDragCancel"), Se(e, e.hovered), "cancel";
967
+ return F(e, h, "onSelfDragCancel"), v(e, "onDragCancel"), we(e, e.hovered), "cancel";
963
968
  }
964
969
  } else
965
970
  d = g;
@@ -982,7 +987,7 @@ async function $e(e) {
982
987
  o = await r;
983
988
  } catch {
984
989
  const c = e.entities.initiatingDraggable;
985
- return F(e, c, "onSelfDragCancel"), A(e, "onDragCancel"), Se(e, e.hovered), "cancel";
990
+ return F(e, c, "onSelfDragCancel"), v(e, "onDragCancel"), we(e, e.hovered), "cancel";
986
991
  }
987
992
  return o === !1 ? (e.state.value = "dragging", "decline") : "accept";
988
993
  }
@@ -990,7 +995,7 @@ async function $e(e) {
990
995
  }
991
996
  function Ue(e) {
992
997
  const t = e.entities.initiatingDraggable;
993
- F(e, t, "onSelfDragEnd"), A(e, "onDragEnd"), kt(e, e.hovered);
998
+ F(e, t, "onSelfDragEnd"), v(e, "onDragEnd"), kt(e, e.hovered);
994
999
  }
995
1000
  function Yt(e) {
996
1001
  const t = e.entities.selectingArea;
@@ -1007,22 +1012,22 @@ const Vt = (e) => {
1007
1012
  if (o === "dragging") {
1008
1013
  const c = await $e(e);
1009
1014
  if (c === "accept" && Ue(e), c === "accept" || c === "cancel") {
1010
- ee(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1015
+ te(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1011
1016
  return;
1012
1017
  }
1013
1018
  return;
1014
1019
  } else o === "selecting" && Yt(e);
1015
- ee(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1020
+ te(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1016
1021
  }, i = (o) => {
1017
1022
  if (e.pointer.value && e.state.value !== "pending") {
1018
1023
  if (e.pointer.value.current = { x: o.clientX, y: o.clientY }, dt(e)) {
1019
- le(e, o, "onSelfDragStart"), A(e, "onDragStart");
1024
+ le(e, o, "onSelfDragStart"), v(e, "onDragStart");
1020
1025
  return;
1021
1026
  }
1022
1027
  if (e.state.value === "dragging") {
1023
1028
  Nt(e, n);
1024
1029
  const c = e.entities.initiatingDraggable;
1025
- F(e, c, "onSelfDragMove"), A(e, "onDragMove");
1030
+ F(e, c, "onSelfDragMove"), v(e, "onDragMove");
1026
1031
  }
1027
1032
  e.state.value === "selecting" && Ke(e);
1028
1033
  }
@@ -1045,8 +1050,8 @@ const Vt = (e) => {
1045
1050
  pe(), e.entities.initiatingDraggable = u;
1046
1051
  const f = ze(o, u);
1047
1052
  e.pointer.value = De(o, f.x, f.y), g?.activation?.distance || g?.activation?.delay ? (e.state.value = "activating", g?.activation?.delay && (e.delay.startTime = Date.now(), t.current = mt(e, () => {
1048
- Q(e), le(e, o, "onSelfDragStart"), A(e, "onDragStart");
1049
- }))) : (Q(e), le(e, o, "onSelfDragStart"), A(e, "onDragStart"));
1053
+ ee(e), le(e, o, "onSelfDragStart"), v(e, "onDragStart");
1054
+ }))) : (ee(e), le(e, o, "onSelfDragStart"), v(e, "onDragStart"));
1050
1055
  }
1051
1056
  }, pointerUp: s, pointerMove: i, cleanup: () => {
1052
1057
  t.current?.cancel(), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i), e.lib.draggableObserver.disconnect(), e.lib.droppableObserver.disconnect(), e.lib.selectableAreaObserver.disconnect();
@@ -1068,11 +1073,11 @@ const Vt = (e) => {
1068
1073
  e,
1069
1074
  e.entities.initiatingDraggable,
1070
1075
  "onSelfDragCancel"
1071
- ), A(e, "onDragCancel"), Se(e, e.hovered), ee(e);
1076
+ ), v(e, "onDragCancel"), we(e, e.hovered), te(e);
1072
1077
  return;
1073
1078
  }
1074
1079
  if (n.forDrop.includes(t.code)) {
1075
- t.preventDefault(), (async () => (await $e(e) && Ue(e), ye(), ee(e)))();
1080
+ t.preventDefault(), (async () => (await $e(e) && Ue(e), ye(), te(e)))();
1076
1081
  return;
1077
1082
  }
1078
1083
  const i = Xt[t.code];
@@ -1085,12 +1090,12 @@ const Vt = (e) => {
1085
1090
  x: e.pointer.value.current.x + i.dx * a,
1086
1091
  y: e.pointer.value.current.y + i.dy * a
1087
1092
  };
1088
- const o = Ae(e);
1089
- we(e, e.hovered, o), F(
1093
+ const o = ve(e);
1094
+ Se(e, e.hovered, o), F(
1090
1095
  e,
1091
1096
  e.entities.initiatingDraggable,
1092
1097
  "onSelfDragMove"
1093
- ), A(e, "onDragMove");
1098
+ ), v(e, "onDragMove");
1094
1099
  return;
1095
1100
  }
1096
1101
  return;
@@ -1117,9 +1122,9 @@ const Vt = (e) => {
1117
1122
  u,
1118
1123
  g.x,
1119
1124
  g.y
1120
- ), Q(e);
1121
- const f = Ae(e);
1122
- we(e, e.hovered, f), F(e, r, "onSelfDragStart"), A(e, "onDragStart");
1125
+ ), ee(e);
1126
+ const f = ve(e);
1127
+ Se(e, e.hovered, f), F(e, r, "onSelfDragStart"), v(e, "onDragStart");
1123
1128
  }
1124
1129
  }, $t = (e) => (t) => {
1125
1130
  e.keyboard.keys.pressedKeys.value.delete(t.code);
@@ -1133,7 +1138,7 @@ const Vt = (e) => {
1133
1138
  if (!e.state.value) return;
1134
1139
  const t = e.scrollPosition.x, n = e.scrollPosition.y;
1135
1140
  if (e.scrollPosition.x = window.scrollX, e.scrollPosition.y = window.scrollY, e.lib.rectCache.clear(), e.state.value === "dragging") {
1136
- ve(e);
1141
+ Ae(e);
1137
1142
  return;
1138
1143
  }
1139
1144
  if (e.state.value === "selecting" && e.pointer.value) {
@@ -1191,8 +1196,8 @@ function qe(e, t, n, s = Jt, i) {
1191
1196
  l = p;
1192
1197
  const { scrollTop: T, scrollLeft: P } = s.getScrollState(E);
1193
1198
  (!u || g !== T || f !== P) && (u = s.getRect ? s.getRect(E) : E.getBoundingClientRect(), g = T, f = P);
1194
- let z = !1, ie = T, ae = P;
1195
- o.top > 0 && k.y - u.top < o.top ? (ie = T - D, z = !0) : o.bottom > 0 && u.bottom - k.y < o.bottom && (ie = T + D, z = !0), o.left > 0 && k.x - u.left < o.left ? (ae = P - D, z = !0) : o.right > 0 && u.right - k.x < o.right && (ae = P + D, z = !0), z && s.setScroll(E, ie, ae), d(z), c = requestAnimationFrame(m);
1199
+ let z = !1, ae = T, oe = P;
1200
+ o.top > 0 && k.y - u.top < o.top ? (ae = T - D, z = !0) : o.bottom > 0 && u.bottom - k.y < o.bottom && (ae = T + D, z = !0), o.left > 0 && k.x - u.left < o.left ? (oe = P - D, z = !0) : o.right > 0 && u.right - k.x < o.right && (oe = P + D, z = !0), z && s.setScroll(E, ae, oe), d(z), c = requestAnimationFrame(m);
1196
1201
  };
1197
1202
  return { run: () => {
1198
1203
  l = null, c = requestAnimationFrame(m);
@@ -1219,7 +1224,7 @@ const Qt = {
1219
1224
  }
1220
1225
  };
1221
1226
  function tn(e, t) {
1222
- const n = V(!1), i = qe(
1227
+ const n = X(!1), i = qe(
1223
1228
  en,
1224
1229
  t ?? {},
1225
1230
  () => {
@@ -1232,7 +1237,7 @@ function tn(e, t) {
1232
1237
  },
1233
1238
  Qt,
1234
1239
  n
1235
- ), r = te(
1240
+ ), r = ne(
1236
1241
  () => e.state.value,
1237
1242
  (o) => {
1238
1243
  o === "dragging" ? i.run() : i.stop();
@@ -1245,7 +1250,7 @@ function tn(e, t) {
1245
1250
  const nn = (e) => {
1246
1251
  const t = Vt(e), n = de.keyDown(e), s = de.keyUp(e), i = de.clear(e), r = qt(e);
1247
1252
  let a = null;
1248
- te(
1253
+ ne(
1249
1254
  e.autoScrollViewport,
1250
1255
  (o) => {
1251
1256
  a?.(), a = null, (o === !0 || o && typeof o == "object") && (a = tn(
@@ -1254,17 +1259,17 @@ const nn = (e) => {
1254
1259
  ).stop);
1255
1260
  },
1256
1261
  { immediate: !0 }
1257
- ), X(() => {
1262
+ ), Y(() => {
1258
1263
  document.addEventListener("pointerdown", t.pointerDown), document.addEventListener("keydown", n), document.addEventListener("keyup", s), document.addEventListener("blur", i), document.addEventListener("scroll", r, !0);
1259
1264
  }), Z(() => {
1260
1265
  document.removeEventListener("pointerdown", t.pointerDown), document.removeEventListener("pointerup", t.pointerUp), document.removeEventListener("pointermove", t.pointerMove), document.removeEventListener("keydown", n), document.removeEventListener("keyup", s), document.removeEventListener("blur", i), document.removeEventListener("scroll", r, !0), a?.(), t.cleanup();
1261
1266
  });
1262
- }, se = () => {
1267
+ }, ie = () => {
1263
1268
  const e = Pe(Ee);
1264
1269
  if (!e) throw Error("DnD provider not found");
1265
1270
  return e;
1266
1271
  }, je = () => {
1267
- const e = se();
1272
+ const e = ie();
1268
1273
  return {
1269
1274
  preview: e.preview,
1270
1275
  delay: e.delay,
@@ -1285,7 +1290,7 @@ const nn = (e) => {
1285
1290
  },
1286
1291
  setup(e) {
1287
1292
  const { state: t, entities: n, preview: s } = je(), i = Oe("contentRef");
1288
- te(
1293
+ ne(
1289
1294
  () => i.value,
1290
1295
  () => {
1291
1296
  const o = i.value?.getBoundingClientRect();
@@ -1296,23 +1301,23 @@ const nn = (e) => {
1296
1301
  const { x: o, y: c } = s.position.value, l = typeof e.grid == "object" ? e.grid.x : e.grid, u = typeof e.grid == "object" ? e.grid.y : e.grid;
1297
1302
  return { x: r(o, l), y: r(c, u) };
1298
1303
  });
1299
- return (o, c) => q(t) === "dragging" ? (L(), j("div", {
1304
+ return (o, c) => j(t) === "dragging" ? (L(), W("div", {
1300
1305
  key: 0,
1301
1306
  class: "dnd-kit-preview",
1302
1307
  ref_key: "contentRef",
1303
1308
  ref: i,
1304
- style: Ce({
1309
+ style: Ie({
1305
1310
  transform: `translate3d(${a.value.x}px, ${a.value.y}px, 0)`
1306
1311
  })
1307
1312
  }, [
1308
1313
  me(o.$slots, "default", {
1309
- draggingMap: q(n).draggingMap
1314
+ draggingMap: j(n).draggingMap
1310
1315
  }, () => [
1311
- (L(!0), j(he, null, Je(q(n).draggingMap, ([l, u]) => (L(), j(he, { key: l }, [
1312
- u.render ? (L(), J(be(u.render), { key: 0 })) : (L(), J(be(l.tagName), {
1316
+ (L(!0), W(he, null, Je(j(n).draggingMap, ([l, u]) => (L(), W(he, { key: l }, [
1317
+ u.render ? (L(), Q(be(u.render), { key: 0 })) : (L(), Q(be(l.tagName), {
1313
1318
  key: 1,
1314
1319
  innerHTML: u.initialOuterHTML,
1315
- style: Ce({
1320
+ style: Ie({
1316
1321
  width: u.initialRect.width + "px",
1317
1322
  height: u.initialRect.height + "px"
1318
1323
  })
@@ -1332,51 +1337,54 @@ const nn = (e) => {
1332
1337
  setup(e) {
1333
1338
  const t = e, n = Oe("previewRef"), s = Dt(n, t);
1334
1339
  nn(s);
1335
- const i = b(() => s.preview.render.value ?? sn);
1336
- return et(Ee, s), (r, a) => (L(), j(he, null, [
1337
- me(r.$slots, "default"),
1338
- (L(), J(tt, {
1339
- to: q(s).preview.to.value || "body"
1340
+ const i = q(!1);
1341
+ Y(() => i.value = !0);
1342
+ const r = b(() => s.preview.render.value ?? sn);
1343
+ return et(Ee, s), (a, o) => (L(), W(he, null, [
1344
+ me(a.$slots, "default"),
1345
+ (L(), Q(tt, {
1346
+ disabled: !i.value,
1347
+ to: j(s).preview.to.value || "body"
1340
1348
  }, [
1341
1349
  nt("div", st({
1342
1350
  ref_key: "previewRef",
1343
1351
  ref: n,
1344
1352
  class: "dnd-kit-preview-container"
1345
1353
  }, t), [
1346
- me(r.$slots, "preview", { preview: i.value }, () => [
1347
- (L(), J(be(i.value)))
1354
+ me(a.$slots, "preview", { preview: r.value }, () => [
1355
+ (L(), Q(be(r.value)))
1348
1356
  ])
1349
1357
  ], 16)
1350
- ], 8, ["to"]))
1358
+ ], 8, ["disabled", "to"]))
1351
1359
  ], 64));
1352
1360
  }
1353
1361
  });
1354
1362
  function rn(e, t, n) {
1355
- const s = se();
1363
+ const s = ie();
1356
1364
  let i, r, a;
1357
1365
  typeof t == "function" ? (i = {}, r = t) : (i = t ?? {}, r = n);
1358
1366
  const o = i.id ?? Math.random().toString(36).slice(2), c = b({
1359
1367
  get() {
1360
- const f = S(e);
1368
+ const f = w(e);
1361
1369
  return f ? s.entities.selectedSet.has(f) : !1;
1362
1370
  },
1363
1371
  set(f) {
1364
- const d = S(e);
1372
+ const d = w(e);
1365
1373
  d && s.entities.selectedSet[f ? "add" : "delete"](d);
1366
1374
  }
1367
1375
  }), l = b(() => {
1368
- const f = S(e);
1376
+ const f = w(e);
1369
1377
  return f ? s.entities.draggingMap.has(f) : !1;
1370
1378
  }), u = b(() => {
1371
- const f = S(e);
1379
+ const f = w(e);
1372
1380
  return f ? s.entities.allowedDraggableSet.has(f) : !1;
1373
1381
  }), g = b(() => {
1374
- const f = S(e);
1382
+ const f = w(e);
1375
1383
  if (f)
1376
1384
  return s.entities.draggableMap.get(f)?.hoveredPlacement;
1377
1385
  });
1378
- return X(() => {
1379
- if (a = S(e), !!a && (a.addEventListener("dragstart", w), a.addEventListener("drag", w), a.addEventListener("dragend", w), a.setAttribute(I.DRAGGABLE, o), s.lib.draggableObserver.observe(a), s.entities.draggableMap.set(a, {
1386
+ return Y(() => {
1387
+ if (a = w(e), !!a && (a.addEventListener("dragstart", S), a.addEventListener("drag", S), a.addEventListener("dragend", S), a.setAttribute(C.DRAGGABLE, o), s.lib.draggableObserver.observe(a), s.entities.draggableMap.set(a, {
1380
1388
  id: o,
1381
1389
  render: i.render,
1382
1390
  disabled: i.disabled ?? !1,
@@ -1406,10 +1414,10 @@ function rn(e, t, n) {
1406
1414
  };
1407
1415
  }
1408
1416
  const ln = (e, t) => {
1409
- const n = se(), s = b(() => e.value === n.entities.selectingArea);
1417
+ const n = ie(), s = b(() => e.value === n.entities.selectingArea);
1410
1418
  let i = null;
1411
- X(() => {
1412
- i = S(e), i && (i.setAttribute(I.SELECT_AREA, ""), n.lib.selectableAreaObserver.observe(i), n.entities.selectableAreaMap.set(i, {
1419
+ Y(() => {
1420
+ i = w(e), i && (i.setAttribute(C.SELECT_AREA, ""), n.lib.selectableAreaObserver.observe(i), n.entities.selectableAreaMap.set(i, {
1413
1421
  modifier: t?.modifier ?? {
1414
1422
  keys: ["ControlLeft"],
1415
1423
  method: "every"
@@ -1425,7 +1433,7 @@ const ln = (e, t) => {
1425
1433
  const r = b(() => {
1426
1434
  n.scrollPosition.x, n.scrollPosition.y;
1427
1435
  const a = n.pointer.value;
1428
- return !a || n.state.value !== "selecting" || !i || !s.value ? {} : wt(a.start, a.current, i);
1436
+ return !a || n.state.value !== "selecting" || !i || !s.value ? {} : St(a.start, a.current, i);
1429
1437
  });
1430
1438
  return {
1431
1439
  isSelecting: s,
@@ -1436,8 +1444,8 @@ function cn(e, t) {
1436
1444
  const n = Pe(Ee);
1437
1445
  if (!n) throw Error("DnD provider not found");
1438
1446
  let s = null;
1439
- return X(() => {
1440
- s = S(e), s && (s.setAttribute(I.CONSTRAINT_AREA, ""), n.entities.constraintsAreaMap.set(s, {
1447
+ return Y(() => {
1448
+ s = w(e), s && (s.setAttribute(C.CONSTRAINT_AREA, ""), n.entities.constraintsAreaMap.set(s, {
1441
1449
  axis: t?.axis || "both",
1442
1450
  restrictToArea: t?.restrictToArea || !1
1443
1451
  }));
@@ -1446,19 +1454,19 @@ function cn(e, t) {
1446
1454
  }), {};
1447
1455
  }
1448
1456
  function gn(e, t, n) {
1449
- const s = se();
1457
+ const s = ie();
1450
1458
  let i = null, r, a;
1451
1459
  typeof t == "function" ? (r = {}, a = t) : (r = t ?? {}, a = n);
1452
1460
  const o = b(() => {
1453
- const l = S(e);
1461
+ const l = w(e);
1454
1462
  return l ? s.entities.allowedDroppableSet.has(l) : !1;
1455
1463
  }), c = b(() => {
1456
- const l = S(e);
1464
+ const l = w(e);
1457
1465
  if (l)
1458
1466
  return s.entities.droppableMap.get(l)?.hoveredPlacement;
1459
1467
  });
1460
- return X(() => {
1461
- i = S(e), i && (i.setAttribute(I.DROPPABLE, ""), s.lib.droppableObserver.observe(i), s.entities.droppableMap.set(i, {
1468
+ return Y(() => {
1469
+ i = w(e), i && (i.setAttribute(C.DROPPABLE, ""), s.lib.droppableObserver.observe(i), s.entities.droppableMap.set(i, {
1462
1470
  disabled: r.disabled ?? !1,
1463
1471
  groups: r.groups ?? [],
1464
1472
  groupMatch: r.groupMatch ?? "every",
@@ -1475,7 +1483,7 @@ function gn(e, t, n) {
1475
1483
  };
1476
1484
  }
1477
1485
  const un = (e, t) => {
1478
- const n = je(), s = V(!1), r = qe(
1486
+ const n = je(), s = X(!1), r = qe(
1479
1487
  e,
1480
1488
  t ?? {},
1481
1489
  () => {
@@ -1489,7 +1497,7 @@ const un = (e, t) => {
1489
1497
  void 0,
1490
1498
  s
1491
1499
  );
1492
- return te(
1500
+ return ne(
1493
1501
  () => n.state.value,
1494
1502
  (a) => {
1495
1503
  a === "dragging" ? r.run() : r.stop();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-dnd-kit/core",
3
- "version": "2.4.3",
3
+ "version": "2.4.4",
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",