@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
33 lines (29 loc) • 799 B
JavaScript
/**
* MSKCC 2021, 2024
*/
import React__default, { createContext, useContext, useState } from 'react';
const SidebarContext = /*#__PURE__*/createContext(undefined);
const useSidebar = () => {
const context = 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] = useState(initialCollapsed);
const toggleSidebar = () => {
setCollapsed(prev => !prev);
};
return /*#__PURE__*/React__default.createElement(SidebarContext.Provider, {
value: {
collapsed,
toggleSidebar
}
}, children);
};
export { SidebarContext, SidebarProvider, useSidebar };