// Copyright (C) 2017-2024 Smart code 203358507 import { useEffect, useRef } from 'react'; const useOutsideClick = (callback: () => void) => { const ref = useRef(null); useEffect(() => { const handleClickOutside = (event: MouseEvent | TouchEvent) => { if (ref.current && !ref.current.contains(event.target as Node)) { callback(); } }; document.addEventListener('mouseup', handleClickOutside); document.addEventListener('touchend', handleClickOutside); return () => { document.removeEventListener('mouseup', handleClickOutside); document.removeEventListener('touchend', handleClickOutside); }; }, [callback]); return ref; }; export default useOutsideClick;