-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
/
examples.tsx
94 lines (81 loc) · 2.21 KB
/
examples.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import { createChakra } from "@chakra-ui/system";
import { storiesOf } from "@storybook/react";
import React from "react";
import {
Accordion,
AccordionItem,
useAccordionButton,
useAccordionPanel,
} from "./useAccordion";
const stories = storiesOf("useAccordion", module);
const AccordionButton = createChakra("button", {
hook: useAccordionButton,
});
AccordionButton.defaultProps = {
display: "block",
width: "100%",
border: 0,
borderBottom: "1px solid #e2e2e2",
padding: "16px 20px",
fontWeight: 600,
textAlign: "left",
fontSize: "16px",
_expanded: {
bg: "lightgray",
},
};
const AccordionPanel = createChakra("div", {
hook: useAccordionPanel,
});
AccordionPanel.defaultProps = {
padding: "16px",
fontFamily: "system-ui",
};
stories.add("default", () => (
<Accordion>
<AccordionItem>
<AccordionButton>Toggle 1</AccordionButton>
<AccordionPanel>Panel 1</AccordionPanel>
</AccordionItem>
<AccordionItem>
<AccordionButton>Toggle 2</AccordionButton>
<AccordionPanel>Panel 2</AccordionPanel>
</AccordionItem>
</Accordion>
));
stories.add("allow toggle", () => (
<Accordion allowToggle>
<AccordionItem>
<AccordionButton>Toggle 1</AccordionButton>
<AccordionPanel>Panel 1</AccordionPanel>
</AccordionItem>
<AccordionItem>
<AccordionButton>Toggle 2</AccordionButton>
<AccordionPanel>Panel 2</AccordionPanel>
</AccordionItem>
</Accordion>
));
stories.add("allow multiple", () => (
<Accordion allowMultiple>
<AccordionItem>
<AccordionButton>Section 1 title</AccordionButton>
<AccordionPanel>Panel 1</AccordionPanel>
</AccordionItem>
<AccordionItem>
<AccordionButton>Section 2 title</AccordionButton>
<AccordionPanel>Panel 2</AccordionPanel>
</AccordionItem>
</Accordion>
));
stories.add("allow multiple - default index", () => (
<Accordion allowMultiple defaultIndex={[1]}>
<AccordionItem>
<AccordionButton>Section 1 title</AccordionButton>
<AccordionPanel>Panel 1</AccordionPanel>
</AccordionItem>
<AccordionItem>
<AccordionButton>Section 2 title</AccordionButton>
<AccordionPanel>Panel 2</AccordionPanel>
</AccordionItem>
</Accordion>
));