Spaces:
Paused
Paused
| 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; | |