UNPKG

@modern-kit/react

Version:
30 lines (26 loc) 833 B
'use strict'; var React = require('react'); var hooksUseEventListener = require('../useEventListener/index.cjs'); require('../usePreservedCallback/index.cjs'); require('../useIsomorphicLayoutEffect/index.cjs'); require('@modern-kit/utils'); function useHover({ onEnter, onLeave } = {}) { const [isHovered, setIsHovered] = React.useState(false); const targetRef = React.useRef(null); const enterAction = (event) => { setIsHovered(true); onEnter?.(event); }; const leaveAction = (event) => { setIsHovered(false); onLeave?.(event); }; hooksUseEventListener.useEventListener(targetRef, "mouseenter", enterAction); hooksUseEventListener.useEventListener(targetRef, "mouseleave", leaveAction); return { ref: targetRef, isHovered }; } exports.useHover = useHover; //# sourceMappingURL=index.cjs.map