@thaddeusjiang/react-sortable-list
Version:
You should focus the `features` of your app, not DnD boilerplate.
3 lines (2 loc) • 1.56 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e,t=(e=require("react"))&&"object"==typeof e&&"default"in e?e.default:e,r=require("@dnd-kit/sortable"),n=require("@dnd-kit/utilities"),i=require("@dnd-kit/core"),o=function(e){var i=e.DragHandler,o=e.className,s=r.useSortable({id:e.id}),a=s.attributes,d=s.listeners,l=s.setNodeRef,c=s.transition,u={transform:n.CSS.Transform.toString(s.transform),transition:c};return i?t.createElement("div",{ref:l,style:u,className:o},t.createElement(i,Object.assign({},a,d)),e.children):t.createElement("div",Object.assign({ref:l,style:u},a,d,{className:o}),e.children)};exports.SortableItem=o,exports.SortableList=function(e){var n=e.items,s=e.setItems,a=e.children,d=e.itemRender,l=e.horizontal,c=e.disabled,u=void 0!==c&&c,m=i.useSensors(i.useSensor(i.PointerSensor),i.useSensor(i.KeyboardSensor,{coordinateGetter:r.sortableKeyboardCoordinates}));return u?t.createElement(t.Fragment,null,a?a({items:n}):n.map((function(e){return null==d?void 0:d({item:e})}))):t.createElement(i.DndContext,{sensors:m,collisionDetection:i.closestCenter,onDragEnd:function(e){var t=e.active,n=e.over;t.id!==n.id&&s((function(e){var i=e.map((function(e){return e.id})),o=i.indexOf(t.id),s=i.indexOf(n.id);return r.arrayMove(e,o,s)}))}},t.createElement(r.SortableContext,{items:n,strategy:l?r.horizontalListSortingStrategy:r.verticalListSortingStrategy},a?a({items:n}):n.map((function(e){return t.createElement(o,{key:e.id,id:e.id},d({item:e}))}))))};
//# sourceMappingURL=react-sortable-list.cjs.production.min.js.map