@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
44 lines (36 loc) • 1 kB
JavaScript
/**
* MSKCC 2021, 2024
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
const menuDefaultState = {
isRoot: true,
hasIcons: false,
size: null,
items: [],
requestCloseRoot: () => {}
};
function menuReducer(state, action) {
switch (action.type) {
case 'enableIcons':
return {
...state,
hasIcons: true
};
case 'registerItem':
return {
...state,
items: [...state.items, action.payload].filter(item => item.ref.current !== null)
};
}
}
const MenuContext = /*#__PURE__*/React__default["default"].createContext({
state: menuDefaultState,
// 'dispatch' is populated by the root menu
dispatch: () => {}
});
exports.MenuContext = MenuContext;
exports.menuReducer = menuReducer;