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/context/PathContext.js

38 lines
1.3 KiB

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PathUserContext = exports.PathTrackerContext = exports.PathRegisterContext = void 0;
exports.useFullPath = useFullPath;
exports.useMeasure = useMeasure;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var React = _interopRequireWildcard(require("react"));
var EmptyList = [];
var PathRegisterContext = /*#__PURE__*/React.createContext(null);
exports.PathRegisterContext = PathRegisterContext;
function useMeasure() {
return React.useContext(PathRegisterContext);
} // ========================= Path Tracker ==========================
var PathTrackerContext = /*#__PURE__*/React.createContext(EmptyList);
exports.PathTrackerContext = PathTrackerContext;
function useFullPath(eventKey) {
var parentKeyPath = React.useContext(PathTrackerContext);
return React.useMemo(function () {
return eventKey !== undefined ? [].concat((0, _toConsumableArray2.default)(parentKeyPath), [eventKey]) : parentKeyPath;
}, [parentKeyPath, eventKey]);
}
var PathUserContext = /*#__PURE__*/React.createContext(null);
exports.PathUserContext = PathUserContext;