fluid-dnd
Version:
An agnostic drag and drop library to sort all kind of lists. With current support for vue, react and svelte
2 lines (1 loc) • 1.01 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-GR-moYK4.cjs");function d(a,l,T,u){const{animationDuration:m}=a,[g]=o.useChangeDraggableStyles(a,T,u),S=(s,t,e,i)=>{if(!e||!e.droppable||!e.config)return;const{droppable:n,config:r}=e;let[v]=o.getSiblings(t,n);v=[t,...v].toReversed();const D=o.getTranslationByDraggingAndEvent(t,"remove",r.direction,n);for(const[A,c]of v.entries())A>=s&&(o.moveTranslate(c,D),setTimeout(()=>{i(c)},m))},b=s=>{o.removeTempChild(l,m,!0),setTimeout(()=>{g(s),f(s,l)},m)},f=(s,t)=>{const[e]=o.getSiblings(s,t);for(const i of[...e,s])o.removeTranslateWhitoutTransition(i)},y=(s,t,e,i)=>{const{removingClass:n,delayBeforeRemove:r}=a;t==s&&(o.addClass(e,n),setTimeout(()=>{R(s,t,e,i)},r))},R=(s,t,e,i)=>{const{removingClass:n,onRemoveAtEvent:r}=a;o.removeClass(e,n),o.addTempChild(e,l,!1,i),S(t,e,i,v=>{h(v),b(e)}),r(s,!0)},h=s=>{o.setTranistion(s,m,o.draggableTargetTimingFunction),o.moveTranslate(s)};return[y]}exports.default=d;