@prototyperco/ui 0.5.0-alpha.0 → 0.5.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 (349) hide show
  1. package/dist/components/accordion.cjs +154 -0
  2. package/dist/components/accordion.cjs.map +1 -0
  3. package/dist/components/accordion.d.cts +14 -0
  4. package/dist/components/accordion.d.ts +14 -0
  5. package/dist/components/accordion.js +127 -0
  6. package/dist/components/accordion.js.map +1 -0
  7. package/dist/components/alert-dialog.cjs +324 -0
  8. package/dist/components/alert-dialog.cjs.map +1 -0
  9. package/dist/components/alert-dialog.d.cts +30 -0
  10. package/dist/components/alert-dialog.d.ts +30 -0
  11. package/dist/components/alert-dialog.js +289 -0
  12. package/dist/components/alert-dialog.js.map +1 -0
  13. package/dist/components/alert.cjs +105 -0
  14. package/dist/components/alert.cjs.map +1 -0
  15. package/dist/components/alert.d.cts +17 -0
  16. package/dist/components/alert.d.ts +17 -0
  17. package/dist/components/alert.js +78 -0
  18. package/dist/components/alert.js.map +1 -0
  19. package/dist/components/autocomplete.cjs +512 -0
  20. package/dist/components/autocomplete.cjs.map +1 -0
  21. package/dist/components/autocomplete.d.cts +31 -0
  22. package/dist/components/autocomplete.d.ts +31 -0
  23. package/dist/components/autocomplete.js +472 -0
  24. package/dist/components/autocomplete.js.map +1 -0
  25. package/dist/components/avatar.cjs +144 -0
  26. package/dist/components/avatar.cjs.map +1 -0
  27. package/dist/components/avatar.d.cts +18 -0
  28. package/dist/components/avatar.d.ts +18 -0
  29. package/dist/components/avatar.js +115 -0
  30. package/dist/components/avatar.js.map +1 -0
  31. package/dist/components/badge.cjs +81 -0
  32. package/dist/components/badge.cjs.map +1 -0
  33. package/dist/components/badge.d.cts +13 -0
  34. package/dist/components/badge.d.ts +13 -0
  35. package/dist/components/badge.js +56 -0
  36. package/dist/components/badge.js.map +1 -0
  37. package/dist/components/breadcrumb.cjs +142 -0
  38. package/dist/components/breadcrumb.cjs.map +1 -0
  39. package/dist/components/breadcrumb.d.cts +20 -0
  40. package/dist/components/breadcrumb.d.ts +20 -0
  41. package/dist/components/breadcrumb.js +112 -0
  42. package/dist/components/breadcrumb.js.map +1 -0
  43. package/dist/components/button.cjs +145 -0
  44. package/dist/components/button.cjs.map +1 -0
  45. package/dist/components/button.d.cts +16 -0
  46. package/dist/components/button.d.ts +16 -0
  47. package/dist/components/button.js +120 -0
  48. package/dist/components/button.js.map +1 -0
  49. package/dist/components/card.cjs +141 -0
  50. package/dist/components/card.cjs.map +1 -0
  51. package/dist/components/card.d.cts +23 -0
  52. package/dist/components/card.d.ts +23 -0
  53. package/dist/components/card.js +111 -0
  54. package/dist/components/card.js.map +1 -0
  55. package/dist/components/checkbox-group.cjs +56 -0
  56. package/dist/components/checkbox-group.cjs.map +1 -0
  57. package/dist/components/checkbox-group.d.cts +8 -0
  58. package/dist/components/checkbox-group.d.ts +8 -0
  59. package/dist/components/checkbox-group.js +32 -0
  60. package/dist/components/checkbox-group.js.map +1 -0
  61. package/dist/components/checkbox.cjs +152 -0
  62. package/dist/components/checkbox.cjs.map +1 -0
  63. package/dist/components/checkbox.d.cts +12 -0
  64. package/dist/components/checkbox.d.ts +12 -0
  65. package/dist/components/checkbox.js +126 -0
  66. package/dist/components/checkbox.js.map +1 -0
  67. package/dist/components/collapsible.cjs +89 -0
  68. package/dist/components/collapsible.cjs.map +1 -0
  69. package/dist/components/collapsible.d.cts +12 -0
  70. package/dist/components/collapsible.d.ts +12 -0
  71. package/dist/components/collapsible.js +63 -0
  72. package/dist/components/collapsible.js.map +1 -0
  73. package/dist/components/color-picker.cjs +983 -0
  74. package/dist/components/color-picker.cjs.map +1 -0
  75. package/dist/components/color-picker.d.cts +41 -0
  76. package/dist/components/color-picker.d.ts +41 -0
  77. package/dist/components/color-picker.js +939 -0
  78. package/dist/components/color-picker.js.map +1 -0
  79. package/dist/components/columns.cjs +163 -0
  80. package/dist/components/columns.cjs.map +1 -0
  81. package/dist/components/columns.d.cts +16 -0
  82. package/dist/components/columns.d.ts +16 -0
  83. package/dist/components/columns.js +136 -0
  84. package/dist/components/columns.js.map +1 -0
  85. package/dist/components/combobox.cjs +633 -0
  86. package/dist/components/combobox.cjs.map +1 -0
  87. package/dist/components/combobox.d.cts +40 -0
  88. package/dist/components/combobox.d.ts +40 -0
  89. package/dist/components/combobox.js +576 -0
  90. package/dist/components/combobox.js.map +1 -0
  91. package/dist/components/command-palette.cjs +370 -0
  92. package/dist/components/command-palette.cjs.map +1 -0
  93. package/dist/components/command-palette.d.cts +42 -0
  94. package/dist/components/command-palette.d.ts +42 -0
  95. package/dist/components/command-palette.js +329 -0
  96. package/dist/components/command-palette.js.map +1 -0
  97. package/dist/components/container.cjs +80 -0
  98. package/dist/components/container.cjs.map +1 -0
  99. package/dist/components/container.d.cts +27 -0
  100. package/dist/components/container.d.ts +27 -0
  101. package/dist/components/container.js +54 -0
  102. package/dist/components/container.js.map +1 -0
  103. package/dist/components/context-menu.cjs +309 -0
  104. package/dist/components/context-menu.cjs.map +1 -0
  105. package/dist/components/context-menu.d.cts +37 -0
  106. package/dist/components/context-menu.d.ts +37 -0
  107. package/dist/components/context-menu.js +271 -0
  108. package/dist/components/context-menu.js.map +1 -0
  109. package/dist/components/dialog.cjs +319 -0
  110. package/dist/components/dialog.cjs.map +1 -0
  111. package/dist/components/dialog.d.cts +32 -0
  112. package/dist/components/dialog.d.ts +32 -0
  113. package/dist/components/dialog.js +285 -0
  114. package/dist/components/dialog.js.map +1 -0
  115. package/dist/components/drawer.cjs +185 -0
  116. package/dist/components/drawer.cjs.map +1 -0
  117. package/dist/components/drawer.d.cts +32 -0
  118. package/dist/components/drawer.d.ts +32 -0
  119. package/dist/components/drawer.js +151 -0
  120. package/dist/components/drawer.js.map +1 -0
  121. package/dist/components/field.cjs +334 -0
  122. package/dist/components/field.cjs.map +1 -0
  123. package/dist/components/field.d.cts +39 -0
  124. package/dist/components/field.d.ts +39 -0
  125. package/dist/components/field.js +299 -0
  126. package/dist/components/field.js.map +1 -0
  127. package/dist/components/fieldset.cjs +75 -0
  128. package/dist/components/fieldset.cjs.map +1 -0
  129. package/dist/components/fieldset.d.cts +12 -0
  130. package/dist/components/fieldset.d.ts +12 -0
  131. package/dist/components/fieldset.js +50 -0
  132. package/dist/components/fieldset.js.map +1 -0
  133. package/dist/components/form.cjs +52 -0
  134. package/dist/components/form.cjs.map +1 -0
  135. package/dist/components/form.d.cts +8 -0
  136. package/dist/components/form.d.ts +8 -0
  137. package/dist/components/form.js +28 -0
  138. package/dist/components/form.js.map +1 -0
  139. package/dist/components/input-group.cjs +338 -0
  140. package/dist/components/input-group.cjs.map +1 -0
  141. package/dist/components/input-group.d.cts +27 -0
  142. package/dist/components/input-group.d.ts +27 -0
  143. package/dist/components/input-group.js +307 -0
  144. package/dist/components/input-group.js.map +1 -0
  145. package/dist/components/input.cjs +63 -0
  146. package/dist/components/input.cjs.map +1 -0
  147. package/dist/components/input.d.cts +8 -0
  148. package/dist/components/input.d.ts +8 -0
  149. package/dist/components/input.js +39 -0
  150. package/dist/components/input.js.map +1 -0
  151. package/dist/components/label.cjs +54 -0
  152. package/dist/components/label.cjs.map +1 -0
  153. package/dist/components/label.d.cts +8 -0
  154. package/dist/components/label.d.ts +8 -0
  155. package/dist/components/label.js +28 -0
  156. package/dist/components/label.js.map +1 -0
  157. package/dist/components/menu.cjs +305 -0
  158. package/dist/components/menu.cjs.map +1 -0
  159. package/dist/components/menu.d.cts +37 -0
  160. package/dist/components/menu.d.ts +37 -0
  161. package/dist/components/menu.js +267 -0
  162. package/dist/components/menu.js.map +1 -0
  163. package/dist/components/menubar.cjs +503 -0
  164. package/dist/components/menubar.cjs.map +1 -0
  165. package/dist/components/menubar.d.cts +37 -0
  166. package/dist/components/menubar.d.ts +37 -0
  167. package/dist/components/menubar.js +464 -0
  168. package/dist/components/menubar.js.map +1 -0
  169. package/dist/components/meter.cjs +152 -0
  170. package/dist/components/meter.cjs.map +1 -0
  171. package/dist/components/meter.d.cts +23 -0
  172. package/dist/components/meter.d.ts +23 -0
  173. package/dist/components/meter.js +122 -0
  174. package/dist/components/meter.js.map +1 -0
  175. package/dist/components/navigation-menu.cjs +315 -0
  176. package/dist/components/navigation-menu.cjs.map +1 -0
  177. package/dist/components/navigation-menu.d.cts +22 -0
  178. package/dist/components/navigation-menu.d.ts +22 -0
  179. package/dist/components/navigation-menu.js +283 -0
  180. package/dist/components/navigation-menu.js.map +1 -0
  181. package/dist/components/number-field.cjs +217 -0
  182. package/dist/components/number-field.cjs.map +1 -0
  183. package/dist/components/number-field.d.cts +23 -0
  184. package/dist/components/number-field.d.ts +23 -0
  185. package/dist/components/number-field.js +185 -0
  186. package/dist/components/number-field.js.map +1 -0
  187. package/dist/components/popover.cjs +125 -0
  188. package/dist/components/popover.cjs.map +1 -0
  189. package/dist/components/popover.d.cts +16 -0
  190. package/dist/components/popover.d.ts +16 -0
  191. package/dist/components/popover.js +96 -0
  192. package/dist/components/popover.js.map +1 -0
  193. package/dist/components/preview-card.cjs +86 -0
  194. package/dist/components/preview-card.cjs.map +1 -0
  195. package/dist/components/preview-card.d.cts +12 -0
  196. package/dist/components/preview-card.d.ts +12 -0
  197. package/dist/components/preview-card.js +60 -0
  198. package/dist/components/preview-card.js.map +1 -0
  199. package/dist/components/progress.cjs +167 -0
  200. package/dist/components/progress.cjs.map +1 -0
  201. package/dist/components/progress.d.cts +23 -0
  202. package/dist/components/progress.d.ts +23 -0
  203. package/dist/components/progress.js +137 -0
  204. package/dist/components/progress.js.map +1 -0
  205. package/dist/components/radio-group.cjs +98 -0
  206. package/dist/components/radio-group.cjs.map +1 -0
  207. package/dist/components/radio-group.d.cts +11 -0
  208. package/dist/components/radio-group.d.ts +11 -0
  209. package/dist/components/radio-group.js +73 -0
  210. package/dist/components/radio-group.js.map +1 -0
  211. package/dist/components/resizable-panel.cjs +91 -0
  212. package/dist/components/resizable-panel.cjs.map +1 -0
  213. package/dist/components/resizable-panel.d.cts +14 -0
  214. package/dist/components/resizable-panel.d.ts +14 -0
  215. package/dist/components/resizable-panel.js +69 -0
  216. package/dist/components/resizable-panel.js.map +1 -0
  217. package/dist/components/row.cjs +94 -0
  218. package/dist/components/row.cjs.map +1 -0
  219. package/dist/components/row.d.cts +27 -0
  220. package/dist/components/row.d.ts +27 -0
  221. package/dist/components/row.js +68 -0
  222. package/dist/components/row.js.map +1 -0
  223. package/dist/components/scroll-area.cjs +96 -0
  224. package/dist/components/scroll-area.cjs.map +1 -0
  225. package/dist/components/scroll-area.d.cts +10 -0
  226. package/dist/components/scroll-area.d.ts +10 -0
  227. package/dist/components/scroll-area.js +71 -0
  228. package/dist/components/scroll-area.js.map +1 -0
  229. package/dist/components/section.cjs +104 -0
  230. package/dist/components/section.cjs.map +1 -0
  231. package/dist/components/section.d.cts +26 -0
  232. package/dist/components/section.d.ts +26 -0
  233. package/dist/components/section.js +79 -0
  234. package/dist/components/section.js.map +1 -0
  235. package/dist/components/segmented-control.cjs +117 -0
  236. package/dist/components/segmented-control.cjs.map +1 -0
  237. package/dist/components/segmented-control.d.cts +16 -0
  238. package/dist/components/segmented-control.d.ts +16 -0
  239. package/dist/components/segmented-control.js +91 -0
  240. package/dist/components/segmented-control.js.map +1 -0
  241. package/dist/components/select.cjs +273 -0
  242. package/dist/components/select.cjs.map +1 -0
  243. package/dist/components/select.d.cts +26 -0
  244. package/dist/components/select.d.ts +26 -0
  245. package/dist/components/select.js +239 -0
  246. package/dist/components/select.js.map +1 -0
  247. package/dist/components/separator.cjs +60 -0
  248. package/dist/components/separator.cjs.map +1 -0
  249. package/dist/components/separator.d.cts +8 -0
  250. package/dist/components/separator.d.ts +8 -0
  251. package/dist/components/separator.js +36 -0
  252. package/dist/components/separator.js.map +1 -0
  253. package/dist/components/skeleton.cjs +54 -0
  254. package/dist/components/skeleton.cjs.map +1 -0
  255. package/dist/components/skeleton.d.cts +8 -0
  256. package/dist/components/skeleton.d.ts +8 -0
  257. package/dist/components/skeleton.js +28 -0
  258. package/dist/components/skeleton.js.map +1 -0
  259. package/dist/components/slider.cjs +221 -0
  260. package/dist/components/slider.cjs.map +1 -0
  261. package/dist/components/slider.d.cts +16 -0
  262. package/dist/components/slider.d.ts +16 -0
  263. package/dist/components/slider.js +182 -0
  264. package/dist/components/slider.js.map +1 -0
  265. package/dist/components/spinner.cjs +97 -0
  266. package/dist/components/spinner.cjs.map +1 -0
  267. package/dist/components/spinner.d.cts +13 -0
  268. package/dist/components/spinner.d.ts +13 -0
  269. package/dist/components/spinner.js +72 -0
  270. package/dist/components/spinner.js.map +1 -0
  271. package/dist/components/switch.cjs +177 -0
  272. package/dist/components/switch.cjs.map +1 -0
  273. package/dist/components/switch.d.cts +22 -0
  274. package/dist/components/switch.d.ts +22 -0
  275. package/dist/components/switch.js +139 -0
  276. package/dist/components/switch.js.map +1 -0
  277. package/dist/components/tabs.cjs +123 -0
  278. package/dist/components/tabs.cjs.map +1 -0
  279. package/dist/components/tabs.d.cts +19 -0
  280. package/dist/components/tabs.d.ts +19 -0
  281. package/dist/components/tabs.js +95 -0
  282. package/dist/components/tabs.js.map +1 -0
  283. package/dist/components/text-field.cjs +290 -0
  284. package/dist/components/text-field.cjs.map +1 -0
  285. package/dist/components/text-field.d.cts +27 -0
  286. package/dist/components/text-field.d.ts +27 -0
  287. package/dist/components/text-field.js +262 -0
  288. package/dist/components/text-field.js.map +1 -0
  289. package/dist/components/textarea.cjs +60 -0
  290. package/dist/components/textarea.cjs.map +1 -0
  291. package/dist/components/textarea.d.cts +8 -0
  292. package/dist/components/textarea.d.ts +8 -0
  293. package/dist/components/textarea.js +34 -0
  294. package/dist/components/textarea.js.map +1 -0
  295. package/dist/components/toast.cjs +167 -0
  296. package/dist/components/toast.cjs.map +1 -0
  297. package/dist/components/toast.d.cts +28 -0
  298. package/dist/components/toast.d.ts +28 -0
  299. package/dist/components/toast.js +147 -0
  300. package/dist/components/toast.js.map +1 -0
  301. package/dist/components/toggle-group.cjs +171 -0
  302. package/dist/components/toggle-group.cjs.map +1 -0
  303. package/dist/components/toggle-group.d.cts +18 -0
  304. package/dist/components/toggle-group.d.ts +18 -0
  305. package/dist/components/toggle-group.js +136 -0
  306. package/dist/components/toggle-group.js.map +1 -0
  307. package/dist/components/toggle.cjs +92 -0
  308. package/dist/components/toggle.cjs.map +1 -0
  309. package/dist/components/toggle.d.cts +14 -0
  310. package/dist/components/toggle.d.ts +14 -0
  311. package/dist/components/toggle.js +67 -0
  312. package/dist/components/toggle.js.map +1 -0
  313. package/dist/components/toolbar.cjs +160 -0
  314. package/dist/components/toolbar.cjs.map +1 -0
  315. package/dist/components/toolbar.d.cts +14 -0
  316. package/dist/components/toolbar.d.ts +14 -0
  317. package/dist/components/toolbar.js +131 -0
  318. package/dist/components/toolbar.js.map +1 -0
  319. package/dist/components/tooltip.cjs +116 -0
  320. package/dist/components/tooltip.cjs.map +1 -0
  321. package/dist/components/tooltip.d.cts +13 -0
  322. package/dist/components/tooltip.d.ts +13 -0
  323. package/dist/components/tooltip.js +89 -0
  324. package/dist/components/tooltip.js.map +1 -0
  325. package/dist/components/tree-view.cjs +472 -0
  326. package/dist/components/tree-view.cjs.map +1 -0
  327. package/dist/components/tree-view.d.cts +33 -0
  328. package/dist/components/tree-view.d.ts +33 -0
  329. package/dist/components/tree-view.js +435 -0
  330. package/dist/components/tree-view.js.map +1 -0
  331. package/dist/index.cjs +11 -14
  332. package/dist/index.cjs.map +1 -1
  333. package/dist/index.d.cts +101 -903
  334. package/dist/index.d.ts +101 -903
  335. package/dist/index.js +4 -6
  336. package/dist/index.js.map +1 -1
  337. package/dist/lib/color-utils.cjs +315 -0
  338. package/dist/lib/color-utils.cjs.map +1 -0
  339. package/dist/lib/color-utils.d.cts +24 -0
  340. package/dist/lib/color-utils.d.ts +24 -0
  341. package/dist/lib/color-utils.js +280 -0
  342. package/dist/lib/color-utils.js.map +1 -0
  343. package/dist/lib/utils.cjs +35 -0
  344. package/dist/lib/utils.cjs.map +1 -0
  345. package/dist/lib/utils.d.cts +5 -0
  346. package/dist/lib/utils.d.ts +5 -0
  347. package/dist/lib/utils.js +10 -0
  348. package/dist/lib/utils.js.map +1 -0
  349. package/package.json +24 -5
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/alert-dialog.tsx","../../src/lib/utils.ts","../../src/components/button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n );\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-backdrop duration-200 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50 transition motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\";\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"bg-overlay text-overlay-foreground shadow-overlay data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-[0.98] data-open:zoom-in-[1.02] ring-border-light gap-6 rounded-xl p-6 ring-1 duration-200 ease-out-fluid data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none transition data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform] motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"bg-surface-secondary mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-muted-foreground *:[a]:hover-only:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n\nexport type AlertDialogProps = React.ComponentProps<typeof AlertDialog>;\nexport type AlertDialogContentProps = React.ComponentProps<\n typeof AlertDialogContent\n>;\nexport type AlertDialogTriggerProps = React.ComponentProps<\n typeof AlertDialogTrigger\n>;\nexport type AlertDialogActionProps = React.ComponentProps<\n typeof AlertDialogAction\n>;\nexport type AlertDialogCancelProps = React.ComponentProps<\n typeof AlertDialogCancel\n>;\n","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 { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst buttonVariants = cva(\n [\n \"inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium\",\n \"transform-gpu transition-[color,background-color,border-color,box-shadow,opacity,transform] duration-150 ease-smooth\",\n \"motion-reduce:transition-none\",\n \"disabled:status-disabled\",\n \"focus-visible:focus-ring\",\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n \"shrink-0 group/button select-none no-highlight\",\n ],\n {\n variants: {\n variant: {\n default: [\n // Base styles\n \"relative rounded-lg overflow-visible shadow-surface border border-primary dark:border-primary-dark\",\n \"isolate text-primary-foreground [text-shadow:_0_1px_2px_oklch(0%_0_0_/_30%)]\",\n \"[&>*]:relative [&>*]:z-[2]\",\n // Combined gradient layer with primary colors\n \"before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]\",\n \"before:bg-gradient-to-br before:from-primary-light before:via-primary-middle before:to-primary-dark\",\n \"before:dark:from-primary-light before:dark:via-primary-middle before:dark:to-primary-dark\",\n \"before:z-[-1]\",\n // Additional outer border\n \"after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]\",\n \"after:bg-gradient-to-br after:from-primary after:to-primary-dark\",\n \"after:z-[-1] after:transition-opacity after:duration-200 after:opacity-40 after:motion-reduce:transition-none\",\n // Hover state\n \"hover-only:after:opacity-100 hover-only:transition-opacity hover-only:duration-200\",\n ].join(\" \"),\n destructive:\n \"bg-destructive text-destructive-foreground hover-only:hover:bg-destructive-hover\",\n outline: [\n // Base styles\n \"relative rounded-lg overflow-visible shadow-field border\",\n \"isolate text-foreground\",\n \"[&>*]:relative [&>*]:z-[2]\",\n // Background layer\n \"before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]\",\n \"before:bg-gradient-to-br before:from-border-light before:via-border before:to-border-dark/50\",\n \"before:dark:from-border-light before:dark:to-border-dark\",\n \"before:z-[-1]\",\n // Inner background layer\n \"after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]\",\n \"after:bg-background\",\n \"after:z-[-1]\",\n \"after:transition-colors after:duration-200 after:ease-out after:motion-reduce:transition-none\",\n // Hover state\n \"hover-only:after:bg-muted\",\n ].join(\" \"),\n secondary:\n \"bg-secondary text-secondary-foreground hover-only:hover:bg-accent\",\n ghost:\n \"hover-only:bg-accent hover-only:text-accent-foreground motion-safe:active:scale-100\",\n \"primary-soft\":\n \"bg-primary-soft text-primary hover-only:hover:bg-primary-soft-hover\",\n \"destructive-soft\":\n \"bg-destructive-soft text-destructive hover-only:hover:bg-destructive-soft-hover\",\n success:\n \"bg-success text-success-foreground hover-only:hover:bg-success-hover\",\n warning:\n \"bg-warning text-warning-foreground hover-only:hover:bg-warning-hover\",\n link: \"dark:text-primary-light text-primary-dark underline-offset-4 hover-only:underline motion-safe:active:scale-100\",\n },\n size: {\n default:\n \"h-9 gap-2 px-4 py-1 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 motion-safe:active:scale-[0.97]\",\n xs: \"h-6 gap-1 rounded-lg px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3 motion-safe:active:scale-[0.985]\",\n sm: \"h-8 gap-1.5 rounded-lg px-3 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 motion-safe:active:scale-[0.98]\",\n lg: \"h-10 gap-2 rounded-lg px-8 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 motion-safe:active:scale-[0.96]\",\n icon: \"size-9 motion-safe:active:scale-[0.97]\",\n \"icon-xs\":\n \"size-6 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.985]\",\n \"icon-sm\":\n \"size-8 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.98]\",\n \"icon-lg\": \"size-10 motion-safe:active:scale-[0.96]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n isPending,\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props &\n VariantProps<typeof buttonVariants> & { isPending?: boolean }) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n data-pending={isPending || undefined}\n aria-disabled={isPending || undefined}\n nativeButton={nativeButton ?? (render ? false : undefined)}\n render={render}\n className={cn(\n buttonVariants({ variant, size }),\n isPending && \"status-pending\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n\nexport type ButtonProps = React.ComponentProps<typeof Button>;\n"],"mappings":"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","names":["ButtonPrimitive","import_jsx_runtime","AlertDialogPrimitive"]}
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
4
+ import { Button } from './button.cjs';
5
+ import 'class-variance-authority/types';
6
+ import '@base-ui/react/button';
7
+ import 'class-variance-authority';
8
+
9
+ declare function AlertDialog({ ...props }: AlertDialog$1.Root.Props): react_jsx_runtime.JSX.Element;
10
+ declare function AlertDialogTrigger({ ...props }: AlertDialog$1.Trigger.Props): react_jsx_runtime.JSX.Element;
11
+ declare function AlertDialogPortal({ ...props }: AlertDialog$1.Portal.Props): react_jsx_runtime.JSX.Element;
12
+ declare function AlertDialogOverlay({ className, ...props }: AlertDialog$1.Backdrop.Props): react_jsx_runtime.JSX.Element;
13
+ declare function AlertDialogContent({ className, size, ...props }: AlertDialog$1.Popup.Props & {
14
+ size?: "default" | "sm";
15
+ }): react_jsx_runtime.JSX.Element;
16
+ declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
17
+ declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
18
+ declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
19
+ declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime.JSX.Element;
20
+ declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime.JSX.Element;
21
+ declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
22
+ declare function AlertDialogCancel({ className, variant, size, ...props }: AlertDialog$1.Close.Props & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
23
+
24
+ type AlertDialogProps = React.ComponentProps<typeof AlertDialog>;
25
+ type AlertDialogContentProps = React.ComponentProps<typeof AlertDialogContent>;
26
+ type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogTrigger>;
27
+ type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogAction>;
28
+ type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialogCancel>;
29
+
30
+ export { AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, type AlertDialogProps, AlertDialogTitle, AlertDialogTrigger, type AlertDialogTriggerProps };
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
4
+ import { Button } from './button.js';
5
+ import 'class-variance-authority/types';
6
+ import '@base-ui/react/button';
7
+ import 'class-variance-authority';
8
+
9
+ declare function AlertDialog({ ...props }: AlertDialog$1.Root.Props): react_jsx_runtime.JSX.Element;
10
+ declare function AlertDialogTrigger({ ...props }: AlertDialog$1.Trigger.Props): react_jsx_runtime.JSX.Element;
11
+ declare function AlertDialogPortal({ ...props }: AlertDialog$1.Portal.Props): react_jsx_runtime.JSX.Element;
12
+ declare function AlertDialogOverlay({ className, ...props }: AlertDialog$1.Backdrop.Props): react_jsx_runtime.JSX.Element;
13
+ declare function AlertDialogContent({ className, size, ...props }: AlertDialog$1.Popup.Props & {
14
+ size?: "default" | "sm";
15
+ }): react_jsx_runtime.JSX.Element;
16
+ declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
17
+ declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
18
+ declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
19
+ declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime.JSX.Element;
20
+ declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime.JSX.Element;
21
+ declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
22
+ declare function AlertDialogCancel({ className, variant, size, ...props }: AlertDialog$1.Close.Props & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
23
+
24
+ type AlertDialogProps = React.ComponentProps<typeof AlertDialog>;
25
+ type AlertDialogContentProps = React.ComponentProps<typeof AlertDialogContent>;
26
+ type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogTrigger>;
27
+ type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogAction>;
28
+ type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialogCancel>;
29
+
30
+ export { AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, type AlertDialogProps, AlertDialogTitle, AlertDialogTrigger, type AlertDialogTriggerProps };
@@ -0,0 +1,289 @@
1
+ "use client";
2
+
3
+ // src/components/alert-dialog.tsx
4
+ import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";
5
+
6
+ // src/lib/utils.ts
7
+ import { clsx } from "clsx";
8
+ import { twMerge } from "tailwind-merge";
9
+ function cn(...inputs) {
10
+ return twMerge(clsx(inputs));
11
+ }
12
+
13
+ // src/components/button.tsx
14
+ import { Button as ButtonPrimitive } from "@base-ui/react/button";
15
+ import { cva } from "class-variance-authority";
16
+ import { jsx } from "react/jsx-runtime";
17
+ var buttonVariants = cva(
18
+ [
19
+ "inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium",
20
+ "transform-gpu transition-[color,background-color,border-color,box-shadow,opacity,transform] duration-150 ease-smooth",
21
+ "motion-reduce:transition-none",
22
+ "disabled:status-disabled",
23
+ "focus-visible:focus-ring",
24
+ "[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
25
+ "shrink-0 group/button select-none no-highlight"
26
+ ],
27
+ {
28
+ variants: {
29
+ variant: {
30
+ default: [
31
+ // Base styles
32
+ "relative rounded-lg overflow-visible shadow-surface border border-primary dark:border-primary-dark",
33
+ "isolate text-primary-foreground [text-shadow:_0_1px_2px_oklch(0%_0_0_/_30%)]",
34
+ "[&>*]:relative [&>*]:z-[2]",
35
+ // Combined gradient layer with primary colors
36
+ "before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]",
37
+ "before:bg-gradient-to-br before:from-primary-light before:via-primary-middle before:to-primary-dark",
38
+ "before:dark:from-primary-light before:dark:via-primary-middle before:dark:to-primary-dark",
39
+ "before:z-[-1]",
40
+ // Additional outer border
41
+ "after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]",
42
+ "after:bg-gradient-to-br after:from-primary after:to-primary-dark",
43
+ "after:z-[-1] after:transition-opacity after:duration-200 after:opacity-40 after:motion-reduce:transition-none",
44
+ // Hover state
45
+ "hover-only:after:opacity-100 hover-only:transition-opacity hover-only:duration-200"
46
+ ].join(" "),
47
+ destructive: "bg-destructive text-destructive-foreground hover-only:hover:bg-destructive-hover",
48
+ outline: [
49
+ // Base styles
50
+ "relative rounded-lg overflow-visible shadow-field border",
51
+ "isolate text-foreground",
52
+ "[&>*]:relative [&>*]:z-[2]",
53
+ // Background layer
54
+ "before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]",
55
+ "before:bg-gradient-to-br before:from-border-light before:via-border before:to-border-dark/50",
56
+ "before:dark:from-border-light before:dark:to-border-dark",
57
+ "before:z-[-1]",
58
+ // Inner background layer
59
+ "after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]",
60
+ "after:bg-background",
61
+ "after:z-[-1]",
62
+ "after:transition-colors after:duration-200 after:ease-out after:motion-reduce:transition-none",
63
+ // Hover state
64
+ "hover-only:after:bg-muted"
65
+ ].join(" "),
66
+ secondary: "bg-secondary text-secondary-foreground hover-only:hover:bg-accent",
67
+ ghost: "hover-only:bg-accent hover-only:text-accent-foreground motion-safe:active:scale-100",
68
+ "primary-soft": "bg-primary-soft text-primary hover-only:hover:bg-primary-soft-hover",
69
+ "destructive-soft": "bg-destructive-soft text-destructive hover-only:hover:bg-destructive-soft-hover",
70
+ success: "bg-success text-success-foreground hover-only:hover:bg-success-hover",
71
+ warning: "bg-warning text-warning-foreground hover-only:hover:bg-warning-hover",
72
+ link: "dark:text-primary-light text-primary-dark underline-offset-4 hover-only:underline motion-safe:active:scale-100"
73
+ },
74
+ size: {
75
+ default: "h-9 gap-2 px-4 py-1 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 motion-safe:active:scale-[0.97]",
76
+ xs: "h-6 gap-1 rounded-lg px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3 motion-safe:active:scale-[0.985]",
77
+ sm: "h-8 gap-1.5 rounded-lg px-3 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 motion-safe:active:scale-[0.98]",
78
+ lg: "h-10 gap-2 rounded-lg px-8 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 motion-safe:active:scale-[0.96]",
79
+ icon: "size-9 motion-safe:active:scale-[0.97]",
80
+ "icon-xs": "size-6 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.985]",
81
+ "icon-sm": "size-8 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.98]",
82
+ "icon-lg": "size-10 motion-safe:active:scale-[0.96]"
83
+ }
84
+ },
85
+ defaultVariants: {
86
+ variant: "default",
87
+ size: "default"
88
+ }
89
+ }
90
+ );
91
+ function Button({
92
+ className,
93
+ variant = "default",
94
+ size = "default",
95
+ isPending,
96
+ nativeButton,
97
+ render,
98
+ ...props
99
+ }) {
100
+ return /* @__PURE__ */ jsx(
101
+ ButtonPrimitive,
102
+ {
103
+ "data-slot": "button",
104
+ "data-pending": isPending || void 0,
105
+ "aria-disabled": isPending || void 0,
106
+ nativeButton: nativeButton ?? (render ? false : void 0),
107
+ render,
108
+ className: cn(
109
+ buttonVariants({ variant, size }),
110
+ isPending && "status-pending",
111
+ className
112
+ ),
113
+ ...props
114
+ }
115
+ );
116
+ }
117
+
118
+ // src/components/alert-dialog.tsx
119
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
120
+ function AlertDialog({ ...props }) {
121
+ return /* @__PURE__ */ jsx2(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
122
+ }
123
+ function AlertDialogTrigger({ ...props }) {
124
+ return /* @__PURE__ */ jsx2(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
125
+ }
126
+ function AlertDialogPortal({ ...props }) {
127
+ return /* @__PURE__ */ jsx2(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
128
+ }
129
+ function AlertDialogOverlay({
130
+ className,
131
+ ...props
132
+ }) {
133
+ return /* @__PURE__ */ jsx2(
134
+ AlertDialogPrimitive.Backdrop,
135
+ {
136
+ "data-slot": "alert-dialog-overlay",
137
+ className: cn(
138
+ "data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-backdrop duration-200 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50 transition motion-reduce:animate-none motion-reduce:transition-none",
139
+ className
140
+ ),
141
+ ...props
142
+ }
143
+ );
144
+ }
145
+ function AlertDialogContent({
146
+ className,
147
+ size = "default",
148
+ ...props
149
+ }) {
150
+ return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
151
+ /* @__PURE__ */ jsx2(AlertDialogOverlay, {}),
152
+ /* @__PURE__ */ jsx2(
153
+ AlertDialogPrimitive.Popup,
154
+ {
155
+ "data-slot": "alert-dialog-content",
156
+ "data-size": size,
157
+ className: cn(
158
+ "bg-overlay text-overlay-foreground shadow-overlay data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-[0.98] data-open:zoom-in-[1.02] ring-border-light gap-6 rounded-xl p-6 ring-1 duration-200 ease-out-fluid data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none transition data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform] motion-reduce:animate-none motion-reduce:transition-none",
159
+ className
160
+ ),
161
+ ...props
162
+ }
163
+ )
164
+ ] });
165
+ }
166
+ function AlertDialogHeader({
167
+ className,
168
+ ...props
169
+ }) {
170
+ return /* @__PURE__ */ jsx2(
171
+ "div",
172
+ {
173
+ "data-slot": "alert-dialog-header",
174
+ className: cn(
175
+ "grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
176
+ className
177
+ ),
178
+ ...props
179
+ }
180
+ );
181
+ }
182
+ function AlertDialogFooter({
183
+ className,
184
+ ...props
185
+ }) {
186
+ return /* @__PURE__ */ jsx2(
187
+ "div",
188
+ {
189
+ "data-slot": "alert-dialog-footer",
190
+ className: cn(
191
+ "flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
192
+ className
193
+ ),
194
+ ...props
195
+ }
196
+ );
197
+ }
198
+ function AlertDialogMedia({
199
+ className,
200
+ ...props
201
+ }) {
202
+ return /* @__PURE__ */ jsx2(
203
+ "div",
204
+ {
205
+ "data-slot": "alert-dialog-media",
206
+ className: cn(
207
+ "bg-surface-secondary mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
208
+ className
209
+ ),
210
+ ...props
211
+ }
212
+ );
213
+ }
214
+ function AlertDialogTitle({
215
+ className,
216
+ ...props
217
+ }) {
218
+ return /* @__PURE__ */ jsx2(
219
+ AlertDialogPrimitive.Title,
220
+ {
221
+ "data-slot": "alert-dialog-title",
222
+ className: cn(
223
+ "text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
224
+ className
225
+ ),
226
+ ...props
227
+ }
228
+ );
229
+ }
230
+ function AlertDialogDescription({
231
+ className,
232
+ ...props
233
+ }) {
234
+ return /* @__PURE__ */ jsx2(
235
+ AlertDialogPrimitive.Description,
236
+ {
237
+ "data-slot": "alert-dialog-description",
238
+ className: cn(
239
+ "text-muted-foreground *:[a]:hover-only:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",
240
+ className
241
+ ),
242
+ ...props
243
+ }
244
+ );
245
+ }
246
+ function AlertDialogAction({
247
+ className,
248
+ ...props
249
+ }) {
250
+ return /* @__PURE__ */ jsx2(
251
+ Button,
252
+ {
253
+ "data-slot": "alert-dialog-action",
254
+ className: cn(className),
255
+ ...props
256
+ }
257
+ );
258
+ }
259
+ function AlertDialogCancel({
260
+ className,
261
+ variant = "outline",
262
+ size = "default",
263
+ ...props
264
+ }) {
265
+ return /* @__PURE__ */ jsx2(
266
+ AlertDialogPrimitive.Close,
267
+ {
268
+ "data-slot": "alert-dialog-cancel",
269
+ className: cn(className),
270
+ render: /* @__PURE__ */ jsx2(Button, { variant, size }),
271
+ ...props
272
+ }
273
+ );
274
+ }
275
+ export {
276
+ AlertDialog,
277
+ AlertDialogAction,
278
+ AlertDialogCancel,
279
+ AlertDialogContent,
280
+ AlertDialogDescription,
281
+ AlertDialogFooter,
282
+ AlertDialogHeader,
283
+ AlertDialogMedia,
284
+ AlertDialogOverlay,
285
+ AlertDialogPortal,
286
+ AlertDialogTitle,
287
+ AlertDialogTrigger
288
+ };
289
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/alert-dialog.tsx","../../src/lib/utils.ts","../../src/components/button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n );\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-backdrop duration-200 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50 transition motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\";\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"bg-overlay text-overlay-foreground shadow-overlay data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-[0.98] data-open:zoom-in-[1.02] ring-border-light gap-6 rounded-xl p-6 ring-1 duration-200 ease-out-fluid data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none transition data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform] motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"bg-surface-secondary mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-muted-foreground *:[a]:hover-only:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n\nexport type AlertDialogProps = React.ComponentProps<typeof AlertDialog>;\nexport type AlertDialogContentProps = React.ComponentProps<\n typeof AlertDialogContent\n>;\nexport type AlertDialogTriggerProps = React.ComponentProps<\n typeof AlertDialogTrigger\n>;\nexport type AlertDialogActionProps = React.ComponentProps<\n typeof AlertDialogAction\n>;\nexport type AlertDialogCancelProps = React.ComponentProps<\n typeof AlertDialogCancel\n>;\n","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 { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst buttonVariants = cva(\n [\n \"inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium\",\n \"transform-gpu transition-[color,background-color,border-color,box-shadow,opacity,transform] duration-150 ease-smooth\",\n \"motion-reduce:transition-none\",\n \"disabled:status-disabled\",\n \"focus-visible:focus-ring\",\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n \"shrink-0 group/button select-none no-highlight\",\n ],\n {\n variants: {\n variant: {\n default: [\n // Base styles\n \"relative rounded-lg overflow-visible shadow-surface border border-primary dark:border-primary-dark\",\n \"isolate text-primary-foreground [text-shadow:_0_1px_2px_oklch(0%_0_0_/_30%)]\",\n \"[&>*]:relative [&>*]:z-[2]\",\n // Combined gradient layer with primary colors\n \"before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]\",\n \"before:bg-gradient-to-br before:from-primary-light before:via-primary-middle before:to-primary-dark\",\n \"before:dark:from-primary-light before:dark:via-primary-middle before:dark:to-primary-dark\",\n \"before:z-[-1]\",\n // Additional outer border\n \"after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]\",\n \"after:bg-gradient-to-br after:from-primary after:to-primary-dark\",\n \"after:z-[-1] after:transition-opacity after:duration-200 after:opacity-40 after:motion-reduce:transition-none\",\n // Hover state\n \"hover-only:after:opacity-100 hover-only:transition-opacity hover-only:duration-200\",\n ].join(\" \"),\n destructive:\n \"bg-destructive text-destructive-foreground hover-only:hover:bg-destructive-hover\",\n outline: [\n // Base styles\n \"relative rounded-lg overflow-visible shadow-field border\",\n \"isolate text-foreground\",\n \"[&>*]:relative [&>*]:z-[2]\",\n // Background layer\n \"before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]\",\n \"before:bg-gradient-to-br before:from-border-light before:via-border before:to-border-dark/50\",\n \"before:dark:from-border-light before:dark:to-border-dark\",\n \"before:z-[-1]\",\n // Inner background layer\n \"after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]\",\n \"after:bg-background\",\n \"after:z-[-1]\",\n \"after:transition-colors after:duration-200 after:ease-out after:motion-reduce:transition-none\",\n // Hover state\n \"hover-only:after:bg-muted\",\n ].join(\" \"),\n secondary:\n \"bg-secondary text-secondary-foreground hover-only:hover:bg-accent\",\n ghost:\n \"hover-only:bg-accent hover-only:text-accent-foreground motion-safe:active:scale-100\",\n \"primary-soft\":\n \"bg-primary-soft text-primary hover-only:hover:bg-primary-soft-hover\",\n \"destructive-soft\":\n \"bg-destructive-soft text-destructive hover-only:hover:bg-destructive-soft-hover\",\n success:\n \"bg-success text-success-foreground hover-only:hover:bg-success-hover\",\n warning:\n \"bg-warning text-warning-foreground hover-only:hover:bg-warning-hover\",\n link: \"dark:text-primary-light text-primary-dark underline-offset-4 hover-only:underline motion-safe:active:scale-100\",\n },\n size: {\n default:\n \"h-9 gap-2 px-4 py-1 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 motion-safe:active:scale-[0.97]\",\n xs: \"h-6 gap-1 rounded-lg px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3 motion-safe:active:scale-[0.985]\",\n sm: \"h-8 gap-1.5 rounded-lg px-3 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 motion-safe:active:scale-[0.98]\",\n lg: \"h-10 gap-2 rounded-lg px-8 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 motion-safe:active:scale-[0.96]\",\n icon: \"size-9 motion-safe:active:scale-[0.97]\",\n \"icon-xs\":\n \"size-6 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.985]\",\n \"icon-sm\":\n \"size-8 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.98]\",\n \"icon-lg\": \"size-10 motion-safe:active:scale-[0.96]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n isPending,\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props &\n VariantProps<typeof buttonVariants> & { isPending?: boolean }) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n data-pending={isPending || undefined}\n aria-disabled={isPending || undefined}\n nativeButton={nativeButton ?? (render ? false : undefined)}\n render={render}\n className={cn(\n buttonVariants({ variant, size }),\n isPending && \"status-pending\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n\nexport type ButtonProps = React.ComponentProps<typeof Button>;\n"],"mappings":"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","names":["jsx"]}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/components/alert.tsx
22
+ var alert_exports = {};
23
+ __export(alert_exports, {
24
+ Alert: () => Alert,
25
+ AlertDescription: () => AlertDescription,
26
+ AlertTitle: () => AlertTitle,
27
+ alertVariants: () => alertVariants
28
+ });
29
+ module.exports = __toCommonJS(alert_exports);
30
+ var import_class_variance_authority = require("class-variance-authority");
31
+
32
+ // src/lib/utils.ts
33
+ var import_clsx = require("clsx");
34
+ var import_tailwind_merge = require("tailwind-merge");
35
+ function cn(...inputs) {
36
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
37
+ }
38
+
39
+ // src/components/alert.tsx
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ var alertVariants = (0, import_class_variance_authority.cva)(
42
+ [
43
+ "relative flex w-full gap-3 rounded-lg border p-4 text-sm",
44
+ "[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5"
45
+ ],
46
+ {
47
+ variants: {
48
+ variant: {
49
+ default: "bg-background text-foreground border-border",
50
+ destructive: "bg-destructive/5 text-destructive border-destructive/20 [&>svg]:text-destructive",
51
+ success: "bg-success/5 text-success border-success/20 [&>svg]:text-success",
52
+ warning: "bg-warning/5 text-warning border-warning/20 [&>svg]:text-warning"
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ variant: "default"
57
+ }
58
+ }
59
+ );
60
+ function Alert({
61
+ className,
62
+ variant,
63
+ ...props
64
+ }) {
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
66
+ "div",
67
+ {
68
+ "data-slot": "alert",
69
+ role: "alert",
70
+ className: cn(alertVariants({ variant }), className),
71
+ ...props
72
+ }
73
+ );
74
+ }
75
+ function AlertTitle({ className, ...props }) {
76
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
77
+ "h5",
78
+ {
79
+ "data-slot": "alert-title",
80
+ className: cn("font-medium leading-none tracking-tight", className),
81
+ ...props
82
+ }
83
+ );
84
+ }
85
+ function AlertDescription({
86
+ className,
87
+ ...props
88
+ }) {
89
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
+ "div",
91
+ {
92
+ "data-slot": "alert-description",
93
+ className: cn("text-sm [&_p]:leading-relaxed", className),
94
+ ...props
95
+ }
96
+ );
97
+ }
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {
100
+ Alert,
101
+ AlertDescription,
102
+ AlertTitle,
103
+ alertVariants
104
+ });
105
+ //# sourceMappingURL=alert.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/alert.tsx","../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst alertVariants = cva(\n [\n \"relative flex w-full gap-3 rounded-lg border p-4 text-sm\",\n \"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5\",\n ],\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground border-border\",\n destructive:\n \"bg-destructive/5 text-destructive border-destructive/20 [&>svg]:text-destructive\",\n success:\n \"bg-success/5 text-success border-success/20 [&>svg]:text-success\",\n warning:\n \"bg-warning/5 text-warning border-warning/20 [&>svg]:text-warning\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, alertVariants };\n\nexport type AlertProps = React.ComponentProps<typeof Alert>;\nexport type AlertTitleProps = React.ComponentProps<typeof AlertTitle>;\nexport type AlertDescriptionProps = React.ComponentProps<\n typeof AlertDescription\n>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sCAAuC;;;ACHvC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD+BI;AA7BJ,IAAM,oBAAgB;AAAA,EACpB;AAAA,IACE;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,QACF,SACE;AAAA,QACF,SACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,SAAS,MAAM;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqE;AACnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MAClD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAA+B;AACvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,2CAA2C,SAAS;AAAA,MACjE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,17 @@
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 alertVariants: (props?: ({
7
+ variant?: "default" | "destructive" | "success" | "warning" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime.JSX.Element;
10
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"h5">): react_jsx_runtime.JSX.Element;
11
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
12
+
13
+ type AlertProps = React.ComponentProps<typeof Alert>;
14
+ type AlertTitleProps = React.ComponentProps<typeof AlertTitle>;
15
+ type AlertDescriptionProps = React.ComponentProps<typeof AlertDescription>;
16
+
17
+ export { Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps, alertVariants };
@@ -0,0 +1,17 @@
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 alertVariants: (props?: ({
7
+ variant?: "default" | "destructive" | "success" | "warning" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime.JSX.Element;
10
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"h5">): react_jsx_runtime.JSX.Element;
11
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
12
+
13
+ type AlertProps = React.ComponentProps<typeof Alert>;
14
+ type AlertTitleProps = React.ComponentProps<typeof AlertTitle>;
15
+ type AlertDescriptionProps = React.ComponentProps<typeof AlertDescription>;
16
+
17
+ export { Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps, alertVariants };