@a2v2ai/uikit 0.0.36 → 0.0.38

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 (185) hide show
  1. package/Alert/Alert.stories.tsx +121 -0
  2. package/Alert/Alert.tsx +71 -0
  3. package/AlertDialog/AlertDialog.stories.tsx +665 -0
  4. package/AlertDialog/AlertDialog.tsx +241 -0
  5. package/Avatar/Avatar.stories.tsx +128 -0
  6. package/Avatar/Avatar.tsx +71 -0
  7. package/Badge/Badge.stories.tsx +76 -0
  8. package/Badge/Badge.tsx +39 -0
  9. package/Breadcrumb/Breadcrumb.stories.tsx +231 -0
  10. package/Breadcrumb/Breadcrumb.tsx +114 -0
  11. package/Button/Button.stories.tsx +684 -0
  12. package/Button/Button.tsx +107 -0
  13. package/Calendar/Calendar.stories.tsx +291 -0
  14. package/Calendar/Calendar.tsx +246 -0
  15. package/Card/Card.stories.tsx +136 -0
  16. package/Card/Card.tsx +96 -0
  17. package/Carousel/Carousel.stories.tsx +256 -0
  18. package/Carousel/Carousel.tsx +301 -0
  19. package/ChatBubble/ChatBubble.stories.tsx +339 -0
  20. package/ChatBubble/ChatBubble.tsx +179 -0
  21. package/Checkbox/Checkbox.stories.tsx +137 -0
  22. package/Checkbox/Checkbox.tsx +53 -0
  23. package/DataTable/DataTable.stories.tsx +400 -0
  24. package/DataTable/DataTable.tsx +207 -0
  25. package/Drawer/Drawer.stories.tsx +721 -0
  26. package/Drawer/Drawer.tsx +201 -0
  27. package/DropdownMenu/DropdownMenu.stories.tsx +251 -0
  28. package/DropdownMenu/DropdownMenu.tsx +199 -0
  29. package/ErrorMessage/ErrorMessage.stories.tsx +159 -0
  30. package/ErrorMessage/ErrorMessage.tsx +55 -0
  31. package/Flex/Flex.stories.tsx +390 -0
  32. package/Flex/Flex.tsx +102 -0
  33. package/IconButton/IconButton.stories.tsx +566 -0
  34. package/IconButton/IconButton.tsx +95 -0
  35. package/Input/Input.stories.tsx +566 -0
  36. package/Input/Input.tsx +168 -0
  37. package/InputOTP/InputOTP.stories.tsx +246 -0
  38. package/InputOTP/InputOTP.tsx +127 -0
  39. package/Label/Label.stories.tsx +110 -0
  40. package/Label/Label.tsx +44 -0
  41. package/Loader/Loader.stories.tsx +170 -0
  42. package/Loader/Loader.tsx +62 -0
  43. package/Menubar/Menubar.stories.tsx +382 -0
  44. package/Menubar/Menubar.tsx +274 -0
  45. package/Menubar/index.ts +18 -0
  46. package/Pagination/Pagination.stories.tsx +196 -0
  47. package/Pagination/Pagination.tsx +122 -0
  48. package/Popover/Popover.stories.tsx +133 -0
  49. package/Popover/Popover.tsx +31 -0
  50. package/Progress/Progress.stories.tsx +146 -0
  51. package/Progress/Progress.tsx +67 -0
  52. package/RadioGroup/RadioGroup.stories.tsx +159 -0
  53. package/RadioGroup/RadioGroup.tsx +68 -0
  54. package/ScrollArea/ScrollArea.stories.tsx +136 -0
  55. package/ScrollArea/ScrollArea.tsx +46 -0
  56. package/Select/Select.stories.tsx +378 -0
  57. package/Select/Select.tsx +230 -0
  58. package/Separator/Separator.stories.tsx +110 -0
  59. package/Separator/Separator.tsx +29 -0
  60. package/Sidebar/Sidebar.stories.tsx +340 -0
  61. package/Sidebar/Sidebar.tsx +414 -0
  62. package/Sidebar/index.ts +28 -0
  63. package/Skeleton/Skeleton.stories.tsx +117 -0
  64. package/Skeleton/Skeleton.tsx +16 -0
  65. package/Slider/Slider.stories.tsx +216 -0
  66. package/Slider/Slider.tsx +29 -0
  67. package/Spinner/Spinner.stories.tsx +210 -0
  68. package/Spinner/Spinner.tsx +78 -0
  69. package/Switch/Switch.stories.tsx +146 -0
  70. package/Switch/Switch.tsx +59 -0
  71. package/Table/Table.stories.tsx +510 -0
  72. package/Table/Table.tsx +114 -0
  73. package/Tabs/Tabs.stories.tsx +197 -0
  74. package/Tabs/Tabs.tsx +74 -0
  75. package/Textarea/Textarea.stories.tsx +187 -0
  76. package/Textarea/Textarea.tsx +73 -0
  77. package/Toast/Toast.stories.tsx +285 -0
  78. package/Toast/Toast.tsx +59 -0
  79. package/Tooltip/Tooltip.stories.tsx +463 -0
  80. package/Tooltip/Tooltip.tsx +96 -0
  81. package/Typography/Typography.stories.tsx +425 -0
  82. package/Typography/Typography.tsx +106 -0
  83. package/helpers.ts +5 -0
  84. package/{icons.js → icons.ts} +1 -1
  85. package/index.ts +217 -0
  86. package/lib/typography-types.ts +223 -0
  87. package/lib/utils.ts +15 -0
  88. package/package.json +36 -33
  89. package/tsconfig.json +22 -0
  90. package/Alert/Alert.d.ts +0 -13
  91. package/Alert/Alert.js +0 -25
  92. package/AlertDialog/AlertDialog.d.ts +0 -43
  93. package/AlertDialog/AlertDialog.js +0 -71
  94. package/Avatar/Avatar.d.ts +0 -14
  95. package/Avatar/Avatar.js +0 -25
  96. package/Badge/Badge.d.ts +0 -11
  97. package/Badge/Badge.js +0 -23
  98. package/Breadcrumb/Breadcrumb.d.ts +0 -19
  99. package/Breadcrumb/Breadcrumb.js +0 -23
  100. package/Button/Button.d.ts +0 -23
  101. package/Button/Button.js +0 -52
  102. package/Calendar/Calendar.d.ts +0 -20
  103. package/Calendar/Calendar.js +0 -78
  104. package/Card/Card.d.ts +0 -16
  105. package/Card/Card.js +0 -28
  106. package/Carousel/Carousel.d.ts +0 -37
  107. package/Carousel/Carousel.js +0 -132
  108. package/ChatBubble/ChatBubble.d.ts +0 -33
  109. package/ChatBubble/ChatBubble.js +0 -107
  110. package/Checkbox/Checkbox.d.ts +0 -12
  111. package/Checkbox/Checkbox.js +0 -20
  112. package/DataTable/DataTable.d.ts +0 -35
  113. package/DataTable/DataTable.js +0 -51
  114. package/Dialog/Dialog.d.ts +0 -35
  115. package/Dialog/Dialog.js +0 -130
  116. package/Drawer/Drawer.d.ts +0 -33
  117. package/Drawer/Drawer.js +0 -55
  118. package/DropdownMenu/DropdownMenu.d.ts +0 -27
  119. package/DropdownMenu/DropdownMenu.js +0 -35
  120. package/ErrorMessage/ErrorMessage.d.ts +0 -27
  121. package/ErrorMessage/ErrorMessage.js +0 -14
  122. package/Flex/Flex.d.ts +0 -31
  123. package/Flex/Flex.js +0 -64
  124. package/IconButton/IconButton.d.ts +0 -23
  125. package/IconButton/IconButton.js +0 -48
  126. package/Input/Input.d.ts +0 -27
  127. package/Input/Input.js +0 -42
  128. package/InputOTP/InputOTP.d.ts +0 -20
  129. package/InputOTP/InputOTP.js +0 -44
  130. package/Label/Label.d.ts +0 -13
  131. package/Label/Label.js +0 -19
  132. package/Loader/Loader.d.ts +0 -21
  133. package/Loader/Loader.js +0 -30
  134. package/Menubar/Menubar.d.ts +0 -26
  135. package/Menubar/Menubar.js +0 -54
  136. package/Menubar/index.d.ts +0 -1
  137. package/Menubar/index.js +0 -1
  138. package/Pagination/Pagination.d.ts +0 -35
  139. package/Pagination/Pagination.js +0 -37
  140. package/Popover/Popover.d.ts +0 -7
  141. package/Popover/Popover.js +0 -10
  142. package/Progress/Progress.d.ts +0 -17
  143. package/Progress/Progress.js +0 -33
  144. package/RadioGroup/RadioGroup.d.ts +0 -13
  145. package/RadioGroup/RadioGroup.js +0 -26
  146. package/ScrollArea/ScrollArea.d.ts +0 -5
  147. package/ScrollArea/ScrollArea.js +0 -11
  148. package/Select/Select.d.ts +0 -29
  149. package/Select/Select.js +0 -50
  150. package/Separator/Separator.d.ts +0 -4
  151. package/Separator/Separator.js +0 -7
  152. package/Sidebar/Sidebar.d.ts +0 -48
  153. package/Sidebar/Sidebar.js +0 -116
  154. package/Sidebar/index.d.ts +0 -2
  155. package/Sidebar/index.js +0 -1
  156. package/Skeleton/Skeleton.d.ts +0 -4
  157. package/Skeleton/Skeleton.js +0 -7
  158. package/Slider/Slider.d.ts +0 -6
  159. package/Slider/Slider.js +0 -7
  160. package/Spinner/Spinner.d.ts +0 -19
  161. package/Spinner/Spinner.js +0 -31
  162. package/Switch/Switch.d.ts +0 -12
  163. package/Switch/Switch.js +0 -30
  164. package/Table/Table.d.ts +0 -10
  165. package/Table/Table.js +0 -20
  166. package/Tabs/Tabs.d.ts +0 -15
  167. package/Tabs/Tabs.js +0 -24
  168. package/Textarea/Textarea.d.ts +0 -19
  169. package/Textarea/Textarea.js +0 -31
  170. package/Toast/Toast.d.ts +0 -12
  171. package/Toast/Toast.js +0 -25
  172. package/Tooltip/Tooltip.d.ts +0 -17
  173. package/Tooltip/Tooltip.js +0 -29
  174. package/Typography/Typography.d.ts +0 -20
  175. package/Typography/Typography.js +0 -43
  176. package/helpers.d.ts +0 -4
  177. package/helpers.js +0 -5
  178. package/icons.d.ts +0 -1
  179. package/index.d.ts +0 -42
  180. package/index.js +0 -45
  181. package/lib/typography-types.d.ts +0 -4
  182. package/lib/typography-types.js +0 -90
  183. package/lib/utils.d.ts +0 -3
  184. package/lib/utils.js +0 -14
  185. package/tmpclaude-2407-cwd +0 -1
@@ -0,0 +1,684 @@
1
+ import type { Meta, StoryObj } from "@storybook/react"
2
+ import { ArrowRight, Mail, Plus, Search, Trash2, Download, ChevronDown } from "../icons"
3
+ import { Typography } from "../Typography/Typography"
4
+ import { Flex } from "../Flex/Flex"
5
+ import { Button } from "./Button"
6
+
7
+ const meta: Meta<typeof Button> = {
8
+ title: "Components/Button",
9
+ component: Button,
10
+ parameters: {
11
+ layout: "centered",
12
+ },
13
+ tags: ["autodocs"],
14
+ argTypes: {
15
+ variant: {
16
+ control: "select",
17
+ options: [
18
+ "primary",
19
+ "secondary",
20
+ "outline",
21
+ "ghost",
22
+ "ghost-muted",
23
+ "destructive",
24
+ ],
25
+ description: "The visual style variant of the button",
26
+ },
27
+ size: {
28
+ control: "select",
29
+ options: ["mini", "small", "regular", "large"],
30
+ description: "The size of the button",
31
+ },
32
+ roundness: {
33
+ control: "select",
34
+ options: ["default", "round"],
35
+ description: "The roundness of the button corners",
36
+ },
37
+ disabled: {
38
+ control: "boolean",
39
+ description: "Whether the button is disabled",
40
+ },
41
+ asChild: {
42
+ control: "boolean",
43
+ description: "Render as child element (for use with Link components)",
44
+ },
45
+ leftIcon: {
46
+ control: false,
47
+ description: "Icon to display on the left side of the button",
48
+ },
49
+ rightIcon: {
50
+ control: false,
51
+ description: "Icon to display on the right side of the button",
52
+ },
53
+ },
54
+ }
55
+
56
+ export default meta
57
+ type Story = StoryObj<typeof Button>
58
+
59
+ export const Primary: Story = {
60
+ args: {
61
+ children: "Button",
62
+ variant: "primary",
63
+ },
64
+ }
65
+
66
+ export const Secondary: Story = {
67
+ args: {
68
+ children: "Button",
69
+ variant: "secondary",
70
+ },
71
+ }
72
+
73
+ export const Outline: Story = {
74
+ args: {
75
+ children: "Button",
76
+ variant: "outline",
77
+ },
78
+ }
79
+
80
+ export const Ghost: Story = {
81
+ args: {
82
+ children: "Button",
83
+ variant: "ghost",
84
+ },
85
+ }
86
+
87
+ export const GhostMuted: Story = {
88
+ args: {
89
+ children: "Button",
90
+ variant: "ghost-muted",
91
+ },
92
+ }
93
+
94
+ export const Destructive: Story = {
95
+ args: {
96
+ children: "Button",
97
+ variant: "destructive",
98
+ },
99
+ }
100
+
101
+ export const Disabled: Story = {
102
+ args: {
103
+ children: "Button",
104
+ disabled: true,
105
+ },
106
+ }
107
+
108
+ export const Sizes: Story = {
109
+ render: () => (
110
+ <Flex direction="row" align="center" gap={4}>
111
+ <Button size="mini">Mini</Button>
112
+ <Button size="small">Small</Button>
113
+ <Button size="regular">Regular</Button>
114
+ <Button size="large">Large</Button>
115
+ </Flex>
116
+ ),
117
+ }
118
+
119
+ export const Variants: Story = {
120
+ render: () => (
121
+ <Flex direction="row" align="center" gap={4}>
122
+ <Button variant="primary">Primary</Button>
123
+ <Button variant="secondary">Secondary</Button>
124
+ <Button variant="outline">Outline</Button>
125
+ <Button variant="ghost">Ghost</Button>
126
+ <Button variant="ghost-muted">Ghost Muted</Button>
127
+ <Button variant="destructive">Destructive</Button>
128
+ </Flex>
129
+ ),
130
+ }
131
+
132
+ export const Rounded: Story = {
133
+ render: () => (
134
+ <Flex direction="row" align="center" gap={4}>
135
+ <Button roundness="round" variant="primary">
136
+ Primary
137
+ </Button>
138
+ <Button roundness="round" variant="secondary">
139
+ Secondary
140
+ </Button>
141
+ <Button roundness="round" variant="outline">
142
+ Outline
143
+ </Button>
144
+ <Button roundness="round" variant="ghost">
145
+ Ghost
146
+ </Button>
147
+ </Flex>
148
+ ),
149
+ }
150
+
151
+ export const WithIcons: Story = {
152
+ render: () => (
153
+ <Flex gap={4}>
154
+ <Flex direction="row" align="center" gap={4}>
155
+ <Button leftIcon={<Mail />}>
156
+ Login with Email
157
+ </Button>
158
+ <Button rightIcon={<ArrowRight />}>
159
+ Next Step
160
+ </Button>
161
+ <Button leftIcon={<Plus />} rightIcon={<ChevronDown />}>
162
+ Add New
163
+ </Button>
164
+ </Flex>
165
+ <Flex direction="row" align="center" gap={4}>
166
+ <Button variant="secondary" leftIcon={<Search />}>
167
+ Search
168
+ </Button>
169
+ <Button variant="outline" leftIcon={<Download />}>
170
+ Download
171
+ </Button>
172
+ <Button variant="destructive" leftIcon={<Trash2 />}>
173
+ Delete
174
+ </Button>
175
+ </Flex>
176
+ </Flex>
177
+ ),
178
+ }
179
+
180
+ export const IconPositions: Story = {
181
+ parameters: {
182
+ layout: "padded",
183
+ },
184
+ render: () => (
185
+ <Flex gap={6}>
186
+ <Typography variant="subtitle1" color="main-700">Icon Positions</Typography>
187
+
188
+ {/* No Icons */}
189
+ <Flex gap={2}>
190
+ <Typography variant="body3" color="main-500">No Icons</Typography>
191
+ <Flex direction="row" align="center" gap={3}>
192
+ <Button variant="primary">Label</Button>
193
+ <Button variant="secondary">Label</Button>
194
+ <Button variant="outline">Label</Button>
195
+ <Button variant="ghost">Label</Button>
196
+ <Button variant="destructive">Label</Button>
197
+ </Flex>
198
+ </Flex>
199
+
200
+ {/* Left Icon Only */}
201
+ <Flex gap={2}>
202
+ <Typography variant="body3" color="main-500">Left Icon Only</Typography>
203
+ <Flex direction="row" align="center" gap={3}>
204
+ <Button variant="primary" leftIcon={<Mail />}>Label</Button>
205
+ <Button variant="secondary" leftIcon={<Plus />}>Label</Button>
206
+ <Button variant="outline" leftIcon={<Search />}>Label</Button>
207
+ <Button variant="ghost" leftIcon={<Download />}>Label</Button>
208
+ <Button variant="destructive" leftIcon={<Trash2 />}>Label</Button>
209
+ </Flex>
210
+ </Flex>
211
+
212
+ {/* Right Icon Only */}
213
+ <Flex gap={2}>
214
+ <Typography variant="body3" color="main-500">Right Icon Only</Typography>
215
+ <Flex direction="row" align="center" gap={3}>
216
+ <Button variant="primary" rightIcon={<ArrowRight />}>Label</Button>
217
+ <Button variant="secondary" rightIcon={<ChevronDown />}>Label</Button>
218
+ <Button variant="outline" rightIcon={<ArrowRight />}>Label</Button>
219
+ <Button variant="ghost" rightIcon={<ChevronDown />}>Label</Button>
220
+ <Button variant="destructive" rightIcon={<ArrowRight />}>Label</Button>
221
+ </Flex>
222
+ </Flex>
223
+
224
+ {/* Both Icons */}
225
+ <Flex gap={2}>
226
+ <Typography variant="body3" color="main-500">Both Icons</Typography>
227
+ <Flex direction="row" align="center" gap={3}>
228
+ <Button variant="primary" leftIcon={<Mail />} rightIcon={<ArrowRight />}>Label</Button>
229
+ <Button variant="secondary" leftIcon={<Plus />} rightIcon={<ChevronDown />}>Label</Button>
230
+ <Button variant="outline" leftIcon={<Search />} rightIcon={<ArrowRight />}>Label</Button>
231
+ <Button variant="ghost" leftIcon={<Download />} rightIcon={<ChevronDown />}>Label</Button>
232
+ <Button variant="destructive" leftIcon={<Trash2 />} rightIcon={<ArrowRight />}>Label</Button>
233
+ </Flex>
234
+ </Flex>
235
+
236
+ {/* Icon Only (Square Buttons) */}
237
+ <Flex gap={2}>
238
+ <Typography variant="body3" color="main-500">Icon Only (Square)</Typography>
239
+ <Flex direction="row" align="center" gap={3}>
240
+ <Button variant="primary" style={{ padding: "0", width: "36px", height: "36px" }}><Plus /></Button>
241
+ <Button variant="secondary" style={{ padding: "0", width: "36px", height: "36px" }}><Search /></Button>
242
+ <Button variant="outline" style={{ padding: "0", width: "36px", height: "36px" }}><Mail /></Button>
243
+ <Button variant="ghost" style={{ padding: "0", width: "36px", height: "36px" }}><Download /></Button>
244
+ <Button variant="destructive" style={{ padding: "0", width: "36px", height: "36px" }}><Trash2 /></Button>
245
+ </Flex>
246
+ </Flex>
247
+
248
+ {/* Icon Only (Round Buttons) */}
249
+ <Flex gap={2}>
250
+ <Typography variant="body3" color="main-500">Icon Only (Round)</Typography>
251
+ <Flex direction="row" align="center" gap={3}>
252
+ <Button variant="primary" roundness="round" style={{ padding: "0", width: "36px", height: "36px" }}><Plus /></Button>
253
+ <Button variant="secondary" roundness="round" style={{ padding: "0", width: "36px", height: "36px" }}><Search /></Button>
254
+ <Button variant="outline" roundness="round" style={{ padding: "0", width: "36px", height: "36px" }}><Mail /></Button>
255
+ <Button variant="ghost" roundness="round" style={{ padding: "0", width: "36px", height: "36px" }}><Download /></Button>
256
+ <Button variant="destructive" roundness="round" style={{ padding: "0", width: "36px", height: "36px" }}><Trash2 /></Button>
257
+ </Flex>
258
+ </Flex>
259
+ </Flex>
260
+ ),
261
+ }
262
+
263
+ export const AllSizesWithIcons: Story = {
264
+ parameters: {
265
+ layout: "padded",
266
+ },
267
+ render: () => (
268
+ <Flex gap={6}>
269
+ <Typography variant="subtitle1" color="main-700">All Sizes with Icons</Typography>
270
+
271
+ {/* Large */}
272
+ <Flex gap={2}>
273
+ <Typography variant="body3" color="main-500">Large</Typography>
274
+ <Flex direction="row" align="center" gap={3}>
275
+ <Button size="large">Label</Button>
276
+ <Button size="large" leftIcon={<Mail />}>Label</Button>
277
+ <Button size="large" rightIcon={<ArrowRight />}>Label</Button>
278
+ <Button size="large" leftIcon={<Mail />} rightIcon={<ArrowRight />}>Label</Button>
279
+ </Flex>
280
+ </Flex>
281
+
282
+ {/* Regular */}
283
+ <Flex gap={2}>
284
+ <Typography variant="body3" color="main-500">Regular</Typography>
285
+ <Flex direction="row" align="center" gap={3}>
286
+ <Button size="regular">Label</Button>
287
+ <Button size="regular" leftIcon={<Mail />}>Label</Button>
288
+ <Button size="regular" rightIcon={<ArrowRight />}>Label</Button>
289
+ <Button size="regular" leftIcon={<Mail />} rightIcon={<ArrowRight />}>Label</Button>
290
+ </Flex>
291
+ </Flex>
292
+
293
+ {/* Small */}
294
+ <Flex gap={2}>
295
+ <Typography variant="body3" color="main-500">Small</Typography>
296
+ <Flex direction="row" align="center" gap={3}>
297
+ <Button size="small">Label</Button>
298
+ <Button size="small" leftIcon={<Mail />}>Label</Button>
299
+ <Button size="small" rightIcon={<ArrowRight />}>Label</Button>
300
+ <Button size="small" leftIcon={<Mail />} rightIcon={<ArrowRight />}>Label</Button>
301
+ </Flex>
302
+ </Flex>
303
+
304
+ {/* Mini */}
305
+ <Flex gap={2}>
306
+ <Typography variant="body3" color="main-500">Mini</Typography>
307
+ <Flex direction="row" align="center" gap={3}>
308
+ <Button size="mini">Label</Button>
309
+ <Button size="mini" leftIcon={<Mail />}>Label</Button>
310
+ <Button size="mini" rightIcon={<ArrowRight />}>Label</Button>
311
+ <Button size="mini" leftIcon={<Mail />} rightIcon={<ArrowRight />}>Label</Button>
312
+ </Flex>
313
+ </Flex>
314
+ </Flex>
315
+ ),
316
+ }
317
+
318
+ export const AllVariantsAndSizes: Story = {
319
+ parameters: {
320
+ layout: "fullscreen",
321
+ },
322
+ render: () => (
323
+ <Flex style={{ padding: "32px", backgroundColor: "#ffffff", minHeight: "100vh", overflowX: "auto" }}>
324
+ {/* Header */}
325
+ <Flex style={{ borderBottom: "1px solid #e5e7eb", paddingBottom: "24px", marginBottom: "32px" }}>
326
+ <Typography variant="h3" color="main-950">Button</Typography>
327
+ </Flex>
328
+
329
+ {/* Main Content */}
330
+ <Flex gap={12} style={{ minWidth: "fit-content" }}>
331
+ {/* Default Roundness Section */}
332
+ <Flex gap={6}>
333
+ <Typography variant="subtitle1" color="main-700">Default Roundness</Typography>
334
+
335
+ {/* Variant Headers */}
336
+ <Flex direction="row">
337
+ <Flex style={{ width: "80px" }} />
338
+ <Flex direction="row" gap={0}>
339
+ {/* Primary */}
340
+ <Flex align="center" style={{ width: "532px" }}>
341
+ <Typography variant="body3" color="accent-600">Primary</Typography>
342
+ <Flex direction="row" gap={0} style={{ marginTop: "8px" }}>
343
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Default</Typography></Flex>
344
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Hover & Active</Typography></Flex>
345
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Focus</Typography></Flex>
346
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Disabled</Typography></Flex>
347
+ </Flex>
348
+ </Flex>
349
+ {/* Secondary */}
350
+ <Flex align="center" style={{ width: "532px" }}>
351
+ <Typography variant="body3" color="accent-600">Secondary</Typography>
352
+ <Flex direction="row" gap={0} style={{ marginTop: "8px" }}>
353
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Default</Typography></Flex>
354
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Hover & Active</Typography></Flex>
355
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Focus</Typography></Flex>
356
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Disabled</Typography></Flex>
357
+ </Flex>
358
+ </Flex>
359
+ {/* Outline */}
360
+ <Flex align="center" style={{ width: "532px" }}>
361
+ <Typography variant="body3" color="accent-600">Outline</Typography>
362
+ <Flex direction="row" gap={0} style={{ marginTop: "8px" }}>
363
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Default</Typography></Flex>
364
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Hover & Active</Typography></Flex>
365
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Focus</Typography></Flex>
366
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Disabled</Typography></Flex>
367
+ </Flex>
368
+ </Flex>
369
+ </Flex>
370
+ </Flex>
371
+
372
+ {/* Regular Row */}
373
+ <Flex direction="row" align="center">
374
+ <Flex style={{ width: "80px" }}>
375
+ <Typography variant="body3" color="main-500">Regular</Typography>
376
+ </Flex>
377
+ <Flex direction="row" gap={0}>
378
+ {/* Primary */}
379
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="regular">Label</Button></Flex>
380
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="regular" className="bg-accent-700">Label</Button></Flex>
381
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="regular" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
382
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="regular" disabled>Label</Button></Flex>
383
+ {/* Secondary */}
384
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="regular">Label</Button></Flex>
385
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="regular" className="bg-main-200">Label</Button></Flex>
386
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="regular" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
387
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="regular" disabled>Label</Button></Flex>
388
+ {/* Outline */}
389
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="regular">Label</Button></Flex>
390
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="regular" className="bg-main-100">Label</Button></Flex>
391
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="regular" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
392
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="regular" disabled>Label</Button></Flex>
393
+ </Flex>
394
+ </Flex>
395
+
396
+ {/* Large Row */}
397
+ <Flex direction="row" align="center">
398
+ <Flex style={{ width: "80px" }}>
399
+ <Typography variant="body3" color="main-500">Large</Typography>
400
+ </Flex>
401
+ <Flex direction="row" gap={0}>
402
+ {/* Primary */}
403
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="large">Label</Button></Flex>
404
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="large" className="bg-accent-700">Label</Button></Flex>
405
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="large" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
406
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="large" disabled>Label</Button></Flex>
407
+ {/* Secondary */}
408
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="large">Label</Button></Flex>
409
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="large" className="bg-main-200">Label</Button></Flex>
410
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="large" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
411
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="large" disabled>Label</Button></Flex>
412
+ {/* Outline */}
413
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="large">Label</Button></Flex>
414
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="large" className="bg-main-100">Label</Button></Flex>
415
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="large" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
416
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="large" disabled>Label</Button></Flex>
417
+ </Flex>
418
+ </Flex>
419
+
420
+ {/* Small Row */}
421
+ <Flex direction="row" align="center">
422
+ <Flex style={{ width: "80px" }}>
423
+ <Typography variant="body3" color="main-500">Small</Typography>
424
+ </Flex>
425
+ <Flex direction="row" gap={0}>
426
+ {/* Primary */}
427
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="small">Label</Button></Flex>
428
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="small" className="bg-accent-700">Label</Button></Flex>
429
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="small" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
430
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="small" disabled>Label</Button></Flex>
431
+ {/* Secondary */}
432
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="small">Label</Button></Flex>
433
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="small" className="bg-main-200">Label</Button></Flex>
434
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="small" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
435
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="small" disabled>Label</Button></Flex>
436
+ {/* Outline */}
437
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="small">Label</Button></Flex>
438
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="small" className="bg-main-100">Label</Button></Flex>
439
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="small" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
440
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="small" disabled>Label</Button></Flex>
441
+ </Flex>
442
+ </Flex>
443
+
444
+ {/* Mini Row */}
445
+ <Flex direction="row" align="center">
446
+ <Flex style={{ width: "80px" }}>
447
+ <Typography variant="body3" color="main-500">Mini</Typography>
448
+ </Flex>
449
+ <Flex direction="row" gap={0}>
450
+ {/* Primary */}
451
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="mini">Label</Button></Flex>
452
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="mini" className="bg-accent-700">Label</Button></Flex>
453
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="mini" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
454
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="primary" size="mini" disabled>Label</Button></Flex>
455
+ {/* Secondary */}
456
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="mini">Label</Button></Flex>
457
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="mini" className="bg-main-200">Label</Button></Flex>
458
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="mini" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
459
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="secondary" size="mini" disabled>Label</Button></Flex>
460
+ {/* Outline */}
461
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="mini">Label</Button></Flex>
462
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="mini" className="bg-main-100">Label</Button></Flex>
463
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="mini" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
464
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="outline" size="mini" disabled>Label</Button></Flex>
465
+ </Flex>
466
+ </Flex>
467
+ </Flex>
468
+
469
+ {/* Ghost, Destructive, Ghost Muted Section */}
470
+ <Flex gap={6}>
471
+ {/* Variant Headers */}
472
+ <Flex direction="row">
473
+ <Flex style={{ width: "80px" }} />
474
+ <Flex direction="row" gap={0}>
475
+ {/* Ghost */}
476
+ <Flex align="center" style={{ width: "532px" }}>
477
+ <Typography variant="body3" color="accent-600">Ghost</Typography>
478
+ <Flex direction="row" gap={0} style={{ marginTop: "8px" }}>
479
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Default</Typography></Flex>
480
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Hover & Active</Typography></Flex>
481
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Focus</Typography></Flex>
482
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Disabled</Typography></Flex>
483
+ </Flex>
484
+ </Flex>
485
+ {/* Destructive */}
486
+ <Flex align="center" style={{ width: "532px" }}>
487
+ <Typography variant="body3" color="error-600">Destructive</Typography>
488
+ <Flex direction="row" gap={0} style={{ marginTop: "8px" }}>
489
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Default</Typography></Flex>
490
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Hover & Active</Typography></Flex>
491
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Focus</Typography></Flex>
492
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Disabled</Typography></Flex>
493
+ </Flex>
494
+ </Flex>
495
+ {/* Ghost Muted */}
496
+ <Flex align="center" style={{ width: "532px" }}>
497
+ <Typography variant="body3" color="main-400">Ghost Muted</Typography>
498
+ <Flex direction="row" gap={0} style={{ marginTop: "8px" }}>
499
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Default</Typography></Flex>
500
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Hover & Active</Typography></Flex>
501
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Focus</Typography></Flex>
502
+ <Flex justify="center" style={{ width: "133px" }}><Typography variant="caption" color="main-400">Disabled</Typography></Flex>
503
+ </Flex>
504
+ </Flex>
505
+ </Flex>
506
+ </Flex>
507
+
508
+ {/* Regular Row */}
509
+ <Flex direction="row" align="center">
510
+ <Flex style={{ width: "80px" }}>
511
+ <Typography variant="body3" color="main-500">Regular</Typography>
512
+ </Flex>
513
+ <Flex direction="row" gap={0}>
514
+ {/* Ghost */}
515
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="regular">Label</Button></Flex>
516
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="regular" className="bg-main-100 text-main-950">Label</Button></Flex>
517
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="regular" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
518
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="regular" disabled>Label</Button></Flex>
519
+ {/* Destructive */}
520
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="regular">Label</Button></Flex>
521
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="regular" className="bg-error-700">Label</Button></Flex>
522
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="regular" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
523
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="regular" disabled>Label</Button></Flex>
524
+ {/* Ghost Muted */}
525
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="regular">Label</Button></Flex>
526
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="regular" className="bg-main-100 text-main-600">Label</Button></Flex>
527
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="regular" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
528
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="regular" disabled>Label</Button></Flex>
529
+ </Flex>
530
+ </Flex>
531
+
532
+ {/* Large Row */}
533
+ <Flex direction="row" align="center">
534
+ <Flex style={{ width: "80px" }}>
535
+ <Typography variant="body3" color="main-500">Large</Typography>
536
+ </Flex>
537
+ <Flex direction="row" gap={0}>
538
+ {/* Ghost */}
539
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="large">Label</Button></Flex>
540
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="large" className="bg-main-100 text-main-950">Label</Button></Flex>
541
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="large" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
542
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="large" disabled>Label</Button></Flex>
543
+ {/* Destructive */}
544
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="large">Label</Button></Flex>
545
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="large" className="bg-error-700">Label</Button></Flex>
546
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="large" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
547
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="large" disabled>Label</Button></Flex>
548
+ {/* Ghost Muted */}
549
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="large">Label</Button></Flex>
550
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="large" className="bg-main-100 text-main-600">Label</Button></Flex>
551
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="large" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
552
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="large" disabled>Label</Button></Flex>
553
+ </Flex>
554
+ </Flex>
555
+
556
+ {/* Small Row */}
557
+ <Flex direction="row" align="center">
558
+ <Flex style={{ width: "80px" }}>
559
+ <Typography variant="body3" color="main-500">Small</Typography>
560
+ </Flex>
561
+ <Flex direction="row" gap={0}>
562
+ {/* Ghost */}
563
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="small">Label</Button></Flex>
564
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="small" className="bg-main-100 text-main-950">Label</Button></Flex>
565
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="small" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
566
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="small" disabled>Label</Button></Flex>
567
+ {/* Destructive */}
568
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="small">Label</Button></Flex>
569
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="small" className="bg-error-700">Label</Button></Flex>
570
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="small" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
571
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="small" disabled>Label</Button></Flex>
572
+ {/* Ghost Muted */}
573
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="small">Label</Button></Flex>
574
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="small" className="bg-main-100 text-main-600">Label</Button></Flex>
575
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="small" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
576
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="small" disabled>Label</Button></Flex>
577
+ </Flex>
578
+ </Flex>
579
+
580
+ {/* Mini Row */}
581
+ <Flex direction="row" align="center">
582
+ <Flex style={{ width: "80px" }}>
583
+ <Typography variant="body3" color="main-500">Mini</Typography>
584
+ </Flex>
585
+ <Flex direction="row" gap={0}>
586
+ {/* Ghost */}
587
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="mini">Label</Button></Flex>
588
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="mini" className="bg-main-100 text-main-950">Label</Button></Flex>
589
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="mini" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
590
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost" size="mini" disabled>Label</Button></Flex>
591
+ {/* Destructive */}
592
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="mini">Label</Button></Flex>
593
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="mini" className="bg-error-700">Label</Button></Flex>
594
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="mini" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
595
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="destructive" size="mini" disabled>Label</Button></Flex>
596
+ {/* Ghost Muted */}
597
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="mini">Label</Button></Flex>
598
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="mini" className="bg-main-100 text-main-600">Label</Button></Flex>
599
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="mini" className="shadow-[0_0_0_3px_#d4d4d4]">Label</Button></Flex>
600
+ <Flex justify="center" style={{ width: "133px" }}><Button variant="ghost-muted" size="mini" disabled>Label</Button></Flex>
601
+ </Flex>
602
+ </Flex>
603
+ </Flex>
604
+
605
+ {/* Examples Section */}
606
+ <Flex gap={6} style={{ marginTop: "24px", paddingTop: "24px", borderTop: "1px solid #e5e7eb" }}>
607
+ <Typography variant="subtitle1" color="main-700">Examples</Typography>
608
+
609
+ <Flex direction="row" gap={12}>
610
+ {/* Regular size examples */}
611
+ <Flex gap={4}>
612
+ <Typography variant="body2" color="main-600" className="font-medium">Regular Size</Typography>
613
+ <Flex gap={3}>
614
+ <Flex direction="row" gap={3}>
615
+ <Button variant="primary" leftIcon={<Mail />}>Login with Email</Button>
616
+ <Button variant="secondary" leftIcon={<Plus />}>Add Item</Button>
617
+ </Flex>
618
+ <Flex direction="row" gap={3}>
619
+ <Button variant="outline" leftIcon={<Search />}>Edit</Button>
620
+ <Button variant="ghost" leftIcon={<Plus />}>Add</Button>
621
+ <Button variant="destructive" leftIcon={<Trash2 />}>Delete</Button>
622
+ </Flex>
623
+ <Flex direction="row" gap={3}>
624
+ <Button variant="outline" leftIcon={<ChevronDown />}>Dropdown</Button>
625
+ <Button variant="outline" leftIcon={<ChevronDown />}>Display</Button>
626
+ <Button variant="outline" leftIcon={<ChevronDown />}>Display</Button>
627
+ </Flex>
628
+ <Flex direction="row" gap={3}>
629
+ <Button variant="outline" leftIcon={<ArrowRight />}>Previous</Button>
630
+ <Button variant="ghost" rightIcon={<ArrowRight />}>Next</Button>
631
+ </Flex>
632
+ <Flex direction="row" gap={3}>
633
+ <Button variant="ghost" leftIcon={<Search />}>Search</Button>
634
+ <Button variant="ghost" leftIcon={<Download />}>Bookmark</Button>
635
+ </Flex>
636
+ </Flex>
637
+ </Flex>
638
+
639
+ {/* Small size examples */}
640
+ <Flex gap={4}>
641
+ <Typography variant="body2" color="main-600" className="font-medium">Small Size</Typography>
642
+ <Flex gap={3}>
643
+ <Flex direction="row" gap={3}>
644
+ <Button variant="primary" size="small" leftIcon={<Mail />}>Login with Email</Button>
645
+ <Button variant="secondary" size="small" leftIcon={<Plus />}>Add Item</Button>
646
+ </Flex>
647
+ <Flex direction="row" gap={3}>
648
+ <Button variant="outline" size="small" leftIcon={<Search />}>Edit</Button>
649
+ <Button variant="ghost" size="small" leftIcon={<Plus />}>Add</Button>
650
+ <Button variant="destructive" size="small" leftIcon={<Trash2 />}>Delete</Button>
651
+ </Flex>
652
+ <Flex direction="row" gap={3}>
653
+ <Button variant="outline" size="small" leftIcon={<ChevronDown />}>Dropdown</Button>
654
+ <Button variant="outline" size="small" leftIcon={<ChevronDown />}>Display</Button>
655
+ <Button variant="outline" size="small" leftIcon={<ChevronDown />}>Display</Button>
656
+ </Flex>
657
+ <Flex direction="row" gap={3}>
658
+ <Button variant="outline" size="small" leftIcon={<ArrowRight />}>Previous</Button>
659
+ <Button variant="ghost" size="small" rightIcon={<ArrowRight />}>Next</Button>
660
+ </Flex>
661
+ <Flex direction="row" gap={3}>
662
+ <Button variant="ghost" size="small" leftIcon={<Search />}>Search</Button>
663
+ <Button variant="ghost" size="small" leftIcon={<Download />}>Bookmark</Button>
664
+ </Flex>
665
+ </Flex>
666
+ </Flex>
667
+
668
+ {/* Loading states */}
669
+ <Flex gap={4}>
670
+ <Typography variant="body2" color="main-600" className="font-medium">1:1 Fit</Typography>
671
+ <Typography variant="caption" color="main-400">Note: You can set a minimum width to<br />make the 1:1 pill button, e.g. 2:1</Typography>
672
+ <Flex gap={3}>
673
+ <Button variant="primary" roundness="round" style={{ width: "36px", height: "36px", padding: 0 }}><Plus /></Button>
674
+ <Button variant="secondary" roundness="round" style={{ width: "36px", height: "36px", padding: 0 }}><Plus /></Button>
675
+ <Button variant="outline" roundness="round" style={{ width: "36px", height: "36px", padding: 0 }}><Plus /></Button>
676
+ <Button variant="ghost" roundness="round" style={{ width: "36px", height: "36px", padding: 0 }}><Plus /></Button>
677
+ </Flex>
678
+ </Flex>
679
+ </Flex>
680
+ </Flex>
681
+ </Flex>
682
+ </Flex>
683
+ ),
684
+ }