UNPKG

@ozen-ui/kit

Version:

React component library

34 lines (33 loc) 1.13 kB
import { __read } from "tslib"; import { useBoolean } from '../useBoolean'; import { useEventListener } from '../useEventListener'; export function useHover( /** Ссылка на элемент к которому будет привязано событие */ elRef, /** Дополнительные опции */ options) { if (options === void 0) { options = { active: true }; } var onLeave = options.onLeave, onEnter = options.onEnter, active = options.active; var _a = __read(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); }; useEventListener({ handler: handleEnter, element: elRef, eventName: 'mouseenter', active: active, }); useEventListener({ handler: handleLeave, element: elRef, eventName: 'mouseleave', active: active, }); return value; }