useActive.js 903 B

123456789101112131415161718192021222324252627282930
  1. import * as React from 'react';
  2. import { MenuContext } from "../context/MenuContext";
  3. export default function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {
  4. var _React$useContext = React.useContext(MenuContext),
  5. activeKey = _React$useContext.activeKey,
  6. onActive = _React$useContext.onActive,
  7. onInactive = _React$useContext.onInactive;
  8. var ret = {
  9. active: activeKey === eventKey
  10. };
  11. // Skip when disabled
  12. if (!disabled) {
  13. ret.onMouseEnter = function (domEvent) {
  14. onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({
  15. key: eventKey,
  16. domEvent: domEvent
  17. });
  18. onActive(eventKey);
  19. };
  20. ret.onMouseLeave = function (domEvent) {
  21. onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({
  22. key: eventKey,
  23. domEvent: domEvent
  24. });
  25. onInactive(eventKey);
  26. };
  27. }
  28. return ret;
  29. }