import type { RefObject } from 'react' import { useEffect, useState } from 'react' const useMouseEnter = (ref: RefObject): boolean => { const [isMouseOver, setIsMouseOver] = useState(false) useEffect(() => { const handleMouseHover = (event: MouseEvent) => { setIsMouseOver(event.type === 'mouseenter') } const node = ref.current if (node) { node.addEventListener('mouseenter', handleMouseHover) node.addEventListener('mouseleave', handleMouseHover) } return () => { if (node) { node.removeEventListener('mouseenter', handleMouseHover) node.removeEventListener('mouseleave', handleMouseHover) } } }, [ref]) return isMouseOver } export default useMouseEnter