@mantine/hooks
Version:
A collection of 50+ hooks for state and UI management
25 lines (22 loc) • 775 B
JavaScript
'use client';
import { useState, useRef, useCallback, useEffect } from 'react';
function useHover() {
const [hovered, setHovered] = useState(false);
const ref = useRef(null);
const onMouseEnter = useCallback(() => setHovered(true), []);
const onMouseLeave = useCallback(() => setHovered(false), []);
useEffect(() => {
if (ref.current) {
ref.current.addEventListener("mouseenter", onMouseEnter);
ref.current.addEventListener("mouseleave", onMouseLeave);
return () => {
ref.current?.removeEventListener("mouseenter", onMouseEnter);
ref.current?.removeEventListener("mouseleave", onMouseLeave);
};
}
return void 0;
}, []);
return { ref, hovered };
}
export { useHover };
//# sourceMappingURL=use-hover.mjs.map