UNPKG

beta-parity-react

Version:

Beta Parity React Components

1 lines 862 B
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useTouch=void 0;var _react=require("react");var useTouch=exports.useTouch=function useTouch(context,options){var open=context.open,onOpenChange=context.onOpenChange;var touchTimeout=(0,_react.useRef)(null);var isTouching=(0,_react.useRef)(false);var delay=options.delay;var handleTouchStart=function handleTouchStart(){isTouching.current=true;touchTimeout.current=setTimeout(function(){if(isTouching.current){onOpenChange(true)}},delay)};var handleTouchEnd=function handleTouchEnd(){isTouching.current=false;if(touchTimeout.current){clearTimeout(touchTimeout.current);onOpenChange(false)}};(0,_react.useEffect)(function(){return function(){if(touchTimeout.current){clearTimeout(touchTimeout.current)}}},[]);return{reference:{onTouchStart:handleTouchStart,onTouchEnd:handleTouchEnd}}};