UNPKG

piral-hooks-utils

Version:

Hooks and HOC for pilets and Piral instances.

23 lines 825 B
import { useEffect } from 'react'; /** * Hook that detects if a click outside the given reference * has been performed. * @param ref The reference to the element. * @param handler The callback to invoke when an outside click happened. */ export function useOnClickOutside(ref, handler) { useEffect(() => { const listener = (event) => { if (ref.current && !ref.current.contains(event.target)) { handler(event); } }; document.addEventListener('mousedown', listener); document.addEventListener('touchstart', listener); return () => { document.removeEventListener('mousedown', listener); document.removeEventListener('touchstart', listener); }; }, [handler]); } //# sourceMappingURL=onClickOutside.js.map