@vue-dnd-kit/core 0.0.30-beta → 0.0.31-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.
@@ -478,7 +478,6 @@ export declare const useDnDStore: () => {
478
478
  __file?: string | undefined;
479
479
  __name?: string | undefined;
480
480
  } | null;
481
- isVisible?: any;
482
481
  data: any;
483
482
  events: {
484
483
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -726,7 +725,6 @@ export declare const useDnDStore: () => {
726
725
  __file?: string | undefined;
727
726
  __name?: string | undefined;
728
727
  } | null;
729
- isVisible?: any;
730
728
  data: any;
731
729
  events: {
732
730
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -987,7 +985,6 @@ export declare const useDnDStore: () => {
987
985
  __file?: string | undefined;
988
986
  __name?: string | undefined;
989
987
  } | null;
990
- isVisible?: any;
991
988
  data: any;
992
989
  events: {
993
990
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -1247,7 +1244,6 @@ export declare const useDnDStore: () => {
1247
1244
  __file?: string | undefined;
1248
1245
  __name?: string | undefined;
1249
1246
  } | null;
1250
- isVisible?: any;
1251
1247
  data: any;
1252
1248
  events: {
1253
1249
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -1496,7 +1492,6 @@ export declare const useDnDStore: () => {
1496
1492
  __file?: string | undefined;
1497
1493
  __name?: string | undefined;
1498
1494
  } | null;
1499
- isVisible?: any;
1500
1495
  data: any;
1501
1496
  events: {
1502
1497
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -1744,7 +1739,6 @@ export declare const useDnDStore: () => {
1744
1739
  __file?: string | undefined;
1745
1740
  __name?: string | undefined;
1746
1741
  } | null;
1747
- isVisible?: any;
1748
1742
  data: any;
1749
1743
  events: {
1750
1744
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -2032,7 +2026,6 @@ export declare const useDnDStore: () => {
2032
2026
  __file?: string | undefined;
2033
2027
  __name?: string | undefined;
2034
2028
  } | null;
2035
- isVisible?: any;
2036
2029
  data: any;
2037
2030
  events: {
2038
2031
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -2280,7 +2273,6 @@ export declare const useDnDStore: () => {
2280
2273
  __file?: string | undefined;
2281
2274
  __name?: string | undefined;
2282
2275
  } | null;
2283
- isVisible?: any;
2284
2276
  data: any;
2285
2277
  events: {
2286
2278
  onHover?: ((store: import('../types').IDnDStore) => void) | undefined;
@@ -320,7 +320,6 @@ export declare const useDragContainer: () => {
320
320
  __file?: string | undefined;
321
321
  __name?: string | undefined;
322
322
  } | null;
323
- isVisible?: any;
324
323
  data: any;
325
324
  events: {
326
325
  onHover?: ((store: import('..').IDnDStore) => void) | undefined;
@@ -580,7 +579,6 @@ export declare const useDragContainer: () => {
580
579
  __file?: string | undefined;
581
580
  __name?: string | undefined;
582
581
  } | null;
583
- isVisible?: any;
584
582
  data: any;
585
583
  events: {
586
584
  onHover?: ((store: import('..').IDnDStore) => void) | undefined;
@@ -78,5 +78,4 @@ export declare const useDraggable: (options?: IUseDragOptions) => {
78
78
  isOvered: import('vue').ComputedRef<boolean>;
79
79
  isAllowed: import('vue').ComputedRef<boolean>;
80
80
  handleDragStart: (event: PointerEvent) => void;
81
- isVisible: import('vue').ShallowRef<boolean, boolean>;
82
81
  };
@@ -14,5 +14,4 @@ export declare const useElementManager: (options?: IUseDragOptions) => {
14
14
  isDragging: import('vue').ComputedRef<boolean>;
15
15
  isOvered: import('vue').ComputedRef<boolean>;
16
16
  isAllowed: import('vue').ComputedRef<boolean>;
17
- isVisible: import('vue').ShallowRef<boolean, boolean>;
18
17
  };
@@ -57,8 +57,6 @@ export interface IDragElement {
57
57
  layer: Component | null;
58
58
  /** Default layer component */
59
59
  defaultLayer: Component | null;
60
- /** Visibility state of the element */
61
- isVisible?: any;
62
60
  /** Custom data associated with element */
63
61
  data: any;
64
62
  /** Event handlers */
@@ -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 A(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(A).filter(ne)});let l=H;const m=n.shallowRef(v),P=g.value?n.watch(()=>[E.value,A(c),m.value],([s,f])=>{if(l(),!m.value||!s.length)return;const h=new IntersectionObserver(e,{root:A(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}},b=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 V,U,Z,$,X,Y,F,W,q,G;const s=k(e.activeContainer.ref.value),f=b(s),h=((V=e.pointerPosition.current.value)==null?void 0:V.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.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=b(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=b(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 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 A(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,h=se(()=>i&&"IntersectionObserver"in i),y=n.computed(()=>{const l=n.toValue(t);return re(l).map(A).filter(ne)});let s=H;const g=n.shallowRef(v),P=h.value?n.watch(()=>[y.value,A(c),g.value],([l,f])=>{if(s(),!g.value||!l.length)return;const p=new IntersectionObserver(e,{root:A(f),rootMargin:d,threshold:o});l.forEach(m=>m&&p.observe(m)),s=()=>{p.disconnect(),s=H}},{immediate:v,flush:"post"}):H,E=()=>{s(),P(),g.value=!1};return Q(E),{isSupported:h,isActive:g,pause(){s(),g.value=!1},resume(){g.value=!0},stop:E}}function ae(t,e={}){const{window:r=J,scrollTarget:c,threshold:d=0,rootMargin:o,once:i=!1}=e,v=n.shallowRef(!1),{stop:h}=ie(t,y=>{let s=v.value,g=0;for(const P of y)P.time>=g&&(g=P.time,s=P.isIntersecting);v.value=s,i&&oe(v,()=>{h()})},{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,h,y;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, ${(((h=r.current.value)==null?void 0:h.y)??0)-(((y=r.offset.pixel.value)==null?void 0:y.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),(h,y)=>{var s,g;return n.openBlock(),n.createElementBlock("div",{key:y,innerHTML:h.initialHTML,style:n.normalizeStyle({width:`${(s=h.initialRect)==null?void 0:s.width}px`,height:`${(g=h.initialRect)==null?void 0:g.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 E;return((E=c.element.value)==null?void 0:E.node)===i.value}),h=ae(i),y=n.computed(()=>r.value.some(E=>E.node===i.value)),s=n.computed(()=>{if(!i.value||!o.value)return!1;const E=e.value.find(l=>l.node===i.value);return E!=null&&E.groups.length?!r.value.some(l=>l.groups.length?!l.groups.some(f=>E.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:h}),i.value.setAttribute(fe,"true")},unregisterElement:()=>{const E=e.value.findIndex(f=>f.node===i.value);E!==-1&&e.value.splice(E,1);const l=d.value.findIndex(f=>f.node===i.value);l!==-1&&d.value.splice(l,1)},isDragging:y,isOvered:v,isAllowed:s}},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}},b=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=l=>{var m,x;const f=e.selectedElements.value.some(w=>w.node===l);if(e.selectedElements.value.length&&f)return e.selectedElements.value.map(w=>{var C,z;return{...w,initialHTML:((C=w.node)==null?void 0:C.outerHTML)??"",initialRect:(z=w.node)==null?void 0:z.getBoundingClientRect()}});e.selectedElements.value=[];const p=e.elements.value.find(w=>w.node===l);return p?[{...p,initialHTML:((m=p.node)==null?void 0:m.outerHTML)??"",initialRect:(x=p.node)==null?void 0:x.getBoundingClientRect()}]:[]},v=(l,f)=>{const p=Math.max(0,Math.min(l.x+l.width,f.x+f.width)-Math.max(l.x,f.x)),m=Math.max(0,Math.min(l.y+l.height,f.y+f.height)-Math.max(l.y,f.y)),x=p*m,w=l.width*l.height,C=f.width*f.height;return(x/w*100+x/C*100)/2},h=()=>{var V,U,Z,$,X,Y,F,W,q,G;const l=k(e.activeContainer.ref.value),f=b(l),p=((V=e.pointerPosition.current.value)==null?void 0:V.x)??0,m=((U=e.pointerPosition.current.value)==null?void 0:U.y)??0,w=!(l&&p>=l.x&&p<=l.x+l.width&&m>=l.y&&m<=l.y+l.height),C=e.draggingElements.value.map(a=>a.node),z=e.elements.value.filter(a=>{if(!a.node||C.some(D=>D&&I(a.node,D))||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&&l&&N(u,l)}).map(a=>{const u=k(a.node),D=b(u),S=p>=u.x&&p<=u.x+u.width&&m>=u.y&&m<=u.y+u.height,L=v(u,l),R=j(f,D),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(!w){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(D=>D&&I(a.node,D))||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&&l&&N(u,l)}).map(a=>{const u=k(a.node),D=b(u),S=p>=u.x&&p<=u.x+u.width&&m>=u.y&&m<=u.y+u.height,L=v(u,l),R=j(f,D),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(!w){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(h)},y=()=>{h()},s=()=>{o!==null&&(cancelAnimationFrame(o),o=null)};return{activate:l=>{e.draggingElements.value=i(t.value),r(l),y()},track:l=>{c(l)},deactivate:()=>{var l,f;d(),e.hovered.zone.value?(f=(l=e.hovered.zone.value.events).onDrop)==null||f.call(l,e):e.draggingElements.value.forEach(p=>{var m,x;return(x=(m=p.events).onEnd)==null?void 0:x.call(m,e)}),e.draggingElements.value=[],e.selectedElements.value=[],e.hovered.zone.value=null,e.hovered.element.value=null,s()}}},Ee=t=>{const{elementRef:e,registerElement:r,unregisterElement:c,isDragging:d,isOvered:o,isAllowed:i}=ge(t),{disableInteractions:v,enableInteractions:h}=me(),y=M(),{activate:s,track:g,deactivate:P}=ye(e),E=m=>{t!=null&&t.container&&(y.activeContainer.component.value=n.markRaw(t.container)),v(),s(m),document.addEventListener("pointermove",l),document.addEventListener("pointerup",p),document.addEventListener("wheel",f)},l=m=>{g(m)},f=m=>{g(m)},p=()=>{y.activeContainer.component.value=null,h(),P(),document.removeEventListener("pointermove",l),document.removeEventListener("pointerup",p),document.removeEventListener("wheel",f)};return n.onMounted(r),n.onBeforeUnmount(c),{pointerPosition:y.pointerPosition,elementRef:e,isDragging:d,isOvered:o,isAllowed:i,handleDragStart:E}},we=t=>{const{zones:e,hovered:r,draggingElements:c,isDragging:d}=M(),o=n.ref(null),i=n.computed(()=>{var s;return((s=r.zone.value)==null?void 0:s.node)===o.value}),v=n.computed(()=>{if(!o.value||!d.value)return!1;const s=e.value.find(g=>g.node===o.value);return s!=null&&s.groups.length?!c.value.some(g=>g.groups.length?!g.groups.some(P=>s.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 s=e.value.findIndex(g=>g.node===o.value);s!==-1&&e.value.splice(s,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(s=>s.node===t.value)),d=n.computed(()=>e.value.some(s=>s.node===t.value)),o=n.computed(()=>t.value?e.value.some(s=>s.node&&I(s.node,t.value)):!1),i=n.computed(()=>t.value?e.value.some(s=>s.node&&I(t.value,s.node)):!1),v=()=>{c.value&&(e.value=e.value.filter(s=>s.node!==t.value))},h=()=>{c.value&&(o.value&&(e.value=e.value.filter(s=>s.node&&!I(s.node,t.value))),i.value&&(e.value=e.value.filter(s=>s.node&&!I(t.value,s.node))),e.value.push(c.value))};return{handleUnselect:v,handleSelect:h,handleToggleSelect:()=>{c.value&&(e.value.some(s=>s.node===t.value)?v():h())},isSelected:d,isParentOfSelected:o}};exports.DragOverlay=ve;exports.getBoundingBox=k;exports.useDnDStore=M;exports.useDraggable=Ee;exports.useDroppable=Pe;exports.useSelection=De;
@@ -1,4 +1,4 @@
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 $, 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";
1
+ import { effectScope as ce, watch as se, nextTick as ve, getCurrentScope as de, onScopeDispose as ge, shallowRef as U, toValue as W, computed as w, getCurrentInstance as fe, onMounted as A, ref as E, onBeforeUnmount as b, defineComponent as ie, createElementBlock as V, 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
2
  function Pe(t) {
3
3
  return de() ? (ge(t), !0) : !1;
4
4
  }
@@ -21,18 +21,18 @@ function Me(t, e, n) {
21
21
  const ae = De ? window : void 0;
22
22
  function Y(t) {
23
23
  var e;
24
- const n = U(t);
24
+ const n = W(t);
25
25
  return (e = n == null ? void 0 : n.$el) != null ? e : n;
26
26
  }
27
27
  function Ce() {
28
- const t = F(!1), e = fe();
28
+ const t = U(!1), e = fe();
29
29
  return e && A(() => {
30
30
  t.value = !0;
31
31
  }, e), t;
32
32
  }
33
33
  function Le(t) {
34
34
  const e = Ce();
35
- return P(() => (e.value, !!t()));
35
+ return w(() => (e.value, !!t()));
36
36
  }
37
37
  function _e(t, e, n = {}) {
38
38
  const {
@@ -41,17 +41,17 @@ function _e(t, e, n = {}) {
41
41
  threshold: r = 0,
42
42
  window: s = ae,
43
43
  immediate: v = !0
44
- } = n, g = Le(() => s && "IntersectionObserver" in s), y = P(() => {
45
- const l = U(t);
46
- return Se(l).map(Y).filter(Ie);
44
+ } = n, h = Le(() => s && "IntersectionObserver" in s), p = w(() => {
45
+ const o = W(t);
46
+ return Se(o).map(Y).filter(Ie);
47
47
  });
48
- let o = X;
49
- const f = F(v), x = g.value ? se(
50
- () => [y.value, Y(u), f.value],
51
- ([l, d]) => {
52
- if (o(), !f.value || !l.length)
48
+ let l = X;
49
+ const g = U(v), x = h.value ? se(
50
+ () => [p.value, Y(u), g.value],
51
+ ([o, d]) => {
52
+ if (l(), !g.value || !o.length)
53
53
  return;
54
- const h = new IntersectionObserver(
54
+ const m = new IntersectionObserver(
55
55
  e,
56
56
  {
57
57
  root: Y(d),
@@ -59,24 +59,24 @@ function _e(t, e, n = {}) {
59
59
  threshold: r
60
60
  }
61
61
  );
62
- l.forEach((m) => m && h.observe(m)), o = () => {
63
- h.disconnect(), o = X;
62
+ o.forEach((f) => f && m.observe(f)), l = () => {
63
+ m.disconnect(), l = X;
64
64
  };
65
65
  },
66
66
  { immediate: v, flush: "post" }
67
- ) : X, p = () => {
68
- o(), x(), f.value = !1;
67
+ ) : X, y = () => {
68
+ l(), x(), g.value = !1;
69
69
  };
70
- return Pe(p), {
71
- isSupported: g,
72
- isActive: f,
70
+ return Pe(y), {
71
+ isSupported: h,
72
+ isActive: g,
73
73
  pause() {
74
- o(), f.value = !1;
74
+ l(), g.value = !1;
75
75
  },
76
76
  resume() {
77
- f.value = !0;
77
+ g.value = !0;
78
78
  },
79
- stop: p
79
+ stop: y
80
80
  };
81
81
  }
82
82
  function Oe(t, e = {}) {
@@ -86,38 +86,38 @@ function Oe(t, e = {}) {
86
86
  threshold: c = 0,
87
87
  rootMargin: r,
88
88
  once: s = !1
89
- } = e, v = F(!1), { stop: g } = _e(
89
+ } = e, v = U(!1), { stop: h } = _e(
90
90
  t,
91
- (y) => {
92
- 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();
91
+ (p) => {
92
+ let l = v.value, g = 0;
93
+ for (const x of p)
94
+ x.time >= g && (g = x.time, l = x.isIntersecting);
95
+ v.value = l, s && Me(v, () => {
96
+ h();
97
97
  });
98
98
  },
99
99
  {
100
100
  root: u,
101
101
  window: n,
102
102
  threshold: c,
103
- rootMargin: U(r)
103
+ rootMargin: W(r)
104
104
  }
105
105
  );
106
106
  return v;
107
107
  }
108
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)
109
+ const t = E([]), e = w(() => t.value.length > 0), n = {
110
+ component: E(null),
111
+ ref: E(null)
112
+ }, u = E([]), c = E([]), r = E([]), s = {
113
+ zone: E(null),
114
+ element: E(null)
115
115
  }, v = {
116
- current: w(null),
117
- start: w(null),
116
+ current: E(null),
117
+ start: E(null),
118
118
  offset: {
119
- percent: w(null),
120
- pixel: w(null)
119
+ percent: E(null),
120
+ pixel: E(null)
121
121
  }
122
122
  };
123
123
  return {
@@ -131,10 +131,10 @@ const C = xe(() => {
131
131
  pointerPosition: v
132
132
  };
133
133
  }), ke = () => {
134
- const t = w(null), { draggingElements: e, pointerPosition: n, isDragging: u, activeContainer: c } = C();
134
+ const t = E(null), { draggingElements: e, pointerPosition: n, isDragging: u, activeContainer: c } = C();
135
135
  return A(() => {
136
136
  c.ref = t;
137
- }), W(() => {
137
+ }), b(() => {
138
138
  c.ref.value = null;
139
139
  }), {
140
140
  elementRef: t,
@@ -145,10 +145,10 @@ const C = xe(() => {
145
145
  }, Te = ["innerHTML"], ze = /* @__PURE__ */ ie({
146
146
  __name: "DefaultOverlay",
147
147
  setup(t) {
148
- const { elementRef: e, pointerPosition: n, isDragging: u, draggingElements: c } = ke(), r = P(() => {
149
- var s, v, g, y;
148
+ const { elementRef: e, pointerPosition: n, isDragging: u, draggingElements: c } = ke(), r = w(() => {
149
+ var s, v, h, p;
150
150
  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)`,
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, ${(((h = n.current.value) == null ? void 0 : h.y) ?? 0) - (((p = n.offset.pixel.value) == null ? void 0 : p.y) ?? 0)}px, 0)`,
152
152
  zIndex: 1e3,
153
153
  position: "fixed",
154
154
  top: 0,
@@ -156,29 +156,29 @@ const C = xe(() => {
156
156
  transition: "0.3s cubic-bezier(0.165, 0.84, 0.44, 1)"
157
157
  };
158
158
  });
159
- return (s, v) => ne(u) ? (R(), $("div", {
159
+ return (s, v) => ne(u) ? (R(), V("div", {
160
160
  key: 0,
161
161
  ref_key: "elementRef",
162
162
  ref: e,
163
163
  style: re(r.value)
164
164
  }, [
165
- (R(!0), $(me, null, pe(ne(c), (g, y) => {
166
- var o, f;
167
- return R(), $("div", {
168
- key: y,
169
- innerHTML: g.initialHTML,
165
+ (R(!0), V(me, null, pe(ne(c), (h, p) => {
166
+ var l, g;
167
+ return R(), V("div", {
168
+ key: p,
169
+ innerHTML: h.initialHTML,
170
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`
171
+ width: `${(l = h.initialRect) == null ? void 0 : l.width}px`,
172
+ height: `${(g = h.initialRect) == null ? void 0 : g.height}px`
173
173
  })
174
174
  }, null, 12, Te);
175
175
  }), 128))
176
176
  ], 4)) : he("", !0);
177
177
  }
178
- }), be = /* @__PURE__ */ ie({
178
+ }), Fe = /* @__PURE__ */ ie({
179
179
  __name: "DragOverlay",
180
180
  setup(t) {
181
- const { activeContainer: e } = C(), n = P(
181
+ const { activeContainer: e } = C(), n = w(
182
182
  () => e.component.value ?? ze
183
183
  );
184
184
  return (u, c) => (R(), ye(Ee(n.value)));
@@ -190,20 +190,20 @@ const C = xe(() => {
190
190
  hovered: u,
191
191
  selectedElements: c,
192
192
  isDragging: r
193
- } = C(), s = w(null), v = P(
193
+ } = C(), s = E(null), v = w(
194
194
  () => {
195
- var p;
196
- return ((p = u.element.value) == null ? void 0 : p.node) === s.value;
195
+ var y;
196
+ return ((y = u.element.value) == null ? void 0 : y.node) === s.value;
197
197
  }
198
- ), g = Oe(s), y = P(
199
- () => n.value.some((p) => p.node === s.value)
200
- ), o = P(() => {
198
+ ), h = Oe(s), p = w(
199
+ () => n.value.some((y) => y.node === s.value)
200
+ ), l = w(() => {
201
201
  if (!s.value || !r.value) return !1;
202
- const p = e.value.find(
203
- (l) => l.node === s.value
202
+ const y = e.value.find(
203
+ (o) => o.node === s.value
204
204
  );
205
- return p != null && p.groups.length ? !n.value.some((l) => l.groups.length ? !l.groups.some(
206
- (d) => p.groups.includes(d)
205
+ return y != null && y.groups.length ? !n.value.some((o) => o.groups.length ? !o.groups.some(
206
+ (d) => y.groups.includes(d)
207
207
  ) : !1) : !0;
208
208
  });
209
209
  return {
@@ -217,23 +217,22 @@ const C = xe(() => {
217
217
  defaultLayer: (t == null ? void 0 : t.layer) ?? null,
218
218
  events: (t == null ? void 0 : t.events) ?? {},
219
219
  data: (t == null ? void 0 : t.data) ?? void 0,
220
- isVisible: g
220
+ isVisible: h
221
221
  }), s.value.setAttribute(He, "true");
222
222
  },
223
223
  unregisterElement: () => {
224
- const p = e.value.findIndex(
224
+ const y = e.value.findIndex(
225
225
  (d) => d.node === s.value
226
226
  );
227
- p !== -1 && e.value.splice(p, 1);
228
- const l = c.value.findIndex(
227
+ y !== -1 && e.value.splice(y, 1);
228
+ const o = c.value.findIndex(
229
229
  (d) => d.node === s.value
230
230
  );
231
- l !== -1 && c.value.splice(l, 1);
231
+ o !== -1 && c.value.splice(o, 1);
232
232
  },
233
- isDragging: y,
233
+ isDragging: p,
234
234
  isOvered: v,
235
- isAllowed: o,
236
- isVisible: g
235
+ isAllowed: l
237
236
  };
238
237
  }, Ae = () => {
239
238
  let t = "", e = "", n = "";
@@ -271,10 +270,10 @@ const C = xe(() => {
271
270
  width: e.width,
272
271
  height: e.height
273
272
  };
274
- }, b = (t) => ({
273
+ }, F = (t) => ({
275
274
  x: t.x + t.width / 2,
276
275
  y: t.y + t.height / 2
277
- }), Ve = (t, e) => {
276
+ }), Ze = (t, e) => {
278
277
  const n = k(t);
279
278
  return {
280
279
  pixel: {
@@ -289,7 +288,7 @@ const C = xe(() => {
289
288
  }, le = (t, e) => {
290
289
  const n = e.x - t.x, u = e.y - t.y;
291
290
  return Math.sqrt(n * n + u * u);
292
- }, M = (t, e) => t ? e.contains(t) : !1, Ze = (t) => {
291
+ }, M = (t, e) => t ? e.contains(t) : !1, $e = (t) => {
293
292
  const e = C();
294
293
  return {
295
294
  onPointerStart: (r) => {
@@ -297,7 +296,7 @@ const C = xe(() => {
297
296
  x: r.clientX,
298
297
  y: r.clientY
299
298
  };
300
- const { pixel: s, percent: v } = Ve(t.value, {
299
+ const { pixel: s, percent: v } = Ze(t.value, {
301
300
  x: r.clientX,
302
301
  y: r.clientY
303
302
  });
@@ -313,48 +312,48 @@ const C = xe(() => {
313
312
  e.pointerPosition.current.value = null, e.pointerPosition.start.value = null, e.pointerPosition.offset.pixel.value = null, e.pointerPosition.offset.percent.value = null;
314
313
  }
315
314
  };
316
- }, $e = (t) => {
317
- const e = C(), { onPointerStart: n, onPointerMove: u, onPointerEnd: c } = Ze(t);
315
+ }, Ve = (t) => {
316
+ const e = C(), { onPointerStart: n, onPointerMove: u, onPointerEnd: c } = $e(t);
318
317
  let r = null;
319
- const s = (l) => {
320
- var m, E;
318
+ const s = (o) => {
319
+ var f, I;
321
320
  const d = e.selectedElements.value.some(
322
- (D) => D.node === l
321
+ (P) => P.node === o
323
322
  );
324
323
  if (e.selectedElements.value.length && d)
325
- return e.selectedElements.value.map((D) => {
324
+ return e.selectedElements.value.map((P) => {
326
325
  var L, H;
327
326
  return {
328
- ...D,
329
- initialHTML: ((L = D.node) == null ? void 0 : L.outerHTML) ?? "",
330
- initialRect: (H = D.node) == null ? void 0 : H.getBoundingClientRect()
327
+ ...P,
328
+ initialHTML: ((L = P.node) == null ? void 0 : L.outerHTML) ?? "",
329
+ initialRect: (H = P.node) == null ? void 0 : H.getBoundingClientRect()
331
330
  };
332
331
  });
333
332
  e.selectedElements.value = [];
334
- const h = e.elements.value.find(
335
- (D) => D.node === l
333
+ const m = e.elements.value.find(
334
+ (P) => P.node === o
336
335
  );
337
- return h ? [
336
+ return m ? [
338
337
  {
339
- ...h,
340
- initialHTML: ((m = h.node) == null ? void 0 : m.outerHTML) ?? "",
341
- initialRect: (E = h.node) == null ? void 0 : E.getBoundingClientRect()
338
+ ...m,
339
+ initialHTML: ((f = m.node) == null ? void 0 : f.outerHTML) ?? "",
340
+ initialRect: (I = m.node) == null ? void 0 : I.getBoundingClientRect()
342
341
  }
343
342
  ] : [];
344
- }, v = (l, d) => {
345
- const h = Math.max(
343
+ }, v = (o, d) => {
344
+ const m = Math.max(
346
345
  0,
347
- Math.min(l.x + l.width, d.x + d.width) - Math.max(l.x, d.x)
348
- ), m = Math.max(
346
+ Math.min(o.x + o.width, d.x + d.width) - Math.max(o.x, d.x)
347
+ ), f = Math.max(
349
348
  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 = () => {
349
+ Math.min(o.y + o.height, d.y + d.height) - Math.max(o.y, d.y)
350
+ ), I = m * f, P = o.width * o.height, L = d.width * d.height;
351
+ return (I / P * 100 + I / L * 100) / 2;
352
+ }, h = () => {
354
353
  var G, N, q, B, j, J, K, Q, ee, te;
355
- const l = k(e.activeContainer.ref.value), d = b(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) => {
354
+ const o = k(e.activeContainer.ref.value), d = F(o), m = ((G = e.pointerPosition.current.value) == null ? void 0 : G.x) ?? 0, f = ((N = e.pointerPosition.current.value) == null ? void 0 : N.y) ?? 0, P = !(o && m >= o.x && m <= o.x + o.width && f >= o.y && f <= o.y + o.height), L = e.draggingElements.value.map((i) => i.node), H = e.elements.value.filter((i) => {
356
355
  if (!i.node || L.some(
357
- (I) => I && M(i.node, I)
356
+ (D) => D && M(i.node, D)
358
357
  ) || i.groups.length && !!e.draggingElements.value.some(
359
358
  (S) => S.groups.length ? !S.groups.some(
360
359
  (_) => i.groups.includes(_)
@@ -362,9 +361,9 @@ const C = xe(() => {
362
361
  ))
363
362
  return !1;
364
363
  const a = k(i.node);
365
- return a && l && oe(a, l);
364
+ return a && o && oe(a, o);
366
365
  }).map((i) => {
367
- const a = k(i.node), I = b(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), Z = e.elements.value.filter(
366
+ const a = k(i.node), D = F(a), S = m >= a.x && m <= a.x + a.width && f >= a.y && f <= a.y + a.height, _ = v(a, o), Z = le(d, D), $ = e.elements.value.filter(
368
367
  (O) => O !== i && O.node && i.node && M(
369
368
  i.node,
370
369
  O.node
@@ -374,11 +373,11 @@ const C = xe(() => {
374
373
  element: i,
375
374
  isPointerInElement: S,
376
375
  overlapPercent: _,
377
- depth: Z,
378
- centerDistance: V
376
+ depth: $,
377
+ centerDistance: Z
379
378
  };
380
379
  }).sort((i, a) => {
381
- if (!D) {
380
+ if (!P) {
382
381
  if (i.isPointerInElement && a.isPointerInElement)
383
382
  return a.depth - i.depth;
384
383
  if (i.isPointerInElement !== a.isPointerInElement)
@@ -387,24 +386,24 @@ const C = xe(() => {
387
386
  return Math.abs(i.overlapPercent - a.overlapPercent) <= 1 ? i.centerDistance - a.centerDistance : a.overlapPercent - i.overlapPercent;
388
387
  }), ue = e.zones.value.filter((i) => {
389
388
  if (!i.node || L.some(
390
- (I) => I && M(i.node, I)
389
+ (D) => D && M(i.node, D)
391
390
  ) || i.groups.length && !!e.draggingElements.value.some((S) => S.groups.length ? !S.groups.some((_) => i.groups.includes(_)) : !1))
392
391
  return !1;
393
392
  const a = k(i.node);
394
- return a && l && oe(a, l);
393
+ return a && o && oe(a, o);
395
394
  }).map((i) => {
396
- const a = k(i.node), I = b(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), Z = e.zones.value.filter(
395
+ const a = k(i.node), D = F(a), S = m >= a.x && m <= a.x + a.width && f >= a.y && f <= a.y + a.height, _ = v(a, o), Z = le(d, D), $ = e.zones.value.filter(
397
396
  (O) => O !== i && O.node && i.node && M(i.node, O.node)
398
397
  ).length;
399
398
  return {
400
399
  zone: i,
401
400
  isPointerInElement: S,
402
401
  overlapPercent: _,
403
- depth: Z,
404
- centerDistance: V
402
+ depth: $,
403
+ centerDistance: Z
405
404
  };
406
405
  }).sort((i, a) => {
407
- if (!D) {
406
+ if (!P) {
408
407
  if (i.isPointerInElement && a.isPointerInElement)
409
408
  return a.depth - i.depth;
410
409
  if (i.isPointerInElement !== a.isPointerInElement)
@@ -412,67 +411,65 @@ const C = xe(() => {
412
411
  }
413
412
  return Math.abs(i.overlapPercent - a.overlapPercent) <= 1 ? i.centerDistance - a.centerDistance : a.overlapPercent - i.overlapPercent;
414
413
  }), 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();
418
- }, o = () => {
414
+ 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(h);
415
+ }, p = () => {
416
+ h();
417
+ }, l = () => {
419
418
  r !== null && (cancelAnimationFrame(r), r = null);
420
419
  };
421
420
  return {
422
- activate: (l) => {
423
- e.draggingElements.value = s(t.value), n(l), y();
421
+ activate: (o) => {
422
+ e.draggingElements.value = s(t.value), n(o), p();
424
423
  },
425
- track: (l) => {
426
- u(l);
424
+ track: (o) => {
425
+ u(o);
427
426
  },
428
427
  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);
428
+ var o, d;
429
+ c(), e.hovered.zone.value ? (d = (o = e.hovered.zone.value.events).onDrop) == null || d.call(o, e) : e.draggingElements.value.forEach(
430
+ (m) => {
431
+ var f, I;
432
+ return (I = (f = m.events).onEnd) == null ? void 0 : I.call(f, e);
434
433
  }
435
- ), e.draggingElements.value = [], e.selectedElements.value = [], e.hovered.zone.value = null, e.hovered.element.value = null, o();
434
+ ), e.draggingElements.value = [], e.selectedElements.value = [], e.hovered.zone.value = null, e.hovered.element.value = null, l();
436
435
  }
437
436
  };
438
- }, Fe = (t) => {
437
+ }, Ue = (t) => {
439
438
  const {
440
439
  elementRef: e,
441
440
  registerElement: n,
442
441
  unregisterElement: u,
443
442
  isDragging: c,
444
443
  isOvered: r,
445
- isAllowed: s,
446
- isVisible: v
447
- } = Re(t), { disableInteractions: g, enableInteractions: y } = Ae(), o = C(), { activate: f, track: x, deactivate: p } = $e(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);
444
+ isAllowed: s
445
+ } = Re(t), { disableInteractions: v, enableInteractions: h } = Ae(), p = C(), { activate: l, track: g, deactivate: x } = Ve(e), y = (f) => {
446
+ t != null && t.container && (p.activeContainer.component.value = we(t.container)), v(), l(f), document.addEventListener("pointermove", o), document.addEventListener("pointerup", m), document.addEventListener("wheel", d);
447
+ }, o = (f) => {
448
+ g(f);
449
+ }, d = (f) => {
450
+ g(f);
453
451
  }, m = () => {
454
- o.activeContainer.component.value = null, y(), p(), document.removeEventListener("pointermove", d), document.removeEventListener("pointerup", m), document.removeEventListener("wheel", h);
452
+ p.activeContainer.component.value = null, h(), x(), document.removeEventListener("pointermove", o), document.removeEventListener("pointerup", m), document.removeEventListener("wheel", d);
455
453
  };
456
- return A(n), W(u), {
457
- pointerPosition: o.pointerPosition,
454
+ return A(n), b(u), {
455
+ pointerPosition: p.pointerPosition,
458
456
  elementRef: e,
459
457
  isDragging: c,
460
458
  isOvered: r,
461
459
  isAllowed: s,
462
- handleDragStart: l,
463
- isVisible: v
460
+ handleDragStart: y
464
461
  };
465
462
  }, Xe = (t) => {
466
- const { zones: e, hovered: n, draggingElements: u, isDragging: c } = C(), r = w(null), s = P(() => {
467
- var o;
468
- return ((o = n.zone.value) == null ? void 0 : o.node) === r.value;
469
- }), v = P(() => {
463
+ const { zones: e, hovered: n, draggingElements: u, isDragging: c } = C(), r = E(null), s = w(() => {
464
+ var l;
465
+ return ((l = n.zone.value) == null ? void 0 : l.node) === r.value;
466
+ }), v = w(() => {
470
467
  if (!r.value || !c.value) return !1;
471
- const o = e.value.find(
472
- (f) => f.node === r.value
468
+ const l = e.value.find(
469
+ (g) => g.node === r.value
473
470
  );
474
- return o != null && o.groups.length ? !u.value.some((f) => f.groups.length ? !f.groups.some(
475
- (x) => o.groups.includes(x)
471
+ return l != null && l.groups.length ? !u.value.some((g) => g.groups.length ? !g.groups.some(
472
+ (x) => l.groups.includes(x)
476
473
  ) : !1) : !0;
477
474
  });
478
475
  return { elementRef: r, registerZone: () => {
@@ -485,61 +482,61 @@ const C = xe(() => {
485
482
  }), r.value.setAttribute("data-dnd-droppable", "true");
486
483
  }, unregisterZone: () => {
487
484
  if (!r.value) throw new Error("elementRef is not set");
488
- const o = e.value.findIndex(
489
- (f) => f.node === r.value
485
+ const l = e.value.findIndex(
486
+ (g) => g.node === r.value
490
487
  );
491
- o !== -1 && e.value.splice(o, 1);
488
+ l !== -1 && e.value.splice(l, 1);
492
489
  }, isOvered: s, isAllowed: v };
493
- }, Ue = (t) => {
494
- const { elementRef: e, registerZone: n, unregisterZone: u, isOvered: c, isAllowed: r } = Xe(t);
495
- return A(n), W(u), { elementRef: e, isOvered: c, isAllowed: r };
496
490
  }, We = (t) => {
497
- const { selectedElements: e, elements: n } = C(), u = P(
498
- () => n.value.find((o) => o.node === t.value)
499
- ), c = P(
500
- () => e.value.some((o) => o.node === t.value)
501
- ), r = P(() => t.value ? e.value.some(
502
- (o) => o.node && M(
503
- o.node,
491
+ const { elementRef: e, registerZone: n, unregisterZone: u, isOvered: c, isAllowed: r } = Xe(t);
492
+ return A(n), b(u), { elementRef: e, isOvered: c, isAllowed: r };
493
+ }, be = (t) => {
494
+ const { selectedElements: e, elements: n } = C(), u = w(
495
+ () => n.value.find((l) => l.node === t.value)
496
+ ), c = w(
497
+ () => e.value.some((l) => l.node === t.value)
498
+ ), r = w(() => t.value ? e.value.some(
499
+ (l) => l.node && M(
500
+ l.node,
504
501
  t.value
505
502
  )
506
- ) : !1), s = P(() => t.value ? e.value.some(
507
- (o) => o.node && M(
503
+ ) : !1), s = w(() => t.value ? e.value.some(
504
+ (l) => l.node && M(
508
505
  t.value,
509
- o.node
506
+ l.node
510
507
  )
511
508
  ) : !1), v = () => {
512
509
  u.value && (e.value = e.value.filter(
513
- (o) => o.node !== t.value
510
+ (l) => l.node !== t.value
514
511
  ));
515
- }, g = () => {
512
+ }, h = () => {
516
513
  u.value && (r.value && (e.value = e.value.filter(
517
- (o) => o.node && !M(
518
- o.node,
514
+ (l) => l.node && !M(
515
+ l.node,
519
516
  t.value
520
517
  )
521
518
  )), s.value && (e.value = e.value.filter(
522
- (o) => o.node && !M(
519
+ (l) => l.node && !M(
523
520
  t.value,
524
- o.node
521
+ l.node
525
522
  )
526
523
  )), e.value.push(u.value));
527
524
  };
528
525
  return {
529
526
  handleUnselect: v,
530
- handleSelect: g,
527
+ handleSelect: h,
531
528
  handleToggleSelect: () => {
532
- u.value && (e.value.some((o) => o.node === t.value) ? v() : g());
529
+ u.value && (e.value.some((l) => l.node === t.value) ? v() : h());
533
530
  },
534
531
  isSelected: c,
535
532
  isParentOfSelected: r
536
533
  };
537
534
  };
538
535
  export {
539
- be as DragOverlay,
536
+ Fe as DragOverlay,
540
537
  k as getBoundingBox,
541
538
  C as useDnDStore,
542
- Fe as useDraggable,
543
- Ue as useDroppable,
544
- We as useSelection
539
+ Ue as useDraggable,
540
+ We as useDroppable,
541
+ be as useSelection
545
542
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-dnd-kit/core",
3
- "version": "0.0.30-beta",
3
+ "version": "0.0.31-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",