motion
Version:
The Motion library for the web
22 lines (19 loc) • 766 B
JavaScript
import { useGestureState } from './use-gesture-state.es.js';
function usePress(target, options, { press, onPointerDown, poses } = {}, { press: inheritedPress }, isPoseActive) {
const [isPressActive, setPressState] = useGestureState(target, options, press, inheritedPress, poses);
isPoseActive.press = isPressActive;
if (!press)
return {};
const onPointerUp = () => {
setPressState(false);
window.removeEventListener("pointerup", onPointerUp);
};
return {
onPointerDown: (e) => {
onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(e);
setPressState(true);
window.addEventListener("pointerup", onPointerUp);
},
};
}
export { usePress };