@ozen-ui/kit
Version:
React component library
37 lines (36 loc) • 1.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useHover = useHover;
var tslib_1 = require("tslib");
var useBoolean_1 = require("../useBoolean");
var useEventListener_1 = require("../useEventListener");
function useHover(
/** Ссылка на элемент к которому будет привязано событие */
elRef,
/** Дополнительные опции */
options) {
if (options === void 0) { options = { active: true }; }
var onLeave = options.onLeave, onEnter = options.onEnter, active = options.active;
var _a = tslib_1.__read((0, useBoolean_1.useBoolean)(false), 2), value = _a[0], _b = _a[1], on = _b.on, off = _b.off;
var handleEnter = function (e) {
on();
onEnter === null || onEnter === void 0 ? void 0 : onEnter(e);
};
var handleLeave = function (e) {
off();
onLeave === null || onLeave === void 0 ? void 0 : onLeave(e);
};
(0, useEventListener_1.useEventListener)({
handler: handleEnter,
element: elRef,
eventName: 'mouseenter',
active: active,
});
(0, useEventListener_1.useEventListener)({
handler: handleLeave,
element: elRef,
eventName: 'mouseleave',
active: active,
});
return value;
}
;