Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2775 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3719 stevensc 1
import { useEffect, useRef } from 'react';
2
 
3
export function useOutsideClick(callback = () => {}) {
4
  const elementRef = useRef();
5
 
6
  useEffect(() => {
7
    const handleClickOutside = (event) => {
8
      if (!elementRef?.current) return;
9
      if (!elementRef.current?.contains(event.target)) callback();
10
    };
11
 
12
    document.addEventListener('mousedown', handleClickOutside);
13
    return () => {
14
      document.removeEventListener('mousedown', handleClickOutside);
15
    };
16
  }, [elementRef]);
17
 
18
  return [elementRef];
19
}