) {
export const SidebarExpandButton = () => {
const classes = useStyles();
+ const { isOpen, handleOpen, handleClose } = useContext(SidebarContext);
+ const { isPinned } = useContext(SidebarPinStateContext);
const isSmallScreen = useMediaQuery
(theme =>
theme.breakpoints.down('md'),
);
- const { isPinned } = useContext(SidebarPinStateContext);
- const { isOpen, setIsOpen } = useContext(SidebarContext);
-
- const openDelayMs = sidebarConfig.defaultOpenDelayMs;
- const closeDelayMs = sidebarConfig.defaultCloseDelayMs;
const handleClick = () => {
- if (isPinned || isSmallScreen) {
- return;
+ if (isOpen) {
+ handleClose();
+ } else {
+ handleOpen();
}
- const delayMs = isOpen ? openDelayMs : closeDelayMs;
- setTimeout(async () => {
- setIsOpen(!isOpen);
- }, delayMs);
};
- if (isSmallScreen || isPinned) {
+ if (isPinned || isSmallScreen) {
return null;
}
diff --git a/packages/core-components/src/layout/Sidebar/Items.test.tsx b/packages/core-components/src/layout/Sidebar/Items.test.tsx
index 34bc454fec..f4d699d09c 100644
--- a/packages/core-components/src/layout/Sidebar/Items.test.tsx
+++ b/packages/core-components/src/layout/Sidebar/Items.test.tsx
@@ -47,7 +47,7 @@ async function renderSidebar() {
,
);
- userEvent.click(screen.getByTestId('sidebar-expand-button'));
+ userEvent.hover(screen.getByTestId('sidebar-root'));
}
describe('Items', () => {
diff --git a/packages/core-components/src/layout/Sidebar/Sidebar.stories.tsx b/packages/core-components/src/layout/Sidebar/Sidebar.stories.tsx
index 18bfb120e3..c95460553c 100644
--- a/packages/core-components/src/layout/Sidebar/Sidebar.stories.tsx
+++ b/packages/core-components/src/layout/Sidebar/Sidebar.stories.tsx
@@ -53,6 +53,18 @@ const handleSearch = (input: string) => {
export const SampleSidebar = () => (
+
+
+
+
+
+
+
+
+);
+
+export const SampleScalableSidebar = () => (
+
>;
+ handleOpen: () => any;
+ handleClose: () => any;
};
export const SidebarContext = createContext({
isOpen: false,
- setIsOpen: () => {},
+ handleOpen: () => {},
+ handleClose: () => {},
});
export type ItemWithSubmenuContextType = {
diff --git a/packages/core-components/src/layout/Sidebar/icons/CatalogSidebarLogo.tsx b/packages/core-components/src/layout/Sidebar/icons/CatalogSidebarLogo.tsx
index 02415d6fbc..fe37c9c74f 100644
--- a/packages/core-components/src/layout/Sidebar/icons/CatalogSidebarLogo.tsx
+++ b/packages/core-components/src/layout/Sidebar/icons/CatalogSidebarLogo.tsx
@@ -24,6 +24,7 @@ export const CatalogSidebarLogo = () => {
height="21"
fill="none"
viewBox="0 0 20 21"
+ fontSize="small"
>