@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.
Files changed (109) hide show
  1. package/dist/metadata/accessibility/Accordion.md +10 -0
  2. package/dist/metadata/accessibility/AlertBanner.md +9 -0
  3. package/dist/metadata/accessibility/Avatar.md +12 -0
  4. package/dist/metadata/accessibility/AvatarGroup.md +6 -0
  5. package/dist/metadata/accessibility/BreadcrumbsBar.md +10 -0
  6. package/dist/metadata/accessibility/Button.md +13 -0
  7. package/dist/metadata/accessibility/ButtonGroup.md +9 -0
  8. package/dist/metadata/accessibility/Checkbox.md +13 -0
  9. package/dist/metadata/accessibility/Chips.md +10 -0
  10. package/dist/metadata/accessibility/Combobox.md +6 -0
  11. package/dist/metadata/accessibility/DropdownBasicDropdown.md +10 -0
  12. package/dist/metadata/accessibility/IconButton.md +26 -0
  13. package/dist/metadata/accessibility/Info.md +12 -0
  14. package/dist/metadata/accessibility/Link.md +8 -0
  15. package/dist/metadata/accessibility/List.md +11 -0
  16. package/dist/metadata/accessibility/Menu.md +10 -0
  17. package/dist/metadata/accessibility/MenuButton.md +6 -0
  18. package/dist/metadata/accessibility/MenuItem.md +8 -0
  19. package/dist/metadata/accessibility/Modal.md +35 -0
  20. package/dist/metadata/accessibility/NumberField.md +9 -0
  21. package/dist/metadata/accessibility/RadioButton.md +11 -0
  22. package/dist/metadata/accessibility/Search.md +10 -0
  23. package/dist/metadata/accessibility/Tabs.md +10 -0
  24. package/dist/metadata/accessibility/TextArea.md +17 -0
  25. package/dist/metadata/accessibility/TextField.md +16 -0
  26. package/dist/metadata/accessibility/Toast.md +4 -0
  27. package/dist/metadata/accessibility/Toggle.md +7 -0
  28. package/dist/metadata/accessibility/Tooltip.md +11 -0
  29. package/dist/metadata/components.json +20940 -0
  30. package/dist/metadata/examples/Accordion.md +136 -0
  31. package/dist/metadata/examples/AlertBanner.md +85 -0
  32. package/dist/metadata/examples/AttentionBox.md +267 -0
  33. package/dist/metadata/examples/Avatar.md +118 -0
  34. package/dist/metadata/examples/AvatarGroup.md +390 -0
  35. package/dist/metadata/examples/Badge.md +59 -0
  36. package/dist/metadata/examples/BaseInput.md +2 -0
  37. package/dist/metadata/examples/BaseList.md +342 -0
  38. package/dist/metadata/examples/Box.md +208 -0
  39. package/dist/metadata/examples/BreadcrumbItem.md +54 -0
  40. package/dist/metadata/examples/BreadcrumbsBar.md +64 -0
  41. package/dist/metadata/examples/Button.md +174 -0
  42. package/dist/metadata/examples/ButtonGroup.md +180 -0
  43. package/dist/metadata/examples/Checkbox.md +24 -0
  44. package/dist/metadata/examples/Chips.md +192 -0
  45. package/dist/metadata/examples/Clickable.md +31 -0
  46. package/dist/metadata/examples/ColorPicker.md +2 -0
  47. package/dist/metadata/examples/Combobox.md +438 -0
  48. package/dist/metadata/examples/Counter.md +188 -0
  49. package/dist/metadata/examples/DatePicker.md +43 -0
  50. package/dist/metadata/examples/Dialog.md +521 -0
  51. package/dist/metadata/examples/DialogContentContainer.md +18 -0
  52. package/dist/metadata/examples/Divider.md +50 -0
  53. package/dist/metadata/examples/DropdownBasicDropdown.md +479 -0
  54. package/dist/metadata/examples/DropdownBoxMode.md +218 -0
  55. package/dist/metadata/examples/EditableHeading.md +33 -0
  56. package/dist/metadata/examples/EditableText.md +36 -0
  57. package/dist/metadata/examples/EmptyState.md +192 -0
  58. package/dist/metadata/examples/ExpandCollapse.md +77 -0
  59. package/dist/metadata/examples/Flex.md +916 -0
  60. package/dist/metadata/examples/Heading.md +124 -0
  61. package/dist/metadata/examples/HiddenText.md +8 -0
  62. package/dist/metadata/examples/Icon.md +67 -0
  63. package/dist/metadata/examples/IconButton.md +141 -0
  64. package/dist/metadata/examples/Info.md +80 -0
  65. package/dist/metadata/examples/Label.md +109 -0
  66. package/dist/metadata/examples/Link.md +52 -0
  67. package/dist/metadata/examples/List.md +125 -0
  68. package/dist/metadata/examples/ListItem.md +42 -0
  69. package/dist/metadata/examples/Loader.md +148 -0
  70. package/dist/metadata/examples/Menu.md +141 -0
  71. package/dist/metadata/examples/MenuButton.md +127 -0
  72. package/dist/metadata/examples/MenuDivider.md +35 -0
  73. package/dist/metadata/examples/MenuGridItem.md +65 -0
  74. package/dist/metadata/examples/MenuItem.md +98 -0
  75. package/dist/metadata/examples/MenuItemButton.md +42 -0
  76. package/dist/metadata/examples/MenuTitle.md +25 -0
  77. package/dist/metadata/examples/ModalBasicLayout.md +400 -0
  78. package/dist/metadata/examples/ModalMediaLayout.md +240 -0
  79. package/dist/metadata/examples/ModalSideBySideLayout.md +313 -0
  80. package/dist/metadata/examples/MultiStepIndicator.md +189 -0
  81. package/dist/metadata/examples/NumberField.md +68 -0
  82. package/dist/metadata/examples/ProgressBar.md +152 -0
  83. package/dist/metadata/examples/RadioButton.md +41 -0
  84. package/dist/metadata/examples/Search.md +24 -0
  85. package/dist/metadata/examples/Skeleton.md +161 -0
  86. package/dist/metadata/examples/Slider.md +109 -0
  87. package/dist/metadata/examples/SplitButton.md +120 -0
  88. package/dist/metadata/examples/Steps.md +106 -0
  89. package/dist/metadata/examples/Table.md +449 -0
  90. package/dist/metadata/examples/Tabs.md +241 -0
  91. package/dist/metadata/examples/Text.md +188 -0
  92. package/dist/metadata/examples/TextArea.md +28 -0
  93. package/dist/metadata/examples/TextField.md +119 -0
  94. package/dist/metadata/examples/TextWithHighlight.md +2 -0
  95. package/dist/metadata/examples/ThemeProvider.md +47 -0
  96. package/dist/metadata/examples/Tipseen.md +111 -0
  97. package/dist/metadata/examples/Toast.md +127 -0
  98. package/dist/metadata/examples/Toggle.md +38 -0
  99. package/dist/metadata/examples/Tooltip.md +53 -0
  100. package/dist/metadata/examples/VirtualizedGrid.md +54 -0
  101. package/dist/metadata/examples/VirtualizedList.md +50 -0
  102. package/dist/metadata/examples/useGridKeyboardNavigationContext.md +61 -0
  103. package/dist/mocked_classnames/scripts/build-all-metadata.d.ts +1 -0
  104. package/dist/mocked_classnames/scripts/extract-accessibility.d.ts +4 -0
  105. package/dist/mocked_classnames/scripts/extract-examples.d.ts +3 -0
  106. package/dist/scripts/build-all-metadata.d.ts +1 -0
  107. package/dist/scripts/extract-accessibility.d.ts +4 -0
  108. package/dist/scripts/extract-examples.d.ts +3 -0
  109. 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
+