Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,373 changes: 19 additions & 1,354 deletions packages/react-core/src/components/Drawer/examples/Drawer.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import React from 'react';
import {
Drawer,
DrawerPanelContent,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerActions,
DrawerCloseButton,
DrawerSection,
Button
} from '@patternfly/react-core';

export const DrawerAdditionalSectionAboveContent: React.FunctionComponent = () => {
const [isExpanded, setIsExpanded] = React.useState(false);
const drawerRef = React.useRef<HTMLDivElement>();

const onExpand = () => {
drawerRef.current && drawerRef.current.focus();
};

const onClick = () => {
setIsExpanded(!isExpanded);
};

const onCloseClick = () => {
setIsExpanded(false);
};

const panelContent = (
<DrawerPanelContent>
<DrawerHead>
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
drawer-panel
</span>
<DrawerActions>
<DrawerCloseButton onClick={onCloseClick} />
</DrawerActions>
</DrawerHead>
</DrawerPanelContent>
);

const drawerContent =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';

return (
<React.Fragment>
<Button aria-expanded={isExpanded} onClick={onClick}>
Toggle drawer
</Button>
<Drawer isExpanded={isExpanded} onExpand={onExpand}>
<DrawerSection>drawer-section</DrawerSection>
<DrawerContent panelContent={panelContent}>
<DrawerContentBody>{drawerContent}</DrawerContentBody>
</DrawerContent>
</Drawer>
</React.Fragment>
);
};
57 changes: 57 additions & 0 deletions packages/react-core/src/components/Drawer/examples/DrawerBasic.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import React from 'react';
import {
Drawer,
DrawerPanelContent,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerActions,
DrawerCloseButton,
Button
} from '@patternfly/react-core';

export const DrawerBasic: React.FunctionComponent = () => {
const [isExpanded, setIsExpanded] = React.useState(false);
const drawerRef = React.useRef<HTMLDivElement>();

const onExpand = () => {
drawerRef.current && drawerRef.current.focus();
};

const onClick = () => {
setIsExpanded(!isExpanded);
};

const onCloseClick = () => {
setIsExpanded(false);
};

const panelContent = (
<DrawerPanelContent>
<DrawerHead>
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
drawer-panel
</span>
<DrawerActions>
<DrawerCloseButton onClick={onCloseClick} />
</DrawerActions>
</DrawerHead>
</DrawerPanelContent>
);

const drawerContent =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';

return (
<React.Fragment>
<Button aria-expanded={isExpanded} onClick={onClick}>
Toggle drawer
</Button>
<Drawer isExpanded={isExpanded} onExpand={onExpand}>
<DrawerContent panelContent={panelContent}>
<DrawerContentBody>{drawerContent}</DrawerContentBody>
</DrawerContent>
</Drawer>
</React.Fragment>
);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import React from 'react';
import {
Drawer,
DrawerPanelContent,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerActions,
DrawerCloseButton,
Button
} from '@patternfly/react-core';

export const DrawerBasicInline: React.FunctionComponent = () => {
const [isExpanded, setIsExpanded] = React.useState(false);
const drawerRef = React.useRef<HTMLDivElement>();

const onExpand = () => {
drawerRef.current && drawerRef.current.focus();
};

const onClick = () => {
setIsExpanded(!isExpanded);
};

const onCloseClick = () => {
setIsExpanded(false);
};

const panelContent = (
<DrawerPanelContent>
<DrawerHead>
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
drawer-panel
</span>
<DrawerActions>
<DrawerCloseButton onClick={onCloseClick} />
</DrawerActions>
</DrawerHead>
</DrawerPanelContent>
);

const drawerContent =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';

return (
<React.Fragment>
<Button aria-expanded={isExpanded} onClick={onClick}>
Toggle drawer
</Button>
<Drawer isExpanded={isExpanded} isInline onExpand={onExpand}>
<DrawerContent panelContent={panelContent}>
<DrawerContentBody>{drawerContent}</DrawerContentBody>
</DrawerContent>
</Drawer>
</React.Fragment>
);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import React from 'react';
import {
Drawer,
DrawerPanelContent,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerActions,
DrawerCloseButton,
Button
} from '@patternfly/react-core';

export const DrawerBreakpoint: React.FunctionComponent = () => {
const [isExpanded, setIsExpanded] = React.useState(false);
const drawerRef = React.useRef<HTMLDivElement>();

const onExpand = () => {
drawerRef.current && drawerRef.current.focus();
};

const onClick = () => {
setIsExpanded(!isExpanded);
};

const onCloseClick = () => {
setIsExpanded(false);
};

const panelContent = (
<DrawerPanelContent widths={{ default: 'width_33' }}>
<DrawerHead>
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
drawer-panel
</span>
<DrawerActions>
<DrawerCloseButton onClick={onCloseClick} />
</DrawerActions>
</DrawerHead>
</DrawerPanelContent>
);

const drawerContent =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';

return (
<React.Fragment>
<Button aria-expanded={isExpanded} onClick={onClick}>
Toggle drawer
</Button>
<Drawer isExpanded={isExpanded} onExpand={onExpand}>
<DrawerContent panelContent={panelContent}>
<DrawerContentBody>{drawerContent}</DrawerContentBody>
</DrawerContent>
</Drawer>
</React.Fragment>
);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import React from 'react';
import {
Drawer,
DrawerPanelContent,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerActions,
DrawerCloseButton,
Button
} from '@patternfly/react-core';

export const DrawerInlinePanelLeft: React.FunctionComponent = () => {
const [isExpanded, setIsExpanded] = React.useState(false);
const drawerRef = React.useRef<HTMLDivElement>();

const onExpand = () => {
drawerRef.current && drawerRef.current.focus();
};

const onClick = () => {
setIsExpanded(!isExpanded);
};

const onCloseClick = () => {
setIsExpanded(false);
};

const panelContent = (
<DrawerPanelContent>
<DrawerHead>
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
drawer-panel
</span>
<DrawerActions>
<DrawerCloseButton onClick={onCloseClick} />
</DrawerActions>
</DrawerHead>
</DrawerPanelContent>
);

const drawerContent =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';

return (
<React.Fragment>
<Button aria-expanded={isExpanded} onClick={onClick}>
Toggle drawer
</Button>
<Drawer isExpanded={isExpanded} isInline position="left" onExpand={onExpand}>
<DrawerContent panelContent={panelContent}>
<DrawerContentBody>{drawerContent}</DrawerContentBody>
</DrawerContent>
</Drawer>
</React.Fragment>
);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import React from 'react';
import {
Drawer,
DrawerPanelContent,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerActions,
DrawerCloseButton,
Button
} from '@patternfly/react-core';

export const DrawerInlinePanelRight: React.FunctionComponent = () => {
const [isExpanded, setIsExpanded] = React.useState(false);
const drawerRef = React.useRef<HTMLDivElement>();

const onExpand = () => {
drawerRef.current && drawerRef.current.focus();
};

const onClick = () => {
setIsExpanded(!isExpanded);
};

const onCloseClick = () => {
setIsExpanded(false);
};

const panelContent = (
<DrawerPanelContent>
<DrawerHead>
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
drawer-panel
</span>
<DrawerActions>
<DrawerCloseButton onClick={onCloseClick} />
</DrawerActions>
</DrawerHead>
</DrawerPanelContent>
);

const drawerContent =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';

return (
<React.Fragment>
<Button aria-expanded={isExpanded} onClick={onClick}>
Toggle drawer
</Button>
<Drawer isExpanded={isExpanded} isInline onExpand={onExpand}>
<DrawerContent panelContent={panelContent}>
<DrawerContentBody>{drawerContent}</DrawerContentBody>
</DrawerContent>
</Drawer>
</React.Fragment>
);
};
Loading