Skip to content

Commit 5b70c3f

Browse files
authored
docs: refactor demos to use Masthead (#6274)
* docs: refactor demos to use Masthead * update notificationdrawer, wizard * update Notif Drawer masthead * expose pagetogglebutton in docs
1 parent 66a2ee8 commit 5b70c3f

File tree

6 files changed

+540
-313
lines changed

6 files changed

+540
-313
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/* eslint-disable no-console */
2+
import * as React from 'react';
3+
import { Button, ButtonProps, ButtonVariant } from '../../components/Button';
4+
import { PageContextConsumer, PageContextProps } from './Page';
5+
6+
export interface PageToggleButtonProps extends ButtonProps {
7+
/** Content of the page toggle button */
8+
children?: React.ReactNode;
9+
/** True if the side nav is shown */
10+
isNavOpen?: boolean;
11+
/** Callback function to handle the side nav toggle button, managed by the Page component if the Page isManagedSidebar prop is set to true */
12+
onNavToggle?: () => void;
13+
}
14+
15+
export const PageToggleButton: React.FunctionComponent<PageToggleButtonProps> = ({
16+
children,
17+
isNavOpen = true,
18+
onNavToggle = () => undefined as any,
19+
...props
20+
}: PageToggleButtonProps) => (
21+
<PageContextConsumer>
22+
{({ isManagedSidebar, onNavToggle: managedOnNavToggle, isNavOpen: managedIsNavOpen }: PageContextProps) => {
23+
const navToggle = isManagedSidebar ? managedOnNavToggle : onNavToggle;
24+
const navOpen = isManagedSidebar ? managedIsNavOpen : isNavOpen;
25+
26+
return (
27+
<Button
28+
id="nav-toggle"
29+
onClick={navToggle}
30+
aria-label="Side navigation toggle"
31+
aria-expanded={navOpen ? 'true' : 'false'}
32+
variant={ButtonVariant.plain}
33+
{...props}
34+
>
35+
{children}
36+
</Button>
37+
);
38+
}}
39+
</PageContextConsumer>
40+
);
41+
PageToggleButton.displayName = 'PageToggleButton';

packages/react-core/src/components/Page/examples/Page.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ propComponents:
1414
'PageGroup',
1515
'PageBreadcrumb',
1616
'PageNavigation',
17+
'PageToggleButton',
1718
]
1819
---
1920

packages/react-core/src/components/Page/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export * from './PageHeaderTools';
88
export * from './PageHeaderToolsGroup';
99
export * from './PageHeaderToolsItem';
1010
export * from './PageNavigation';
11+
export * from './PageToggleButton';

0 commit comments

Comments
 (0)