@vue-dnd-kit/core 2.4.2 → 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":(g||u)&&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
  }
@@ -418,7 +423,9 @@ const wt = (e, t, n) => {
418
423
  const u = e.entities.selectionBase.has(r), g = ot(n, l);
419
424
  switch (e.entities.selectableAreaMap.get(t)?.strategy) {
420
425
  case "toggle":
421
- (g || u) && e.entities.selectedSet[g !== u ? "add" : "delete"](r);
426
+ e.entities.selectedSet[g !== u ? "add" : "delete"](
427
+ r
428
+ );
422
429
  break;
423
430
  case "select":
424
431
  e.entities.selectedSet[g ? "add" : "delete"](r);
@@ -429,7 +436,7 @@ const wt = (e, t, n) => {
429
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;
430
437
  return new DOMRect(n, s, a, o);
431
438
  };
432
- function C(e, t, n) {
439
+ function I(e, t, n) {
433
440
  const s = Math.max(0, Math.min(t, e.length));
434
441
  return [...e.slice(0, s), ...n, ...e.slice(s)];
435
442
  }
@@ -487,7 +494,7 @@ function Ye(e, t) {
487
494
  }
488
495
  return { targetIndex: u, mode: g, targetArr: a };
489
496
  }
490
- function At(e, t = "vertical") {
497
+ function vt(e, t = "vertical") {
491
498
  const { draggedItems: n } = e;
492
499
  if (!n.length) return null;
493
500
  const s = Ye(e, t);
@@ -498,14 +505,14 @@ function At(e, t = "vertical") {
498
505
  if (l === i) {
499
506
  const g = o.filter((d) => d < a).length;
500
507
  a = Math.max(0, a - g);
501
- const f = C(N(l, o), a, c);
508
+ const f = I(N(l, o), a, c);
502
509
  return { sourceItems: f, targetItems: f, draggedItems: c, sourceIndexes: o, targetIndex: a, mode: r, sameList: !0 };
503
510
  } else {
504
- const g = N(l, o), f = C(i, a, c);
511
+ const g = N(l, o), f = I(i, a, c);
505
512
  return { sourceItems: g, targetItems: f, draggedItems: c, sourceIndexes: o, targetIndex: a, mode: r, sameList: !1 };
506
513
  }
507
514
  }
508
- function vt(e) {
515
+ function At(e) {
509
516
  const { draggedItems: t, hoveredDraggable: n } = e;
510
517
  if (!t.length || !n) return null;
511
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;
@@ -524,15 +531,15 @@ function vt(e) {
524
531
  if (l) {
525
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);
526
533
  let h = N(o, s);
527
- h = C(h, f, r);
534
+ h = I(h, f, r);
528
535
  const M = m >= f ? m + r.length : m;
529
- 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 };
530
537
  } else {
531
538
  const g = s.filter((h) => h < u).length, f = Math.max(0, u - g);
532
539
  let d = N(o, s);
533
- d = C(d, f, [a]);
540
+ d = I(d, f, [a]);
534
541
  let m = Le(c, i);
535
- 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 };
536
543
  }
537
544
  }
538
545
  }
@@ -542,7 +549,7 @@ function Et(e, t = "vertical") {
542
549
  const s = Ye(e, t);
543
550
  if (!s) return null;
544
551
  const { targetArr: i, targetIndex: r, mode: a } = s, o = n.map((l) => l.item);
545
- 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 };
546
553
  }
547
554
  function xt(e) {
548
555
  const { draggedItems: t } = e;
@@ -553,7 +560,7 @@ function xt(e) {
553
560
  function Ve(e) {
554
561
  return {
555
562
  // Low-level array ops
556
- insertAt: C,
563
+ insertAt: I,
557
564
  removeAt: Le,
558
565
  removeIndexes: N,
559
566
  swapAt: Ne,
@@ -562,8 +569,8 @@ function Ve(e) {
562
569
  isAtZoneStart: (t, n) => R.isAtZoneStart(t, n),
563
570
  isAtZoneEnd: (t, n) => R.isAtZoneEnd(t, n),
564
571
  // High-level (event-bound)
565
- suggestSort: (t) => At(e, t),
566
- suggestSwap: () => vt(e),
572
+ suggestSort: (t) => vt(e, t),
573
+ suggestSwap: () => At(e),
567
574
  suggestCopy: (t) => Et(e, t),
568
575
  suggestRemove: () => xt(e)
569
576
  };
@@ -574,13 +581,13 @@ const O = (e) => e.keys().next().value, Lt = (e) => e.target.closest(
574
581
  function Xe(e, t) {
575
582
  const n = t.entities.draggingMap.get(e);
576
583
  if (n) return n;
577
- const s = e.getAttribute(I.DRAGGABLE);
584
+ const s = e.getAttribute(C.DRAGGABLE);
578
585
  if (s) {
579
586
  for (const [, i] of t.entities.draggingMap)
580
587
  if (i.id === s) return i;
581
588
  }
582
589
  }
583
- function Ct(e) {
590
+ function It(e) {
584
591
  const t = e.entities.initiatingDraggable;
585
592
  if (!t) return [];
586
593
  const n = Xe(t, e) ?? e.entities.draggableMap.get(t), s = n?.payload;
@@ -610,8 +617,8 @@ function Ct(e) {
610
617
  });
611
618
  }), [...l.values()].sort((u, g) => u.index - g.index);
612
619
  }
613
- const v = (e, t) => {
614
- const n = Ct(e);
620
+ const A = (e, t) => {
621
+ const n = It(e);
615
622
  let s, i;
616
623
  if (t) {
617
624
  const r = e.entities.droppableMap.get(t);
@@ -659,26 +666,26 @@ const v = (e, t) => {
659
666
  }, F = (e, t, n) => {
660
667
  if (!t) return;
661
668
  const s = Xe(t, e) ?? e.entities.draggableMap.get(t);
662
- !s || s.disabled || s.events?.[n]?.(v(e));
663
- }, A = (e, t) => {
664
- const n = v(e);
669
+ !s || s.disabled || s.events?.[n]?.(A(e));
670
+ }, v = (e, t) => {
671
+ const n = A(e);
665
672
  e.entities.draggingMap.forEach((s) => {
666
673
  s.disabled || s.events?.[t]?.(n);
667
674
  });
668
- }, It = (e, t, n) => {
675
+ }, Ct = (e, t, n) => {
669
676
  if (t !== n) {
670
677
  if (t && !K(t, e)) {
671
- const s = v(e, t);
678
+ const s = A(e, t);
672
679
  e.entities.droppableMap.get(t)?.events?.onLeave?.(s);
673
680
  }
674
681
  if (n && !K(n, e)) {
675
- const s = v(e, n);
682
+ const s = A(e, n);
676
683
  e.entities.droppableMap.get(n)?.events?.onEnter?.(s);
677
684
  }
678
685
  }
679
686
  }, Rt = (e, t, n) => {
680
687
  if (t !== n) {
681
- const s = v(e);
688
+ const s = A(e);
682
689
  if (t) {
683
690
  const i = e.entities.draggableMap.get(t);
684
691
  i && !i.disabled && i.events?.onLeave?.(s);
@@ -690,13 +697,13 @@ const v = (e, t) => {
690
697
  }
691
698
  }, le = (e, t, n) => {
692
699
  const s = Lt(t);
693
- !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));
694
701
  }, kt = (e, t) => {
695
702
  const n = O(t.droppable);
696
- n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(v(e, n));
697
- }, Se = (e, t) => {
703
+ n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(A(e, n));
704
+ }, we = (e, t) => {
698
705
  const n = O(t.droppable);
699
- 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));
700
707
  }, Tt = (e, t, n = 5) => {
701
708
  const s = n / 2;
702
709
  return {
@@ -742,7 +749,7 @@ function Ot(e, t) {
742
749
  function U(e, t) {
743
750
  Ot(e.hoveredPlacement, t) || (e.hoveredPlacement = t);
744
751
  }
745
- 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) => {
746
753
  const s = O(t.droppable), i = O(t.draggable);
747
754
  i && t.draggable.delete(i), s && t.droppable.delete(s);
748
755
  const r = Pt(e), a = n.zones[0], o = n.elements[0];
@@ -818,7 +825,7 @@ const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), we = (e, t, n) => {
818
825
  const g = e.entities.droppableMap.get(l);
819
826
  g && U(g, t.droppable.get(l));
820
827
  }
821
- It(e, s, l), Rt(e, i, u);
828
+ Ct(e, s, l), Rt(e, i, u);
822
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) => {
823
830
  if (!e)
824
831
  return { x: 0, y: 0, width: 0, height: 0, top: 0, left: 0, right: 0, bottom: 0 };
@@ -867,7 +874,7 @@ const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), we = (e, t, n) => {
867
874
  return !!(s && e !== n && !t.entities.draggableMap.has(s) && !t.entities.droppableMap.has(s) && H(s, e) && [
868
875
  ...t.entities.draggableMap.keys()
869
876
  ].filter((r) => r.parentElement === s).length === 1);
870
- }), 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;
871
878
  function _(e, t) {
872
879
  return Math.hypot(
873
880
  t.x - (e.x + e.width / 2),
@@ -880,10 +887,10 @@ function Kt(e) {
880
887
  const s = Me(e), i = Ze(e), r = [], a = [];
881
888
  let o = n;
882
889
  for (; o; )
883
- (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;
884
891
  return r.length === 0 && a.length === 0 ? null : { elements: r, zones: a };
885
892
  }
886
- const Ae = (e) => {
893
+ const ve = (e) => {
887
894
  if (!zt(e)) return { elements: [], zones: [] };
888
895
  const n = e.pointer.value?.current ?? { x: 0, y: 0 }, s = Kt(e);
889
896
  if (s) {
@@ -892,15 +899,15 @@ const Ae = (e) => {
892
899
  if (!l) return s;
893
900
  const u = ke(e);
894
901
  return { elements: [...Me(e)].filter(
895
- (d) => l.contains(d) && W(d, e)
902
+ (d) => l.contains(d) && J(d, e)
896
903
  ).map((d) => ({ el: d, box: ge(d) })).filter(
897
904
  ({ box: d }) => ce(d, u) && ue(d, u) >= fe
898
905
  ).sort((d, m) => _(d.box, n) - _(m.box, n)).map(({ el: d }) => d), zones: s.zones };
899
906
  }
900
907
  const i = ke(e), r = [...Me(e)].filter(
901
- (l) => W(l, e)
908
+ (l) => J(l, e)
902
909
  ), a = [...Ze(e)].filter(
903
- (l) => W(l, e)
910
+ (l) => J(l, e)
904
911
  ), o = r.map((l) => ({ n: l, box: ge(l) })).filter(
905
912
  ({ box: l }) => ce(l, i) && ue(l, i) >= fe
906
913
  ).sort((l, u) => _(l.box, n) - _(u.box, n)).map(({ n: l }) => l), c = a.map((l) => ({ n: l, box: ge(l) })).filter(
@@ -908,30 +915,30 @@ const Ae = (e) => {
908
915
  ).sort((l, u) => _(l.box, n) - _(u.box, n)).map(({ n: l }) => l);
909
916
  return { elements: o, zones: c };
910
917
  };
911
- function ve(e) {
912
- const t = Ae(e);
913
- we(e, e.hovered, t);
918
+ function Ae(e) {
919
+ const t = ve(e);
920
+ Se(e, e.hovered, t);
914
921
  }
915
922
  function Nt(e, t) {
916
923
  const n = e.collision?.throttle?.value ?? 0;
917
924
  if (n <= 0) {
918
- ve(e);
925
+ Ae(e);
919
926
  return;
920
927
  }
921
928
  const s = Date.now();
922
- s - t.value >= n && (t.value = s, ve(e));
929
+ s - t.value >= n && (t.value = s, Ae(e));
923
930
  }
924
931
  async function $e(e) {
925
932
  const t = e.hovered.droppable.keys().next().value;
926
933
  if (!t || K(t, e)) return "accept";
927
- const n = e.entities.droppableMap.get(t), s = v(e, t);
934
+ const n = e.entities.droppableMap.get(t), s = A(e, t);
928
935
  let i = s;
929
936
  if (n?.groupMatch === "some" && (n.groups?.length ?? 0) > 0) {
930
937
  const o = n.groups, c = s.draggedItems.filter((u) => {
931
938
  for (const [, g] of e.entities.draggingMap) {
932
939
  const f = g.payload?.();
933
940
  if (!(!Array.isArray(f) || f.length < 2) && Number(f[0]) === u.index && f[1] === u.items)
934
- return ne(g.groups ?? [], o);
941
+ return se(g.groups ?? [], o);
935
942
  }
936
943
  return !0;
937
944
  }), l = s.draggedItems.filter(
@@ -957,7 +964,7 @@ async function $e(e) {
957
964
  d = await g;
958
965
  } catch {
959
966
  const h = e.entities.initiatingDraggable;
960
- 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";
961
968
  }
962
969
  } else
963
970
  d = g;
@@ -980,7 +987,7 @@ async function $e(e) {
980
987
  o = await r;
981
988
  } catch {
982
989
  const c = e.entities.initiatingDraggable;
983
- 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";
984
991
  }
985
992
  return o === !1 ? (e.state.value = "dragging", "decline") : "accept";
986
993
  }
@@ -988,7 +995,7 @@ async function $e(e) {
988
995
  }
989
996
  function Ue(e) {
990
997
  const t = e.entities.initiatingDraggable;
991
- F(e, t, "onSelfDragEnd"), A(e, "onDragEnd"), kt(e, e.hovered);
998
+ F(e, t, "onSelfDragEnd"), v(e, "onDragEnd"), kt(e, e.hovered);
992
999
  }
993
1000
  function Yt(e) {
994
1001
  const t = e.entities.selectingArea;
@@ -1005,22 +1012,22 @@ const Vt = (e) => {
1005
1012
  if (o === "dragging") {
1006
1013
  const c = await $e(e);
1007
1014
  if (c === "accept" && Ue(e), c === "accept" || c === "cancel") {
1008
- ee(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1015
+ te(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1009
1016
  return;
1010
1017
  }
1011
1018
  return;
1012
1019
  } else o === "selecting" && Yt(e);
1013
- ee(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1020
+ te(e), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i);
1014
1021
  }, i = (o) => {
1015
1022
  if (e.pointer.value && e.state.value !== "pending") {
1016
1023
  if (e.pointer.value.current = { x: o.clientX, y: o.clientY }, dt(e)) {
1017
- le(e, o, "onSelfDragStart"), A(e, "onDragStart");
1024
+ le(e, o, "onSelfDragStart"), v(e, "onDragStart");
1018
1025
  return;
1019
1026
  }
1020
1027
  if (e.state.value === "dragging") {
1021
1028
  Nt(e, n);
1022
1029
  const c = e.entities.initiatingDraggable;
1023
- F(e, c, "onSelfDragMove"), A(e, "onDragMove");
1030
+ F(e, c, "onSelfDragMove"), v(e, "onDragMove");
1024
1031
  }
1025
1032
  e.state.value === "selecting" && Ke(e);
1026
1033
  }
@@ -1043,8 +1050,8 @@ const Vt = (e) => {
1043
1050
  pe(), e.entities.initiatingDraggable = u;
1044
1051
  const f = ze(o, u);
1045
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, () => {
1046
- Q(e), le(e, o, "onSelfDragStart"), A(e, "onDragStart");
1047
- }))) : (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"));
1048
1055
  }
1049
1056
  }, pointerUp: s, pointerMove: i, cleanup: () => {
1050
1057
  t.current?.cancel(), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i), e.lib.draggableObserver.disconnect(), e.lib.droppableObserver.disconnect(), e.lib.selectableAreaObserver.disconnect();
@@ -1066,11 +1073,11 @@ const Vt = (e) => {
1066
1073
  e,
1067
1074
  e.entities.initiatingDraggable,
1068
1075
  "onSelfDragCancel"
1069
- ), A(e, "onDragCancel"), Se(e, e.hovered), ee(e);
1076
+ ), v(e, "onDragCancel"), we(e, e.hovered), te(e);
1070
1077
  return;
1071
1078
  }
1072
1079
  if (n.forDrop.includes(t.code)) {
1073
- t.preventDefault(), (async () => (await $e(e) && Ue(e), ye(), ee(e)))();
1080
+ t.preventDefault(), (async () => (await $e(e) && Ue(e), ye(), te(e)))();
1074
1081
  return;
1075
1082
  }
1076
1083
  const i = Xt[t.code];
@@ -1083,12 +1090,12 @@ const Vt = (e) => {
1083
1090
  x: e.pointer.value.current.x + i.dx * a,
1084
1091
  y: e.pointer.value.current.y + i.dy * a
1085
1092
  };
1086
- const o = Ae(e);
1087
- we(e, e.hovered, o), F(
1093
+ const o = ve(e);
1094
+ Se(e, e.hovered, o), F(
1088
1095
  e,
1089
1096
  e.entities.initiatingDraggable,
1090
1097
  "onSelfDragMove"
1091
- ), A(e, "onDragMove");
1098
+ ), v(e, "onDragMove");
1092
1099
  return;
1093
1100
  }
1094
1101
  return;
@@ -1115,9 +1122,9 @@ const Vt = (e) => {
1115
1122
  u,
1116
1123
  g.x,
1117
1124
  g.y
1118
- ), Q(e);
1119
- const f = Ae(e);
1120
- 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");
1121
1128
  }
1122
1129
  }, $t = (e) => (t) => {
1123
1130
  e.keyboard.keys.pressedKeys.value.delete(t.code);
@@ -1131,7 +1138,7 @@ const Vt = (e) => {
1131
1138
  if (!e.state.value) return;
1132
1139
  const t = e.scrollPosition.x, n = e.scrollPosition.y;
1133
1140
  if (e.scrollPosition.x = window.scrollX, e.scrollPosition.y = window.scrollY, e.lib.rectCache.clear(), e.state.value === "dragging") {
1134
- ve(e);
1141
+ Ae(e);
1135
1142
  return;
1136
1143
  }
1137
1144
  if (e.state.value === "selecting" && e.pointer.value) {
@@ -1189,8 +1196,8 @@ function qe(e, t, n, s = Jt, i) {
1189
1196
  l = p;
1190
1197
  const { scrollTop: T, scrollLeft: P } = s.getScrollState(E);
1191
1198
  (!u || g !== T || f !== P) && (u = s.getRect ? s.getRect(E) : E.getBoundingClientRect(), g = T, f = P);
1192
- let z = !1, ie = T, ae = P;
1193
- 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);
1194
1201
  };
1195
1202
  return { run: () => {
1196
1203
  l = null, c = requestAnimationFrame(m);
@@ -1217,7 +1224,7 @@ const Qt = {
1217
1224
  }
1218
1225
  };
1219
1226
  function tn(e, t) {
1220
- const n = V(!1), i = qe(
1227
+ const n = X(!1), i = qe(
1221
1228
  en,
1222
1229
  t ?? {},
1223
1230
  () => {
@@ -1230,7 +1237,7 @@ function tn(e, t) {
1230
1237
  },
1231
1238
  Qt,
1232
1239
  n
1233
- ), r = te(
1240
+ ), r = ne(
1234
1241
  () => e.state.value,
1235
1242
  (o) => {
1236
1243
  o === "dragging" ? i.run() : i.stop();
@@ -1243,7 +1250,7 @@ function tn(e, t) {
1243
1250
  const nn = (e) => {
1244
1251
  const t = Vt(e), n = de.keyDown(e), s = de.keyUp(e), i = de.clear(e), r = qt(e);
1245
1252
  let a = null;
1246
- te(
1253
+ ne(
1247
1254
  e.autoScrollViewport,
1248
1255
  (o) => {
1249
1256
  a?.(), a = null, (o === !0 || o && typeof o == "object") && (a = tn(
@@ -1252,17 +1259,17 @@ const nn = (e) => {
1252
1259
  ).stop);
1253
1260
  },
1254
1261
  { immediate: !0 }
1255
- ), X(() => {
1262
+ ), Y(() => {
1256
1263
  document.addEventListener("pointerdown", t.pointerDown), document.addEventListener("keydown", n), document.addEventListener("keyup", s), document.addEventListener("blur", i), document.addEventListener("scroll", r, !0);
1257
1264
  }), Z(() => {
1258
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();
1259
1266
  });
1260
- }, se = () => {
1267
+ }, ie = () => {
1261
1268
  const e = Pe(Ee);
1262
1269
  if (!e) throw Error("DnD provider not found");
1263
1270
  return e;
1264
1271
  }, je = () => {
1265
- const e = se();
1272
+ const e = ie();
1266
1273
  return {
1267
1274
  preview: e.preview,
1268
1275
  delay: e.delay,
@@ -1283,7 +1290,7 @@ const nn = (e) => {
1283
1290
  },
1284
1291
  setup(e) {
1285
1292
  const { state: t, entities: n, preview: s } = je(), i = Oe("contentRef");
1286
- te(
1293
+ ne(
1287
1294
  () => i.value,
1288
1295
  () => {
1289
1296
  const o = i.value?.getBoundingClientRect();
@@ -1294,23 +1301,23 @@ const nn = (e) => {
1294
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;
1295
1302
  return { x: r(o, l), y: r(c, u) };
1296
1303
  });
1297
- return (o, c) => q(t) === "dragging" ? (L(), j("div", {
1304
+ return (o, c) => j(t) === "dragging" ? (L(), W("div", {
1298
1305
  key: 0,
1299
1306
  class: "dnd-kit-preview",
1300
1307
  ref_key: "contentRef",
1301
1308
  ref: i,
1302
- style: Ce({
1309
+ style: Ie({
1303
1310
  transform: `translate3d(${a.value.x}px, ${a.value.y}px, 0)`
1304
1311
  })
1305
1312
  }, [
1306
1313
  me(o.$slots, "default", {
1307
- draggingMap: q(n).draggingMap
1314
+ draggingMap: j(n).draggingMap
1308
1315
  }, () => [
1309
- (L(!0), j(he, null, Je(q(n).draggingMap, ([l, u]) => (L(), j(he, { key: l }, [
1310
- 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), {
1311
1318
  key: 1,
1312
1319
  innerHTML: u.initialOuterHTML,
1313
- style: Ce({
1320
+ style: Ie({
1314
1321
  width: u.initialRect.width + "px",
1315
1322
  height: u.initialRect.height + "px"
1316
1323
  })
@@ -1330,51 +1337,54 @@ const nn = (e) => {
1330
1337
  setup(e) {
1331
1338
  const t = e, n = Oe("previewRef"), s = Dt(n, t);
1332
1339
  nn(s);
1333
- const i = b(() => s.preview.render.value ?? sn);
1334
- return et(Ee, s), (r, a) => (L(), j(he, null, [
1335
- me(r.$slots, "default"),
1336
- (L(), J(tt, {
1337
- 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"
1338
1348
  }, [
1339
1349
  nt("div", st({
1340
1350
  ref_key: "previewRef",
1341
1351
  ref: n,
1342
1352
  class: "dnd-kit-preview-container"
1343
1353
  }, t), [
1344
- me(r.$slots, "preview", { preview: i.value }, () => [
1345
- (L(), J(be(i.value)))
1354
+ me(a.$slots, "preview", { preview: r.value }, () => [
1355
+ (L(), Q(be(r.value)))
1346
1356
  ])
1347
1357
  ], 16)
1348
- ], 8, ["to"]))
1358
+ ], 8, ["disabled", "to"]))
1349
1359
  ], 64));
1350
1360
  }
1351
1361
  });
1352
1362
  function rn(e, t, n) {
1353
- const s = se();
1363
+ const s = ie();
1354
1364
  let i, r, a;
1355
1365
  typeof t == "function" ? (i = {}, r = t) : (i = t ?? {}, r = n);
1356
1366
  const o = i.id ?? Math.random().toString(36).slice(2), c = b({
1357
1367
  get() {
1358
- const f = S(e);
1368
+ const f = w(e);
1359
1369
  return f ? s.entities.selectedSet.has(f) : !1;
1360
1370
  },
1361
1371
  set(f) {
1362
- const d = S(e);
1372
+ const d = w(e);
1363
1373
  d && s.entities.selectedSet[f ? "add" : "delete"](d);
1364
1374
  }
1365
1375
  }), l = b(() => {
1366
- const f = S(e);
1376
+ const f = w(e);
1367
1377
  return f ? s.entities.draggingMap.has(f) : !1;
1368
1378
  }), u = b(() => {
1369
- const f = S(e);
1379
+ const f = w(e);
1370
1380
  return f ? s.entities.allowedDraggableSet.has(f) : !1;
1371
1381
  }), g = b(() => {
1372
- const f = S(e);
1382
+ const f = w(e);
1373
1383
  if (f)
1374
1384
  return s.entities.draggableMap.get(f)?.hoveredPlacement;
1375
1385
  });
1376
- return X(() => {
1377
- 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, {
1378
1388
  id: o,
1379
1389
  render: i.render,
1380
1390
  disabled: i.disabled ?? !1,
@@ -1404,10 +1414,10 @@ function rn(e, t, n) {
1404
1414
  };
1405
1415
  }
1406
1416
  const ln = (e, t) => {
1407
- const n = se(), s = b(() => e.value === n.entities.selectingArea);
1417
+ const n = ie(), s = b(() => e.value === n.entities.selectingArea);
1408
1418
  let i = null;
1409
- X(() => {
1410
- 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, {
1411
1421
  modifier: t?.modifier ?? {
1412
1422
  keys: ["ControlLeft"],
1413
1423
  method: "every"
@@ -1423,7 +1433,7 @@ const ln = (e, t) => {
1423
1433
  const r = b(() => {
1424
1434
  n.scrollPosition.x, n.scrollPosition.y;
1425
1435
  const a = n.pointer.value;
1426
- 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);
1427
1437
  });
1428
1438
  return {
1429
1439
  isSelecting: s,
@@ -1434,8 +1444,8 @@ function cn(e, t) {
1434
1444
  const n = Pe(Ee);
1435
1445
  if (!n) throw Error("DnD provider not found");
1436
1446
  let s = null;
1437
- return X(() => {
1438
- 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, {
1439
1449
  axis: t?.axis || "both",
1440
1450
  restrictToArea: t?.restrictToArea || !1
1441
1451
  }));
@@ -1444,19 +1454,19 @@ function cn(e, t) {
1444
1454
  }), {};
1445
1455
  }
1446
1456
  function gn(e, t, n) {
1447
- const s = se();
1457
+ const s = ie();
1448
1458
  let i = null, r, a;
1449
1459
  typeof t == "function" ? (r = {}, a = t) : (r = t ?? {}, a = n);
1450
1460
  const o = b(() => {
1451
- const l = S(e);
1461
+ const l = w(e);
1452
1462
  return l ? s.entities.allowedDroppableSet.has(l) : !1;
1453
1463
  }), c = b(() => {
1454
- const l = S(e);
1464
+ const l = w(e);
1455
1465
  if (l)
1456
1466
  return s.entities.droppableMap.get(l)?.hoveredPlacement;
1457
1467
  });
1458
- return X(() => {
1459
- 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, {
1460
1470
  disabled: r.disabled ?? !1,
1461
1471
  groups: r.groups ?? [],
1462
1472
  groupMatch: r.groupMatch ?? "every",
@@ -1473,7 +1483,7 @@ function gn(e, t, n) {
1473
1483
  };
1474
1484
  }
1475
1485
  const un = (e, t) => {
1476
- const n = je(), s = V(!1), r = qe(
1486
+ const n = je(), s = X(!1), r = qe(
1477
1487
  e,
1478
1488
  t ?? {},
1479
1489
  () => {
@@ -1487,7 +1497,7 @@ const un = (e, t) => {
1487
1497
  void 0,
1488
1498
  s
1489
1499
  );
1490
- return te(
1500
+ return ne(
1491
1501
  () => n.state.value,
1492
1502
  (a) => {
1493
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.2",
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",