You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
InternshipProject/node_modules/rc-menu/lib/hooks/useActive.js

43 lines
1.1 KiB

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useActive;
var React = _interopRequireWildcard(require("react"));
var _MenuContext = require("../context/MenuContext");
function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {
var _React$useContext = React.useContext(_MenuContext.MenuContext),
activeKey = _React$useContext.activeKey,
onActive = _React$useContext.onActive,
onInactive = _React$useContext.onInactive;
var ret = {
active: activeKey === eventKey
}; // Skip when disabled
if (!disabled) {
ret.onMouseEnter = function (domEvent) {
onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({
key: eventKey,
domEvent: domEvent
});
onActive(eventKey);
};
ret.onMouseLeave = function (domEvent) {
onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({
key: eventKey,
domEvent: domEvent
});
onInactive(eventKey);
};
}
return ret;
}