@a2v2ai/uikit 0.0.38 → 0.0.39

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 (183) hide show
  1. package/Alert/Alert.d.ts +13 -0
  2. package/Alert/Alert.js +25 -0
  3. package/AlertDialog/AlertDialog.d.ts +43 -0
  4. package/AlertDialog/AlertDialog.js +71 -0
  5. package/Avatar/Avatar.d.ts +14 -0
  6. package/Avatar/Avatar.js +25 -0
  7. package/Badge/Badge.d.ts +11 -0
  8. package/Badge/Badge.js +23 -0
  9. package/Breadcrumb/Breadcrumb.d.ts +19 -0
  10. package/Breadcrumb/Breadcrumb.js +23 -0
  11. package/Button/Button.d.ts +23 -0
  12. package/Button/Button.js +52 -0
  13. package/Calendar/Calendar.d.ts +20 -0
  14. package/Calendar/Calendar.js +78 -0
  15. package/Card/Card.d.ts +16 -0
  16. package/Card/Card.js +28 -0
  17. package/Carousel/Carousel.d.ts +37 -0
  18. package/Carousel/Carousel.js +132 -0
  19. package/ChatBubble/ChatBubble.d.ts +33 -0
  20. package/ChatBubble/ChatBubble.js +107 -0
  21. package/Checkbox/Checkbox.d.ts +12 -0
  22. package/Checkbox/Checkbox.js +20 -0
  23. package/DataTable/DataTable.d.ts +35 -0
  24. package/DataTable/DataTable.js +51 -0
  25. package/Drawer/Drawer.d.ts +33 -0
  26. package/Drawer/Drawer.js +55 -0
  27. package/DropdownMenu/DropdownMenu.d.ts +27 -0
  28. package/DropdownMenu/DropdownMenu.js +35 -0
  29. package/ErrorMessage/ErrorMessage.d.ts +27 -0
  30. package/ErrorMessage/ErrorMessage.js +14 -0
  31. package/Flex/Flex.d.ts +31 -0
  32. package/Flex/Flex.js +64 -0
  33. package/IconButton/IconButton.d.ts +23 -0
  34. package/IconButton/IconButton.js +48 -0
  35. package/Input/Input.d.ts +27 -0
  36. package/Input/Input.js +42 -0
  37. package/InputOTP/InputOTP.d.ts +20 -0
  38. package/InputOTP/InputOTP.js +44 -0
  39. package/Label/Label.d.ts +13 -0
  40. package/Label/Label.js +19 -0
  41. package/Loader/Loader.d.ts +21 -0
  42. package/Loader/Loader.js +30 -0
  43. package/Menubar/Menubar.d.ts +26 -0
  44. package/Menubar/Menubar.js +54 -0
  45. package/Menubar/index.d.ts +1 -0
  46. package/Menubar/index.js +1 -0
  47. package/Pagination/Pagination.d.ts +35 -0
  48. package/Pagination/Pagination.js +37 -0
  49. package/Popover/Popover.d.ts +7 -0
  50. package/Popover/Popover.js +10 -0
  51. package/Progress/Progress.d.ts +17 -0
  52. package/Progress/Progress.js +33 -0
  53. package/RadioGroup/RadioGroup.d.ts +13 -0
  54. package/RadioGroup/RadioGroup.js +26 -0
  55. package/ScrollArea/ScrollArea.d.ts +5 -0
  56. package/ScrollArea/ScrollArea.js +11 -0
  57. package/Select/Select.d.ts +29 -0
  58. package/Select/Select.js +50 -0
  59. package/Separator/Separator.d.ts +4 -0
  60. package/Separator/Separator.js +7 -0
  61. package/Sidebar/Sidebar.d.ts +48 -0
  62. package/Sidebar/Sidebar.js +116 -0
  63. package/Sidebar/index.d.ts +2 -0
  64. package/Sidebar/index.js +1 -0
  65. package/Skeleton/Skeleton.d.ts +4 -0
  66. package/Skeleton/Skeleton.js +7 -0
  67. package/Slider/Slider.d.ts +6 -0
  68. package/Slider/Slider.js +7 -0
  69. package/Spinner/Spinner.d.ts +19 -0
  70. package/Spinner/Spinner.js +31 -0
  71. package/Switch/Switch.d.ts +12 -0
  72. package/Switch/Switch.js +30 -0
  73. package/Table/Table.d.ts +10 -0
  74. package/Table/Table.js +20 -0
  75. package/Tabs/Tabs.d.ts +15 -0
  76. package/Tabs/Tabs.js +24 -0
  77. package/Textarea/Textarea.d.ts +19 -0
  78. package/Textarea/Textarea.js +31 -0
  79. package/Toast/Toast.d.ts +12 -0
  80. package/Toast/Toast.js +25 -0
  81. package/Tooltip/Tooltip.d.ts +17 -0
  82. package/Tooltip/Tooltip.js +29 -0
  83. package/Typography/Typography.d.ts +20 -0
  84. package/Typography/Typography.js +71 -0
  85. package/helpers.d.ts +4 -0
  86. package/helpers.js +5 -0
  87. package/icons.d.ts +1 -0
  88. package/{icons.ts → icons.js} +1 -1
  89. package/index.css +68 -0
  90. package/index.d.ts +42 -0
  91. package/index.js +45 -0
  92. package/lib/typography-types.d.ts +4 -0
  93. package/lib/typography-types.js +118 -0
  94. package/lib/utils.d.ts +3 -0
  95. package/lib/utils.js +14 -0
  96. package/package.json +1 -1
  97. package/Alert/Alert.stories.tsx +0 -121
  98. package/Alert/Alert.tsx +0 -71
  99. package/AlertDialog/AlertDialog.stories.tsx +0 -665
  100. package/AlertDialog/AlertDialog.tsx +0 -241
  101. package/Avatar/Avatar.stories.tsx +0 -128
  102. package/Avatar/Avatar.tsx +0 -71
  103. package/Badge/Badge.stories.tsx +0 -76
  104. package/Badge/Badge.tsx +0 -39
  105. package/Breadcrumb/Breadcrumb.stories.tsx +0 -231
  106. package/Breadcrumb/Breadcrumb.tsx +0 -114
  107. package/Button/Button.stories.tsx +0 -684
  108. package/Button/Button.tsx +0 -107
  109. package/Calendar/Calendar.stories.tsx +0 -291
  110. package/Calendar/Calendar.tsx +0 -246
  111. package/Card/Card.stories.tsx +0 -136
  112. package/Card/Card.tsx +0 -96
  113. package/Carousel/Carousel.stories.tsx +0 -256
  114. package/Carousel/Carousel.tsx +0 -301
  115. package/ChatBubble/ChatBubble.stories.tsx +0 -339
  116. package/ChatBubble/ChatBubble.tsx +0 -179
  117. package/Checkbox/Checkbox.stories.tsx +0 -137
  118. package/Checkbox/Checkbox.tsx +0 -53
  119. package/DataTable/DataTable.stories.tsx +0 -400
  120. package/DataTable/DataTable.tsx +0 -207
  121. package/Drawer/Drawer.stories.tsx +0 -721
  122. package/Drawer/Drawer.tsx +0 -201
  123. package/DropdownMenu/DropdownMenu.stories.tsx +0 -251
  124. package/DropdownMenu/DropdownMenu.tsx +0 -199
  125. package/ErrorMessage/ErrorMessage.stories.tsx +0 -159
  126. package/ErrorMessage/ErrorMessage.tsx +0 -55
  127. package/Flex/Flex.stories.tsx +0 -390
  128. package/Flex/Flex.tsx +0 -102
  129. package/IconButton/IconButton.stories.tsx +0 -566
  130. package/IconButton/IconButton.tsx +0 -95
  131. package/Input/Input.stories.tsx +0 -566
  132. package/Input/Input.tsx +0 -168
  133. package/InputOTP/InputOTP.stories.tsx +0 -246
  134. package/InputOTP/InputOTP.tsx +0 -127
  135. package/Label/Label.stories.tsx +0 -110
  136. package/Label/Label.tsx +0 -44
  137. package/Loader/Loader.stories.tsx +0 -170
  138. package/Loader/Loader.tsx +0 -62
  139. package/Menubar/Menubar.stories.tsx +0 -382
  140. package/Menubar/Menubar.tsx +0 -274
  141. package/Menubar/index.ts +0 -18
  142. package/Pagination/Pagination.stories.tsx +0 -196
  143. package/Pagination/Pagination.tsx +0 -122
  144. package/Popover/Popover.stories.tsx +0 -133
  145. package/Popover/Popover.tsx +0 -31
  146. package/Progress/Progress.stories.tsx +0 -146
  147. package/Progress/Progress.tsx +0 -67
  148. package/RadioGroup/RadioGroup.stories.tsx +0 -159
  149. package/RadioGroup/RadioGroup.tsx +0 -68
  150. package/ScrollArea/ScrollArea.stories.tsx +0 -136
  151. package/ScrollArea/ScrollArea.tsx +0 -46
  152. package/Select/Select.stories.tsx +0 -378
  153. package/Select/Select.tsx +0 -230
  154. package/Separator/Separator.stories.tsx +0 -110
  155. package/Separator/Separator.tsx +0 -29
  156. package/Sidebar/Sidebar.stories.tsx +0 -340
  157. package/Sidebar/Sidebar.tsx +0 -414
  158. package/Sidebar/index.ts +0 -28
  159. package/Skeleton/Skeleton.stories.tsx +0 -117
  160. package/Skeleton/Skeleton.tsx +0 -16
  161. package/Slider/Slider.stories.tsx +0 -216
  162. package/Slider/Slider.tsx +0 -29
  163. package/Spinner/Spinner.stories.tsx +0 -210
  164. package/Spinner/Spinner.tsx +0 -78
  165. package/Switch/Switch.stories.tsx +0 -146
  166. package/Switch/Switch.tsx +0 -59
  167. package/Table/Table.stories.tsx +0 -510
  168. package/Table/Table.tsx +0 -114
  169. package/Tabs/Tabs.stories.tsx +0 -197
  170. package/Tabs/Tabs.tsx +0 -74
  171. package/Textarea/Textarea.stories.tsx +0 -187
  172. package/Textarea/Textarea.tsx +0 -73
  173. package/Toast/Toast.stories.tsx +0 -285
  174. package/Toast/Toast.tsx +0 -59
  175. package/Tooltip/Tooltip.stories.tsx +0 -463
  176. package/Tooltip/Tooltip.tsx +0 -96
  177. package/Typography/Typography.stories.tsx +0 -425
  178. package/Typography/Typography.tsx +0 -106
  179. package/helpers.ts +0 -5
  180. package/index.ts +0 -217
  181. package/lib/typography-types.ts +0 -223
  182. package/lib/utils.ts +0 -15
  183. package/tsconfig.json +0 -22
@@ -1,170 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { Button } from "../Button/Button"
3
- import { Flex } from "../Flex/Flex"
4
- import { Typography } from "../Typography/Typography"
5
- import { Loader } from "./Loader"
6
-
7
- const meta: Meta<typeof Loader> = {
8
- title: "Components/Loader",
9
- component: Loader,
10
- parameters: {
11
- layout: "centered",
12
- },
13
- tags: ["autodocs"],
14
- argTypes: {
15
- size: {
16
- control: "select",
17
- options: ["mini", "small", "regular", "large"],
18
- description: "The size of the loader",
19
- },
20
- color: {
21
- control: "select",
22
- options: ["main", "grey", "white", "current"],
23
- description: "The color of the loader",
24
- },
25
- label: {
26
- control: "text",
27
- description: "Accessibility label for the loader",
28
- },
29
- },
30
- }
31
-
32
- export default meta
33
- type Story = StoryObj<typeof Loader>
34
-
35
- export const Default: Story = {
36
- args: {
37
- size: "regular",
38
- color: "main",
39
- },
40
- }
41
-
42
- export const Mini: Story = {
43
- args: {
44
- size: "mini",
45
- color: "main",
46
- },
47
- }
48
-
49
- export const Small: Story = {
50
- args: {
51
- size: "small",
52
- color: "main",
53
- },
54
- }
55
-
56
- export const Regular: Story = {
57
- args: {
58
- size: "regular",
59
- color: "main",
60
- },
61
- }
62
-
63
- export const Large: Story = {
64
- args: {
65
- size: "large",
66
- color: "main",
67
- },
68
- }
69
-
70
- export const Grey: Story = {
71
- args: {
72
- size: "regular",
73
- color: "grey",
74
- },
75
- }
76
-
77
- export const White: Story = {
78
- args: {
79
- size: "regular",
80
- color: "white",
81
- },
82
- parameters: {
83
- backgrounds: { default: "dark" },
84
- },
85
- decorators: [
86
- (Story) => (
87
- <Flex className="bg-main-600 p-4 rounded-lg">
88
- <Story />
89
- </Flex>
90
- ),
91
- ],
92
- }
93
-
94
- export const InButton: Story = {
95
- render: () => (
96
- <Button disabled>
97
- <Loader size="small" color="current" className="mr-2" />
98
- Loading...
99
- </Button>
100
- ),
101
- }
102
-
103
- export const AllVariants: Story = {
104
- render: () => (
105
- <Flex gap={8}>
106
- {/* Sizes */}
107
- <Flex gap={4}>
108
- <Typography variant="subtitle1" color="main-700">Sizes</Typography>
109
- <Flex direction="row" align="center" gap={6}>
110
- <Flex align="center" gap={2}>
111
- <Loader size="mini" />
112
- <Typography variant="body3" color="main-500">Mini</Typography>
113
- </Flex>
114
- <Flex align="center" gap={2}>
115
- <Loader size="small" />
116
- <Typography variant="body3" color="main-500">Small</Typography>
117
- </Flex>
118
- <Flex align="center" gap={2}>
119
- <Loader size="regular" />
120
- <Typography variant="body3" color="main-500">Regular</Typography>
121
- </Flex>
122
- <Flex align="center" gap={2}>
123
- <Loader size="large" />
124
- <Typography variant="body3" color="main-500">Large</Typography>
125
- </Flex>
126
- </Flex>
127
- </Flex>
128
-
129
- {/* Colors */}
130
- <Flex gap={4}>
131
- <Typography variant="subtitle1" color="main-700">Colors</Typography>
132
- <Flex direction="row" align="center" gap={6}>
133
- <Flex align="center" gap={2}>
134
- <Loader color="main" />
135
- <Typography variant="body3" color="main-500">Main</Typography>
136
- </Flex>
137
- <Flex align="center" gap={2}>
138
- <Loader color="grey" />
139
- <Typography variant="body3" color="main-500">Grey</Typography>
140
- </Flex>
141
- <Flex align="center" gap={2} className="bg-main-600 p-3 rounded-lg">
142
- <Loader color="white" />
143
- <Typography variant="body3" className="text-white">White</Typography>
144
- </Flex>
145
- </Flex>
146
- </Flex>
147
-
148
- {/* Usage Examples */}
149
- <Flex gap={4}>
150
- <Typography variant="subtitle1" color="main-700">Usage Examples</Typography>
151
- <Flex gap={4}>
152
- <Flex direction="row" align="center" gap={4}>
153
- <Button disabled>
154
- <Loader size="small" color="current" className="mr-2" />
155
- Loading...
156
- </Button>
157
- <Typography variant="body3" color="main-500">In Button</Typography>
158
- </Flex>
159
- <Flex direction="row" align="center" gap={4}>
160
- <Flex direction="row" align="center" gap={2} className="text-main-600">
161
- <Loader size="small" color="current" />
162
- <Typography variant="body2">Processing...</Typography>
163
- </Flex>
164
- <Typography variant="body3" color="main-500">Inline with text</Typography>
165
- </Flex>
166
- </Flex>
167
- </Flex>
168
- </Flex>
169
- ),
170
- }
package/Loader/Loader.tsx DELETED
@@ -1,62 +0,0 @@
1
- import * as React from "react"
2
- import { Loader2 } from "lucide-react"
3
- import { cva } from "class-variance-authority"
4
-
5
- import { Flex } from "../Flex/Flex"
6
- import { Typography } from "../Typography/Typography"
7
- import { cn } from "../lib/utils"
8
-
9
- type LoaderSize = "mini" | "small" | "regular" | "large"
10
- type LoaderColor = "main" | "grey" | "white" | "current"
11
-
12
- const loaderVariants = cva(
13
- "animate-spin",
14
- {
15
- variants: {
16
- size: {
17
- mini: "size-3",
18
- small: "size-4",
19
- regular: "size-6",
20
- large: "size-8",
21
- },
22
- color: {
23
- main: "text-main-600",
24
- grey: "text-grey-600",
25
- white: "text-white",
26
- current: "text-current",
27
- },
28
- },
29
- defaultVariants: {
30
- size: "regular",
31
- color: "main",
32
- },
33
- }
34
- )
35
-
36
- export type LoaderProps = Omit<React.HTMLAttributes<HTMLDivElement>, "color"> & {
37
- size?: LoaderSize
38
- color?: LoaderColor
39
- /** Optional label for accessibility */
40
- label?: string
41
- }
42
-
43
- const Loader = React.forwardRef<HTMLDivElement, LoaderProps>(
44
- ({ className, size, color, label = "Loading...", ...props }, ref) => (
45
- <Flex
46
- ref={ref}
47
- role="status"
48
- aria-label={label}
49
- align="center"
50
- justify="center"
51
- className={cn("inline-flex", className)}
52
- {...props}
53
- >
54
- <Loader2 className={cn(loaderVariants({ size, color }))} />
55
- <Typography className="sr-only">{label}</Typography>
56
- </Flex>
57
- )
58
- )
59
- Loader.displayName = "Loader"
60
-
61
- export { Loader, loaderVariants }
62
- export type { LoaderSize, LoaderColor }
@@ -1,382 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { Flex } from "../Flex/Flex"
3
- import { Typography } from "../Typography/Typography"
4
- import {
5
- Menubar,
6
- MenubarMenu,
7
- MenubarTrigger,
8
- MenubarContent,
9
- MenubarItem,
10
- MenubarSeparator,
11
- MenubarShortcut,
12
- MenubarCheckboxItem,
13
- MenubarRadioGroup,
14
- MenubarRadioItem,
15
- MenubarSub,
16
- MenubarSubTrigger,
17
- MenubarSubContent,
18
- MenubarLabel,
19
- } from "./Menubar"
20
-
21
- const meta: Meta<typeof Menubar> = {
22
- title: "Components/Menubar",
23
- component: Menubar,
24
- parameters: {
25
- layout: "centered",
26
- },
27
- tags: ["autodocs"],
28
- }
29
-
30
- export default meta
31
- type Story = StoryObj<typeof Menubar>
32
-
33
- export const Default: Story = {
34
- render: () => (
35
- <Menubar>
36
- <MenubarMenu>
37
- <MenubarTrigger>File</MenubarTrigger>
38
- <MenubarContent>
39
- <MenubarItem>
40
- New Tab <MenubarShortcut>Ctrl+T</MenubarShortcut>
41
- </MenubarItem>
42
- <MenubarItem>
43
- New Window <MenubarShortcut>Ctrl+N</MenubarShortcut>
44
- </MenubarItem>
45
- <MenubarItem disabled>New Incognito Window</MenubarItem>
46
- <MenubarSeparator />
47
- <MenubarSub>
48
- <MenubarSubTrigger>Share</MenubarSubTrigger>
49
- <MenubarSubContent>
50
- <MenubarItem>Email link</MenubarItem>
51
- <MenubarItem>Messages</MenubarItem>
52
- <MenubarItem>Notes</MenubarItem>
53
- </MenubarSubContent>
54
- </MenubarSub>
55
- <MenubarSeparator />
56
- <MenubarItem>
57
- Print... <MenubarShortcut>Ctrl+P</MenubarShortcut>
58
- </MenubarItem>
59
- </MenubarContent>
60
- </MenubarMenu>
61
- <MenubarMenu>
62
- <MenubarTrigger>Edit</MenubarTrigger>
63
- <MenubarContent>
64
- <MenubarItem>
65
- Undo <MenubarShortcut>Ctrl+Z</MenubarShortcut>
66
- </MenubarItem>
67
- <MenubarItem>
68
- Redo <MenubarShortcut>Ctrl+Y</MenubarShortcut>
69
- </MenubarItem>
70
- <MenubarSeparator />
71
- <MenubarSub>
72
- <MenubarSubTrigger>Find</MenubarSubTrigger>
73
- <MenubarSubContent>
74
- <MenubarItem>Search the web</MenubarItem>
75
- <MenubarSeparator />
76
- <MenubarItem>Find...</MenubarItem>
77
- <MenubarItem>Find Next</MenubarItem>
78
- <MenubarItem>Find Previous</MenubarItem>
79
- </MenubarSubContent>
80
- </MenubarSub>
81
- <MenubarSeparator />
82
- <MenubarItem>
83
- Cut <MenubarShortcut>Ctrl+X</MenubarShortcut>
84
- </MenubarItem>
85
- <MenubarItem>
86
- Copy <MenubarShortcut>Ctrl+C</MenubarShortcut>
87
- </MenubarItem>
88
- <MenubarItem>
89
- Paste <MenubarShortcut>Ctrl+V</MenubarShortcut>
90
- </MenubarItem>
91
- </MenubarContent>
92
- </MenubarMenu>
93
- <MenubarMenu>
94
- <MenubarTrigger>View</MenubarTrigger>
95
- <MenubarContent>
96
- <MenubarCheckboxItem>Always Show Bookmarks Bar</MenubarCheckboxItem>
97
- <MenubarCheckboxItem checked>
98
- Always Show Full URLs
99
- </MenubarCheckboxItem>
100
- <MenubarSeparator />
101
- <MenubarItem>
102
- Reload <MenubarShortcut>Ctrl+R</MenubarShortcut>
103
- </MenubarItem>
104
- <MenubarItem disabled>
105
- Force Reload <MenubarShortcut>Ctrl+Shift+R</MenubarShortcut>
106
- </MenubarItem>
107
- <MenubarSeparator />
108
- <MenubarItem>Toggle Fullscreen</MenubarItem>
109
- <MenubarSeparator />
110
- <MenubarItem>Hide Sidebar</MenubarItem>
111
- </MenubarContent>
112
- </MenubarMenu>
113
- <MenubarMenu>
114
- <MenubarTrigger>Profiles</MenubarTrigger>
115
- <MenubarContent>
116
- <MenubarRadioGroup value="andy">
117
- <MenubarRadioItem value="andy">Andy</MenubarRadioItem>
118
- <MenubarRadioItem value="benoit">Benoit</MenubarRadioItem>
119
- <MenubarRadioItem value="luis">Luis</MenubarRadioItem>
120
- </MenubarRadioGroup>
121
- <MenubarSeparator />
122
- <MenubarItem>Edit...</MenubarItem>
123
- <MenubarSeparator />
124
- <MenubarItem>Add Profile...</MenubarItem>
125
- </MenubarContent>
126
- </MenubarMenu>
127
- </Menubar>
128
- ),
129
- }
130
-
131
- export const Simple: Story = {
132
- render: () => (
133
- <Menubar>
134
- <MenubarMenu>
135
- <MenubarTrigger>File</MenubarTrigger>
136
- <MenubarContent>
137
- <MenubarItem>New</MenubarItem>
138
- <MenubarItem>Open</MenubarItem>
139
- <MenubarItem>Save</MenubarItem>
140
- <MenubarSeparator />
141
- <MenubarItem>Exit</MenubarItem>
142
- </MenubarContent>
143
- </MenubarMenu>
144
- <MenubarMenu>
145
- <MenubarTrigger>Edit</MenubarTrigger>
146
- <MenubarContent>
147
- <MenubarItem>Undo</MenubarItem>
148
- <MenubarItem>Redo</MenubarItem>
149
- <MenubarSeparator />
150
- <MenubarItem>Cut</MenubarItem>
151
- <MenubarItem>Copy</MenubarItem>
152
- <MenubarItem>Paste</MenubarItem>
153
- </MenubarContent>
154
- </MenubarMenu>
155
- <MenubarMenu>
156
- <MenubarTrigger>Help</MenubarTrigger>
157
- <MenubarContent>
158
- <MenubarItem>Documentation</MenubarItem>
159
- <MenubarItem>About</MenubarItem>
160
- </MenubarContent>
161
- </MenubarMenu>
162
- </Menubar>
163
- ),
164
- }
165
-
166
- export const WithLabels: Story = {
167
- render: () => (
168
- <Menubar>
169
- <MenubarMenu>
170
- <MenubarTrigger>Actions</MenubarTrigger>
171
- <MenubarContent>
172
- <MenubarLabel>File Actions</MenubarLabel>
173
- <MenubarItem>New File</MenubarItem>
174
- <MenubarItem>New Folder</MenubarItem>
175
- <MenubarSeparator />
176
- <MenubarLabel>Edit Actions</MenubarLabel>
177
- <MenubarItem>Rename</MenubarItem>
178
- <MenubarItem>Delete</MenubarItem>
179
- </MenubarContent>
180
- </MenubarMenu>
181
- </Menubar>
182
- ),
183
- }
184
-
185
- export const WithCheckboxes: Story = {
186
- render: () => (
187
- <Menubar>
188
- <MenubarMenu>
189
- <MenubarTrigger>Options</MenubarTrigger>
190
- <MenubarContent>
191
- <MenubarCheckboxItem checked>Show Toolbar</MenubarCheckboxItem>
192
- <MenubarCheckboxItem checked>Show Sidebar</MenubarCheckboxItem>
193
- <MenubarCheckboxItem>Show Status Bar</MenubarCheckboxItem>
194
- <MenubarSeparator />
195
- <MenubarCheckboxItem>Enable Spell Check</MenubarCheckboxItem>
196
- <MenubarCheckboxItem checked>Auto Save</MenubarCheckboxItem>
197
- </MenubarContent>
198
- </MenubarMenu>
199
- </Menubar>
200
- ),
201
- }
202
-
203
- export const WithRadioGroup: Story = {
204
- render: () => (
205
- <Menubar>
206
- <MenubarMenu>
207
- <MenubarTrigger>Theme</MenubarTrigger>
208
- <MenubarContent>
209
- <MenubarRadioGroup value="system">
210
- <MenubarRadioItem value="light">Light</MenubarRadioItem>
211
- <MenubarRadioItem value="dark">Dark</MenubarRadioItem>
212
- <MenubarRadioItem value="system">System</MenubarRadioItem>
213
- </MenubarRadioGroup>
214
- </MenubarContent>
215
- </MenubarMenu>
216
- <MenubarMenu>
217
- <MenubarTrigger>Font Size</MenubarTrigger>
218
- <MenubarContent>
219
- <MenubarRadioGroup value="medium">
220
- <MenubarRadioItem value="small">Small</MenubarRadioItem>
221
- <MenubarRadioItem value="medium">Medium</MenubarRadioItem>
222
- <MenubarRadioItem value="large">Large</MenubarRadioItem>
223
- </MenubarRadioGroup>
224
- </MenubarContent>
225
- </MenubarMenu>
226
- </Menubar>
227
- ),
228
- }
229
-
230
- export const WithSubmenus: Story = {
231
- render: () => (
232
- <Menubar>
233
- <MenubarMenu>
234
- <MenubarTrigger>Insert</MenubarTrigger>
235
- <MenubarContent>
236
- <MenubarItem>Text</MenubarItem>
237
- <MenubarSub>
238
- <MenubarSubTrigger>Shape</MenubarSubTrigger>
239
- <MenubarSubContent>
240
- <MenubarItem>Rectangle</MenubarItem>
241
- <MenubarItem>Circle</MenubarItem>
242
- <MenubarItem>Triangle</MenubarItem>
243
- <MenubarSub>
244
- <MenubarSubTrigger>More Shapes</MenubarSubTrigger>
245
- <MenubarSubContent>
246
- <MenubarItem>Star</MenubarItem>
247
- <MenubarItem>Heart</MenubarItem>
248
- <MenubarItem>Arrow</MenubarItem>
249
- </MenubarSubContent>
250
- </MenubarSub>
251
- </MenubarSubContent>
252
- </MenubarSub>
253
- <MenubarSub>
254
- <MenubarSubTrigger>Image</MenubarSubTrigger>
255
- <MenubarSubContent>
256
- <MenubarItem>From File...</MenubarItem>
257
- <MenubarItem>From URL...</MenubarItem>
258
- <MenubarItem>From Clipboard</MenubarItem>
259
- </MenubarSubContent>
260
- </MenubarSub>
261
- <MenubarItem>Table</MenubarItem>
262
- <MenubarItem>Chart</MenubarItem>
263
- </MenubarContent>
264
- </MenubarMenu>
265
- </Menubar>
266
- ),
267
- }
268
-
269
- export const AllVariants: Story = {
270
- render: () => (
271
- <Flex gap={8}>
272
- <Flex gap={4}>
273
- <Typography variant="subtitle1" color="main-700">
274
- Full Featured Menubar
275
- </Typography>
276
- <Menubar>
277
- <MenubarMenu>
278
- <MenubarTrigger>File</MenubarTrigger>
279
- <MenubarContent>
280
- <MenubarItem>
281
- New <MenubarShortcut>Ctrl+N</MenubarShortcut>
282
- </MenubarItem>
283
- <MenubarItem>
284
- Open <MenubarShortcut>Ctrl+O</MenubarShortcut>
285
- </MenubarItem>
286
- <MenubarItem>
287
- Save <MenubarShortcut>Ctrl+S</MenubarShortcut>
288
- </MenubarItem>
289
- <MenubarSeparator />
290
- <MenubarSub>
291
- <MenubarSubTrigger>Export</MenubarSubTrigger>
292
- <MenubarSubContent>
293
- <MenubarItem>PDF</MenubarItem>
294
- <MenubarItem>PNG</MenubarItem>
295
- <MenubarItem>JPEG</MenubarItem>
296
- </MenubarSubContent>
297
- </MenubarSub>
298
- <MenubarSeparator />
299
- <MenubarItem>Exit</MenubarItem>
300
- </MenubarContent>
301
- </MenubarMenu>
302
- <MenubarMenu>
303
- <MenubarTrigger>Edit</MenubarTrigger>
304
- <MenubarContent>
305
- <MenubarItem>
306
- Undo <MenubarShortcut>Ctrl+Z</MenubarShortcut>
307
- </MenubarItem>
308
- <MenubarItem>
309
- Redo <MenubarShortcut>Ctrl+Y</MenubarShortcut>
310
- </MenubarItem>
311
- </MenubarContent>
312
- </MenubarMenu>
313
- <MenubarMenu>
314
- <MenubarTrigger>View</MenubarTrigger>
315
- <MenubarContent>
316
- <MenubarCheckboxItem checked>Toolbar</MenubarCheckboxItem>
317
- <MenubarCheckboxItem>Status Bar</MenubarCheckboxItem>
318
- <MenubarSeparator />
319
- <MenubarRadioGroup value="100">
320
- <MenubarLabel>Zoom</MenubarLabel>
321
- <MenubarRadioItem value="50">50%</MenubarRadioItem>
322
- <MenubarRadioItem value="100">100%</MenubarRadioItem>
323
- <MenubarRadioItem value="150">150%</MenubarRadioItem>
324
- </MenubarRadioGroup>
325
- </MenubarContent>
326
- </MenubarMenu>
327
- </Menubar>
328
- </Flex>
329
-
330
- <Flex gap={4}>
331
- <Typography variant="subtitle1" color="main-700">
332
- Minimal Menubar
333
- </Typography>
334
- <Menubar>
335
- <MenubarMenu>
336
- <MenubarTrigger>Menu</MenubarTrigger>
337
- <MenubarContent>
338
- <MenubarItem>Option 1</MenubarItem>
339
- <MenubarItem>Option 2</MenubarItem>
340
- <MenubarItem>Option 3</MenubarItem>
341
- </MenubarContent>
342
- </MenubarMenu>
343
- </Menubar>
344
- </Flex>
345
-
346
- <Flex gap={4}>
347
- <Typography variant="subtitle1" color="main-700">
348
- Application Menubar
349
- </Typography>
350
- <Menubar>
351
- <MenubarMenu>
352
- <MenubarTrigger>App</MenubarTrigger>
353
- <MenubarContent>
354
- <MenubarItem>About</MenubarItem>
355
- <MenubarItem>Preferences</MenubarItem>
356
- <MenubarSeparator />
357
- <MenubarItem>Quit</MenubarItem>
358
- </MenubarContent>
359
- </MenubarMenu>
360
- <MenubarMenu>
361
- <MenubarTrigger>Account</MenubarTrigger>
362
- <MenubarContent>
363
- <MenubarItem>Profile</MenubarItem>
364
- <MenubarItem>Settings</MenubarItem>
365
- <MenubarSeparator />
366
- <MenubarItem>Sign Out</MenubarItem>
367
- </MenubarContent>
368
- </MenubarMenu>
369
- <MenubarMenu>
370
- <MenubarTrigger>Help</MenubarTrigger>
371
- <MenubarContent>
372
- <MenubarItem>Documentation</MenubarItem>
373
- <MenubarItem>Support</MenubarItem>
374
- <MenubarSeparator />
375
- <MenubarItem>Check for Updates</MenubarItem>
376
- </MenubarContent>
377
- </MenubarMenu>
378
- </Menubar>
379
- </Flex>
380
- </Flex>
381
- ),
382
- }