@vue-dnd-kit/core 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
|
-
import { IBaseOptions, ISelectableAreaEvents, TDnDNodeRef, TModifierKeys, TModifierMethod } from '../types';
|
|
2
|
+
import { IBaseOptions, ISelectableAreaEvents, TDnDNodeRef, TModifierKeys, TModifierMethod, TSelectableAreaStrategy } from '../types';
|
|
3
3
|
interface ISelectionAreaOptions extends IBaseOptions {
|
|
4
4
|
modifier?: {
|
|
5
5
|
keys: TModifierKeys | Ref<TModifierKeys>;
|
|
6
6
|
method: TModifierMethod | Ref<TModifierMethod>;
|
|
7
7
|
};
|
|
8
8
|
events?: ISelectableAreaEvents;
|
|
9
|
+
strategy?: TSelectableAreaStrategy;
|
|
9
10
|
}
|
|
10
11
|
export declare const makeSelectionArea: (nodeRef: TDnDNodeRef, options?: ISelectionAreaOptions) => {
|
|
11
12
|
isSelecting: import('vue').ComputedRef<boolean>;
|
|
@@ -91,9 +91,12 @@ export interface ISelectableAreaEvents {
|
|
|
91
91
|
onSelected?: (selected: HTMLElement[]) => void;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
export type TSelectableAreaStrategy = 'toggle' | 'select';
|
|
95
|
+
|
|
94
96
|
export interface ISelectableAreaEntity extends IBaseEntity {
|
|
95
97
|
modifier: IModifier;
|
|
96
98
|
events?: ISelectableAreaEvents;
|
|
99
|
+
strategy?: TSelectableAreaStrategy;
|
|
97
100
|
}
|
|
98
101
|
|
|
99
102
|
export interface IConstraintsAreaEntity {
|
|
@@ -142,7 +145,7 @@ export interface IDroppableEvents {
|
|
|
142
145
|
* - `Promise<...>` — async (state becomes 'pending' while waiting)
|
|
143
146
|
*/
|
|
144
147
|
onValidate?: (
|
|
145
|
-
event: IDropValidateEvent
|
|
148
|
+
event: IDropValidateEvent,
|
|
146
149
|
) => void | false | IDragItem[] | Promise<void | false | IDragItem[]>;
|
|
147
150
|
onDrop?: (event: IDragEvent) => void | boolean | Promise<void | boolean>;
|
|
148
151
|
onLeave?: (event: IDragEvent) => void;
|
|
@@ -175,8 +178,6 @@ export interface IDragActivation {
|
|
|
175
178
|
export type TCondition = 'any' | 'both';
|
|
176
179
|
|
|
177
180
|
export interface IDraggableEntity extends IBaseEntity {
|
|
178
|
-
/** Stable id for this draggable — survives element remount during virtualization */
|
|
179
|
-
id?: string;
|
|
180
181
|
render?: Component;
|
|
181
182
|
events?: IDraggableEvents;
|
|
182
183
|
payload?: TDraggablePayload;
|
|
@@ -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"),C={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:`[${C.SELECT_AREA}]`,DRAGGABLE:`[${C.DRAGGABLE}]`,CONSTRAINT_AREA:`[${C.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 De="",Oe="",Fe="";const D=e=>e.value?e.value instanceof HTMLElement?e.value:e.value.$el:null,G=(e,t)=>e!==t&&e.contains(t),ze=(e,t)=>!(e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom),ie=()=>{const e=document.body;De=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=De,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,S=>de(S,{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 S=i.draggableMap.get(i.initiatingDraggable)?.activation?.distance;return S?Ue(s.value,S):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,S=i.initiatingDraggable,I=S?i.draggingMap.get(S):null,T=y.width&&y.height?y:I?.initialRect??null;return je(s.value,T,S||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);ze(n,l)?u?e.entities.selectedSet.delete(r):e.entities.selectedSet.add(r):u?e.entities.selectedSet.add(r):e.entities.selectedSet.delete(r)})},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 k={getInsertSide(e,t){return e?t==="vertical"?e.top&&!e.bottom?"before":e.bottom&&!e.top?"after":e.top?"before":null:e.left&&!e.right?"before":e.right&&!e.left?"after":e.left?"before":null:null},isAtZoneStart(e,t){return k.getInsertSide(e,t)==="before"&&!e?.center},isAtZoneEnd(e,t){return k.getInsertSide(e,t)==="after"&&!e?.center}};function 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=k.isAtZoneStart(s?.placement,t);u=m?0:l,g=m?"prepend":"append"}else{if(d)return null;{const m=k.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=k.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 Ce(e){return{insertAt:L,removeAt:me,removeIndexes:K,swapAt:xe,getInsertSide:(t,n)=>k.getInsertSide(t,n),isAtZoneStart:(t,n)=>k.isAtZoneStart(t,n),isAtZoneEnd:(t,n)=>k.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 ke(e,t){const n=t.entities.draggingMap.get(e);if(n)return n;const s=e.getAttribute(C.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=ke(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:Ce({draggedItems:n,dropZone:s,hoveredDraggable:a})}},O=(e,t,n)=>{if(!t)return;const s=ke(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 St(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:Ce({...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 Dt(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"&&Dt(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"){St(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,Se=1e3/Lt;function Ct(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 kt={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=kt,a){const{speed:r=10,disabled:i=!1}=t,o=Ct(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<Se){c=requestAnimationFrame(h);return}const S=r*(y/Se);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-S,F=!0):o.bottom>0&&u.bottom-R.y<o.bottom&&(q=I+S,F=!0),o.left>0&&R.x-u.left<o.left?(W=T-S,F=!0):o.right>0&&u.right-R.x<o.right&&(W=T+S,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=D(e);return d?s.entities.selectedSet.has(d):!1},set(d){const m=D(e);m&&s.entities.selectedSet[d?"add":"delete"](m)}}),l=f.computed(()=>{const d=D(e);return d?s.entities.draggingMap.has(d):!1}),u=f.computed(()=>{const d=D(e);return d?s.entities.allowedDraggableSet.has(d):!1}),g=f.computed(()=>{const d=D(e);if(d)return s.entities.draggableMap.get(d)?.hoveredPlacement});return f.onMounted(()=>{if(i=D(e),!!i&&(i.addEventListener("dragstart",w),i.addEventListener("drag",w),i.addEventListener("dragend",w),i.setAttribute(C.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=D(e),a&&(a.setAttribute(C.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??[]}))}),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=D(e),s&&(s.setAttribute(C.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=D(e);return l?s.entities.allowedDroppableSet.has(l):!1}),c=f.computed(()=>{const l=D(e);if(l)return s.entities.droppableMap.get(l)?.hoveredPlacement});return f.onMounted(()=>{a=D(e),a&&(a.setAttribute(C.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 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;
|
|
@@ -9,7 +9,7 @@ const I = {
|
|
|
9
9
|
SELECT_AREA: `[${I.SELECT_AREA}]`,
|
|
10
10
|
DRAGGABLE: `[${I.DRAGGABLE}]`,
|
|
11
11
|
CONSTRAINT_AREA: `[${I.CONSTRAINT_AREA}]`
|
|
12
|
-
},
|
|
12
|
+
}, Ee = "VueDnDKitProvider", Ie = (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;
|
|
@@ -29,7 +29,7 @@ const S = (e) => e.value ? e.value instanceof HTMLElement ? e.value : e.value.$e
|
|
|
29
29
|
}, ye = () => {
|
|
30
30
|
const e = document.body;
|
|
31
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(),
|
|
32
|
+
}, w = (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;
|
|
@@ -295,7 +295,7 @@ function Dt(e, t) {
|
|
|
295
295
|
a.draggableMap,
|
|
296
296
|
a.visibleDraggableSet,
|
|
297
297
|
r.keys.pressedKeys,
|
|
298
|
-
(D) =>
|
|
298
|
+
(D) => xe(D, { entities: a })
|
|
299
299
|
)),
|
|
300
300
|
visibleDraggableSet: /* @__PURE__ */ new Set(),
|
|
301
301
|
visibleDroppableSet: /* @__PURE__ */ new Set(),
|
|
@@ -330,9 +330,9 @@ function Dt(e, t) {
|
|
|
330
330
|
D || null,
|
|
331
331
|
a.constraintsAreaMap
|
|
332
332
|
);
|
|
333
|
-
}),
|
|
333
|
+
}), E = b({
|
|
334
334
|
get: () => t?.previewTo,
|
|
335
|
-
set: (y) =>
|
|
335
|
+
set: (y) => E.value = y
|
|
336
336
|
}), k = b(() => t?.autoScrollViewport);
|
|
337
337
|
return {
|
|
338
338
|
state: n,
|
|
@@ -349,7 +349,7 @@ function Dt(e, t) {
|
|
|
349
349
|
position: p,
|
|
350
350
|
render: h,
|
|
351
351
|
ref: e,
|
|
352
|
-
to:
|
|
352
|
+
to: E
|
|
353
353
|
},
|
|
354
354
|
lib: {
|
|
355
355
|
draggableObserver: f,
|
|
@@ -374,7 +374,9 @@ const ee = (e) => {
|
|
|
374
374
|
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
375
|
};
|
|
376
376
|
function St(e) {
|
|
377
|
-
return e.parentElement?.closest(
|
|
377
|
+
return e.parentElement?.closest(
|
|
378
|
+
G.SELECT_AREA
|
|
379
|
+
) ?? null;
|
|
378
380
|
}
|
|
379
381
|
const wt = (e, t, n) => {
|
|
380
382
|
if (!n) return {};
|
|
@@ -402,7 +404,7 @@ const wt = (e, t, n) => {
|
|
|
402
404
|
e.entities.selectedSet.delete(r);
|
|
403
405
|
return;
|
|
404
406
|
}
|
|
405
|
-
if (
|
|
407
|
+
if (xe(r, e)) {
|
|
406
408
|
e.entities.selectedSet.delete(r);
|
|
407
409
|
return;
|
|
408
410
|
}
|
|
@@ -413,8 +415,15 @@ const wt = (e, t, n) => {
|
|
|
413
415
|
}
|
|
414
416
|
let l = i.get(r);
|
|
415
417
|
l || (l = r.getBoundingClientRect(), i.set(r, l));
|
|
416
|
-
const u = e.entities.selectionBase.has(r);
|
|
417
|
-
|
|
418
|
+
const u = e.entities.selectionBase.has(r), g = ot(n, l);
|
|
419
|
+
switch (e.entities.selectableAreaMap.get(t)?.strategy) {
|
|
420
|
+
case "toggle":
|
|
421
|
+
(g || u) && e.entities.selectedSet[g !== u ? "add" : "delete"](r);
|
|
422
|
+
break;
|
|
423
|
+
case "select":
|
|
424
|
+
e.entities.selectedSet[g ? "add" : "delete"](r);
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
418
427
|
});
|
|
419
428
|
}, Mt = (e, t) => {
|
|
420
429
|
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;
|
|
@@ -478,7 +487,7 @@ function Ye(e, t) {
|
|
|
478
487
|
}
|
|
479
488
|
return { targetIndex: u, mode: g, targetArr: a };
|
|
480
489
|
}
|
|
481
|
-
function
|
|
490
|
+
function At(e, t = "vertical") {
|
|
482
491
|
const { draggedItems: n } = e;
|
|
483
492
|
if (!n.length) return null;
|
|
484
493
|
const s = Ye(e, t);
|
|
@@ -496,7 +505,7 @@ function vt(e, t = "vertical") {
|
|
|
496
505
|
return { sourceItems: g, targetItems: f, draggedItems: c, sourceIndexes: o, targetIndex: a, mode: r, sameList: !1 };
|
|
497
506
|
}
|
|
498
507
|
}
|
|
499
|
-
function
|
|
508
|
+
function vt(e) {
|
|
500
509
|
const { draggedItems: t, hoveredDraggable: n } = e;
|
|
501
510
|
if (!t.length || !n) return null;
|
|
502
511
|
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;
|
|
@@ -527,7 +536,7 @@ function At(e) {
|
|
|
527
536
|
}
|
|
528
537
|
}
|
|
529
538
|
}
|
|
530
|
-
function
|
|
539
|
+
function Et(e, t = "vertical") {
|
|
531
540
|
const { draggedItems: n } = e;
|
|
532
541
|
if (!n.length) return null;
|
|
533
542
|
const s = Ye(e, t);
|
|
@@ -535,7 +544,7 @@ function xt(e, t = "vertical") {
|
|
|
535
544
|
const { targetArr: i, targetIndex: r, mode: a } = s, o = n.map((l) => l.item);
|
|
536
545
|
return { targetItems: C(i, r, o), copiedItems: o, targetIndex: r, mode: a };
|
|
537
546
|
}
|
|
538
|
-
function
|
|
547
|
+
function xt(e) {
|
|
539
548
|
const { draggedItems: t } = e;
|
|
540
549
|
if (!t.length) return null;
|
|
541
550
|
const n = t.map((a) => a.index), s = t.map((a) => a.item), i = t[0].items;
|
|
@@ -553,10 +562,10 @@ function Ve(e) {
|
|
|
553
562
|
isAtZoneStart: (t, n) => R.isAtZoneStart(t, n),
|
|
554
563
|
isAtZoneEnd: (t, n) => R.isAtZoneEnd(t, n),
|
|
555
564
|
// High-level (event-bound)
|
|
556
|
-
suggestSort: (t) =>
|
|
557
|
-
suggestSwap: () =>
|
|
558
|
-
suggestCopy: (t) =>
|
|
559
|
-
suggestRemove: () =>
|
|
565
|
+
suggestSort: (t) => At(e, t),
|
|
566
|
+
suggestSwap: () => vt(e),
|
|
567
|
+
suggestCopy: (t) => Et(e, t),
|
|
568
|
+
suggestRemove: () => xt(e)
|
|
560
569
|
};
|
|
561
570
|
}
|
|
562
571
|
const O = (e) => e.keys().next().value, Lt = (e) => e.target.closest(
|
|
@@ -601,7 +610,7 @@ function Ct(e) {
|
|
|
601
610
|
});
|
|
602
611
|
}), [...l.values()].sort((u, g) => u.index - g.index);
|
|
603
612
|
}
|
|
604
|
-
const
|
|
613
|
+
const v = (e, t) => {
|
|
605
614
|
const n = Ct(e);
|
|
606
615
|
let s, i;
|
|
607
616
|
if (t) {
|
|
@@ -650,26 +659,26 @@ const A = (e, t) => {
|
|
|
650
659
|
}, F = (e, t, n) => {
|
|
651
660
|
if (!t) return;
|
|
652
661
|
const s = Xe(t, e) ?? e.entities.draggableMap.get(t);
|
|
653
|
-
!s || s.disabled || s.events?.[n]?.(
|
|
654
|
-
},
|
|
655
|
-
const n =
|
|
662
|
+
!s || s.disabled || s.events?.[n]?.(v(e));
|
|
663
|
+
}, A = (e, t) => {
|
|
664
|
+
const n = v(e);
|
|
656
665
|
e.entities.draggingMap.forEach((s) => {
|
|
657
666
|
s.disabled || s.events?.[t]?.(n);
|
|
658
667
|
});
|
|
659
668
|
}, It = (e, t, n) => {
|
|
660
669
|
if (t !== n) {
|
|
661
670
|
if (t && !K(t, e)) {
|
|
662
|
-
const s =
|
|
671
|
+
const s = v(e, t);
|
|
663
672
|
e.entities.droppableMap.get(t)?.events?.onLeave?.(s);
|
|
664
673
|
}
|
|
665
674
|
if (n && !K(n, e)) {
|
|
666
|
-
const s =
|
|
675
|
+
const s = v(e, n);
|
|
667
676
|
e.entities.droppableMap.get(n)?.events?.onEnter?.(s);
|
|
668
677
|
}
|
|
669
678
|
}
|
|
670
679
|
}, Rt = (e, t, n) => {
|
|
671
680
|
if (t !== n) {
|
|
672
|
-
const s =
|
|
681
|
+
const s = v(e);
|
|
673
682
|
if (t) {
|
|
674
683
|
const i = e.entities.draggableMap.get(t);
|
|
675
684
|
i && !i.disabled && i.events?.onLeave?.(s);
|
|
@@ -681,13 +690,13 @@ const A = (e, t) => {
|
|
|
681
690
|
}
|
|
682
691
|
}, le = (e, t, n) => {
|
|
683
692
|
const s = Lt(t);
|
|
684
|
-
!s || !e.entities.draggingMap.has(s) || e.entities.draggingMap.get(s)?.events?.[n]?.(
|
|
693
|
+
!s || !e.entities.draggingMap.has(s) || e.entities.draggingMap.get(s)?.events?.[n]?.(v(e));
|
|
685
694
|
}, kt = (e, t) => {
|
|
686
695
|
const n = O(t.droppable);
|
|
687
|
-
n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(
|
|
696
|
+
n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(v(e, n));
|
|
688
697
|
}, Se = (e, t) => {
|
|
689
698
|
const n = O(t.droppable);
|
|
690
|
-
n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(
|
|
699
|
+
n && !K(n, e) && e.entities.droppableMap.get(n)?.events?.onLeave?.(v(e, n));
|
|
691
700
|
}, Tt = (e, t, n = 5) => {
|
|
692
701
|
const s = n / 2;
|
|
693
702
|
return {
|
|
@@ -858,7 +867,7 @@ const Ft = (e, t) => e.find((n) => n !== t && H(t, n)), we = (e, t, n) => {
|
|
|
858
867
|
return !!(s && e !== n && !t.entities.draggableMap.has(s) && !t.entities.droppableMap.has(s) && H(s, e) && [
|
|
859
868
|
...t.entities.draggableMap.keys()
|
|
860
869
|
].filter((r) => r.parentElement === s).length === 1);
|
|
861
|
-
}), Ht = (e, t) => t.entities.draggableMap.has(e) ? !
|
|
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;
|
|
862
871
|
function _(e, t) {
|
|
863
872
|
return Math.hypot(
|
|
864
873
|
t.x - (e.x + e.width / 2),
|
|
@@ -874,7 +883,7 @@ function Kt(e) {
|
|
|
874
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;
|
|
875
884
|
return r.length === 0 && a.length === 0 ? null : { elements: r, zones: a };
|
|
876
885
|
}
|
|
877
|
-
const
|
|
886
|
+
const Ae = (e) => {
|
|
878
887
|
if (!zt(e)) return { elements: [], zones: [] };
|
|
879
888
|
const n = e.pointer.value?.current ?? { x: 0, y: 0 }, s = Kt(e);
|
|
880
889
|
if (s) {
|
|
@@ -899,23 +908,23 @@ const ve = (e) => {
|
|
|
899
908
|
).sort((l, u) => _(l.box, n) - _(u.box, n)).map(({ n: l }) => l);
|
|
900
909
|
return { elements: o, zones: c };
|
|
901
910
|
};
|
|
902
|
-
function
|
|
903
|
-
const t =
|
|
911
|
+
function ve(e) {
|
|
912
|
+
const t = Ae(e);
|
|
904
913
|
we(e, e.hovered, t);
|
|
905
914
|
}
|
|
906
915
|
function Nt(e, t) {
|
|
907
916
|
const n = e.collision?.throttle?.value ?? 0;
|
|
908
917
|
if (n <= 0) {
|
|
909
|
-
|
|
918
|
+
ve(e);
|
|
910
919
|
return;
|
|
911
920
|
}
|
|
912
921
|
const s = Date.now();
|
|
913
|
-
s - t.value >= n && (t.value = s,
|
|
922
|
+
s - t.value >= n && (t.value = s, ve(e));
|
|
914
923
|
}
|
|
915
924
|
async function $e(e) {
|
|
916
925
|
const t = e.hovered.droppable.keys().next().value;
|
|
917
926
|
if (!t || K(t, e)) return "accept";
|
|
918
|
-
const n = e.entities.droppableMap.get(t), s =
|
|
927
|
+
const n = e.entities.droppableMap.get(t), s = v(e, t);
|
|
919
928
|
let i = s;
|
|
920
929
|
if (n?.groupMatch === "some" && (n.groups?.length ?? 0) > 0) {
|
|
921
930
|
const o = n.groups, c = s.draggedItems.filter((u) => {
|
|
@@ -948,7 +957,7 @@ async function $e(e) {
|
|
|
948
957
|
d = await g;
|
|
949
958
|
} catch {
|
|
950
959
|
const h = e.entities.initiatingDraggable;
|
|
951
|
-
return F(e, h, "onSelfDragCancel"),
|
|
960
|
+
return F(e, h, "onSelfDragCancel"), A(e, "onDragCancel"), Se(e, e.hovered), "cancel";
|
|
952
961
|
}
|
|
953
962
|
} else
|
|
954
963
|
d = g;
|
|
@@ -971,7 +980,7 @@ async function $e(e) {
|
|
|
971
980
|
o = await r;
|
|
972
981
|
} catch {
|
|
973
982
|
const c = e.entities.initiatingDraggable;
|
|
974
|
-
return F(e, c, "onSelfDragCancel"),
|
|
983
|
+
return F(e, c, "onSelfDragCancel"), A(e, "onDragCancel"), Se(e, e.hovered), "cancel";
|
|
975
984
|
}
|
|
976
985
|
return o === !1 ? (e.state.value = "dragging", "decline") : "accept";
|
|
977
986
|
}
|
|
@@ -979,7 +988,7 @@ async function $e(e) {
|
|
|
979
988
|
}
|
|
980
989
|
function Ue(e) {
|
|
981
990
|
const t = e.entities.initiatingDraggable;
|
|
982
|
-
F(e, t, "onSelfDragEnd"),
|
|
991
|
+
F(e, t, "onSelfDragEnd"), A(e, "onDragEnd"), kt(e, e.hovered);
|
|
983
992
|
}
|
|
984
993
|
function Yt(e) {
|
|
985
994
|
const t = e.entities.selectingArea;
|
|
@@ -1005,13 +1014,13 @@ const Vt = (e) => {
|
|
|
1005
1014
|
}, i = (o) => {
|
|
1006
1015
|
if (e.pointer.value && e.state.value !== "pending") {
|
|
1007
1016
|
if (e.pointer.value.current = { x: o.clientX, y: o.clientY }, dt(e)) {
|
|
1008
|
-
le(e, o, "onSelfDragStart"),
|
|
1017
|
+
le(e, o, "onSelfDragStart"), A(e, "onDragStart");
|
|
1009
1018
|
return;
|
|
1010
1019
|
}
|
|
1011
1020
|
if (e.state.value === "dragging") {
|
|
1012
1021
|
Nt(e, n);
|
|
1013
1022
|
const c = e.entities.initiatingDraggable;
|
|
1014
|
-
F(e, c, "onSelfDragMove"),
|
|
1023
|
+
F(e, c, "onSelfDragMove"), A(e, "onDragMove");
|
|
1015
1024
|
}
|
|
1016
1025
|
e.state.value === "selecting" && Ke(e);
|
|
1017
1026
|
}
|
|
@@ -1034,8 +1043,8 @@ const Vt = (e) => {
|
|
|
1034
1043
|
pe(), e.entities.initiatingDraggable = u;
|
|
1035
1044
|
const f = ze(o, u);
|
|
1036
1045
|
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, () => {
|
|
1037
|
-
Q(e), le(e, o, "onSelfDragStart"),
|
|
1038
|
-
}))) : (Q(e), le(e, o, "onSelfDragStart"),
|
|
1046
|
+
Q(e), le(e, o, "onSelfDragStart"), A(e, "onDragStart");
|
|
1047
|
+
}))) : (Q(e), le(e, o, "onSelfDragStart"), A(e, "onDragStart"));
|
|
1039
1048
|
}
|
|
1040
1049
|
}, pointerUp: s, pointerMove: i, cleanup: () => {
|
|
1041
1050
|
t.current?.cancel(), document.removeEventListener("pointerup", s), document.removeEventListener("pointermove", i), e.lib.draggableObserver.disconnect(), e.lib.droppableObserver.disconnect(), e.lib.selectableAreaObserver.disconnect();
|
|
@@ -1057,7 +1066,7 @@ const Vt = (e) => {
|
|
|
1057
1066
|
e,
|
|
1058
1067
|
e.entities.initiatingDraggable,
|
|
1059
1068
|
"onSelfDragCancel"
|
|
1060
|
-
),
|
|
1069
|
+
), A(e, "onDragCancel"), Se(e, e.hovered), ee(e);
|
|
1061
1070
|
return;
|
|
1062
1071
|
}
|
|
1063
1072
|
if (n.forDrop.includes(t.code)) {
|
|
@@ -1074,12 +1083,12 @@ const Vt = (e) => {
|
|
|
1074
1083
|
x: e.pointer.value.current.x + i.dx * a,
|
|
1075
1084
|
y: e.pointer.value.current.y + i.dy * a
|
|
1076
1085
|
};
|
|
1077
|
-
const o =
|
|
1086
|
+
const o = Ae(e);
|
|
1078
1087
|
we(e, e.hovered, o), F(
|
|
1079
1088
|
e,
|
|
1080
1089
|
e.entities.initiatingDraggable,
|
|
1081
1090
|
"onSelfDragMove"
|
|
1082
|
-
),
|
|
1091
|
+
), A(e, "onDragMove");
|
|
1083
1092
|
return;
|
|
1084
1093
|
}
|
|
1085
1094
|
return;
|
|
@@ -1107,8 +1116,8 @@ const Vt = (e) => {
|
|
|
1107
1116
|
g.x,
|
|
1108
1117
|
g.y
|
|
1109
1118
|
), Q(e);
|
|
1110
|
-
const f =
|
|
1111
|
-
we(e, e.hovered, f), F(e, r, "onSelfDragStart"),
|
|
1119
|
+
const f = Ae(e);
|
|
1120
|
+
we(e, e.hovered, f), F(e, r, "onSelfDragStart"), A(e, "onDragStart");
|
|
1112
1121
|
}
|
|
1113
1122
|
}, $t = (e) => (t) => {
|
|
1114
1123
|
e.keyboard.keys.pressedKeys.value.delete(t.code);
|
|
@@ -1122,30 +1131,30 @@ const Vt = (e) => {
|
|
|
1122
1131
|
if (!e.state.value) return;
|
|
1123
1132
|
const t = e.scrollPosition.x, n = e.scrollPosition.y;
|
|
1124
1133
|
if (e.scrollPosition.x = window.scrollX, e.scrollPosition.y = window.scrollY, e.lib.rectCache.clear(), e.state.value === "dragging") {
|
|
1125
|
-
|
|
1134
|
+
ve(e);
|
|
1126
1135
|
return;
|
|
1127
1136
|
}
|
|
1128
1137
|
if (e.state.value === "selecting" && e.pointer.value) {
|
|
1129
1138
|
const s = window.scrollX - t, i = window.scrollY - n;
|
|
1130
1139
|
e.pointer.value.start.x -= s, e.pointer.value.start.y -= i, Ke(e);
|
|
1131
1140
|
}
|
|
1132
|
-
},
|
|
1141
|
+
}, x = 50, jt = 144, Te = 1e3 / jt;
|
|
1133
1142
|
function Wt(e) {
|
|
1134
1143
|
return e == null ? {
|
|
1135
|
-
top:
|
|
1136
|
-
right:
|
|
1137
|
-
bottom:
|
|
1138
|
-
left:
|
|
1144
|
+
top: x,
|
|
1145
|
+
right: x,
|
|
1146
|
+
bottom: x,
|
|
1147
|
+
left: x
|
|
1139
1148
|
} : typeof e == "number" ? {
|
|
1140
1149
|
top: e,
|
|
1141
1150
|
right: e,
|
|
1142
1151
|
bottom: e,
|
|
1143
1152
|
left: e
|
|
1144
1153
|
} : {
|
|
1145
|
-
top: e.top ??
|
|
1146
|
-
right: e.right ??
|
|
1147
|
-
bottom: e.bottom ??
|
|
1148
|
-
left: e.left ??
|
|
1154
|
+
top: e.top ?? x,
|
|
1155
|
+
right: e.right ?? x,
|
|
1156
|
+
bottom: e.bottom ?? x,
|
|
1157
|
+
left: e.left ?? x
|
|
1149
1158
|
};
|
|
1150
1159
|
}
|
|
1151
1160
|
const Jt = {
|
|
@@ -1165,8 +1174,8 @@ function qe(e, t, n, s = Jt, i) {
|
|
|
1165
1174
|
const d = (p) => {
|
|
1166
1175
|
i && (i.value = p);
|
|
1167
1176
|
}, m = (p) => {
|
|
1168
|
-
const
|
|
1169
|
-
if (!
|
|
1177
|
+
const E = e.value, k = n();
|
|
1178
|
+
if (!E || !k || a) {
|
|
1170
1179
|
d(!1);
|
|
1171
1180
|
return;
|
|
1172
1181
|
}
|
|
@@ -1178,10 +1187,10 @@ function qe(e, t, n, s = Jt, i) {
|
|
|
1178
1187
|
}
|
|
1179
1188
|
const D = r * (y / Te);
|
|
1180
1189
|
l = p;
|
|
1181
|
-
const { scrollTop: T, scrollLeft: P } = s.getScrollState(
|
|
1182
|
-
(!u || g !== T || f !== P) && (u = s.getRect ? s.getRect(
|
|
1190
|
+
const { scrollTop: T, scrollLeft: P } = s.getScrollState(E);
|
|
1191
|
+
(!u || g !== T || f !== P) && (u = s.getRect ? s.getRect(E) : E.getBoundingClientRect(), g = T, f = P);
|
|
1183
1192
|
let z = !1, ie = T, ae = P;
|
|
1184
|
-
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(
|
|
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);
|
|
1185
1194
|
};
|
|
1186
1195
|
return { run: () => {
|
|
1187
1196
|
l = null, c = requestAnimationFrame(m);
|
|
@@ -1249,7 +1258,7 @@ const nn = (e) => {
|
|
|
1249
1258
|
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();
|
|
1250
1259
|
});
|
|
1251
1260
|
}, se = () => {
|
|
1252
|
-
const e = Pe(
|
|
1261
|
+
const e = Pe(Ee);
|
|
1253
1262
|
if (!e) throw Error("DnD provider not found");
|
|
1254
1263
|
return e;
|
|
1255
1264
|
}, je = () => {
|
|
@@ -1322,7 +1331,7 @@ const nn = (e) => {
|
|
|
1322
1331
|
const t = e, n = Oe("previewRef"), s = Dt(n, t);
|
|
1323
1332
|
nn(s);
|
|
1324
1333
|
const i = b(() => s.preview.render.value ?? sn);
|
|
1325
|
-
return et(
|
|
1334
|
+
return et(Ee, s), (r, a) => (L(), j(he, null, [
|
|
1326
1335
|
me(r.$slots, "default"),
|
|
1327
1336
|
(L(), J(tt, {
|
|
1328
1337
|
to: q(s).preview.to.value || "body"
|
|
@@ -1405,7 +1414,8 @@ const ln = (e, t) => {
|
|
|
1405
1414
|
},
|
|
1406
1415
|
events: t?.events,
|
|
1407
1416
|
disabled: t?.disabled ?? !1,
|
|
1408
|
-
groups: t?.groups ?? []
|
|
1417
|
+
groups: t?.groups ?? [],
|
|
1418
|
+
strategy: t?.strategy ?? "toggle"
|
|
1409
1419
|
}));
|
|
1410
1420
|
}), Z(() => {
|
|
1411
1421
|
i && (n.lib.selectableAreaObserver.unobserve(i), n.entities.visibleSelectableAreaSet.delete(i), n.entities.modifiersSelectableAreaSet.delete(i), n.entities.selectableAreaMap.delete(i));
|
|
@@ -1421,7 +1431,7 @@ const ln = (e, t) => {
|
|
|
1421
1431
|
};
|
|
1422
1432
|
};
|
|
1423
1433
|
function cn(e, t) {
|
|
1424
|
-
const n = Pe(
|
|
1434
|
+
const n = Pe(Ee);
|
|
1425
1435
|
if (!n) throw Error("DnD provider not found");
|
|
1426
1436
|
let s = null;
|
|
1427
1437
|
return X(() => {
|
|
@@ -1487,7 +1497,7 @@ const un = (e, t) => {
|
|
|
1487
1497
|
export {
|
|
1488
1498
|
on as DnDProvider,
|
|
1489
1499
|
sn as DragPreview,
|
|
1490
|
-
|
|
1500
|
+
Ee as injectionKey,
|
|
1491
1501
|
un as makeAutoScroll,
|
|
1492
1502
|
cn as makeConstraintArea,
|
|
1493
1503
|
rn as makeDraggable,
|
package/package.json
CHANGED