Skip to content

Commit a5acd1d

Browse files
authored
chore(Sidebar): converted examples to typescript (#8062)
1 parent 60f9853 commit a5acd1d

File tree

7 files changed

+153
-83
lines changed

7 files changed

+153
-83
lines changed

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

Lines changed: 6 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -7,105 +7,28 @@ propComponents: ['Sidebar', 'SidebarContent', 'SidebarPanel']
77

88
## Examples
99
### Basic
10-
```js
11-
import React from 'react';
12-
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
13-
14-
<Sidebar>
15-
<SidebarPanel>
16-
Sidebar panel
17-
</SidebarPanel>
18-
<SidebarContent>
19-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo. Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo vulputate.</p>
20-
<p>Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus. Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus. Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat vulputate bibendum a ut magna.</p>
21-
</SidebarContent>
22-
</Sidebar>
10+
```ts file="./SidebarBasic.tsx"
2311
```
2412

2513
### Stack
26-
```js
27-
import React from 'react';
28-
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
29-
30-
<Sidebar orientation="stack">
31-
<SidebarPanel>
32-
Sidebar panel stacked on top
33-
</SidebarPanel>
34-
<SidebarContent>
35-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo. Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo vulputate.</p>
36-
<p>Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus. Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus. Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat vulputate bibendum a ut magna.</p>
37-
</SidebarContent>
38-
</Sidebar>
14+
```ts file="./SidebarStack.tsx"
3915
```
4016

4117
### Panel right with gutter
42-
```js
43-
import React from 'react';
44-
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
45-
46-
<Sidebar isPanelRight hasGutter>
47-
<SidebarPanel>
48-
Sidebar panel on the right
49-
</SidebarPanel>
50-
<SidebarContent>
51-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo. Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo vulputate.</p>
52-
<p>Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus. Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus. Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat vulputate bibendum a ut magna.</p>
53-
</SidebarContent>
54-
</Sidebar>
18+
```ts file="./SidebarPanelRightGutter.tsx"
5519
```
5620

5721
### Sticky panel
5822
A `tabIndex` should be added to the `Sidebar` when there is scrollable content in order for the overflow content to be accessible by keyboard.
59-
```js
60-
import React from 'react';
61-
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
62-
63-
<Sidebar style={{ height: '200px', overflow: 'auto' }} tabIndex={0}>
64-
<SidebarPanel variant="sticky">
65-
Sticky sidebar panel
66-
</SidebarPanel>
67-
<SidebarContent>
68-
<p>Scroll me!</p>
69-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo. Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo vulputate.</p>
70-
<p>Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus. Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus. Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat vulputate bibendum a ut magna.</p>
71-
</SidebarContent>
72-
</Sidebar>
23+
```ts file="./SidebarStickyPanel.tsx"
7324
```
7425

7526
### Static panel
7627
A `tabIndex` should be added to the `Sidebar` when there is scrollable content in order for the overflow content to be accessible by keyboard.
77-
```js
78-
import React from 'react';
79-
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
80-
81-
<Sidebar style={{ height: '200px', overflow: 'auto' }} tabIndex={0}>
82-
<SidebarPanel variant="static">
83-
Static sidebar panel
84-
</SidebarPanel>
85-
<SidebarContent>
86-
<p>Scroll me!</p>
87-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo. Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo vulputate.</p>
88-
<p>Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus. Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus. Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat vulputate bibendum a ut magna.</p>
89-
</SidebarContent>
90-
</Sidebar>
28+
```ts file="./SidebarStaticPanel.tsx"
9129
```
9230

9331
### Responsive panel width
9432
A `tabIndex` should be added to the `Sidebar` when there is scrollable content in order for the overflow content to be accessible by keyboard.
95-
```js
96-
import React from 'react';
97-
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
98-
99-
<Sidebar style={{ height: '200px', overflow: 'auto' }} tabIndex={0}>
100-
<SidebarPanel width={{ default: 'width_50', lg: 'width_33', xl: 'width_75' }}>
101-
Sidebar panel
102-
</SidebarPanel>
103-
<SidebarContent>
104-
<p>Resize me!</p>
105-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo. Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo vulputate.</p>
106-
<p>Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus. Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus. Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat vulputate bibendum a ut magna.</p>
107-
</SidebarContent>
108-
</Sidebar>
33+
```ts file="./SidebarResponsivePanel.tsx"
10934
```
110-
111-
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import React from 'react';
2+
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
3+
4+
export const SidebarBasic: React.FunctionComponent = () => (
5+
<Sidebar>
6+
<SidebarPanel>Sidebar panel</SidebarPanel>
7+
<SidebarContent>
8+
<p>
9+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo.
10+
Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac
11+
pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit
12+
amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo
13+
vulputate.
14+
</p>
15+
<p>
16+
Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis
17+
parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus.
18+
Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus.
19+
Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat
20+
vulputate bibendum a ut magna.
21+
</p>
22+
</SidebarContent>
23+
</Sidebar>
24+
);
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import React from 'react';
2+
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
3+
4+
export const SidebarPanelRightGutter: React.FunctionComponent = () => (
5+
<Sidebar isPanelRight hasGutter>
6+
<SidebarPanel>Sidebar panel on the right</SidebarPanel>
7+
<SidebarContent>
8+
<p>
9+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo.
10+
Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac
11+
pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit
12+
amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo
13+
vulputate.
14+
</p>
15+
<p>
16+
Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis
17+
parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus.
18+
Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus.
19+
Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat
20+
vulputate bibendum a ut magna.
21+
</p>
22+
</SidebarContent>
23+
</Sidebar>
24+
);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import React from 'react';
2+
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
3+
4+
export const SidebarResponsivePanel: React.FunctionComponent = () => (
5+
<Sidebar style={{ height: '200px', overflow: 'auto' }} tabIndex={0}>
6+
<SidebarPanel width={{ default: 'width_50', lg: 'width_33', xl: 'width_75' }}>Sidebar panel</SidebarPanel>
7+
<SidebarContent>
8+
<p>Resize me!</p>
9+
<p>
10+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo.
11+
Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac
12+
pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit
13+
amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo
14+
vulputate.
15+
</p>
16+
<p>
17+
Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis
18+
parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus.
19+
Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus.
20+
Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat
21+
vulputate bibendum a ut magna.
22+
</p>
23+
</SidebarContent>
24+
</Sidebar>
25+
);
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import React from 'react';
2+
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
3+
4+
export const SidebarStack: React.FunctionComponent = () => (
5+
<Sidebar orientation="stack">
6+
<SidebarPanel>Sidebar panel stacked on top</SidebarPanel>
7+
<SidebarContent>
8+
<p>
9+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo.
10+
Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac
11+
pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit
12+
amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo
13+
vulputate.
14+
</p>
15+
<p>
16+
Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis
17+
parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus.
18+
Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus.
19+
Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat
20+
vulputate bibendum a ut magna.
21+
</p>
22+
</SidebarContent>
23+
</Sidebar>
24+
);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import React from 'react';
2+
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
3+
4+
export const SidebarStaticPanel: React.FunctionComponent = () => (
5+
<Sidebar style={{ height: '200px', overflow: 'auto' }} tabIndex={0}>
6+
<SidebarPanel variant="static">Static sidebar panel</SidebarPanel>
7+
<SidebarContent>
8+
<p>Scroll me!</p>
9+
<p>
10+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo.
11+
Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac
12+
pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit
13+
amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo
14+
vulputate.
15+
</p>
16+
<p>
17+
Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis
18+
parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus.
19+
Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus.
20+
Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat
21+
vulputate bibendum a ut magna.
22+
</p>
23+
</SidebarContent>
24+
</Sidebar>
25+
);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import React from 'react';
2+
import { Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core';
3+
4+
export const SidebarStickyPanel: React.FunctionComponent = () => (
5+
<Sidebar style={{ height: '200px', overflow: 'auto' }} tabIndex={0}>
6+
<SidebarPanel variant="sticky">Sticky sidebar panel</SidebarPanel>
7+
<SidebarContent>
8+
<p>Scroll me!</p>
9+
<p>
10+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dapibus nulla id augue dictum commodo.
11+
Donec mollis arcu massa, sollicitudin venenatis est rutrum vitae. Integer pulvinar ligula at augue mollis, ac
12+
pulvinar arcu semper. Maecenas nisi lorem, malesuada ac lectus nec, porta pretium neque. Ut convallis libero sit
13+
amet metus mattis, vel facilisis lorem malesuada. Duis consectetur ante sit amet magna efficitur, a interdum leo
14+
vulputate.
15+
</p>
16+
<p>
17+
Praesent at odio nec sapien ultrices tincidunt in non mauris. Orci varius natoque penatibus et magnis dis
18+
parturient montes, nascetur ridiculus mus. Duis consectetur nisl quis facilisis faucibus. Sed eu bibendum risus.
19+
Suspendisse porta euismod tortor, at elementum odio suscipit sed. Cras eget ultrices urna, ac feugiat lectus.
20+
Integer a pharetra velit, in imperdiet mi. Phasellus vel hendrerit velit. Vestibulum ut augue vitae erat
21+
vulputate bibendum a ut magna.
22+
</p>
23+
</SidebarContent>
24+
</Sidebar>
25+
);

0 commit comments

Comments
 (0)