UNPKG

@darwish/hooks-core

Version:

28 lines (27 loc) 905 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); function useHover(hoveredView) { var _a = (0, react_1.useState)(false), hovered = _a[0], setHovered = _a[1]; var element = typeof hoveredView === 'function' ? hoveredView(hovered) : hoveredView; var handleMouseEnter = function () { if (element.props && 'onMouseEnter' in element.props) { element.props.onMouseEnter(); } setHovered(true); }; var handleMouseLeave = function () { if (element.props && 'onMouseLeave' in element.props) { element.props.onMouseLeave(); } setHovered(false); }; return [ (0, react_1.cloneElement)(element, { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, }), hovered, ]; } exports.default = useHover;