UNPKG

@playbooks/hooks

Version:

A collection of React hooks for Playbooks.

39 lines (38 loc) 1.17 kB
import { useEffect } from "react"; const useMouseDown = (method, listeners) => { useEffect(() => { window.addEventListener("mousedown", method); return () => window.removeEventListener("mousedown", method); }, [...listeners]); }; const useMouseEnter = (method, listeners) => { useEffect(() => { window.addEventListener("mouseenter", method); return () => window.removeEventListener("mouseenter", method); }, [...listeners]); }; const useMouseLeave = (method, listeners) => { useEffect(() => { window.addEventListener("mouseleave", method); return () => window.removeEventListener("mouseleave", method); }, [...listeners]); }; const useMouseUp = (method, listeners) => { useEffect(() => { window.addEventListener("mouseup", method); return () => window.removeEventListener("mouseup", method); }, [...listeners]); }; const useMouseMenu = (method, listeners) => { useEffect(() => { window.addEventListener("contextmenu", method); return () => window.removeEventListener("contextmenu", method); }, [...listeners]); }; export { useMouseDown, useMouseEnter, useMouseLeave, useMouseMenu, useMouseUp };