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.
43 lines
1.1 KiB
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;
|
|
} |