@vue-dnd-kit/core 0.0.35-beta → 0.0.37-beta

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.
@@ -1771,6 +1771,7 @@ export declare const useDnDStore: () => {
1771
1771
  onDrop?: ((store: import('../types').IDnDStore) => void) | undefined;
1772
1772
  };
1773
1773
  }[]>;
1774
+ visibleElements: import('vue').ComputedRef<number[]>;
1774
1775
  hovered: {
1775
1776
  zone: import('vue').Ref<{
1776
1777
  node: Element | HTMLElement | null;
@@ -1,45 +1,4 @@
1
1
  import { IUseDragOptions } from "../types";
2
- /**
3
- * Main hook for making elements draggable.
4
- * Provides all necessary functionality for drag and drop operations.
5
- *
6
- * @param options - Configuration options for draggable element
7
- * @param options.groups - Groups that element belongs to (for drop zone filtering)
8
- * @param options.events - Event handlers for drag lifecycle
9
- * @param options.data - Custom data to be passed to event handlers
10
- * @param options.layer - Custom component to render while dragging
11
- * @param options.container - Parent container component reference
12
- *
13
- * @returns Object containing:
14
- * - elementRef: Reference to be bound to draggable element
15
- * - isDragging: Whether element is currently being dragged
16
- * - isOvered: Whether element is being hovered by dragged element
17
- * - isAllowed: Whether element can interact with current drop zone based on group matching
18
- * - pointerPosition: Current pointer coordinates
19
- * - handleDragStart: Function to initiate drag operation
20
- *
21
- * @example
22
- * ```vue
23
- * <template>
24
- * <div
25
- * ref="elementRef"
26
- * :class="{ 'dragging': isDragging }"
27
- * @pointerdown="handleDragStart"
28
- * >
29
- * Drag me!
30
- * </div>
31
- * </template>
32
- *
33
- * <script setup lang="ts">
34
- * const { elementRef, isDragging, handleDragStart } = useDraggable({
35
- * groups: ['items'],
36
- * events: {
37
- * onEnd: (store) => console.log('Drag ended!'),
38
- * }
39
- * });
40
- * </script>
41
- * ```
42
- */
43
2
  export declare const useDraggable: (options?: IUseDragOptions) => {
44
3
  pointerPosition: {
45
4
  current: import('vue').Ref<{
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue");function Q(t){return n.getCurrentScope()?(n.onScopeDispose(t),!0):!1}function ee(t){let e=!1,r;const c=n.effectScope(!0);return(...d)=>(e||(r=c.run(()=>t(...d)),e=!0),r)}const te=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ne=t=>t!=null,H=()=>{};function re(t){return Array.isArray(t)?t:[t]}function oe(t,e,r){const c=n.watch(t,(...d)=>(n.nextTick(()=>c()),e(...d)),r);return c}const J=te?window:void 0;function b(t){var e;const r=n.toValue(t);return(e=r==null?void 0:r.$el)!=null?e:r}function le(){const t=n.shallowRef(!1),e=n.getCurrentInstance();return e&&n.onMounted(()=>{t.value=!0},e),t}function se(t){const e=le();return n.computed(()=>(e.value,!!t()))}function ie(t,e,r={}){const{root:c,rootMargin:d="0px",threshold:o=0,window:i=J,immediate:v=!0}=r,g=se(()=>i&&"IntersectionObserver"in i),E=n.computed(()=>{const s=n.toValue(t);return re(s).map(b).filter(ne)});let l=H;const m=n.shallowRef(v),P=g.value?n.watch(()=>[E.value,b(c),m.value],([s,f])=>{if(l(),!m.value||!s.length)return;const h=new IntersectionObserver(e,{root:b(f),rootMargin:d,threshold:o});s.forEach(p=>p&&h.observe(p)),l=()=>{h.disconnect(),l=H}},{immediate:v,flush:"post"}):H,y=()=>{l(),P(),m.value=!1};return Q(y),{isSupported:g,isActive:m,pause(){l(),m.value=!1},resume(){m.value=!0},stop:y}}function ae(t,e={}){const{window:r=J,scrollTarget:c,threshold:d=0,rootMargin:o,once:i=!1}=e,v=n.shallowRef(!1),{stop:g}=ie(t,E=>{let l=v.value,m=0;for(const P of E)P.time>=m&&(m=P.time,l=P.isIntersecting);v.value=l,i&&oe(v,()=>{g()})},{root:c,window:r,threshold:d,rootMargin:n.toValue(o)});return v}const M=ee(()=>{const t=n.ref([]),e=n.computed(()=>t.value.length>0),r={component:n.ref(null),ref:n.ref(null)},c=n.ref([]),d=n.ref([]),o=n.ref([]),i={zone:n.ref(null),element:n.ref(null)},v={current:n.ref(null),start:n.ref(null),offset:{percent:n.ref(null),pixel:n.ref(null)}};return{isDragging:e,activeContainer:r,elements:c,draggingElements:t,selectedElements:d,zones:o,hovered:i,pointerPosition:v}}),ue=()=>{const t=n.ref(null),{draggingElements:e,pointerPosition:r,isDragging:c,activeContainer:d}=M();return n.onMounted(()=>{d.ref=t}),n.onBeforeUnmount(()=>{d.ref.value=null}),{elementRef:t,draggingElements:e,pointerPosition:r,isDragging:c}},ce=["innerHTML"],de=n.defineComponent({__name:"DefaultOverlay",setup(t){const{elementRef:e,pointerPosition:r,isDragging:c,draggingElements:d}=ue(),o=n.computed(()=>{var i,v,g,E;return{transform:`translate3d(${(((i=r.current.value)==null?void 0:i.x)??0)-(((v=r.offset.pixel.value)==null?void 0:v.x)??0)}px, ${(((g=r.current.value)==null?void 0:g.y)??0)-(((E=r.offset.pixel.value)==null?void 0:E.y)??0)}px, 0)`,zIndex:1e3,position:"fixed",top:0,left:0,transition:"0.3s cubic-bezier(0.165, 0.84, 0.44, 1)"}});return(i,v)=>n.unref(c)?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"elementRef",ref:e,style:n.normalizeStyle(o.value)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(d),(g,E)=>{var l,m;return n.openBlock(),n.createElementBlock("div",{key:E,innerHTML:g.initialHTML,style:n.normalizeStyle({width:`${(l=g.initialRect)==null?void 0:l.width}px`,height:`${(m=g.initialRect)==null?void 0:m.height}px`})},null,12,ce)}),128))],4)):n.createCommentVNode("",!0)}}),ve=n.defineComponent({__name:"DragOverlay",setup(t){const{activeContainer:e}=M(),r=n.computed(()=>e.component.value??de);return(c,d)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.value)))}}),fe="data-dnd-draggable",ge=t=>{const{elements:e,draggingElements:r,hovered:c,selectedElements:d,isDragging:o}=M(),i=n.ref(null),v=n.computed(()=>{var y;return((y=c.element.value)==null?void 0:y.node)===i.value}),g=ae(i),E=n.computed(()=>r.value.some(y=>y.node===i.value)),l=n.computed(()=>{if(!i.value||!o.value)return!1;const y=e.value.find(s=>s.node===i.value);return y!=null&&y.groups.length?!r.value.some(s=>s.groups.length?!s.groups.some(f=>y.groups.includes(f)):!1):!0});return{elementRef:i,registerElement:()=>{if(!i.value)throw new Error("ElementRef is not set");e.value.push({node:i.value,groups:(t==null?void 0:t.groups)??[],layer:(t==null?void 0:t.layer)??null,defaultLayer:(t==null?void 0:t.layer)??null,events:(t==null?void 0:t.events)??{},data:(t==null?void 0:t.data)??void 0,isVisible:g}),i.value.setAttribute(fe,"true")},unregisterElement:()=>{const y=e.value.findIndex(f=>f.node===i.value);y!==-1&&e.value.splice(y,1);const s=d.value.findIndex(f=>f.node===i.value);s!==-1&&d.value.splice(s,1)},isDragging:E,isOvered:v,isAllowed:l,isVisible:g}},me=()=>{let t="",e="",r="";const c=()=>{const i=document.body;t=i.style.userSelect,e=i.style.touchAction,r=i.style.overscrollBehavior,i.style.userSelect="none",i.style.touchAction="none",i.style.overscrollBehavior="none",window.addEventListener("contextmenu",o),window.addEventListener("selectstart",o),window.addEventListener("touchstart",o),window.addEventListener("touchmove",o)},d=()=>{const i=document.body;i.style.userSelect=t,i.style.touchAction=e,i.style.overscrollBehavior=r,window.removeEventListener("contextmenu",o),window.removeEventListener("selectstart",o),window.removeEventListener("touchstart",o),window.removeEventListener("touchmove",o)},o=i=>i.preventDefault();return{disableInteractions:c,enableInteractions:d}},N=(t,e)=>t.x<e.x+e.width&&t.x+t.width>e.x&&t.y<e.y+e.height&&t.y+t.height>e.y,k=t=>{if(!t)return{x:0,y:0,width:0,height:0,bottom:0,left:0,right:0,top:0};const e=t.getBoundingClientRect();return{bottom:e.bottom,left:e.left,right:e.right,top:e.top,x:e.x,y:e.y,width:e.width,height:e.height}},V=t=>({x:t.x+t.width/2,y:t.y+t.height/2}),he=(t,e)=>{const r=k(t);return{pixel:{x:e.x-r.x,y:e.y-r.y},percent:{x:(e.x-r.x)/r.width*100,y:(e.y-r.y)/r.height*100}}},j=(t,e)=>{const r=e.x-t.x,c=e.y-t.y;return Math.sqrt(r*r+c*c)},I=(t,e)=>t?e.contains(t):!1,pe=t=>{const e=M();return{onPointerStart:o=>{e.pointerPosition.start.value={x:o.clientX,y:o.clientY},e.pointerPosition.current.value={x:o.clientX,y:o.clientY};const{pixel:i,percent:v}=he(t.value,{x:o.clientX,y:o.clientY});e.pointerPosition.offset.pixel.value=i,e.pointerPosition.offset.percent.value=v},onPointerMove:o=>{e.pointerPosition.current.value={x:o.clientX,y:o.clientY}},onPointerEnd:()=>{e.pointerPosition.current.value=null,e.pointerPosition.start.value=null,e.pointerPosition.offset.pixel.value=null,e.pointerPosition.offset.percent.value=null}}},ye=t=>{const e=M(),{onPointerStart:r,onPointerMove:c,onPointerEnd:d}=pe(t);let o=null;const i=s=>{var p,w;const f=e.selectedElements.value.some(D=>D.node===s);if(e.selectedElements.value.length&&f)return e.selectedElements.value.map(D=>{var C,z;return{...D,initialHTML:((C=D.node)==null?void 0:C.outerHTML)??"",initialRect:(z=D.node)==null?void 0:z.getBoundingClientRect()}});e.selectedElements.value=[];const h=e.elements.value.find(D=>D.node===s);return h?[{...h,initialHTML:((p=h.node)==null?void 0:p.outerHTML)??"",initialRect:(w=h.node)==null?void 0:w.getBoundingClientRect()}]:[]},v=(s,f)=>{const h=Math.max(0,Math.min(s.x+s.width,f.x+f.width)-Math.max(s.x,f.x)),p=Math.max(0,Math.min(s.y+s.height,f.y+f.height)-Math.max(s.y,f.y)),w=h*p,D=s.width*s.height,C=f.width*f.height;return(w/D*100+w/C*100)/2},g=()=>{var A,U,Z,$,X,Y,F,W,q,G;const s=k(e.activeContainer.ref.value),f=V(s),h=((A=e.pointerPosition.current.value)==null?void 0:A.x)??0,p=((U=e.pointerPosition.current.value)==null?void 0:U.y)??0,D=!(s&&h>=s.x&&h<=s.x+s.width&&p>=s.y&&p<=s.y+s.height),C=e.draggingElements.value.map(a=>a.node),z=e.elements.value.filter(a=>{if(!a.isVisible||!a.isVisible.value||!a.node||C.some(x=>x&&I(a.node,x))||a.groups.length&&!!e.draggingElements.value.some(S=>S.groups.length?!S.groups.some(L=>a.groups.includes(L)):!1))return!1;const u=k(a.node);return u&&s&&N(u,s)}).map(a=>{const u=k(a.node),x=V(u),S=h>=u.x&&h<=u.x+u.width&&p>=u.y&&p<=u.y+u.height,L=v(u,s),R=j(f,x),B=e.elements.value.filter(_=>_!==a&&_.node&&a.node&&I(a.node,_.node)).length;return{element:a,isPointerInElement:S,overlapPercent:L,depth:B,centerDistance:R}}).sort((a,u)=>{if(!D){if(a.isPointerInElement&&u.isPointerInElement)return u.depth-a.depth;if(a.isPointerInElement!==u.isPointerInElement)return a.isPointerInElement?-1:1}return Math.abs(a.overlapPercent-u.overlapPercent)<=1?a.centerDistance-u.centerDistance:u.overlapPercent-a.overlapPercent}),K=e.zones.value.filter(a=>{if(!a.node||C.some(x=>x&&I(a.node,x))||a.groups.length&&!!e.draggingElements.value.some(S=>S.groups.length?!S.groups.some(L=>a.groups.includes(L)):!1))return!1;const u=k(a.node);return u&&s&&N(u,s)}).map(a=>{const u=k(a.node),x=V(u),S=h>=u.x&&h<=u.x+u.width&&p>=u.y&&p<=u.y+u.height,L=v(u,s),R=j(f,x),B=e.zones.value.filter(_=>_!==a&&_.node&&a.node&&I(a.node,_.node)).length;return{zone:a,isPointerInElement:S,overlapPercent:L,depth:B,centerDistance:R}}).sort((a,u)=>{if(!D){if(a.isPointerInElement&&u.isPointerInElement)return u.depth-a.depth;if(a.isPointerInElement!==u.isPointerInElement)return a.isPointerInElement?-1:1}return Math.abs(a.overlapPercent-u.overlapPercent)<=1?a.centerDistance-u.centerDistance:u.overlapPercent-a.overlapPercent}),O=e.hovered.element.value,T=e.hovered.zone.value;e.hovered.element.value=((Z=z[0])==null?void 0:Z.element)??null,e.hovered.zone.value=(($=K[0])==null?void 0:$.zone)??null,e.hovered.element.value!==O&&((X=O==null?void 0:O.events)!=null&&X.onLeave&&O.events.onLeave(e),(F=(Y=e.hovered.element.value)==null?void 0:Y.events)!=null&&F.onHover&&e.hovered.element.value.events.onHover(e)),e.hovered.zone.value!==T&&((W=T==null?void 0:T.events)!=null&&W.onLeave&&T.events.onLeave(e),(G=(q=e.hovered.zone.value)==null?void 0:q.events)!=null&&G.onHover&&e.hovered.zone.value.events.onHover(e)),o=requestAnimationFrame(g)},E=()=>{g()},l=()=>{o!==null&&(cancelAnimationFrame(o),o=null)};return{activate:s=>{e.draggingElements.value=i(t.value),r(s),E()},track:s=>{c(s)},deactivate:()=>{var s,f;d(),e.hovered.zone.value?(f=(s=e.hovered.zone.value.events).onDrop)==null||f.call(s,e):e.draggingElements.value.forEach(h=>{var p,w;return(w=(p=h.events).onEnd)==null?void 0:w.call(p,e)}),e.draggingElements.value=[],e.selectedElements.value=[],e.hovered.zone.value=null,e.hovered.element.value=null,l()}}},Ee=t=>{const{elementRef:e,registerElement:r,unregisterElement:c,isDragging:d,isOvered:o,isAllowed:i,isVisible:v}=ge(t),{disableInteractions:g,enableInteractions:E}=me(),l=M(),{activate:m,track:P,deactivate:y}=ye(e),s=w=>{t!=null&&t.container&&(l.activeContainer.component.value=n.markRaw(t.container)),g(),m(w),document.addEventListener("pointermove",f),document.addEventListener("pointerup",p),document.addEventListener("wheel",h)},f=w=>{P(w)},h=w=>{P(w)},p=()=>{l.activeContainer.component.value=null,E(),y(),document.removeEventListener("pointermove",f),document.removeEventListener("pointerup",p),document.removeEventListener("wheel",h)};return n.onMounted(r),n.onBeforeUnmount(c),{pointerPosition:l.pointerPosition,elementRef:e,isDragging:d,isOvered:o,isAllowed:i,handleDragStart:s,isVisible:v}},we=t=>{const{zones:e,hovered:r,draggingElements:c,isDragging:d}=M(),o=n.ref(null),i=n.computed(()=>{var l;return((l=r.zone.value)==null?void 0:l.node)===o.value}),v=n.computed(()=>{if(!o.value||!d.value)return!1;const l=e.value.find(m=>m.node===o.value);return l!=null&&l.groups.length?!c.value.some(m=>m.groups.length?!m.groups.some(P=>l.groups.includes(P)):!1):!0});return{elementRef:o,registerZone:()=>{if(!o.value)throw new Error("elementRef is not set");e.value.push({node:o.value,groups:(t==null?void 0:t.groups)??[],events:(t==null?void 0:t.events)??{},data:(t==null?void 0:t.data)??void 0}),o.value.setAttribute("data-dnd-droppable","true")},unregisterZone:()=>{if(!o.value)throw new Error("elementRef is not set");const l=e.value.findIndex(m=>m.node===o.value);l!==-1&&e.value.splice(l,1)},isOvered:i,isAllowed:v}},Pe=t=>{const{elementRef:e,registerZone:r,unregisterZone:c,isOvered:d,isAllowed:o}=we(t);return n.onMounted(r),n.onBeforeUnmount(c),{elementRef:e,isOvered:d,isAllowed:o}},De=t=>{const{selectedElements:e,elements:r}=M(),c=n.computed(()=>r.value.find(l=>l.node===t.value)),d=n.computed(()=>e.value.some(l=>l.node===t.value)),o=n.computed(()=>t.value?e.value.some(l=>l.node&&I(l.node,t.value)):!1),i=n.computed(()=>t.value?e.value.some(l=>l.node&&I(t.value,l.node)):!1),v=()=>{c.value&&(e.value=e.value.filter(l=>l.node!==t.value))},g=()=>{c.value&&(o.value&&(e.value=e.value.filter(l=>l.node&&!I(l.node,t.value))),i.value&&(e.value=e.value.filter(l=>l.node&&!I(t.value,l.node))),e.value.push(c.value))};return{handleUnselect:v,handleSelect:g,handleToggleSelect:()=>{c.value&&(e.value.some(l=>l.node===t.value)?v():g())},isSelected:d,isParentOfSelected:o}};exports.DragOverlay=ve;exports.getBoundingBox=k;exports.useDnDStore=M;exports.useDraggable=Ee;exports.useDroppable=Pe;exports.useSelection=De;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue");function ee(t){return n.getCurrentScope()?(n.onScopeDispose(t),!0):!1}function te(t){let e=!1,r;const i=n.effectScope(!0);return(...c)=>(e||(r=i.run(()=>t(...c)),e=!0),r)}const ne=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const re=t=>t!=null,z=()=>{};function oe(t,e){function r(...i){return new Promise((c,o)=>{Promise.resolve(t(()=>e.apply(this,i),{fn:e,thisArg:this,args:i})).then(c).catch(o)})}return r}function le(...t){let e=0,r,i=!0,c=z,o,s,v,f,h;!n.isRef(t[0])&&typeof t[0]=="object"?{delay:s,trailing:v=!0,leading:f=!0,rejectOnCancel:h=!1}=t[0]:[s,v=!0,f=!0,h=!1]=t;const l=()=>{r&&(clearTimeout(r),r=void 0,c(),c=z)};return P=>{const p=n.toValue(s),E=Date.now()-e,a=()=>o=P();return l(),p<=0?(e=Date.now(),a()):(E>p&&(f||!i)?(e=Date.now(),a()):v&&(o=new Promise((m,y)=>{c=h?y:m,r=setTimeout(()=>{e=Date.now(),i=!0,m(a()),l()},Math.max(0,p-E))})),!f&&!r&&(r=setTimeout(()=>i=!0,p)),i=!1,o)}}function se(t){return Array.isArray(t)?t:[t]}function ie(t,e=200,r=!1,i=!0,c=!1){return oe(le(e,r,i,c),t)}function ae(t,e,r){const i=n.watch(t,(...c)=>(n.nextTick(()=>i()),e(...c)),r);return i}const K=ne?window:void 0;function V(t){var e;const r=n.toValue(t);return(e=r==null?void 0:r.$el)!=null?e:r}function ue(){const t=n.shallowRef(!1),e=n.getCurrentInstance();return e&&n.onMounted(()=>{t.value=!0},e),t}function ce(t){const e=ue();return n.computed(()=>(e.value,!!t()))}function de(t,e,r={}){const{root:i,rootMargin:c="0px",threshold:o=0,window:s=K,immediate:v=!0}=r,f=ce(()=>s&&"IntersectionObserver"in s),h=n.computed(()=>{const E=n.toValue(t);return se(E).map(V).filter(re)});let l=z;const g=n.shallowRef(v),P=f.value?n.watch(()=>[h.value,V(i),g.value],([E,a])=>{if(l(),!g.value||!E.length)return;const m=new IntersectionObserver(e,{root:V(a),rootMargin:c,threshold:o});E.forEach(y=>y&&m.observe(y)),l=()=>{m.disconnect(),l=z}},{immediate:v,flush:"post"}):z,p=()=>{l(),P(),g.value=!1};return ee(p),{isSupported:f,isActive:g,pause(){l(),g.value=!1},resume(){g.value=!0},stop:p}}function ve(t,e={}){const{window:r=K,scrollTarget:i,threshold:c=0,rootMargin:o,once:s=!1}=e,v=n.shallowRef(!1),{stop:f}=de(t,h=>{let l=v.value,g=0;for(const P of h)P.time>=g&&(g=P.time,l=P.isIntersecting);v.value=l,s&&ae(v,()=>{f()})},{root:i,window:r,threshold:c,rootMargin:n.toValue(o)});return v}const I=te(()=>{const t=n.ref([]),e=n.computed(()=>t.value.length>0),r={component:n.ref(null),ref:n.ref(null)},i=n.ref([]),c=n.computed(()=>i.value.reduce((h,l,g)=>{var P;return(P=l.isVisible)!=null&&P.value&&h.push(g),h},[])),o=n.ref([]),s=n.ref([]),v={zone:n.ref(null),element:n.ref(null)},f={current:n.ref(null),start:n.ref(null),offset:{percent:n.ref(null),pixel:n.ref(null)}};return{isDragging:e,activeContainer:r,elements:i,draggingElements:t,selectedElements:o,zones:s,visibleElements:c,hovered:v,pointerPosition:f}}),fe=()=>{const t=n.ref(null),{draggingElements:e,pointerPosition:r,isDragging:i,activeContainer:c}=I();return n.onMounted(()=>{c.ref=t}),n.onBeforeUnmount(()=>{c.ref.value=null}),{elementRef:t,draggingElements:e,pointerPosition:r,isDragging:i}},ge=["innerHTML"],me=n.defineComponent({__name:"DefaultOverlay",setup(t){const{elementRef:e,pointerPosition:r,isDragging:i,draggingElements:c}=fe(),o=n.computed(()=>{var s,v,f,h;return{transform:`translate3d(${(((s=r.current.value)==null?void 0:s.x)??0)-(((v=r.offset.pixel.value)==null?void 0:v.x)??0)}px, ${(((f=r.current.value)==null?void 0:f.y)??0)-(((h=r.offset.pixel.value)==null?void 0:h.y)??0)}px, 0)`,zIndex:1e3,position:"fixed",top:0,left:0,transition:"0.3s cubic-bezier(0.165, 0.84, 0.44, 1)"}});return(s,v)=>n.unref(i)?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"elementRef",ref:e,style:n.normalizeStyle(o.value)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(c),(f,h)=>{var l,g;return n.openBlock(),n.createElementBlock("div",{key:h,innerHTML:f.initialHTML,style:n.normalizeStyle({width:`${(l=f.initialRect)==null?void 0:l.width}px`,height:`${(g=f.initialRect)==null?void 0:g.height}px`})},null,12,ge)}),128))],4)):n.createCommentVNode("",!0)}}),he=n.defineComponent({__name:"DragOverlay",setup(t){const{activeContainer:e}=I(),r=n.computed(()=>e.component.value??me);return(i,c)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.value)))}}),pe="data-dnd-draggable",ye=t=>{const{elements:e,draggingElements:r,hovered:i,selectedElements:c,isDragging:o}=I(),s=n.ref(null),v=n.computed(()=>{var p;return((p=i.element.value)==null?void 0:p.node)===s.value}),f=ve(s),h=n.computed(()=>r.value.some(p=>p.node===s.value)),l=n.computed(()=>{if(!s.value||!o.value)return!1;const p=e.value.find(E=>E.node===s.value);return p!=null&&p.groups.length?!r.value.some(E=>E.groups.length?!E.groups.some(a=>p.groups.includes(a)):!1):!0});return{elementRef:s,registerElement:()=>{if(!s.value)throw new Error("ElementRef is not set");e.value.push({node:s.value,groups:(t==null?void 0:t.groups)??[],layer:(t==null?void 0:t.layer)??null,defaultLayer:(t==null?void 0:t.layer)??null,events:(t==null?void 0:t.events)??{},data:(t==null?void 0:t.data)??void 0,isVisible:f}),s.value.setAttribute(pe,"true")},unregisterElement:()=>{const p=e.value.findIndex(a=>a.node===s.value);p!==-1&&e.value.splice(p,1);const E=c.value.findIndex(a=>a.node===s.value);E!==-1&&c.value.splice(E,1)},isDragging:h,isOvered:v,isAllowed:l,isVisible:f}},Ee=()=>{let t="",e="",r="";const i=()=>{const s=document.body;t=s.style.userSelect,e=s.style.touchAction,r=s.style.overscrollBehavior,s.style.userSelect="none",s.style.touchAction="none",s.style.overscrollBehavior="none",window.addEventListener("contextmenu",o),window.addEventListener("selectstart",o),window.addEventListener("touchstart",o),window.addEventListener("touchmove",o)},c=()=>{const s=document.body;s.style.userSelect=t,s.style.touchAction=e,s.style.overscrollBehavior=r,window.removeEventListener("contextmenu",o),window.removeEventListener("selectstart",o),window.removeEventListener("touchstart",o),window.removeEventListener("touchmove",o)},o=s=>s.preventDefault();return{disableInteractions:i,enableInteractions:c}},N=(t,e)=>t.x<e.x+e.width&&t.x+t.width>e.x&&t.y<e.y+e.height&&t.y+t.height>e.y,O=t=>{if(!t)return{x:0,y:0,width:0,height:0,bottom:0,left:0,right:0,top:0};const e=t.getBoundingClientRect();return{bottom:e.bottom,left:e.left,right:e.right,top:e.top,x:e.x,y:e.y,width:e.width,height:e.height}},A=t=>({x:t.x+t.width/2,y:t.y+t.height/2}),we=(t,e)=>{const r=O(t);return{pixel:{x:e.x-r.x,y:e.y-r.y},percent:{x:(e.x-r.x)/r.width*100,y:(e.y-r.y)/r.height*100}}},J=(t,e)=>{const r=e.x-t.x,i=e.y-t.y;return Math.sqrt(r*r+i*i)},C=(t,e)=>t?e.contains(t):!1,Pe=t=>{const e=I();return{onPointerStart:o=>{e.pointerPosition.start.value={x:o.clientX,y:o.clientY},e.pointerPosition.current.value={x:o.clientX,y:o.clientY};const{pixel:s,percent:v}=we(t.value,{x:o.clientX,y:o.clientY});e.pointerPosition.offset.pixel.value=s,e.pointerPosition.offset.percent.value=v},onPointerMove:o=>{e.pointerPosition.current.value={x:o.clientX,y:o.clientY}},onPointerEnd:()=>{e.pointerPosition.current.value=null,e.pointerPosition.start.value=null,e.pointerPosition.offset.pixel.value=null,e.pointerPosition.offset.percent.value=null}}},De=t=>{const e=I(),{onPointerStart:r,onPointerMove:i,onPointerEnd:c}=Pe(t);let o=null;const s=a=>{var w,D;const m=e.selectedElements.value.some(x=>x.node===a);if(e.selectedElements.value.length&&m)return e.selectedElements.value.map(x=>{var L,b;return{...x,initialHTML:((L=x.node)==null?void 0:L.outerHTML)??"",initialRect:(b=x.node)==null?void 0:b.getBoundingClientRect()}});e.selectedElements.value=[];const y=e.elements.value.find(x=>x.node===a);return y?[{...y,initialHTML:((w=y.node)==null?void 0:w.outerHTML)??"",initialRect:(D=y.node)==null?void 0:D.getBoundingClientRect()}]:[]},v=(a,m)=>{const y=Math.max(0,Math.min(a.x+a.width,m.x+m.width)-Math.max(a.x,m.x)),w=Math.max(0,Math.min(a.y+a.height,m.y+m.height)-Math.max(a.y,m.y)),D=y*w,x=a.width*a.height,L=m.width*m.height;return(D/x*100+D/L*100)/2},f=ie(()=>{var F,U,Z,$,W,X,Y,j,q,G;const a=O(e.activeContainer.ref.value),m=A(a),y=((F=e.pointerPosition.current.value)==null?void 0:F.x)??0,w=((U=e.pointerPosition.current.value)==null?void 0:U.y)??0,x=!(a&&y>=a.x&&y<=a.x+a.width&&w>=a.y&&w<=a.y+a.height),L=e.draggingElements.value.map(u=>u.node),b=e.visibleElements.value.map(u=>e.elements.value[u]).filter(u=>{if(!u.node||L.some(S=>S&&C(u.node,S))||u.groups.length&&!!e.draggingElements.value.some(M=>M.groups.length?!M.groups.some(_=>u.groups.includes(_)):!1))return!1;const d=O(u.node);return d&&a&&N(d,a)}).map(u=>{const d=O(u.node),S=A(d),M=y>=d.x&&y<=d.x+d.width&&w>=d.y&&w<=d.y+d.height,_=v(d,a),B=J(m,S),H=e.elements.value.filter(k=>k!==u&&k.node&&u.node&&C(u.node,k.node)).length;return{element:u,isPointerInElement:M,overlapPercent:_,depth:H,centerDistance:B}}).sort((u,d)=>{if(!x){if(u.isPointerInElement&&d.isPointerInElement)return d.depth-u.depth;if(u.isPointerInElement!==d.isPointerInElement)return u.isPointerInElement?-1:1}return Math.abs(u.overlapPercent-d.overlapPercent)<=1?u.centerDistance-d.centerDistance:d.overlapPercent-u.overlapPercent}),Q=e.zones.value.filter(u=>{if(!u.node||L.some(S=>S&&C(u.node,S))||u.groups.length&&!!e.draggingElements.value.some(M=>M.groups.length?!M.groups.some(_=>u.groups.includes(_)):!1))return!1;const d=O(u.node);return d&&a&&N(d,a)}).map(u=>{const d=O(u.node),S=A(d),M=y>=d.x&&y<=d.x+d.width&&w>=d.y&&w<=d.y+d.height,_=v(d,a),B=J(m,S),H=e.zones.value.filter(k=>k!==u&&k.node&&u.node&&C(u.node,k.node)).length;return{zone:u,isPointerInElement:M,overlapPercent:_,depth:H,centerDistance:B}}).sort((u,d)=>{if(!x){if(u.isPointerInElement&&d.isPointerInElement)return d.depth-u.depth;if(u.isPointerInElement!==d.isPointerInElement)return u.isPointerInElement?-1:1}return Math.abs(u.overlapPercent-d.overlapPercent)<=1?u.centerDistance-d.centerDistance:d.overlapPercent-u.overlapPercent}),T=e.hovered.element.value,R=e.hovered.zone.value;e.hovered.element.value=((Z=b[0])==null?void 0:Z.element)??null,e.hovered.zone.value=(($=Q[0])==null?void 0:$.zone)??null,e.hovered.element.value!==T&&((W=T==null?void 0:T.events)!=null&&W.onLeave&&T.events.onLeave(e),(Y=(X=e.hovered.element.value)==null?void 0:X.events)!=null&&Y.onHover&&e.hovered.element.value.events.onHover(e)),e.hovered.zone.value!==R&&((j=R==null?void 0:R.events)!=null&&j.onLeave&&R.events.onLeave(e),(G=(q=e.hovered.zone.value)==null?void 0:q.events)!=null&&G.onHover&&e.hovered.zone.value.events.onHover(e))},1e3),h=()=>{f(),o=requestAnimationFrame(h)},l=()=>{h()},g=()=>{o!==null&&(cancelAnimationFrame(o),o=null)};return{activate:a=>{e.draggingElements.value=s(t.value),r(a),l()},track:a=>{i(a)},deactivate:()=>{var a,m;c(),e.hovered.zone.value?(m=(a=e.hovered.zone.value.events).onDrop)==null||m.call(a,e):e.draggingElements.value.forEach(y=>{var w,D;return(D=(w=y.events).onEnd)==null?void 0:D.call(w,e)}),e.draggingElements.value=[],e.selectedElements.value=[],e.hovered.zone.value=null,e.hovered.element.value=null,g()}}},xe=t=>{const{elementRef:e,registerElement:r,unregisterElement:i,isDragging:c,isOvered:o,isAllowed:s,isVisible:v}=ye(t),{disableInteractions:f,enableInteractions:h}=Ee(),{activeContainer:l,pointerPosition:g}=I(),{activate:P,track:p,deactivate:E}=De(e),a=D=>{t!=null&&t.container&&(l.component.value=n.markRaw(t.container)),f(),P(D),document.addEventListener("pointermove",m),document.addEventListener("pointerup",w),document.addEventListener("wheel",y)},m=D=>p(D),y=D=>p(D),w=()=>{l.component.value=null,h(),E(),document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",w),document.removeEventListener("wheel",y)};return n.onMounted(r),n.onBeforeUnmount(i),{pointerPosition:g,elementRef:e,isDragging:c,isOvered:o,isAllowed:s,handleDragStart:a,isVisible:v}},Se=t=>{const{zones:e,hovered:r,draggingElements:i,isDragging:c}=I(),o=n.ref(null),s=n.computed(()=>{var l;return((l=r.zone.value)==null?void 0:l.node)===o.value}),v=n.computed(()=>{if(!o.value||!c.value)return!1;const l=e.value.find(g=>g.node===o.value);return l!=null&&l.groups.length?!i.value.some(g=>g.groups.length?!g.groups.some(P=>l.groups.includes(P)):!1):!0});return{elementRef:o,registerZone:()=>{if(!o.value)throw new Error("elementRef is not set");e.value.push({node:o.value,groups:(t==null?void 0:t.groups)??[],events:(t==null?void 0:t.events)??{},data:(t==null?void 0:t.data)??void 0}),o.value.setAttribute("data-dnd-droppable","true")},unregisterZone:()=>{if(!o.value)throw new Error("elementRef is not set");const l=e.value.findIndex(g=>g.node===o.value);l!==-1&&e.value.splice(l,1)},isOvered:s,isAllowed:v}},Me=t=>{const{elementRef:e,registerZone:r,unregisterZone:i,isOvered:c,isAllowed:o}=Se(t);return n.onMounted(r),n.onBeforeUnmount(i),{elementRef:e,isOvered:c,isAllowed:o}},Ie=t=>{const{selectedElements:e,elements:r}=I(),i=n.computed(()=>r.value.find(l=>l.node===t.value)),c=n.computed(()=>e.value.some(l=>l.node===t.value)),o=n.computed(()=>t.value?e.value.some(l=>l.node&&C(l.node,t.value)):!1),s=n.computed(()=>t.value?e.value.some(l=>l.node&&C(t.value,l.node)):!1),v=()=>{i.value&&(e.value=e.value.filter(l=>l.node!==t.value))},f=()=>{i.value&&(o.value&&(e.value=e.value.filter(l=>l.node&&!C(l.node,t.value))),s.value&&(e.value=e.value.filter(l=>l.node&&!C(t.value,l.node))),e.value.push(i.value))};return{handleUnselect:v,handleSelect:f,handleToggleSelect:()=>{i.value&&(e.value.some(l=>l.node===t.value)?v():f())},isSelected:c,isParentOfSelected:o}};exports.DragOverlay=he;exports.getBoundingBox=O;exports.useDnDStore=I;exports.useDraggable=xe;exports.useDroppable=Me;exports.useSelection=Ie;
@@ -1,74 +1,103 @@
1
- import { effectScope as ce, watch as se, nextTick as ve, getCurrentScope as de, onScopeDispose as ge, shallowRef as F, toValue as U, computed as P, getCurrentInstance as fe, onMounted as A, ref as w, onBeforeUnmount as W, defineComponent as ie, createElementBlock as Z, createCommentVNode as he, unref as ne, openBlock as R, normalizeStyle as re, Fragment as me, renderList as pe, createBlock as ye, resolveDynamicComponent as Ee, markRaw as we } from "vue";
2
- function Pe(t) {
3
- return de() ? (ge(t), !0) : !1;
1
+ import { effectScope as ve, watch as ie, nextTick as de, isRef as fe, getCurrentScope as ge, onScopeDispose as he, toValue as V, shallowRef as U, computed as D, getCurrentInstance as me, onMounted as F, ref as x, onBeforeUnmount as j, defineComponent as ae, createElementBlock as W, createCommentVNode as pe, unref as re, openBlock as b, normalizeStyle as oe, Fragment as ye, renderList as Ee, createBlock as we, resolveDynamicComponent as Pe, markRaw as xe } from "vue";
2
+ function De(t) {
3
+ return ge() ? (he(t), !0) : !1;
4
4
  }
5
- function xe(t) {
5
+ function Ie(t) {
6
6
  let e = !1, n;
7
- const u = ce(!0);
8
- return (...c) => (e || (n = u.run(() => t(...c)), e = !0), n);
7
+ const s = ve(!0);
8
+ return (...u) => (e || (n = s.run(() => t(...u)), e = !0), n);
9
9
  }
10
- const De = typeof window < "u" && typeof document < "u";
10
+ const Me = typeof window < "u" && typeof document < "u";
11
11
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
12
- const Ie = (t) => t != null, $ = () => {
12
+ const Se = (t) => t != null, H = () => {
13
13
  };
14
- function Se(t) {
14
+ function Le(t, e) {
15
+ function n(...s) {
16
+ return new Promise((u, r) => {
17
+ Promise.resolve(t(() => e.apply(this, s), { fn: e, thisArg: this, args: s })).then(u).catch(r);
18
+ });
19
+ }
20
+ return n;
21
+ }
22
+ function Ce(...t) {
23
+ let e = 0, n, s = !0, u = H, r, l, v, d, h;
24
+ !fe(t[0]) && typeof t[0] == "object" ? { delay: l, trailing: v = !0, leading: d = !0, rejectOnCancel: h = !1 } = t[0] : [l, v = !0, d = !0, h = !1] = t;
25
+ const o = () => {
26
+ n && (clearTimeout(n), n = void 0, u(), u = H);
27
+ };
28
+ return (w) => {
29
+ const m = V(l), y = Date.now() - e, i = () => r = w();
30
+ return o(), m <= 0 ? (e = Date.now(), i()) : (y > m && (d || !s) ? (e = Date.now(), i()) : v && (r = new Promise((g, p) => {
31
+ u = h ? p : g, n = setTimeout(() => {
32
+ e = Date.now(), s = !0, g(i()), o();
33
+ }, Math.max(0, m - y));
34
+ })), !d && !n && (n = setTimeout(() => s = !0, m)), s = !1, r);
35
+ };
36
+ }
37
+ function _e(t) {
15
38
  return Array.isArray(t) ? t : [t];
16
39
  }
17
- function Me(t, e, n) {
18
- const u = se(t, (...c) => (ve(() => u()), e(...c)), n);
19
- return u;
40
+ function Oe(t, e = 200, n = !1, s = !0, u = !1) {
41
+ return Le(
42
+ Ce(e, n, s, u),
43
+ t
44
+ );
45
+ }
46
+ function Te(t, e, n) {
47
+ const s = ie(t, (...u) => (de(() => s()), e(...u)), n);
48
+ return s;
20
49
  }
21
- const ae = De ? window : void 0;
50
+ const ue = Me ? window : void 0;
22
51
  function X(t) {
23
52
  var e;
24
- const n = U(t);
53
+ const n = V(t);
25
54
  return (e = n == null ? void 0 : n.$el) != null ? e : n;
26
55
  }
27
- function Ce() {
28
- const t = F(!1), e = fe();
29
- return e && A(() => {
56
+ function ke() {
57
+ const t = U(!1), e = me();
58
+ return e && F(() => {
30
59
  t.value = !0;
31
60
  }, e), t;
32
61
  }
33
- function Le(t) {
34
- const e = Ce();
35
- return P(() => (e.value, !!t()));
62
+ function ze(t) {
63
+ const e = ke();
64
+ return D(() => (e.value, !!t()));
36
65
  }
37
- function _e(t, e, n = {}) {
66
+ function Re(t, e, n = {}) {
38
67
  const {
39
- root: u,
40
- rootMargin: c = "0px",
68
+ root: s,
69
+ rootMargin: u = "0px",
41
70
  threshold: r = 0,
42
- window: s = ae,
71
+ window: l = ue,
43
72
  immediate: v = !0
44
- } = n, g = Le(() => s && "IntersectionObserver" in s), y = P(() => {
45
- const l = U(t);
46
- return Se(l).map(X).filter(Ie);
73
+ } = n, d = ze(() => l && "IntersectionObserver" in l), h = D(() => {
74
+ const y = V(t);
75
+ return _e(y).map(X).filter(Se);
47
76
  });
48
- let o = $;
49
- const f = F(v), x = g.value ? se(
50
- () => [y.value, X(u), f.value],
51
- ([l, d]) => {
52
- if (o(), !f.value || !l.length)
77
+ let o = H;
78
+ const f = U(v), w = d.value ? ie(
79
+ () => [h.value, X(s), f.value],
80
+ ([y, i]) => {
81
+ if (o(), !f.value || !y.length)
53
82
  return;
54
- const h = new IntersectionObserver(
83
+ const g = new IntersectionObserver(
55
84
  e,
56
85
  {
57
- root: X(d),
58
- rootMargin: c,
86
+ root: X(i),
87
+ rootMargin: u,
59
88
  threshold: r
60
89
  }
61
90
  );
62
- l.forEach((m) => m && h.observe(m)), o = () => {
63
- h.disconnect(), o = $;
91
+ y.forEach((p) => p && g.observe(p)), o = () => {
92
+ g.disconnect(), o = H;
64
93
  };
65
94
  },
66
95
  { immediate: v, flush: "post" }
67
- ) : $, p = () => {
68
- o(), x(), f.value = !1;
96
+ ) : H, m = () => {
97
+ o(), w(), f.value = !1;
69
98
  };
70
- return Pe(p), {
71
- isSupported: g,
99
+ return De(m), {
100
+ isSupported: d,
72
101
  isActive: f,
73
102
  pause() {
74
103
  o(), f.value = !1;
@@ -76,79 +105,85 @@ function _e(t, e, n = {}) {
76
105
  resume() {
77
106
  f.value = !0;
78
107
  },
79
- stop: p
108
+ stop: m
80
109
  };
81
110
  }
82
- function Oe(t, e = {}) {
111
+ function He(t, e = {}) {
83
112
  const {
84
- window: n = ae,
85
- scrollTarget: u,
86
- threshold: c = 0,
113
+ window: n = ue,
114
+ scrollTarget: s,
115
+ threshold: u = 0,
87
116
  rootMargin: r,
88
- once: s = !1
89
- } = e, v = F(!1), { stop: g } = _e(
117
+ once: l = !1
118
+ } = e, v = U(!1), { stop: d } = Re(
90
119
  t,
91
- (y) => {
120
+ (h) => {
92
121
  let o = v.value, f = 0;
93
- for (const x of y)
94
- x.time >= f && (f = x.time, o = x.isIntersecting);
95
- v.value = o, s && Me(v, () => {
96
- g();
122
+ for (const w of h)
123
+ w.time >= f && (f = w.time, o = w.isIntersecting);
124
+ v.value = o, l && Te(v, () => {
125
+ d();
97
126
  });
98
127
  },
99
128
  {
100
- root: u,
129
+ root: s,
101
130
  window: n,
102
- threshold: c,
103
- rootMargin: U(r)
131
+ threshold: u,
132
+ rootMargin: V(r)
104
133
  }
105
134
  );
106
135
  return v;
107
136
  }
108
- const C = xe(() => {
109
- const t = w([]), e = P(() => t.value.length > 0), n = {
110
- component: w(null),
111
- ref: w(null)
112
- }, u = w([]), c = w([]), r = w([]), s = {
113
- zone: w(null),
114
- element: w(null)
115
- }, v = {
116
- current: w(null),
117
- start: w(null),
137
+ const C = Ie(() => {
138
+ const t = x([]), e = D(() => t.value.length > 0), n = {
139
+ component: x(null),
140
+ ref: x(null)
141
+ }, s = x([]), u = D(
142
+ () => s.value.reduce((h, o, f) => {
143
+ var w;
144
+ return (w = o.isVisible) != null && w.value && h.push(f), h;
145
+ }, [])
146
+ ), r = x([]), l = x([]), v = {
147
+ zone: x(null),
148
+ element: x(null)
149
+ }, d = {
150
+ current: x(null),
151
+ start: x(null),
118
152
  offset: {
119
- percent: w(null),
120
- pixel: w(null)
153
+ percent: x(null),
154
+ pixel: x(null)
121
155
  }
122
156
  };
123
157
  return {
124
158
  isDragging: e,
125
159
  activeContainer: n,
126
- elements: u,
160
+ elements: s,
127
161
  draggingElements: t,
128
- selectedElements: c,
129
- zones: r,
130
- hovered: s,
131
- pointerPosition: v
162
+ selectedElements: r,
163
+ zones: l,
164
+ visibleElements: u,
165
+ hovered: v,
166
+ pointerPosition: d
132
167
  };
133
- }), ke = () => {
134
- const t = w(null), { draggingElements: e, pointerPosition: n, isDragging: u, activeContainer: c } = C();
135
- return A(() => {
136
- c.ref = t;
137
- }), W(() => {
138
- c.ref.value = null;
168
+ }), Ae = () => {
169
+ const t = x(null), { draggingElements: e, pointerPosition: n, isDragging: s, activeContainer: u } = C();
170
+ return F(() => {
171
+ u.ref = t;
172
+ }), j(() => {
173
+ u.ref.value = null;
139
174
  }), {
140
175
  elementRef: t,
141
176
  draggingElements: e,
142
177
  pointerPosition: n,
143
- isDragging: u
178
+ isDragging: s
144
179
  };
145
- }, Te = ["innerHTML"], ze = /* @__PURE__ */ ie({
180
+ }, be = ["innerHTML"], Ve = /* @__PURE__ */ ae({
146
181
  __name: "DefaultOverlay",
147
182
  setup(t) {
148
- const { elementRef: e, pointerPosition: n, isDragging: u, draggingElements: c } = ke(), r = P(() => {
149
- var s, v, g, y;
183
+ const { elementRef: e, pointerPosition: n, isDragging: s, draggingElements: u } = Ae(), r = D(() => {
184
+ var l, v, d, h;
150
185
  return {
151
- transform: `translate3d(${(((s = n.current.value) == null ? void 0 : s.x) ?? 0) - (((v = n.offset.pixel.value) == null ? void 0 : v.x) ?? 0)}px, ${(((g = n.current.value) == null ? void 0 : g.y) ?? 0) - (((y = n.offset.pixel.value) == null ? void 0 : y.y) ?? 0)}px, 0)`,
186
+ transform: `translate3d(${(((l = n.current.value) == null ? void 0 : l.x) ?? 0) - (((v = n.offset.pixel.value) == null ? void 0 : v.x) ?? 0)}px, ${(((d = n.current.value) == null ? void 0 : d.y) ?? 0) - (((h = n.offset.pixel.value) == null ? void 0 : h.y) ?? 0)}px, 0)`,
152
187
  zIndex: 1e3,
153
188
  position: "fixed",
154
189
  top: 0,
@@ -156,99 +191,99 @@ const C = xe(() => {
156
191
  transition: "0.3s cubic-bezier(0.165, 0.84, 0.44, 1)"
157
192
  };
158
193
  });
159
- return (s, v) => ne(u) ? (R(), Z("div", {
194
+ return (l, v) => re(s) ? (b(), W("div", {
160
195
  key: 0,
161
196
  ref_key: "elementRef",
162
197
  ref: e,
163
- style: re(r.value)
198
+ style: oe(r.value)
164
199
  }, [
165
- (R(!0), Z(me, null, pe(ne(c), (g, y) => {
200
+ (b(!0), W(ye, null, Ee(re(u), (d, h) => {
166
201
  var o, f;
167
- return R(), Z("div", {
168
- key: y,
169
- innerHTML: g.initialHTML,
170
- style: re({
171
- width: `${(o = g.initialRect) == null ? void 0 : o.width}px`,
172
- height: `${(f = g.initialRect) == null ? void 0 : f.height}px`
202
+ return b(), W("div", {
203
+ key: h,
204
+ innerHTML: d.initialHTML,
205
+ style: oe({
206
+ width: `${(o = d.initialRect) == null ? void 0 : o.width}px`,
207
+ height: `${(f = d.initialRect) == null ? void 0 : f.height}px`
173
208
  })
174
- }, null, 12, Te);
209
+ }, null, 12, be);
175
210
  }), 128))
176
- ], 4)) : he("", !0);
211
+ ], 4)) : pe("", !0);
177
212
  }
178
- }), Ye = /* @__PURE__ */ ie({
213
+ }), Ge = /* @__PURE__ */ ae({
179
214
  __name: "DragOverlay",
180
215
  setup(t) {
181
- const { activeContainer: e } = C(), n = P(
182
- () => e.component.value ?? ze
216
+ const { activeContainer: e } = C(), n = D(
217
+ () => e.component.value ?? Ve
183
218
  );
184
- return (u, c) => (R(), ye(Ee(n.value)));
219
+ return (s, u) => (b(), we(Pe(n.value)));
185
220
  }
186
- }), He = "data-dnd-draggable", Re = (t) => {
221
+ }), Fe = "data-dnd-draggable", Ze = (t) => {
187
222
  const {
188
223
  elements: e,
189
224
  draggingElements: n,
190
- hovered: u,
191
- selectedElements: c,
225
+ hovered: s,
226
+ selectedElements: u,
192
227
  isDragging: r
193
- } = C(), s = w(null), v = P(
228
+ } = C(), l = x(null), v = D(
194
229
  () => {
195
- var p;
196
- return ((p = u.element.value) == null ? void 0 : p.node) === s.value;
230
+ var m;
231
+ return ((m = s.element.value) == null ? void 0 : m.node) === l.value;
197
232
  }
198
- ), g = Oe(s), y = P(
199
- () => n.value.some((p) => p.node === s.value)
200
- ), o = P(() => {
201
- if (!s.value || !r.value) return !1;
202
- const p = e.value.find(
203
- (l) => l.node === s.value
233
+ ), d = He(l), h = D(
234
+ () => n.value.some((m) => m.node === l.value)
235
+ ), o = D(() => {
236
+ if (!l.value || !r.value) return !1;
237
+ const m = e.value.find(
238
+ (y) => y.node === l.value
204
239
  );
205
- return p != null && p.groups.length ? !n.value.some((l) => l.groups.length ? !l.groups.some(
206
- (d) => p.groups.includes(d)
240
+ return m != null && m.groups.length ? !n.value.some((y) => y.groups.length ? !y.groups.some(
241
+ (i) => m.groups.includes(i)
207
242
  ) : !1) : !0;
208
243
  });
209
244
  return {
210
- elementRef: s,
245
+ elementRef: l,
211
246
  registerElement: () => {
212
- if (!s.value) throw new Error("ElementRef is not set");
247
+ if (!l.value) throw new Error("ElementRef is not set");
213
248
  e.value.push({
214
- node: s.value,
249
+ node: l.value,
215
250
  groups: (t == null ? void 0 : t.groups) ?? [],
216
251
  layer: (t == null ? void 0 : t.layer) ?? null,
217
252
  defaultLayer: (t == null ? void 0 : t.layer) ?? null,
218
253
  events: (t == null ? void 0 : t.events) ?? {},
219
254
  data: (t == null ? void 0 : t.data) ?? void 0,
220
- isVisible: g
221
- }), s.value.setAttribute(He, "true");
255
+ isVisible: d
256
+ }), l.value.setAttribute(Fe, "true");
222
257
  },
223
258
  unregisterElement: () => {
224
- const p = e.value.findIndex(
225
- (d) => d.node === s.value
259
+ const m = e.value.findIndex(
260
+ (i) => i.node === l.value
226
261
  );
227
- p !== -1 && e.value.splice(p, 1);
228
- const l = c.value.findIndex(
229
- (d) => d.node === s.value
262
+ m !== -1 && e.value.splice(m, 1);
263
+ const y = u.value.findIndex(
264
+ (i) => i.node === l.value
230
265
  );
231
- l !== -1 && c.value.splice(l, 1);
266
+ y !== -1 && u.value.splice(y, 1);
232
267
  },
233
- isDragging: y,
268
+ isDragging: h,
234
269
  isOvered: v,
235
270
  isAllowed: o,
236
- isVisible: g
271
+ isVisible: d
237
272
  };
238
- }, Ae = () => {
273
+ }, $e = () => {
239
274
  let t = "", e = "", n = "";
240
- const u = () => {
241
- const s = document.body;
242
- t = s.style.userSelect, e = s.style.touchAction, n = s.style.overscrollBehavior, s.style.userSelect = "none", s.style.touchAction = "none", s.style.overscrollBehavior = "none", window.addEventListener("contextmenu", r), window.addEventListener("selectstart", r), window.addEventListener("touchstart", r), window.addEventListener("touchmove", r);
243
- }, c = () => {
244
- const s = document.body;
245
- s.style.userSelect = t, s.style.touchAction = e, s.style.overscrollBehavior = n, window.removeEventListener("contextmenu", r), window.removeEventListener("selectstart", r), window.removeEventListener("touchstart", r), window.removeEventListener("touchmove", r);
246
- }, r = (s) => s.preventDefault();
275
+ const s = () => {
276
+ const l = document.body;
277
+ t = l.style.userSelect, e = l.style.touchAction, n = l.style.overscrollBehavior, l.style.userSelect = "none", l.style.touchAction = "none", l.style.overscrollBehavior = "none", window.addEventListener("contextmenu", r), window.addEventListener("selectstart", r), window.addEventListener("touchstart", r), window.addEventListener("touchmove", r);
278
+ }, u = () => {
279
+ const l = document.body;
280
+ l.style.userSelect = t, l.style.touchAction = e, l.style.overscrollBehavior = n, window.removeEventListener("contextmenu", r), window.removeEventListener("selectstart", r), window.removeEventListener("touchstart", r), window.removeEventListener("touchmove", r);
281
+ }, r = (l) => l.preventDefault();
247
282
  return {
248
- disableInteractions: u,
249
- enableInteractions: c
283
+ disableInteractions: s,
284
+ enableInteractions: u
250
285
  };
251
- }, oe = (t, e) => t.x < e.x + e.width && t.x + t.width > e.x && t.y < e.y + e.height && t.y + t.height > e.y, k = (t) => {
286
+ }, le = (t, e) => t.x < e.x + e.width && t.x + t.width > e.x && t.y < e.y + e.height && t.y + t.height > e.y, k = (t) => {
252
287
  if (!t)
253
288
  return {
254
289
  x: 0,
@@ -274,7 +309,7 @@ const C = xe(() => {
274
309
  }, Y = (t) => ({
275
310
  x: t.x + t.width / 2,
276
311
  y: t.y + t.height / 2
277
- }), Ve = (t, e) => {
312
+ }), We = (t, e) => {
278
313
  const n = k(t);
279
314
  return {
280
315
  pixel: {
@@ -286,10 +321,10 @@ const C = xe(() => {
286
321
  y: (e.y - n.y) / n.height * 100
287
322
  }
288
323
  };
289
- }, le = (t, e) => {
290
- const n = e.x - t.x, u = e.y - t.y;
291
- return Math.sqrt(n * n + u * u);
292
- }, M = (t, e) => t ? e.contains(t) : !1, be = (t) => {
324
+ }, se = (t, e) => {
325
+ const n = e.x - t.x, s = e.y - t.y;
326
+ return Math.sqrt(n * n + s * s);
327
+ }, L = (t, e) => t ? e.contains(t) : !1, Xe = (t) => {
293
328
  const e = C();
294
329
  return {
295
330
  onPointerStart: (r) => {
@@ -297,11 +332,11 @@ const C = xe(() => {
297
332
  x: r.clientX,
298
333
  y: r.clientY
299
334
  };
300
- const { pixel: s, percent: v } = Ve(t.value, {
335
+ const { pixel: l, percent: v } = We(t.value, {
301
336
  x: r.clientX,
302
337
  y: r.clientY
303
338
  });
304
- e.pointerPosition.offset.pixel.value = s, e.pointerPosition.offset.percent.value = v;
339
+ e.pointerPosition.offset.pixel.value = l, e.pointerPosition.offset.percent.value = v;
305
340
  },
306
341
  onPointerMove: (r) => {
307
342
  e.pointerPosition.current.value = {
@@ -313,166 +348,164 @@ const C = xe(() => {
313
348
  e.pointerPosition.current.value = null, e.pointerPosition.start.value = null, e.pointerPosition.offset.pixel.value = null, e.pointerPosition.offset.percent.value = null;
314
349
  }
315
350
  };
316
- }, Ze = (t) => {
317
- const e = C(), { onPointerStart: n, onPointerMove: u, onPointerEnd: c } = be(t);
351
+ }, Ye = (t) => {
352
+ const e = C(), { onPointerStart: n, onPointerMove: s, onPointerEnd: u } = Xe(t);
318
353
  let r = null;
319
- const s = (l) => {
320
- var m, E;
321
- const d = e.selectedElements.value.some(
322
- (D) => D.node === l
354
+ const l = (i) => {
355
+ var E, P;
356
+ const g = e.selectedElements.value.some(
357
+ (I) => I.node === i
323
358
  );
324
- if (e.selectedElements.value.length && d)
325
- return e.selectedElements.value.map((D) => {
326
- var L, H;
359
+ if (e.selectedElements.value.length && g)
360
+ return e.selectedElements.value.map((I) => {
361
+ var _, A;
327
362
  return {
328
- ...D,
329
- initialHTML: ((L = D.node) == null ? void 0 : L.outerHTML) ?? "",
330
- initialRect: (H = D.node) == null ? void 0 : H.getBoundingClientRect()
363
+ ...I,
364
+ initialHTML: ((_ = I.node) == null ? void 0 : _.outerHTML) ?? "",
365
+ initialRect: (A = I.node) == null ? void 0 : A.getBoundingClientRect()
331
366
  };
332
367
  });
333
368
  e.selectedElements.value = [];
334
- const h = e.elements.value.find(
335
- (D) => D.node === l
369
+ const p = e.elements.value.find(
370
+ (I) => I.node === i
336
371
  );
337
- return h ? [
372
+ return p ? [
338
373
  {
339
- ...h,
340
- initialHTML: ((m = h.node) == null ? void 0 : m.outerHTML) ?? "",
341
- initialRect: (E = h.node) == null ? void 0 : E.getBoundingClientRect()
374
+ ...p,
375
+ initialHTML: ((E = p.node) == null ? void 0 : E.outerHTML) ?? "",
376
+ initialRect: (P = p.node) == null ? void 0 : P.getBoundingClientRect()
342
377
  }
343
378
  ] : [];
344
- }, v = (l, d) => {
345
- const h = Math.max(
379
+ }, v = (i, g) => {
380
+ const p = Math.max(
346
381
  0,
347
- Math.min(l.x + l.width, d.x + d.width) - Math.max(l.x, d.x)
348
- ), m = Math.max(
382
+ Math.min(i.x + i.width, g.x + g.width) - Math.max(i.x, g.x)
383
+ ), E = Math.max(
349
384
  0,
350
- Math.min(l.y + l.height, d.y + d.height) - Math.max(l.y, d.y)
351
- ), E = h * m, D = l.width * l.height, L = d.width * d.height;
352
- return (E / D * 100 + E / L * 100) / 2;
353
- }, g = () => {
354
- var G, N, q, B, j, J, K, Q, ee, te;
355
- const l = k(e.activeContainer.ref.value), d = Y(l), h = ((G = e.pointerPosition.current.value) == null ? void 0 : G.x) ?? 0, m = ((N = e.pointerPosition.current.value) == null ? void 0 : N.y) ?? 0, D = !(l && h >= l.x && h <= l.x + l.width && m >= l.y && m <= l.y + l.height), L = e.draggingElements.value.map((i) => i.node), H = e.elements.value.filter((i) => {
356
- if (!i.isVisible || !i.isVisible.value || !i.node || L.some(
357
- (I) => I && M(i.node, I)
358
- ) || i.groups.length && !!e.draggingElements.value.some(
385
+ Math.min(i.y + i.height, g.y + g.height) - Math.max(i.y, g.y)
386
+ ), P = p * E, I = i.width * i.height, _ = g.width * g.height;
387
+ return (P / I * 100 + P / _ * 100) / 2;
388
+ }, d = Oe(() => {
389
+ var G, N, q, B, J, K, Q, ee, te, ne;
390
+ const i = k(e.activeContainer.ref.value), g = Y(i), p = ((G = e.pointerPosition.current.value) == null ? void 0 : G.x) ?? 0, E = ((N = e.pointerPosition.current.value) == null ? void 0 : N.y) ?? 0, I = !(i && p >= i.x && p <= i.x + i.width && E >= i.y && E <= i.y + i.height), _ = e.draggingElements.value.map((a) => a.node), A = e.visibleElements.value.map((a) => e.elements.value[a]).filter((a) => {
391
+ if (!a.node || _.some(
392
+ (M) => M && L(a.node, M)
393
+ ) || a.groups.length && !!e.draggingElements.value.some(
359
394
  (S) => S.groups.length ? !S.groups.some(
360
- (_) => i.groups.includes(_)
395
+ (O) => a.groups.includes(O)
361
396
  ) : !1
362
397
  ))
363
398
  return !1;
364
- const a = k(i.node);
365
- return a && l && oe(a, l);
366
- }).map((i) => {
367
- const a = k(i.node), I = Y(a), S = h >= a.x && h <= a.x + a.width && m >= a.y && m <= a.y + a.height, _ = v(a, l), V = le(d, I), b = e.elements.value.filter(
368
- (O) => O !== i && O.node && i.node && M(
369
- i.node,
370
- O.node
399
+ const c = k(a.node);
400
+ return c && i && le(c, i);
401
+ }).map((a) => {
402
+ const c = k(a.node), M = Y(c), S = p >= c.x && p <= c.x + c.width && E >= c.y && E <= c.y + c.height, O = v(c, i), Z = se(g, M), $ = e.elements.value.filter(
403
+ (T) => T !== a && T.node && a.node && L(
404
+ a.node,
405
+ T.node
371
406
  )
372
407
  ).length;
373
408
  return {
374
- element: i,
409
+ element: a,
375
410
  isPointerInElement: S,
376
- overlapPercent: _,
377
- depth: b,
378
- centerDistance: V
411
+ overlapPercent: O,
412
+ depth: $,
413
+ centerDistance: Z
379
414
  };
380
- }).sort((i, a) => {
381
- if (!D) {
382
- if (i.isPointerInElement && a.isPointerInElement)
383
- return a.depth - i.depth;
384
- if (i.isPointerInElement !== a.isPointerInElement)
385
- return i.isPointerInElement ? -1 : 1;
415
+ }).sort((a, c) => {
416
+ if (!I) {
417
+ if (a.isPointerInElement && c.isPointerInElement)
418
+ return c.depth - a.depth;
419
+ if (a.isPointerInElement !== c.isPointerInElement)
420
+ return a.isPointerInElement ? -1 : 1;
386
421
  }
387
- return Math.abs(i.overlapPercent - a.overlapPercent) <= 1 ? i.centerDistance - a.centerDistance : a.overlapPercent - i.overlapPercent;
388
- }), ue = e.zones.value.filter((i) => {
389
- if (!i.node || L.some(
390
- (I) => I && M(i.node, I)
391
- ) || i.groups.length && !!e.draggingElements.value.some((S) => S.groups.length ? !S.groups.some((_) => i.groups.includes(_)) : !1))
422
+ return Math.abs(a.overlapPercent - c.overlapPercent) <= 1 ? a.centerDistance - c.centerDistance : c.overlapPercent - a.overlapPercent;
423
+ }), ce = e.zones.value.filter((a) => {
424
+ if (!a.node || _.some(
425
+ (M) => M && L(a.node, M)
426
+ ) || a.groups.length && !!e.draggingElements.value.some((S) => S.groups.length ? !S.groups.some((O) => a.groups.includes(O)) : !1))
392
427
  return !1;
393
- const a = k(i.node);
394
- return a && l && oe(a, l);
395
- }).map((i) => {
396
- const a = k(i.node), I = Y(a), S = h >= a.x && h <= a.x + a.width && m >= a.y && m <= a.y + a.height, _ = v(a, l), V = le(d, I), b = e.zones.value.filter(
397
- (O) => O !== i && O.node && i.node && M(i.node, O.node)
428
+ const c = k(a.node);
429
+ return c && i && le(c, i);
430
+ }).map((a) => {
431
+ const c = k(a.node), M = Y(c), S = p >= c.x && p <= c.x + c.width && E >= c.y && E <= c.y + c.height, O = v(c, i), Z = se(g, M), $ = e.zones.value.filter(
432
+ (T) => T !== a && T.node && a.node && L(a.node, T.node)
398
433
  ).length;
399
434
  return {
400
- zone: i,
435
+ zone: a,
401
436
  isPointerInElement: S,
402
- overlapPercent: _,
403
- depth: b,
404
- centerDistance: V
437
+ overlapPercent: O,
438
+ depth: $,
439
+ centerDistance: Z
405
440
  };
406
- }).sort((i, a) => {
407
- if (!D) {
408
- if (i.isPointerInElement && a.isPointerInElement)
409
- return a.depth - i.depth;
410
- if (i.isPointerInElement !== a.isPointerInElement)
411
- return i.isPointerInElement ? -1 : 1;
441
+ }).sort((a, c) => {
442
+ if (!I) {
443
+ if (a.isPointerInElement && c.isPointerInElement)
444
+ return c.depth - a.depth;
445
+ if (a.isPointerInElement !== c.isPointerInElement)
446
+ return a.isPointerInElement ? -1 : 1;
412
447
  }
413
- return Math.abs(i.overlapPercent - a.overlapPercent) <= 1 ? i.centerDistance - a.centerDistance : a.overlapPercent - i.overlapPercent;
414
- }), T = e.hovered.element.value, z = e.hovered.zone.value;
415
- e.hovered.element.value = ((q = H[0]) == null ? void 0 : q.element) ?? null, e.hovered.zone.value = ((B = ue[0]) == null ? void 0 : B.zone) ?? null, e.hovered.element.value !== T && ((j = T == null ? void 0 : T.events) != null && j.onLeave && T.events.onLeave(e), (K = (J = e.hovered.element.value) == null ? void 0 : J.events) != null && K.onHover && e.hovered.element.value.events.onHover(e)), e.hovered.zone.value !== z && ((Q = z == null ? void 0 : z.events) != null && Q.onLeave && z.events.onLeave(e), (te = (ee = e.hovered.zone.value) == null ? void 0 : ee.events) != null && te.onHover && e.hovered.zone.value.events.onHover(e)), r = requestAnimationFrame(g);
416
- }, y = () => {
417
- g();
448
+ return Math.abs(a.overlapPercent - c.overlapPercent) <= 1 ? a.centerDistance - c.centerDistance : c.overlapPercent - a.overlapPercent;
449
+ }), z = e.hovered.element.value, R = e.hovered.zone.value;
450
+ e.hovered.element.value = ((q = A[0]) == null ? void 0 : q.element) ?? null, e.hovered.zone.value = ((B = ce[0]) == null ? void 0 : B.zone) ?? null, e.hovered.element.value !== z && ((J = z == null ? void 0 : z.events) != null && J.onLeave && z.events.onLeave(e), (Q = (K = e.hovered.element.value) == null ? void 0 : K.events) != null && Q.onHover && e.hovered.element.value.events.onHover(e)), e.hovered.zone.value !== R && ((ee = R == null ? void 0 : R.events) != null && ee.onLeave && R.events.onLeave(e), (ne = (te = e.hovered.zone.value) == null ? void 0 : te.events) != null && ne.onHover && e.hovered.zone.value.events.onHover(e));
451
+ }, 1e3), h = () => {
452
+ d(), r = requestAnimationFrame(h);
418
453
  }, o = () => {
454
+ h();
455
+ }, f = () => {
419
456
  r !== null && (cancelAnimationFrame(r), r = null);
420
457
  };
421
458
  return {
422
- activate: (l) => {
423
- e.draggingElements.value = s(t.value), n(l), y();
459
+ activate: (i) => {
460
+ e.draggingElements.value = l(t.value), n(i), o();
424
461
  },
425
- track: (l) => {
426
- u(l);
462
+ track: (i) => {
463
+ s(i);
427
464
  },
428
465
  deactivate: () => {
429
- var l, d;
430
- c(), e.hovered.zone.value ? (d = (l = e.hovered.zone.value.events).onDrop) == null || d.call(l, e) : e.draggingElements.value.forEach(
431
- (h) => {
432
- var m, E;
433
- return (E = (m = h.events).onEnd) == null ? void 0 : E.call(m, e);
466
+ var i, g;
467
+ u(), e.hovered.zone.value ? (g = (i = e.hovered.zone.value.events).onDrop) == null || g.call(i, e) : e.draggingElements.value.forEach(
468
+ (p) => {
469
+ var E, P;
470
+ return (P = (E = p.events).onEnd) == null ? void 0 : P.call(E, e);
434
471
  }
435
- ), e.draggingElements.value = [], e.selectedElements.value = [], e.hovered.zone.value = null, e.hovered.element.value = null, o();
472
+ ), e.draggingElements.value = [], e.selectedElements.value = [], e.hovered.zone.value = null, e.hovered.element.value = null, f();
436
473
  }
437
474
  };
438
- }, Fe = (t) => {
475
+ }, Ne = (t) => {
439
476
  const {
440
477
  elementRef: e,
441
478
  registerElement: n,
442
- unregisterElement: u,
443
- isDragging: c,
479
+ unregisterElement: s,
480
+ isDragging: u,
444
481
  isOvered: r,
445
- isAllowed: s,
482
+ isAllowed: l,
446
483
  isVisible: v
447
- } = Re(t), { disableInteractions: g, enableInteractions: y } = Ae(), o = C(), { activate: f, track: x, deactivate: p } = Ze(e), l = (E) => {
448
- t != null && t.container && (o.activeContainer.component.value = we(t.container)), g(), f(E), document.addEventListener("pointermove", d), document.addEventListener("pointerup", m), document.addEventListener("wheel", h);
449
- }, d = (E) => {
450
- x(E);
451
- }, h = (E) => {
452
- x(E);
453
- }, m = () => {
454
- o.activeContainer.component.value = null, y(), p(), document.removeEventListener("pointermove", d), document.removeEventListener("pointerup", m), document.removeEventListener("wheel", h);
484
+ } = Ze(t), { disableInteractions: d, enableInteractions: h } = $e(), { activeContainer: o, pointerPosition: f } = C(), { activate: w, track: m, deactivate: y } = Ye(e), i = (P) => {
485
+ t != null && t.container && (o.component.value = xe(t.container)), d(), w(P), document.addEventListener("pointermove", g), document.addEventListener("pointerup", E), document.addEventListener("wheel", p);
486
+ }, g = (P) => m(P), p = (P) => m(P), E = () => {
487
+ o.component.value = null, h(), y(), document.removeEventListener("pointermove", g), document.removeEventListener("pointerup", E), document.removeEventListener("wheel", p);
455
488
  };
456
- return A(n), W(u), {
457
- pointerPosition: o.pointerPosition,
489
+ return F(n), j(s), {
490
+ pointerPosition: f,
458
491
  elementRef: e,
459
- isDragging: c,
492
+ isDragging: u,
460
493
  isOvered: r,
461
- isAllowed: s,
462
- handleDragStart: l,
494
+ isAllowed: l,
495
+ handleDragStart: i,
463
496
  isVisible: v
464
497
  };
465
- }, $e = (t) => {
466
- const { zones: e, hovered: n, draggingElements: u, isDragging: c } = C(), r = w(null), s = P(() => {
498
+ }, Ue = (t) => {
499
+ const { zones: e, hovered: n, draggingElements: s, isDragging: u } = C(), r = x(null), l = D(() => {
467
500
  var o;
468
501
  return ((o = n.zone.value) == null ? void 0 : o.node) === r.value;
469
- }), v = P(() => {
470
- if (!r.value || !c.value) return !1;
502
+ }), v = D(() => {
503
+ if (!r.value || !u.value) return !1;
471
504
  const o = e.value.find(
472
505
  (f) => f.node === r.value
473
506
  );
474
- return o != null && o.groups.length ? !u.value.some((f) => f.groups.length ? !f.groups.some(
475
- (x) => o.groups.includes(x)
507
+ return o != null && o.groups.length ? !s.value.some((f) => f.groups.length ? !f.groups.some(
508
+ (w) => o.groups.includes(w)
476
509
  ) : !1) : !0;
477
510
  });
478
511
  return { elementRef: r, registerZone: () => {
@@ -489,57 +522,57 @@ const C = xe(() => {
489
522
  (f) => f.node === r.value
490
523
  );
491
524
  o !== -1 && e.value.splice(o, 1);
492
- }, isOvered: s, isAllowed: v };
493
- }, Ue = (t) => {
494
- const { elementRef: e, registerZone: n, unregisterZone: u, isOvered: c, isAllowed: r } = $e(t);
495
- return A(n), W(u), { elementRef: e, isOvered: c, isAllowed: r };
496
- }, We = (t) => {
497
- const { selectedElements: e, elements: n } = C(), u = P(
525
+ }, isOvered: l, isAllowed: v };
526
+ }, qe = (t) => {
527
+ const { elementRef: e, registerZone: n, unregisterZone: s, isOvered: u, isAllowed: r } = Ue(t);
528
+ return F(n), j(s), { elementRef: e, isOvered: u, isAllowed: r };
529
+ }, Be = (t) => {
530
+ const { selectedElements: e, elements: n } = C(), s = D(
498
531
  () => n.value.find((o) => o.node === t.value)
499
- ), c = P(
532
+ ), u = D(
500
533
  () => e.value.some((o) => o.node === t.value)
501
- ), r = P(() => t.value ? e.value.some(
502
- (o) => o.node && M(
534
+ ), r = D(() => t.value ? e.value.some(
535
+ (o) => o.node && L(
503
536
  o.node,
504
537
  t.value
505
538
  )
506
- ) : !1), s = P(() => t.value ? e.value.some(
507
- (o) => o.node && M(
539
+ ) : !1), l = D(() => t.value ? e.value.some(
540
+ (o) => o.node && L(
508
541
  t.value,
509
542
  o.node
510
543
  )
511
544
  ) : !1), v = () => {
512
- u.value && (e.value = e.value.filter(
545
+ s.value && (e.value = e.value.filter(
513
546
  (o) => o.node !== t.value
514
547
  ));
515
- }, g = () => {
516
- u.value && (r.value && (e.value = e.value.filter(
517
- (o) => o.node && !M(
548
+ }, d = () => {
549
+ s.value && (r.value && (e.value = e.value.filter(
550
+ (o) => o.node && !L(
518
551
  o.node,
519
552
  t.value
520
553
  )
521
- )), s.value && (e.value = e.value.filter(
522
- (o) => o.node && !M(
554
+ )), l.value && (e.value = e.value.filter(
555
+ (o) => o.node && !L(
523
556
  t.value,
524
557
  o.node
525
558
  )
526
- )), e.value.push(u.value));
559
+ )), e.value.push(s.value));
527
560
  };
528
561
  return {
529
562
  handleUnselect: v,
530
- handleSelect: g,
563
+ handleSelect: d,
531
564
  handleToggleSelect: () => {
532
- u.value && (e.value.some((o) => o.node === t.value) ? v() : g());
565
+ s.value && (e.value.some((o) => o.node === t.value) ? v() : d());
533
566
  },
534
- isSelected: c,
567
+ isSelected: u,
535
568
  isParentOfSelected: r
536
569
  };
537
570
  };
538
571
  export {
539
- Ye as DragOverlay,
572
+ Ge as DragOverlay,
540
573
  k as getBoundingBox,
541
574
  C as useDnDStore,
542
- Fe as useDraggable,
543
- Ue as useDroppable,
544
- We as useSelection
575
+ Ne as useDraggable,
576
+ qe as useDroppable,
577
+ Be as useSelection
545
578
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-dnd-kit/core",
3
- "version": "0.0.35-beta",
3
+ "version": "0.0.37-beta",
4
4
  "description": "Core functionality for Vue DnD Kit - a lightweight Vue 3 library for building performant and accessible drag and drop interfaces",
5
5
  "author": "ZiZIGY",
6
6
  "license": "MIT",