import { useEffect, useState } from "react"; const UseOutsideRef = (ref: any) => { const [isOutsideRef, setIsOutsideRef] = useState(false); useEffect(() => { function handleClickOutside(event: any) { if (ref.current && !ref.current.contains(event.target)) { setIsOutsideRef(true); setTimeout(() => { setIsOutsideRef(false); }, 200); } } document.addEventListener("mousedown", handleClickOutside); return () => { document.removeEventListener("mousedown", handleClickOutside); }; }, [ref]); return { isOutsideRef }; }; export default UseOutsideRef;