@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
43 lines (35 loc) • 1.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 SidebarContext = /*#__PURE__*/React.createContext(undefined);
const useSidebar = () => {
const context = React.useContext(SidebarContext);
if (!context) {
throw new Error('useSidebar must be used within a SidebarProvider');
}
return context;
};
const SidebarProvider = _ref => {
let {
children,
initialCollapsed = false
} = _ref;
const [collapsed, setCollapsed] = React.useState(initialCollapsed);
const toggleSidebar = () => {
setCollapsed(prev => !prev);
};
return /*#__PURE__*/React__default["default"].createElement(SidebarContext.Provider, {
value: {
collapsed,
toggleSidebar
}
}, children);
};
exports.SidebarContext = SidebarContext;
exports.SidebarProvider = SidebarProvider;
exports.useSidebar = useSidebar;