import * as React from 'react'; import { noop } from './misc/util'; var useState = React.useState; var useHover = function (element) { var _a = useState(false), state = _a[0], setState = _a[1]; var onMouseEnter = function (originalOnMouseEnter) { return function (event) { (originalOnMouseEnter || noop)(event); setState(true); }; }; var onMouseLeave = function (originalOnMouseLeave) { return function (event) { (originalOnMouseLeave || noop)(event); setState(false); }; }; if (typeof element === 'function') { element = element(state); } var el = React.cloneElement(element, { onMouseEnter: onMouseEnter(element.props.onMouseEnter), onMouseLeave: onMouseLeave(element.props.onMouseLeave), }); return [el, state]; }; export default useHover;