UNPKG

use-draggable-scroll

Version:

React hook to add draggability to scrollable content easily

3 lines (2 loc) 889 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(e,r){void 0===r&&(r={direction:"both"});var o=r.direction,t={scrollTop:0,scrollLeft:0,mouseX:0,mouseY:0},n=function(r){if(e.current){var n=r.clientX-t.mouseX;"horizontal"!==o&&(e.current.scrollTop=t.scrollTop-(r.clientY-t.mouseY)),"vertical"!==o&&(e.current.scrollLeft=t.scrollLeft-n)}},c=function r(){e.current&&(e.current.style.cursor="grab"),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r)};return{onMouseDown:function(r){e.current&&(t={scrollLeft:e.current.scrollLeft,scrollTop:e.current.scrollTop,mouseX:r.clientX,mouseY:r.clientY},e.current.style.cursor="grabbing",e.current.style.userSelect="none",document.addEventListener("mousemove",n),document.addEventListener("mouseup",c))}}}; //# sourceMappingURL=use-draggable-scroll.cjs.production.min.js.map