@vibe/core 4.2.5 → 4.3.0-alpha-9bd83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/metadata/accessibility/Accordion.md +10 -0
- package/dist/metadata/accessibility/AlertBanner.md +9 -0
- package/dist/metadata/accessibility/Avatar.md +12 -0
- package/dist/metadata/accessibility/AvatarGroup.md +6 -0
- package/dist/metadata/accessibility/BreadcrumbsBar.md +10 -0
- package/dist/metadata/accessibility/Button.md +13 -0
- package/dist/metadata/accessibility/ButtonGroup.md +9 -0
- package/dist/metadata/accessibility/Checkbox.md +13 -0
- package/dist/metadata/accessibility/Chips.md +10 -0
- package/dist/metadata/accessibility/Combobox.md +6 -0
- package/dist/metadata/accessibility/DropdownBasicDropdown.md +10 -0
- package/dist/metadata/accessibility/IconButton.md +26 -0
- package/dist/metadata/accessibility/Info.md +12 -0
- package/dist/metadata/accessibility/Link.md +8 -0
- package/dist/metadata/accessibility/List.md +11 -0
- package/dist/metadata/accessibility/Menu.md +10 -0
- package/dist/metadata/accessibility/MenuButton.md +6 -0
- package/dist/metadata/accessibility/MenuItem.md +8 -0
- package/dist/metadata/accessibility/Modal.md +35 -0
- package/dist/metadata/accessibility/NumberField.md +9 -0
- package/dist/metadata/accessibility/RadioButton.md +11 -0
- package/dist/metadata/accessibility/Search.md +10 -0
- package/dist/metadata/accessibility/Tabs.md +10 -0
- package/dist/metadata/accessibility/TextArea.md +17 -0
- package/dist/metadata/accessibility/TextField.md +16 -0
- package/dist/metadata/accessibility/Toast.md +4 -0
- package/dist/metadata/accessibility/Toggle.md +7 -0
- package/dist/metadata/accessibility/Tooltip.md +11 -0
- package/dist/metadata/components.json +20940 -0
- package/dist/metadata/examples/Accordion.md +136 -0
- package/dist/metadata/examples/AlertBanner.md +85 -0
- package/dist/metadata/examples/AttentionBox.md +267 -0
- package/dist/metadata/examples/Avatar.md +118 -0
- package/dist/metadata/examples/AvatarGroup.md +390 -0
- package/dist/metadata/examples/Badge.md +59 -0
- package/dist/metadata/examples/BaseInput.md +2 -0
- package/dist/metadata/examples/BaseList.md +342 -0
- package/dist/metadata/examples/Box.md +208 -0
- package/dist/metadata/examples/BreadcrumbItem.md +54 -0
- package/dist/metadata/examples/BreadcrumbsBar.md +64 -0
- package/dist/metadata/examples/Button.md +174 -0
- package/dist/metadata/examples/ButtonGroup.md +180 -0
- package/dist/metadata/examples/Checkbox.md +24 -0
- package/dist/metadata/examples/Chips.md +192 -0
- package/dist/metadata/examples/Clickable.md +31 -0
- package/dist/metadata/examples/ColorPicker.md +2 -0
- package/dist/metadata/examples/Combobox.md +438 -0
- package/dist/metadata/examples/Counter.md +188 -0
- package/dist/metadata/examples/DatePicker.md +43 -0
- package/dist/metadata/examples/Dialog.md +521 -0
- package/dist/metadata/examples/DialogContentContainer.md +18 -0
- package/dist/metadata/examples/Divider.md +50 -0
- package/dist/metadata/examples/DropdownBasicDropdown.md +479 -0
- package/dist/metadata/examples/DropdownBoxMode.md +218 -0
- package/dist/metadata/examples/EditableHeading.md +33 -0
- package/dist/metadata/examples/EditableText.md +36 -0
- package/dist/metadata/examples/EmptyState.md +192 -0
- package/dist/metadata/examples/ExpandCollapse.md +77 -0
- package/dist/metadata/examples/Flex.md +916 -0
- package/dist/metadata/examples/Heading.md +124 -0
- package/dist/metadata/examples/HiddenText.md +8 -0
- package/dist/metadata/examples/Icon.md +67 -0
- package/dist/metadata/examples/IconButton.md +141 -0
- package/dist/metadata/examples/Info.md +80 -0
- package/dist/metadata/examples/Label.md +109 -0
- package/dist/metadata/examples/Link.md +52 -0
- package/dist/metadata/examples/List.md +125 -0
- package/dist/metadata/examples/ListItem.md +42 -0
- package/dist/metadata/examples/Loader.md +148 -0
- package/dist/metadata/examples/Menu.md +141 -0
- package/dist/metadata/examples/MenuButton.md +127 -0
- package/dist/metadata/examples/MenuDivider.md +35 -0
- package/dist/metadata/examples/MenuGridItem.md +65 -0
- package/dist/metadata/examples/MenuItem.md +98 -0
- package/dist/metadata/examples/MenuItemButton.md +42 -0
- package/dist/metadata/examples/MenuTitle.md +25 -0
- package/dist/metadata/examples/ModalBasicLayout.md +400 -0
- package/dist/metadata/examples/ModalMediaLayout.md +240 -0
- package/dist/metadata/examples/ModalSideBySideLayout.md +313 -0
- package/dist/metadata/examples/MultiStepIndicator.md +189 -0
- package/dist/metadata/examples/NumberField.md +68 -0
- package/dist/metadata/examples/ProgressBar.md +152 -0
- package/dist/metadata/examples/RadioButton.md +41 -0
- package/dist/metadata/examples/Search.md +24 -0
- package/dist/metadata/examples/Skeleton.md +161 -0
- package/dist/metadata/examples/Slider.md +109 -0
- package/dist/metadata/examples/SplitButton.md +120 -0
- package/dist/metadata/examples/Steps.md +106 -0
- package/dist/metadata/examples/Table.md +449 -0
- package/dist/metadata/examples/Tabs.md +241 -0
- package/dist/metadata/examples/Text.md +188 -0
- package/dist/metadata/examples/TextArea.md +28 -0
- package/dist/metadata/examples/TextField.md +119 -0
- package/dist/metadata/examples/TextWithHighlight.md +2 -0
- package/dist/metadata/examples/ThemeProvider.md +47 -0
- package/dist/metadata/examples/Tipseen.md +111 -0
- package/dist/metadata/examples/Toast.md +127 -0
- package/dist/metadata/examples/Toggle.md +38 -0
- package/dist/metadata/examples/Tooltip.md +53 -0
- package/dist/metadata/examples/VirtualizedGrid.md +54 -0
- package/dist/metadata/examples/VirtualizedList.md +50 -0
- package/dist/metadata/examples/useGridKeyboardNavigationContext.md +61 -0
- package/dist/mocked_classnames/scripts/build-all-metadata.d.ts +1 -0
- package/dist/mocked_classnames/scripts/extract-accessibility.d.ts +4 -0
- package/dist/mocked_classnames/scripts/extract-examples.d.ts +3 -0
- package/dist/scripts/build-all-metadata.d.ts +1 -0
- package/dist/scripts/extract-accessibility.d.ts +4 -0
- package/dist/scripts/extract-examples.d.ts +3 -0
- package/package.json +12 -10
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
const listTemplate = (args: ListProps) => {
|
|
7
|
+
const onClick = useCallback(() => alert("On click!"), []);
|
|
8
|
+
return <List {...args}>
|
|
9
|
+
<ListItem onClick={onClick}>Board Power up</ListItem>
|
|
10
|
+
<ListItem onClick={onClick}>Team Power up</ListItem>
|
|
11
|
+
<ListItem onClick={onClick}>Essentials</ListItem>
|
|
12
|
+
</List>;
|
|
13
|
+
}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## ListWithCategories
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
<List>
|
|
20
|
+
<ListTitle>First category</ListTitle>
|
|
21
|
+
<ListItem>List item 1</ListItem>
|
|
22
|
+
<ListItem>List item 2</ListItem>
|
|
23
|
+
<ListTitle>Second category</ListTitle>
|
|
24
|
+
<ListItem>List item 3</ListItem>
|
|
25
|
+
<ListItem>List item 4</ListItem>
|
|
26
|
+
</List>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## ListWithIcons
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<List>
|
|
33
|
+
<ListItem id="list-1">
|
|
34
|
+
<ListItemIcon icon={Board} />
|
|
35
|
+
List item 1
|
|
36
|
+
</ListItem>
|
|
37
|
+
<ListItem id="list-2">
|
|
38
|
+
<ListItemIcon icon={Team} />
|
|
39
|
+
List item 2
|
|
40
|
+
</ListItem>
|
|
41
|
+
<ListItem id="list-3">
|
|
42
|
+
<ListItemIcon icon={ThumbsUp} />
|
|
43
|
+
List item 3
|
|
44
|
+
</ListItem>
|
|
45
|
+
</List>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## ListWithAvatars
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
<List>
|
|
52
|
+
<ListItem id="list-1">
|
|
53
|
+
<ListItemAvatar src={person1} />
|
|
54
|
+
List item 1
|
|
55
|
+
</ListItem>
|
|
56
|
+
<ListItem id="list-2">
|
|
57
|
+
<ListItemAvatar src={person2} />
|
|
58
|
+
List item 2
|
|
59
|
+
</ListItem>
|
|
60
|
+
<ListItem id="list-3">
|
|
61
|
+
<ListItemAvatar src={person3} />
|
|
62
|
+
List item 3
|
|
63
|
+
</ListItem>
|
|
64
|
+
</List>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ListWithVirtualizationOptimization
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
<Flex align="start" gap="large" style={{
|
|
71
|
+
width: "100%"
|
|
72
|
+
}} direction="column">
|
|
73
|
+
<StoryDescription description="Regular">
|
|
74
|
+
<DialogContentContainer style={{
|
|
75
|
+
height: "162px",
|
|
76
|
+
width: "200px"
|
|
77
|
+
}}>
|
|
78
|
+
<List renderOnlyVisibleItems style={{
|
|
79
|
+
height: "100%",
|
|
80
|
+
width: "100%"
|
|
81
|
+
}}>
|
|
82
|
+
<ListItem>List item 1</ListItem>
|
|
83
|
+
<ListItem>List item 2</ListItem>
|
|
84
|
+
<ListItem>List item 3</ListItem>
|
|
85
|
+
<ListItem>List item 4</ListItem>
|
|
86
|
+
<ListItem>List item 5</ListItem>
|
|
87
|
+
<ListItem>List item 6</ListItem>
|
|
88
|
+
<ListItem>List item 7</ListItem>
|
|
89
|
+
<ListItem>List item 8</ListItem>
|
|
90
|
+
<ListItem>List item 9</ListItem>
|
|
91
|
+
<ListItem>List item 10</ListItem>
|
|
92
|
+
<ListItem>List item 11</ListItem>
|
|
93
|
+
<ListItem>List item 12</ListItem>
|
|
94
|
+
</List>
|
|
95
|
+
</DialogContentContainer>
|
|
96
|
+
</StoryDescription>
|
|
97
|
+
<StoryDescription description="With categories">
|
|
98
|
+
<DialogContentContainer style={{
|
|
99
|
+
height: "159px",
|
|
100
|
+
width: "200px"
|
|
101
|
+
}}>
|
|
102
|
+
<List renderOnlyVisibleItems style={{
|
|
103
|
+
height: "100%",
|
|
104
|
+
width: "100%"
|
|
105
|
+
}}>
|
|
106
|
+
<ListTitle>First category</ListTitle>
|
|
107
|
+
<ListItem>List item 1</ListItem>
|
|
108
|
+
<ListItem>List item 2</ListItem>
|
|
109
|
+
<ListTitle>Second category</ListTitle>
|
|
110
|
+
<ListItem>List item 3</ListItem>
|
|
111
|
+
<ListItem>List item 4</ListItem>
|
|
112
|
+
<ListItem>List item 5</ListItem>
|
|
113
|
+
<ListItem>List item 6</ListItem>
|
|
114
|
+
<ListItem>List item 7</ListItem>
|
|
115
|
+
<ListItem>List item 8</ListItem>
|
|
116
|
+
<ListItem>List item 9</ListItem>
|
|
117
|
+
<ListItem>List item 10</ListItem>
|
|
118
|
+
<ListItem>List item 11</ListItem>
|
|
119
|
+
<ListItem>List item 12</ListItem>
|
|
120
|
+
</List>
|
|
121
|
+
</DialogContentContainer>
|
|
122
|
+
</StoryDescription>
|
|
123
|
+
</Flex>
|
|
124
|
+
```
|
|
125
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## States
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
<Flex>
|
|
7
|
+
<ListItem>Default state</ListItem>
|
|
8
|
+
<ListItem disabled>Disabled state</ListItem>
|
|
9
|
+
<ListItem selected>Selected state</ListItem>
|
|
10
|
+
</Flex>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Sizes
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<Flex>
|
|
17
|
+
<ListItem size="small">Small item</ListItem>
|
|
18
|
+
<ListItem size="medium">Medium item</ListItem>
|
|
19
|
+
<ListItem size="large">Large item</ListItem>
|
|
20
|
+
</Flex>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## List item with an icon
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
<Flex>
|
|
27
|
+
<ListItem>
|
|
28
|
+
<ListItemIcon icon={Send} />
|
|
29
|
+
Productivity
|
|
30
|
+
</ListItem>
|
|
31
|
+
</Flex>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## List item with an avatar
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
<ListItem>
|
|
38
|
+
<ListItemAvatar src={person1} />
|
|
39
|
+
Sophia Johnson
|
|
40
|
+
</ListItem>
|
|
41
|
+
```
|
|
42
|
+
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
<Loader id="overview-loader" size="medium" {...args} />
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Size variants
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
<Flex align="start" gap={60}>
|
|
13
|
+
<Flex direction="column" gap="small">
|
|
14
|
+
<Text type="text1" weight="medium">
|
|
15
|
+
Xs
|
|
16
|
+
</Text>
|
|
17
|
+
<Loader id="loader-xs" size="xs" />
|
|
18
|
+
</Flex>
|
|
19
|
+
<Flex direction="column" gap="small">
|
|
20
|
+
<Text type="text1" weight="medium">
|
|
21
|
+
Small
|
|
22
|
+
</Text>
|
|
23
|
+
<Loader id="loader-small" size="small" />
|
|
24
|
+
</Flex>
|
|
25
|
+
<Flex direction="column" gap="small">
|
|
26
|
+
<Text type="text1" weight="medium">
|
|
27
|
+
Medium
|
|
28
|
+
</Text>
|
|
29
|
+
<Loader id="loader-medium" size="medium" />
|
|
30
|
+
</Flex>
|
|
31
|
+
<Flex direction="column" gap="small">
|
|
32
|
+
<Text type="text1" weight="medium">
|
|
33
|
+
Large
|
|
34
|
+
</Text>
|
|
35
|
+
<Loader id="loader-large" size="large" />
|
|
36
|
+
</Flex>
|
|
37
|
+
</Flex>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Color variants
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
<Flex direction="row" gap={60}>
|
|
44
|
+
<Flex direction="column" gap="small">
|
|
45
|
+
<Text type="text1" weight="medium">
|
|
46
|
+
Primary
|
|
47
|
+
</Text>
|
|
48
|
+
<Loader id="loader-primary" size="medium" color="primary" />
|
|
49
|
+
</Flex>
|
|
50
|
+
<Flex direction="column" gap="small">
|
|
51
|
+
<Text type="text1" weight="medium">
|
|
52
|
+
Secondary
|
|
53
|
+
</Text>
|
|
54
|
+
<Loader id="loader-secondary" size="medium" color="secondary" />
|
|
55
|
+
</Flex>
|
|
56
|
+
<Flex direction="column" gap="small">
|
|
57
|
+
<Text type="text1" weight="medium">
|
|
58
|
+
Dark
|
|
59
|
+
</Text>
|
|
60
|
+
<Loader id="loader-dark" size="medium" color="dark" />
|
|
61
|
+
</Flex>
|
|
62
|
+
<Flex direction="column" gap="small">
|
|
63
|
+
<Text type="text1" weight="medium">
|
|
64
|
+
OnPrimary
|
|
65
|
+
</Text>
|
|
66
|
+
<Flex direction="row">
|
|
67
|
+
<div style={{
|
|
68
|
+
background: "var(--sb-primary-text-color)",
|
|
69
|
+
padding: "var(--space-4)"
|
|
70
|
+
}}>
|
|
71
|
+
<Loader id="loader-on-primary" size="medium" color="onPrimary" />
|
|
72
|
+
</div>
|
|
73
|
+
<div style={{
|
|
74
|
+
background: "var(--sb-negative-color)",
|
|
75
|
+
padding: "var(--space-4)"
|
|
76
|
+
}}>
|
|
77
|
+
<Loader id="loader-on-negative" size="medium" color="onPrimary" />
|
|
78
|
+
</div>
|
|
79
|
+
<div style={{
|
|
80
|
+
background: "var(--sb-positive-color)",
|
|
81
|
+
padding: "var(--space-4)"
|
|
82
|
+
}}>
|
|
83
|
+
<Loader id="loader-on-positive" size="medium" color="onPrimary" />
|
|
84
|
+
</div>
|
|
85
|
+
<div style={{
|
|
86
|
+
background: "var(--sb-primary-color)",
|
|
87
|
+
padding: "var(--space-4)"
|
|
88
|
+
}}>
|
|
89
|
+
<Loader id="loader-on-primary-color" size="medium" color="onPrimary" />
|
|
90
|
+
</div>
|
|
91
|
+
</Flex>
|
|
92
|
+
</Flex>
|
|
93
|
+
</Flex>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Custom colors
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
<div style={{
|
|
100
|
+
color: "var(--color-dark-red)"
|
|
101
|
+
}}>
|
|
102
|
+
<Loader id="loader-custom-color" size="medium" />
|
|
103
|
+
</div>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Visual variants
|
|
107
|
+
|
|
108
|
+
```tsx
|
|
109
|
+
<Flex direction="row" gap="large">
|
|
110
|
+
<Flex direction="column" gap="small">
|
|
111
|
+
<Text type="text1" weight="medium">
|
|
112
|
+
Casual
|
|
113
|
+
</Text>
|
|
114
|
+
<div>
|
|
115
|
+
<Loader id="loader-casual" size="medium" />
|
|
116
|
+
</div>
|
|
117
|
+
</Flex>
|
|
118
|
+
<Flex direction="column" gap="small">
|
|
119
|
+
<Text type="text1" weight="medium">
|
|
120
|
+
With background
|
|
121
|
+
</Text>
|
|
122
|
+
<div>
|
|
123
|
+
<Loader id="loader-with-background" size="medium" hasBackground />
|
|
124
|
+
</div>
|
|
125
|
+
</Flex>
|
|
126
|
+
</Flex>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Loader in text field
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
<DialogContentContainer>
|
|
133
|
+
<Search loading placeholder="Board name" />
|
|
134
|
+
</DialogContentContainer>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Loader in button
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
const [loading, setLoading] = useState(false);
|
|
141
|
+
const onClick = useCallback(() => {
|
|
142
|
+
setLoading(true);
|
|
143
|
+
}, [setLoading]);
|
|
144
|
+
return <Button loading={loading} onClick={onClick}>
|
|
145
|
+
Click here for loading
|
|
146
|
+
</Button>;
|
|
147
|
+
```
|
|
148
|
+
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
const menuTemplate = (args: MenuProps) => <Menu {...args}>
|
|
7
|
+
<MenuItem title="Menu item 1" />
|
|
8
|
+
<MenuItem title="Menu item 2" disabled />
|
|
9
|
+
<MenuItem title="Menu item 3" />
|
|
10
|
+
</Menu>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Sizes
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
[<Flex gap="medium">
|
|
17
|
+
<DialogContentContainer key="small">
|
|
18
|
+
<Menu size="small">
|
|
19
|
+
<MenuTitle caption="Small menu" />
|
|
20
|
+
<MenuDivider />
|
|
21
|
+
<MenuItem title="Menu item 1" />
|
|
22
|
+
<MenuItem title="Menu item 2" disabled />
|
|
23
|
+
<MenuItem title="Menu item 3" />
|
|
24
|
+
</Menu>
|
|
25
|
+
</DialogContentContainer>
|
|
26
|
+
<DialogContentContainer key="md">
|
|
27
|
+
<Menu size="medium">
|
|
28
|
+
<MenuTitle caption="Medium menu" />
|
|
29
|
+
<MenuDivider />
|
|
30
|
+
<MenuItem title="Menu item 1" />
|
|
31
|
+
<MenuItem title="Menu item 2" disabled />
|
|
32
|
+
<MenuItem title="Menu item 3" />
|
|
33
|
+
</Menu>
|
|
34
|
+
</DialogContentContainer>
|
|
35
|
+
<DialogContentContainer key="lg">
|
|
36
|
+
<Menu size="large">
|
|
37
|
+
<MenuTitle caption="Large menu" />
|
|
38
|
+
<MenuDivider />
|
|
39
|
+
<MenuItem title="Menu item 1" />
|
|
40
|
+
<MenuItem title="Menu item 2" disabled />
|
|
41
|
+
<MenuItem title="Menu item 3" />
|
|
42
|
+
</Menu>
|
|
43
|
+
</DialogContentContainer>
|
|
44
|
+
</Flex>]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Menu with icons
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
<Flex>
|
|
51
|
+
<DialogContentContainer>
|
|
52
|
+
<Menu>
|
|
53
|
+
<MenuItem icon={Email} title="Send" />
|
|
54
|
+
<MenuItem icon={Delete} title="Delete" disabled />
|
|
55
|
+
<MenuItem icon={Info} title="More info" />
|
|
56
|
+
</Menu>
|
|
57
|
+
</DialogContentContainer>
|
|
58
|
+
</Flex>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Menu with sub menu
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
<Flex>
|
|
65
|
+
<DialogContentContainer>
|
|
66
|
+
<Menu>
|
|
67
|
+
<MenuItem title="Menu item without sub menu" icon={Activity} />
|
|
68
|
+
<MenuItem title="With Sub menu" icon={Activity}>
|
|
69
|
+
<Menu>
|
|
70
|
+
<MenuItem icon={Email} title="Send" />
|
|
71
|
+
<MenuItem icon={Delete} title="Delete" disabled />
|
|
72
|
+
<MenuItem icon={Info} title="More info" />
|
|
73
|
+
</Menu>
|
|
74
|
+
</MenuItem>
|
|
75
|
+
<MenuItem title="Another item" icon={Settings} />
|
|
76
|
+
</Menu>
|
|
77
|
+
</DialogContentContainer>
|
|
78
|
+
</Flex>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Menu with grid items and sub menu
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
<Flex align="start" style={{
|
|
85
|
+
height: "500px"
|
|
86
|
+
}}>
|
|
87
|
+
<DialogContentContainer>
|
|
88
|
+
<Menu>
|
|
89
|
+
<MenuItem title="Menu item" icon={Favorite} />
|
|
90
|
+
<MenuTitle caption="Top level grid item" />
|
|
91
|
+
<MenuItem title="With Sub menu" icon={Activity}>
|
|
92
|
+
<Menu>
|
|
93
|
+
<MenuItem icon={Feedback} title="More info" />
|
|
94
|
+
<MenuTitle caption="1st level grid item" />
|
|
95
|
+
<MenuGridItem>
|
|
96
|
+
<DummyNavigableGrid itemsCount={6} numberOfItemsInLine={3} withoutBorder />
|
|
97
|
+
</MenuGridItem>
|
|
98
|
+
<MenuItem icon={Code} title="With Sub menu">
|
|
99
|
+
<Menu>
|
|
100
|
+
<MenuTitle caption="2nd level grid item" />
|
|
101
|
+
<MenuGridItem>
|
|
102
|
+
<DummyNavigableGrid itemsCount={6} numberOfItemsInLine={3} withoutBorder />
|
|
103
|
+
</MenuGridItem>
|
|
104
|
+
<MenuItem icon={Invite} title="Another sub sub item" />
|
|
105
|
+
<MenuItem icon={Settings} title="More sub sub items" />
|
|
106
|
+
</Menu>
|
|
107
|
+
</MenuItem>
|
|
108
|
+
</Menu>
|
|
109
|
+
</MenuItem>
|
|
110
|
+
<MenuItem title="Another item" icon={Settings} />
|
|
111
|
+
</Menu>
|
|
112
|
+
</DialogContentContainer>
|
|
113
|
+
</Flex>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Menu with 2-depth sub menu
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
<Flex>
|
|
120
|
+
<DialogContentContainer>
|
|
121
|
+
<Menu>
|
|
122
|
+
<MenuItem title="Menu item" icon={Favorite} />
|
|
123
|
+
<MenuItem title="With Sub menu" icon={Activity}>
|
|
124
|
+
<Menu>
|
|
125
|
+
<MenuItem icon={Emoji} title="Send" />
|
|
126
|
+
<MenuItem icon={Code} title="Sub Sub menu">
|
|
127
|
+
<Menu>
|
|
128
|
+
<MenuItem icon={Email} title="Sub sub item" />
|
|
129
|
+
<MenuItem icon={Invite} title="Another sub sub item" />
|
|
130
|
+
<MenuItem icon={Settings} title="More sub sub items" />
|
|
131
|
+
</Menu>
|
|
132
|
+
</MenuItem>
|
|
133
|
+
<MenuItem icon={Feedback} title="More info" />
|
|
134
|
+
</Menu>
|
|
135
|
+
</MenuItem>
|
|
136
|
+
<MenuItem title="Another item" icon={Settings} />
|
|
137
|
+
</Menu>
|
|
138
|
+
</DialogContentContainer>
|
|
139
|
+
</Flex>
|
|
140
|
+
```
|
|
141
|
+
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
<MenuButton id="overview-menu-button" aria-label="Overview menu button" {...args}>
|
|
7
|
+
<Menu id="overview-menu" size="medium">
|
|
8
|
+
<MenuItem id="overview-menu-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
9
|
+
<MenuItem id="overview-menu-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
10
|
+
<MenuItem id="overview-menu-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
11
|
+
</Menu>
|
|
12
|
+
</MenuButton>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Sizes
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<>
|
|
19
|
+
<MenuButton id="sizes-xxs" aria-label="Extra extra small menu button" size="xxs">
|
|
20
|
+
<Menu id="sizes-xxs-menu" size="medium">
|
|
21
|
+
<MenuItem id="sizes-xxs-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
22
|
+
<MenuItem id="sizes-xxs-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
23
|
+
<MenuItem id="sizes-xxs-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
24
|
+
</Menu>
|
|
25
|
+
</MenuButton>
|
|
26
|
+
<MenuButton id="sizes-xs" aria-label="Extra small menu button" size="xs">
|
|
27
|
+
<Menu id="sizes-xs-menu" size="medium">
|
|
28
|
+
<MenuItem id="sizes-xs-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
29
|
+
<MenuItem id="sizes-xs-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
30
|
+
<MenuItem id="sizes-xs-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
31
|
+
</Menu>
|
|
32
|
+
</MenuButton>
|
|
33
|
+
<MenuButton id="sizes-small" aria-label="Small menu button" size="small">
|
|
34
|
+
<Menu id="sizes-small-menu" size="medium">
|
|
35
|
+
<MenuItem id="sizes-small-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
36
|
+
<MenuItem id="sizes-small-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
37
|
+
<MenuItem id="sizes-small-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
38
|
+
</Menu>
|
|
39
|
+
</MenuButton>
|
|
40
|
+
<MenuButton id="sizes-medium" aria-label="Medium menu button" size="medium">
|
|
41
|
+
<Menu id="sizes-medium-menu" size="medium">
|
|
42
|
+
<MenuItem id="sizes-medium-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
43
|
+
<MenuItem id="sizes-medium-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
44
|
+
<MenuItem id="sizes-medium-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
45
|
+
</Menu>
|
|
46
|
+
</MenuButton>
|
|
47
|
+
<MenuButton id="sizes-large" aria-label="Large menu button" size="large">
|
|
48
|
+
<Menu id="sizes-large-menu" size="medium">
|
|
49
|
+
<MenuItem id="sizes-large-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
50
|
+
<MenuItem id="sizes-large-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
51
|
+
<MenuItem id="sizes-large-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
52
|
+
</Menu>
|
|
53
|
+
</MenuButton>
|
|
54
|
+
</>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## DifferentIcon
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
<MenuButton id="different-icon" aria-label="Menu button with different icon" component={MoveArrowDown}>
|
|
61
|
+
<Menu id="different-icon-menu" size="medium">
|
|
62
|
+
<MenuItem id="different-icon-sun" icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
63
|
+
<MenuItem id="different-icon-moon" icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
64
|
+
<MenuItem id="different-icon-stars" icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
65
|
+
</Menu>
|
|
66
|
+
</MenuButton>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## WithText
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
<div style={{
|
|
73
|
+
width: 200
|
|
74
|
+
}}>
|
|
75
|
+
<MenuButton text="Open">
|
|
76
|
+
<Menu id="menu" size="medium">
|
|
77
|
+
<MenuItem icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
78
|
+
<MenuItem icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
79
|
+
<MenuItem icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
80
|
+
</Menu>
|
|
81
|
+
</MenuButton>
|
|
82
|
+
</div>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## With Text and Icon at the end
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
<div style={{
|
|
89
|
+
width: 200
|
|
90
|
+
}}>
|
|
91
|
+
<MenuButton text="Open" component={DropdownChevronDown} componentPosition="end">
|
|
92
|
+
<Menu id="menu" size="medium">
|
|
93
|
+
<MenuItem icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
94
|
+
<MenuItem icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
95
|
+
<MenuItem icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
96
|
+
</Menu>
|
|
97
|
+
</MenuButton>
|
|
98
|
+
</div>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Disabled
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
<MenuButton disabled tooltipContent="This action is not available now">
|
|
105
|
+
<Menu id="menu" size="medium">
|
|
106
|
+
<MenuItem icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
107
|
+
<MenuItem icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
108
|
+
<MenuItem icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
109
|
+
</Menu>
|
|
110
|
+
</MenuButton>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## CustomTriggerElement
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
const ref = useRef(null);
|
|
117
|
+
return <MenuButton triggerElement={props => <Button kind="secondary" {...props} className={""} ref={ref}>
|
|
118
|
+
Button
|
|
119
|
+
</Button>}>
|
|
120
|
+
<Menu id="menu" size="medium">
|
|
121
|
+
<MenuItem icon={Sun} onClick={NOOP} type="svg" title="The sun" />
|
|
122
|
+
<MenuItem icon={Moon} onClick={NOOP} type="svg" title="The moon" />
|
|
123
|
+
<MenuItem icon={Favorite} onClick={NOOP} type="svg" title="And the stars" />
|
|
124
|
+
</Menu>
|
|
125
|
+
</MenuButton>;
|
|
126
|
+
```
|
|
127
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## Menu with divider
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
<div style={{
|
|
7
|
+
width: 200
|
|
8
|
+
}}>
|
|
9
|
+
<Menu>
|
|
10
|
+
<MenuItem title="Menu item 1" />
|
|
11
|
+
<MenuDivider />
|
|
12
|
+
<MenuItem title="Menu item 2" />
|
|
13
|
+
</Menu>
|
|
14
|
+
</div>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Sub menu with divider
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
<div style={{
|
|
21
|
+
width: 200,
|
|
22
|
+
height: 90
|
|
23
|
+
}}>
|
|
24
|
+
<Menu>
|
|
25
|
+
<MenuItem title="Item with sub menu">
|
|
26
|
+
<Menu>
|
|
27
|
+
<MenuItem title="Item 1" />
|
|
28
|
+
<MenuDivider />
|
|
29
|
+
<MenuItem title="Item 2" />
|
|
30
|
+
</Menu>
|
|
31
|
+
</MenuItem>
|
|
32
|
+
</Menu>
|
|
33
|
+
</div>
|
|
34
|
+
```
|
|
35
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Storybook Code Examples
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
const menuGridItemTemplate = (args: MenuGridItemProps) => <Menu>
|
|
7
|
+
<MenuItem title="This is a menu button" />
|
|
8
|
+
<MenuTitle caption="Try keyboard navigation :)" />
|
|
9
|
+
<MenuGridItem {...args}>
|
|
10
|
+
<DummyNavigableGrid itemsCount={8} numberOfItemsInLine={3} withoutBorder />
|
|
11
|
+
</MenuGridItem>
|
|
12
|
+
</Menu>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## With disabled states
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<DialogContentContainer>
|
|
19
|
+
<Menu>
|
|
20
|
+
<MenuTitle caption="This grid has disabled items" />
|
|
21
|
+
<MenuGridItem>
|
|
22
|
+
<DummyNavigableGrid itemsCount={4} numberOfItemsInLine={2} disabledIndexes={[2]} withoutBorder />
|
|
23
|
+
</MenuGridItem>
|
|
24
|
+
<MenuItem title="I'm a regular item" />
|
|
25
|
+
<MenuTitle caption="The grid below is disabled entirely" />
|
|
26
|
+
<MenuGridItem disabled>
|
|
27
|
+
<DummyNavigableGrid itemsCount={4} numberOfItemsInLine={2} withoutBorder />
|
|
28
|
+
</MenuGridItem>
|
|
29
|
+
</Menu>
|
|
30
|
+
</DialogContentContainer>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Inside sub-menus
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<div className="storybook-menu-grid-item-long-story">
|
|
37
|
+
<DialogContentContainer>
|
|
38
|
+
<Menu>
|
|
39
|
+
<MenuItem title="Menu item" icon={Favorite} />
|
|
40
|
+
<MenuTitle caption="Top level grid item" />
|
|
41
|
+
<MenuItem title="Hover me to see the sub menu" icon={Activity}>
|
|
42
|
+
<Menu>
|
|
43
|
+
<MenuItem icon={Feedback} title="More info" />
|
|
44
|
+
<MenuTitle caption="1st level grid item" />
|
|
45
|
+
<MenuGridItem>
|
|
46
|
+
<DummyNavigableGrid itemsCount={6} numberOfItemsInLine={3} withoutBorder />
|
|
47
|
+
</MenuGridItem>
|
|
48
|
+
<MenuItem icon={Code} title="Hover me to see the sub menu">
|
|
49
|
+
<Menu>
|
|
50
|
+
<MenuTitle caption="2nd level grid item" />
|
|
51
|
+
<MenuGridItem>
|
|
52
|
+
<DummyNavigableGrid itemsCount={6} numberOfItemsInLine={3} withoutBorder />
|
|
53
|
+
</MenuGridItem>
|
|
54
|
+
<MenuItem icon={Invite} title="Another sub sub item" />
|
|
55
|
+
<MenuItem icon={Settings} title="More sub sub items" />
|
|
56
|
+
</Menu>
|
|
57
|
+
</MenuItem>
|
|
58
|
+
</Menu>
|
|
59
|
+
</MenuItem>
|
|
60
|
+
<MenuItem title="Another item" icon={Settings} />
|
|
61
|
+
</Menu>
|
|
62
|
+
</DialogContentContainer>
|
|
63
|
+
</div>
|
|
64
|
+
```
|
|
65
|
+
|