UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 527 B
import{useCallback as t,useRef as d}from"react";export const useDragGesture=({onDragStart:n,onDragMove:c,onDragEnd:r})=>{const e=d(!1),s=t(u=>{e.current=!0,n(u.touches[0].clientY)},[n]),o=t(u=>{e.current&&c(u.touches[0].clientY)},[c]),l=t(()=>{e.current&&(e.current=!1,r())},[r]),h=t(u=>{e.current=!0,n(u.clientY)},[n]),i=t(u=>{e.current&&c(u.clientY)},[c]),f=t(()=>{e.current&&(e.current=!1,r())},[r]);return{touchHandlers:{onTouchStart:s,onTouchMove:o,onTouchEnd:l},mouseHandlers:{onMouseDown:h,onMouseMove:i,onMouseUp:f}}};