fluid-dnd 2.2.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{HandlerPublisher-DGYFIYDd.cjs → HandlerPublisher-B68XPAcH.cjs} +1 -1
- package/dist/{HandlerPublisher-CRBvk0J7.js → HandlerPublisher-pcX0Zmas.js} +1 -1
- package/dist/core/{configHandler.d.ts → config/configHandler.d.ts} +2 -2
- package/dist/core/{configHandler.js → config/configHandler.js} +4 -5
- package/dist/core/{utils → config}/droppableConfigurator.d.ts +3 -3
- package/dist/core/{utils → config}/droppableConfigurator.js +28 -11
- package/dist/core/dragAndDrop.d.ts +3 -3
- package/dist/core/dragAndDrop.js +53 -9
- package/dist/core/events/changeDraggableStyles.d.ts +4 -0
- package/dist/core/events/changeDraggableStyles.js +40 -0
- package/dist/core/events/dragAndDrop/dragAndDrop.d.ts +9 -0
- package/dist/core/{utils/events/emitEvents.js → events/dragAndDrop/dragAndDrop.js} +26 -145
- package/dist/core/{utils/translate/GetTranslateBeforeDropping.d.ts → events/dragAndDrop/getTranslateBeforeDropping.d.ts} +2 -2
- package/dist/core/{utils/translate/GetTranslateBeforeDropping.js → events/dragAndDrop/getTranslateBeforeDropping.js} +7 -15
- package/dist/core/{utils/translate/GetTranslationByDraggingAndEvent.d.ts → events/dragAndDrop/getTranslationByDraggingAndEvent.d.ts} +2 -2
- package/dist/core/{utils/translate/GetTranslationByDraggingAndEvent.js → events/dragAndDrop/getTranslationByDraggingAndEvent.js} +4 -4
- package/dist/core/events/insert.d.ts +4 -0
- package/dist/core/events/insert.js +80 -0
- package/dist/core/events/remove.d.ts +4 -0
- package/dist/core/events/remove.js +51 -0
- package/dist/core/positioning/autoScroll.d.ts +5 -0
- package/dist/core/positioning/autoScroll.js +51 -0
- package/dist/core/{utils/SetTransform.d.ts → positioning/usePositioning.d.ts} +1 -1
- package/dist/core/{utils/SetTransform.js → positioning/usePositioning.js} +7 -30
- package/dist/core/{utils/tempChildren.d.ts → tempChildren.d.ts} +1 -2
- package/dist/core/{utils/tempChildren.js → tempChildren.js} +22 -29
- package/dist/core/useDraggable.js +16 -12
- package/dist/core/utils/GetStyles.d.ts +3 -3
- package/dist/core/utils/GetStyles.js +48 -36
- package/dist/core/utils/SetStyles.d.ts +3 -3
- package/dist/core/utils/SetStyles.js +12 -12
- package/dist/core/utils/observer.d.ts +1 -0
- package/dist/core/utils/observer.js +8 -0
- package/dist/index-2hBSSK9_.cjs +1 -0
- package/dist/index-DFXw7kYo.js +1223 -0
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.mjs +4 -11
- package/dist/react/utils/ReactLilstConfig.d.ts +2 -2
- package/dist/react/utils/ReactLilstConfig.js +7 -17
- package/dist/svelte/index.cjs +1 -1
- package/dist/svelte/index.mjs +2 -2
- package/dist/svelte/utils/SvelteListCondig.js +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.mjs +2 -2
- package/dist/vue/utils/VueListCondig.d.ts +3 -3
- package/dist/vue/utils/VueListCondig.js +2 -5
- package/package.json +1 -1
- package/dist/core/utils/config.d.ts +0 -5
- package/dist/core/utils/config.js +0 -57
- package/dist/core/utils/events/emitEvents.d.ts +0 -11
- package/dist/core/utils/scroll.d.ts +0 -4
- package/dist/core/utils/scroll.js +0 -17
- package/dist/index-Dc95WWpv.js +0 -1271
- package/dist/index-DxKyk1TO.cjs +0 -1
- /package/dist/core/utils/{touchDevice.d.ts → typesCheckers.d.ts} +0 -0
- /package/dist/core/utils/{touchDevice.js → typesCheckers.js} +0 -0
package/dist/index-DxKyk1TO.cjs
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";var xe=Object.defineProperty;var Be=(e,t,n)=>t in e?xe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t,n)=>Be(e,typeof t!="symbol"?t+"":t,n);const q="horizontal",st="vertical",et="draggable",Xt="droppable",Lt="handler-class",Ft="dragging",Wt="dragging-handler-class",_t="dropping",oe="grabbing",re="grab",Kt="disable-transition",Me=(e,t)=>{const n=(c,f)=>e.removeAtEvent(c,f),s=(c,f,h)=>e.insertEvent(c,f,h),o=()=>e.getLength(),r=c=>e.getValue(c),a=c=>c;return{direction:(t==null?void 0:t.direction)??st,handlerSelector:(t==null?void 0:t.handlerSelector)??et,draggingClass:(t==null?void 0:t.draggingClass)??"dragging",droppableClass:(t==null?void 0:t.droppableClass)??"droppable-hover",isDraggable:(t==null?void 0:t.isDraggable)??(()=>!0),onDragStart:(t==null?void 0:t.onDragStart)??(()=>{}),onDragEnd:(t==null?void 0:t.onDragEnd)??(()=>{}),droppableGroup:t==null?void 0:t.droppableGroup,onRemoveAtEvent:n,onInsertEvent:s,onGetLegth:o,onGetValue:r,animationDuration:(t==null?void 0:t.animationDuration)??200,removingClass:(t==null?void 0:t.removingClass)??"removing",insertingFromClass:(t==null?void 0:t.insertingFromClass)??"from-inserting",delayBeforeRemove:(t==null?void 0:t.delayBeforeRemove)??200,delayBeforeInsert:(t==null?void 0:t.delayBeforeInsert)??200,mapFrom:(t==null?void 0:t.mapFrom)??a,delayBeforeTouchMoveEvent:(t==null?void 0:t.delayBeforeTouchMoveEvent)??150,coordinateTransform:(t==null?void 0:t.coordinateTransform)??[c=>c]}},we=(e,t)=>{const{config:n,droppable:s}=e,{onInsertEvent:o,onDragEnd:r}=n;return{...n,onDragEnd:f=>{const{index:h,value:d}=f;r({index:h,value:t(d,s)})},onInsertEvent:(f,h)=>o(f,t(h,s),!0)}},ot=(e,t)=>e.classList.contains(t),gt=(e,t,n=!1)=>{e.classList.toggle(t,n)},nt=(e,t)=>{e.classList.add(t)},xt=(e,t)=>{e.classList.remove(t)},Re=(e,t)=>Bt(t).every(n=>ot(e,n)),pt=e=>e?`.${Bt(e).join(".")}`:"",Le=(e,t)=>{if(!t)return;const n=Bt(t);e.classList.add(...n)},Bt=e=>e?e.split(" ").filter(t=>t):[],Oe=()=>{const{scrollX:e,scrollY:t}=window;return{scrollX:e,scrollY:t}},zt=e=>!e||e.trim().length==0||e=="normal"?0:parseFloat(e),Ne=e=>e?parseInt(e):-1,Fe=e=>{const t=getComputedStyle(e),n=new DOMMatrixReadOnly(t.transform);return{x:n.m41,y:n.m42}},ie=(e,t)=>e.x1>t.x1?ie(t,e):e.x2<t.x1?0:e.x2>=t.x2?e.x2-e.x1:e.x2-t.x1,ht=(e,t)=>!Pe(e,t),Pe=(e,t)=>{const n=Ot(e),s=Ot(t),o=Qt(n,s,st),r=Qt(n,s,q);return o>=Math.min(n.height,s.height)/2&&r>=Math.min(n.width,s.width)/2},Qt=(e,t,n)=>{const{before:s,distance:o}=M(n);return ie({x1:e[s],x2:e[s]+e[o]},{x1:t[s],x2:t[s]+t[o]})},L=(e,t)=>e?zt(getComputedStyle(e)[t]):0,Ut=e=>{const{scrollLeft:t,scrollTop:n}=e;return{scrollLeft:t,scrollTop:n}},Ot=e=>e.getBoundingClientRect(),M=e=>{const t=e==q;return{beforeMargin:t?"marginLeft":"marginTop",afterMargin:t?"marginRight":"marginBottom",borderBeforeWidth:t?"borderLeftWidth":"borderTopWidth",before:t?"left":"top",after:t?"right":"down",gap:t?"columnGap":"rowGap",distance:t?"width":"height",axis:t?"x":"y",offset:t?"offsetX":"offsetY",scroll:t?"scrollX":"scrollY",scrollElement:t?"scrollLeft":"scrollTop",page:t?"pageX":"pageY",inner:t?"innerWidth":"innerHeight",offsetElement:t?"offsetLeft":"offsetTop",scrollDistance:t?"scrollWidth":"scrollHeight",clientDistance:t?"clientWidth":"clientHeight",paddingBefore:t?"paddingLeft":"paddingTop",getRect:Ot}},wt=(e,t)=>$e(e,t),ce=e=>[...e.children].filter(n=>ot(n,et)),$e=(e,t)=>{const n=[...t.children].filter(o=>ot(o,et)&&!o.isEqualNode(e)).toReversed(),s=[...t.children].findLastIndex(o=>o.isEqualNode(e));return[n,s,t]},Ge=e=>{let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).position==="fixed")return t;t=t.parentElement}return null},ae=(e,t)=>{const{before:n,borderBeforeWidth:s}=M(t),o=Ge(e);return o?Ot(o)[n]+L(o,s):0},yt=e=>window.TouchEvent&&e instanceof TouchEvent,rt=e=>e instanceof HTMLElement,le=e=>e instanceof MouseEvent,Ie=["onmouseup","onmousedown","onmousemove"],Ye=(e,t,n)=>{e&&(e.style.height=`${t}px`,e.style.width=`${n}px`)},Ct=(e,t,n)=>{!e||!rt(e)||(n==0&&t==0?e.style.transform="":e.style.transform=`translate(${n}px,${t}px)`)},Xe=(e,t,n,s)=>{e[t]=o=>{if(o.defaultPrevented)return;s&&s(o);const r=Vt(o);n(r)}},It=(e,t,n,s)=>{n&&(We(t)?e[t]=n:Xe(e,t,n,s))},We=e=>Ie.includes(e),_e=e=>{const{target:t}=e;return{clientX:0,clientY:0,pageX:0,pageY:0,screenX:0,screenY:0,target:t,offsetX:0,offsetY:0}},Ve=(e,t)=>{const n=(s,o)=>qe(t,window,o,s);if(le(e)){const{offsetX:s,offsetY:o}=e;return[s,o]}else{const s=e.target;return[n(s,q),n(s,st)]}},Vt=e=>{const t=He(e);if(!t)return _e(e);const[n,s]=Ve(e,t),{clientX:o,clientY:r,pageX:a,pageY:c,screenX:f,screenY:h,target:d}=t;return{clientX:o,clientY:r,pageX:a,pageY:c,screenX:f,screenY:h,target:d,offsetX:n,offsetY:s}},He=e=>{if(yt(e))return e.touches[0]??e.changedTouches[0];if(le(e))return e},qe=(e,t,n,s)=>{const{page:o,scroll:r,before:a,borderBeforeWidth:c,getRect:f}=M(n),h=f(s);return e[o]-t[r]-h[a]-L(s,c)},Pt=(e,t,n="ease-out",s="transform")=>{rt(e)&&(e.style.transitionDuration=`${t}ms`,e.style.transitionTimingFunction=`${n}`,e.style.transitionProperty=`${s}`)},ue=(e,t,n)=>{!e||!rt(e)||(e[t]=()=>{n()})},ze=e=>{var t=e.querySelector("style");if(!t){var n=document.createElement("style");return e.appendChild(n),n}return t},je=(e,t)=>{const n=/\.-?[_a-zA-Z0-9-*\s<>():]+/g,[s]=t.match(n)||[];for(const o of e.cssRules){const[r]=o.cssText.match(n)||[];if(s===r)return!0}return!1},Ze=(e,t)=>{t.forEach(n=>{ke(e,n)})},ke=(e,t)=>{var s;var n=ze(e);n.sheet&&(je(n.sheet,t)||(s=n.sheet)==null||s.insertRule(t,n.sheet.cssRules.length))},de=(e,t={})=>{for(const n of Object.keys(t)){const s=t[n];s!=null&&Je(e,`--${n}`,s)}},Je=(e,t,n)=>e&&e.style.setProperty(t,n),Ke=(e,t,n)=>{n!=0&&(t==="vertical"?e.scrollBy(0,n):e.scrollBy(n,0))},Qe=(e,t,n)=>{const{scrollDistance:s,clientDistance:o,scrollElement:r}=M(e);return n[r]/(t[s]-t[o])},Ue=(e,t)=>{let n={offsetX:0,offsetY:0},s={top:0,left:0},o={x:0,y:0};const r=d=>{e.style.transform=`translate( ${d.x}px, ${d.y}px)`},a=d=>{e.style.top=`${d.top}px`,e.style.left=`${d.left}px`},c=(d,E,w,R)=>{const O=T=>{const{beforeMargin:b,borderBeforeWidth:B,before:Y,offset:F,scroll:P,page:k,inner:J,distance:z,axis:X,getRect:$}=M(T),K=w[k],V=window[P],Q=window[J],W=$(d)[z],G=L(d,B),H=L(d,b),j=K-n[F],ut=ae(d,T);if(j>=V-W/2&&j<=V+Q){const u=j-s[Y]-G-H-V-ut;return I(T),u}return o[X]},I=T=>{if(d&&ot(d,Ft)&&T===R){const{before:b,distance:B,axis:Y,getRect:F}=M(R),P=F(d)[B],k=F(E),J=s[b]-k[b]+o[Y],X=k[B]-P,$=J/X,K=P/X,V=.1,Q=.2,W=.8;let G=0;const H=ht(d,E);!H&&$<Q&&$>-K?G=$/Q-1:!H&&$>W&&$<1+K&&(G=1/(1-W)*($-W));const j=V*P*G;Ke(E,R,j)}},S=T=>{const{axis:b}=M(T);o[b]=O(T),r(f())};S(q),S(st)},f=()=>{let d=o;for(const E of t)d=E(d,e);return d};return[c,(d,E)=>{const[w,R,O,I]=nn(d,E,e);s={top:w,left:R},a(s),n={offsetX:O,offsetY:I}}]},Rt=(e,t,n)=>{const{borderBeforeWidth:s,before:o,getRect:r}=M(e);return r(t)[o]-r(n)[o]-L(n,s)},tn=(e,t)=>{let{offsetX:n,offsetY:s,target:o}=e,r=en(o,t);const a=o;return a&&r&&!a.isSameNode(r)&&(n+=Rt(q,a,r),s+=Rt(st,a,r)),r&&t!=o&&(n+=Rt(q,r,t),s+=Rt(st,r,t)),[n,s]},en=(e,t)=>{const n=e==null?void 0:e.closest(`.${Lt}`);return n&&n.isSameNode(t)?e:n},te=(e,t,n,s)=>{const{offset:o,beforeMargin:r,page:a,borderBeforeWidth:c,scroll:f}=M(e),h=ae(n,e);return t[a]-s[o]-L(n,r)-L(n,c)-window[f]-h},nn=(e,t,n)=>{const[s,o]=tn(e,n);return[te(st,e,t,{offsetX:s,offsetY:o}),te(q,e,t,{offsetX:s,offsetY:o}),s,o]},fe="startDrag",Nt="drag",jt="startDrop",sn="drop",at="temp-child",ge="cubic-bezier(0.2, 0, 0, 1)",on=e=>e===sn||e===jt,Ht=e=>!e||e.length==0?0:zt(e.replace("px","")),rn=(e,t)=>{const n=getComputedStyle(e)[t];if(n.match("%")){const o=zt(n.replace("%","")),{width:r}=e.getBoundingClientRect();return r*(o/100)}return Ht(n)},Zt=(e,t)=>{if(!(e instanceof Element))return[0,!1];const n=rn(e,t),s=getComputedStyle(e).display,o=n>0||s==="flex";return[n,o]},cn=e=>{const{top:t,left:n}=getComputedStyle(e);return[Ht(t),Ht(n)]},an=(e,t)=>{const{gap:n}=M(t),[s,o]=Zt(e,n);return o?s:0};function At(e,t,n,s,o=e.previousElementSibling,r=e.nextElementSibling){let{height:a,width:c}=ln(n,e,o,r);return ht(e,s)&&t==Nt&&(a=0,c=0),{height:a,width:c}}const ln=(e,t,n,s)=>{const{afterMargin:o,beforeMargin:r,distance:a,gap:c,getRect:f}=M(e),h=L(t,o),d=L(t,r),E=L(s,r),[w,R]=Zt(t.parentElement,c),O=f(t)[a];if(R)return ee(O,d,h,w,0,e);const[I,S,T]=un(n,E,h,d,o);return ee(O,S,I,0,T,e)},un=(e,t,n,s,o)=>{const r=Math.max(t,n);let a=s,c=t;if(e){const f=L(e,o);a=Math.max(f,s),c=Math.max(c,f)}return[r,a,c]},ee=(e,t,n,s,o,r)=>dn(r,e+t+n+s-o),dn=(e,t)=>e==q?{width:t,height:0}:{width:0,height:t},ne=(e,t)=>{const{borderBeforeWidth:n,paddingBefore:s,axis:o,getRect:r}=M(e),a=L(t,n),c=L(t,s),f=r(t)[o];return a+c+f},fn=(e,t)=>{const[n,s]=cn(t),o=ne(st,e);return[ne(q,e)-s,o-n]};function gn(e,t,n,s,o,r,a,c,f){let h=0,d=0;const E=!!(n<0&&f);if(n===s&&!E)return se({height:h,width:d},e,o,a,E);const[w,R,O,I]=mn(t,n,s,f);if(E){const[H,j]=fn(c,f);h+=j,d+=H}const{scrollElement:S,beforeMargin:T,afterMargin:b,distance:B,gap:Y}=M(e),[F,P]=Zt(c,Y),[k,J,z]=vn(T,b,w,R==null?void 0:R.previousElementSibling,I,P,E),[X,$,K]=Sn(T,b,B,O,F,P),V=hn($,X,K,J,k,F),Q=E?c[S]:pn(S,c,r),G=(I?V-z:z-V)-Q;return e===st?h+=G:e===q&&(d+=G),se({height:h,width:d},e,o,a,E)}const pn=(e,t,n)=>{const s=t[e],o=n[e];return s-o},hn=(e,t,n,s,o,r)=>{const a=Math.max(t,o);return Math.max(n,s)+e+a+r},mn=(e,t,n,s)=>{const o=t<n,[r,a]=[t,n].toSorted((d,E)=>d-E),c=e[t]??s,f=e[n];let h=o?e.slice(r+1,a+1):e.slice(r,a);return r<0&&s&&(h=e.slice(r+1,a)),[c,f,h,o]},Sn=(e,t,n,s,o,r)=>{if(s.length==0)return[0,0,0];const a=L(s[0],e);let c=0,f=-a;for(const[h,d]of s.entries()){const E=d.getBoundingClientRect()[n],w=L(d,e);r&&(c+=w),r&&h>0?c+=o:c=Math.max(c,w),f+=c+E,c=L(d,t)}return[a,f,c]},se=(e,t,n,s,o)=>{const{scroll:r,distance:a}=M(t),c=window[r],f=n[r],h=o?0:f-2*c+s[r];return e[a]+=h,e},vn=(e,t,n,s,o,r,a)=>{const c=o?n.previousElementSibling:s;return Dn(e,t,c,n,r,a)},Dn=(e,t,n,s,o,r)=>{if(o)return[0,0,0];const a=L(r?null:n,t),c=L(s,e);let f=Math.max(a,c);return[a,c,f]},kt=(e,t,n,s=()=>!0)=>{const o=new MutationObserver(r=>{if(r=r.filter(s),r.length>0){const a=r[0];e(o,a)}});return o.observe(t,n),o},Tn="startDrag",pe="cubic-bezier(0.2, 0, 0, 1)",he=50,qt=e=>rt(e)?e.classList.contains(at):!1,bn=(e,t,n)=>{let s=At(t,Tn,n,e);const o=an(e,n),{distance:r}=M(n);s[r]-=o;const[a,c]=En(n,t);return s[c]=a,s},En=(e,t)=>{const n=e==q?st:q,{distance:s,getRect:o}=M(n);return[o(t)[s],s]},mt=(e,t,n)=>{Ye(e,t,n),e.style.minWidth=`${n}px`},yn=(e,t,n)=>s=>{t.contains(e)&&(mt(e,n.height,n.width),s.disconnect())},Cn=(e,t)=>{if(!t)return;const{droppable:n,config:s,scroll:o}=e,{direction:r}=s,a=Qe(s.direction,n,o)>.99,{scrollDistance:c,clientDistance:f,scrollElement:h}=M(r);a&&(n[h]=n[c]-n[f])},me=(e,t,n,s)=>{if(!n)return;const{droppable:o,config:r}=n,{direction:a,animationDuration:c}=r;if(Cn(n,t),o.querySelector(`.${at}`)||!e)return;var f=e.tagName=="LI"?"DIV":e.tagName,h=document.createElement(f);nt(h,at),mt(h,0,0);const d=bn(o,e,a);return Pt(h,c,pe,"width, min-width, height"),[h,d,o]},Yt=(e,t,n,s,o)=>{const r=me(e,n,s);if(!r)return;const[a,c,f]=r;t.isSameNode(f)&&mt(a,c.height,c.width),kt(yn(a,f,c),f,{childList:!0,subtree:!0}),f.appendChild(a)},An=(e,t,n)=>{const s=me(e,t,n);if(!s)return;const[o,r,a]=s;a.appendChild(o),xn(o,r)},xn=(e,t)=>requestAnimationFrame(()=>{mt(e,t.height,t.width),requestAnimationFrame(()=>{Pt(e,0,pe,"width, min-width, height")})}),Bn=(e,t,n,s,o=!0)=>{if(n){var r=document.querySelectorAll(`${pt(n)} > .${at}`);r.forEach(a=>{const c=a.parentElement;if(c!=null&&c.isSameNode(t)||!o&&(c!=null&&c.isSameNode(e)))return;mt(a,0,0),setTimeout(()=>{var h;(h=a.parentNode)==null||h.removeChild(a)},s+he)})}},Et=(e,t,n=!1)=>{var s=e.querySelectorAll(`.${at}`);s.forEach(o=>{const r=o;n?(mt(r,0,0),setTimeout(()=>{e.contains(r)&&e.removeChild(r)},t+he)):e.removeChild(o)})},Mn=50;function wn(e,t,n,s,o,r){let a=t;const{direction:c,handlerSelector:f,onRemoveAtEvent:h,animationDuration:d,delayBeforeInsert:E,draggingClass:w}=e,R=(l,u,p,v,m)=>{if(!v)return;const{droppable:y,config:C}=v,A=At(l,u,C.direction,y);on(u)?P(l,u,A,p,v,m):T(l,u,A,v)},O=(l,u,p,v,m)=>{const y=At(u,"insert",e.direction,p),{onInsertEvent:C}=e,A=ce(p);for(const[N,x]of A.entries())ot(x,et)&&N>=l&&F(x,y);m(),setTimeout(()=>{C(l,v),Se(l,p,e),H(u),W(u,n),Et(n,0,!0)},E)},I=(l,u,p,v)=>{if(!p||!p.droppable||!p.config)return;const{droppable:m,config:y}=p;let[C]=wt(u,m);C=[u,...C].toReversed();const A=At(u,"remove",y.direction,m);for(const[N,x]of C.entries())N>=l&&(Y(x,A),setTimeout(()=>{v(x)},d))},S=l=>{Et(n,d,!0),setTimeout(()=>{H(l),W(l,n)},d)},T=(l,u,p,v)=>{const{config:m,droppable:y}=v,[C]=wt(l,y),A=ht(l,y);C.length==0&&B(p,1,m.direction,C);for(const[N,x]of C.entries()){if(!ot(x,et))continue;const _=b(m.direction,l,x,p);if(!A&&_)p=_;else if(!A)continue;const U=C.length-N;B(p,U,m.direction,C),u===fe?Y(x,p):u===Nt&&F(x,p)}},b=(l,u,p,v)=>{const{before:m,distance:y,axis:C,getRect:A}=M(l),N=A(u),x=A(p),_=N[m],U=x[m],St=x[y],vt=U+St/2,dt=Fe(p)[C],it=vt-dt;return _>it?{height:0,width:0}:v},B=(l,u,p,v)=>{const m=v.filter(C=>ot(C,et)).length,{distance:y}=M(p);l[y]==0?a=Math.max(a,u):a=Math.min(a,u-1),a=Math.min(a,m)},Y=(l,u)=>{const{width:p,height:v}=u;Ct(l,v,p)},F=(l,u)=>{const{width:p,height:v}=u;Ct(l,v,p),Pt(l,d,ge)},P=(l,u,p,v,m,y)=>{const{droppable:C,scroll:A,config:N}=m,[x,_]=wt(l,C),U=x.toReversed(),St=_===-1?U.length:_;U.splice(St,0,l);const[vt,dt,it]=k(l,_,U,C);p=At(l,u,N.direction,n,vt,dt);const $t=Oe(),Dt=gn(N.direction,U,_,it,$t,A,v,C,l);x.length==0&&J(void 0,p,l,Dt);for(const[Gt,Tt]of x.toReversed().entries()){let Mt=p;it-1>=Gt&&(Mt={height:0,width:0}),u===jt&&!ot(Tt,at)&&J(Tt,Mt,l,Dt)}z(it,l,N,C,y)},k=(l,u,p,v)=>{const y=ht(l,v)?u:a,C=()=>u<y?[y,y+1]:u>y?[y-1,y]:[y-1,y+1],[A,N]=C(),x=p[A]??null,_=p[N]??null;return[x,_,y]},J=(l,u,p,v)=>{Ct(l,u.height,u.width),Ct(p,v.height,v.width)},z=(l,u,p,v,m)=>{const{onInsertEvent:y,onDragEnd:C}=p;nt(u,_t),K(u,n,v,()=>{if(xt(u,_t),m!=null){const A=h(m,!0);A!=null&&(y(l,A,!0),C({value:A,index:l})),$(u),X()}})},X=()=>{if(s){var l=document.querySelectorAll(`${pt(s)} > .${et}`);for(const u of l)G(u)}},$=l=>{setTimeout(()=>{xt(l,w)},Mn)},K=(l,u,p,v)=>{setTimeout(()=>{v&&v(),V(u,p),Q(p),H(l),W(l,u),W(l,p)},d)},V=(l,u)=>{l.isSameNode(u)?Et(l,d):(Et(l,d,!0),Et(u,d))},Q=l=>{if(n.isSameNode(l))return;var[u]=n.querySelectorAll(`.${at}`);if(!u)return;const{distance:p}=M(c);rt(u)&&(u.style[p]="0px")},W=(l,u)=>{const[p]=wt(l,u);for(const v of[...p,l])G(v)},G=l=>{rt(l)&&(l.style.transition="",l.style.transform="")},H=l=>{r(),ut(l,!1),l.style.transform="",l.style.transition="",l.style.top="",l.style.left="",de(l,{fixedHeight:"",fixedWidth:""})},j=(l,u)=>{const p=u.querySelector(f);gt(document.body,oe,l),gt(p||u,Wt,l)},ut=(l,u)=>{gt(l,Ft,u),j(u,l),o.toggleGrabClass(!u)};return[R,I,O,S,ut]}const Rn=e=>e.addedNodes.values().filter(n=>!qt(n)).toArray().length>0,Se=(e,t,n)=>{const{insertingFromClass:s,animationDuration:o}=n,r=kt(()=>{const c=ce(t)[e];nt(c,s),nt(c,Kt),setTimeout(()=>{xt(c,Kt),xt(c,s),r.disconnect()},o)},t,{childList:!0},Rn)},Ln=(e,t,n,s)=>{if(!t)return;const{onInsertEvent:o,delayBeforeInsert:r}=e;setTimeout(()=>{o(n,s),Se(n,t,e)},r)},tt=class tt{static addConfig(t,n){const s=tt.configs.filter(r=>!r.droppable.isSameNode(t)),o=Ut(t);s.push({droppable:t,config:n,scroll:o}),tt.configs=s}static updateScrolls(t,n){for(const s of tt.configs){const{droppable:o}=s;(n&&Re(o,n)||o.isSameNode(t))&&(s.scroll=Ut(o))}}static getConfig(t){return tt.configs.find(({droppable:s})=>s.isSameNode(t))}};Z(tt,"configs",[]),Z(tt,"removeObsoleteConfigs",()=>{const t=tt.configs.filter(({droppable:n})=>document.contains(n));tt.configs=t});let lt=tt;class On{constructor(t,n,s,o,r,a){Z(this,"initial");Z(this,"current");Z(this,"parent");Z(this,"draggableElement");Z(this,"groupClass");Z(this,"dragEvent");Z(this,"changeDroppable");Z(this,"mapFrom");this.parent=s,this.draggableElement=t,this.groupClass=n,this.dragEvent=o,this.mapFrom=a,this.initial=s?lt.getConfig(s):void 0,this.changeDroppable=r}getDraggableAncestor(t,n,s){return document.elementsFromPoint(t,n).filter(o=>!o.isSameNode(s))}getElementBelow(t,n,s=!0){const o=a=>{const[c]=a.getDraggableAncestor(n.clientX,n.clientY,t);return c};let r=null;return s?(t.hidden=!0,r=o(this),t.hidden=!1):r=o(this),r}getCurrent(t,n,s=!0){const o=this.getElementBelow(t,n,s);return!this.groupClass||!o?void 0:o.closest(pt(this.groupClass))}isOutsideOfAllDroppables(t){return(this.groupClass?Array.from(document.querySelectorAll(pt(this.groupClass))):[this.parent]).every(s=>ht(t,s))}isNotInsideAnotherDroppable(t,n){return!ht(t,n)||this.isOutsideOfAllDroppables(t)}onScrollEvent(){this.dragEvent()}setOnScroll(t){ue(t,"onscroll",()=>{this.onScrollEvent()})}getConfigFrom(t){const n=lt.getConfig(t);if(n)return t.isSameNode(this.parent)?n:{...n,config:we(n,this.mapFrom)}}getCurrentConfig(t){var o;const n=this.draggableElement;if(this.current&&this.isNotInsideAnotherDroppable(n,(o=this.current)==null?void 0:o.droppable))return this.current;const s=this.getCurrent(n,t);return s?(rt(s)&&!s.onscroll&&this.setOnScroll(s),this.getConfigFrom(s)):this.getConfigFrom(this.parent)}updateConfig(t){const n=this.current;this.current=this.getCurrentConfig(t),this.changeDroppable(this.current,n)}isOutside(t,n=!0){const s=this.draggableElement;return!this.getCurrent(s,t,n)}}function Nn(e,t,n,s,o){const{handlerSelector:r,isDraggable:a,droppableGroup:c,animationDuration:f,delayBeforeRemove:h,draggingClass:d,removingClass:E,onRemoveAtEvent:w,droppableClass:R,onDragStart:O,delayBeforeTouchMoveEvent:I,coordinateTransform:S}=n,T=Bt(c).map(i=>`droppable-group-${i}`).join(" ");let b=0,B={scrollX:0,scrollY:0},Y={pageX:0,pageY:0},F,P;const[k,J]=Ue(e,S),z=()=>{b=0},[X,$,K,V,Q]=wn(n,t,s,T,o,z),W=()=>{nt(e,et)},G=i=>{nt(i,Lt),o.addSubscriber(i)},H=()=>{if(a(e)){const i=e.querySelector(r);G(i||e)}},j=()=>{H(),W()},ut=i=>{const g=i==null?void 0:i.querySelector(`.${Lt}`),D=g==null?void 0:g.parentElement;return g&&D&&ot(D,Xt)&&!D.isSameNode(s)?null:g},l=i=>{const g=ut(i)??i;g&&a(i)&&(It(g,"onmousedown",dt("mousemove","mouseup")),It(g,"ontouchstart",dt("touchmove","touchend"),D=>{P={x:D.touches[0].clientX,y:D.touches[0].clientY}}),u(g)),i!=null&&i.isSameNode(g)||It(i,"onmousedown",it),nt(s,Xt)},u=i=>{const g=i.querySelectorAll("img");Array.from(g).forEach(D=>{D.onmousedown=()=>!1})},p=()=>{if(Y.pageX==0&&Y.pageY==0||!m.current)return;const{droppable:i,config:g}=m.current;k(e,i,Y,g.direction),X(e,Nt,B,m.current)},v=(i,g)=>{g&&b==2&&!(i!=null&&i.droppable.isSameNode(g.droppable))&&X(e,Nt,B,g)},m=new On(e,T,s,p,v,n.mapFrom),y=i=>{if(!m.current)return;const g=T?Array.from(document.querySelectorAll(pt(T))):[s];for(const D of g)D.classList.toggle(R,!i&&D.isSameNode(m.current.droppable))},C=(i,g=!1)=>{m.updateConfig(i);const D=m.isOutside(i);y(D),b===1&&!g?Tt(i):b===2&&(A(D),ve(i))},A=(i=!0)=>{if(!m.current)return;const{droppable:g}=m.current;Bn(g,s,T,f,i),!i&&Yt(e,s,b==1,m.current)},N=i=>{if(yt(i)&&P&&b==1){const g=Math.abs(i.touches[0].clientX-P.x),D=Math.abs(i.touches[0].clientY-P.y);if(Math.abs(g)>5&&Math.abs(D)>5)return clearTimeout(F),!1}return!0},x=i=>{clearTimeout(F);const g=Vt(i);if(yt(i)&&i.cancelable&&b==2&&i.preventDefault(),yt(i)&&!i.cancelable||!N(i)){Dt("touchmove",i);return}C(g,yt(i))},_=(i,g)=>{i=="touchmove"?F=setTimeout(()=>{g()},I):g()},U=(i,g)=>{const{clientX:D,clientY:ft}=i,ct=document.elementFromPoint(D,ft),bt=ct==null?void 0:ct.closest(`.${et}`);return bt&&g.isSameNode(bt)},St=i=>{const g=n.onGetValue(t);return{index:t,element:i,value:g}},vt=i=>{m.updateConfig(i),y(m.isOutside(i)),Tt(i)},dt=(i,g)=>D=>{if(!U(D,e))return;lt.updateScrolls(s,T);const{scrollX:ft,scrollY:ct}=window;if(B={scrollX:ft,scrollY:ct},b===0){b=1;const bt=St(e);bt&&O(bt),_(i,()=>{i=="touchmove"&&vt(D)}),document.addEventListener(i,x,{passive:!1}),De(s),document.addEventListener(g,$t(i),{once:!0})}},it=i=>m.updateConfig(i),$t=i=>g=>{Dt(i,g)},Dt=(i,g)=>{y(!0);const D=Vt(g);be(m.isOutside(D,!1)),clearTimeout(F),document.removeEventListener(i,x),m.updateConfig(D);const ft=m.getCurrentConfig(D);if(ft){const{droppable:ct}=ft;Gt(ct)}s.onscroll=null,z()},Gt=i=>{if(i.onscroll=null,!T)return;const g=Array.from(document.querySelectorAll(pt(T)));for(const D of g)rt(D)&&(D.onscroll=null)},Tt=i=>{Yt(e,s,b==1,m.current),Mt(),X(e,fe,B,m.current),Ee(e),J(i,e)},Mt=()=>{b=2},ve=i=>{const{pageX:g,pageY:D}=i;Y={pageX:g,pageY:D},p()},De=i=>ue(i,"onscroll",Te),Te=()=>p(),be=i=>{if(b!==2&&b!==1){z();return}b=3,Jt(e),e.classList.contains(Ft)&&X(e,jt,B,i?m.initial:m.current,t)},Jt=i=>{Pt(i,f,ge),Ct(i,0,0)},Ee=i=>{const{height:g,width:D}=i.getBoundingClientRect();de(i,{fixedHeight:`${g}px`,fixedWidth:`${D}px`}),Q(i,!0),gt(i,d,!0),i.style.transition=""},ye=(i,g)=>{xt(e,E),Yt(e,s,b==1,m.initial),$(i,e,g,D=>{Jt(D),V(e)}),w(t,!0)},Ce=i=>{if(!m.initial)return;const g=m.initial;i==t&&(nt(e,E),setTimeout(()=>{ye(i,g)},h))},Ae=(i,g)=>{(i===t||i===n.onGetLegth()&&t===i-1)&&K(i,e,s,g,()=>{An(e,b==1,m.initial)})};return j(),l(e),[Ce,Ae]}const Fn=(e,t)=>{e&&Le(t,e)},Pn=()=>{Ze(document.body,[`.${et}{touch-action:manipulation;user-select:none;box-sizing:border-box!important;-webkit-user-select:none;}`,`.${Lt}{pointer-events:auto!important;}`,`.${re}{cursor:grab;}`,".temp-child{touch-action:none;pointer-events:none;box-sizing:border-box!important;}",".droppable{box-sizing:border-box!important;}",`.${Ft}{position:fixed;z-index:5000;width:var(--fixedWidth)!important;height:var(--fixedHeight)!important;}`,`.${Wt}{pointer-events:none!important;}`,`.${_t}{pointer-events:none!important;}`,`.${oe}{cursor:grabbing;}`,".disable-transition{transition:none!important;}"])};function $n(e,t,n,s="index"){const o=s;let r=[],a=[];const{droppableGroup:c}=e;if(!n)return[r,a];const f=Bt(c).map(h=>`droppable-group-${h}`).join(" ");Pn(),Fn(f,n);for(const h of n.children){const d=h.getAttribute(o),E=Ne(d),w=h;if(w&&E>=0){const[R,O]=Nn(w,E,e,n,t);r.push(R),a.push(O)}}return[r,a]}function Gn(e,t,n,s="index"){let o=[],r=[],a;const c=Me(e,n),f=S=>{for(const T of o)T(S)},h=(S,T)=>{if(c.onGetLegth()===0)e.insertToListEmpty(c,S,T);else for(const B of r)B(S,T)},d=S=>{const[T,b]=$n(c,t,S,s);o=T,r=b},E=S=>{const T=S.addedNodes.values().filter(B=>!qt(B)).toArray(),b=S.removedNodes.values().filter(B=>!qt(B)).toArray();return T.length>0||b.length>0},w=S=>{a=kt(()=>{d(S)},S,{childList:!0},E)},R=S=>{nt(S,Xt)},O=S=>{lt.addConfig(S,c)};return[f,h,S=>{if(S)return R(S),O(S),w(S),d(S),lt.removeObsoleteConfigs(),a}]}exports.GRAB_CLASS=re;exports.addClass=nt;exports.dragAndDrop=Gn;exports.insertToListEmpty=Ln;exports.toggleClass=gt;
|
File without changes
|
File without changes
|