@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,463 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { Bookmark } from "../icons"
3
-
4
- import { Button } from "../Button/Button"
5
- import { IconButton } from "../IconButton/IconButton"
6
- import { Flex } from "../Flex/Flex"
7
- import { Typography } from "../Typography/Typography"
8
- import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./Tooltip"
9
-
10
- const meta: Meta<typeof TooltipContent> = {
11
- title: "Components/Tooltip",
12
- component: TooltipContent,
13
- parameters: {
14
- layout: "centered",
15
- },
16
- argTypes: {
17
- side: {
18
- control: "select",
19
- options: ["top", "bottom", "left", "right"],
20
- description: "The side of the trigger the tooltip appears on",
21
- },
22
- variant: {
23
- control: "select",
24
- options: ["default", "light"],
25
- description: "The visual variant of the tooltip",
26
- },
27
- showArrow: {
28
- control: "boolean",
29
- description: "Whether to show the arrow",
30
- },
31
- sideOffset: {
32
- control: "number",
33
- description: "The distance from the trigger",
34
- },
35
- },
36
- tags: ["autodocs"],
37
- decorators: [
38
- (Story) => (
39
- <TooltipProvider>
40
- <Story />
41
- </TooltipProvider>
42
- ),
43
- ],
44
- }
45
-
46
- export default meta
47
- type Story = StoryObj<typeof meta>
48
-
49
- // Default story
50
- export const Default: Story = {
51
- render: (args) => (
52
- <Tooltip>
53
- <TooltipTrigger asChild>
54
- <Button variant="outline">Hover me</Button>
55
- </TooltipTrigger>
56
- <TooltipContent {...args}>
57
- <p>Tooltip text</p>
58
- </TooltipContent>
59
- </Tooltip>
60
- ),
61
- args: {
62
- side: "top",
63
- showArrow: true,
64
- },
65
- parameters: {
66
- docs: {
67
- source: {
68
- code: `<TooltipProvider>
69
- <Tooltip>
70
- <TooltipTrigger asChild>
71
- <Button variant="outline">Hover me</Button>
72
- </TooltipTrigger>
73
- <TooltipContent>
74
- <p>Tooltip text</p>
75
- </TooltipContent>
76
- </Tooltip>
77
- </TooltipProvider>`,
78
- },
79
- },
80
- },
81
- }
82
-
83
- // Top position
84
- export const Top: Story = {
85
- render: () => (
86
- <Tooltip>
87
- <TooltipTrigger asChild>
88
- <Button variant="outline">Top</Button>
89
- </TooltipTrigger>
90
- <TooltipContent side="top">
91
- <p>Tooltip text</p>
92
- </TooltipContent>
93
- </Tooltip>
94
- ),
95
- parameters: {
96
- docs: {
97
- source: {
98
- code: `<Tooltip>
99
- <TooltipTrigger asChild>
100
- <Button variant="outline">Top</Button>
101
- </TooltipTrigger>
102
- <TooltipContent side="top">
103
- <p>Tooltip text</p>
104
- </TooltipContent>
105
- </Tooltip>`,
106
- },
107
- },
108
- },
109
- }
110
-
111
- // Bottom position
112
- export const Bottom: Story = {
113
- render: () => (
114
- <Tooltip>
115
- <TooltipTrigger asChild>
116
- <Button variant="outline">Bottom</Button>
117
- </TooltipTrigger>
118
- <TooltipContent side="bottom">
119
- <p>Tooltip text</p>
120
- </TooltipContent>
121
- </Tooltip>
122
- ),
123
- parameters: {
124
- docs: {
125
- source: {
126
- code: `<Tooltip>
127
- <TooltipTrigger asChild>
128
- <Button variant="outline">Bottom</Button>
129
- </TooltipTrigger>
130
- <TooltipContent side="bottom">
131
- <p>Tooltip text</p>
132
- </TooltipContent>
133
- </Tooltip>`,
134
- },
135
- },
136
- },
137
- }
138
-
139
- // Left position
140
- export const Left: Story = {
141
- render: () => (
142
- <Tooltip>
143
- <TooltipTrigger asChild>
144
- <Button variant="outline">Left</Button>
145
- </TooltipTrigger>
146
- <TooltipContent side="left">
147
- <p>Tooltip text</p>
148
- </TooltipContent>
149
- </Tooltip>
150
- ),
151
- parameters: {
152
- docs: {
153
- source: {
154
- code: `<Tooltip>
155
- <TooltipTrigger asChild>
156
- <Button variant="outline">Left</Button>
157
- </TooltipTrigger>
158
- <TooltipContent side="left">
159
- <p>Tooltip text</p>
160
- </TooltipContent>
161
- </Tooltip>`,
162
- },
163
- },
164
- },
165
- }
166
-
167
- // Right position
168
- export const Right: Story = {
169
- render: () => (
170
- <Tooltip>
171
- <TooltipTrigger asChild>
172
- <Button variant="outline">Right</Button>
173
- </TooltipTrigger>
174
- <TooltipContent side="right">
175
- <p>Tooltip text</p>
176
- </TooltipContent>
177
- </Tooltip>
178
- ),
179
- parameters: {
180
- docs: {
181
- source: {
182
- code: `<Tooltip>
183
- <TooltipTrigger asChild>
184
- <Button variant="outline">Right</Button>
185
- </TooltipTrigger>
186
- <TooltipContent side="right">
187
- <p>Tooltip text</p>
188
- </TooltipContent>
189
- </Tooltip>`,
190
- },
191
- },
192
- },
193
- }
194
-
195
- // Without arrow
196
- export const WithoutArrow: Story = {
197
- render: () => (
198
- <Tooltip>
199
- <TooltipTrigger asChild>
200
- <Button variant="outline">No Arrow</Button>
201
- </TooltipTrigger>
202
- <TooltipContent showArrow={false}>
203
- <p>Tooltip without arrow</p>
204
- </TooltipContent>
205
- </Tooltip>
206
- ),
207
- parameters: {
208
- docs: {
209
- source: {
210
- code: `<Tooltip>
211
- <TooltipTrigger asChild>
212
- <Button variant="outline">No Arrow</Button>
213
- </TooltipTrigger>
214
- <TooltipContent showArrow={false}>
215
- <p>Tooltip without arrow</p>
216
- </TooltipContent>
217
- </Tooltip>`,
218
- },
219
- },
220
- },
221
- }
222
-
223
- // Light variant
224
- export const Light: Story = {
225
- render: () => (
226
- <Tooltip>
227
- <TooltipTrigger asChild>
228
- <Button variant="outline">Light Tooltip</Button>
229
- </TooltipTrigger>
230
- <TooltipContent variant="light">
231
- <p>Light tooltip text</p>
232
- </TooltipContent>
233
- </Tooltip>
234
- ),
235
- parameters: {
236
- docs: {
237
- source: {
238
- code: `<Tooltip>
239
- <TooltipTrigger asChild>
240
- <Button variant="outline">Light Tooltip</Button>
241
- </TooltipTrigger>
242
- <TooltipContent variant="light">
243
- <p>Light tooltip text</p>
244
- </TooltipContent>
245
- </Tooltip>`,
246
- },
247
- },
248
- },
249
- }
250
-
251
- // With IconButton
252
- export const WithIconButton: Story = {
253
- render: () => (
254
- <Tooltip>
255
- <TooltipTrigger asChild>
256
- <IconButton variant="outline" icon={<Bookmark />} aria-label="Add to library" />
257
- </TooltipTrigger>
258
- <TooltipContent>
259
- <p>Add to library</p>
260
- </TooltipContent>
261
- </Tooltip>
262
- ),
263
- parameters: {
264
- docs: {
265
- source: {
266
- code: `<Tooltip>
267
- <TooltipTrigger asChild>
268
- <IconButton variant="outline" icon={<Bookmark />} aria-label="Add to library" />
269
- </TooltipTrigger>
270
- <TooltipContent>
271
- <p>Add to library</p>
272
- </TooltipContent>
273
- </Tooltip>`,
274
- },
275
- },
276
- },
277
- }
278
-
279
- // Long content
280
- export const LongContent: Story = {
281
- render: () => (
282
- <Tooltip>
283
- <TooltipTrigger asChild>
284
- <Button variant="outline">Export File</Button>
285
- </TooltipTrigger>
286
- <TooltipContent side="right" className="max-w-[200px]">
287
- <p>To learn more about how this works, check out the docs. If you have any questions, please reach out to us.</p>
288
- </TooltipContent>
289
- </Tooltip>
290
- ),
291
- parameters: {
292
- docs: {
293
- source: {
294
- code: `<Tooltip>
295
- <TooltipTrigger asChild>
296
- <Button variant="outline">Export File</Button>
297
- </TooltipTrigger>
298
- <TooltipContent side="right" className="max-w-[200px]">
299
- <p>To learn more about how this works, check out the docs. If you have any questions, please reach out to us.</p>
300
- </TooltipContent>
301
- </Tooltip>`,
302
- },
303
- },
304
- },
305
- }
306
-
307
- // All Variants showcase
308
- export const AllVariants: Story = {
309
- render: () => (
310
- <Flex gap={8}>
311
- {/* Tooltip Positions */}
312
- <Flex gap={4}>
313
- <Typography variant="h4" className="text-white">Tooltip</Typography>
314
-
315
- <Flex gap={6}>
316
- {/* Top */}
317
- <Flex direction="row" gap={4} align="center">
318
- <Typography variant="body2" className="text-neutral-400 w-20">Top</Typography>
319
- <Tooltip>
320
- <TooltipTrigger asChild>
321
- <Button variant="outline" size="small">Hover</Button>
322
- </TooltipTrigger>
323
- <TooltipContent side="top">
324
- <p>Tooltip text</p>
325
- </TooltipContent>
326
- </Tooltip>
327
- </Flex>
328
-
329
- {/* Bottom */}
330
- <Flex direction="row" gap={4} align="center">
331
- <Typography variant="body2" className="text-neutral-400 w-20">Bottom</Typography>
332
- <Tooltip>
333
- <TooltipTrigger asChild>
334
- <Button variant="outline" size="small">Hover</Button>
335
- </TooltipTrigger>
336
- <TooltipContent side="bottom">
337
- <p>Tooltip text</p>
338
- </TooltipContent>
339
- </Tooltip>
340
- </Flex>
341
-
342
- {/* Left */}
343
- <Flex direction="row" gap={4} align="center">
344
- <Typography variant="body2" className="text-neutral-400 w-20">Left</Typography>
345
- <Tooltip>
346
- <TooltipTrigger asChild>
347
- <Button variant="outline" size="small">Hover</Button>
348
- </TooltipTrigger>
349
- <TooltipContent side="left">
350
- <p>Tooltip text</p>
351
- </TooltipContent>
352
- </Tooltip>
353
- </Flex>
354
-
355
- {/* Right */}
356
- <Flex direction="row" gap={4} align="center">
357
- <Typography variant="body2" className="text-neutral-400 w-20">Right</Typography>
358
- <Tooltip>
359
- <TooltipTrigger asChild>
360
- <Button variant="outline" size="small">Hover</Button>
361
- </TooltipTrigger>
362
- <TooltipContent side="right">
363
- <p>Tooltip text</p>
364
- </TooltipContent>
365
- </Tooltip>
366
- </Flex>
367
- </Flex>
368
- </Flex>
369
-
370
- {/* Examples */}
371
- <Flex gap={4}>
372
- <Typography variant="h4" className="text-white">Examples</Typography>
373
-
374
- <Flex direction="row" gap={4} align="center">
375
- {/* Icon Button with tooltip */}
376
- <Tooltip>
377
- <TooltipTrigger asChild>
378
- <IconButton variant="outline" icon={<Bookmark />} aria-label="Add to library" />
379
- </TooltipTrigger>
380
- <TooltipContent>
381
- <p>Add to library</p>
382
- </TooltipContent>
383
- </Tooltip>
384
-
385
- {/* Button with long tooltip */}
386
- <Tooltip>
387
- <TooltipTrigger asChild>
388
- <Button variant="outline">Export File</Button>
389
- </TooltipTrigger>
390
- <TooltipContent side="right" className="max-w-[200px]">
391
- <p>To learn more about how this works, check out the docs. If you have any questions, please reach out to us.</p>
392
- </TooltipContent>
393
- </Tooltip>
394
- </Flex>
395
- </Flex>
396
-
397
- {/* Variants */}
398
- <Flex gap={4}>
399
- <Typography variant="h4" className="text-white">Variants</Typography>
400
-
401
- <Flex direction="row" gap={4} align="center">
402
- {/* Default */}
403
- <Tooltip>
404
- <TooltipTrigger asChild>
405
- <Button variant="outline">Default</Button>
406
- </TooltipTrigger>
407
- <TooltipContent variant="default">
408
- <p>Default dark tooltip</p>
409
- </TooltipContent>
410
- </Tooltip>
411
-
412
- {/* Light */}
413
- <Tooltip>
414
- <TooltipTrigger asChild>
415
- <Button variant="outline">Light</Button>
416
- </TooltipTrigger>
417
- <TooltipContent variant="light">
418
- <p>Light tooltip variant</p>
419
- </TooltipContent>
420
- </Tooltip>
421
-
422
- {/* No Arrow */}
423
- <Tooltip>
424
- <TooltipTrigger asChild>
425
- <Button variant="outline">No Arrow</Button>
426
- </TooltipTrigger>
427
- <TooltipContent showArrow={false}>
428
- <p>Without arrow</p>
429
- </TooltipContent>
430
- </Tooltip>
431
- </Flex>
432
- </Flex>
433
- </Flex>
434
- ),
435
- parameters: {
436
- docs: {
437
- source: {
438
- code: `// Basic usage
439
- <TooltipProvider>
440
- <Tooltip>
441
- <TooltipTrigger asChild>
442
- <Button variant="outline">Hover me</Button>
443
- </TooltipTrigger>
444
- <TooltipContent>
445
- <p>Tooltip text</p>
446
- </TooltipContent>
447
- </Tooltip>
448
- </TooltipProvider>
449
-
450
- // With position
451
- <TooltipContent side="bottom">...</TooltipContent>
452
- <TooltipContent side="left">...</TooltipContent>
453
- <TooltipContent side="right">...</TooltipContent>
454
-
455
- // Light variant
456
- <TooltipContent variant="light">...</TooltipContent>
457
-
458
- // Without arrow
459
- <TooltipContent showArrow={false}>...</TooltipContent>`,
460
- },
461
- },
462
- },
463
- }
@@ -1,96 +0,0 @@
1
- import * as React from "react"
2
- import * as TooltipPrimitive from "@radix-ui/react-tooltip"
3
- import { cva } from "class-variance-authority"
4
-
5
- import { cn } from "../lib/utils"
6
-
7
- type TooltipContentVariant = "default" | "light"
8
-
9
- const tooltipContentVariants = cva(
10
- "z-50 overflow-hidden rounded-lg bg-neutral-950 px-2 py-1.5 text-xs text-neutral-50 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
11
- {
12
- variants: {
13
- variant: {
14
- default: "bg-neutral-950 text-neutral-50",
15
- light: "bg-white text-neutral-900 border border-neutral-200 shadow-md",
16
- },
17
- },
18
- defaultVariants: {
19
- variant: "default",
20
- },
21
- }
22
- )
23
-
24
- function TooltipProvider({
25
- delayDuration = 200,
26
- skipDelayDuration = 300,
27
- ...props
28
- }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {
29
- return (
30
- <TooltipPrimitive.Provider
31
- delayDuration={delayDuration}
32
- skipDelayDuration={skipDelayDuration}
33
- {...props}
34
- />
35
- )
36
- }
37
-
38
- function Tooltip({
39
- ...props
40
- }: React.ComponentProps<typeof TooltipPrimitive.Root>) {
41
- return <TooltipPrimitive.Root {...props} />
42
- }
43
-
44
- function TooltipTrigger({
45
- ...props
46
- }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {
47
- return <TooltipPrimitive.Trigger {...props} />
48
- }
49
-
50
- export type TooltipContentProps = React.ComponentProps<
51
- typeof TooltipPrimitive.Content
52
- > & {
53
- variant?: TooltipContentVariant
54
- /** Whether to show the arrow */
55
- showArrow?: boolean
56
- }
57
-
58
- function TooltipContent({
59
- className,
60
- sideOffset = 4,
61
- variant,
62
- showArrow = true,
63
- children,
64
- ...props
65
- }: TooltipContentProps) {
66
- return (
67
- <TooltipPrimitive.Portal>
68
- <TooltipPrimitive.Content
69
- sideOffset={sideOffset}
70
- className={cn(tooltipContentVariants({ variant }), className)}
71
- {...props}
72
- >
73
- {children}
74
- {showArrow && (
75
- <TooltipPrimitive.Arrow
76
- className={cn(
77
- "fill-neutral-950",
78
- variant === "light" && "fill-white"
79
- )}
80
- width={11}
81
- height={5}
82
- />
83
- )}
84
- </TooltipPrimitive.Content>
85
- </TooltipPrimitive.Portal>
86
- )
87
- }
88
-
89
- export {
90
- Tooltip,
91
- TooltipTrigger,
92
- TooltipContent,
93
- TooltipProvider,
94
- tooltipContentVariants,
95
- }
96
- export type { TooltipContentVariant }