UNPKG

@ozen-ui/kit

Version:

React component library

37 lines (36 loc) 1.31 kB
"use strict"; 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; }