UNPKG

@vergiss/chooks

Version:
44 lines (34 loc) 1.07 kB
"use strict"; import "core-js/modules/es.object.define-property"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useHover = void 0; var react_1 = require("react"); function useHover(ref) { var _a = react_1.useState(false), isHovering = _a[0], setIsHovering = _a[1]; react_1.useEffect(function () { if (!ref.current) { return; } var setHoveringTrue = function setHoveringTrue() { return setIsHovering(true); }; var setHoveringFalse = function setHoveringFalse() { return setIsHovering(false); }; ref.current.addEventListener('mouseenter', setHoveringTrue); ref.current.addEventListener('mouseleave', setHoveringFalse); // Remove event listeners while unmounting. return function () { if (!ref.current) { return; } ref.current.removeEventListener('mouseenter', setHoveringTrue); ref.current.removeEventListener('mouseleave', setHoveringFalse); }; }, [ref, setIsHovering]); return isHovering; } exports.useHover = useHover;