UNPKG

@mskcc/carbon-react

Version:

Carbon react components for the MSKCC DSM

44 lines (36 loc) 1 kB
/** * MSKCC 2021, 2024 */ 'use strict'; 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;