/
PositionExamples.tsx
54 lines (51 loc) · 1.62 KB
/
PositionExamples.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { ReactElement } from "react";
import { Button } from "@react-md/button";
import { Fieldset, Radio, useChoice } from "@react-md/form";
import { List, ListItem } from "@react-md/list";
import { Sheet, SheetPosition } from "@react-md/sheet";
import { useToggle } from "@react-md/utils";
const positions: SheetPosition[] = ["top", "right", "bottom", "left"];
export default function PositionExamples(): ReactElement {
const [position, handlePositionChange] = useChoice<SheetPosition>("left");
const [visible, show, hide] = useToggle(false);
return (
<>
<Fieldset legend="Sheet positions">
{positions.map((pos) => (
<Radio
key={pos}
id={`sheet-position-${pos}`}
value={pos}
name="positions"
label={pos}
checked={pos === position}
onChange={handlePositionChange}
/>
))}
</Fieldset>
<Button
id="show-sheet-position"
onClick={show}
theme="secondary"
themeType="contained"
>
Show
</Button>
<Sheet
id="example-sheet-1"
aria-label="Example Sheet"
visible={visible}
onRequestClose={hide}
position={position}
>
<List onClick={hide}>
<ListItem id="example-sheet-item-1">Item 1</ListItem>
<ListItem id="example-sheet-item-2">Item 2</ListItem>
<ListItem id="example-sheet-item-3">Item 3</ListItem>
<ListItem id="example-sheet-item-4">Item 4</ListItem>
<ListItem id="example-sheet-item-5">Item 5</ListItem>
</List>
</Sheet>
</>
);
}