ahooks
Version:
react hooks library
37 lines (36 loc) • 1.41 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _useBoolean3 = _interopRequireDefault(require("../useBoolean"));
var _useEventListener = _interopRequireDefault(require("../useEventListener"));
var _default = exports["default"] = function _default(target, options) {
var _ref = options || {},
onEnter = _ref.onEnter,
onLeave = _ref.onLeave,
onChange = _ref.onChange;
var _useBoolean = (0, _useBoolean3["default"])(false),
_useBoolean2 = (0, _slicedToArray2["default"])(_useBoolean, 2),
state = _useBoolean2[0],
_useBoolean2$ = _useBoolean2[1],
setTrue = _useBoolean2$.setTrue,
setFalse = _useBoolean2$.setFalse;
(0, _useEventListener["default"])('mouseenter', function () {
onEnter === null || onEnter === void 0 ? void 0 : onEnter();
setTrue();
onChange === null || onChange === void 0 ? void 0 : onChange(true);
}, {
target: target
});
(0, _useEventListener["default"])('mouseleave', function () {
onLeave === null || onLeave === void 0 ? void 0 : onLeave();
setFalse();
onChange === null || onChange === void 0 ? void 0 : onChange(false);
}, {
target: target
});
return state;
};