UNPKG

@modern-kit/react

Version:
28 lines (25 loc) 756 B
import { useState, useRef } from 'react'; import { useEventListener } from '../useEventListener/index.mjs'; import '../usePreservedCallback/index.mjs'; import '../useIsomorphicLayoutEffect/index.mjs'; import '@modern-kit/utils'; function useHover({ onEnter, onLeave } = {}) { const [isHovered, setIsHovered] = useState(false); const targetRef = useRef(null); const enterAction = (event) => { setIsHovered(true); onEnter?.(event); }; const leaveAction = (event) => { setIsHovered(false); onLeave?.(event); }; useEventListener(targetRef, "mouseenter", enterAction); useEventListener(targetRef, "mouseleave", leaveAction); return { ref: targetRef, isHovered }; } export { useHover }; //# sourceMappingURL=index.mjs.map