@vue-dnd-kit/core 2.4.7 → 3.0.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.
Files changed (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -48
  3. package/dist/devtools.cjs +2 -0
  4. package/dist/devtools.cjs.map +1 -0
  5. package/dist/devtools.d.cts +610 -0
  6. package/dist/devtools.d.ts +610 -0
  7. package/dist/devtools.js +569 -0
  8. package/dist/devtools.js.map +1 -0
  9. package/dist/index.cjs +12 -0
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.cts +2425 -0
  12. package/dist/index.d.ts +2425 -2
  13. package/dist/index.js +5865 -0
  14. package/dist/index.js.map +1 -0
  15. package/package.json +59 -29
  16. package/dist/external/components/DnDProvider.vue.d.ts +0 -25
  17. package/dist/external/components/DragPreview.vue.d.ts +0 -89
  18. package/dist/external/composables/makeAutoScroll.d.ts +0 -14
  19. package/dist/external/composables/makeConstraintArea.d.ts +0 -7
  20. package/dist/external/composables/makeDraggable.d.ts +0 -24
  21. package/dist/external/composables/makeDroppable.d.ts +0 -21
  22. package/dist/external/composables/makeSelectionArea.d.ts +0 -15
  23. package/dist/external/composables/useDnDProvider.d.ts +0 -2
  24. package/dist/external/env.d.ts +0 -7
  25. package/dist/external/index.d.ts +0 -11
  26. package/dist/external/types/entities.d.ts +0 -208
  27. package/dist/external/types/index.d.ts +0 -5
  28. package/dist/external/types/operations.d.ts +0 -187
  29. package/dist/external/types/placement.d.ts +0 -34
  30. package/dist/external/types/pointer.d.ts +0 -10
  31. package/dist/external/types/provider.d.ts +0 -89
  32. package/dist/internal/composables/useDnDProviderEvents.d.ts +0 -2
  33. package/dist/internal/composables/useDnDProviderInternal.d.ts +0 -2
  34. package/dist/internal/composables/useDnDProviderState.d.ts +0 -4
  35. package/dist/internal/composables/useViewportAutoScroll.d.ts +0 -9
  36. package/dist/internal/logic/hover.d.ts +0 -6
  37. package/dist/internal/logic/keyboard.d.ts +0 -6
  38. package/dist/internal/logic/operations.d.ts +0 -35
  39. package/dist/internal/logic/payload.d.ts +0 -5
  40. package/dist/internal/logic/pointer.d.ts +0 -11
  41. package/dist/internal/logic/scroll.d.ts +0 -2
  42. package/dist/internal/sensors/default-collision.d.ts +0 -18
  43. package/dist/internal/sensors/index.d.ts +0 -2
  44. package/dist/internal/sensors/sensor.d.ts +0 -68
  45. package/dist/internal/sensors/steps.d.ts +0 -58
  46. package/dist/internal/types/auto-scroll.d.ts +0 -20
  47. package/dist/internal/types/observer.d.ts +0 -11
  48. package/dist/internal/types/provider.d.ts +0 -31
  49. package/dist/internal/utils/auto-scroll.d.ts +0 -13
  50. package/dist/internal/utils/constraints.d.ts +0 -43
  51. package/dist/internal/utils/disabled.d.ts +0 -9
  52. package/dist/internal/utils/dom.d.ts +0 -44
  53. package/dist/internal/utils/drag-activation.d.ts +0 -29
  54. package/dist/internal/utils/events.d.ts +0 -22
  55. package/dist/internal/utils/geometry.d.ts +0 -23
  56. package/dist/internal/utils/groups.d.ts +0 -23
  57. package/dist/internal/utils/hover.d.ts +0 -15
  58. package/dist/internal/utils/keyboard.d.ts +0 -5
  59. package/dist/internal/utils/namespaces.d.ts +0 -18
  60. package/dist/internal/utils/observer.d.ts +0 -15
  61. package/dist/internal/utils/placement.d.ts +0 -22
  62. package/dist/internal/utils/pointer.d.ts +0 -33
  63. package/dist/internal/utils/provider.d.ts +0 -12
  64. package/dist/internal/utils/selection.d.ts +0 -36
  65. package/dist/internal/utils/session.d.ts +0 -5
  66. package/dist/vite.svg +0 -1
  67. package/dist/vue-dnd-kit-core.cjs.js +0 -2
  68. package/dist/vue-dnd-kit-core.es.js +0 -1524
package/dist/index.cjs ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("vue"),N=require("@vueuse/core");let hi=0;const $t=e=>`${e}-${v.getCurrentInstance()?v.useId():++hi}`,wn=typeof window<"u",to=1,mi=e=>{const t=e?.$;if(!t)return;let n=t.subTree;for(;n?.component;)n=n.component.subTree;return n?.anchor??null},ie=e=>{const t=N.unrefElement(e);if(!t)return null;if(t.nodeType===to)return t;const n=mi(v.toValue(e));if(n===null)return null;for(let o=t.nextSibling;o&&o!==n;o=o.nextSibling)if(o.nodeType===to)return o;return null},J=e=>e.assignedSlot??e.parentElement??e.getRootNode().host??null,Ge=(e,t)=>{if(e.contains(t))return!0;if(e.getRootNode()===t.getRootNode())return!1;for(let n=J(t);n;n=J(n))if(n===e)return!0;return!1},gi=e=>e.composedPath?.()[0]??e.target,bn=(e,t)=>{let n=document.elementFromPoint(e,t);for(;n?.shadowRoot;){const o=n.shadowRoot.elementFromPoint(e,t);if(!o||o===n)break;n=o}return n},vi=(e,t,n)=>{const s=(document.elementsFromPoint?.(e,t)??[]).find(i=>!Ge(n,i))??J(n);if(!s?.shadowRoot)return s;const r=bn(e,t);return r&&!Ge(n,r)?r:s},xn='input, textarea, select, [contenteditable]:not([contenteditable="false"])',yi=`${xn}, option, button`,wi=`${xn}, a[href], button`,ps=(e,t)=>{const n=e.closest(yi);return!!n&&n!==t&&t.contains(n)},bi=e=>e.matches(xn),xi=e=>e.matches(wi),Mt=()=>{const e=document.activeElement;return!e||e===document.body||e===document.documentElement||!e.isConnected},ki=100,Si=()=>new Promise(e=>{const t=()=>{cancelAnimationFrame(n),clearTimeout(o),e()},n=requestAnimationFrame(t),o=setTimeout(t,ki)}),xe=new WeakMap,Di=e=>e.playState!=="finished"&&e.playState!=="idle",Ei=e=>!!e&&typeof e.cancel=="function"&&typeof e.addEventListener=="function",no=()=>{},hs=e=>{const t=e?.finished,n=t&&typeof t.then=="function"?t:e;return Promise.resolve(n).then(no,no)},tt=1e3,Ne=async(e,t)=>{let n;try{await Promise.race([hs(e),new Promise(o=>n=setTimeout(o,t))])}finally{clearTimeout(n)}},je={duration:200,easing:"cubic-bezier(0.25, 1, 0.5, 1)"},ee=(e,t,n,o)=>({left:e,top:t,width:n,height:o,right:e+n,bottom:t+o}),Mi=e=>ee(e.left,e.top,e.width,e.height),V=e=>Mi(e.getBoundingClientRect()),ge=(e,t,n)=>ee(e.left+t,e.top+n,e.width,e.height),At=(e,t)=>{const n=Math.max(e.left,t.left),o=Math.max(e.top,t.top),s=Math.min(e.right,t.right),r=Math.min(e.bottom,t.bottom);return s>n&&r>o?ee(n,o,s-n,r-o):null},Nt=(e,t)=>e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top,Ai=(e,t)=>{const n=Math.min(e.left,t.left),o=Math.min(e.top,t.top);return ee(n,o,Math.max(e.right,t.right)-n,Math.max(e.bottom,t.bottom)-o)},ms=(e,t,n)=>ee(e.left-t,e.top-n,e.width+2*t,e.height+2*n),de=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,Y=e=>({x:e.left+e.width/2,y:e.top+e.height/2}),Me=(e,t)=>Math.hypot(e.x-t.x,e.y-t.y),kn=()=>ee(0,0,window.innerWidth,window.innerHeight),oo=(e,t)=>({x:e.width?(t.x-e.left)/e.width:0,y:e.height?(t.y-e.top)/e.height:0}),Oi=(e,t,n)=>ee(e.left+(e.width-t.width)*n.x,e.top+(e.height-t.height)*n.y,t.width,t.height),gs=e=>{if(!e||e==="none")return{x:0,y:0};const[t="0",n="0"]=e.split(" ");return{x:parseFloat(t)||0,y:parseFloat(n)||0}},ne=e=>{const t=V(e);if(!xe.get(e)?.running())return t;const{x:o,y:s}=gs(getComputedStyle(e).translate);return ge(t,-o,-s)},en=e=>{const t=[];for(let n=e;n;n=J(n)){const o=xe.get(n);o?.running()&&t.push({animation:o,offset:gs(getComputedStyle(n).translate)})}return t},Ci=e=>{let t=0,n=0;for(const{offset:o}of en(e))t+=o.x,n+=o.y;return ge(V(e),-t,-n)},fe=()=>typeof matchMedia<"u"&&matchMedia("(prefers-reduced-motion: reduce)").matches,le=e=>typeof e.animate=="function",ve=(e,t)=>{if(e===!1)return null;if(typeof e=="function")return{options:t,custom:e};const n={...t,...e===!0?{}:e};return n.duration<=0||fe()?null:{options:n,custom:null}},Ti=e=>{if(typeof CSSTransition>"u"||!e.length)return;const t=new Set(e),n=new Set;for(const o of e){const s=o.getRootNode();typeof s.getAnimations=="function"&&n.add(s)}for(const o of n)for(const s of o.getAnimations())s instanceof CSSTransition&&(s.transitionProperty==="transform"||s.transitionProperty==="translate")&&t.has(s.effect?.target??null)&&s.cancel()},Ot=(e,t)=>{xe.get(e)===t&&(xe.delete(e),t.crossing&&(e.style.pointerEvents=""))},tn=e=>{const t=xe.get(e);t&&(Ot(e,t),t.stop())},vs=(e,t)=>{xe.set(e,t),t.crossing&&(e.style.pointerEvents="none")},ys=(e,t,n,o)=>{const s={...n,stop:()=>{t.cancel(),o?.abort()},running:()=>Di(t)};vs(e,s),t.addEventListener("finish",()=>Ot(e,s)),t.addEventListener("cancel",()=>Ot(e,s))},Ii=(e,t,n,o)=>{if(Ei(t))return ys(e,t,{...o,custom:!0},n);if(!t||typeof t!="object")return;let s=!1;const r={...o,custom:!0,stop:()=>n.abort(),running:()=>!s};vs(e,r),hs(t).then(()=>{s=!0,Ot(e,r)})},Ri=(e,t)=>Math.abs(e.left-t.left)<.5&&Math.abs(e.top-t.top)<.5,ws=(e,t="drag")=>{Ti(e.flatMap(({entries:r})=>r.map(i=>i.element)));const n=e.map(({entries:r,option:i,defaults:a})=>{const l=ve(i,a??je);for(const{element:c}of r)(!l||xe.get(c)?.custom)&&tn(c);return l&&{resolved:l,entries:r}}),o=n.map(r=>r?.entries.map(i=>ne(i.element))),s=fe();n.forEach((r,i)=>{if(!r)return;const{resolved:a,entries:l}=r;l.forEach(({key:c,element:u,first:f,crossing:d},h)=>{const p=o[i][h],m=xe.get(u);if(m?.running()&&Ri(m.to,p))return;const y=!!d||!!m?.crossing&&m.running();tn(u);const w=f.left-p.left,b=f.top-p.top;if(Math.abs(w)<.5&&Math.abs(b)<.5)return;if(a.custom){const g=new AbortController,{options:x}=a,S=a.custom({key:c,element:u,from:f,to:p,options:x,reason:t,signal:g.signal,reducedMotion:s});Ii(u,S,g,{to:p,crossing:y});return}if(!le(u))return;const k=u.animate([{translate:`${w}px ${b}px`},{translate:"0px 0px"}],a.options);ys(u,k,{to:p,custom:!1,crossing:y})})})},so=(e,t)=>{const n=ve(t,je);!n||n.custom||!le(e)||e.animate([{opacity:0},{opacity:1}],n.options)},qe=1,Li={scrollers:[],window:!0,volatile:!1},ro={scrollers:[],window:!1,volatile:!1},io=e=>e!=="visible"&&e!=="";function Pi(e={}){let t=!1,n=0,o=0,s=new WeakMap;const r=new Map,i=new Map,a=new Map,l=new Map,c=new Map;let u=null,f=null,d=null;const h=new Map,p=new Set,m=()=>e.onShadowScroll?.(),y=F=>{const _=F.getRootNode();!t||!(_ instanceof ShadowRoot)||p.has(_)||(p.add(_),_.addEventListener("scroll",m,{capture:!0,passive:!0}))},w=()=>{a.clear(),l.clear(),c.clear(),u=null,f=null},b=()=>{t||(s=new WeakMap,r.clear(),i.clear(),w())},k=F=>{let _=s.get(F);if(!_){const z=getComputedStyle(F),B=z.display!=="contents"&&z.display!=="inline",H=B&&/paint|strict|content/.test(z.contain??"");_={clipX:H||B&&io(z.overflowX),clipY:H||B&&io(z.overflowY),fixed:z.position==="fixed",sticky:z.position==="sticky"},s.set(F,_)}return _},g=F=>{const _=k(F);if(!_.clipX&&!_.clipY)return!1;if(F===document.body){const z=k(document.documentElement);return z.clipX||z.clipY}return!0},x=(F,_)=>_&&!F.volatile?{...F,volatile:!0}:F,S=F=>{if(!F||F===document.documentElement)return Li;let _=i.get(F);if(_)return _;const z=k(F),B=z.fixed?ro:S(J(F)),H=g(F);return H&&y(F),_=H?{scrollers:[F,...B.scrollers],window:B.window,volatile:B.volatile||z.sticky}:x(B,z.sticky),i.set(F,_),_},E=F=>{const _=k(F);return _.fixed?ro:x(S(J(F)),_.sticky)},C=F=>{let _=a.get(F);return _||(_={x:F.scrollLeft,y:F.scrollTop},a.set(F,_)),_},D=()=>u??={x:window.scrollX,y:window.scrollY},O=F=>{const _=E(F),z=[];for(const H of _.scrollers){const{x:te,y:Le}=C(H);z.push(te,Le)}if(_.window){const{x:H,y:te}=D();z.push(H,te)}const B={rect:ne(F),chain:_,offsets:z,frame:n,generation:o};return r.set(F,B),B},I=(F,_=!0)=>{const z=r.get(F);return z&&(!_||z.generation===o)&&!(z.chain.volatile&&z.frame!==n)?z:O(F)};let K=0,L=0;const A=F=>{const{chain:_,offsets:z}=F;K=0,L=0;let B=0;for(const H of _.scrollers){const te=C(H);K+=z[B++]-te.x,L+=z[B++]-te.y}if(_.window){const H=D();K+=z[B++]-H.x,L+=z[B]-H.y}},T=F=>(A(F),K||L?ge(F.rect,K,L):F.rect),$=()=>f??=ee(0,0,window.innerWidth,window.innerHeight),M=F=>{const _=F.scrollers[0];if(!_)return $();const z=l.get(_);if(z!==void 0)return z;const B=I(_),H=M(B.chain);let te=null;if(H){const Le=T(B),Ut=B.client??=ee(_.clientLeft,_.clientTop,_.clientWidth,_.clientHeight),dt=ge(Ut,Le.left,Le.top),{clipX:Qn,clipY:eo}=k(_);te=At(H,ee(Qn?dt.left:H.left,eo?dt.top:H.top,Qn?dt.width:H.width,eo?dt.height:H.height))}return l.set(_,te),te},P=F=>(b(),T(I(F))),W=F=>{b();const _=I(F),z=M(_.chain);return z&&At(T(_),z)},j=(F,_)=>{const z=F.scrollers[0]??document.documentElement;if(_===qe){const te=c.get(z);if(te!==void 0)return te}const B=M(F),H=B&&ms(B,B.width*_,B.height*_);return _===qe&&c.set(z,H),H},U=(F,_=qe)=>{b();const z=I(F,!1),B=j(z.chain,_);if(!B)return!1;A(z);const{left:H,top:te,right:Le,bottom:Ut}=z.rect;return Le+K>B.left&&H+K<B.right&&Ut+L>B.top&&te+L<B.bottom},Z=F=>{if(F)for(const _ of F)r.delete(_);else o++,i.clear();l.clear(),c.clear()},oe=()=>{r.clear(),i.clear(),l.clear(),c.clear()},q=()=>oe(),re=F=>{!t||h.has(F)||typeof ResizeObserver>"u"||(d??=new ResizeObserver(_=>{let z=!1;for(const{target:B,contentRect:H}of _){const te=`${H.width}x${H.height}`;h.get(B)&&h.get(B)!==te&&(z=!0),h.set(B,te)}z&&oe()}),h.set(F,""),d.observe(F))},ae=()=>{t&&window.removeEventListener("resize",q),t=!1,d?.disconnect(),d=null,h.clear();for(const F of p)F.removeEventListener("scroll",m,{capture:!0});p.clear(),s=new WeakMap,r.clear(),i.clear(),w()};return{begin:()=>{ae(),t=!0,window.addEventListener("resize",q,{passive:!0})},end:ae,nextFrame:()=>{n++,w()},measure:P,measureVisible:W,isNearViewport:U,invalidate:Z,observe:re}}const nn=new Map,Ki=()=>({status:v.shallowRef("idle"),active:v.shallowRef(null),over:v.shallowRef(null),pointer:v.shallowRef(null),flights:v.shallowRef([]),transform:v.shallowRef({x:0,y:0}),containerShift:v.shallowRef({x:0,y:0}),activationProgress:v.shallowRef(0),outside:v.shallowRef(!1),isAutoScrolling:v.shallowRef(!1),autoScrollers:v.shallowRef([]),overlayElement:v.shallowRef(null),fitSize:v.shallowRef(null),announcement:v.shallowRef(""),selection:v.shallowReactive(new Set),mode:v.shallowRef("move"),landingKey:v.shallowRef(null),landings:v.shallowRef(nn),overlayColumn:v.shallowRef(null),overlayItems:new Map}),Yt=new WeakMap,Ue=new WeakSet,ao=(e,t,n,o)=>{v.nextTick(()=>{if(!Ue.has(n)||n.id!==o.id||t.get(o.id)!==o)return;const s=n.getElement(),r=o.getElement();if(!s?.isConnected||!r?.isConnected||s===r)return;const i=e==="draggable"?"only the last one registered is dragged, also from the other one":"only the last one registered takes drops";console.warn(`[vue-dnd-kit] Two ${e}s share the id "${String(o.id)}": ${i}. Give each its own id.`)})};function $i(){const e=new Map,t=new Map,n=new WeakMap,o=new Set,s=new Set,r=new Set,i=new Set,a=new Set,l=new Set,c=new Set,u=new Set,f=new Set,d={},h=new WeakMap;let p=0;const m=v.shallowRef(0),y=M=>{const P=e.get(M.id);return e.set(M.id,M),process.env.NODE_ENV!=="production"&&(Ue.add(M),P&&P!==M&&ao("draggable",e,P,M)),()=>{process.env.NODE_ENV!=="production"&&Ue.delete(M),e.get(M.id)===M&&e.delete(M.id)}},w=M=>{const P=t.get(M.id);return t.set(M.id,M),process.env.NODE_ENV!=="production"&&(Ue.add(M),P&&P!==M&&ao("drop target",t,P,M)),()=>{process.env.NODE_ENV!=="production"&&Ue.delete(M),t.get(M.id)===M&&t.delete(M.id)}},b=(M,P)=>{n.set(M,P),Yt.set(M,d)},k=(M,P)=>{n.get(M)===P&&(n.delete(M),Yt.delete(M))},g=M=>{for(let P=M;P;P=J(P)){const W=Yt.get(P);if(!W)continue;if(W!==d)return null;const j=n.get(P),U=j==null?void 0:e.get(j);return U?{entry:U,element:P}:null}return null},x=(M,P)=>{h.has(M)||p++,h.set(M,P),m.value++},S=(M,P)=>{h.get(M)===P&&(h.delete(M),p--,m.value++)},E=(M,P)=>{if(m.value,!p)return null;for(let W=M;W;W=J(W)){const j=h.get(W);if(j&&P(j))return j}return null};return{lookups:{draggables:e,droppables:t,draggableIds:n,integrations:s,sourceResolvers:r,targetRules:i,announcers:a},members:{monitors:o,activationAborts:c,selectionAborts:f,getDraggable:M=>e.get(M),getDraggables:()=>e.values(),getDroppable:M=>t.get(M),getDroppables:()=>t.values(),autoScrollEntries:u,registerAutoScroll:(M,P)=>{const W={getElement:M,getOptions:P};return u.add(W),()=>u.delete(W)},registerDraggable:y,registerDroppable:w,bindDraggableElement:b,unbindDraggableElement:k,findDraggable:g,bindArea:x,unbindArea:S,findArea:M=>E(M,()=>!0),inDisabledArea:M=>!!E(M,P=>P.isDisabled()),addMonitor:(M,P=!1)=>(o.add(M),P&&s.add(M),()=>{o.delete(M),s.delete(M)}),addSourceResolver:M=>(r.add(M),()=>r.delete(M)),addTargetRule:M=>(i.add(M),()=>i.delete(M)),addAnnouncer:M=>(a.add(M),()=>a.delete(M)),addDestinationResolver:M=>(l.add(M),()=>l.delete(M)),getDestination:()=>{for(const M of l){const P=M();if(P)return P}return null}}}}const Ni="To pick up a draggable item, press space or enter. While dragging, use the arrow keys to move the item. Press space or enter again to drop the item in its new position, or press escape to cancel.",Fi=e=>e.label??`draggable item ${e.id}`,Pe=e=>e.label??`Draggable item ${e.id}`,lo=e=>e.label??`droppable area ${e.id}`,co={onDragStart:({active:e})=>`Picked up ${Fi(e)}.`,onDragOver:({active:e,over:t})=>t?`${Pe(e)} was moved over ${lo(t)}.`:`${Pe(e)} is no longer over a droppable area.`,onDragEnd:({active:e,over:t})=>t?`${Pe(e)} was dropped over ${lo(t)}.`:`${Pe(e)} was dropped.`,onDragCancel:({active:e})=>`Dragging was cancelled. ${Pe(e)} was dropped.`,onDragResume:({active:e})=>`${Pe(e)} was not dropped. It is still being moved.`},_i={position:"fixed",width:"1px",height:"1px",margin:"-1px",padding:"0",border:"0",overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},zi=500,bs=(e,{element:t,rect:n})=>({x:e.left-n.left-t.clientLeft+t.scrollLeft,y:e.top-n.top-t.clientTop+t.scrollTop});function ji(e){let t,n="";const o=(c,u,f)=>u?bs(e.overlay.getOverlayRect(c,f),u):null,s=()=>{const c=e.active.value,{origin:u}=e,f=e.pointer.value??u;let d;for(const y of e.sourceResolvers)if(d=y(c),d)break;const h=e.over.value,p=e.transform.value;let m;return{active:c,over:h,pointer:f,delta:{x:f.x-u.x,y:f.y-u.y},mode:e.mode.value,source:d,...c.external&&{external:c.external},get position(){return m===void 0&&(m=o(c,h,p)),m}}},r=c=>{const u=f=>+(e.integrations.has(f)===c);return[...e.monitors].sort((f,d)=>u(d)-u(f))},i=(c,u)=>{for(const f of r(!0))try{f[c]?.(u)}catch(d){console.error(d)}},a=c=>{const{announcement:u}=e;u.value=c===n&&u.value===c?`${c} `:c,n=c};return{createEvent:s,orderMonitors:r,emit:i,announce:(c,u=s())=>{const f=e.props.announcements;if(f===!1)return clearTimeout(t);let d;try{let h;for(const m of e.announcers)if(h=m.describe?.(c,u),h)break;const p={count:u.active.ids.length,copy:e.mode.value==="copy",...h};d=f?.[c]?.call(f,u,p);for(const m of e.announcers){if(d!==void 0)break;d=m[c]?.call(m,u,p)}d??=co[c].call(co,u,p)}catch(h){clearTimeout(t),console.error(h);return}if(d===""){(c==="onDragEnd"||c==="onDragCancel")&&clearTimeout(t);return}clearTimeout(t),d&&(c==="onDragOver"?t=setTimeout(()=>{d!==n&&a(d)},zi):a(d))},stopAnnouncing:()=>clearTimeout(t)}}const Wi=200,uo=4,Ft=e=>e.split(" "),xs=new Set(Ft("color font-family font-size font-weight font-style font-variant font-feature-settings line-height letter-spacing text-align text-transform text-shadow white-space word-break overflow-wrap direction visibility list-style-type")),Bi=[...xs,...Ft("display opacity filter box-shadow outline background overflow text-overflow text-decoration-line border-radius padding border-width border-style border-color flex-flow place-content place-items gap position z-index vertical-align flex object-fit")],fo=Ft("grid-template-columns grid-template-rows margin inset transform translate rotate scale"),Hi=Ft("width height"),Xt=(e,t,n=new Map)=>{for(const o of t)n.set(o,e.getPropertyValue(o));return n},Vi=(e,t)=>{const n=[{source:e,clone:t,passes:[]}];for(const o of n)o.source.localName!=="svg"&&[...o.source.children].forEach((s,r)=>{const i=o.clone.children[r];i&&n.length<Wi&&n.push({source:s,clone:i,parent:o,passes:[]})});return n},Ui=(e,t)=>{for(let n=0;n<e.length;n++){const o=e.item(n);o.startsWith("--")&&t.set(o,e.getPropertyValue(o))}return t},Yi=e=>{const t=getComputedStyle(e.source),{parent:n}=e,o=Xt(t,n?Hi:[]),s=Xt(t,Bi);e.passes=[n?s:Ui(t,s),Xt(t,n?fo:fo.slice(0,2)),o,o,new Map]},Xi=(e,t)=>{try{return e.styleMap??=e.source.computedStyleMap?.()??null,e.styleMap?.get(t)?.toString()}catch{}},Gi=(e,t)=>{const{clone:n,parent:o,passes:s}=e,r=getComputedStyle(n),i=[];for(const[a,l]of s[t]){let c=r.getPropertyValue(a);const u=xs.has(a);if(s[uo].set(a,c),u&&o&&c===o.passes[uo].get(a)&&(c=o.passes[0].get(a)),c===l||t>1&&Math.abs(parseFloat(c)-parseFloat(l))<.5)continue;const f=t%3||u?Xi(e,a):void 0;t===2&&/^[a-z-]*$/.test(f+"")||i.push(()=>n.style.setProperty(a,f??l))}return i},qi=(e,t)=>{const n=e.map(r=>({...r,entries:Vi(r.source,r.clone)}));for(const r of n)r.entries.forEach(Yi);const o=n.map(r=>r.source.getBoundingClientRect()),s=n.map((r,i)=>{const a=document.createElement("div");return a.style.cssText=`position:fixed;contain:strict;width:${o[i].width}px;height:${o[i].height}px`,a.appendChild(r.mount),a});t.append(...s);try{for(let r=0;r<4;r++){for(const i of n)i.mount.getAnimations?.({subtree:!0}).forEach(a=>a.cancel());n.flatMap(i=>i.entries.flatMap(a=>Gi(a,r))).forEach(i=>i())}}finally{for(const r of n)r.mount.remove();for(const r of s)r.remove()}};let Ji=0;const Zi=(e,t)=>{const n=e.querySelectorAll("input, textarea, select"),o=t.querySelectorAll("input, textarea, select"),s=`-dnd-clone-${++Ji}`;n.forEach((r,i)=>{const a=o[i];a&&(r instanceof HTMLInputElement&&a instanceof HTMLInputElement?(a.value=r.value,a.checked=r.checked,r.type==="radio"&&r.name&&(a.name=r.name+s)):r instanceof HTMLTextAreaElement&&a instanceof HTMLTextAreaElement?a.value=r.value:r instanceof HTMLSelectElement&&a instanceof HTMLSelectElement&&(a.selectedIndex=r.selectedIndex))})},Qi=(e,t)=>{const n=e.querySelectorAll("canvas"),o=t.querySelectorAll("canvas");n.forEach((s,r)=>{const i=o[r];try{i?.getContext("2d")?.drawImage(s,0,0)}catch{}})},ea=(e,t)=>{const n=document.createElement("table"),o=document.createElement("tbody");n.style.borderCollapse="collapse",n.style.width="100%",n.style.height="100%";const s=t.children;return Array.from(e.children).forEach((r,i)=>{const a=s[i]?.getBoundingClientRect().width;a&&(r.style.width=`${a}px`)}),o.appendChild(e),n.appendChild(o),n},ta=".v-ripple__container, .q-ripple, .p-ink, .n-base-wave",ks=new WeakSet,Ss=e=>{for(const t of e.querySelectorAll("*"))(ks.has(t)||t.matches(ta))&&t.remove()},Ds=e=>{const t=e.cloneNode(!0);for(const n of[t,...t.querySelectorAll("*")]){n.removeAttribute("id"),n.hasAttribute("data-dnd-no-clone")&&ks.add(n);for(const o of n.getAttributeNames())o.startsWith("data-dnd-")&&n.removeAttribute(o)}return Zi(e,t),Qi(e,t),t.setAttribute("aria-hidden","true"),t.removeAttribute("tabindex"),t},na=(e,t={})=>Sn([e],t)[0],oa=e=>{const t=Ds(e),n=getComputedStyle(e),o=document.createElement("div");o.style.cssText="width:100%;height:100%";for(let s=0;s<n.length;s++){const r=n.item(s);r.startsWith("--")&&o.style.setProperty(r,n.getPropertyValue(r))}return Object.assign(t.style,{width:"100%",height:"100%",margin:"0",boxSizing:"border-box",transform:"none",translate:"none",transition:"none",pointerEvents:"none"}),o.appendChild(e.tagName==="TR"?ea(t,e):t),{source:e,clone:t,mount:o,positioned:n.position!=="static"}},Sn=(e,{container:t}={})=>{const n=e.map(oa);return qi(n,t??document.body),n.map(({clone:o,mount:s,positioned:r})=>(Ss(o),o.style.removeProperty("transition"),r&&Object.assign(o.style,{position:"relative",inset:"auto"}),s))},sa=5,po=.25,ra=150;function ia(e){let t=new Map,n=[],o=!1,s=null,r={x:0,y:0},i=null,a=null,l=[],c=null;const u=()=>{const g=e.props.overlayTo;return typeof g=="string"?document.querySelector(g):g},f=g=>{const x=e.draggables.get(g)?.getElement();return x?.isConnected?x:null},d=g=>{const x=f(g);return x?{element:na(x,{container:u()}),rect:V(x)}:null},h=g=>{const x=e.overlayColumn.value?.ids??g.ids,S=e.props.overlayPreviews??sa,E=S==="all"?x.length:Math.max(1,Math.floor(S)),C=Math.max(x.indexOf(g.id),0),D=Math.max(0,Math.min(C-(E-1>>1),x.length-E)),O=x.slice(D,D+E),I=O.flatMap(L=>{const A=t.has(L)?null:f(L);return A?[{id:L,element:A,rect:V(A)}]:[]}),K=Sn(I.map(({element:L})=>L),{container:u()});I.forEach(({id:L,rect:A},T)=>t.set(L,{element:K[T],rect:A})),n=O.filter(L=>t.has(L))},p=(g,x)=>Oi(ge(g.rect,x.x,x.y),e.fitSize.value??g.rect,r),m=()=>{const{modifiers:g}=e.props;return l.length?[...g??[],...l]:g??[]},y=g=>{const x=e.containerShift.value;if(!g||!a)return x;const{rect:S,scroll:E}=a,C=g.left-S.left-(i.scrollLeft-E.x),D=g.top-S.top-(i.scrollTop-E.y);return C===x.x&&D===x.y?x:e.containerShift.value={x:C,y:D}},w=(g,x)=>{let S=x;const E=i?.isConnected?V(i):null,C=y(E);for(const D of m())S=D({transform:S,active:g,activeRect:g.rect,overlayRect:p(g,S),origin:e.origin,containerRect:E,containerShift:C,windowRect:kn(),over:e.over.value});return S};return{get enabled(){return o},get component(){if(!o||!s)return null;const g=s.getOverlay();return typeof g=="boolean"?null:g},get dropAnimation(){return s?.getDropAnimation?.()},get previewIds(){return n},getPreview:g=>t.get(g),takePreviews:h,getOverlayRect:p,getModifiers:m,applyModifiers:w,updateFitSize:g=>{const{fitSize:x}=e;if(e.props.overlayFit==="source"||!o)return;const S=e.draggables.get(e.landingKey.value??g.id)?.getElement();if(!S?.isConnected)return;const E=S instanceof HTMLElement?{width:S.offsetWidth,height:S.offsetHeight}:ne(S),{width:C,height:D}=g.rect,O=E.width>=C*po?E.width:C,I=E.height>=D*po?E.height:D,K=c?.to??x.value;if(K&&Math.abs(K.width-O)<.5&&Math.abs(K.height-I)<.5)return;const L=x.value;if(!L||fe()){c=null,x.value={width:O,height:I};return}c={from:L,to:{width:O,height:I},start:performance.now()},e.loop.requestFrame()},stepResize:()=>{if(!c)return;const{from:g,to:x,start:S}=c,E=(performance.now()-S)/ra;if(E>=1){c=null,e.fitSize.value=x;return}const C=1-(1-E)**3;e.fitSize.value={width:g.width+(x.width-g.width)*C,height:g.height+(x.height-g.height)*C},e.loop.requestFrame()},pickUp(g,x,S,E=!1){s=x,o=!E&&x.getOverlay()!==!1,t=new Map(o?S:void 0);const C=o&&!t.has(g)?d(g):null;C&&t.set(g,C),n=[]},place(g,x,S,E,C){if(l=S,i=E,a=E?.isConnected?{rect:V(E),scroll:{x:E.scrollLeft,y:E.scrollTop}}:null,e.containerShift.value={x:0,y:0},c=null,C){e.fitSize.value={width:C.width,height:C.height},r=oo(C,x);const O={x:x.x-r.x*g.rect.width-g.rect.left,y:x.y-r.y*g.rect.height-g.rect.top};e.origin={x:x.x-O.x,y:x.y-O.y},e.transform.value=O;return}e.fitSize.value={width:g.rect.width,height:g.rect.height};const D=w(g,{x:0,y:0});r=oo(ge(g.rect,D.x,D.y),x)},release(){return{previews:t,previewIds:n,component:this.component,dropAnimation:this.dropAnimation,fitSize:e.fitSize.value}},end(){e.fitSize.value=null,c=null,t=new Map,n=[],o=!1,s=null,l=[],i=null,a=null,e.containerShift.value={x:0,y:0}}}}const ho=e=>e.width*e.height,aa=(e,t)=>{const n=Math.min(e.right,t.right)-Math.max(e.left,t.left),o=Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top);if(n<=0||o<=0)return 0;const s=n*o;return s/(ho(e)+ho(t)-s)},Es=({hits:e})=>e,Ms=({overlayRect:e,candidates:t})=>e?t.map(n=>({candidate:n,ratio:aa(e,n.rect)})).filter(n=>n.ratio>0).sort((n,o)=>o.candidate.priority-n.candidate.priority||(o.candidate.depth??0)-(n.candidate.depth??0)||o.ratio-n.ratio).map(n=>n.candidate.id):[],la=({overlayRect:e,pointer:t,candidates:n})=>{const o=e?Y(e):t;return[...n].sort((s,r)=>Me(o,Y(s.rect))-Me(o,Y(r.rect))).map(s=>s.id)},mo=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],ca=({overlayRect:e,pointer:t,candidates:n})=>{const o=e?mo(e):[t,t,t,t],s=r=>mo(r).reduce((i,a,l)=>i+Me(a,o[l]),0);return[...n].sort((r,i)=>s(r.rect)-s(i.rect)).map(r=>r.id)},As=e=>{const t=Es(e);return t.length?t:Ms(e)},ua=10;function da(){let e=null;return{reset(){e=null},resolve(t){const{pointer:n,previous:o,next:s}=t;if(e&&Me(n,e.point)>=ua&&(e=null),s===o)return s;if(o!=null&&t.isValid(o)){if(s!=null&&t.isGap(s,o)||!t.exact&&e?.id===s)return o}else if(o==null&&!t.exact&&e?.id===s)return null;return o!=null&&(e={id:o,point:n}),s}}}function fa(e){const t=da();let n=new WeakMap,o=new WeakMap;const s=(l,c,u)=>{const f=[];let d=bn(l.x,l.y);d&&u.element.isConnected&&Ge(u.element,d)&&(d=vi(l.x,l.y,u.element)),e.pointerElement=l.x===e.raw.x&&l.y===e.raw.y?d:null;for(let h=d;h;h=J(h)){const p=c.get(h);p&&f.push(p)}return f.map((h,p)=>({id:h.id,priority:h.getPriority(),depth:p})).sort((h,p)=>p.priority-h.priority||h.depth-p.depth).map(({id:h})=>h)},r=(l,c)=>{let u=n.get(l);if(u===void 0){u=0;for(let f=J(l);f;f=J(f))if(c.has(f)){u=r(f,c)+1;break}n.set(l,u)}return u},i=(l,c)=>{let u=o.get(l);if(u===void 0){u=!1;for(let f=l;f&&!u;f=J(f)){const d=e.draggableIds.get(f);u=d!=null&&(c.ids.includes(d)||d===e.landingKey.value||e.landings.value.has(d)||e.flights.value.some(h=>h.slot===d||h.landings.has(d)))}o.set(l,u)}return u};return{detectOver:(l,c)=>{const{droppables:u,measurer:f}=e,d=[],h=new Map,p=new Map,m=new Map,y=!!l.external&&!l.external.group;for(const C of u.values()){if(C.isDisabled()||y&&!C.getExternal?.())continue;const D=C.getElement();if(!D?.isConnected||i(D,l))continue;h.set(D,C);let O=!1;for(const I of e.targetRules)O||=!I(C,D,c,l);O||(p.set(D,C),m.set(C.id,D),f.observe(D))}for(const[C,D]of p){const O=f.measureVisible(C);O&&d.push({id:D.id,rect:O,priority:D.getPriority(),depth:r(C,h)})}const w=s(c,p,l),k=(e.props.collision??As)({pointer:c,overlayRect:e.overlay.getOverlayRect(l,e.transform.value),candidates:d,hits:w}),g=new Set(w);for(const C of d)g.add(C.id);const x=t.resolve({pointer:c,previous:e.over.value?.id??null,next:k.find(C=>m.has(C))??null,exact:l.sensor==="keyboard",isValid:C=>g.has(C),isGap:(C,D)=>{const O=m.get(C),I=m.get(D);if(!I||O===I||!Ge(O,I))return!1;let K=null;for(const L of d){const A=m.get(L.id);if(!(A===O||!Ge(O,A))){if(de(L.rect,c))return!1;K=K?Ai(K,L.rect):L.rect}}return!!K&&de(K,c)}});if(x==null)return null;const S=u.get(x),E=m.get(x);return{id:x,data:S.getData(),label:S.getLabel?.(),element:E,rect:f.measure(E),accepted:S.accepts(l)}},isOwned:i,stabilizer:t,begin(){t.reset(),n=new WeakMap,o=new WeakMap}}}const pa={start:10,enter:10,drop:10,refuse:[20,40,20]},ha=(e,t)=>{if(e===!1)return null;const n=t==="start",o=typeof e=="object"?e[t]??n:n;return o===!0?pa[t]:o===!1||o===0||Array.isArray(o)&&!o.length?null:o},wt=(e,t,n)=>{if(!n||typeof navigator>"u"||typeof navigator.vibrate!="function"||navigator.userActivation&&!navigator.userActivation.hasBeenActive)return;const o=ha(e,t);if(o!==null)try{navigator.vibrate(o)}catch{}},go=(e,t)=>!!t&&e.x===t.x&&e.y===t.y;function ma(e){let t=0,n=null,o=null,s=!1;const r=()=>{t=0;const a=e.active.value;if(e.status.value!=="dragging"||!a)return;const{overlay:l,origin:c,raw:u}=e;l.updateFitSize(a),l.stepResize();const f=s;s=!1;const d=l.applyModifiers(a,{x:u.x-c.x,y:u.y-c.y}),h={x:c.x+d.x,y:c.y+d.y};if((h.x!==u.x||h.y!==u.y)&&(e.pointerElement=null),!f&&n&&go(h,n)&&go(u,o))return;const p=!n;n=h,o={x:u.x,y:u.y},e.transform.value=d,e.pointer.value=h,e.measurer.nextFrame(),f&&e.detection.stabilizer.reset();const m=e.over.value,y=e.detection.detectOver(a,h),w=m?.id!==y?.id||m?.accepted!==y?.accepted;w?e.over.value=y:m&&y&&(m.rect=y.rect);const{events:b}=e,k=b.createEvent();w&&(m&&e.droppables.get(m.id)?.onDragLeave?.(k),y&&e.droppables.get(y.id)?.onDragEnter?.(k),b.emit("onDragOver",k),p||(b.announce("onDragOver",k),y?.accepted&&wt(e.props.haptics,"enter",e.touch))),b.emit("onDragMove",k),v.nextTick(()=>{e.status.value==="dragging"&&e.active.value===a&&l.updateFitSize(a)})},i=()=>{!t&&e.status.value==="dragging"&&(t=requestAnimationFrame(r))};return{runFrame:r,requestFrame:i,scheduleFrame(){e.status.value==="dragging"&&(s=!0,i())},flushFrame(){t&&(cancelAnimationFrame(t),r())},cancel(){t&&cancelAnimationFrame(t),t=0},reset(){n=null,o=null,s=!1}}}const Os={duration:250,easing:"ease"},bt=.25,ga=60,va=360,Cs=e=>Math.min(ga,va/(e+1)),ya=2e3,wa=e=>{const t=(e.getAnimations?.({subtree:!0})??[]).filter(o=>{if(o.playState==="finished"||o.playState==="idle")return!1;const s=o.effect;return!s||s.target===e?!1:Number.isFinite(s.getComputedTiming().endTime)});if(!t.length)return Promise.resolve();let n;return Promise.race([Promise.allSettled(t.map(o=>o.finished)),new Promise(o=>n=setTimeout(o,ya))]).then(()=>clearTimeout(n))},ba=async(e,t,n=0)=>{const o=ve(e,Os);if(!o)return;const s={...t,options:o.options,reducedMotion:fe()};if(o.custom)return Ne(o.custom(s),o.options.duration+tt);const{overlay:r,from:i,to:a,into:l}=t;if(!le(r))return;const c=l&&Y(l),u=a?[{transform:`translate3d(${i.left}px, ${i.top}px, 0)`,width:`${i.width}px`,height:`${i.height}px`},{transform:`translate3d(${a.left}px, ${a.top}px, 0)`,width:`${a.width}px`,height:`${a.height}px`}]:[{opacity:1,transform:`translate3d(${i.left}px, ${i.top}px, 0)`},{opacity:0,transform:c?`translate3d(${c.x-i.width*bt/2}px, ${c.y-i.height*bt/2}px, 0) scale(${bt})`:`translate3d(${i.left}px, ${i.top}px, 0) scale(0.96)`}];await Ne(r.animate(u,{...o.options,delay:n,fill:"both"}),n+o.options.duration+tt)},Dn=e=>{const t=ve(e,Os);return!t||t.custom&&fe()?null:t.options},Gt=({a:e,b:t,c:n,d:o,e:s,f:r},i,a,l=1)=>({transformOrigin:"0 0",transform:`translate(${s}px, ${r}px) matrix(${e}, ${t}, ${n}, ${o}, 0, 0)`,width:i,height:a,opacity:l}),on=(e,t,n=e.getBoundingClientRect())=>{let o=new DOMMatrix;for(let y=e.parentElement;y&&y!==t;y=y.parentElement)o=new DOMMatrix(getComputedStyle(y).transform).multiply(o);o.e=o.f=0;const s=getComputedStyle(e),[r=0,i=0]=s.transformOrigin.split(" ").map(parseFloat),a=new DOMMatrix().translate(r,i).multiply(new DOMMatrix(s.transform)).translate(-r,-i),{a:l,b:c,c:u,d:f,e:d,f:h}=o.multiply(a),{offsetWidth:p,offsetHeight:m}=e;return{linear:o,own:a,x:n.left-d-Math.min(0,l*p)-Math.min(0,u*m),y:n.top-h-Math.min(0,c*p)-Math.min(0,f*m),width:s.width,height:s.height}},Ts=async(e,t,n)=>{const o=t.length?Dn(e):null;if(!o)return;const{from:s}=n,r=n.to??s,i=t[0].element.closest("[data-dnd-overlay]"),a=t.map(({element:c,from:u})=>on(c,i,u));let l=a;if(i&&(r.width!==s.width||r.height!==s.height)){const{style:c}=i,{width:u,height:f}=c;c.setProperty("width",`${r.width}px`,"important"),c.setProperty("height",`${r.height}px`,"important"),l=t.map(({element:d})=>on(d,i)),c.width=u,c.height=f}await Promise.all(t.map(({element:c,to:u},f)=>{if(!le(c))return;const{linear:d,own:h,width:p,height:m}=a[f],y=l[f],w=u?Gt(d.inverse().translate(u.left-y.x-r.left+s.left,u.top-y.y-r.top+s.top),`${u.width}px`,`${u.height}px`):Gt(h,p,m,0);return Ne(c.animate([Gt(h,p,m),w],{...o,fill:"forwards"}),o.duration+tt)}))},xa=async(e,t,n)=>{const o=t.length?Dn(e):null;if(!o)return;const s=t[0].closest("[data-dnd-overlay]"),r=Y(n),i=Cs(t.length);await Promise.all(t.map((a,l)=>{if(!le(a))return;const c=a.getBoundingClientRect(),{linear:u}=on(a,s,c),f=u.inverse().transformPoint({x:r.x-(c.left+c.width/2),y:r.y-(c.top+c.height/2)}),d=getComputedStyle(a).transform,h=d==="none"?"":d,p=l*i;return Ne(a.animate([{transform:h||"none",opacity:1},{transform:`translate(${f.x}px, ${f.y}px) ${h} scale(${bt})`,opacity:0}],{...o,delay:p,fill:"both"}),p+o.duration+tt)}))},ka=(e,t)=>{const n=t.length?Dn(e):null;if(!n)return[];const o=t.map(s=>{const{opacity:r}=getComputedStyle(s);return r==="1"&&s.hasAttribute("data-dnd-placeholder")?"0":r});return t.flatMap((s,r)=>{const i=o[r];return!le(s)||i==="1"||i===""?[]:[s.animate([{opacity:i},{opacity:1}],{...n,fill:"forwards"})]})},Sa="vue-dnd-kit-behavior",Da="vue-dnd-kit-styles",Ea=`
2
+ :where(html[data-dnd-dragging]),
3
+ :where(html[data-dnd-dragging] *) { user-select: none !important; -webkit-user-select: none !important; overflow-anchor: none !important; }
4
+ :where(html[data-dnd-dragging="pointer"]),
5
+ :where(html[data-dnd-dragging="pointer"] *) { cursor: var(--dnd-cursor, grabbing) !important; -webkit-touch-callout: none !important; }
6
+ `,Ma=`
7
+ @layer vue-dnd-kit {
8
+ :where([data-dnd-placeholder]) { opacity: 0.4; }
9
+ :where([data-dnd-dragging]:not(html)) { opacity: 0.4; }
10
+ }
11
+ `,vo=(e,t)=>{if(document.getElementById(e))return;const n=document.createElement("style");n.id=e,n.textContent=t,document.head.prepend(n)},Aa=e=>{typeof document>"u"||(vo(Sa,Ea),e&&vo(Da,Ma))},Oa=new Set(["auto","default","pointer","text","vertical-text","grab","-webkit-grab","help","context-menu","cell"]),Ca=e=>{const{cursor:t}=getComputedStyle(e);return!t||Oa.has(t)?null:t},yo=(e,t=null)=>{const n=document.documentElement;n.setAttribute("data-dnd-dragging",e),t&&n.style.setProperty("--dnd-cursor",t),document.getSelection()?.removeAllRanges();const o=s=>s.preventDefault();return document.addEventListener("selectstart",o),()=>{n.removeAttribute("data-dnd-dragging"),t&&n.style.getPropertyValue("--dnd-cursor")===t&&n.style.removeProperty("--dnd-cursor"),document.removeEventListener("selectstart",o)}},sn=e=>e==="accept"?!0:e==="reject"?!1:e??void 0,xt=e=>e===!1||e==="continue",wo=e=>Math.round(e*100)/100;function bo(e){let t=null,n=null,o=new WeakMap,s=new Map,r=new WeakMap,i=null,a=0;const l=d=>{i=d;const h=e();h&&(h.style.translate=d?`${d.x}px ${d.y}px`:"")},c=()=>{const d=en(t);let h={x:0,y:0};for(const[b,k]of s)d.some(g=>g.animation===b)||(h={x:h.x+k.x,y:h.y+k.y});const p=b=>(h.x||h.y)&&Math.abs(b.x-h.x)<=1&&Math.abs(b.y-h.y)<=1;for(const{animation:b,offset:k}of d){if(o.has(b)||(k.x||k.y)&&!p(k))continue;const g=(r.get(b)??0)+1;if(r.set(b,g),g<=4)return null}let m={x:0,y:0};for(const[b,k]of s){if(d.some(x=>x.animation===b))continue;const g=o.get(b)??{x:0,y:0};m={x:m.x+k.x*(1-g.x),y:m.y+k.y*(1-g.y)}}s=new Map;let y={x:0,y:0},w={x:0,y:0};for(const{animation:b,offset:k}of d){s.set(b,k),y={x:y.x+k.x,y:y.y+k.y};let g=o.get(b);if(!g){const x=(S,E)=>S?(S-E)/S:0;g={x:x(k.x,m.x),y:x(k.y,m.y)},m={x:0,y:0},o.set(b,g)}w={x:w.x+k.x*g.x,y:w.y+k.y*g.y}}return{settled:ge(V(t),-y.x,-y.y),pending:w}},u=()=>{if(a=0,!t?.isConnected||!n)return;const d=c();if(!d){i&&l(i),a=requestAnimationFrame(u);return}const{settled:h,pending:p}=d,m=wo(h.left-n.left+p.x),y=wo(h.top-n.top+p.y),w=m!==0||y!==0;(w||i)&&l(w?{x:m,y}:null),a=requestAnimationFrame(u)},f=()=>{a&&cancelAnimationFrame(a),a=0,t=n=null,o=new WeakMap,s=new Map,r=new WeakMap};return{follow(d){if(f(),l(null),t=d?.isConnected?d:null,!!t){for(const{animation:h}of en(t))o.set(h,{x:0,y:0});n=c().settled,a=requestAnimationFrame(u)}},take(){const d=i;return f(),l(null),d},stop(){f(),l(null)}}}const Ta=10;function Ia(e){let t=0;const n=bo(()=>e.overlayElement.value);let o=null,s,r=null;const i=()=>{const A=e.over.value;return A?.accepted?e.droppables.get(A.id)?.getOverlay?.():void 0},a=()=>{e.restoreDocument?.(),e.restoreDocument=null},l=()=>e.flights.value.length?"dropping":"idle",c=()=>{const A=e.status.value;return A==="idle"||A==="dropping"&&!e.active.value},u=A=>A.map(T=>{const $=e.draggables.get(T);return{id:T,item:$?.getItem?.(),data:$?.getData(),label:$?.getLabel?.(),type:$?.getTypes()??[]}}),f=A=>{e.active.value&&(e.active.value={...e.active.value,...A})},d=(A,T,$,M=!1,P)=>{if(e.active.value||e.status.value==="selecting")return!1;const W=e.draggables.get(A),j=W?.getElement();if(!W||!j||W.isDisabled())return!1;t++;const U=e.flights.value.find(ce=>ce.active.ids.includes(A));let Z=U?.element?.isConnected?V(U.element):null;Z&&$!=="pointer"&&!de(Z,T)&&(Z=null),U&&w(U);const oe=P?.items?P.items.map(ce=>ce.id):e.selection.has(A)&&e.selection.size>1?[A,...[...e.selection].filter(ce=>ce!==A)]:[A],q=P?.items??u(oe),re=W.getModifiers?.()??[];e.droppedOutside=void 0,e.overlay.pickUp(A,W,U?.previews,!!P),e.overlayColumn.value=null,e.landings.value=nn,e.overlayItems.clear(),e.active.value={id:A,ids:oe,items:q,data:q[0].data,label:q[0].label,type:q[0].type,element:j,rect:ne(j),sensor:$,...P&&{native:!0,external:P.external}};const ae=W.getContainer?.()??j.parentElement;if(e.origin=T,e.touch=M,e.raw=T,e.pointer.value=T,e.transform.value={x:0,y:0},e.over.value=null,e.overlay.place(e.active.value,T,re,ae,Z),e.mode.value="move",e.landingKey.value=null,e.activationProgress.value=1,e.measurer.begin(),e.detection.begin(),e.loop.reset(),e.status.value="dragging",$==="pointer"&&!P){const ce=document.elementFromPoint(T.x,T.y);r=Ca(ce&&j.contains(ce)?ce:j)}else r=null;e.restoreDocument=yo($,r);const ye=e.events.createEvent();return e.events.emit("onDragStart",ye),e.overlay.enabled&&e.active.value&&e.overlay.takePreviews(e.active.value),e.events.announce("onDragStart",ye),wt(e.props.haptics,"start",M),e.loop.runFrame(),!0},h=A=>{e.raw=A,e.loop.requestFrame()},p=A=>{const T=()=>{const $=e.draggables.get(A)?.getFocusTarget();return $?.isConnected?Mt()?($.focus({preventScroll:!0}),document.activeElement===$):!0:!1};v.nextTick(()=>{let $=0;const M=()=>{!T()&&++$<Ta&&requestAnimationFrame(M)};M()})},m=()=>{a(),n.stop(),e.loop.cancel(),e.measurer.end(),e.loop.reset(),e.pointerElement=null,e.active.value=null,e.over.value=null,e.pointer.value=null,e.transform.value={x:0,y:0},e.overlay.end(),e.overlayElement.value=null,e.mode.value="move",e.landingKey.value=null,e.landings.value=nn,e.overlayColumn.value=null,e.overlayItems.clear(),e.activationProgress.value=0,e.outside.value=!1,e.status.value=l()},y=(A,T)=>{const $=T.active,M=n.take(),P=e.overlay.getOverlayRect($,e.transform.value),W=A==="drop"?T.over:null,j=e.mode.value,U=e.landingKey.value,Z={id:t,reason:A,event:T,active:$,mode:j,over:W,to:o,landingKey:U,slot:U??(j==="copy"?null:$.id),landings:e.landings.value,column:e.overlayColumn.value,...e.overlay.release(),target:W?.accepted?s:void 0,rect:M?ge(P,M.x,M.y):P,items:new Map(e.overlayItems),element:e.overlay.enabled?e.overlayElement.value:null,follow:bo(()=>Z.element),released:new Set,fades:[],done:!1};return o=null,s=void 0,e.flights.value=[...e.flights.value,Z],m(),Z},w=A=>{if(A.done)return;A.done=!0,A.follow.stop(),A.active.sensor==="keyboard"&&p(A.active.id),e.flights.value=e.flights.value.filter($=>$!==A),e.status.value==="dropping"&&!e.active.value&&(e.status.value=l());const T=A.fades;A.fades=[],T.length&&v.nextTick(()=>T.forEach($=>$.cancel())),e.events.emit("onDragSettle",A.event)},b=A=>{const T=A?.isConnected?Ci(A):null;return T&&T.width>0&&e.measurer.measureVisible(A)?T:null},k=A=>{const T=A.active;return T.ids.flatMap($=>{const M=$===T.id?null:A.items.get($);return M?.isConnected?[M]:[]})},g=(A,T,$,M)=>{const P=A.active;if(P.ids.length<2)return Promise.resolve();const W=new Map;for(const[q,re]of A.landings)W.set(re,q);const j=q=>{const re=e.draggables.get(W.get(q)??q)?.getElement();return re?.isConnected?re:null},U=[],Z=[],oe=new Set;for(const q of P.ids){if(q===P.id)continue;const re=A.items.get(q),ae=j(q);if(M||!re?.isConnected){ae&&Z.push(ae),oe.add(q);continue}const ye=b(ae);U.push({element:re,from:V(re),to:ye})}return A.fades=ka(T,Z),oe.size&&(A.released=oe,A.landings=new Map([...A.landings].filter(([,q])=>!oe.has(q))),e.flights.value=[...e.flights.value]),M?xa(T,k(A),M):(A.column?.land??Ts)(T,U,$)},x=A=>{const{over:T}=A;return(T?e.droppables.get(T.id)?.getDropAnimation?.():void 0)??A.dropAnimation??e.props.dropAnimation},S=async(A,T)=>{const $=y(A,T),M=$.element;if(M){if(await v.nextTick(),await Si(),$.done)return;const P=$.active,W=e.draggables.get($.landingKey??P.id)?.getElement();e.measurer.invalidate(),e.measurer.nextFrame();const j=b(W),U=V(M),Z=j||A!=="drop"?null:T.over,oe=Z?.element.isConnected&&!e.droppables.get(Z.id)?.sortable&&e.measurer.measureVisible(Z.element)||null,{over:q}=$,re=j?W:oe?Z.element:q?.element;$.follow.follow(re??null);const ae=x($),ye=oe?k($).length:0;if(await Promise.all([ba(ae,{overlay:M,from:U,to:j,into:oe,reason:A,active:P,over:q},ye*Cs(ye)),g($,ae,{from:U,to:j},oe),wa(M)]),$.done)return}w($)},E=(A,T)=>(e.events.emit(A,T),e.events.announce(A,T),S(A==="onDragEnd"?"drop":"cancel",T)),C=()=>{const{value:A}=e.status,T=A==="activating"?e.activationAborts:A==="selecting"?e.selectionAborts:null;return T?.forEach($=>$()),!!T},D=()=>{C()||e.status.value!=="dragging"||!e.active.value||(o=e.getDestination(),E("onDragCancel",e.events.createEvent()))},O=A=>{n.stop(),e.status.value="dragging",e.restoreDocument=yo(A.active.sensor,r),e.events.emit("onDragResume",A),e.events.announce("onDragResume",A),e.loop.scheduleFrame()},I=async()=>{if(e.status.value!=="dragging"||!e.active.value)return;e.loop.flushFrame(),o=e.getDestination(),s=i();const A=t;e.status.value="dropping",a();const T=e.events.createEvent();T.position;const $=T.over;e.overlay.enabled&&n.follow($?.element??null);let M=!0;try{for(const j of e.events.orderMonitors(!1)){const U=sn(await j.onBeforeDrop?.(T));if(xt(U)){M=U;break}Array.isArray(U)&&(M=U)}if(!xt(M)&&$?.accepted){const j=sn(await e.droppables.get($.id)?.onBeforeDrop?.(T));(xt(j)||Array.isArray(j))&&(M=j)}}catch(j){console.error(j),M=!1}if(A!==t)return;if(M==="continue")return O(T);if(M===!1||$&&!$.accepted)return wt(e.props.haptics,"refuse",e.touch),E("onDragCancel",T);const P=Array.isArray(M)?M:T.active.ids,W={...T,dropped:!!$,accepted:P,rejected:T.active.ids.filter(j=>!P.includes(j)),...e.droppedOutside&&{droppedOutside:e.droppedOutside}};if($)try{e.droppables.get($.id)?.onDrop?.(W)}catch(j){console.error(j)}return wt(e.props.haptics,"drop",e.touch),E("onDragEnd",W)};return{updateActive:f,start:d,move:h,drop:I,cancel:D,endOutside:A=>{const T=e.active.value;if(!(e.status.value!=="dragging"||!T)){if(A==="none")return D();if(e.loop.flushFrame(),e.droppedOutside=A,e.over.value=null,A==="move")for(const $ of e.sourceResolvers){const M=$(T);if(M){M.remove();break}}return I()}},destroy:()=>{C();const A=e.active.value;A&&e.events.emit("onDragCancel",e.events.createEvent()),t++;for(const T of e.flights.value)T.done=!0,T.follow.stop();e.flights.value=[],A&&m(),e.events.stopAnnouncing()},restStatus:l,isAtRest:c,sessionId:()=>t}}function Ra(e){const t=Ki(),{lookups:n,members:o}=$i(),s={props:e,...t,...n,...o,measurer:Pi({onShadowScroll:()=>s.loop.scheduleFrame()}),origin:{x:0,y:0},touch:!1,raw:{x:0,y:0},pointerElement:null,restoreDocument:null},r=s.events=ji(s),i=s.overlay=ia(s),a=s.detection=fa(s),l=s.loop=ma(s),{measurer:c}=s;return{props:e,...t,instructionsId:"",...o,getPreview:i.getPreview,get previewIds(){return i.previewIds},get hasOverlay(){return i.enabled},getModifiers:i.getModifiers,get overlayComponent(){return i.component},getRawPointer:()=>s.raw,getPointerElement:()=>s.pointerElement,getOverlayRect:i.getOverlayRect,isOwned:a.isOwned,isLanding:f=>s.flights.value.some(d=>d.slot===f||d.landings.has(f)),flightOf:f=>s.flights.value.find(d=>d.active.ids.includes(f)&&!d.released.has(f)),catchAt:f=>{for(const d of[...s.flights.value].reverse()){const{element:h}=d;if(!h?.isConnected||!s.draggables.has(d.active.id))continue;const p=V(h);if(f.x>=p.left&&f.x<=p.right&&f.y>=p.top&&f.y<=p.bottom)return d.active.id}return null},isCarried:f=>s.flights.value.some(d=>f===(d.landingKey??d.active.id)||d.items.has(d.landings.get(f)??f)),announce:r.announce,...Ia(s),getDroppedOutside:()=>s.droppedOutside,scheduleFrame:l.scheduleFrame,flushFrame:l.flushFrame,measure:c.measure,measureVisible:c.measureVisible,isNearViewport:c.isNearViewport,invalidateMeasurements:c.invalidate}}const xo=new WeakMap,rn=(e,t)=>{const n=e.active.value;if(e.status.value!=="dropping"||!n)return;const o=e.sessionId();xo.get(e)!==o&&(xo.set(e,o),console.warn(`[vue-dnd-kit] ${t} does nothing while onBeforeDrop decides the drop of "${String(n.id)}": the provider takes no input until it answers. Make sure the promise it returns settles.`))},En=Symbol("vue-dnd-kit"),se=()=>{const e=v.inject(En,null);if(!e)throw new Error("[vue-dnd-kit] No <DnDProvider> found above this component.");return e},La=()=>se(),Pa=(e,t)=>{e.provide(En,t)},Ka=e=>({get ids(){return e},has:t=>e.has(t),add:(...t)=>t.forEach(n=>e.add(n)),delete:(...t)=>t.forEach(n=>e.delete(n)),toggle:(t,n)=>{n??!e.has(t)?e.add(t):e.delete(t)},set:t=>{const n=new Set(t);for(const o of[...e])n.has(o)||e.delete(o);for(const o of n)e.add(o)},clear:()=>e.clear()}),$a=()=>{const e=se();return{status:v.readonly(e.status),active:v.readonly(e.active),over:v.readonly(e.over),pointer:v.readonly(e.pointer),position:v.computed(()=>{const t=e.active.value,n=e.over.value;return!t||!n?null:bs(e.getOverlayRect(t,e.transform.value),n)}),activation:{progress:v.readonly(e.activationProgress)},isAutoScrolling:v.readonly(e.isAutoScrolling),selection:Ka(e.selection),cancel:process.env.NODE_ENV!=="production"?()=>{rn(e,"cancel()"),e.cancel()}:e.cancel}},Na=e=>{const t=se();v.onScopeDispose(t.addMonitor(e))},Mn=()=>process.env.NODE_ENV==="production"?void 0:globalThis.__VUE_DND_KIT_DEVTOOLS_HOOK__,Fa={mouse:{distance:4},pen:{distance:4},touch:{delay:200,tolerance:5}},_a=5,za=(e,t,n,o)=>t?.[e]??n?.[e]??(o&&e==="mouse"?{}:Fa[e]),ja=(e,t,n)=>typeof e=="string"?za(e,t.getActivation?.(),n,t.getHandle()!=null):e??{},ko=(e,t,n)=>{const o=e.distance??0,s=e.delay??0;if(o<=0&&s<=0||o>0&&t>=o)return"start";if(s>0){if(n>=s)return"start";const r=e.tolerance??(o>0?1/0:_a);if(t>r)return"abort"}return Math.min(Math.max(o>0?t/o:0,s>0?n/s:0),1)},Is=(e,t,n,o)=>{if(o==="keyboard")return!bi(n)&&n===e.getFocusTarget();const s=e.getHandle();if(s){const r=typeof s=="string"?n.closest(s):s;return!!r&&r.contains(n)&&t.contains(r)}return!ps(n,t)},Wa=(e,t)=>{const n=[];for(let r=e;r&&(n.push(r),r!==t);r=J(r));if(n.at(-1)!==t)return;const o={bubbles:!0,composed:!0,relatedTarget:document.body},s=(r,i,a)=>{const l=i.startsWith("pointer")&&typeof PointerEvent=="function"?PointerEvent:MouseEvent;r.dispatchEvent(new l(i,{...o,bubbles:a}))};s(e,"pointerout",!0),s(e,"mouseout",!0);for(const r of n)s(r,"pointerleave",!1),s(r,"mouseleave",!1)},Ba={threshold:.2,maxSpeed:25,acceleration:10},Ha=24,Va=96,Ua=10,ft=5,Ya=(e,t)=>t>0&&e>0?Math.min(Math.max(t*e,Ha),Va,e/2):0,So=(e,{acceleration:t,maxSpeed:n})=>{if(e<=0)return 0;const o=e<=1?e*e:2*e-1;return Math.min(t*o,n)},Do=(e,t,n,o,s,r)=>{const i=Ya(n-t,r.threshold);return i?o&&e<t+i?-So((t+i-e)/i,r):s&&e>n-i?So((e-n+i)/i,r):0:0},Xa=(e,t,n,o,s)=>{const r=Ua,i=e.x<t.left-r||e.x>t.right+r;return{x:e.y<t.top-r||e.y>t.bottom+r?0:Do(e.x,t.left,t.right,n.left&&o.left,n.right&&o.right,s),y:i?0:Do(e.y,t.top,t.bottom,n.up&&o.up,n.down&&o.down,s)}},Ga=e=>({min:{...e},max:{...e},directions:{up:!1,down:!1,left:!1,right:!1}}),qa=(e,t)=>{const{min:n,max:o,directions:s}=e;return t.y-n.y>ft&&(s.down=!0),o.y-t.y>ft&&(s.up=!0),t.x-n.x>ft&&(s.right=!0),o.x-t.x>ft&&(s.left=!0),n.x=Math.min(n.x,t.x),n.y=Math.min(n.y,t.y),o.x=Math.max(o.x,t.x),o.y=Math.max(o.y,t.y),s},Eo=(e,t)=>{if(typeof t!="object"||!t)return e;const n={...e};for(const o of Object.keys(t)){const s=t[o];typeof s=="number"&&Number.isFinite(s)&&(n[o]=s)}return n},Mo=(e,t)=>(t??e??!0)===!1?null:Eo(Eo(Ba,e),t),Ao=(e,t,n=0)=>{const o=(s,r,i,a)=>s<i+n?s-i-n:r>a-n?Math.min(r-a+n,s-i-n):0;return{x:o(e.left,e.right,t.left,t.right),y:o(e.top,e.bottom,t.top,t.bottom)}},Oo=/^(auto|scroll|overlay)$/,An=e=>{const t=getComputedStyle(e),n=t.display.endsWith("flex");return{x:Oo.test(t.overflowX),y:Oo.test(t.overflowY),reverseX:t.direction==="rtl"!==(n&&t.flexDirection==="row-reverse"),reverseY:n&&t.flexDirection==="column-reverse",snap:Rs(t)}},Rs=e=>!!e.scrollSnapType&&e.scrollSnapType!=="none",Je=e=>e===document.body||e===document.documentElement,Ct=(e,t,n)=>{if(t<1)return[!1,!1];const o=n?-t:0,s=n?0:t;return[e>o+1,e<s-1]},Ja=e=>{const t=e.getBoundingClientRect();return ee(t.left+e.clientLeft,t.top+e.clientTop,e.clientWidth,e.clientHeight)},Ls=(e,t)=>{const n=t.x?e.scrollWidth-e.clientWidth:0,o=t.y?e.scrollHeight-e.clientHeight:0;if(n<1&&o<1)return null;const[s,r]=Ct(e.scrollLeft,n,t.reverseX),[i,a]=Ct(e.scrollTop,o,t.reverseY);return{rect:Ja(e),canScroll:{up:i,down:a,left:s,right:r}}},Ps=()=>{const e=getComputedStyle(document.documentElement),t=getComputedStyle(document.body),n=o=>{const s=e[o]==="visible"?t[o]:e[o];return s!=="hidden"&&s!=="clip"};return{x:n("overflowX"),y:n("overflowY"),reverseX:e.direction==="rtl",snap:Rs(e)}},Ks=e=>{const t=document.scrollingElement??document.documentElement,{clientWidth:n,clientHeight:o}=document.documentElement,[s,r]=e.x?Ct(window.scrollX,t.scrollWidth-n,e.reverseX):[!1,!1],[i,a]=e.y?Ct(window.scrollY,t.scrollHeight-o,!1):[!1,!1];return{rect:ee(0,0,n,o),canScroll:{up:i,down:a,left:s,right:r}}},an=(e,t,n)=>{const o={left:t,top:n,behavior:"instant"};e===window?window.scrollBy(o):e.scrollBy(o)},We=(e,t=8)=>{for(let i=J(e);i&&!Je(i);i=J(i)){const a=Ls(i,An(i));if(!a)continue;const l=Ao(ne(e),a.rect,t);(l.x||l.y)&&an(i,l.x,l.y)}const n=Ps(),o=Ao(ne(e),Ks(n).rect,t),s=n.x?o.x:0,r=n.y?o.y:0;(s||r)&&an(window,s,r)},Co=1e3/60,Za=50;function Qa(e){let t=0,n=null;const o=(h,p)=>{let m=h.styles.get(p);return m||(m=An(p),h.styles.set(p,m)),m},s=(h,p)=>{const m=o(h,p);return m.x||m.y},r=(h,p,m)=>{for(let y=p??null;y&&!Je(y);y=J(y))s(h,y)&&!m.includes(y)&&m.push(y)},i=(h,p)=>{const m=p===window?h.page.snap:o(h,p).snap,y=p===window?document.documentElement:p;if(!m||!(y instanceof HTMLElement)||h.snaps.has(y))return;const{style:w}=y;h.snaps.set(y,{value:w.getPropertyValue("scroll-snap-type"),priority:w.getPropertyPriority("scroll-snap-type")}),w.setProperty("scroll-snap-type","none","important")},a=h=>{for(const[p,{value:m,priority:y}]of h.snaps)m?p.style.setProperty("scroll-snap-type",m,y):p.style.removeProperty("scroll-snap-type");h.snaps.clear()},l=(h,p,m,y)=>{let w=h.remainders.get(p);w||h.remainders.set(p,w={x:0,y:0});const b=w.x+m,k=w.y+y,g=Math.trunc(b),x=Math.trunc(k);w.x=b-g,w.y=k-x,!(!g&&!x)&&(i(h,p),an(p,g,x))},c=()=>e.status.value==="dragging"&&e.active.value?.sensor==="pointer"&&!e.outside.value,u=h=>{t=0;const p=n;if(!p||!c())return;const m=p.last?Math.min(h-p.last,Za):Co;p.last=h;const y=e.getRawPointer(),w=qa(p.intent,y),b=e.props.autoScroll,k=[];r(p,e.getPointerElement()??bn(y.x,y.y),k);const g=e.over.value?.element;g?.isConnected&&r(p,g,k);for(const K of p.previous)K.isConnected&&!k.includes(K)&&k.push(K);const x={x:null,y:null},S=(K,L,A)=>{const T=Xa(y,L.rect,L.canScroll,w,A);!x.x&&T.x&&(x.x={scroller:K,speed:T.x}),!x.y&&T.y&&(x.y={scroller:K,speed:T.y})};for(const K of k){if(x.x&&x.y)break;const L=Mo(b,p.overrides.get(K)),A=L&&Ls(K,o(p,K));L&&A&&S(K,A,L)}if(!x.x||!x.y){const K=Mo(b);K&&S(window,Ks(p.page),K)}const E=m/Co,{x:C,y:D}=x;C&&D&&C.scroller===D.scroller?l(p,C.scroller,C.speed*E,D.speed*E):(C&&l(p,C.scroller,C.speed*E,0),D&&l(p,D.scroller,0,D.speed*E));const O=[C?.scroller,D?.scroller].filter((K,L,A)=>!!K&&K!==window&&A.indexOf(K)===L),{autoScrollers:I}=e;(O.length!==I.value.length||O.some((K,L)=>K!==I.value[L]))&&(I.value=O),p.previous=O,e.isAutoScrolling.value=!!(C||D),t=requestAnimationFrame(u)},f=()=>{const h=e.props.autoScroll,p=[];for(const y of e.autoScrollEntries){const w=y.getOptions();w!==void 0&&p.push({element:y.getElement(),options:w})}if(h===!1&&!p.some(y=>y.options!==!1))return;const m={last:0,intent:Ga(e.getRawPointer()),styles:new WeakMap,overrides:new Map,remainders:new Map,previous:[],page:Ps(),snaps:new Map};for(const y of p){let w=y.element;for(;w&&!Je(w)&&!s(m,w);)w=J(w);w&&!Je(w)&&!m.overrides.has(w)&&m.overrides.set(w,y.options)}n=m,t=requestAnimationFrame(u)},d=()=>{t&&cancelAnimationFrame(t),t=0,n&&a(n),n=null,e.isAutoScrolling.value=!1,e.autoScrollers.value.length&&(e.autoScrollers.value=[])};v.watch(c,h=>h?f():d(),{flush:"sync"}),v.onScopeDispose(d)}const el=25,tl=4,nl=10,ol={up:{x:0,y:-1},down:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0}},sl={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"},rl=(e,t)=>{const n=sl[e];return new KeyboardEvent("keydown",{key:n,code:n,shiftKey:t})},il=(e,t,n)=>{let o=null,s=1/0;for(const{id:r,rect:i}of n){const a=Y(i),l=a.x-e.x,c=a.y-e.y,u=l*t.x+c*t.y;if(u<nl)continue;const f=u+2*Math.abs(l*t.y+c*t.x);f<s&&(s=f,o=r)}return o},al=e=>Y(At(e,kn())??e),$s=(e,t,n,o,s)=>{const r=e.over.value?.id,i=[],a=new Map;for(const u of e.getDroppables()){if(u.id===r||u.isDisabled()||s?.(u.id))continue;const f=u.getElement();!f?.isConnected||e.isOwned(f,t)||u.accepts(t)&&(i.push({id:u.id,rect:V(f)}),a.set(u.id,f))}const l=il(n,o,i),c=l==null?void 0:a.get(l);if(!(l==null||!c))return We(c),{id:l,point:al(V(c))}},Ns=(e,t)=>e.status.value==="dragging"&&e.active.value?.id===t.id,Fs=(e,t)=>{e.move(t),e.flushFrame()},ll=async(e,t,n,o,s)=>{const r=e.pointer.value??Y(t.rect);let i;for(const a of[...e.monitors])if(i=await a.getKeyboardCoordinates?.(o,{active:t,pointer:r,direction:n}),i)break;if(Ns(e,t)){if(!i)if(e.getDraggable(t.id)?.getKeyboard?.()==="droppables")i=$s(e,t,r,n)?.point;else{const l=((e.props.keyboard||void 0)?.step??el)*(s?tl:1);i={x:r.x+n.x*l,y:r.y+n.y*l}}i&&Fs(e,i)}},cl=async(e,t,n)=>{let o;for(const s of[...e.monitors])if(o=await s.placeAt?.(t,n),o)break;return!o||!Ns(e,t)?!1:(Fs(e,o),!0)},pt=e=>console.error(e);function To(e){const{manager:t,id:n,type:o,origin:s,constraint:r,callbacks:i}=e;let a="pending",l=!1,c=!1,u=!1,f=s;const d=performance.now();let h,p=0,m=Promise.resolve(),y=0;const w=(M,P)=>{y++;const W=m.then(M);return m=W.then(()=>{},pt).finally(()=>y--),W.catch(()=>P)},b=()=>t.status.value==="dragging"&&t.active.value?.id===n,k=()=>a==="dragging"&&!c&&b(),g=()=>{clearTimeout(h),p&&cancelAnimationFrame(p),p=0},x=()=>{if(a!=="ended"){a="ended",g(),e.onEnded();try{i.onEnd?.($)}catch(M){pt(M)}}},S=()=>{a==="pending"&&(t.status.value==="activating"&&(t.status.value=t.restStatus(),t.activationProgress.value=0),x())},E=()=>{if(g(),t.status.value==="activating"&&(t.status.value=t.restStatus()),a="dragging",Mn()?.sensor(t,n,e.sensor,e.touch),!t.start(n,s,o,e.touch))return t.activationProgress.value=0,x(),!1;if(l=!0,a!=="dragging")return!0;try{i.onStart?.($)}catch(M){pt(M)}return o==="pointer"&&(e.pressed&&Wa(e.pressed.target,e.pressed.item),t.move(f)),!0},C=()=>{if(a!=="pending"||t.status.value!=="activating")return!1;const M=Math.hypot(f.x-s.x,f.y-s.y),P=ko(r,M,performance.now()-d);if(P==="start")E();else if(P==="abort")S();else return t.activationProgress.value=P,!0;return!1},D=()=>{const{delay:M}=r;if(!M)return;h=setTimeout(C,M);const P=()=>{p=C()?requestAnimationFrame(P):0};p=requestAnimationFrame(P)},O=()=>ko(r,0,0)==="start"?E():(t.status.value="activating",t.activationProgress.value=0,C()&&D(),a!=="ended"),$={id:n,type:o,get state(){return a},get started(){return l},move:M=>{if(a==="pending"){f=M,C();return}if(k()){if(f=M,o==="pointer")return t.move(M);w(async()=>{b()&&(t.move(M),t.flushFrame())},void 0)}},step:(M,P={})=>{const W=t.active.value;if(o!=="keyboard"||!k()||!W)return Promise.resolve();const{event:j}=P;if(j?.repeat&&y>0)return Promise.resolve();const U=P.fast??j?.shiftKey??!1,Z=j??rl(M,U);return w(()=>ll(t,W,ol[M],Z,U),void 0)},place:M=>{const P=t.active.value;if(!k()||!P)return Promise.resolve(!1);const W=()=>cl(t,P,M);return o==="keyboard"?w(W,!1):W()},drop:()=>{if(a==="pending"&&S(),a!=="dragging"||c)return Promise.resolve(!1);c=!0;const M=async()=>(await t.drop(),u);return o==="keyboard"?w(M,!1):M()},cancel:()=>{if(a==="pending")return S();a!=="dragging"||c||(c=!0,b()&&t.cancel())}};return{drag:$,begin:O,adopt(){a="dragging",l=!0},conclude(M){a==="dragging"&&(u=M,x())},resume(){if(a==="dragging"){c=!1;try{i.onResume?.($)}catch(M){pt(M)}}},abort:S}}const Io=new WeakMap,Ro=(e,t,n)=>{if(typeof t=="object"){const r=t&&e.findDraggable(t);return r&&Is(r.entry,r.element,t,n)?r:null}const o=e.getDraggable(t),s=o?.getElement();return o&&s?{entry:o,element:s}:null};function ul(e){let t=null;const n=i=>(t=i,i),o=i=>{t===i&&(t=null)};e.addMonitor({onDragStart:()=>{const i=e.active.value;if(t?.drag.state==="dragging"||!i)return;t?.abort();const a=n(To({manager:e,id:i.id,type:i.sensor,origin:e.getRawPointer(),constraint:{},touch:!1,callbacks:{},onEnded:()=>o(a)}));a.adopt()},onDragEnd:()=>t?.conclude(!0),onDragCancel:()=>t?.conclude(!1),onDragResume:()=>t?.resume()},!0),e.activationAborts.add(()=>t?.abort());const s=(i,a)=>{const l=a.type??"pointer";if(!i.active)return null;if(t||!e.isAtRest())return process.env.NODE_ENV!=="production"&&e.status.value==="dropping"&&Ro(e,a.target,l)&&rn(e,"A new drag"),null;const c=l==="pointer"&&a.point?e.catchAt(a.point):null,u=Ro(e,c??a.target,l);if(!u||u.entry.isDisabled())return null;const{entry:f,element:d}=u,{event:h}=a;if(h?.pointerType==="mouse"&&f.getNative?.()||h&&f.canDrag&&!f.canDrag(h))return null;const p=n(To({manager:e,id:f.id,type:l,origin:a.point??Y(V(d)),constraint:ja(a.activation,f,e.props.activation),touch:h?.pointerType==="touch",sensor:i.sensor,pressed:c==null&&typeof a.target=="object"?{target:a.target,item:d}:void 0,callbacks:a,onEnded:()=>{o(p),i.current===p&&(i.current=null)}}));return i.current=p,p.begin()?p.drag:null};return{run:i=>{const a={active:!0,current:null,sensor:i},l={get props(){return e.props},get status(){return e.status.value},get drag(){return t?.drag??null},activate:u=>s(a,u),cancel:()=>{process.env.NODE_ENV!=="production"&&rn(e,"cancel()"),e.cancel()}},c=v.effectScope(!0);return c.run(()=>{try{const u=i.setup(l);typeof u=="function"&&v.onScopeDispose(u)}catch(u){console.error(u)}}),(u=!0)=>{a.active=!1,c.stop(),u&&a.current?.drag.cancel()}}}}const _s=e=>{let t=Io.get(e);return t||Io.set(e,t=ul(e)),t};function dl(e,t){if(!wn)return;const n=_s(e);N.useEventListener(N.defaultDocument,"visibilitychange",()=>{document.visibilityState==="hidden"&&e.cancel()});const o=new Map;v.watch(()=>e.props.sensors??t,s=>{const r=new Set(s);for(const[i,a]of o)r.has(i)||(o.delete(i),a());for(const i of r)o.has(i)||o.set(i,n.run(i))},{immediate:!0}),v.onScopeDispose(()=>{for(const s of o.values())s(!1);o.clear()})}function fl(e){const t=se();if(!wn)return;const n=_s(t).run(e);v.onScopeDispose(()=>n())}const On=e=>e,zs="application/x-vue-dnd-kit",ln="application/x-vue-dnd-kit.",pl=32e3,Lo=e=>[...new TextEncoder().encode(e)].map(t=>t.toString(16).padStart(2,"0")).join(""),hl=e=>{const t=new Uint8Array(e.length/2);for(let n=0;n<t.length;n++)t[n]=parseInt(e.slice(n*2,n*2+2),16);return new TextDecoder().decode(t)},ml=(e,t)=>{let n;try{n=JSON.stringify(t)}catch{return!1}e.setData(zs,n);const o=Lo(n);return e.setData(ln+(o.length<=pl?o:Lo(JSON.stringify({group:t.group,items:[]}))),"1"),!0},gl=e=>{const t=e.find(n=>n.startsWith(ln));if(!t)return null;try{const n=JSON.parse(hl(t.slice(ln.length)));return typeof n.group=="string"&&Array.isArray(n.items)?n:null}catch{return null}},vl=e=>{try{const t=JSON.parse(e.getData(zs));return typeof t.group=="string"&&Array.isArray(t.items)?t:null}catch{return null}},yl=e=>!!e?.types.length,wl=(e,t)=>{const n=[...e.types],o=[...e.items].filter(s=>s.kind==="file").map(s=>s.type);return{types:n,fileTypes:o.length||!n.includes("Files")?o:[""],files:[],urls:[],text:"",html:"",getData:()=>"",ready:!1,group:t}},bl=e=>(typeof e=="string"?e.split(","):e).map(t=>t.trim().toLowerCase()).filter(Boolean),js=(e,t)=>{if(!e)return!1;if(e===!0)return!0;if(typeof e=="function")return e(t);const n=bl(e),o=t.type.toLowerCase();return!n.length||n.some(s=>s.startsWith(".")?t.name===void 0||t.name.toLowerCase().endsWith(s):s.endsWith("/*")?o.startsWith(s.slice(0,-1)):o===s)},Ws=(e,t)=>{if(!e||t.group)return!1;const{types:n}=t;if(e.types?.some(s=>n.includes(s.toLowerCase())))return!0;const o=t.ready?t.files.map(s=>({type:s.type,name:s.name,size:s.size})):t.fileTypes.map(s=>({type:s}));if(n.includes("Files")&&e.files){if(e.multiple===!1&&o.length>1)return!1;if(o.length&&o.every(s=>js(e.files,s)))return!0}return e.links&&n.includes("text/uri-list")?!0:!!e.text&&n.includes("text/plain")&&!n.includes("Files")},xl=(e,t,n)=>{const o=[...t.items].filter(i=>i.kind==="file"&&!i.webkitGetAsEntry?.()?.isDirectory).map(i=>i.getAsFile()).filter(i=>!!i),s=new Map;for(const i of t.types)i!=="Files"&&s.set(i,t.getData(i));const r=s.get("text/uri-list")??"";Object.assign(e,{files:n?.files?o.filter(i=>js(n.files,{type:i.type,name:i.name,size:i.size})):[],urls:r.split(/\r?\n/).map(i=>i.trim()).filter(i=>i&&!i.startsWith("#")),text:s.get("text/plain")??"",html:s.get("text/html")??"",getData:i=>s.get(i.toLowerCase())??"",ready:!0})},kl=(e,t)=>{if(t.fileTypes.length)return t.fileTypes.map((s,r)=>({id:`${e}:${r}`,data:{type:s},type:["file"]}));const{types:n}=t,o=n.includes("text/uri-list")?"link":n.includes("text/plain")?"text":"data";return[{id:e,data:{types:n},type:[o]}]},Sl=e=>{const t=e.fileTypes.length;if(t)return t===1?"a file":`${t} files`;const{types:n}=e;return n.includes("text/uri-list")?"a link":n.includes("text/plain")?"text":"data"};let he=null,Dl=0;const El=(e,t)=>e==="all"||e==="uninitialized"||e.toLowerCase().includes(t),ht=e=>({x:e.clientX,y:e.clientY}),Po=(e,t)=>e.map((n,o)=>({...n,id:t(o),type:n.type??[]}));function Ml(e){if(!wn)return;const t=new Set,n=()=>{for(const w of t)w.removeAttribute("draggable");t.clear()},o=()=>he?.manager===e?he:null,s=w=>{w.cleanup?.(),he===w&&(he=null)},r=(w,b,k=!1)=>{const g=e.over.value;if(g&&!g.accepted||w.external&&!g)return"none";const S=(w.external?!w.external.group||k:e.mode.value==="copy")?"copy":"move";for(const E of[S,"move","copy","link"])if(El(b,E))return E;return"none"},i=w=>{if(n(),w.pointerType!=="mouse"||w.button!==0||!(w.target instanceof Element))return;const b=e.findDraggable(w.target);!b?.entry.getNative?.()||b.entry.isDisabled()||!Is(b.entry,b.element,w.target,"pointer")||b.entry.canDrag&&!b.entry.canDrag(w)||b.element.hasAttribute("draggable")||(b.element.setAttribute("draggable","true"),t.add(b.element))},a=(w,b)=>{const k=w.dataTransfer;if(he||!e.isAtRest()||!e.start(b.id,ht(w),"pointer",!1,{})){w.preventDefault();return}const g=e.active.value,x=b.getNative();k.effectAllowed=x.effect??"copyMove";const S=x.data?.(g)??(g.label?{"text/plain":g.label}:{});for(const[D,O]of Object.entries(S))k.setData(D,O);const E=b.getGroup?.();E&&ml(k,{group:E,items:g.items.map(({id:D,item:O,data:I,label:K,type:L})=>({id:D,item:O,data:I,label:K,type:L}))}),he={manager:e,own:!0,depth:0,dropped:!1,lastOver:performance.now()},w.target.addEventListener("dragend",D=>c(D),{once:!0})},l=w=>{if(!(w.target instanceof Element)||!w.dataTransfer)return;const b=e.findDraggable(w.target);!b?.entry.getNative?.()||!t.has(b.element)&&b.element.getAttribute("draggable")!=="true"||a(w,b.entry)},c=w=>{const b=o();n(),b?.own&&(s(b),b.dropped||e.endOutside(w.dataTransfer?.dropEffect??"none"))},u=w=>[...e.getDroppables()].some(b=>{if(b.isDisabled())return!1;const{external:k}=w;return k?.group?b.sortable?b.getGroup?.()===k.group:b.accepts(w):!!b.getExternal?.()}),f=w=>{const b=w.dataTransfer,k=gl(b.types),g=wl(b,k?.group),x=`external-${++Dl}`,S=T=>`${x}:${T}`,E=k?Po(k.items,S):kl(x,g);if(!E.length)return;k||(E[0].label=Sl(g));const C=ht(w),D=document.createElement("div");D.setAttribute("aria-hidden","true"),D.setAttribute("data-dnd-external",""),D.style.cssText=`position:fixed;left:${C.x}px;top:${C.y}px;width:0;height:0;pointer-events:none`,document.body.appendChild(D);const O=E[0],I={id:O.id,ids:E.map(T=>T.id),items:E,data:O.data,label:O.label,type:O.type,element:D,rect:ee(C.x,C.y,0,0),sensor:"pointer",external:g,native:!0};if(!u(I)){D.remove();return}const K={id:O.id,getElement:()=>D,getHandle:()=>null,getFocusTarget:()=>null,getData:()=>O.data,getLabel:()=>O.label,getTypes:()=>O.type,isDisabled:()=>!1,getOverlay:()=>!1},L=e.registerDraggable(K),A=()=>{L(),D.remove()};if(!e.start(O.id,C,"pointer",!1,{items:E,external:g}))return A();he={manager:e,own:!1,external:g,depth:1,dropped:!1,lastOver:performance.now(),cleanup:A,idOf:S},w.preventDefault(),b.dropEffect=r(he,b.effectAllowed)},d=w=>{const b=o();if(b){b.depth++,w.preventDefault();return}!he&&yl(w.dataTransfer)&&e.isAtRest()&&f(w)},h=w=>{const b=o();!b||!w.dataTransfer||(w.preventDefault(),b.lastOver=performance.now(),e.outside.value&&(e.outside.value=!1),e.move(ht(w)),w.dataTransfer.dropEffect=r(b,w.dataTransfer.effectAllowed,w.ctrlKey||w.altKey))},p=()=>{const w=o();if(!(!w||--w.depth>0)){if(w.depth=0,w.own){e.outside.value=!0;return}s(w),e.cancel()}},m=w=>{const b=o();if(!b||!w.dataTransfer)return;w.preventDefault(),b.dropped=!0,e.move(ht(w)),e.flushFrame();const{external:k}=b;if(k){const g=e.over.value;xl(k,w.dataTransfer,g?e.getDroppable(g.id)?.getExternal?.():void 0);const x=k.group?vl(w.dataTransfer):null;x?.items.length&&b.idOf&&e.updateActive({items:Po(x.items,b.idOf)})}e.drop().finally(()=>{b.own||s(b)})},y=()=>{const w=o();!w||performance.now()-w.lastOver<300||(s(w),e.cancel())};e.addMonitor({onDragCancel:w=>{const b=o();b&&!b.own&&!b.dropped&&w.active.external===b.external&&s(b)}},!0),N.useEventListener(N.defaultDocument,"pointerdown",i,{capture:!0}),N.useEventListener(N.defaultDocument,"pointerup",n,{capture:!0}),N.useEventListener(N.defaultDocument,"dragstart",l,{capture:!0}),N.useEventListener(N.defaultDocument,"dragend",c,{capture:!0}),N.useEventListener(N.defaultDocument,"dragenter",d,{capture:!0}),N.useEventListener(N.defaultDocument,"dragover",h,{capture:!0}),N.useEventListener(N.defaultDocument,"dragleave",p,{capture:!0}),N.useEventListener(N.defaultDocument,"drop",m,{capture:!0}),N.useEventListener(N.defaultWindow,"pointermove",y,{capture:!0,passive:!0})}const Al=100,Ol=3,Cl=e=>e.pointerType==="touch"||e.pointerType==="pen"?e.pointerType:"mouse",Tl=()=>{const e=o=>{o.preventDefault(),o.stopPropagation(),t()},t=()=>{clearTimeout(n),window.removeEventListener("click",e,!0),window.removeEventListener("pointerdown",t,!0)};window.addEventListener("click",e,!0),window.addEventListener("pointerdown",t,!0);const n=setTimeout(t,Al)},cn=["-webkit-user-select","user-select"],Il=e=>{const t=getComputedStyle(e);return cn.some(n=>t.getPropertyValue(n)==="none")},Rl=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement)||!Il(e))return()=>{};const{style:t}=e,n=cn.map(s=>[s,t.getPropertyValue(s),t.getPropertyPriority(s)]);for(const s of cn)t.setProperty(s,"text","important");let o=!1;return()=>{if(!o){o=!0;for(const[s,r,i]of n)r?t.setProperty(s,r,i):t.removeProperty(s)}}},Bs=On({name:"pointer",setup(e){let t=null;const n=()=>{t&&(t.stops.forEach(h=>h()),t.restoreSelectable(),t.pointerId!==null&&document.body.hasPointerCapture?.(t.pointerId)&&document.body.releasePointerCapture(t.pointerId),t=null)},o=h=>{if(h!==null)try{document.body.setPointerCapture(h)}catch{}},s=h=>!!t&&(t.pointerId===null?h.isPrimary:h.pointerId===t.pointerId),r=h=>{if(!t||!s(h))return;t.restoreSelectable();const{point:p}=t;!t.moved&&p&&Math.hypot(h.clientX-p.x,h.clientY-p.y)>Ol&&(t.moved=!0,t.drag.started&&o(t.pointerId)),t.drag.move({x:h.clientX,y:h.clientY})},i=h=>{if(!t||h.pointerId!==t.pointerId)return;const{drag:p,kind:m,moved:y}=t;n(),p.started&&(y||m==="touch")&&Tl(),p.drop()},a=h=>{if(!t||h.pointerId!==t.pointerId)return;const{drag:p}=t;n(),p.cancel()},l=h=>{t&&h.preventDefault()},c=h=>{t&&(h.preventDefault(),t.restoreSelectable(),t.drag.started||document.getSelection()?.removeAllRanges())},u=h=>{h.cancelable&&t?.drag.state==="dragging"&&h.preventDefault()},f=h=>{!t||t.pointerId!==null||!h.isPrimary||(h.preventDefault(),h.stopPropagation(),t.pointerId=h.pointerId,o(h.pointerId),t.drag.move({x:h.clientX,y:h.clientY}))},d=h=>{n(),t={pointerId:null,drag:h,kind:"mouse",point:null,moved:!0,restoreSelectable:()=>{},stops:[N.useEventListener(window,"pointerdown",f,{capture:!0}),N.useEventListener(document,"pointermove",r),N.useEventListener(document,"pointerup",i),N.useEventListener(document,"pointercancel",a),N.useEventListener(window,"contextmenu",l),N.useEventListener(window,"dragstart",l),N.useEventListener(document,"selectstart",c,{capture:!0})]}};return N.useEventListener(N.defaultDocument,"pointerdown",h=>{if(t||!h.isPrimary||h.button!==0)return;const p=h.composedPath()[0];if(!(p instanceof Element))return;const m=Cl(h),{pointerId:y}=h,w={x:h.clientX,y:h.clientY},b=e.activate({target:p,point:w,event:h,activation:m,onStart(){(m==="touch"||t?.moved)&&o(y)},onEnd(g){(!g.started&&t?.drag===g||t?.drag===g&&t.pointerId===null)&&n()},onResume:d});if(!b)return;const k=[N.useEventListener(document,"pointermove",r),N.useEventListener(document,"pointerup",i),N.useEventListener(document,"pointercancel",a),N.useEventListener(window,"contextmenu",l),N.useEventListener(window,"dragstart",l),N.useEventListener(document,"selectstart",c,{capture:!0})];m==="touch"&&k.push(N.useEventListener(p,"touchmove",u,{passive:!1})),t={pointerId:y,drag:b,kind:m,point:w,moved:!1,restoreSelectable:m==="touch"?()=>{}:Rl(p),stops:k}}),N.useEventListener(N.defaultWindow,"touchmove",u,{passive:!1}),N.useEventListener(N.defaultDocument,"visibilitychange",()=>{document.visibilityState==="hidden"&&n()}),n}}),Ll={start:["Space","Enter"],drop:["Space","Enter"],cancel:["Escape"]},Ko=new Map([["ArrowUp","up"],["ArrowDown","down"],["ArrowLeft","left"],["ArrowRight","right"]]),kt=(e,t)=>e.includes(t.code)||e.includes(t.key),mt=e=>{e.preventDefault(),e.stopPropagation()},Hs=On({name:"keyboard",setup(e){const t=()=>e.props.keyboard===!1?null:e.props.keyboard??{},n=()=>({...Ll,...t()?.keys});N.useEventListener(N.defaultDocument,"keydown",o=>{const{status:s}=e,r=n();if((s==="dragging"||s==="activating")&&kt(r.cancel,o)){mt(o),e.cancel();return}if(s==="dragging"){const{drag:l}=e;if(l?.type!=="keyboard"||l.state!=="dragging")return;if(kt(r.drop,o)){mt(o),o.repeat||l.drop();return}const c=Ko.get(o.key)??Ko.get(o.code);if(!c)return;mt(o),l.step(c,{event:o});return}if(!(s==="idle"||s==="dropping"&&!e.drag)||!t()||o.repeat||!kt(r.start,o))return;const a=gi(o);a instanceof Element&&e.activate({target:a,type:"keyboard",event:o})&&mt(o)},{capture:!0})}}),_t=(e,t,n)=>{let{x:o,y:s}=e;return t.left+o<n.left?o=n.left-t.left:t.right+o>n.right&&(o=n.right-t.right),t.top+s<n.top?s=n.top-t.top:t.bottom+s>n.bottom&&(s=n.bottom-t.bottom),{x:o,y:s}},zt=(e,t)=>({...e,left:e.left-t.x,right:e.right-t.x,top:e.top-t.y,bottom:e.bottom-t.y}),Vs=({transform:e,containerShift:t})=>({x:t.x,y:e.y}),Us=({transform:e,containerShift:t})=>({x:e.x,y:t.y}),$o=(e,t)=>t?[...e??[],t==="x"?Us:Vs]:e,Pl=(e,t,n)=>{if(!n)return $o(e,t);const o=[...n.getModifiers()??[],...e??[]];return n.restricts()&&o.push(Ys(n.getElement)),$o(o,t??n.getAxis())},Kl=({transform:e,overlayRect:t,windowRect:n})=>_t(e,zt(t,e),n),$l=({transform:e,overlayRect:t,containerRect:n})=>n?_t(e,zt(t,e),n):e,Ys=e=>({transform:t,overlayRect:n})=>{const o=ie(e);return o?_t(t,zt(n,t),V(o)):t},Nl=e=>{const t=getComputedStyle(e);return/(auto|scroll|overlay)/.test(t.overflow+t.overflowX+t.overflowY)},No=new WeakMap,Fl=({transform:e,overlayRect:t,active:n})=>{let o=No.get(n.element);if(o===void 0){for(o=n.element.parentElement;o&&!Nl(o);)o=o.parentElement;No.set(n.element,o)}return o?.isConnected?_t(e,zt(t,e),V(o)):e},_l={duration:80,easing:"ease-out"},gt=(e,t=0)=>t>0?Math.round(e/t)*t:e,zl=e=>{const t=typeof e=="number"?{x:e,y:e}:e,{x:n,y:o,origin:s="container"}=t,r=({transform:l,overlayRect:c,containerRect:u})=>{if(s==="delta"||!u)return{x:gt(l.x,n),y:gt(l.y,o)};const f=c.left-u.left,d=c.top-u.top;return{x:l.x+gt(f,n)-f,y:l.y+gt(d,o)-d}},i=t.smooth;if(!i)return r;const a={..._l,...i===!0?{}:i};return a.duration>0?Object.assign(r,{smooth:a}):r},jl=e=>{for(const t of e??[]){const n=t.smooth;if(n)return n}return null},Wl=({transform:e,overlayRect:t,origin:n})=>{const o=Y(t);return{x:e.x+n.x+e.x-o.x,y:e.y+n.y+e.y-o.y}},Xs=Symbol("vue-dnd-kit overlay scope"),Gs=e=>({get active(){return e.active.value},get column(){return e.overlayColumn.value},get previewIds(){return e.previewIds},get fitSize(){return e.fitSize.value},getPreview:t=>e.getPreview(t),get items(){return e.overlayItems}}),Bl=e=>({active:e.active,column:e.column,previewIds:e.previewIds,fitSize:e.fitSize,getPreview:t=>e.previews.get(t),items:e.items}),Cn=()=>{const e=v.inject(Xs,null);if(e)return e;const t=Gs(se());return()=>t},nt=v.defineComponent({name:"DragPreview",props:{id:{type:[String,Number],required:!0}},setup(e,{slots:t}){const n=Cn(),o=v.shallowRef(null);let s=null,r=null;const i=()=>{r&&r.items.get(r.id)===r.element&&r.items.delete(r.id),r=null},a=()=>{s?.remove(),s=null,i();const{active:l,column:c,getPreview:u,items:f}=n(),d=u(e.id),h=o.value;if(!d||!h)return;s=d.element.isConnected?d.element.cloneNode(!0):d.element,h.appendChild(s);const p=h.parentElement,m=!!c&&e.id!==l?.id&&!!p?.closest("[data-dnd-overlay]")&&!p.closest("[data-dnd-overlay-item]");h.toggleAttribute("data-dnd-overlay-item",m),m&&(f.set(e.id,h),r={id:e.id,element:h,items:f})};return v.onMounted(a),v.watch(()=>e.id,a,{flush:"post"}),v.onBeforeUnmount(i),()=>{const l=n().getPreview(e.id);if(!l){const f=t.default?.();return f?.length?v.h("div",null,f):null}const{width:c,height:u}=l.rect;return v.h("div",{ref:o,"aria-hidden":"true",style:{width:`${c}px`,height:`${u}px`}})}}}),qs={position:"absolute",top:"-8px",right:"-8px",minWidth:"20px",height:"20px",padding:"0 6px",borderRadius:"10px",background:"#2563eb",color:"#fff",font:"600 12px/20px system-ui, sans-serif",textAlign:"center",boxSizing:"border-box"},Ee={width:"100%",height:"100%"},Tt=[{x:8,y:7,rotate:4},{x:-7,y:10,rotate:-5},{x:14,y:14,rotate:8}],Hl=v.defineComponent({name:"DnDDefaultPreview",setup(){const e=Cn(),t=new Map,n=(o,s)=>{const{items:r}=e(),i=t.get(o);i&&r.get(o)===i&&r.delete(o),t.delete(o),s instanceof HTMLElement&&(t.set(o,s),r.set(o,s))};return()=>{const{active:o,column:s,previewIds:r}=e();if(!o)return null;const i=o.ids.length;if(i>1&&s)return v.h(s.preview);const a=o.items[0]?.item===void 0,l=i>1&&a?r.filter(c=>c!==o.id):[];return v.h("div",{"aria-hidden":"true",style:{...Ee,position:"relative"}},[...l.map((c,u)=>{const{x:f,y:d,rotate:h}=Tt[Math.min(u,Tt.length-1)];return v.h("div",{key:c,ref:p=>n(c,p),"data-dnd-overlay-item":"",style:{position:"absolute",top:"0",left:"0",...Ee,transform:`translate(${f}px, ${d}px) rotate(${h}deg)`}},v.h(nt,{id:c,style:Ee}))}).reverse(),v.h(nt,{key:o.id,id:o.id,style:{...Ee,position:"relative"}}),i>1?v.h("span",{style:{...qs,zIndex:1}},String(i)):null])}}}),un=e=>e.every(t=>v.isVNode(t)?t.type===v.Comment||t.type===v.Fragment&&un(t.children):t==null||typeof t=="boolean"||Array.isArray(t)&&un(t)),Js=(e,t)=>{const n=t,o=e.props;if(!o)return n;const s=Array.isArray(o)?o:Object.keys(o);return Object.fromEntries(s.filter(r=>r in n).map(r=>[r,n[r]]))},Vl=(e,t,n,o)=>{if(e)return v.h(e,Js(e,n));const s=t?.(n);return s&&!un(s)?s:v.h(o)},Fo=150,_o=(e,t,n)=>{if(fe()||typeof e.animate!="function")return n();Ne(e.animate(t,{duration:Fo,easing:"ease"}),Fo*2).then(n)},Ul={css:!1,onEnter:(e,t)=>_o(e,[{opacity:0},{opacity:1}],t),onLeave:(e,t)=>{Object.assign(e.style,{position:"absolute",top:"0",left:"0"}),_o(e,[{opacity:1},{opacity:0}],t)}},zo=new WeakMap;let Yl=0;const Xl=e=>{if(!e)return"default";let t=zo.get(e);return t==null&&zo.set(e,t=++Yl),`component-${t}`},Gl=e=>{const t=Array.isArray(e)?e.length===1?e[0]:null:e;return t&&v.isVNode(t)&&t.type!==v.Comment&&t.type!==v.Fragment?t:null},ql={width:"100%",height:"100%",position:"relative"},Jl=e=>({position:"fixed",top:"0",left:"0",zIndex:"9999",pointerEvents:"none",transformOrigin:"0 0",willChange:"transform",boxSizing:"border-box",width:`${e.width}px`,height:`${e.height}px`,transform:`translate3d(${e.left}px, ${e.top}px, 0)`}),jo=v.defineComponent({name:"DnDOverlayBox",inheritAttrs:!1,props:{scope:{type:Object,required:!0},boxStyle:{type:Object,required:!0},status:{type:String,required:!0},onElement:{type:Function,required:!0}},setup(e,{slots:t,attrs:n}){v.provide(Xs,()=>e.scope);const o=se(),s=v.shallowRef(null);return v.watch(s,r=>e.onElement(r)),()=>v.h("div",{...n,ref:s,style:e.boxStyle,"data-dnd-overlay":e.status},[v.h("div",{"data-dnd-overlay-content":"",class:o.props.overlayClass,style:ql},t.default?.())])}}),Zl=v.defineComponent({name:"DnDDragOverlay",inheritAttrs:!1,slots:Object,setup(e,{slots:t,attrs:n}){const o=se(),s=Gs(o),r=p=>{(p||o.active.value)&&(o.overlayElement.value=p)},i=new WeakMap,a=p=>{let m=i.get(p);if(!m){const{active:y,over:w}=p;m={scope:Bl(p),props:{active:y,items:y.items,over:w,accepted:w?.accepted??!1,status:"dropping",mode:p.mode,to:p.to},style:Jl(p.rect),onElement:b=>p.element=b},i.set(p,m)}return m},l=v.computed(()=>{const p=o.status.value;return!!o.active.value&&o.hasOverlay&&(p==="dragging"||p==="dropping")}),c=v.computed(()=>{if(o.status.value!=="dragging"||fe())return;const p=jl(o.getModifiers());return p?`transform ${p.duration}ms ${p.easing}`:void 0}),u=v.computed(()=>{const p=o.active.value,m=o.transform.value,y=o.getOverlayRect(p,m),w=!!c.value,b=w?p.rect.left+m.x:y.left,k=w?p.rect.top+m.y:y.top;return{position:"fixed",top:"0",left:"0",zIndex:"9999",pointerEvents:"none",transformOrigin:"0 0",willChange:"transform",boxSizing:"border-box",width:`${y.width}px`,height:`${y.height}px`,transform:`translate3d(${b}px, ${k}px, 0)`,translate:w?`${y.left-b}px ${y.top-k}px`:void 0,transition:c.value}});let f=null;const d=(p,m,y)=>{const w=()=>Vl(y,t.default,p,Hl),b=m?v.h(m,Js(m,p),{default:w}):w(),k=o.props.overlayTransition,g=k===!1?null:k===!0||k==null?Ul:k,x=g&&Gl(b);return x?v.h(v.Transition,g,()=>v.cloneVNode(x,{key:Xl(m??y)})):b},h=()=>{const p=o.active.value,m=o.over.value;o.status.value==="dragging"&&(f=o.getDestination());const y={active:p,items:p.items,over:m,accepted:m?.accepted??!1,status:o.status.value,mode:o.mode.value,to:f},w=m?.accepted?o.getDroppable(m.id)?.getOverlay?.():void 0;return v.h(jo,{...n,key:o.sessionId(),scope:s,boxStyle:u.value,status:y.status,onElement:r},()=>d(y,w,o.overlayComponent))};return()=>{const p=o.flights.value.map(m=>{const y=a(m);return v.h(jo,{...n,key:m.id,scope:y.scope,boxStyle:y.style,status:"dropping",onElement:y.onElement},()=>d(y.props,m.target,m.component))});return l.value&&p.push(h()),p}}}),Ql=[Bs,Hs],ec=v.defineComponent({name:"DnDLiveRegion",setup(){const e=se();return()=>v.h("div",{role:"status","aria-live":"assertive","aria-atomic":"true",style:_i},e.announcement.value)}}),tc=v.defineComponent({name:"DnDProvider",props:{collision:Function,modifiers:Array,animation:{type:[Boolean,Object,Function],default:void 0},dropAnimation:{type:[Boolean,Object,Function],default:void 0},animateChanges:{type:[Boolean,Object],default:void 0},autoScroll:{type:[Boolean,Object],default:!0},activation:Object,keyboard:{type:[Boolean,Object],default:void 0},sensors:Array,haptics:{type:[Boolean,Object],default:void 0},copyModifier:{type:String,default:"Alt"},overlayTo:{type:[String,Object],default:"body"},overlayFit:{type:String,default:"slot"},overlayPreviews:{type:[Number,String],default:5},overlayTransition:{type:[Boolean,Object],default:!0},overlayClass:{type:[String,Object,Array],default:void 0},announcements:{type:[Boolean,Object],default:void 0},screenReaderInstructions:String,defaultStyles:{type:Boolean,default:!0}},emits:{dragStart:e=>!0,dragMove:e=>!0,dragOver:e=>!0,dragEnd:e=>!0,dragCancel:e=>!0,dragResume:e=>!0,dragSettle:e=>!0},slots:Object,setup(e,{slots:t,emit:n}){const o=Ra(e);o.instructionsId=`dnd-kit-instructions-${v.useId()}`,v.provide(En,o),Mn()?.provider(o),o.addMonitor({onDragStart:i=>n("dragStart",i),onDragMove:i=>n("dragMove",i),onDragOver:i=>n("dragOver",i),onDragEnd:i=>n("dragEnd",i),onDragCancel:i=>n("dragCancel",i),onDragResume:i=>n("dragResume",i),onDragSettle:i=>n("dragSettle",i)}),dl(o,Ql),Ml(o),Qa(o);const s=()=>o.scheduleFrame();N.useEventListener(N.defaultDocument,"scroll",s,{capture:!0,passive:!0}),N.useEventListener(N.defaultWindow,"resize",s,{passive:!0});const r=v.shallowRef(!1);return v.onMounted(()=>{r.value=!0,Aa(e.defaultStyles)}),v.onScopeDispose(o.destroy),()=>[t.default?.(),r.value?v.h(v.Teleport,{to:e.overlayTo},[v.h(Zl,{inert:!0,"aria-hidden":"true"},t.overlay?{default:t.overlay}:void 0),v.h("div",{id:o.instructionsId,style:{display:"none"}},e.screenReaderInstructions??Ni),v.h(ec)]):null]}}),nc=e=>e==null?[]:Array.isArray(e)?e:[e],oc=(e,t)=>e.type.length===0||e.type.some(n=>t.includes(n)),sc=(e,t)=>{if(e==null||e==="*")return{accepted:t.items.map(r=>r.id),rejected:[]};if(typeof e=="function")return e(t)?{accepted:t.items.map(r=>r.id),rejected:[]}:{accepted:[],rejected:t.items.map(r=>r.id)};const n=Array.isArray(e)?e:[e],o=[],s=[];for(const r of t.items)(oc(r,n)?o:s).push(r.id);return{accepted:o,rejected:s}},Zs=(e,t,n="all")=>{const{accepted:o,rejected:s}=sc(e,t);return n==="some"?o.length>0:s.length===0},R=e=>v.toValue(e),rc=e=>e==null||e===!0?!0:e&&v.markRaw(e),Ae=new WeakMap,Qs=(e,t)=>{const n=e.getAttribute(t);return n===null||Ae.get(e)?.get(t)===n?!0:(Ae.get(e)?.delete(t),!1)},Ze=(e,t,n)=>{if(!Qs(e,t))return;let o=Ae.get(e);o||Ae.set(e,o=new Map),o.set(t,n),e.getAttribute(t)!==n&&e.setAttribute(t,n)},er=(e,t)=>{const n=Ae.get(e);n?.has(t)&&(Qs(e,t)&&e.removeAttribute(t),n.delete(t))},ot="aria-describedby",Qe=new WeakMap,tr=e=>e.getAttribute(ot)?.split(/\s+/).filter(Boolean)??[],Wo=(e,t)=>{const n=tr(e);n.includes(t)||e.setAttribute(ot,[...n,t].join(" "))};let Bo=null;const ic=(e,t)=>{Qe.get(e)!==t&&(Qe.set(e,t),Bo??=new MutationObserver(n=>{for(const{target:o}of n){const s=Qe.get(o);s&&Wo(o,s)}}),Bo.observe(e,{attributeFilter:[ot]})),Wo(e,t)},ac=e=>{const t=Qe.get(e);if(t===void 0)return;Qe.delete(e);const n=tr(e);if(!n.includes(t))return;const o=n.filter(s=>s!==t);o.length?e.setAttribute(ot,o.join(" ")):e.removeAttribute(ot)},Ho=e=>{ac(e);const t=Ae.get(e);if(t){for(const n of[...t.keys()])er(e,n);Ae.delete(e)}},lc=e=>(e.getAttribute("role")??(e.tagName==="BUTTON"?"button":null))==="button",cc=(e,t,n)=>{xi(e)||Ze(e,"tabindex","0"),e.tagName!=="BUTTON"&&Ze(e,"role","button"),Ze(e,"aria-roledescription",n),t&&ic(e,t)};function nr(e,t,n={}){const o=se(),s=$t("draggable"),r=v.computed(()=>R(t.id)??s),i=()=>ie(e),a=()=>{const g=R(t.handle);return g==null?null:typeof g=="string"?i()?.querySelector(g)??null:ie(g)},l=()=>o.findArea(i()),c={id:r.value,getOverlay:()=>rc(v.unref(t.overlay)??n.getOverlay?.()),getDropAnimation:()=>v.unref(t.dropAnimation)??n.getDropAnimation?.(),getModifiers:()=>Pl(R(t.modifiers),R(t.axis),l()),getActivation:()=>{const g=R(t.activation),x=l()?.getActivation();return g&&x?{...x,...g}:g??x},canDrag:t.canDrag,getKeyboard:()=>R(t.keyboardMode),getElement:i,getHandle:()=>{const g=R(t.handle);return typeof g=="string"?g:a()},getFocusTarget:()=>a()??i(),getData:()=>R(t.data),getLabel:()=>R(t.label),getTypes:()=>nc(R(t.type)),isDisabled:()=>!!R(t.disabled)||o.inDisabledArea(i()),getItem:n.getItem,getContainer:n.getContainer,getNative:()=>{const g=R(t.native);return g?g===!0?{}:g:void 0},getGroup:n.getGroup},u=g=>{c.getNative()||g.preventDefault()};let f=o.registerDraggable(c);v.watch(r,g=>{f(),c.id=g,f=o.registerDraggable(c)});let d=null;const h=()=>{d&&(o.unbindDraggableElement(d.element,d.id),d.element.removeEventListener("dragstart",u),d=null)};v.watch([i,r],([g,x])=>{h(),g&&(o.bindDraggableElement(g,x),g.addEventListener("dragstart",u),d={element:g,id:x})},{immediate:!0,flush:"post"});let p=null;const m=n.roleDescription??"draggable",y=v.computed(()=>o.active.value?.id===r.value);v.watchEffect(()=>{const g=R(t.attributes)===!1?null:a()??i();g!==p&&(p&&Ho(p),p=g),g&&(cc(g,o.instructionsId,m),Ze(g,"aria-disabled",String(c.isDisabled())),y.value&&lc(g)?Ze(g,"aria-pressed","true"):er(g,"aria-pressed"))},{flush:"post"}),v.onScopeDispose(()=>{h(),f(),p&&Ho(p),p=null});const w=v.computed(()=>!!o.active.value?.ids.includes(r.value)||!!o.flightOf(r.value)),b=v.computed(()=>{if(o.active.value?.id!==r.value||o.hasOverlay||o.active.value.native)return null;const{x:g,y:x}=o.transform.value,S=o.containerShift.value;return S.x||S.y?{x:g-S.x,y:x-S.y}:o.transform.value}),k=v.computed({get:()=>o.selection.has(r.value),set:g=>{g?o.selection.add(r.value):o.selection.delete(r.value)}});return{id:r,isDragging:w,transform:b,selected:k}}function uc(e,t={}){return nr(e,t)}function Tn(e,t,n={}){const o=se(),s=$t("droppable"),r=v.computed(()=>R(t.id)??s),i=n.accepts??(d=>d.external&&!d.external.group?Ws(R(t.external),d.external):Zs(v.unref(t.accept),{active:d,items:d.items,types:d.items.flatMap(h=>h.type)},R(t.acceptMode))),a={id:r.value,getPriority:()=>R(t.priority)??0,sortable:!!n.accepts,options:t,getElement:()=>ie(e),getData:()=>R(t.data),getLabel:()=>R(t.label),isDisabled:()=>!!R(t.disabled),accepts:i,getExternal:()=>R(t.external),getGroup:n.getGroup,getOverlay:()=>{const d=v.unref(t.overOverlay);return d?v.markRaw(d):void 0},getDropAnimation:()=>v.unref(t.overDropAnimation),onDragEnter:t.onDragEnter,onDragLeave:t.onDragLeave,onBeforeDrop:t.onBeforeDrop,onDrop:t.onDrop};let l=o.registerDroppable(a);v.watch(r,d=>{l(),a.id=d,l=o.registerDroppable(a)}),v.onScopeDispose(()=>l());const c=v.computed(()=>o.over.value?.id===r.value),u=v.computed(()=>{const d=o.active.value;return!!d&&!a.isDisabled()&&i(d)}),f=v.computed(()=>{const d=o.over.value,h=o.pointer.value;if(!h||d?.id!==r.value)return null;const p=Y(d.rect);return{top:h.y<=p.y,bottom:h.y>p.y,left:h.x<=p.x,right:h.x>p.x}});return{id:r,isOver:c,isAccepting:u,placement:f}}function dc(e,t={}){return Tn(e,t)}const or=(e,t)=>{const n=Math.min(e.length,t.length);let o=0;for(;o<n&&e[o]===t[o];)o++;let s=e.length,r=t.length;if(s===r)for(;s>o&&e[s-1]===t[s-1];)s--,r--;return{start:o,end:s,nextEnd:r}},fc=(e,t,n)=>{const{start:o,end:s,nextEnd:r}=or(t,n);if(r-o>n.length/2)return!1;for(let i=o;i<s;i++)e.delete(t[i]);for(let i=o;i<r;i++)e.set(n[i],i);return!0},pc=(e,t)=>({name:t,manager:e,lists:new Map,items:new Map,session:v.shallowRef(null),indicator:v.shallowRef(null),indexCache:new WeakMap,indexedDrafts:new WeakMap,copyHeld:()=>!1,version:v.shallowRef(0),returning:null,gathering:!1,near:null,fresh:null,dragPass:!1,auto:null,leaving:new Map,columnList:null,targets:{at:null,bands:new Map,ids:new Set},movedAt:null,followed:0,following:null,announced:null,spokenSpot:null}),jt=(e,t)=>e.length===t.length&&e.every((n,o)=>n===t[o]),X=e=>e.draft.value??e.getKeys(),Wt=(e,t)=>!!t.over&&!e.lists.has(t.over.id),G=(e,t)=>t==null?void 0:e.lists.get(t),st=(e,t)=>e.manager.getDroppable(t)?.getLabel?.(),In=(e,t)=>e.manager.getDraggable(t)?.getLabel?.(),Oe=(e,t,n)=>({list:t,label:st(e,t),index:n,length:e.lists.get(t)?.getKeys().length??0}),rt=(e,t)=>{let n=e.indexCache.get(t);return n||(n=new Map(t.map((o,s)=>[o,s])),e.indexCache.set(t,n)),n},Rn=(e,t)=>{const n=t.draft.value;if(!n)return rt(e,t.getKeys());if(e.indexCache.has(n))return e.indexCache.get(n);const o=e.indexedDrafts.get(t),s=o&&e.indexCache.get(o);return s&&fc(s,o,n)&&(e.indexCache.delete(o),e.indexCache.set(n,s)),e.indexedDrafts.set(t,n),rt(e,n)},hc=(e,t,n)=>Rn(e,t).get(n)??-1,pe=(e,t)=>{const n=e.session.value?.items;if(n?.has(t))return n.get(t);for(const o of e.lists.values()){const s=o.getItem(t);if(s!==void 0)return s}},be=(e,t,n)=>{for(const o of e.lists.values())if((n?Rn(e,o):rt(e,o.getKeys())).has(t))return o},mc=e=>[...e.lists.values()].sort((t,n)=>{const o=t.getElement(),s=n.getElement();return!o||!s||o===s?0:o.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}),sr=(e,t,n)=>{if(e===void 0||typeof e=="boolean")return e??!0;if(typeof e=="function")return e(t);const o=typeof e=="string"?[e]:e;return t.keys.every(s=>{const r=n.getDraggable(s)?.getTypes()??t.types;return!r.length||r.some(i=>o.includes(i))})},Ln=(e,t)=>e.manager.getDraggable(t)?.getTypes()??[e.name],Pn=(e,t,n)=>t.isDisabled()?{accepted:[],rejected:n.keys}:n.mode.partition(e,t,n),Kn=(e,t,n)=>{const o={accepted:n.keys,rejected:[]},s={accepted:[],rejected:n.keys};if(t.id===n.origin.list)return o;if(G(e,n.origin.list)?.pull()===!1)return s;const r=l=>({keys:l,items:l.map(c=>pe(e,c)),types:[...new Set(l.flatMap(c=>Ln(e,c)))],from:n.origin.list,to:t.id});if((t.acceptMode?.()??"all")==="all")return t.canPut(r(n.keys))?o:s;const i=[],a=[];for(const l of n.keys)(t.canPut(r([l]))?i:a).push(l);return{accepted:i,rejected:a}},Bt=(e,t,n)=>{const o=e.session.value;if(!o||o.activeKey!==n.id)return!1;const{accepted:s,rejected:r}=Pn(e,t,o);return(t.acceptMode?.()??"all")==="some"?s.length>0:!r.length},gc=(e,t)=>{const n=e.manager.active.value;if(!n)return!1;const o=e.session.value;return!o||o.activeKey!==n.id?!0:!!o.mode.inert?.(t,e)},Fe=(e,t,n)=>n?.behavior?.()==="swap"&&G(e,t.origin.list)?.behavior?.()==="swap"&&t.keys.length===1&&t.mode.moves,$n=(e,t,n,o)=>{const s=G(e,t.origin.list);return n===s||n.pull()===!0&&!s.isDisabled()&&s.canPut({keys:[o],items:[pe(e,o)],types:Ln(e,o),from:n.id,to:s.id})},vc=12,yc=(e,t,n)=>{const o=ve(n,je);if(!o||o.custom||typeof document>"u")return;const s=kn(),r=e.map(l=>({element:l,rect:V(l)})).filter(({rect:l})=>l.width>0&&Nt(l,s)).slice(0,vc);if(!r.length)return;const i=Sn(r.map(({element:l})=>l)),a=r.map(({rect:l},c)=>({ghost:i[c],rect:l}));for(const{ghost:l,rect:c}of a){if(!le(l))continue;Object.assign(l.style,{position:"fixed",top:"0",left:"0",width:`${c.width}px`,height:`${c.height}px`,zIndex:"9998",transformOrigin:"0 0",pointerEvents:"none"}),l.setAttribute("data-dnd-ghost",""),document.body.appendChild(l);const u=`scale(${t.width/c.width||1}, ${t.height/c.height||1})`,f=l.animate([{transform:`translate3d(${c.left}px, ${c.top}px, 0)`,opacity:1},{transform:`translate3d(${t.left}px, ${t.top}px, 0) ${u}`,opacity:0}],{...o.options,fill:"forwards"}),d=()=>l.remove();f.addEventListener("finish",d),f.addEventListener("cancel",d)}},rr=(e,t,n)=>n.length>1?e.flatMap(o=>o===t?n:[o]):e,wc=(e,t,n,o,s)=>{const{lists:r,manager:i}=e,a=t.active.id,l=g=>{const x=o.get(g);return n.findIndex(S=>S.id===x.list)*1e9+x.index};let c=t.active.ids.filter(g=>o.has(g)).sort((g,x)=>l(g)-l(x));const u=new Map;for(const g of n)g.layout.carried(c).forEach((x,S)=>u.set(S,x));u.size&&(c=c.filter(g=>!u.has(g)));const f=u.get(a)??a,d=o.get(f),h=r.get(d.list),p=[a,...c.filter(g=>g!==a)];if(!jt(p,t.active.ids)){const g=p.map(x=>({id:x,item:s.get(x),data:i.getDraggable(x)?.getData(),label:i.getDraggable(x)?.getLabel?.(),type:Ln(e,x)}));i.updateActive({ids:p,items:g})}const m=new Set(c.filter(g=>g!==f)),y=m.size>0&&h.placeholder()==="item"?h.multiple?.()??"stack":null,w=y==="stack",b=y==="group",k=new Map;for(const g of r.values()){const x=g.getKeys();let S=w||b?x.filter(E=>!m.has(E)):[...x];b&&g===h&&(S=rr(S,f,c)),k.set(g.id,g.layout.prepareDraft(S,{lead:f,keys:c,copying:!1}))}return{lead:f,keys:c,origin:d,others:m,stacked:w,grouped:b,block:b?c:[f],base:k}},bc=(e,t,n)=>{if(t.stacked){const o=[...t.others].map(s=>e.items.get(s)?.()).filter(s=>!!s?.isConnected);yc(o,n.active.rect,G(e,t.origin.list).animation())}e.gathering=t.grouped},xc=(e,t)=>{if(!t.stacked||!t.mode.moves)return;const n=e.manager.overlayElement.value;n?.isConnected&&(e.returning={keys:new Set(t.others),from:V(n)})},Nn=(e,t,n)=>{if(!t.grouped)return[t.slot];let o=t.keys;if(n){const{accepted:s}=Pn(e,n,t);s.length<o.length&&s.includes(t.lead)&&(o=s)}return t.mode.inserted(e,t,o)},kc=(e,t,n)=>(e.grouped?t.getKeys():e.base.get(t.id)??t.getKeys()).filter(o=>!n.has(o)),ct=(e,t)=>{const n=X(e);if(t.block.length<2||t.list!==e.id)return n;const o=new Set(t.block);return n.filter(s=>s===t.slot||!o.has(s))},ir=(e,t,n,o,s)=>{const r=t.getKeys();let i=0;for(let a=o-1;a>=0;a--){const l=r[a];if(s.has(l))continue;const c=e.indexOf(l);if(c!==-1){i=c+1;break}}e.splice(i,0,n)},Ce=(e,t)=>{const n=Rn(e,t),o=e.session.value,s=o&&o.block.length>1&&o.list===t.id?o.block:null,r=s?n.get(s[0])??-1:-1,i=s?n.get(o.slot)??-1:-1,a=[];for(const[l,c]of e.items){const u=n.get(l);if(u===void 0)continue;const f=c(),d=f?.isConnected?e.manager.measureVisible(f):null;if(!d)continue;let h=u,p;r!==-1&&u>=r&&(u>=r+s.length?h=u-s.length+1:(h=r,u!==i&&(p=u<i?-1:1))),a.push([u,p?{key:l,index:h,rect:d,side:p}:{key:l,index:h,rect:d}])}return a.sort((l,c)=>l[0]-c[0]).map(([,l])=>l)},Sc=(e,t,n)=>[...e.filter(({id:s})=>s!==t).slice(0,Tt.length).map(({id:s},r)=>({id:s,...Tt[r],width:n.width,height:n.height})),{id:t,x:0,y:0,width:n.width,height:n.height}],ar=(e,t,n,o,s)=>e.layout==="pile"?Sc(t,n,o):Dc(t,n,o,s,e.axis,e.gap),Dc=(e,t,n,o,s,r)=>{const i=s==="y"?"height":"width",a=o[i]>0?n[i]/o[i]:1,l=e.map(({id:f,size:d})=>f===t?n[i]:d[i]*a),c=l.map(()=>0),u=Math.max(e.findIndex(f=>f.id===t),0);for(let f=u+1;f<e.length;f++)c[f]=c[f-1]+l[f-1]+r;for(let f=u-1;f>=0;f--)c[f]=c[f+1]-l[f]-r;return e.map(({id:f},d)=>s==="y"?{id:f,x:0,y:c[d],width:n.width,height:l[d]}:{id:f,x:c[d],y:0,width:l[d],height:n.height})},qt=(e,t,n,o)=>v.h("span",{style:{...qs,top:`${e.y+(n?e.height:0)}px`,right:"auto",left:`${e.x+(t?e.width:0)}px`,transform:"translate(-50%, -50%)",zIndex:2}},o),Ec=(e,t,n,o)=>{if(e.layout==="pile"){const d=t.find(h=>h.id===n);return o.length>1?[qt(d,!0,!1,String(o.length))]:[]}const s=new Set(t.map(d=>d.id)),r=e.ids.length?e.ids:o,i=Math.max(r.indexOf(n),0),a=r.slice(0,i).filter(d=>!s.has(d)).length,l=r.slice(i+1).filter(d=>!s.has(d)).length,c=e.axis==="x",u=t[0],f=t[t.length-1];return[a>0?qt(u,!c,!1,`+${a}`):null,l>0?qt(f,!0,!c,`+${l}`):null]},Mc=v.defineComponent({name:"DnDColumnPreview",setup(){const e=se(),t=Cn(),n=v.shallowRef(null),o=new Map,s=(r,i)=>{const{items:a}=t(),l=o.get(r);l&&a.get(r)===l&&a.delete(r),o.delete(r),i instanceof HTMLElement&&(o.set(r,i),a.set(r,i))};return v.onMounted(()=>{const{column:r,getPreview:i}=t(),a=ve(r?.animation??e.props.animation,je);if(!a||a.custom||!n.value)return;const l=V(n.value);for(const[c,u]of o){const f=i(c);if(!f||!le(u))continue;const{left:d,top:h,width:p,height:m}=f.rect,{transform:y,width:w,height:b}=u.style;u.animate([{transform:`translate(${d-l.left}px, ${h-l.top}px)`,width:`${p}px`,height:`${m}px`},{transform:y,width:w,height:b}],a.options)}}),()=>{const{active:r,column:i,fitSize:a,getPreview:l,previewIds:c}=t();if(!r||!i)return null;const u=a??r.rect,f=l(r.id)?.rect??r.rect,d=c.map(p=>({id:p,size:l(p).rect})),h=ar(i,d,r.id,u,f);return v.h("div",{ref:n,"aria-hidden":"true",style:{...Ee,position:"relative"}},[...h.map(p=>p.id===r.id?v.h(nt,{key:p.id,id:p.id,style:{...Ee,position:"relative",zIndex:1}}):v.h("div",{key:p.id,ref:m=>s(p.id,m),"data-dnd-overlay-item":"",style:{position:"absolute",top:"0",left:"0",width:`${p.width}px`,height:`${p.height}px`,transform:`translate(${p.x}px, ${p.y}px)${p.rotate?` rotate(${p.rotate}deg)`:""}`}},v.h(nt,{id:p.id,style:Ee}))),...Ec(i,h,r.id,r.ids)])}}}),Fn=(e,t)=>{const n=e.targets?.get(t.key);return!!n&&de(n,e.pointer)},Ac={vertical:{axis:"y",start:"top",end:"bottom"},horizontal:{axis:"x",start:"left",end:"right"}},It=e=>Ac[e==="horizontal"?"horizontal":"vertical"],_n=(e,t,{start:n,end:o})=>t>=e[n]&&t<=e[o],Oc=(e,t,{start:n,end:o},s,r)=>{if(!t.length)return s===-1?0:null;const i=t[0],a=t[t.length-1];if(e>a.rect[o]&&a.index===r-1)return s===-1?r:s===r-1?null:r-1;if(e<i.rect[n]&&i.index===0)return s===0?null:0;if(s===-1){const d=t.find(h=>e<(h.rect[n]+h.rect[o])/2);return d?d.index:a.index===r-1?r:null}const l=t.findIndex(d=>e<d.rect[n]),c=t[l],u=t[l-1];if(!c||!u||c.index===s||u.index===s)return null;const f=c.index>s?c.index-1:c.index;return f===s?null:f},lr=(e,t)=>e.filter(n=>n.index===t),Cc=(e,t,{axis:n,start:o,end:s})=>{const{items:r,activeIndex:i}=e,a=r.find(d=>d.index===i+t),l=lr(r,i);if(!a||!l.length||e.targets?.has(a.key))return{index:null,lock:null,key:null};const c=a.rect[s]-a.rect[o],u=t>0?Math.min(...l.map(d=>d.rect[o]))+c/2:Math.max(...l.map(d=>d.rect[s]))-c/2,f=e.pointer[n];return(t>0?f>u:f<u)?{index:i+t,lock:null,key:a.key}:{index:null,lock:null,key:null}},Tc=(e,t,n)=>{const{items:o,activeIndex:s}=e,r=o.find(c=>c.index===s+t),i=lr(o,s),a=t>0?i[0]:i[i.length-1];if(!r||!a||e.targets?.has(r.key))return{index:null,lock:n,key:null};const l=ee(a.rect.left,a.rect.top,r.rect.width,r.rect.height);return de(l,e.pointer)?{index:null,lock:n,key:null}:{index:s+t,lock:null,key:r.key}},Ic=e=>{const t=It(e.strategy),{pointer:n,items:o,activeKey:s,activeIndex:r,length:i}=e,a=n[t.axis],l={index:null,lock:null,key:null};let c;for(const d of o)if(_n(d.rect,a,t)){if(d.key===s)return l;if(d.side)return Cc(e,d.side,t);c??=d}if(!c)return{index:Oc(a,o,t,r,i),lock:null,key:null};if(Fn(e,c))return l;const u=(c.rect[t.start]+c.rect[t.end])/2;if(r===-1)return{index:a<u?c.index:c.index+1,lock:null,key:c.key};const f=c.index>r?a>u?c.index:c.index-1:a<u?c.index:c.index+1;return f===r?l:{index:f,lock:null,key:c.key}},Rc=e=>{const{pointer:t,items:n,activeKey:o,activeIndex:s,length:r}=e;let i=e.lock;if(i!=null){const u=n.find(f=>f.key===i);(!u||!de(u.rect,t))&&(i=null)}let a;for(const u of n)if(de(u.rect,t)){if(u.key===o)return{index:null,lock:i,key:null};if(u.side)return Tc(e,u.side,i);a??=u}if(a){if(a.key===i||Fn(e,a))return{index:null,lock:i,key:null};if(s!==-1&&!e.targets?.has(a.key))return{index:a.index,lock:a.key,key:a.key};let u=t.x<Y(a.rect).x?a.index:a.index+1;return s!==-1&&a.index>s&&u--,u===s?{index:null,lock:i,key:null}:{index:u,lock:s===-1?a.key:i,key:a.key}}if(!n.length)return{index:s===-1?0:null,lock:i,key:null};const l=n[n.length-1];return(t.y>l.rect.bottom||t.y>=l.rect.top&&t.x>l.rect.right)&&l.index===r-1&&s!==r-1?{index:s===-1?r:r-1,lock:i,key:null}:{index:null,lock:i,key:null}},zn=e=>e.strategy==="grid"?Rc(e):Ic(e),cr=e=>{const{strategy:t,pointer:n,items:o,activeKey:s,length:r}=e,i=t==="grid"?o.find(d=>de(d.rect,n)):o.find(d=>_n(d.rect,n[It(t).axis],It(t))),a=t!=="vertical";if(i){if(i.key===s||Fn(e,i))return null;const d=Y(i.rect),h=a?n.x<d.x:n.y<d.y;return{index:h?i.index:i.index+1,key:i.key,side:h?"before":"after"}}if(!o.length)return{index:0,key:null,side:"before"};const l=o[0],c=o[o.length-1];if((a?n.y>c.rect.bottom||n.y>=c.rect.top&&n.x>c.rect.right:n.y>c.rect.bottom)&&c.index===r-1)return{index:r,key:c.key,side:"after"};if((a?n.x<l.rect.left&&n.y<=l.rect.bottom:n.y<l.rect.top)&&l.index===0)return{index:0,key:l.key,side:"before"}},ur=(e,t,n)=>{const o=It(e);return n.find(s=>e==="grid"?de(s.rect,t):_n(s.rect,t[o.axis],o))},Lc=({strategy:e,pointer:t,items:n,activeKey:o,partner:s})=>{const r=ur(e,t,n);return!r||r.key===o?{partner:void 0,key:null}:{partner:r.key===s?null:r.key,key:r.key}},dr=(e,t,n)=>{const o=Y(t).x;let s=null,r=null;for(const i of e){if(!(n>0?i.rect.top>=t.bottom-1:i.rect.bottom<=t.top+1))continue;const l=n>0?i.rect.top:-i.rect.bottom;if(s===null||l<s-1)s=l,r=i;else if(l<=s+1){const c=Y(i.rect).x;(!r||Math.abs(c-o)<Math.abs(Y(r.rect).x-o))&&(r=i)}}return r?.index??null},Pc=(e,t,n)=>{const o=Y(e);let s=null,r=1/0;for(const i of t){const a=Y(i.rect),l=(a.x-o.x)*n.x+(a.y-o.y)*n.y;if(l<=1)continue;const c=Math.abs((a.x-o.x)*n.y)+Math.abs((a.y-o.y)*n.x),u=l+c*2;u<r&&(r=u,s=i)}return s},dn={start:.25,end:.75},fr=({rect:e},{y:t})=>e.height>0&&(t-e.top)/e.height>=dn.start&&(t-e.top)/e.height<=dn.end,pr=(e,{y:t},n)=>e.find(o=>o.key!==n&&!o.side&&t>=o.rect.top&&t<=o.rect.bottom)??null;function Kc(e){const{pointer:t,items:n,activeKey:o,activeIndex:s,length:r,canNestInto:i,still:a}=e,l=pr(n,t,o);if(l&&a?.has(l.key))return{index:null,nest:null,hit:l};if(l&&i&&fr(l,t)&&i(l.key)){const u=s!==-1&&s<l.index?l.index:l.index+1;return{index:u===s?null:u,nest:l.key,hit:l}}const{index:c}=zn({strategy:"vertical",pointer:t,items:n,activeKey:o,activeIndex:s,length:r,lock:null});return{index:c,nest:null,hit:l}}function $c(e){const{pointer:t,items:n,moving:o,canNestInto:s}=e,r=pr(n,t);return r&&o.has(r.key)?null:r&&s&&fr(r,t)&&s(r.key)?{index:r.index+1,key:r.key,side:"inside"}:cr({...e,strategy:"vertical"})}const hr=(e,t)=>{const{start:n,end:o}=dn;return t==="vertical"?ee(e.left,e.top+e.height*n,e.width,e.height*(o-n)):ee(e.left+e.width*n,e.top,e.width*(o-n),e.height)},Nc=(e,t,n)=>{const o=At(hr(e,n),t);return o&&Y(o)},mr=(e,t)=>e.targets.at===t.pointer?e.targets.bands:void 0,Fc=e=>{let t=null;const n=new Map,o=(s,r,i)=>{t!==r&&(t=r,n.clear());let a=n.get(s);return a===void 0&&n.set(s,a=Bt(e,s,i)),a};return(s,r,i,a)=>{const l=e.session.value;if(!l||l.activeKey!==a.id||s.sortable)return!0;const c=e.manager.findDraggable(r),u=c?.entry.id,f=u!=null&&e.items.get(u)?.()===c.element?be(e,u,!0):void 0;if(!f||!o(f,i,a))return!0;if(!s.accepts(a))return!1;e.targets.at!==i&&(e.targets={at:i,bands:new Map,ids:new Set});const d=hr(e.manager.measure(c.element),f.strategy());return e.targets.bands.set(u,d),de(d,i)?(e.targets.ids.add(s.id),!0):!1}},fn=(e,t)=>!!t.over&&e.targets.at===t.pointer&&e.targets.ids.has(t.over.id),_c=(e,t,n,o)=>{const{manager:s}=e,r=e.items.get(t)?.();if(!r?.isConnected)return null;let i=null;for(const a of s.getDroppables()){const l=a.getElement();if(!l?.isConnected||a.sortable||a.isDisabled()||s.isOwned(l,o)||s.findDraggable(l)?.element!==r||!a.accepts(o))continue;i||(tn(r),We(r),i=V(r));const c=Nc(i,V(l),n.strategy());if(c)return c}return null},De=({key:e,label:t,count:n,copy:o},s=!0)=>{const r=n>1?`${n} items`:t??`item ${e}`,i=o?`copy of ${r}`:r;return s&&i!==t?i.charAt(0).toUpperCase()+i.slice(1):i},gr=(e,t)=>t??`list ${e}`,Ye=({list:e,label:t,index:n,length:o})=>`position ${n+1} of ${o} in ${gr(e,t)}`,Vo=e=>e?`, swapped with ${e.label??`item ${e.key}`} (now at ${Ye(e.spot)})`:"",we={start:(e,t)=>`Picked up ${De({...e,copy:!1},!1)} at ${Ye(t)}.`,over:(e,t,n)=>`${De(e)} moved to ${Ye(t)}${Vo(n)}.`,end:(e,t,n)=>`${De(e)} dropped at ${Ye(t)}${Vo(n)}.`,removed:(e,t,n)=>`${De(e)} removed from ${gr(t,n)}.`,target:(e,t)=>`Over ${t}: dropping puts ${De(e,!1)} inside.`,into:(e,t)=>`${De(e)} dropped into ${t}.`,cancel:(e,t)=>`Dragging was cancelled. ${De({...e,copy:!1})} returned to ${Ye(t)}.`},pn=({list:e,index:t,length:n})=>`${String(e)}\0${t}\0${n}`,Ke=(e,t)=>({key:t.lead,label:In(e,t.lead),count:t.keys.length,copy:t.mode.name==="copy"}),vr=e=>e.over.label??String(e.over.id),hn=(e,t)=>{const n=e.indicator.value;if(n){const s=e.lists.get(n.list),r=s?X(s):[],i=r.indexOf(t.slot),a=i>=0&&i<n.index?n.index-1:n.index;return{list:n.list,label:st(e,n.list),index:a,length:i>=0?r.length:r.length+1}}if(t.list==null)return null;const o=X(e.lists.get(t.list));return{list:t.list,label:st(e,t.list),index:o.indexOf(t.block[0]),length:o.length}},me=(e,t,n)=>({count:e.count,copy:e.copy,...t&&{position:t},...n&&{partner:{key:n.key,label:n.label,position:n.spot}}}),Uo=(e,t)=>t.swap==null?void 0:{key:t.swap,label:In(e,t.swap),spot:Oe(e,t.origin.list,t.origin.index)},zc=(e,t)=>{const n=t.origin.list,o=t.base.get(n);e.spokenSpot=t.grouped?pn({list:n,index:o.indexOf(t.keys[0]),length:o.length}):pn(Oe(e,n,t.origin.index))},jc=(e,t,n,o)=>{const s=Ke(e,t);if(fn(e,n))return{text:we.into(s,vr(n)),context:me(s)};if(t.removed)return{text:o?we.removed(s,o.event.to.list,st(e,o.event.to.list)):void 0,context:me(s)};if(o&&o.event.to.index>=0){const r=e.lists.get(o.event.to.list),i=r?o.next.get(r)??r.getKeys():[],a=o.event.to.list,l={list:a,label:st(e,a),index:o.event.to.index,length:i.length},c=o.event.partner,u=c&&{key:c.key,label:In(e,c.key),spot:Oe(e,c.to.list,c.to.index)};return{text:we.end(s,l,u),context:me(s,l,u)}}if(!o&&!Wt(e,n)&&t.mode.moves&&t.origin.list!=null){const r=Oe(e,t.origin.list,t.origin.index);return{text:we.end(s,r),context:me(s,r)}}return{text:void 0,context:me(s)}},Wc=(e,t)=>{const n=Ke(e,t),o=Oe(e,t.origin.list,t.origin.index);return{text:we.cancel(n,o),context:me(n,o)}},Jt=(e,t)=>{const n=e.session.value;return n&&n.activeKey===t.active.id&&!Wt(e,t)?n:null},Bc=e=>({describe:(t,n)=>{if(t==="onDragEnd"||t==="onDragCancel")return e.announced?.key===n.active.id?e.announced.context:void 0;const o=Jt(e,n);if(!o)return;const s=Ke(e,o);return t==="onDragStart"?me(s,o.origin.list==null?null:Oe(e,o.origin.list,o.origin.index)):fn(e,n)?me(s):me(s,hn(e,o),Uo(e,o))},onDragStart:t=>{const n=Jt(e,t);if(!(!n||n.origin.list==null))return we.start(Ke(e,n),Oe(e,n.origin.list,n.origin.index))},onDragOver:t=>{const n=e.session.value;if(n?.activeKey===t.active.id&&fn(e,t))return e.spokenSpot=null,we.target(Ke(e,n),vr(t));const o=Jt(e,t),s=o&&hn(e,o);if(!s)return;const r=pn(s);return r===e.spokenSpot?"":(e.spokenSpot=r,we.over(Ke(e,o),s,Uo(e,o)))},onDragEnd:t=>e.announced?.key===t.active.id?e.announced.text:void 0,onDragCancel:t=>e.announced?.key===t.active.id?e.announced.text:void 0}),jn=10,yr=(e,t)=>!!e&&!!t&&Me(t,e.at)<jn,Hc=64,wr=(e,t,n)=>{const o=new Set,[s,r]=t<n?[t+1,n]:[n,t-1];for(let i=s;i<=r&&o.size<Hc;i++){const a=e[i];a!==void 0&&o.add(a)}return o},Vc=(e,t)=>{const n=new Set;for(const o of[e[t-1],e[t]])o!==void 0&&n.add(o);return n},Uc=(e,t)=>e&&Me(t,e.at)<jn?e:null,br=(e,t)=>!!e&&t!=null&&e.keys.has(t),Yc=(e,t)=>!!e&&e.list===t,St={x:0,y:0},Wn=(e,t)=>{const{manager:n}=e,o=n.landings.value;o.size===t.length&&t.every(([s,r])=>o.get(s)===r)||(n.landings.value=new Map(t))},Xc=(e,t)=>{const n=e.getElement();if(!n)return 0;const o=getComputedStyle(n);return parseFloat(t==="y"?o.rowGap:o.columnGap)||0},Gc=e=>e.lead===e.activeKey?e.keys:e.keys.flatMap(t=>t===e.lead?[t,e.activeKey]:[t]),qc=(e,t)=>{if(t.stacked)return;const n=Gc(t);if(n.length<2)return;const o=G(e,t.list??t.origin.list);if(!o||o.id===e.columnList)return;e.columnList=o.id;const s=o.strategy(),r=s==="vertical"?"y":"x";e.manager.overlayColumn.value={ids:n,axis:r,gap:Xc(o,r),layout:s==="grid"?"pile":"column",animation:o.animation(),preview:Mc,land:Ts}},Jc=e=>{e.version.value;const t=e.session.value;if(!t)return null;const n=e.manager.over.value;if(n?!n.accepted:!yr(t.target,e.manager.pointer.value)&&G(e,t.list??t.origin.list)?.dropOutside()!=="placeholder")return null;const s=hn(e,t);if(!s||n&&s.list!==n.id)return null;const r=G(e,s.list)?.layout.placement?.();return r?{list:s.list,...r}:{list:s.list,index:s.index}},Zc=(e,t)=>e.list===t.list&&e.index===t.index&&e.parentKey===t.parentKey&&e.depth===t.depth,Qc=e=>t=>{const n=Jc(e);return t&&n&&Zc(t,n)?t:n},Re=e=>{const{manager:t}=e,n=e.session.value;if(!n)return;const o=n.list!=null;t.landingKey.value=o&&n.slot!==n.lead?n.slot:null;const s=n.lead!==n.activeKey;Wn(e,o&&(n.grouped||s)?n.block.filter(r=>r!==n.slot||s).map(r=>[r,n.mode.original?.(n,r)??r]):[]),qc(e,n),t.mode.value=n.mode.dragMode(e,n)},xr=(e,t)=>e.mode.moves?e.keys.filter(n=>n!==e.activeKey&&!t.includes(n)).map(n=>[n,n]):[],eu=(e,t)=>Wn(e,xr(t,[])),tu=(e,t,n)=>{const o=n&&!t.removed?n.event.accepted:[];if(n){const s=o.includes(t.lead)?t.mode.placed(t,t.lead):null;s==null?e.manager.landingKey.value=null:s!==t.lead&&(e.manager.landingKey.value=s)}Wn(e,[...o.filter(s=>s!==t.activeKey).map(s=>[t.mode.placed(t,s),s]),...xr(t,o)])},kr=(e,t)=>{if(!t)return St;const{manager:n}=e,o=n.active.value,s=n.overlayColumn.value;if(t.lead===t.activeKey||!o||!s)return St;const r=n.previewIds.map(c=>({id:c,size:n.getPreview(c).rect})),i=n.fitSize.value??o.rect,a=n.getPreview(o.id)?.rect??o.rect,l=ar(s,r,o.id,i,a).find(c=>c.id===t.lead);return l?{x:l.x,y:l.y}:St},Sr=(e,t,n)=>{const o=kr(e,t);return o===St?n:{...n,pointer:{x:n.pointer.x+o.x,y:n.pointer.y+o.y}}},Dr=(e,t,n)=>{const o=t.strategy();if(o==="grid"||n.active.sensor==="keyboard")return n;const s=t.getElement(),r=s?.isConnected?e.manager.measureVisible(s):null;if(!r)return n;const[i,a,l]=o==="horizontal"?["x","left","right"]:["y","top","bottom"];if(r[l]-r[a]<2)return n;const c=n.pointer[i],u=Math.min(Math.max(c,r[a]+1),r[l]-1);return u===c?n:{...n,pointer:{...n.pointer,[i]:u}}},He=new WeakMap,Er=(e,t)=>{const n=[];for(const o of t){if(o.animateSize?.()===!1)continue;const s=o.getElement();!s?.isConnected||!e.manager.isNearViewport(s)||n.push({list:o,element:s,width:s.offsetWidth,height:s.offsetHeight})}return n},Yo=(e,t,n)=>{if(e.boxSizing==="border-box")return n;const[o,s]=t==="width"?["Left","Right"]:["Top","Bottom"],r=i=>parseFloat(e.getPropertyValue(i))||0;return n-r(`padding-${o.toLowerCase()}`)-r(`padding-${s.toLowerCase()}`)-r(`border-${o.toLowerCase()}-width`)-r(`border-${s.toLowerCase()}-width`)},Mr=(e,t)=>{for(const{list:n,element:o,width:s,height:r}of e){if(!o.isConnected||!le(o))continue;He.get(o)?.cancel(),He.delete(o);const i={width:o.offsetWidth,height:o.offsetHeight},a=["width","height"].filter(m=>Math.abs(i[m]-(m==="width"?s:r))>=1);if(!a.length)continue;const l=ve(t(n),je);if(!l)continue;const c=getComputedStyle(o),u={},f={};for(const m of a)u[m]=`${Yo(c,m,m==="width"?s:r)}px`,f[m]=`${Yo(c,m,i[m])}px`;const{duration:d,easing:h}=l.options,p=o.animate([u,f],{duration:d,easing:h});He.set(o,p),p.addEventListener("finish",()=>He.get(o)===p&&He.delete(o))}},nu=8,Ar=new Set,ou=(e,t)=>{const n=t.getElement();if(!n?.isConnected)return[];const{left:o,top:s}=V(n),r=e.manager.measureVisible(n),{scrollLeft:i,scrollTop:a}=n;return[{element:n,left:o,top:s,scrollLeft:i,scrollTop:a,slackX:(r?.width??0)/2,slackY:(r?.height??0)/2}]},su=({element:e,left:t,top:n,scrollLeft:o,scrollTop:s,slackX:r,slackY:i})=>{const a=V(e);return Math.abs(a.left-t-e.scrollLeft+o)>r+.5||Math.abs(a.top-n-e.scrollTop+s)>i+.5},ru=(e,t)=>{const n=new Map;for(const s of t){const r=be(e,s,!0);r&&n.set(r,(n.get(r)??0)+1)}let o=1/0;for(const[s,r]of n)r<X(s).length&&(o=Math.min(o,r));return Math.max(1,Math.min(nu,Math.floor(o/6)))},iu=(e,t)=>t.session!==e.session.value?!1:(t.drift-=e.session.value?.block.length??1,t.drift>=0&&!t.probes.some(su)),Or=e=>{const{manager:t,items:n}=e,o=new Map,s=e.near;if(s&&iu(e,s)){for(const a of s.keys){const l=n.get(a)?.();l?.isConnected?t.isNearViewport(l)&&o.set(a,{element:l,rect:V(l)}):n.has(a)||s.keys.delete(a)}return o}const r=new Set;for(const[a,l]of n){const c=l();!c?.isConnected||!t.isNearViewport(c)||(r.add(a),o.set(a,{element:c,rect:V(c)}))}const i=[...e.lists.values()].flatMap(a=>ou(e,a));return e.near={keys:r,session:e.session.value,probes:i,drift:ru(e,r)},o},Cr=(e,t,n,o)=>{const{manager:s,items:r}=e,i=new Map,a=(p,m)=>{const y=i.get(p);y?y.push(m):i.set(p,[m])},l=[],c=s.landingKey.value??s.active.value?.id,u=e.returning;e.returning=null;const f=e.gathering;e.gathering=!1;const d=p=>p===c||s.overlayItems.has(s.landings.value.get(p)??p)||s.isCarried(p);for(const[p,m]of t){const y=r.get(p)?.();if(!y?.isConnected)continue;const w=be(e,p,!0);if(!w)continue;const b=m.element!==y;b&&!f&&d(p)||a(w,{key:p,element:y,first:m.rect,crossing:b})}for(const p of n){const m=t.has(p)?null:r.get(p)?.(),y=m?.isConnected&&be(e,p,!0);y&&(e.near?.keys.add(p),u?.keys.has(p)?(a(y,{key:p,element:m,first:u.from}),l.push({element:m,list:y})):o&&p!==c&&s.isNearViewport(m)&&so(m,y.animation()))}const h=[];for(const[p,m]of i)h.push({entries:m,option:p.animation()});ws(h);for(const{element:p,list:m}of l)so(p,m.animation());s.invalidateMeasurements(),e.session.value||(e.near=null)},Se=e=>{e.dragPass=!0,e.version.value++},au=e=>{let t=new Map,n=[];v.watch(e.version,()=>{t=Or(e),n=Er(e,e.lists.values()),e.fresh=new Set},{flush:"pre"}),v.watch(e.version,()=>{const o=e.fresh??Ar;e.fresh=null,e.dragPass=!1,Mr(n,s=>s.animation()),Cr(e,t,o,!0)},{flush:"post"})},lu=e=>{if(e.manager.status.value==="idle")return;const t=Or(e);v.nextTick(()=>Cr(e,t,Ar,!1))},ke=(e,t,n,o,s=!1)=>{const r=e.session.value,i=r.slot,a=G(e,r.list);let l;if(a===t){const c=[...ct(a,r)],u=c.indexOf(i);if(u===-1||u===n)return;l=wr(c,u,n),c.splice(u,1),c.splice(n,0,i),a.draft.value=rr(c,i,r.block)}else{const c=r.block,u=Nn(e,r,t),f=new Set(c),d=new Set(u.filter(b=>!f.has(b))),h=X(t);let p=Math.min(n,h.length);for(let b=s?0:u.indexOf(i);b>0&&p>0;)d.has(h[--p])||b--;let m=null;for(let b=p;b<h.length;b++)if(!d.has(h[b])){m=h[b];break}if(a&&(a.draft.value=X(a).filter(b=>!f.has(b))),d.size)for(const b of e.lists.values()){const k=X(b);k.some(g=>d.has(g))&&(b.draft.value=k.filter(g=>!d.has(g)))}if(r.mode.name!=="copy"){const b=new Set(u),k=c.filter(g=>!b.has(g)).map(g=>({key:g,source:r.sources.get(g)})).sort((g,x)=>(g.source?.index??0)-(x.source?.index??0));for(const{key:g,source:x}of k){const S=x&&e.lists.get(x.list);if(!S)continue;const E=[...X(S)];ir(E,S,g,x.index,b),S.draft.value=E}}const y=[...X(t)],w=m==null?y.length:y.indexOf(m);l=Vc(y,w),y.splice(w,0,...u),t.draft.value=y,r.block=u,r.list=t.id}r.hysteresis=o?{keys:l,list:a&&a!==t?a.id:null,at:o}:null,r.indicator=null,Re(e),Se(e),e.manager.announce("onDragOver")},Rt=e=>{const t=e.session.value,n=G(e,t.list);if(!n)return;const o=new Set(t.block);n.draft.value=X(n).filter(s=>!o.has(s)),t.list=null,Re(e),Se(e)},ut=(e,t)=>{const n=e.session.value;if(n.slot!==n.lead)return Rt(e);const o=G(e,n.origin.list),s=o&&n.base.get(o.id),r=s?s.indexOf(n.lead):-1;if(!o||!s||r<0)return;const i=new Set(n.grouped?n.keys:[]);if(i.delete(n.lead),n.list===o.id){ke(e,o,s.slice(0,r).filter(u=>!i.has(u)).length,t);return}const a=s.slice(r+1).find(u=>!i.has(u)),l=X(o),c=a===void 0?-1:l.indexOf(a);ke(e,o,c===-1?l.length:c,t,!0)},cu=(e,t)=>{if(!t.apart){for(const n of e.lists.values())n.draft.value=[...n.getKeys()];t.list=t.origin.list,t.block=[t.lead],t.apart=!0,Re(e),Se(e)}},Tr=(e,t)=>{for(const n of e.lists.values())n.draft.value=t.base.get(n.id)??[...n.getKeys()];t.list=t.origin.list,t.block=t.keys,t.apart=!1,e.gathering=!0,Re(e),Se(e)},Ir=(e,t,n)=>{if(!(t.list==null||G(e,t.list)?.layout.nested||G(e,t.origin.list)?.layout.nested)){if(t.grouped&&t.mode.name==="move")return cu(e,t);ut(e,n)}},Bn=(e,t)=>{t.slot!==t.lead?t.list!=null&&Rt(e):t.list!==t.origin.list&&ut(e,null)},uu=["list","index","key","side","depth","parentKey"],du=(e,t)=>e===t||!!e&&!!t&&uu.every(n=>e[n]===t[n]),Be=(e,t)=>{if(du(e.indicator.value,t))return!1;e.indicator.value=t;const n=e.session.value;return n&&(e.manager.mode.value=n.mode.dragMode(e,n)),!0},it=(e,t)=>{const n=e.session.value;t&&(n.indicator=t),Be(e,t)&&t&&e.manager.announce("onDragOver")},Rr=(e,t,n)=>{const o=e.session.value;return n==null||n===o.slot||!$n(e,o,t,n)?null:{list:t.id,index:X(t).indexOf(n),key:n,side:"swap"}},fu=(e,t,n)=>{const o=e.session.value;Bn(e,o);const s=Ce(e,t);if(Fe(e,o,t)){const i=ur(t.strategy(),n.pointer,s);i&&it(e,Rr(e,t,i.key));return}const r=t.layout.indicate(Dr(e,t,Sr(e,o,n)),{keys:X(t),items:s,activeKey:o.slot,activeIndex:-1,strategy:t.strategy(),lock:null,targets:mr(e,n)});r!==void 0&&it(e,r&&{list:t.id,...r})},Xo=(e,t,n)=>{it(e,Rr(e,t,n));const o=e.items.get(n)?.();if(o?.isConnected)return We(o),Y(ne(o))},Ht=(e,t,n)=>{const o=t.layout.indicateAt(X(t),n);if(!o)return;it(e,{list:t.id,...o});const s=(o.key==null?null:e.items.get(o.key)?.())??t.getElement();if(s?.isConnected)return We(s),Y(ne(s))},pu=({duration:e,easing:t})=>({...e!==void 0&&{duration:e},...t!==void 0&&{easing:t}}),hu=e=>{if(!e)return null;const t=e===!0?{}:e,n={...je,...pu(t)},o=t.move??!0,s={move:{option:typeof o!="function"&&fe()?!1:o,defaults:n},enter:ve(t.enter,n),leave:ve(t.leave,n)};return s.move.option!==!1||s.enter||s.leave?s:null},mu=(e,t,n,o)=>{const{custom:s,options:r}=e;s?s({key:t,element:n,to:o,options:r,reducedMotion:fe()}):le(n)&&n.animate([{opacity:0},{opacity:1}],r)},gu={position:"absolute",left:"0px",top:"0px",margin:"0px","box-sizing":"border-box","pointer-events":"none",transition:"none",animation:"none"},vu=(e,t)=>{const n=new Map,o=t.flatMap(({key:r,element:i,parent:a,from:l})=>{if(!(i instanceof HTMLElement)||i.tagName==="TR"||!a.isConnected)return[];const c=Ds(i);Ss(c),c.setAttribute("data-dnd-leaving",""),c.setAttribute("inert","");const u={...gu,width:`${l.width}px`,height:`${l.height}px`};for(const f in u)c.style.setProperty(f,u[f],"important");return a.appendChild(c),[{key:r,ghost:c,from:l}]}),s=o.map(({ghost:r})=>V(r));return o.forEach(({key:r,ghost:i,from:a},l)=>{const c=s[l];i.style.setProperty("left",`${a.left-c.left}px`,"important"),i.style.setProperty("top",`${a.top-c.top}px`,"important");const{custom:u,options:f}=e,d=u?u({key:r,element:i,from:a,options:f,reducedMotion:fe()}):le(i)?i.animate([{opacity:1,scale:"1"},{opacity:0,scale:"0.96"}],{...f,fill:"forwards"}):void 0,h=()=>i.remove();n.set(r,{remove:h,ended:Ne(d,f.duration+tt).then(h)})}),n},yu=new Set,Lr=(e,t)=>{const n=t.getElement(),o=n?.isConnected?e.manager.measureVisible(n):null;return o&&ms(o,o.width*qe,o.height*qe)},wu=(e,t,n)=>{if(e.dragPass||e.session.value)return;const o=hu(t.animate?.());if(!o)return;let s=e.auto;if(!s){const i=s=e.auto={lists:new Map,snapshot:new Map,sizes:[]};e.fresh??=new Set,v.nextTick(()=>{e.auto===i&&(e.auto=null,e.fresh=null)})}s.lists.has(t)||s.sizes.push(...Er(e,[t])),s.lists.set(t,{parts:o,previous:n});const r=Lr(e,t);if(r)for(const i of n){const a=e.items.get(i)?.();if(!a?.isConnected)continue;const l=V(a);Nt(l,r)&&s.snapshot.set(i,{element:a,rect:l,parent:a.parentElement,list:t})}},bu=e=>{const t=e.auto;if(!t)return;const n=e.fresh??yu;e.auto=null,e.fresh=null;const{lists:o,snapshot:s}=t,r=new Map,i=new Map,a=f=>{e.leaving.get(f)?.(),e.leaving.delete(f)};for(const[f,d]of s){const h=e.items.get(f)?.();if(h?.isConnected){const p=h===d.element?d.list:be(e,f,!1),m=p&&o.get(p)?.parts.move;if(!m||m.option===!1)continue;a(f);const y=r.get(p)??[];y.push({key:f,element:h,first:d.rect,crossing:h!==d.element}),r.set(p,y)}else if(!be(e,f,!1)&&o.get(d.list)?.parts.leave){const p=d.parent?.isConnected?d.parent:d.list.getElement();if(!p)continue;const m=i.get(d.list)??[];m.push({key:f,element:d.element,parent:p,from:d.rect}),i.set(d.list,m)}}const l=[],c=new Map;for(const f of n){if(s.has(f))continue;const d=e.items.get(f)?.(),h=d?.isConnected?be(e,f,!1):void 0,p=h&&o.get(h)?.parts;if(!h||!p?.enter||[...o.values()].some(({previous:w})=>rt(e,w).has(f)))continue;c.has(h)||c.set(h,Lr(e,h));const m=c.get(h),y=V(d);m&&Nt(y,m)&&l.push({key:f,element:d,to:y,parts:p})}Mr(t.sizes,f=>o.get(f)?.parts.move?.option);const u=[];for(const[f,d]of r){const{option:h,defaults:p}=o.get(f).parts.move;u.push({entries:d,option:h,defaults:p})}ws(u,"change");for(const{key:f,element:d,to:h,parts:p}of l)a(f),mu(p.enter,f,d,h);for(const[f,d]of i)for(const[h,{remove:p,ended:m}]of vu(o.get(f).parts.leave,d))a(h),e.leaving.set(h,p),m.then(()=>{e.leaving.get(h)===p&&e.leaving.delete(h)})},xu=(e,t)=>{const n=v.computed(()=>!!t.animate?.());let o=[];v.watch(n,s=>{if(o.forEach(i=>i()),o=[],!s)return;const r=()=>t.getKeys();o=[v.watch(r,(i,a)=>!jt(i,a)&&wu(e,t,a),{flush:"pre"}),v.watch(r,()=>bu(e),{flush:"post"})]},{immediate:!0})},Go=new Set(["Alt","AltGraph","Control","Meta","Shift","CapsLock"]),vt=new WeakMap;function ku(e){let t=!1;const n=()=>e.props.copyModifier===void 0?"Alt":e.props.copyModifier,o=f=>{f!==t&&(t=f,e.status.value==="dragging"&&e.scheduleFrame())},s=f=>{const d=n();d&&(f.key===d?(e.status.value==="dragging"&&f.preventDefault(),o(f.type==="keydown")):Go.has(d)&&o(f.getModifierState(d)))},r=f=>{const d=n();d&&Go.has(d)&&o(f.getModifierState(d))},i=()=>o(!1),a=[[N.defaultDocument,"keydown",s,{capture:!0}],[N.defaultDocument,"keyup",s,{capture:!0}],[N.defaultDocument,"pointerdown",r,{capture:!0,passive:!0}],[N.defaultDocument,"pointermove",r,{capture:!0,passive:!0}],[N.defaultWindow,"blur",i,{}]];let l=!1;const c=f=>{if(f!==l){l=f;for(const[d,h,p,m]of a)f?d?.addEventListener(h,p,m):d?.removeEventListener(h,p,m);f||(t=!1)}},u=v.effectScope(!0);return u.run(()=>v.watch(()=>e.status.value!=="idle",c,{immediate:!0})),{held:()=>t&&!!n(),users:0,stop:()=>{u.stop(),c(!1)}}}function Su(e){let t=vt.get(e);t||vt.set(e,t=ku(e));const n=t;return n.users++,v.onScopeDispose(()=>{--n.users||(n.stop(),vt.get(e)===n&&vt.delete(e))}),n.held}const Te=(e,t,n)=>t.mode.enter?.(e,t,n)??!0,Pr=(e,t)=>Fe(e,t,G(e,t.list))?"swap":"move",Kr=(e,t,n)=>n,$r=(e,t)=>t,Hn=(e,t,n)=>{const{lists:o}=e,s=e.session.value,r=s.swap;for(const a of o.values()){const l=s.base.get(a.id);l&&a.draft.value!==l&&(a.draft.value=l)}s.list=s.origin.list;const i=new Set;if(r!=null&&i.add(r),t!=null){const a=o.get(s.origin.list),l=[...o.values()].find(c=>rt(e,s.base.get(c.id)??[]).has(t));if(l){const c=[...s.base.get(a.id)],u=l===a?c:[...s.base.get(l.id)],f=c.indexOf(s.activeKey),d=u.indexOf(t);if(c[f]=t,u[d]=s.activeKey,a.draft.value=c,u!==c&&(l.draft.value=u),s.list=l.id,l===a)for(const h of wr(c,f,d))i.add(h);i.add(t)}}s.swap=t,s.hysteresis=n?{keys:i,list:null,at:n}:null,Re(e),Se(e),e.manager.announce("onDragOver")},Du=(e,t,n)=>({key:n,item:pe(e,n),from:{...t.sources.get(n)},to:{list:t.origin.list,index:t.origin.index}}),Eu=(e,t,n,o)=>{const{partner:s,key:r}=Lc({strategy:n.strategy(),pointer:o.pointer,items:Ce(e,n),activeKey:t.slot,partner:t.swap});if(s===void 0||br(t.hysteresis,r))return!1;const i=s!=null&&!$n(e,t,n,s)?null:s;return i!==t.swap&&Hn(e,i,o.pointer),!1},mn={name:"swap",moves:!0,dragMode:Pr,partition:Kn,over:Eu,leave:e=>Hn(e,null,null),inserted:Kr,placed:$r,facts:(e,t)=>({partner:Du(e,t,t.swap)})},Nr=e=>e.swap!=null?mn:e.mode,Mu=(e,t,n)=>{const{manager:o}=e,s=o.active.value;if(n==="grid"||!s)return t;const[r,i,a]=n==="horizontal"?["x","left","right"]:["y","top","bottom"],l=o.getRawPointer()[r],c=o.getOverlayRect(s,o.transform.value);return l>=c[i]&&l<=c[a]?t:{...t,pointer:{...t.pointer,[r]:l}}},Vn=(e,t,n,o,s)=>{const r=n.id===t.list;if(!n.canSort()){if(!r&&n.id===t.origin.list)return s||ut(e,o.pointer),!1;if(r&&!n.layout.nested)return!1}const i=ct(n,t),a=Ce(e,n),l=r?i.indexOf(t.slot):-1,c=n.strategy(),u=n.layout.project(Dr(e,n,Sr(e,t,Mu(e,o,c))),{keys:i,items:a,activeKey:t.slot,activeIndex:l,strategy:c,lock:t.lock,targets:mr(e,o)});t.lock=u.lock;const f=r&&!n.canSort()?null:u.index;return f==null||s||br(t.hysteresis,u.key)?!1:(ke(e,n,f,o.pointer),!0)},Fr={name:"move",moves:!0,dragMode:Pr,partition:Kn,over:(e,t,n,o,s)=>Fe(e,t,n)?mn.over(e,t,n,o,s):(t.swap!=null&&mn.leave(e,t),Vn(e,t,n,o,s)),inserted:Kr,placed:$r},qo=(e,t,n)=>Math.min(Math.max(e,t),n),at=(e,t,n,o)=>{const s=X(t),r=t.getElement(),i=Y(n),a=t.strategy();if(a!=="grid"){const u=a==="vertical"?"y":"x",f=Ce(e,t).find(d=>Y(d.rect)[u]>=i[u]-1);return f?f.index:s.length}let l=i;if(r){const u=ne(r);l={x:qo(i.x,u.left+1,u.right-1),y:qo(i.y,u.top+1,u.bottom-1)}}return zn({strategy:t.strategy(),pointer:l,items:Ce(e,t),activeKey:o.slot,activeIndex:-1,length:s.length,lock:null}).index??s.length},Un=(e,t,n,o,s)=>{const r=t?.getElement(),i=r?ne(r):s;if(!i)return null;const a=[];for(const l of e.lists.values()){const c=l.getElement();l===t||!c?.isConnected||l.isDisabled()||!Bt(e,l,n)||n.element.isConnected&&n.element.contains(c)||a.push({list:l,rect:ne(c)})}return Pc(i,a,o)?.list??null},Ie=(e,t,n)=>{const o=e.items.get(t.slot)?.();if(o?.isConnected)return We(o),n&&t.origin.list!=null&&e.manager.getDraggable(t.slot)?.getFocusTarget()?.focus({preventScroll:!0}),Y(ne(o))},_r=async(e,t,{active:n,pointer:o,direction:s})=>{const r=ee(o.x,o.y,0,0),i=Un(e,null,n,s,r);if(!i||!Te(e,t,i))return;const a=at(e,i,r,t);if(i.placeholder()==="indicator")return Ht(e,i,a)??o;if(ke(e,i,a,null),await v.nextTick(),e.session.value===t)return Ie(e,t,!1)??o},zr=async(e,t,n,o)=>{const s=t.list;if(Bn(e,t),await v.nextTick(),e.session.value===t)return t.list!==s&&Ie(e,t,!0),Ht(e,n,at(e,n,o,t))},Au=async(e,t,n,{active:o,pointer:s,direction:r})=>{const i=n.strategy(),a=i==="vertical"?r.y:r.x,l=X(n),c=e.indicator.value;if(Fe(e,t,n)){const d=c?.list===n.id&&c.side==="swap"?c.index:l.indexOf(t.slot),h=d<0?null:e.items.get(l[d])?.();let p=null;if(i==="grid"&&r.y&&h?.isConnected){const m=Ce(e,n).filter(y=>y.index!==d);p=dr(m,ne(h),r.y>0?1:-1)}else a&&d>=0&&(p=d+a);if(p!==null&&p>=0&&p<l.length)return Xo(e,n,l[p])}else if(a){const d=n.id===t.list?l.indexOf(t.slot):-1,h=c?.list===n.id?c:null;let p=(h?h.index:Math.max(d,0))+a;for(;d>=0&&(p===d||p===d+1);)p+=a;if(p>=0&&p<=l.length)return Ht(e,n,p)}const u=Un(e,n,o,r);if(!u||!Te(e,t,u))return;const f=ee(s.x,s.y,0,0);if(Fe(e,t,u)){const d=X(u),h=d[Math.min(at(e,u,f,t),d.length-1)];return h===void 0?void 0:Xo(e,u,h)}return u.placeholder()==="indicator"?zr(e,t,u,f):(Be(e,null),ke(e,u,at(e,u,f,t),null),await v.nextTick(),e.session.value===t?Ie(e,t,!0):void 0)},Zt=(e,t,n,o,s)=>{const r=$s(e.manager,n,o,s,i=>e.lists.has(i));if(r)return t.away=r.id,Ir(e,t,null),r.point},Ou=async(e,t)=>{const{active:n,pointer:o,direction:s}=t,{lists:r,items:i}=e,a=e.session.value;if(!a||a.activeKey!==n.id)return;const l=e.indicator.value,c=l?r.get(l.list):a.list==null?void 0:r.get(a.list);if(!c)return a.mode.enterByKey?.(e,a,t);if(c.layout.nested)return;const u=()=>{const E=i.get(a.slot)?.()??i.get(a.activeKey)?.();return E?.isConnected?Y(ne(E)):o};if(a.away!=null){const E=a.away;if(a.away=null,e.manager.over.value?.id===E){const C=u(),D=I=>(I.x-o.x)*s.x+(I.y-o.y)*s.y,O=Zt(e,a,n,o,s);return O&&!(D(C)>0&&D(C)<D(O))?O:(a.away=null,a.apart&&Tr(e,a),C)}}if(c.placeholder()==="indicator"){const E=()=>l?o:u();return await Au(e,a,c,t)??Zt(e,a,n,o,s)??E()}const f=c.strategy(),d=ct(c,a),h=d.indexOf(a.slot),p=i.get(a.slot)?.();if(h===-1||!p?.isConnected)return u();const m=ne(p),y=a.stop;a.stop=null,y&&e.manager.scheduleFrame();const w=!!y&&s.x===y.direction.x&&s.y===y.direction.y;if(y&&!w&&s.x===-y.direction.x&&s.y===-y.direction.y)return u();let b=c,k=null,g=!1;if(f==="grid"&&s.y){const E=Ce(e,c).filter(C=>C.index!==h);k=dr(E,m,s.y>0?1:-1),g=k===null}else{const E=f==="vertical"?s.y:s.x;if(E){const C=h+E;C>=0&&C<d.length?k=C:g=!0}else g=!0}if(g){const E=Un(e,c,n,s);if(E?.placeholder()==="indicator")return(Te(e,a,E)?await zr(e,a,E,m):void 0)??u();E&&(b=E,k=at(e,E,m,a))}if(k!==null&&(b===c&&!c.canSort()?k=null:b!==c&&b.id===a.origin.list&&!b.canSort()&&(ut(e,null),k=null)),k===null){const E=Zt(e,a,n,Y(m),s);if(E)return E}if(k!==null&&Fe(e,a,b)){const E=b===c?d:X(b),C=E[Math.min(k,E.length-1)];if(C===void 0||C===a.slot)return u();const D=C===a.swap?null:C;return D!=null&&!$n(e,a,b,D)?u():(Hn(e,D,null),await v.nextTick(),e.session.value!==a?void 0:Ie(e,a,b!==c||Mt())??u())}const x=k!==null&&b===c&&!w?d[k]:void 0,S=x===void 0?null:_c(e,x,c,n);if(S)return a.stop={key:x,direction:s},S;if(k!==null&&Te(e,a,b)&&ke(e,b,k,null),await v.nextTick(),e.session.value===a)return Ie(e,a,b!==c||Mt())??u()},Yn=(e,t,n)=>{if(!t.copies.has(n)){const o=G(e,t.sources.get(n)?.list??null)?.clone?.(pe(e,n));t.copies.set(n,o?o.key:null),o&&t.items.set(o.key,o.item)}return t.copies.get(n)??null},jr=(e,t)=>{const n=G(e,t.origin.list);return n?.clone?n.pull()==="clone"||e.copyHeld():!1},Wr=e=>({lead:e.lead,keys:e.keys,copying:e.mode===Vt}),Br=(e,t)=>{const n=[...e.getKeys()];return e.layout.prepareDraft(n,Wr(t))},Cu=(e,t)=>{const n=jr(e,t)?Yn(e,t,t.lead):null;if(n==null)return!1;t.mode=Vt,t.slot=n,t.list=null,t.block=Nn(e,t,void 0);for(const o of e.lists.values())o.draft.value=Br(o,t);return!0},Tu=(e,t)=>{const n=e.session.value,o=t?Yn(e,n,n.lead):n.lead;if(o==null)return;const s=G(e,n.list);let r=null;if(s){const a=X(s),l=a.slice(0,Math.max(a.indexOf(n.block[0]),0)).reverse().filter(c=>c!==n.lead&&!n.others.has(c));r={list:s,after:l}}n.mode=t?Vt:Fr,n.slot=o,n.swap=null,n.hysteresis=null,n.apart=!1,n.block=Nn(e,n,r?.list??(t?void 0:G(e,n.origin.list)));const i=new Set(n.block);for(const a of e.lists.values()){let l;t?l=Br(a,n):r?(l=kc(n,a,i),l=a.layout.prepareDraft(l,Wr(n))):l=n.base.get(a.id)??[...a.getKeys()],a.draft.value=l}if(r){const a=[...X(r.list)],l=new Set(a),c=r.after.find(f=>l.has(f)),u=c===void 0?0:a.indexOf(c)+1;a.splice(u,0,...n.block),r.list.draft.value=a,n.list=r.list.id}else n.list=t?null:n.origin.list;Re(e),Se(e)},Iu=(e,t)=>{const n=jr(e,t);n!==(t.mode===Vt)&&Tu(e,n)},Vt={name:"copy",moves:!1,dragMode:()=>"copy",partition:Kn,over:Vn,inserted:(e,t,n)=>n.map(o=>Yn(e,t,o)).filter(o=>o!=null),placed:(e,t)=>e.copies.get(t)??t,original:(e,t)=>{for(const[n,o]of e.copies)if(o===t)return n;return t},enterByKey:async(e,t,n)=>await _r(e,t,n)??n.pointer},Lt=(e,t,n)=>{const{external:o}=n;return o?.group?o.group===e.name&&!!(t.create||t.keyOf):o?!!t.create&&Ws(t.external?.(),o):!!t.create},Hr=(e,t,n)=>Lt(e,t,n)?t.create?t.create(n)??[]:n.items.map(({item:o})=>({key:t.keyOf(o),item:o})):[],Jo=(e,t,n)=>{if(!n.created.has(t.id)){const o=e.manager.active.value,s=o?Hr(e,t,o):[];n.created.set(t.id,s[0]?.key??null);for(const{key:r,item:i}of s)n.items.set(r,i);n.extra.set(t.id,s.slice(1).map(({key:r})=>r))}return n.created.get(t.id)??null},Ru=(e,t,n,o)=>{const s=Hr(e,t,o);if(!s.length)return;const[r,...i]=s;for(const{key:l,item:c}of s)n.items.set(l,c);const a=n.slot;r.key!==a&&(t.draft.value?.includes(a)&&(t.draft.value=t.draft.value.map(l=>l===a?r.key:l)),n.created.set(t.id,r.key),n.slot=r.key),n.extra.set(t.id,i.map(({key:l})=>l))},Lu=(e,t)=>{const{activeKey:n}=t,o=new Map;for(const s of e.lists.values()){const r=[...s.getKeys()];s.draft.value=s.layout.prepareDraft(r,{lead:n,keys:[n],copying:!1}),o.set(s.id,s.draft.value)}return{...t,lead:n,keys:[n],origin:{list:null,index:-1},slot:n,list:null,others:new Set,stacked:!1,grouped:!1,block:[n],base:o,mode:Vr}},Vr={name:"insert",moves:!1,dragMode:(e,t)=>t.list!=null||e.indicator.value!=null?"insert":"move",partition:(e,t,n)=>{const o={accepted:n.keys,rejected:[]},s={accepted:[],rejected:n.keys},r=Jo(e,t,n);if(r==null)return s;const i=[r,...n.extra.get(t.id)??[]],a={keys:n.keys,items:i.map(l=>pe(e,l)),types:e.manager.active.value?.type??[],from:null,to:t.id};return t.canPut(a)?o:s},inert:(e,t)=>{const n=t.manager.active.value;return!n||!Lt(t,e,n)},enter:(e,t,n)=>{const o=Jo(e,n,t);return o==null?!1:(t.slot!==o&&(t.list!=null&&Rt(e),t.slot=o),!0)},over:Vn,leave:(e,t)=>{t.list!=null&&Rt(e)},inserted:(e,t,n)=>{if(!n.length)return[];const o=t.list??t.marker?.list??e.indicator.value?.list??null;return[t.slot,...o!=null&&t.extra.get(o)||[]]},placed:e=>e.slot,enterByKey:_r},Pu=(e,t)=>{const{lists:n,session:o}=e,s=t.active.id,r=!t.active.external&&!!be(e,s,!1);if(!r&&![...n.values()].some(u=>Lt(e,u,t.active)))return;const i=mc(e),a=new Map,l=new Map;for(const u of i)u.getKeys().forEach((f,d)=>{a.set(f,u.getItem(f)),l.set(f,{list:u.id,index:d})});const c={activeKey:s,lock:null,items:a,size:{width:t.active.rect.width,height:t.active.rect.height},result:null,sources:l,copies:new Map,created:new Map,extra:new Map,swap:null,indicator:null,marker:null,hysteresis:null,target:null,removed:!1,prevented:!1,stop:null,away:null,apart:!1};if(r){const{origin:u,...f}=wc(e,t,i,l,a),d={...c,...f,origin:{list:u.list,index:u.index},slot:f.lead,list:u.list,mode:Fr};if(o.value=d,e.columnList=null,zc(e,d),!Cu(e,d)){bc(e,d,t);for(const h of n.values())h.draft.value=f.base.get(h.id)}}else{if(!i.some(u=>Lt(e,u,t.active))||e.manager.getDraggable(s)?.getItem)return;e.spokenSpot=null,e.columnList=null,o.value=Lu(e,c)}Re(e),Se(e)},Dt=(e,t)=>{Be(e,null),Nr(t).leave?.(e,t)},Zo=(e,t,n)=>{Dt(e,t),Ir(e,t,n.pointer)},Ur=(e,t)=>![...e.lists.values()].some(n=>{const o=n.getElement();return!!o&&(o.contains(t)||t.contains(o))}),Ve=(e,t,n)=>{G(e,t.list)?.layout.afterMove(n)},Qo=(e,t,n)=>{if(t.block.length<2||e.followed++>t.block.length)return;const o=v.nextTick(()=>{e.following===o&&(e.following=null),e.session.value===t&&e.manager.status.value!=="idle"&&e.manager.pointer.value===n.pointer&&Yr(e,n)});e.following=o},Ku=async e=>{for(;e.following;)await e.following},Yr=(e,t)=>{const{lists:n}=e,o=e.session.value;if(!o||o.activeKey!==t.active.id)return;if(t.pointer!==e.movedAt&&(e.movedAt=t.pointer,e.followed=0),t.active.sensor==="keyboard"&&(o.origin.list!=null||o.list!=null||e.indicator.value)){const a=o.list==null?void 0:n.get(o.list);if(!a?.layout.nested||a.placeholder()==="indicator"||e.indicator.value)return Ve(e,o,t)}Iu(e,o),o.hysteresis=Uc(o.hysteresis,t.pointer);const s=t.over;if(!s)return o.target&&Me(t.pointer,o.target.at)<jn?Ve(e,o,t):(o.target=null,Dt(e,o));if(!s.accepted)return o.target=null,Zo(e,o,t);const r=n.get(s.id);if(!r||r.isDisabled())return o.target=null,!r&&Ur(e,s.element)?Zo(e,o,t):Dt(e,o);if(o.apart)return Tr(e,o),Qo(e,o,t);const i=r.id!==o.list&&Yc(o.hysteresis,r.id);if(i&&!r.layout.nested)return Ve(e,o,t);if(i||(o.target={list:r.id,at:t.pointer}),!i&&!Te(e,o,r))return Dt(e,o);if(r.placeholder()==="indicator")return fu(e,r,t),Ve(e,o,t);Be(e,null),o.mode.over(e,o,r,t,i)&&Qo(e,o,t),Ve(e,o,t)},$u=e=>!!e&&typeof e.then=="function",Nu=(e,t,n)=>{const o=e.indexOf(t),s=o===-1?[...e]:e.filter(i=>i!==t),r=o!==-1&&o<n?n-1:n;return s.splice(Math.max(0,Math.min(r,s.length)),0,t),s},Xr=(e,t,n,o,s)=>{const r=c=>pe(e,c),i=new Map;for(const[c,u]of n)i.set(c,c.build(u,r,c.id===s.to.list?o:[]));const a=e.manager.active.value?.external,l={...s,...a&&{external:a},result:new Map([...i].map(([c,u])=>[c.id,u])),preventDefault:()=>{t.prevented=!0},get defaultPrevented(){return t.prevented}};return{next:n,built:i,inserted:o,event:l}},Gr=(e,t,n)=>{const{lists:o}=e,s=e.session.value,r=s.slot,i=new Map;for(const k of o.values())i.set(k,X(k));let a=G(e,s.list);if(n?.side==="swap"){const k=G(e,s.origin.list),g=o.get(n.list);if(k&&g&&n.key!=null){const x=[...i.get(k)],S=g===k?x:[...i.get(g)],E=x.indexOf(s.activeKey),C=S.indexOf(n.key);x[E]=n.key,S[C]=s.activeKey,i.set(k,x),i.set(g,S),s.swap=n.key,a=g}}else if(n){const k=o.get(n.list);k&&(a&&a!==k&&i.set(a,i.get(a).filter(g=>g!==r)),i.set(k,Nu(i.get(k),r,n.index)),a=k)}if(!a)return null;const l=t??new Set(Pn(e,a,s).accepted),c=s.keys.filter(k=>l.has(k)),u=s.keys.filter(k=>!l.has(k)),f=Nr(s),d=f.moves,h=f.inserted(e,s,c),p=new Set(s.block);if(d)for(const k of s.keys)p.add(k);p.delete(r);const m=d?u.map(k=>({key:k,source:s.sources.get(k)})).sort((k,g)=>k.source.index-g.source.index):[],y=new Set(c),w=new Map;for(const[k,g]of i){let x=g.filter(S=>!p.has(S));x=k===a?x.flatMap(S=>S===r?h:[S]):x.filter(S=>S!==r);for(const{key:S,source:E}of m)E.list===k.id&&ir(x,k,S,E.index,y);k.layout.hasChanges(x,k===a?h:[],k.getKeys())&&w.set(k,x)}if(!w.size)return null;const b=w.get(a)??a.getKeys();return Xr(e,s,w,h,{keys:s.keys,items:s.keys.map(k=>pe(e,f.placed(s,k))),accepted:c,rejected:u,from:{...s.origin},to:{list:a.id,index:h.length?b.indexOf(h[0]):-1},sameList:s.origin.list===a.id,mode:f.name,...f.facts?.(e,s)})},qr=(e,t)=>{const n=e.session.value;if(!n.mode.moves||n.origin.list==null)return null;const o=new Set(t),s=new Set(t.map(i=>n.sources.get(i)?.list)),r=new Map;for(const i of e.lists.values()){if(!s.has(i.id))continue;const a=i.getKeys(),l=a.filter(c=>!o.has(c));i.layout.hasChanges(l,[],a)&&r.set(i,l)}return r.size?Xr(e,n,r,[],{keys:n.keys,items:n.keys.map(i=>pe(e,i)),accepted:n.keys.filter(i=>o.has(i)),rejected:n.keys.filter(i=>!o.has(i)),from:{...n.origin},to:{list:n.origin.list,index:-1},sameList:!0,mode:"move"}):null},Fu=(e,t)=>{const n=[...t.next.keys()].filter(s=>s.isReadonly());if(n.length){process.env.NODE_ENV!=="production"&&console.warn(`[vue-dnd-kit] A drop wasn't written: \`items\` is read-only (a getter, a readonly ref or a computed) in ${n.map(s=>`"${String(s.id)}"`).join(", ")}. Call \`event.preventDefault()\` in onBeforeDrop or onDrop and apply \`event.result\` yourself.`);return}const o=s=>pe(e,s);for(const[s,r]of t.next)s.commit(t.built.get(s),r,o,s.id===t.event.to.list?t.inserted:[])},Jr=e=>{const t=e.session.value;if(t){xc(e,t);for(const n of e.lists.values())n.draft.value=null,n.layout.reset();e.session.value=null,Be(e,null),Se(e)}},_u=(e,t)=>!t.over&&!yr(e.target,t.pointer),es=(e,t)=>{const n=sn(e);return xt(n)||Array.isArray(n)?n:t??n},zu=e=>{const t=e.session.value;t&&(t.marker?.side==="swap"&&(t.swap=null),t.result=null,t.marker=null,t.removed=!1)},ts=(e,t,n)=>{if(e.session.value!==t||n.over&&!n.over.accepted)return;const o=e.manager.getDroppedOutside();if(o&&o!=="move")return;const s=!o&&_u(t,n),r=o?"remove":s?G(e,t.list??t.origin.list)?.dropOutside():void 0;if(r==="cancel")return!1;let i;if(r==="remove")t.removed=!0,i=qr(e,t.keys);else{if(t.marker=e.indicator.value??(s?t.indicator:null),n.active.external?.ready&&t.mode===Vr){const c=G(e,t.list)??(t.marker?e.lists.get(t.marker.list):void 0);c&&Ru(e,c,t,n.active)}i=Gr(e,null,t.marker)}if(t.result=i,!i)return;const a=i.event.rejected.length?i.event.accepted:void 0,l=e.lists.get(i.event.to.list)?.beforeDrop?.(i.event);return $u(l)?l.then(c=>es(c,a)):es(l,a)},ju=(e,t)=>{const n=e.session.value;if(!(!n||n.activeKey!==t.active.id||Wt(e,t)))return e.following?Ku(e).then(()=>ts(e,n,t)):ts(e,n,t)},Wu=(e,t)=>{const n=e.session.value;if(!n||n.activeKey!==t.active.id)return;let o=null;const s=new Set(t.accepted),r=n.result,i=!!r&&jt(r.event.accepted,n.keys.filter(a=>s.has(a)));if(n.removed?o=i?r:qr(e,t.accepted):!Wt(e,t)&&!e.manager.getDroppedOutside()&&(o=i?r:Gr(e,s,n.marker)),o){try{e.lists.get(o.event.to.list)?.afterDrop?.(o.event)}catch(a){console.error(a)}n.prevented||Fu(e,o)}n.result=o,tu(e,n,o),e.announced={key:n.activeKey,...jc(e,n,t,o)},Jr(e)},Bu=(e,t)=>{const n=e.session.value;n&&n.activeKey===t.active.id&&(eu(e,n),n.origin.list!=null&&(e.announced={key:n.activeKey,...Wc(e,n)})),Jr(e)},Qt=(e,t)=>e===void 0||Number.isNaN(e)?t:Math.min(Math.max(Math.trunc(e),0),t),Hu=async(e,t,n)=>{const o=e.session.value;if(!o||o.activeKey!==t.id)return;const s=G(e,o.list),r=n.list==null?s??G(e,o.origin.list):e.lists.get(n.list);if(!r||r.layout.nested||r.isDisabled()||!Bt(e,r,t))return;const i=async()=>(await v.nextTick(),e.session.value===o);if(r.placeholder()==="indicator"){if(!Te(e,o,r))return;const a=o.list;if(Bn(e,o),!await i())return;o.list!==a&&Ie(e,o,!0);const l=X(r),c=r.id===o.list?l.indexOf(o.slot):-1;let u=Qt(n.index,c>=0?l.length-1:l.length);return c>=0&&u>c&&u++,Ht(e,r,u)}if(Be(e,null),r===s){if(!r.canSort())return;ke(e,r,Qt(n.index,ct(r,o).length-1),null)}else if(r.id===o.origin.list&&!r.canSort())ut(e,null);else{if(!Te(e,o,r))return;ke(e,r,Qt(n.index,X(r).length),null)}if(await i())return Ie(e,o,r!==s||Mt())??e.manager.pointer.value??Y(t.rect)},ns=new WeakMap;function Vu(e,t,n){const o=pc(e,t);Mn()?.group(o);const{lists:s,items:r,session:i}=o,a=v.effectScope(!0);a.run(()=>{au(o),o.copyHeld=Su(e)});const l=e.addMonitor({onDragStart:m=>Pu(o,m),onDragMove:m=>Yr(o,m),onBeforeDrop:m=>ju(o,m),onDragEnd:m=>Wu(o,m),onDragCancel:m=>Bu(o,m),onDragResume:()=>zu(o),getKeyboardCoordinates:(m,y)=>Ou(o,y),placeAt:(m,y)=>Hu(o,m,y)},!0),c=e.addAnnouncer(Bc(o)),u=e.addTargetRule(Fc(o)),f=a.run(()=>v.computed(Qc(o))),d=a.run(()=>v.computed(()=>{const m=e.over.value;return!!i.value&&!!m?.accepted&&!s.has(m.id)&&!Ur(o,m.element)})),h=e.addDestinationResolver(()=>f.value),p=e.addSourceResolver(m=>{const y=i.value;if(!(!y||y.activeKey!==m.id||y.origin.list==null))return{list:y.origin.list,remove:()=>{y.removed=!0}}});return{name:t,manager:e,session:i,indicator:o.indicator,into:d,addList(m){return s.set(m.id,m),()=>{s.get(m.id)===m&&(s.delete(m.id),!s.size&&(l(),c(),u(),h(),p(),a.stop(),n()))}},animateChanges:m=>xu(o,m),registerItem(m,y){return r.set(m,y),o.fresh?.add(m),()=>{r.get(m)===y&&r.delete(m)}},showIndicator:m=>it(o,m),lookup:m=>pe(o,m),keysOf:X,viewOf:m=>i.value?ct(m,i.value):X(m),indexOf:(m,y)=>hc(o,m,y),accepts:(m,y)=>Bt(o,m,y),isInert:m=>gc(o,m),leadOffset:()=>kr(o,i.value),captureLayout:()=>lu(o)}}function Zr(e,t){let n=ns.get(e);n||(n=new Map,ns.set(e,n));const o=n.get(t);if(o)return o;const s=Vu(e,t,()=>n.delete(t));return n.set(t,s),s}const Uu=new Map,os=()=>{},Yu={nested:!1,carried:()=>Uu,prepareDraft:e=>e,project:({pointer:e},{keys:t,items:n,activeKey:o,activeIndex:s,strategy:r,lock:i,targets:a})=>zn({strategy:r,pointer:e,items:n,activeKey:o,activeIndex:s,length:t.length,lock:i,targets:a}),indicate:({pointer:e},{keys:t,strategy:n,items:o,activeKey:s,targets:r})=>cr({strategy:n,pointer:e,items:o,activeKey:s,length:t.length,targets:r}),indicateAt:(e,t)=>t<e.length?{index:t,key:e[t],side:"before"}:{index:t,key:e[e.length-1]??null,side:"after"},afterMove:os,hasChanges:(e,t,n)=>!jt(e,n),reset:os},Qr=Symbol("vue-dnd-kit-sortable"),ss=new WeakMap,Xu=(e,t)=>{const{contexts:n}=e;if(n.length===1||!t)return n[0];let o,s=null;for(const r of n){const i=r.list.getElement();i?.contains(t)&&(!s||s.contains(i))&&(o=r,s=i)}return o??n[0]},ei=e=>e!==null&&typeof e=="object"&&"id"in e?e.id:e,ti=(e,t,n,o,s,r,i,a)=>{const l={group:e,list:t,getKey:n,getOverlay:()=>v.unref(o),getDropAnimation:()=>v.unref(s),getModifiers:r,getAxis:i,getActivation:a},c=v.getCurrentInstance(),u=c&&ss.get(c);if(u){u.contexts.push(l);return}const f={contexts:[l]};c&&ss.set(c,f),v.provide(Qr,f)},Gu=(e,t,n,o,s,r)=>{const i=new Set(t),a=new Set(n);for(const f of o)a.delete(f);const l=[],c=new Map;let u=null;for(const f of e){const d=s(f);if(i.has(d))a.has(d)&&(u=d);else if(u===null)l.push(f);else{let h=c.get(u);h||c.set(u,h=[]),h.push(f)}}return[...l,...n.flatMap(f=>[r(f),...c.get(f)??[]])]};let rs=!1;const ni=(e,t)=>{const n=e?.pull??!0;return n==="clone"&&!t?(process.env.NODE_ENV!=="production"&&!rs&&console.warn("[vue-dnd-kit] group.pull: 'clone' needs a `clone` option; items stay in the list."),rs=!0,!1):n},oi=(e,t)=>{process.env.NODE_ENV!=="production"&&R(e.external)&&!e.createItem&&console.warn(`[vue-dnd-kit] A sortable ${t} with \`external\` needs \`createItem\` to make items of what comes from outside the page; without one it takes nothing.`)};function qu(e,t){const n=se(),o=t.id??$t("sortable"),s=typeof t.group=="string"?{name:t.group}:t.group,r=Zr(n,s?.name??`sortable:${o}`);oi(t,"list");const i=t.getKey??ei,a=()=>R(t.items),l=v.computed(()=>t.filter?a().filter(t.filter):a()),c=v.computed(()=>l.value.map(i)),u=v.computed(()=>{const g=new Map;for(const x of a())g.set(i(x),x);return g}),f=v.shallowRef(null),d={id:o,draft:f,getElement:()=>ie(e),getKeys:()=>c.value,getItem:g=>u.value.get(g),layout:Yu,options:t,strategy:()=>R(t.strategy)??"vertical",placeholder:()=>R(t.placeholder)??"item",animation:()=>v.unref(t.animation)??n.props.animation,animate:()=>R(t.animateChanges)??n.props.animateChanges,animateSize:()=>R(t.animateSize)??!0,isDisabled:()=>!!R(t.disabled),canSort:()=>R(t.sort)!==!1,pull:()=>ni(s,!!t.clone),canPut:g=>sr(s?.put,g,n),dropOutside:()=>R(t.dropOutside)??(R(t.placeholder)==="indicator"?"cancel":"placeholder"),behavior:()=>R(t.behavior)??"sort",multiple:()=>R(t.multiple)??"group",acceptMode:()=>R(t.acceptMode)??"all",clone:t.clone?g=>{const x=t.clone(g);return{key:i(x),item:x}}:void 0,create:t.createItem?g=>{const x=t.createItem(g);return x===void 0?void 0:(Array.isArray(x)?x:[x]).map(S=>({key:i(S),item:S}))}:void 0,external:()=>R(t.external),keyOf:g=>i(g),isReadonly:()=>!v.isRef(t.items)||v.isReadonly(t.items),build:(g,x,S)=>t.filter?Gu(a(),c.value,g,S,i,x):g.map(x),commit:g=>{t.items.value=g},beforeDrop:t.onBeforeDrop,afterDrop:t.onDrop};v.onScopeDispose(r.addList(d)),r.animateChanges(d),v.onScopeDispose(n.registerAutoScroll(d.getElement,()=>R(t.autoScroll)));const h=Tn(()=>ie(t.dropzone)??ie(e),{id:o,label:t.label,data:t.data,disabled:()=>!!R(t.disabled)||r.isInert(d),overOverlay:t.overOverlay,overDropAnimation:t.overDropAnimation,external:t.external},{accepts:g=>r.accepts(d,g),getGroup:()=>r.name});ti(r,d,i,t.overlay,t.dropAnimation,()=>R(t.modifiers),()=>R(t.axis),()=>R(t.activation));let p=null;const m=v.computed(()=>{const g=f.value;if(!g)return p=null,l.value;const x=r.session.value,S=C=>r.lookup(C);let E;if(p?.session===x){const{start:C,end:D,nextEnd:O}=or(p.order,g),I=p.items;E=I.slice(0,C).concat(g.slice(C,O).map(S),I.slice(D))}else E=g.map(S);return p={order:g,items:E,session:x},E}),y=v.computed(()=>{const g=r.session.value;if(!g)return null;const x=n.landingKey.value;return x!=null&&r.indexOf(d,x)!==-1?x:g.activeKey}),w=v.computed(()=>{const g=y.value;return g==null?-1:r.indexOf(d,g)}),b=v.computed(()=>r.session.value?.size??null),k=v.computed(()=>{const g=r.indicator.value;return g?.list===o?g:null});return{id:o,items:m,isOver:h.isOver,isAccepting:h.isAccepting,indicator:k,activeKey:y,activeIndex:w,activeSize:b,captureLayout:r.captureLayout}}function Ju(e,t){const n=v.inject(Qr,null);if(!n)throw new Error("[vue-dnd-kit] makeSortableItem() must be used inside a component rendered by a list that called makeSortableList().");if(t.id==null&&t.item==null)throw new Error("[vue-dnd-kit] makeSortableItem() needs `id` or `item`. Sortable keys must come from your data: an automatic id would change when the component is recreated (moved to another list, recycled by a virtual list), and the drag would lose the item.");const o=()=>ie(e),s=v.computed(()=>Xu(n,o())),r=()=>s.value.group,i=()=>s.value.list,a=r().manager,l=v.computed(()=>t.id!=null?R(t.id):s.value.getKey(R(t.item))),c=nr(e,{id:l,handle:t.handle,disabled:()=>!!R(t.disabled)||i().isDisabled(),type:()=>R(t.type)??r().name,data:t.data,label:t.label,activation:()=>R(t.activation)??s.value.getActivation?.(),canDrag:t.canDrag,attributes:t.attributes,overlay:t.overlay,dropAnimation:t.dropAnimation,modifiers:()=>R(t.modifiers)??s.value.getModifiers?.(),axis:()=>R(t.axis)??s.value.getAxis?.(),native:t.native},{getItem:()=>r().lookup(l.value),getGroup:()=>r().name,getContainer:()=>i().getElement(),getOverlay:()=>s.value.getOverlay(),getDropAnimation:()=>s.value.getDropAnimation(),roleDescription:"sortable"});let u=r().registerItem(l.value,o);v.watch([l,r],([p,m])=>{u(),u=m.registerItem(p,o)}),v.onScopeDispose(()=>u());const f=v.computed(()=>{if(a.isLanding(l.value))return!0;const p=a.active.value;return p?(a.landingKey.value??(a.mode.value==="copy"?null:p.id))===l.value||a.landings.value.has(l.value):!1}),d=v.computed(()=>!c.isDragging.value||f.value?!1:!(a.active.value?.ids.includes(l.value)?a.mode.value==="copy":a.flightOf(l.value)?.mode==="copy"));v.watchEffect(()=>{const p=o();p&&(f.value?p.setAttribute("data-dnd-placeholder",r().into.value?"into":""):p.removeAttribute("data-dnd-placeholder"),p.toggleAttribute("data-dnd-dragging",d.value))},{flush:"post"});const h=v.computed(()=>{const p=r().indicator.value;return p&&p.list===i().id&&p.key===l.value?p:null});return{isDragging:c.isDragging,isPlaceholder:f,selected:c.selected,indicator:h,index:v.computed(()=>r().indexOf(i(),l.value))}}function Zu(e,t,n,o){const s=[],r=[{siblings:e,index:0,depth:0,parentKey:null}];for(;r.length;){const i=r[r.length-1];if(i.index>=i.siblings.length){r.pop();continue}const a=i.index++,l=i.siblings[a],c=t(l),u=n(l),f=!!o?.has(c);s.push({key:c,item:l,depth:i.depth,parentKey:i.parentKey,index:a,hasChildren:!!u?.length,collapsed:f}),u?.length&&!f&&r.push({siblings:u,index:0,depth:i.depth+1,parentKey:c})}return s}function Qu(e){return{nodes:e,byKey:new Map(e.map(t=>[t.key,t]))}}function ed(e,t){const n=e[t].depth;let o=t+1;for(;o<e.length&&e[o].depth>n;)o++;return o}const td=(e,t)=>e.reduce((n,o)=>Math.max(n,nd(o,t)),0);function nd(e,t){let n=0;const o=[{node:e,level:0}];for(;o.length;){const{node:s,level:r}=o.pop();r>n&&(n=r);for(const i of t(s)??[])o.push({node:i,level:r+1})}return n}const od=(e,t,n,o,s)=>(r,i)=>{if(o!=null&&r+t>o)return!1;const a=i==null||!s?void 0:n.get(i);return!a||e.every(l=>s(l,a.item))},Pt=({keys:e,rows:t},n)=>{const o=e[n];return o===void 0?void 0:t.get(o)};function si(e){const t=Pt(e,e.index-1),n=Pt(e,e.inserted?e.index:e.index+1),o=t?t.depth+1:0;return{min:Math.min(n?n.depth:0,o),max:o}}const ri=e=>{const t=[];let n=1/0;for(let o=e.index-1;o>=0&&n>0;o--){const s=Pt(e,o);!s||s.depth>=n||(t[s.depth]=s.key,n=s.depth)}return t};function sd(e,t){return t<=0?null:ri(e)[t-1]??null}const ii=(e,t,n)=>e+Math.round(t/n);function _e(e,t,n){const{min:o,max:s}=si(e),r=ri(e);for(let i=Math.max(o,Math.min(t,s));i>=o;i--){const a=i===0?null:r[i-1]??null;if(!n||n(i,a))return{depth:i,parentKey:a}}return null}function rd(e,t,n,o,s,r){const i=n===-1?e:e.filter(c=>c!==t),a=c=>!!_e({keys:i,index:c,rows:s,inserted:!0},1/0,r);if(n===-1)return a(o)?o:null;const l=o<n?1:-1;for(let c=o;c!==n;c+=l)if(a(c))return c;return null}function ai(e,t,n){for(let o=e.index-1;o>=0;o--){const s=Pt(e,o);if(!s||s.depth>t.depth)continue;if(s.depth<t.depth)return 0;let r=0;for(const i of n)i.parentKey===t.parentKey&&i.index<s.index&&r++;return s.index+1-r}return 0}function $e(e,t,n,o){if(!n.size)return{keys:e,index:t,rows:o,inserted:!0};const s=[];let r=0;return e.forEach((i,a)=>{n.has(i)||(a<t&&r++,s.push(i))}),{keys:s,index:r,rows:o,inserted:!0}}function id(e,t,n,o){const s=[...e];return n!==-1&&s.splice(n,1),s.splice(Math.max(0,Math.min(o,s.length)),0,t),s}const ad=24,ld=new Set,Kt=e=>R(e.options.items),Xn=e=>R(e.options.indentation)??ad,Xe=e=>R(e.options.nesting)??"both",ue=e=>R(e.options.placeholder)==="indicator",Q=e=>e.flat.value.byKey,Gn=(e,t)=>e.group.session.value?.slot??t.lead,lt=e=>e.group.session.value?.mode.name==="copy",et=(e,t)=>lt(e)?ld:t.moving,cd=(e,t)=>lt(e)?t.origins:t.moving,ud=(e,t)=>lt(e)?[]:[...t.origins.values()],dd=e=>{const t=e.group.session.value;if(e.incoming?.slot!==t.slot){const o=t.keys.map(s=>t.mode.placed(t,s)).map(s=>e.group.lookup(s)).filter(s=>s!==void 0);e.incoming={slot:t.slot,items:o,height:td(o,e.accessors.getChildren)}}return e.incoming},ze=e=>{const{items:t,height:n}=dd(e);return od(t,n,Q(e),R(e.options.maxDepth),e.options.canNest)},is=(e,t)=>{const n=Q(e).get(t);return!!n&&ze(e)(n.depth+1,t)},qn=e=>{const t=e.group.session.value;return t&&t.list===e.id?t.block:[]},Jn=(e,t)=>{const n=Gn(e,t),o=e.draft.value?e.group.indexOf(e.entry,n):-1;return o===-1?-1:o-Math.max(qn(e).indexOf(n),0)},Zn=(e,t,n,o)=>{e.spot={position:n,projection:o};const s={...o,index:ai(n,o,ud(e,t))},r=e.placement.value;(!r||r.depth!==s.depth||r.parentKey!==s.parentKey||r.index!==s.index)&&(e.placement.value=s)},gn=e=>{e.spot=null,e.placement.value=null},li=(e,t,n,o,s)=>{const r={keys:n,index:o,rows:Q(e)};Zn(e,t,r,_e(r,s,ze(e))??_e(r,s))};function fd(e,t,{getKey:n,getChildren:o}){const s=[{siblings:e,parent:null}];for(;s.length;){const{siblings:r,parent:i}=s.pop();for(let a=0;a<r.length;a++){const l=r[a];if(n(l)===t)return{node:l,parent:i,index:a};const c=o(l);c?.length&&s.push({siblings:c,parent:l})}}return null}function pd(e,t,{getKey:n,getChildren:o}){const s=new Set(t),r=new Map,i=[{siblings:e,parent:null}];for(;i.length&&r.size<s.size;){const{siblings:a,parent:l}=i.pop();for(let c=0;c<a.length;c++){const u=a[c],f=n(u);if(s.has(f)&&!r.has(f)&&(r.set(f,{node:u,parent:l,index:c}),r.size===s.size))return r;const d=o(u);d?.length&&i.push({siblings:d,parent:u})}}return r}function ci(e,t,n){const o=t.to?.parentKey??null,s=pd(e,o==null?t.keys:[...t.keys,o],n),r=t.keys.map(f=>s.get(f)??null),i=t.keys.map((f,d)=>r[d]?.node??t.node?.(f)).filter(f=>f!==void 0);if(!i.length)return null;let a=null;if(t.to&&t.to.parentKey!=null&&(a=s.get(t.to.parentKey)?.node??null,a===null||fd(i,t.to.parentKey,n)))return null;const l=new Map,c=f=>l.get(f)??(f===null?e:n.getChildren(f)??[]),u=new Set(i);for(const f of new Set(r.flatMap(d=>d?[d.parent]:[])))l.set(f,c(f).filter(d=>!u.has(d)));if(t.to){const f=[...c(a)];f.splice(Math.max(0,Math.min(t.to.index,f.length)),0,...i),l.set(a,f)}return l}function hd(e,t,n){const o=ci(e,t,n);if(!o)return[...e];for(const[s,r]of o)s!==null&&n.setChildren(s,r);return o.get(null)??[...e]}function md(e,t,n){const{getChildren:o,withChildren:s}=n,r=ci(e,t,n);if(!r)return[...e];const i=new Map,a=[{siblings:e,parent:null}];for(;a.length;){const{siblings:h,parent:p}=a.pop();for(const m of h){i.set(m,p);const y=o(m);y?.length&&a.push({siblings:y,parent:m})}}const l=new Set;for(const h of r.keys())for(let p=h;p!==null&&!l.has(p);p=i.get(p)??null)l.add(p);const c=h=>r.get(h)??o(h)??[],u=new Map,f=r.get(null)??[...e],d=f.filter(h=>l.has(h)).map(h=>({node:h,open:!1}));for(;d.length;){const h=d[d.length-1],p=c(h.node);if(!h.open){h.open=!0;for(const m of p)l.has(m)&&d.push({node:m,open:!1});continue}d.pop(),u.set(h.node,s(h.node,p.map(m=>u.get(m)??m)))}return f.map(h=>u.get(h)??h)}const ui=(e,t)=>{const{group:n,entry:o}=e;if(ue(e)){if(!e.spot&&t.origin){const r=$e(n.keysOf(o),n.indexOf(o,t.lead),et(e,t),Q(e));Zn(e,t,r,{depth:t.startDepth,parentKey:t.origin.parentKey})}return e.spot}const s=Jn(e,t);return s===-1?null:(li(e,t,n.viewOf(o),s,e.placement.value?.depth??t.startDepth),e.spot)},di=(e,t,n,o)=>{const s=new Set(n),r=o.filter(c=>s.has(c)),i=[...t.origins.keys()].filter(c=>r.includes(c)||!s.has(c)),a=r.length?ui(e,t):null,l=a&&{...a.projection,index:ai(a.position,a.projection,i.map(c=>t.origins.get(c)))};return{landing:r,removed:i,to:l}},gd=(e,t,n)=>{const o=e.state,{landing:s,removed:r,to:i}=di(e,o,t,n);return!i&&r.length>0||s.some((a,l)=>{const c=o.origins.get(a);return!c||c.parentKey!==i.parentKey||c.index!==i.index+l})},fi=(e,t,n,o,s)=>{const{landing:r,removed:i,to:a}=di(e,t,n,s);e.dropInfo={from:t.origin,to:a};const l={keys:a?r:i,node:c=>o(c),to:a&&{parentKey:a.parentKey,index:a.index}};return e.prepared={next:n,move:l},l},vd=(e,t,n,o)=>{const s=e.state;return s?md(Kt(e),fi(e,s,t,n,o),{...e.accessors,withChildren:e.withChildren}):[...Kt(e)]},yd=(e,t,n,o)=>{const s=e.state;if(!s)return;const r=e.prepared?.next===t?e.prepared.move:fi(e,s,t,n,o);e.options.items.value=hd(Kt(e),r,e.accessors)},pi=(e,t)=>{const n=e;return n.from.parentKey=t?.from?.parentKey??null,t?.from&&(n.from.index=t.from.index),n.to.parentKey=t?.to?.parentKey??null,t?.to&&(n.to.index=t.to.index),n},wd=e=>e.state?{from:e.state.origin,to:ui(e,e.state)&&e.placement.value}:null,bd=(e,t)=>e.options.onBeforeDrop?.(pi(t,e.dropInfo??wd(e))),xd=(e,t)=>{const n=e.dropInfo;e.dropInfo=null,e.options.onDrop?.(pi(t,n))},kd=(e,t)=>{const n=new Set(t),o=new Map;for(const s of t){let r;for(let i=Q(e).get(s)?.parentKey;i!=null;i=Q(e).get(i)?.parentKey)n.has(i)&&(r=i);r!==void 0&&o.set(s,r)}return o},Sd=(e,t,n,o)=>{const{nodes:s,byKey:r}=e.flat.value,i=r.get(t),a=new Map,l=new Map;for(const u of n){const f=r.get(u);if(!f||(a.set(u,{parentKey:f.parentKey,index:f.index}),l.set(u,u),!f.hasChildren||f.collapsed))continue;const d=s.indexOf(f);for(let h=d+1,p=ed(s,d);h<p;h++)l.has(s[h].key)||l.set(s[h].key,u)}const c=i?.depth??0;e.dropInfo=null,e.spot=null,e.incoming=null,e.state={lead:t,origin:i?{parentKey:i.parentKey,index:i.index}:null,origins:a,moving:l,startDepth:c,base:{depth:c,x:null,key:null},followRows:!i,nest:null,hoverDepth:c,pending:null},e.placement.value=i&&n.length===1&&!o&&!ue(e)?{depth:c,parentKey:i.parentKey,index:i.index}:null},as=(e,t,n,o)=>{const s=n==null?void 0:Q(e).get(n);t.followRows&&s&&s.key!==t.base.key&&(t.base={depth:s.depth,x:o.x,key:s.key})},vn=(e,t,n)=>{const o=t.base;return o.x??=n.pointer.x-n.delta.x,ii(o.depth,n.pointer.x-o.x,Xn(e))},Dd=(e,t,n)=>{const o=t[n+1]??t[n-1];return(o===void 0?void 0:Q(e).get(o)?.depth)??0},Ed=(e,t)=>{const n=e.state;if(!n||!e.draft.value||ue(e))return;const o=Jn(e,n);if(o===-1)return;const s=e.group.viewOf(e.entry);let r;if(t.active.sensor==="keyboard")if(n.pending)r=n.pending.depth,n.pending=null;else{if(e.placement.value)return;r=n.origin?n.startDepth:Dd(e,s,o)}else{const i=n.nest?Q(e).get(n.nest.key):void 0;Xe(e)==="hover"?r=i?i.depth+1:n.hoverDepth:i?r=ii(i.depth+1,t.pointer.x-n.nest.x,Xn(e)):r=vn(e,n,t)}li(e,n,s,o,r)},Et=(e,t,n,o,s)=>{const r=_e(n,o,ze(e));return r?(Zn(e,t,n,r),{...s,...r}):(gn(e),null)},yn=(e,{keys:t,index:n})=>{const o=n>=t.length,s=t[o?t.length-1:n]??null;return{index:s==null?0:e.group.indexOf(e.entry,s)+ +o,key:s,side:o?"after":"before"}},Md=e=>({nested:!0,carried:t=>kd(e,t),prepareDraft:(t,{lead:n,keys:o,copying:s})=>{e.state?.lead!==n&&Sd(e,n,o,s);const r=e.state;return s||ue(e)||r.moving.size===r.origins.size?t:t.filter(i=>r.moving.get(i)===void 0||r.origins.has(i))},project:(t,n)=>{const o={index:null,lock:n.lock,key:null},s=e.state;if(!s)return o;if(t.active.sensor==="keyboard"){const l=s.pending;return l&&l.index!==n.activeIndex?{...o,index:l.index}:o}const r=Kc({pointer:t.pointer,items:n.items,activeKey:n.activeKey,activeIndex:n.activeIndex,length:n.keys.length,canNestInto:Xe(e)==="offset"?void 0:l=>is(e,l),still:lt(e)?s.origins:void 0}),i=r.hit?Q(e).get(r.hit.key):void 0;if(r.nest!=null?s.nest={key:r.nest,x:t.pointer.x}:i&&(s.nest=null,s.hoverDepth=i.depth),n.activeIndex===-1&&(s.followRows=!0),as(e,s,i?.key,t.pointer),r.index==null)return o;const a=r.nest!=null?r.index:rd(n.keys,n.activeKey,n.activeIndex,r.index,Q(e),ze(e));return a==null?o:(n.activeIndex===-1&&!i&&(s.base={depth:0,x:t.pointer.x,key:null},s.hoverDepth=0),{...o,index:a})},indicate:(t,{items:n})=>{const o=e.state;if(!o)return;const s=e.group.keysOf(e.entry),r=!lt(e)&&Xe(e)!=="hover"?n.find(c=>c.key===o.lead):void 0;if(r&&t.pointer.y>=r.rect.top&&t.pointer.y<=r.rect.bottom){const c=$e(s,r.index,et(e,o),Q(e)),u=_e(c,vn(e,o,t),ze(e))?.depth;return u==null||u===o.startDepth?(gn(e),null):Et(e,o,c,u,yn(e,c))}const i=$c({pointer:t.pointer,items:n,activeKey:Gn(e,o),length:s.length,moving:cd(e,o),canNestInto:Xe(e)==="offset"?void 0:c=>is(e,c)});if(!i)return i===null&&gn(e),i;const a=i.key==null?void 0:Q(e).get(i.key);let l;return i.side==="inside"?l=a.depth+1:Xe(e)==="hover"?l=a?.depth??0:(as(e,o,a?.key,t.pointer),l=vn(e,o,t)),Et(e,o,$e(s,i.index,et(e,o),Q(e)),l,i)},indicateAt:(t,n)=>{const o=e.state,s=$e(e.group.keysOf(e.entry),n,et(e,o),Q(e)),r=Q(e).get(s.keys[s.index]??s.keys[s.index-1]);return Et(e,o,s,r?.depth??0,yn(e,s))},afterMove:t=>Ed(e,t),placement:()=>e.placement.value,hasChanges:(t,n)=>gd(e,t,n),reset:()=>{e.state=null,e.spot=null,e.incoming=null,e.prepared=null,e.placement.value=null}}),Ad=(e,t,n,o,s,r,i,a)=>{const l=m=>{const y=m==null?null:e.manager.getDraggable(m)?.getElement();return y?.isConnected?ne(y):null},c=l(Gn(e,t)),u=s.index===o?null:l(n[s.index]);if(!c||s.index!==o&&!u)return{x:i,y:r.y};const f=qn(e),d=l(f[0])??c,h=l(f[f.length-1])??c;let p=c.top;return u&&s.index>o?p=u.bottom-(h.bottom-c.top):u&&(p=u.top+(c.top-d.top)),{x:i,y:p+c.height/2-a.y}},Od=(e,{active:t,pointer:n,direction:o})=>{const{group:s,entry:r}=e,i=e.state,a=s.session.value;if(!i||!a||!e.draft.value||t.id!==a.activeKey)return;const l=a.slot,c=s.keysOf(r),u=s.indexOf(r,l),f=Jn(e,i),d=s.viewOf(r);let h=O=>({keys:O===f?d:id(d,l,f,O),index:O,rows:Q(e)}),p=i.pending??{index:f,depth:e.placement.value?.depth??i.startDepth},m=d.length-1,y=-1;if(ue(e)){const O=s.indicator.value,I=O?.list===e.id?O:null;if(!I&&(O||u===-1))return;const K=et(e,i),L=$e(c,I?I.index:u,K,Q(e));h=A=>({...L,index:A}),p={index:L.index,depth:I?I.depth:i.startDepth},m=L.keys.length,u!==-1&&a.mode.name!=="copy"&&a.keys.length<2&&(y=$e(c,u,K,Q(e)).index)}else if(f===-1)return;const w=ze(e);let b=null;if(o.y){const O=o.y>0?1:-1;for(let I=p.index+O;I>=0&&I<=m;I+=O){const K=h(I),L=_e(K,p.depth,w);if(L&&(I!==y||L.depth!==i.startDepth)){b={position:K,projection:L};break}}}else if(o.x){const O=h(p.index),I=p.depth+(o.x>0?1:-1),{min:K,max:L}=si(O),A=sd(O,I);I>=K&&I<=L&&w(I,A)&&(b={position:O,projection:{depth:I,parentKey:A}})}if(!b)return n;const{position:k,projection:g}=b,x=n.x+(g.depth-p.depth)*Xn(e),S=s.leadOffset();if(!ue(e))return i.pending={index:k.index,depth:g.depth},Ad(e,i,d,f,i.pending,n,x,S);const E=Et(e,i,k,g.depth,yn(e,k));s.showIndicator({list:e.id,...E});const C=(E.key==null?null:e.manager.getDraggable(E.key)?.getElement())??r.getElement();if(!C?.isConnected)return n;We(C);const D=ne(C);return{x,y:D.top+D.height/2-S.y}},Cd=e=>e!==null&&typeof e=="object"?e.children:void 0,Td=(e,t)=>{e.children=t};function Id(e,t){const n=se(),o=t.id??$t("tree"),s=typeof t.group=="string"?{name:t.group}:t.group,r=Zr(n,s?.name??`sortable:${o}`);oi(t,"tree");const i={getKey:t.getKey??ei,getChildren:t.getChildren??Cd,setChildren:t.setChildren??Td},a={id:o,manager:n,group:r,options:t,accessors:i,withChildren:t.withChildren??((S,E)=>{const C={...S};return i.setChildren(C,E),C}),flat:v.computed(()=>Qu(Zu(Kt(a),i.getKey,i.getChildren,R(t.collapsed)))),draft:v.shallowRef(null),placement:v.shallowRef(null),state:null,spot:null,dropInfo:null,incoming:null,prepared:null,entry:null},{flat:l,draft:c,placement:u}=a,f=v.computed(()=>l.value.nodes.map(S=>S.key)),d={id:o,draft:c,getElement:()=>ie(e),getKeys:()=>f.value,getItem:S=>Q(a).get(S)?.item,layout:Md(a),options:t,strategy:()=>"vertical",placeholder:()=>R(t.placeholder)??"item",animation:()=>v.unref(t.animation)??n.props.animation,animate:()=>R(t.animateChanges)??n.props.animateChanges,animateSize:()=>R(t.animateSize)??!0,isDisabled:()=>!!R(t.disabled),canSort:()=>!0,pull:()=>ni(s,!!t.clone),canPut:S=>sr(s?.put,S,n),dropOutside:()=>R(t.dropOutside)??(ue(a)?"cancel":"placeholder"),multiple:()=>"group",acceptMode:()=>R(t.acceptMode)??"all",clone:t.clone?S=>{const E=t.clone(S);return{key:i.getKey(E),item:E}}:void 0,create:t.createItem?S=>{const E=t.createItem(S);return E===void 0?void 0:[{key:i.getKey(E),item:E}]}:void 0,external:()=>R(t.external),keyOf:S=>i.getKey(S),isReadonly:()=>!v.isRef(t.items)||v.isReadonly(t.items),build:(S,E,C)=>vd(a,S,E,C),commit:(S,E,C,D)=>yd(a,E,C,D),beforeDrop:S=>bd(a,S),afterDrop:S=>xd(a,S)};a.entry=d,v.onScopeDispose(r.addList(d)),r.animateChanges(d),v.onScopeDispose(n.addMonitor({getKeyboardCoordinates:(S,E)=>Od(a,E)}));const h=Tn(()=>ie(t.dropzone)??ie(e),{id:o,label:t.label,data:t.data,disabled:()=>!!R(t.disabled)||r.isInert(d),overOverlay:t.overOverlay,overDropAnimation:t.overDropAnimation,external:t.external},{accepts:S=>r.accepts(d,S),getGroup:()=>r.name});v.onScopeDispose(n.registerAutoScroll(d.getElement,()=>R(t.autoScroll))),ti(r,d,i.getKey,t.overlay,t.dropAnimation,()=>R(t.modifiers),()=>R(t.axis),()=>R(t.activation));const p=v.computed(()=>{const S=r.session.value;if(!S)return null;const E=n.landingKey.value??S.lead;return r.indexOf(d,E)!==-1?E:S.activeKey}),m=v.computed(()=>{const S=r.session.value;return!!S&&c.value!=null&&r.indexOf(d,S.slot)!==-1}),y=v.computed(()=>{const S=r.indicator.value;return S?.list===o?S:null}),w=S=>{const E=r.lookup(S),C=E===void 0?void 0:i.getChildren(E);return{key:S,item:E,depth:0,parentKey:null,index:0,hasChildren:!!C?.length,collapsed:!1}},b=v.computed(()=>{const S=c.value,{nodes:E,byKey:C}=l.value;if(!S)return E;const D=a.state;let O=S;ue(a)&&D&&(O=S.filter(L=>{const A=D.moving.get(L);return A===void 0||A===L||r.indexOf(d,A)!==-1}));const I=ue(a)?null:u.value,K=new Map((I?qn(a):[]).map((L,A)=>[L,A]));return O.map(L=>{const A=C.get(L)??w(L),T=K.get(L);return T===void 0?A:{...A,...I,index:I.index+T}})}),k=v.computed(()=>{const S=p.value;return S==null?-1:b.value.findIndex(E=>E.key===S)}),g=v.computed(()=>r.session.value?.size??null),x=v.computed(()=>{const S=u.value;return S&&(ue(a)?y.value:m.value)?{depth:S.depth,parentKey:S.parentKey}:null});return{id:o,items:b,projected:x,indicator:y,isOver:h.isOver,isAccepting:h.isAccepting,activeKey:p,activeIndex:k,activeSize:g,captureLayout:r.captureLayout}}const ls=e=>{const t=e.getBoundingClientRect();return{left:t.left+e.clientLeft,top:t.top+e.clientTop,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop,width:e.scrollWidth,height:e.scrollHeight}},cs=(e,t)=>({x:e.x-t.left+t.scrollLeft,y:e.y-t.top+t.scrollTop}),Rd=(e,t)=>ge(e,t.left-t.scrollLeft,t.top-t.scrollTop),yt=(e,t)=>Math.min(Math.max(e,0),t),Ld=(e,t,n)=>{const o=yt(Math.min(e.x,t.x),n.width),s=yt(Math.min(e.y,t.y),n.height),r=yt(Math.max(e.x,t.x),n.width),i=yt(Math.max(e.y,t.y),n.height);return ee(o,s,r-o,i-s)},Pd=(e,t,n)=>{const o=new Set(t);for(const[s,r]of n)(e==="select"?r:t.has(s)!==r)?o.add(s):o.delete(s);return o},us={Shift:"shiftKey",Control:"ctrlKey",Alt:"altKey",Meta:"metaKey"},Kd=(e,t,n)=>{const o=us[e];if(o)return t[o];const s=/^(Shift|Control|Alt|Meta)(Left|Right)$/.exec(e);return s?t[us[s[1]]]&&n.has(e):n.has(e)},$d=(e,t)=>e?.keys.length?e.method==="some"?e.keys.some(t):e.keys.every(t):!0,ds=new WeakMap,Nd=e=>{let t=ds.get(e);return t||ds.set(e,t=new Set),t},fs=(e,t)=>{for(let n=e;n;n=J(n))if(t.has(n))return n;return null},Fd=(e,t)=>{for(let n=J(e);n;n=J(n))if(n===t)return!0;return!1},_d=(e,t)=>{const n=e.getBoundingClientRect(),o=t.clientX-n.left-e.clientLeft,s=t.clientY-n.top-e.clientTop;return o>e.clientWidth||s>e.clientHeight},zd=()=>{const e=t=>{t.preventDefault(),t.stopPropagation()};window.addEventListener("click",e,{capture:!0,once:!0}),setTimeout(()=>window.removeEventListener("click",e,{capture:!0}),0)},jd=(e,t)=>{for(const n of[...e])t.has(n)||e.delete(n);for(const n of t)e.has(n)||e.add(n)},Wd=3;function Bd(e,t={}){const n=se(),o=Nd(n),s=()=>ie(e),r=v.shallowRef(!1),i=v.shallowRef(null),a=new Set;let l=null;const c=()=>n.selection,u=D=>jd(n.selection,D),f=(D,O,I,K)=>{if(D==null||D==="*")return!0;const L={id:O.id,data:void 0,type:O.getTypes()};typeof D=="function"&&(L.data=O.getData(),L.item=O.getItem?.());const A={id:O.id,ids:[O.id],items:[L],data:L.data,type:L.type,element:I,rect:K,sensor:"pointer"};return Zs(D,{active:A,items:[L],types:L.type})},d=()=>{const D=l;if(!D)return;D.frame=0;const O=D.element,I=ls(O),K=Ld(D.anchor,cs(D.pointer,I),I),L=Rd(K,I);for(const A of n.getDraggables()){const T=A.getElement();if(!T?.isConnected||T===O||fs(J(T),o)!==O||A.isDisabled())continue;const $=ne(T);!$.width&&!$.height||f(D.accept,A,T,$)&&D.hits.set(A.id,Nt(L,$))}i.value=K,u(Pd(D.strategy,D.base,D.hits))},h=()=>{l&&!l.frame&&(l.frame=requestAnimationFrame(d))},p=D=>{const O=l;if(O&&(O.frame&&cancelAnimationFrame(O.frame),O.frame=0,D?d():u(O.base),l=null,O.stops.forEach(I=>I()),document.body.hasPointerCapture?.(O.pointerId)&&document.body.releasePointerCapture(O.pointerId),r.value=!1,i.value=null,n.status.value==="selecting"&&(n.status.value=n.restStatus()),!!D)){O.moved&&zd();try{t.onSelected?.([...c()])}catch(I){console.error(I)}}},m=()=>p(!1),y=D=>{const O=l;if(!O||D.pointerId!==O.pointerId)return;O.pointer={x:D.clientX,y:D.clientY};const{x:I,y:K}=O.origin;if(!O.moved&&Math.hypot(O.pointer.x-I,O.pointer.y-K)>Wd){O.moved=!0;try{document.body.setPointerCapture(O.pointerId)}catch{}}h()},w=D=>{!l||D.pointerId!==l.pointerId||(l.pointer={x:D.clientX,y:D.clientY},p(!0))},b=D=>{l&&D.pointerId===l.pointerId&&m()},k=D=>{const O=n.props.keyboard||void 0;kt(O?.keys?.cancel??["Escape"],D)&&(D.preventDefault(),m())},g=D=>D.preventDefault(),x=(D,O)=>{const I={x:O.clientX,y:O.clientY},K={element:D,pointerId:O.pointerId,anchor:cs(I,ls(D)),origin:I,pointer:I,strategy:R(t.strategy)??"toggle",accept:v.unref(t.accept),base:new Set(c()),hits:new Map,moved:!1,frame:0,stops:[]};l=K,n.status.value="selecting",r.value=!0,document.getSelection()?.removeAllRanges(),K.stops.push(N.useEventListener(document,"pointermove",y),N.useEventListener(document,"pointerup",w),N.useEventListener(document,"pointercancel",b),N.useEventListener(document,"scroll",h,{capture:!0,passive:!0}),N.useEventListener(window,"resize",h,{passive:!0}),N.useEventListener(document,"keydown",k,{capture:!0}),N.useEventListener(document,"selectstart",g),N.useEventListener(document,"dragstart",g)),d()},S=D=>{const O=s();if(!O||l||!n.isAtRest()||!D.isPrimary||D.button!==0||R(t.disabled))return;const I=D.composedPath()[0];if(!(I instanceof Element)||fs(I,o)!==O)return;const K=n.findDraggable(I);K&&Fd(K.element,O)||ps(I,O)||I===O&&_d(O,D)||$d(R(t.modifier),L=>Kd(L,D,a))&&x(O,D)};N.useEventListener(s,"pointerdown",S),"modifier"in t&&(N.useEventListener(N.defaultWindow,"keydown",D=>{a.add(D.key),a.add(D.code)}),N.useEventListener(N.defaultWindow,"keyup",D=>{a.delete(D.key),a.delete(D.code)}),N.useEventListener(N.defaultWindow,"blur",()=>a.clear()));let E=null;v.watch(s,D=>{E&&o.delete(E),E=D,D&&o.add(D),l&&l.element!==D&&m()},{immediate:!0,flush:"post"}),v.watch(()=>!!R(t.disabled),D=>D&&m()),n.selectionAborts.add(m),v.onScopeDispose(()=>{m(),n.selectionAborts.delete(m),E&&o.delete(E),E=null});const C=v.computed(()=>{const D=i.value;return D?{position:"absolute",left:`${D.left}px`,top:`${D.top}px`,width:`${D.width}px`,height:`${D.height}px`,boxSizing:"border-box",pointerEvents:"none"}:{display:"none"}});return{isSelecting:v.computed(()=>r.value),style:C}}const Hd=e=>{for(let t=e;t&&!Je(t);t=J(t)){const n=An(t);if(n.x||n.y)return t}return null};function Vd(e,t={}){const n=se(),o=()=>ie(e),s={getElement:o,isDisabled:()=>!!R(t.disabled),getActivation:()=>R(t.activation),getModifiers:()=>R(t.modifiers),getAxis:()=>R(t.axis),restricts:()=>!!R(t.restrictToArea)};let r=null;const i=()=>{r&&n.unbindArea(r,s),r=null};v.watch(o,u=>{i(),u&&(n.bindArea(u,s),r=u)},{immediate:!0,flush:"post"}),v.onScopeDispose(i),v.onScopeDispose(n.registerAutoScroll(o,()=>R(t.autoScroll)));const a=v.shallowRef(!1);v.onScopeDispose(n.addMonitor({onDragStart:({active:u})=>{a.value=n.findArea(u.element)===s}}));const l=v.computed(()=>a.value&&!!n.active.value),c=v.computed(()=>{const u=n.autoScrollers.value,f=o();if(!u.length||!f)return!1;const d=Hd(f);return!!d&&u.includes(d)});return{isDragging:l,isAutoScrolling:c}}exports.DnDProvider=tc;exports.DragPreview=nt;exports.closestCenter=la;exports.closestCorners=ca;exports.defineSensor=On;exports.keyboardSensor=Hs;exports.makeDragArea=Vd;exports.makeDraggable=uc;exports.makeDroppable=dc;exports.makeSelectionArea=Bd;exports.makeSortableItem=Ju;exports.makeSortableList=qu;exports.makeSortableTree=Id;exports.pointerFirst=As;exports.pointerSensor=Bs;exports.pointerWithin=Es;exports.provideDnDContext=Pa;exports.rectIntersection=Ms;exports.restrictToElement=Ys;exports.restrictToFirstScrollableAncestor=Fl;exports.restrictToHorizontalAxis=Us;exports.restrictToParent=$l;exports.restrictToVerticalAxis=Vs;exports.restrictToWindowEdges=Kl;exports.snapCenterToCursor=Wl;exports.snapToGrid=zl;exports.useDnD=$a;exports.useDnDContext=La;exports.useDnDMonitor=Na;exports.useSensor=fl;
12
+ //# sourceMappingURL=index.cjs.map