@docyrus/shadcn 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.md +158 -0
  2. package/dist/default/accordion.d.ts +9 -0
  3. package/dist/default/accordion.js +51 -0
  4. package/dist/default/accordion.js.map +1 -0
  5. package/dist/default/alert-dialog.d.ts +23 -0
  6. package/dist/default/alert-dialog.js +153 -0
  7. package/dist/default/alert-dialog.js.map +1 -0
  8. package/dist/default/alert.d.ts +11 -0
  9. package/dist/default/alert.js +56 -0
  10. package/dist/default/alert.js.map +1 -0
  11. package/dist/default/aspect-ratio.d.ts +6 -0
  12. package/dist/default/aspect-ratio.js +8 -0
  13. package/dist/default/aspect-ratio.js.map +1 -0
  14. package/dist/default/avatar.d.ts +8 -0
  15. package/dist/default/avatar.js +46 -0
  16. package/dist/default/avatar.js.map +1 -0
  17. package/dist/default/badge.d.ts +13 -0
  18. package/dist/default/badge.js +32 -0
  19. package/dist/default/badge.js.map +1 -0
  20. package/dist/default/breadcrumb.d.ts +22 -0
  21. package/dist/default/breadcrumb.js +94 -0
  22. package/dist/default/breadcrumb.js.map +1 -0
  23. package/dist/default/button-group.d.ts +17 -0
  24. package/dist/default/button-group.js +98 -0
  25. package/dist/default/button-group.js.map +1 -0
  26. package/dist/default/button.d.ts +14 -0
  27. package/dist/default/button.js +54 -0
  28. package/dist/default/button.js.map +1 -0
  29. package/dist/default/calendar.d.ts +13 -0
  30. package/dist/default/calendar.js +231 -0
  31. package/dist/default/calendar.js.map +1 -0
  32. package/dist/default/card.d.ts +10 -0
  33. package/dist/default/card.js +66 -0
  34. package/dist/default/card.js.map +1 -0
  35. package/dist/default/carousel.d.ts +23 -0
  36. package/dist/default/carousel.js +237 -0
  37. package/dist/default/carousel.js.map +1 -0
  38. package/dist/default/chart.d.ts +69 -0
  39. package/dist/default/chart.js +241 -0
  40. package/dist/default/chart.js.map +1 -0
  41. package/dist/default/checkbox.d.ts +6 -0
  42. package/dist/default/checkbox.js +34 -0
  43. package/dist/default/checkbox.js.map +1 -0
  44. package/dist/default/collapsible.d.ts +8 -0
  45. package/dist/default/collapsible.js +9 -0
  46. package/dist/default/collapsible.js.map +1 -0
  47. package/dist/default/command.d.ts +83 -0
  48. package/dist/default/command.js +169 -0
  49. package/dist/default/command.js.map +1 -0
  50. package/dist/default/context-menu.d.ts +30 -0
  51. package/dist/default/context-menu.js +146 -0
  52. package/dist/default/context-menu.js.map +1 -0
  53. package/dist/default/dialog.d.ts +22 -0
  54. package/dist/default/dialog.js +101 -0
  55. package/dist/default/dialog.js.map +1 -0
  56. package/dist/default/drawer.d.ts +27 -0
  57. package/dist/default/drawer.js +99 -0
  58. package/dist/default/drawer.js.map +1 -0
  59. package/dist/default/dropdown-menu.d.ts +30 -0
  60. package/dist/default/dropdown-menu.js +143 -0
  61. package/dist/default/dropdown-menu.js.map +1 -0
  62. package/dist/default/empty.d.ts +15 -0
  63. package/dist/default/empty.js +104 -0
  64. package/dist/default/empty.js.map +1 -0
  65. package/dist/default/field.d.ts +30 -0
  66. package/dist/default/field.js +253 -0
  67. package/dist/default/field.js.map +1 -0
  68. package/dist/default/form.d.ts +28 -0
  69. package/dist/default/form.js +121 -0
  70. package/dist/default/form.js.map +1 -0
  71. package/dist/default/hover-card.d.ts +8 -0
  72. package/dist/default/hover-card.js +30 -0
  73. package/dist/default/hover-card.js.map +1 -0
  74. package/dist/default/index.d.ts +95 -0
  75. package/dist/default/index.js +4029 -0
  76. package/dist/default/index.js.map +1 -0
  77. package/dist/default/input-group.d.ts +20 -0
  78. package/dist/default/input-group.js +225 -0
  79. package/dist/default/input-group.js.map +1 -0
  80. package/dist/default/input-otp.d.ts +37 -0
  81. package/dist/default/input-otp.js +53 -0
  82. package/dist/default/input-otp.js.map +1 -0
  83. package/dist/default/input.d.ts +5 -0
  84. package/dist/default/input.js +30 -0
  85. package/dist/default/input.js.map +1 -0
  86. package/dist/default/item.d.ts +28 -0
  87. package/dist/default/item.js +203 -0
  88. package/dist/default/item.js.map +1 -0
  89. package/dist/default/kbd.d.ts +6 -0
  90. package/dist/default/kbd.js +37 -0
  91. package/dist/default/kbd.js.map +1 -0
  92. package/dist/default/label.d.ts +8 -0
  93. package/dist/default/label.js +26 -0
  94. package/dist/default/label.js.map +1 -0
  95. package/dist/default/menubar.d.ts +31 -0
  96. package/dist/default/menubar.js +194 -0
  97. package/dist/default/menubar.js.map +1 -0
  98. package/dist/default/navigation-menu.d.ts +15 -0
  99. package/dist/default/navigation-menu.js +106 -0
  100. package/dist/default/navigation-menu.js.map +1 -0
  101. package/dist/default/pagination.d.ts +33 -0
  102. package/dist/default/pagination.js +146 -0
  103. package/dist/default/pagination.js.map +1 -0
  104. package/dist/default/popover.d.ts +8 -0
  105. package/dist/default/popover.js +30 -0
  106. package/dist/default/popover.js.map +1 -0
  107. package/dist/default/progress.d.ts +6 -0
  108. package/dist/default/progress.js +32 -0
  109. package/dist/default/progress.js.map +1 -0
  110. package/dist/default/radio-group.d.ts +7 -0
  111. package/dist/default/radio-group.js +41 -0
  112. package/dist/default/radio-group.js.map +1 -0
  113. package/dist/default/resizable.d.ts +27 -0
  114. package/dist/default/resizable.js +42 -0
  115. package/dist/default/resizable.js.map +1 -0
  116. package/dist/default/scroll-area.d.ts +7 -0
  117. package/dist/default/scroll-area.js +44 -0
  118. package/dist/default/scroll-area.js.map +1 -0
  119. package/dist/default/select.d.ts +15 -0
  120. package/dist/default/select.js +121 -0
  121. package/dist/default/select.js.map +1 -0
  122. package/dist/default/separator.d.ts +6 -0
  123. package/dist/default/separator.js +31 -0
  124. package/dist/default/separator.js.map +1 -0
  125. package/dist/default/sheet.d.ts +29 -0
  126. package/dist/default/sheet.js +112 -0
  127. package/dist/default/sheet.js.map +1 -0
  128. package/dist/default/sidebar.d.ts +71 -0
  129. package/dist/default/sidebar.js +780 -0
  130. package/dist/default/sidebar.js.map +1 -0
  131. package/dist/default/skeleton.d.ts +5 -0
  132. package/dist/default/skeleton.js +24 -0
  133. package/dist/default/skeleton.js.map +1 -0
  134. package/dist/default/slider.d.ts +6 -0
  135. package/dist/default/slider.js +30 -0
  136. package/dist/default/slider.js.map +1 -0
  137. package/dist/default/sonner.d.ts +7 -0
  138. package/dist/default/sonner.js +35 -0
  139. package/dist/default/sonner.js.map +1 -0
  140. package/dist/default/spinner.d.ts +5 -0
  141. package/dist/default/spinner.js +24 -0
  142. package/dist/default/spinner.js.map +1 -0
  143. package/dist/default/styles.css +149 -0
  144. package/dist/default/switch.d.ts +6 -0
  145. package/dist/default/switch.js +34 -0
  146. package/dist/default/switch.js.map +1 -0
  147. package/dist/default/table.d.ts +12 -0
  148. package/dist/default/table.js +87 -0
  149. package/dist/default/table.js.map +1 -0
  150. package/dist/default/tabs.d.ts +9 -0
  151. package/dist/default/tabs.js +51 -0
  152. package/dist/default/tabs.js.map +1 -0
  153. package/dist/default/textarea.d.ts +5 -0
  154. package/dist/default/textarea.js +27 -0
  155. package/dist/default/textarea.js.map +1 -0
  156. package/dist/default/toggle-group.d.ts +15 -0
  157. package/dist/default/toggle-group.js +77 -0
  158. package/dist/default/toggle-group.js.map +1 -0
  159. package/dist/default/toggle.d.ts +15 -0
  160. package/dist/default/toggle.js +44 -0
  161. package/dist/default/toggle.js.map +1 -0
  162. package/dist/default/tooltip.d.ts +9 -0
  163. package/dist/default/tooltip.js +29 -0
  164. package/dist/default/tooltip.js.map +1 -0
  165. package/dist/hooks/index.d.ts +1 -0
  166. package/dist/hooks/index.js +21 -0
  167. package/dist/hooks/index.js.map +1 -0
  168. package/dist/hooks/use-mobile.d.ts +3 -0
  169. package/dist/hooks/use-mobile.js +21 -0
  170. package/dist/hooks/use-mobile.js.map +1 -0
  171. package/dist/index.d.ts +98 -0
  172. package/dist/index.js +4029 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/lib/index.d.ts +2 -0
  175. package/dist/lib/index.js +11 -0
  176. package/dist/lib/index.js.map +1 -0
  177. package/dist/lib/utils.d.ts +5 -0
  178. package/dist/lib/utils.js +11 -0
  179. package/dist/lib/utils.js.map +1 -0
  180. package/dist/new-york/accordion.d.ts +10 -0
  181. package/dist/new-york/accordion.js +68 -0
  182. package/dist/new-york/accordion.js.map +1 -0
  183. package/dist/new-york/alert-dialog.d.ts +17 -0
  184. package/dist/new-york/alert-dialog.js +171 -0
  185. package/dist/new-york/alert-dialog.js.map +1 -0
  186. package/dist/new-york/alert.d.ts +13 -0
  187. package/dist/new-york/alert.js +71 -0
  188. package/dist/new-york/alert.js.map +1 -0
  189. package/dist/new-york/aspect-ratio.d.ts +6 -0
  190. package/dist/new-york/aspect-ratio.js +12 -0
  191. package/dist/new-york/aspect-ratio.js.map +1 -0
  192. package/dist/new-york/avatar.d.ts +9 -0
  193. package/dist/new-york/avatar.js +58 -0
  194. package/dist/new-york/avatar.js.map +1 -0
  195. package/dist/new-york/badge.d.ts +13 -0
  196. package/dist/new-york/badge.js +46 -0
  197. package/dist/new-york/badge.js.map +1 -0
  198. package/dist/new-york/breadcrumb.d.ts +14 -0
  199. package/dist/new-york/breadcrumb.js +104 -0
  200. package/dist/new-york/breadcrumb.js.map +1 -0
  201. package/dist/new-york/button-group.d.ts +17 -0
  202. package/dist/new-york/button-group.js +100 -0
  203. package/dist/new-york/button-group.js.map +1 -0
  204. package/dist/new-york/button.d.ts +14 -0
  205. package/dist/new-york/button.js +58 -0
  206. package/dist/new-york/button.js.map +1 -0
  207. package/dist/new-york/calendar.d.ts +13 -0
  208. package/dist/new-york/calendar.js +237 -0
  209. package/dist/new-york/calendar.js.map +1 -0
  210. package/dist/new-york/card.d.ts +12 -0
  211. package/dist/new-york/card.js +91 -0
  212. package/dist/new-york/card.js.map +1 -0
  213. package/dist/new-york/carousel.d.ts +24 -0
  214. package/dist/new-york/carousel.js +246 -0
  215. package/dist/new-york/carousel.js.map +1 -0
  216. package/dist/new-york/chart.d.ts +43 -0
  217. package/dist/new-york/chart.js +243 -0
  218. package/dist/new-york/chart.js.map +1 -0
  219. package/dist/new-york/checkbox.d.ts +7 -0
  220. package/dist/new-york/checkbox.js +37 -0
  221. package/dist/new-york/checkbox.js.map +1 -0
  222. package/dist/new-york/collapsible.d.ts +8 -0
  223. package/dist/new-york/collapsible.js +35 -0
  224. package/dist/new-york/collapsible.js.map +1 -0
  225. package/dist/new-york/command.d.ts +22 -0
  226. package/dist/new-york/command.js +266 -0
  227. package/dist/new-york/command.js.map +1 -0
  228. package/dist/new-york/context-menu.d.ts +28 -0
  229. package/dist/new-york/context-menu.js +215 -0
  230. package/dist/new-york/context-menu.js.map +1 -0
  231. package/dist/new-york/dialog.d.ts +18 -0
  232. package/dist/new-york/dialog.js +134 -0
  233. package/dist/new-york/dialog.js.map +1 -0
  234. package/dist/new-york/drawer.d.ts +16 -0
  235. package/dist/new-york/drawer.js +125 -0
  236. package/dist/new-york/drawer.js.map +1 -0
  237. package/dist/new-york/dropdown-menu.d.ts +28 -0
  238. package/dist/new-york/dropdown-menu.js +224 -0
  239. package/dist/new-york/dropdown-menu.js.map +1 -0
  240. package/dist/new-york/empty.d.ts +15 -0
  241. package/dist/new-york/empty.js +104 -0
  242. package/dist/new-york/empty.js.map +1 -0
  243. package/dist/new-york/field.d.ts +30 -0
  244. package/dist/new-york/field.js +263 -0
  245. package/dist/new-york/field.js.map +1 -0
  246. package/dist/new-york/form.d.ts +28 -0
  247. package/dist/new-york/form.js +131 -0
  248. package/dist/new-york/form.js.map +1 -0
  249. package/dist/new-york/hover-card.d.ts +9 -0
  250. package/dist/new-york/hover-card.js +42 -0
  251. package/dist/new-york/hover-card.js.map +1 -0
  252. package/dist/new-york/index.d.ts +92 -0
  253. package/dist/new-york/index.js +4965 -0
  254. package/dist/new-york/index.js.map +1 -0
  255. package/dist/new-york/input-group.d.ts +20 -0
  256. package/dist/new-york/input-group.js +226 -0
  257. package/dist/new-york/input-group.js.map +1 -0
  258. package/dist/new-york/input-otp.d.ts +14 -0
  259. package/dist/new-york/input-otp.js +70 -0
  260. package/dist/new-york/input-otp.js.map +1 -0
  261. package/dist/new-york/input.d.ts +6 -0
  262. package/dist/new-york/input.js +28 -0
  263. package/dist/new-york/input.js.map +1 -0
  264. package/dist/new-york/item.d.ts +28 -0
  265. package/dist/new-york/item.js +205 -0
  266. package/dist/new-york/item.js.map +1 -0
  267. package/dist/new-york/kbd.d.ts +6 -0
  268. package/dist/new-york/kbd.js +37 -0
  269. package/dist/new-york/kbd.js.map +1 -0
  270. package/dist/new-york/label.d.ts +7 -0
  271. package/dist/new-york/label.js +28 -0
  272. package/dist/new-york/label.js.map +1 -0
  273. package/dist/new-york/menubar.d.ts +29 -0
  274. package/dist/new-york/menubar.js +243 -0
  275. package/dist/new-york/menubar.js.map +1 -0
  276. package/dist/new-york/navigation-menu.d.ts +18 -0
  277. package/dist/new-york/navigation-menu.js +169 -0
  278. package/dist/new-york/navigation-menu.js.map +1 -0
  279. package/dist/new-york/pagination.d.ts +18 -0
  280. package/dist/new-york/pagination.js +147 -0
  281. package/dist/new-york/pagination.js.map +1 -0
  282. package/dist/new-york/popover.d.ts +10 -0
  283. package/dist/new-york/popover.js +47 -0
  284. package/dist/new-york/popover.js.map +1 -0
  285. package/dist/new-york/progress.d.ts +7 -0
  286. package/dist/new-york/progress.js +38 -0
  287. package/dist/new-york/progress.js.map +1 -0
  288. package/dist/new-york/radio-group.d.ts +8 -0
  289. package/dist/new-york/radio-group.js +50 -0
  290. package/dist/new-york/radio-group.js.map +1 -0
  291. package/dist/new-york/resizable.d.ts +11 -0
  292. package/dist/new-york/resizable.js +53 -0
  293. package/dist/new-york/resizable.js.map +1 -0
  294. package/dist/new-york/scroll-area.d.ts +8 -0
  295. package/dist/new-york/scroll-area.js +65 -0
  296. package/dist/new-york/scroll-area.js.map +1 -0
  297. package/dist/new-york/select.d.ts +18 -0
  298. package/dist/new-york/select.js +169 -0
  299. package/dist/new-york/select.js.map +1 -0
  300. package/dist/new-york/separator.d.ts +7 -0
  301. package/dist/new-york/separator.js +32 -0
  302. package/dist/new-york/separator.js.map +1 -0
  303. package/dist/new-york/sheet.d.ts +16 -0
  304. package/dist/new-york/sheet.js +126 -0
  305. package/dist/new-york/sheet.js.map +1 -0
  306. package/dist/new-york/sidebar.d.ts +75 -0
  307. package/dist/new-york/sidebar.js +859 -0
  308. package/dist/new-york/sidebar.js.map +1 -0
  309. package/dist/new-york/skeleton.d.ts +5 -0
  310. package/dist/new-york/skeleton.js +22 -0
  311. package/dist/new-york/skeleton.js.map +1 -0
  312. package/dist/new-york/slider.d.ts +7 -0
  313. package/dist/new-york/slider.js +69 -0
  314. package/dist/new-york/slider.js.map +1 -0
  315. package/dist/new-york/sonner.d.ts +6 -0
  316. package/dist/new-york/sonner.js +34 -0
  317. package/dist/new-york/sonner.js.map +1 -0
  318. package/dist/new-york/spinner.d.ts +5 -0
  319. package/dist/new-york/spinner.js +24 -0
  320. package/dist/new-york/spinner.js.map +1 -0
  321. package/dist/new-york/styles.css +129 -0
  322. package/dist/new-york/switch.d.ts +7 -0
  323. package/dist/new-york/switch.js +37 -0
  324. package/dist/new-york/switch.js.map +1 -0
  325. package/dist/new-york/table.d.ts +13 -0
  326. package/dist/new-york/table.js +114 -0
  327. package/dist/new-york/table.js.map +1 -0
  328. package/dist/new-york/tabs.d.ts +10 -0
  329. package/dist/new-york/tabs.js +70 -0
  330. package/dist/new-york/tabs.js.map +1 -0
  331. package/dist/new-york/textarea.d.ts +6 -0
  332. package/dist/new-york/textarea.js +25 -0
  333. package/dist/new-york/textarea.js.map +1 -0
  334. package/dist/new-york/toggle-group.d.ts +14 -0
  335. package/dist/new-york/toggle-group.js +95 -0
  336. package/dist/new-york/toggle-group.js.map +1 -0
  337. package/dist/new-york/toggle.d.ts +13 -0
  338. package/dist/new-york/toggle.js +49 -0
  339. package/dist/new-york/toggle.js.map +1 -0
  340. package/dist/new-york/tooltip.d.ts +10 -0
  341. package/dist/new-york/tooltip.js +58 -0
  342. package/dist/new-york/tooltip.js.map +1 -0
  343. package/package.json +133 -0
package/README.md ADDED
@@ -0,0 +1,158 @@
1
+ # @docyrus/shadcn
2
+
3
+ All shadcn/ui components bundled in a single NPM package for AI Builder projects.
4
+
5
+ ## Why?
6
+
7
+ shadcn/ui uses a CLI-based approach that requires `npx` commands to install components. This is problematic for:
8
+ - AI Builder projects that need pre-bundled components
9
+ - Preview environments that block external requests
10
+ - Projects that want simpler dependency management
11
+
12
+ This package bundles all shadcn/ui components into a single NPM package with weekly updates.
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ pnpm add @docyrus/shadcn
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ ### Default Style (recommended)
23
+
24
+ ```tsx
25
+ // Import from default style
26
+ import { Button, Card, Input, Dialog } from "@docyrus/shadcn/default";
27
+
28
+ // Or import individual components (tree-shakeable)
29
+ import { Button } from "@docyrus/shadcn/default/button";
30
+ import { Card } from "@docyrus/shadcn/default/card";
31
+ ```
32
+
33
+ ### New York Style
34
+
35
+ ```tsx
36
+ // Import from new-york style
37
+ import { Button, Card, Input, Dialog } from "@docyrus/shadcn/new-york";
38
+
39
+ // Or import individual components
40
+ import { Button } from "@docyrus/shadcn/new-york/button";
41
+ import { Card } from "@docyrus/shadcn/new-york/card";
42
+ ```
43
+
44
+ ### Main Export (Default Style)
45
+
46
+ ```tsx
47
+ // Main export re-exports default style
48
+ import { Button, Card, Input, Dialog } from "@docyrus/shadcn";
49
+ ```
50
+
51
+ ### Import Utilities
52
+
53
+ ```tsx
54
+ import { cn } from "@docyrus/shadcn/lib/utils";
55
+ ```
56
+
57
+ ### Import Hooks
58
+
59
+ ```tsx
60
+ import { useMobile } from "@docyrus/shadcn/hooks/use-mobile";
61
+ ```
62
+
63
+ ### Import Styles
64
+
65
+ Add to your main CSS file:
66
+
67
+ ```css
68
+ /* For default style */
69
+ @import "@docyrus/shadcn/default/styles.css";
70
+
71
+ /* For new-york style */
72
+ @import "@docyrus/shadcn/new-york/styles.css";
73
+ ```
74
+
75
+ Or in your entry file:
76
+
77
+ ```tsx
78
+ // For default style
79
+ import "@docyrus/shadcn/default/styles.css";
80
+
81
+ // For new-york style
82
+ import "@docyrus/shadcn/new-york/styles.css";
83
+ ```
84
+
85
+ ## Tailwind CSS Configuration
86
+
87
+ This package requires Tailwind CSS v3.4+ or v4.
88
+
89
+ ### Tailwind CSS v4
90
+
91
+ No additional configuration needed. Just import the styles.
92
+
93
+ ### Tailwind CSS v3
94
+
95
+ Add to your `tailwind.config.js`:
96
+
97
+ ```js
98
+ /** @type {import('tailwindcss').Config} */
99
+ module.exports = {
100
+ content: [
101
+ // ... your content paths
102
+ "./node_modules/@docyrus/shadcn/**/*.{js,ts,jsx,tsx}",
103
+ ],
104
+ // ... rest of your config
105
+ };
106
+ ```
107
+
108
+ ## Available Components (53)
109
+
110
+ Accordion, Alert, Alert Dialog, Aspect Ratio, Avatar, Badge, Breadcrumb, Button, Button Group, Calendar, Card, Carousel, Chart, Checkbox, Collapsible, Command, Context Menu, Dialog, Drawer, Dropdown Menu, Empty, Field, Form, Hover Card, Input, Input Group, Input Otp, Item, Kbd, Label, Menubar, Navigation Menu, Pagination, Popover, Progress, Radio Group, Resizable, Scroll Area, Select, Separator, Sheet, Sidebar, Skeleton, Slider, Sonner, Spinner, Switch, Table, Tabs, Textarea, Toggle, Toggle Group, Tooltip
111
+
112
+ ## Hooks (1)
113
+
114
+ `use-mobile`
115
+
116
+ ## Updating Components
117
+
118
+ To sync with the latest shadcn/ui:
119
+
120
+ ```bash
121
+ pnpm run sync
122
+ pnpm run build
123
+ ```
124
+
125
+ ## Framework Configuration
126
+
127
+ ### Next.js
128
+
129
+ Add to `next.config.js`:
130
+
131
+ ```js
132
+ module.exports = {
133
+ transpilePackages: ["@docyrus/shadcn"],
134
+ };
135
+ ```
136
+
137
+ ### Vite
138
+
139
+ Add to `vite.config.ts`:
140
+
141
+ ```ts
142
+ export default defineConfig({
143
+ optimizeDeps: {
144
+ include: ["@docyrus/shadcn"],
145
+ },
146
+ });
147
+ ```
148
+
149
+ ## CI/CD
150
+
151
+ This package uses GitHub Actions for automated releases:
152
+
153
+ - **Release**: Push to `main` triggers build, version bump, GitHub release, and NPM publish
154
+ - **Weekly Sync**: Every Monday at 09:00 UTC, syncs with latest shadcn/ui and creates a PR
155
+
156
+ ## License
157
+
158
+ MIT - Components are from [shadcn/ui](https://ui.shadcn.com) which is also MIT licensed.
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+
4
+ declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
5
+ declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+
9
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -0,0 +1,51 @@
1
+ import * as React from 'react';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ import { ChevronDown } from 'lucide-react';
4
+ import { clsx } from 'clsx';
5
+ import { twMerge } from 'tailwind-merge';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ // src/default/accordion.tsx
9
+ function cn(...inputs) {
10
+ return twMerge(clsx(inputs));
11
+ }
12
+ var Accordion = AccordionPrimitive.Root;
13
+ var AccordionItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
14
+ AccordionPrimitive.Item,
15
+ {
16
+ ref,
17
+ className: cn("border-b", className),
18
+ ...props
19
+ }
20
+ ));
21
+ AccordionItem.displayName = "AccordionItem";
22
+ var AccordionTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
23
+ AccordionPrimitive.Trigger,
24
+ {
25
+ ref,
26
+ className: cn(
27
+ "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
28
+ className
29
+ ),
30
+ ...props,
31
+ children: [
32
+ children,
33
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
34
+ ]
35
+ }
36
+ ) }));
37
+ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
38
+ var AccordionContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
39
+ AccordionPrimitive.Content,
40
+ {
41
+ ref,
42
+ className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
43
+ ...props,
44
+ children: /* @__PURE__ */ jsx("div", { className: cn("pb-4 pt-0", className), children })
45
+ }
46
+ ));
47
+ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
48
+
49
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
50
+ //# sourceMappingURL=accordion.js.map
51
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/default/accordion.tsx"],"names":[],"mappings":";;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACCA,IAAM,SAAA,GAA+B,kBAAA,CAAA;AAErC,IAAM,aAAA,GAAsB,iBAG1B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAoB,kBAAA,CAAA,IAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,IAClC,GAAG;AAAA;AACN,CACD;AACD,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,IAAM,gBAAA,GAAyB,KAAA,CAAA,UAAA,CAG7B,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,GAAA,CAAoB,kBAAA,CAAA,MAAA,EAAnB,EAA0B,WAAU,MAAA,EACnC,QAAA,kBAAA,IAAA;AAAA,EAAoB,kBAAA,CAAA,OAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,8HAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,sBACD,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,oDAAA,EAAqD;AAAA;AAAA;AAC9E,CAAA,EACF,CACD;AACD,gBAAA,CAAiB,cAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA;AAE1D,IAAM,gBAAA,GAAyB,iBAG7B,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,GAAA;AAAA,EAAoB,kBAAA,CAAA,OAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAU,0HAAA;AAAA,IACT,GAAG,KAAA;AAAA,IAEJ,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,WAAA,EAAa,SAAS,GAAI,QAAA,EAAS;AAAA;AACxD,CACD;AAED,gBAAA,CAAiB,cAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA","file":"accordion.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"]}
@@ -0,0 +1,23 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
4
+
5
+ declare const AlertDialog: React.FC<AlertDialogPrimitive.AlertDialogProps>;
6
+ declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const AlertDialogPortal: React.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
8
+ declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const AlertDialogHeader: {
11
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
12
+ displayName: string;
13
+ };
14
+ declare const AlertDialogFooter: {
15
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
16
+ displayName: string;
17
+ };
18
+ declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
19
+ declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
20
+ declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
21
+ declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
22
+
23
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
@@ -0,0 +1,153 @@
1
+ import * as React2 from 'react';
2
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
3
+ import { clsx } from 'clsx';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { Slot } from '@radix-ui/react-slot';
6
+ import { cva } from 'class-variance-authority';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+
9
+ // src/default/alert-dialog.tsx
10
+ function cn(...inputs) {
11
+ return twMerge(clsx(inputs));
12
+ }
13
+ var buttonVariants = cva(
14
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
15
+ {
16
+ variants: {
17
+ variant: {
18
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
19
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
20
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
21
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
22
+ ghost: "hover:bg-accent hover:text-accent-foreground",
23
+ link: "text-primary underline-offset-4 hover:underline"
24
+ },
25
+ size: {
26
+ default: "h-10 px-4 py-2",
27
+ sm: "h-9 rounded-md px-3",
28
+ lg: "h-11 rounded-md px-8",
29
+ icon: "h-10 w-10"
30
+ }
31
+ },
32
+ defaultVariants: {
33
+ variant: "default",
34
+ size: "default"
35
+ }
36
+ }
37
+ );
38
+ var Button = React2.forwardRef(
39
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
40
+ const Comp = asChild ? Slot : "button";
41
+ return /* @__PURE__ */ jsx(
42
+ Comp,
43
+ {
44
+ className: cn(buttonVariants({ variant, size, className })),
45
+ ref,
46
+ ...props
47
+ }
48
+ );
49
+ }
50
+ );
51
+ Button.displayName = "Button";
52
+ var AlertDialog = AlertDialogPrimitive.Root;
53
+ var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
54
+ var AlertDialogPortal = AlertDialogPrimitive.Portal;
55
+ var AlertDialogOverlay = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
56
+ AlertDialogPrimitive.Overlay,
57
+ {
58
+ className: cn(
59
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
60
+ className
61
+ ),
62
+ ...props,
63
+ ref
64
+ }
65
+ ));
66
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
67
+ var AlertDialogContent = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
68
+ /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
69
+ /* @__PURE__ */ jsx(
70
+ AlertDialogPrimitive.Content,
71
+ {
72
+ ref,
73
+ className: cn(
74
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
75
+ className
76
+ ),
77
+ ...props
78
+ }
79
+ )
80
+ ] }));
81
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
82
+ var AlertDialogHeader = ({
83
+ className,
84
+ ...props
85
+ }) => /* @__PURE__ */ jsx(
86
+ "div",
87
+ {
88
+ className: cn(
89
+ "flex flex-col space-y-2 text-center sm:text-left",
90
+ className
91
+ ),
92
+ ...props
93
+ }
94
+ );
95
+ AlertDialogHeader.displayName = "AlertDialogHeader";
96
+ var AlertDialogFooter = ({
97
+ className,
98
+ ...props
99
+ }) => /* @__PURE__ */ jsx(
100
+ "div",
101
+ {
102
+ className: cn(
103
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
104
+ className
105
+ ),
106
+ ...props
107
+ }
108
+ );
109
+ AlertDialogFooter.displayName = "AlertDialogFooter";
110
+ var AlertDialogTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
111
+ AlertDialogPrimitive.Title,
112
+ {
113
+ ref,
114
+ className: cn("text-lg font-semibold", className),
115
+ ...props
116
+ }
117
+ ));
118
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
119
+ var AlertDialogDescription = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
120
+ AlertDialogPrimitive.Description,
121
+ {
122
+ ref,
123
+ className: cn("text-sm text-muted-foreground", className),
124
+ ...props
125
+ }
126
+ ));
127
+ AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
128
+ var AlertDialogAction = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
129
+ AlertDialogPrimitive.Action,
130
+ {
131
+ ref,
132
+ className: cn(buttonVariants(), className),
133
+ ...props
134
+ }
135
+ ));
136
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
137
+ var AlertDialogCancel = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
138
+ AlertDialogPrimitive.Cancel,
139
+ {
140
+ ref,
141
+ className: cn(
142
+ buttonVariants({ variant: "outline" }),
143
+ "mt-2 sm:mt-0",
144
+ className
145
+ ),
146
+ ...props
147
+ }
148
+ ));
149
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
150
+
151
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
152
+ //# sourceMappingURL=alert-dialog.js.map
153
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/default/button.tsx","../../src/default/alert-dialog.tsx"],"names":["React","jsx"],"mappings":"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","file":"alert-dialog.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"@/lib/utils\"\nimport { buttonVariants } from \"@/default/button\"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const Alert: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
6
+ variant?: "default" | "destructive" | null | undefined;
7
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
9
+ declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
10
+
11
+ export { Alert, AlertDescription, AlertTitle };
@@ -0,0 +1,56 @@
1
+ import * as React from 'react';
2
+ import { cva } from 'class-variance-authority';
3
+ import { clsx } from 'clsx';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ // src/default/alert.tsx
8
+ function cn(...inputs) {
9
+ return twMerge(clsx(inputs));
10
+ }
11
+ var alertVariants = cva(
12
+ "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
13
+ {
14
+ variants: {
15
+ variant: {
16
+ default: "bg-background text-foreground",
17
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ variant: "default"
22
+ }
23
+ }
24
+ );
25
+ var Alert = React.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
26
+ "div",
27
+ {
28
+ ref,
29
+ role: "alert",
30
+ className: cn(alertVariants({ variant }), className),
31
+ ...props
32
+ }
33
+ ));
34
+ Alert.displayName = "Alert";
35
+ var AlertTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
36
+ "h5",
37
+ {
38
+ ref,
39
+ className: cn("mb-1 font-medium leading-none tracking-tight", className),
40
+ ...props
41
+ }
42
+ ));
43
+ AlertTitle.displayName = "AlertTitle";
44
+ var AlertDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
45
+ "div",
46
+ {
47
+ ref,
48
+ className: cn("text-sm [&_p]:leading-relaxed", className),
49
+ ...props
50
+ }
51
+ ));
52
+ AlertDescription.displayName = "AlertDescription";
53
+
54
+ export { Alert, AlertDescription, AlertTitle };
55
+ //# sourceMappingURL=alert.js.map
56
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/default/alert.tsx"],"names":[],"mappings":";;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACAA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,2JAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,+BAAA;AAAA,QACT,WAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEA,IAAM,KAAA,GAAc,iBAGlB,CAAC,EAAE,WAAW,OAAA,EAAS,GAAG,KAAA,EAAM,EAAG,GAAA,qBACnC,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,IAAA,EAAK,OAAA;AAAA,IACL,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,KAAA,CAAM,WAAA,GAAc,OAAA;AAEpB,IAAM,UAAA,GAAmB,iBAGvB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,8CAAA,EAAgD,SAAS,CAAA;AAAA,IACtE,GAAG;AAAA;AACN,CACD;AACD,UAAA,CAAW,WAAA,GAAc,YAAA;AAEzB,IAAM,gBAAA,GAAyB,iBAG7B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,IACvD,GAAG;AAAA;AACN,CACD;AACD,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"alert.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }\n"]}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
3
+
4
+ declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioPrimitive.AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
5
+
6
+ export { AspectRatio };
@@ -0,0 +1,8 @@
1
+ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
2
+
3
+ // src/default/aspect-ratio.tsx
4
+ var AspectRatio = AspectRatioPrimitive.Root;
5
+
6
+ export { AspectRatio };
7
+ //# sourceMappingURL=aspect-ratio.js.map
8
+ //# sourceMappingURL=aspect-ratio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/default/aspect-ratio.tsx"],"names":[],"mappings":";;;AAEA,IAAM,WAAA,GAAmC,oBAAA,CAAA","file":"aspect-ratio.js","sourcesContent":["import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport { AspectRatio }\n"]}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
+
4
+ declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
5
+ declare const AvatarImage: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
6
+ declare const AvatarFallback: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
7
+
8
+ export { Avatar, AvatarFallback, AvatarImage };
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
+ import { clsx } from 'clsx';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ function cn(...inputs) {
8
+ return twMerge(clsx(inputs));
9
+ }
10
+ var Avatar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
11
+ AvatarPrimitive.Root,
12
+ {
13
+ ref,
14
+ className: cn(
15
+ "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
16
+ className
17
+ ),
18
+ ...props
19
+ }
20
+ ));
21
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
22
+ var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
23
+ AvatarPrimitive.Image,
24
+ {
25
+ ref,
26
+ className: cn("aspect-square h-full w-full", className),
27
+ ...props
28
+ }
29
+ ));
30
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
31
+ var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
32
+ AvatarPrimitive.Fallback,
33
+ {
34
+ ref,
35
+ className: cn(
36
+ "flex h-full w-full items-center justify-center rounded-full bg-muted",
37
+ className
38
+ ),
39
+ ...props
40
+ }
41
+ ));
42
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
43
+
44
+ export { Avatar, AvatarFallback, AvatarImage };
45
+ //# sourceMappingURL=avatar.js.map
46
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/default/avatar.tsx"],"names":[],"mappings":";;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACEA,IAAM,MAAA,GAAe,iBAGnB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,IAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,+DAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,MAAA,CAAO,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA;AAE1C,IAAM,WAAA,GAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,KAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,IACrD,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,cAA8B,eAAA,CAAA,KAAA,CAAM,WAAA;AAEhD,IAAM,cAAA,GAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,QAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,sEAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,cAAA,CAAe,cAA8B,eAAA,CAAA,QAAA,CAAS,WAAA","file":"avatar.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"]}
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const badgeVariants: (props?: ({
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
10
+ }
11
+ declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
12
+
13
+ export { Badge, type BadgeProps, badgeVariants };
@@ -0,0 +1,32 @@
1
+ import { cva } from 'class-variance-authority';
2
+ import { clsx } from 'clsx';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ // src/default/badge.tsx
7
+ function cn(...inputs) {
8
+ return twMerge(clsx(inputs));
9
+ }
10
+ var badgeVariants = cva(
11
+ "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
12
+ {
13
+ variants: {
14
+ variant: {
15
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
16
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
17
+ destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
18
+ outline: "text-foreground"
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ variant: "default"
23
+ }
24
+ }
25
+ );
26
+ function Badge({ className, variant, ...props }) {
27
+ return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
28
+ }
29
+
30
+ export { Badge, badgeVariants };
31
+ //# sourceMappingURL=badge.js.map
32
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/default/badge.tsx"],"names":[],"mappings":";;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACAA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,wKAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EACE,2EAAA;AAAA,QACF,SAAA,EACE,iFAAA;AAAA,QACF,WAAA,EACE,uFAAA;AAAA,QACF,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAMA,SAAS,MAAM,EAAE,SAAA,EAAW,OAAA,EAAS,GAAG,OAAM,EAAe;AAC3D,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAE1E","file":"badge.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n"]}