UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

36 lines (34 loc) 1.3 kB
function getDragEventsAssigner({ onDrag, onDragEnd }) { const handleDrag = (event) => { if (event.cancelable) { event.preventDefault(); } onDrag(event); }; const handleDragEnd = (event) => { if (event.cancelable) { event.preventDefault(); } removeEvents(); onDragEnd(event); }; const assignEvents = () => { document.addEventListener("mousemove", handleDrag); document.addEventListener("mouseup", handleDragEnd); document.addEventListener("touchmove", handleDrag, { passive: false }); document.addEventListener("touchend", handleDragEnd, { passive: false }); document.addEventListener("touchcancel", handleDragEnd, { passive: false }); document.addEventListener("mouseleave", handleDragEnd); }; function removeEvents() { document.removeEventListener("mousemove", handleDrag); document.removeEventListener("mouseup", handleDragEnd); document.removeEventListener("touchmove", handleDrag); document.removeEventListener("touchend", handleDragEnd); document.removeEventListener("touchcancel", handleDragEnd); document.removeEventListener("mouseleave", handleDragEnd); } return { assignEvents, removeEvents }; } export { getDragEventsAssigner }; //# sourceMappingURL=get-drag-events-assigner.js.map