brutx-ui-vue 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 (401) hide show
  1. package/README.md +74 -0
  2. package/dist/Calendar.vue_vue_type_script_setup_true_lang-CNLD3s1_.js +1 -0
  3. package/dist/Calendar.vue_vue_type_script_setup_true_lang-D1BMlIY0.mjs +60 -0
  4. package/dist/SubmitButton.vue_vue_type_script_setup_true_lang-B0LM_ypm.mjs +215 -0
  5. package/dist/SubmitButton.vue_vue_type_script_setup_true_lang-GikFv16v.js +26 -0
  6. package/dist/brutalism-plugin.d.ts +1 -0
  7. package/dist/brutalism-plugin.js +1 -0
  8. package/dist/brutalism-plugin.mjs +185 -0
  9. package/dist/calendar.d.ts +2 -0
  10. package/dist/calendar.d.ts.map +1 -0
  11. package/dist/calendar.js +1 -0
  12. package/dist/calendar.mjs +4 -0
  13. package/dist/components/Alert.vue.d.ts +28 -0
  14. package/dist/components/Alert.vue.d.ts.map +1 -0
  15. package/dist/components/AlertDescription.vue.d.ts +21 -0
  16. package/dist/components/AlertDescription.vue.d.ts.map +1 -0
  17. package/dist/components/AlertDialogAction.vue.d.ts +28 -0
  18. package/dist/components/AlertDialogAction.vue.d.ts.map +1 -0
  19. package/dist/components/AlertDialogCancel.vue.d.ts +21 -0
  20. package/dist/components/AlertDialogCancel.vue.d.ts.map +1 -0
  21. package/dist/components/AlertDialogContent.vue.d.ts +21 -0
  22. package/dist/components/AlertDialogContent.vue.d.ts.map +1 -0
  23. package/dist/components/AlertDialogDescription.vue.d.ts +21 -0
  24. package/dist/components/AlertDialogDescription.vue.d.ts.map +1 -0
  25. package/dist/components/AlertDialogFooter.vue.d.ts +21 -0
  26. package/dist/components/AlertDialogFooter.vue.d.ts.map +1 -0
  27. package/dist/components/AlertDialogHeader.vue.d.ts +21 -0
  28. package/dist/components/AlertDialogHeader.vue.d.ts.map +1 -0
  29. package/dist/components/AlertDialogTitle.vue.d.ts +21 -0
  30. package/dist/components/AlertDialogTitle.vue.d.ts.map +1 -0
  31. package/dist/components/AlertTitle.vue.d.ts +21 -0
  32. package/dist/components/AlertTitle.vue.d.ts.map +1 -0
  33. package/dist/components/AuthCard.vue.d.ts +22 -0
  34. package/dist/components/AuthCard.vue.d.ts.map +1 -0
  35. package/dist/components/Avatar.vue.d.ts +30 -0
  36. package/dist/components/Avatar.vue.d.ts.map +1 -0
  37. package/dist/components/AvatarFallback.vue.d.ts +21 -0
  38. package/dist/components/AvatarFallback.vue.d.ts.map +1 -0
  39. package/dist/components/AvatarImage.vue.d.ts +8 -0
  40. package/dist/components/AvatarImage.vue.d.ts.map +1 -0
  41. package/dist/components/Badge.vue.d.ts +30 -0
  42. package/dist/components/Badge.vue.d.ts.map +1 -0
  43. package/dist/components/BarsSpinner.vue.d.ts +17 -0
  44. package/dist/components/BarsSpinner.vue.d.ts.map +1 -0
  45. package/dist/components/BlockSpinner.vue.d.ts +17 -0
  46. package/dist/components/BlockSpinner.vue.d.ts.map +1 -0
  47. package/dist/components/BrutalistHero.vue.d.ts +22 -0
  48. package/dist/components/BrutalistHero.vue.d.ts.map +1 -0
  49. package/dist/components/Button.vue.d.ts +36 -0
  50. package/dist/components/Button.vue.d.ts.map +1 -0
  51. package/dist/components/Calendar.vue.d.ts +18 -0
  52. package/dist/components/Calendar.vue.d.ts.map +1 -0
  53. package/dist/components/Card.vue.d.ts +30 -0
  54. package/dist/components/Card.vue.d.ts.map +1 -0
  55. package/dist/components/CardContent.vue.d.ts +21 -0
  56. package/dist/components/CardContent.vue.d.ts.map +1 -0
  57. package/dist/components/CardDescription.vue.d.ts +21 -0
  58. package/dist/components/CardDescription.vue.d.ts.map +1 -0
  59. package/dist/components/CardFooter.vue.d.ts +21 -0
  60. package/dist/components/CardFooter.vue.d.ts.map +1 -0
  61. package/dist/components/CardHeader.vue.d.ts +21 -0
  62. package/dist/components/CardHeader.vue.d.ts.map +1 -0
  63. package/dist/components/CardTitle.vue.d.ts +21 -0
  64. package/dist/components/CardTitle.vue.d.ts.map +1 -0
  65. package/dist/components/Checkbox.vue.d.ts +7 -0
  66. package/dist/components/Checkbox.vue.d.ts.map +1 -0
  67. package/dist/components/Combobox.vue.d.ts +24 -0
  68. package/dist/components/Combobox.vue.d.ts.map +1 -0
  69. package/dist/components/ComboboxMulti.vue.d.ts +26 -0
  70. package/dist/components/ComboboxMulti.vue.d.ts.map +1 -0
  71. package/dist/components/Command.vue.d.ts +21 -0
  72. package/dist/components/Command.vue.d.ts.map +1 -0
  73. package/dist/components/CommandDialog.vue.d.ts +32 -0
  74. package/dist/components/CommandDialog.vue.d.ts.map +1 -0
  75. package/dist/components/CommandEmpty.vue.d.ts +21 -0
  76. package/dist/components/CommandEmpty.vue.d.ts.map +1 -0
  77. package/dist/components/CommandGroup.vue.d.ts +22 -0
  78. package/dist/components/CommandGroup.vue.d.ts.map +1 -0
  79. package/dist/components/CommandInput.vue.d.ts +16 -0
  80. package/dist/components/CommandInput.vue.d.ts.map +1 -0
  81. package/dist/components/CommandItem.vue.d.ts +27 -0
  82. package/dist/components/CommandItem.vue.d.ts.map +1 -0
  83. package/dist/components/CommandList.vue.d.ts +21 -0
  84. package/dist/components/CommandList.vue.d.ts.map +1 -0
  85. package/dist/components/CommandSeparator.vue.d.ts +6 -0
  86. package/dist/components/CommandSeparator.vue.d.ts.map +1 -0
  87. package/dist/components/CommandShortcut.vue.d.ts +21 -0
  88. package/dist/components/CommandShortcut.vue.d.ts.map +1 -0
  89. package/dist/components/DashboardShell.vue.d.ts +31 -0
  90. package/dist/components/DashboardShell.vue.d.ts.map +1 -0
  91. package/dist/components/DashboardStats.vue.d.ts +26 -0
  92. package/dist/components/DashboardStats.vue.d.ts.map +1 -0
  93. package/dist/components/DialogContent.vue.d.ts +25 -0
  94. package/dist/components/DialogContent.vue.d.ts.map +1 -0
  95. package/dist/components/DialogDescription.vue.d.ts +21 -0
  96. package/dist/components/DialogDescription.vue.d.ts.map +1 -0
  97. package/dist/components/DialogFooter.vue.d.ts +21 -0
  98. package/dist/components/DialogFooter.vue.d.ts.map +1 -0
  99. package/dist/components/DialogHeader.vue.d.ts +21 -0
  100. package/dist/components/DialogHeader.vue.d.ts.map +1 -0
  101. package/dist/components/DialogOverlay.vue.d.ts +6 -0
  102. package/dist/components/DialogOverlay.vue.d.ts.map +1 -0
  103. package/dist/components/DialogTitle.vue.d.ts +21 -0
  104. package/dist/components/DialogTitle.vue.d.ts.map +1 -0
  105. package/dist/components/DotsSpinner.vue.d.ts +17 -0
  106. package/dist/components/DotsSpinner.vue.d.ts.map +1 -0
  107. package/dist/components/DropdownMenuCheckboxItem.vue.d.ts +22 -0
  108. package/dist/components/DropdownMenuCheckboxItem.vue.d.ts.map +1 -0
  109. package/dist/components/DropdownMenuContent.vue.d.ts +25 -0
  110. package/dist/components/DropdownMenuContent.vue.d.ts.map +1 -0
  111. package/dist/components/DropdownMenuItem.vue.d.ts +22 -0
  112. package/dist/components/DropdownMenuItem.vue.d.ts.map +1 -0
  113. package/dist/components/DropdownMenuLabel.vue.d.ts +22 -0
  114. package/dist/components/DropdownMenuLabel.vue.d.ts.map +1 -0
  115. package/dist/components/DropdownMenuRadioItem.vue.d.ts +22 -0
  116. package/dist/components/DropdownMenuRadioItem.vue.d.ts.map +1 -0
  117. package/dist/components/DropdownMenuSeparator.vue.d.ts +6 -0
  118. package/dist/components/DropdownMenuSeparator.vue.d.ts.map +1 -0
  119. package/dist/components/DropdownMenuShortcut.vue.d.ts +21 -0
  120. package/dist/components/DropdownMenuShortcut.vue.d.ts.map +1 -0
  121. package/dist/components/DropdownMenuSubContent.vue.d.ts +21 -0
  122. package/dist/components/DropdownMenuSubContent.vue.d.ts.map +1 -0
  123. package/dist/components/DropdownMenuSubTrigger.vue.d.ts +22 -0
  124. package/dist/components/DropdownMenuSubTrigger.vue.d.ts.map +1 -0
  125. package/dist/components/EmptyState.vue.d.ts +21 -0
  126. package/dist/components/EmptyState.vue.d.ts.map +1 -0
  127. package/dist/components/Form.vue.d.ts +27 -0
  128. package/dist/components/Form.vue.d.ts.map +1 -0
  129. package/dist/components/FormControl.vue.d.ts +25 -0
  130. package/dist/components/FormControl.vue.d.ts.map +1 -0
  131. package/dist/components/FormDescription.vue.d.ts +21 -0
  132. package/dist/components/FormDescription.vue.d.ts.map +1 -0
  133. package/dist/components/FormField.vue.d.ts +21 -0
  134. package/dist/components/FormField.vue.d.ts.map +1 -0
  135. package/dist/components/FormItem.vue.d.ts +21 -0
  136. package/dist/components/FormItem.vue.d.ts.map +1 -0
  137. package/dist/components/FormLabel.vue.d.ts +21 -0
  138. package/dist/components/FormLabel.vue.d.ts.map +1 -0
  139. package/dist/components/FormMessage.vue.d.ts +6 -0
  140. package/dist/components/FormMessage.vue.d.ts.map +1 -0
  141. package/dist/components/Input.vue.d.ts +27 -0
  142. package/dist/components/Input.vue.d.ts.map +1 -0
  143. package/dist/components/Label.vue.d.ts +26 -0
  144. package/dist/components/Label.vue.d.ts.map +1 -0
  145. package/dist/components/Pagination.vue.d.ts +27 -0
  146. package/dist/components/Pagination.vue.d.ts.map +1 -0
  147. package/dist/components/PopoverContent.vue.d.ts +27 -0
  148. package/dist/components/PopoverContent.vue.d.ts.map +1 -0
  149. package/dist/components/PricingSection.vue.d.ts +23 -0
  150. package/dist/components/PricingSection.vue.d.ts.map +1 -0
  151. package/dist/components/Progress.vue.d.ts +12 -0
  152. package/dist/components/Progress.vue.d.ts.map +1 -0
  153. package/dist/components/RadioGroup.vue.d.ts +27 -0
  154. package/dist/components/RadioGroup.vue.d.ts.map +1 -0
  155. package/dist/components/RadioGroupItem.vue.d.ts +8 -0
  156. package/dist/components/RadioGroupItem.vue.d.ts.map +1 -0
  157. package/dist/components/SaaSPricing.vue.d.ts +28 -0
  158. package/dist/components/SaaSPricing.vue.d.ts.map +1 -0
  159. package/dist/components/ScrollArea.vue.d.ts +21 -0
  160. package/dist/components/ScrollArea.vue.d.ts.map +1 -0
  161. package/dist/components/ScrollBar.vue.d.ts +10 -0
  162. package/dist/components/ScrollBar.vue.d.ts.map +1 -0
  163. package/dist/components/SelectContent.vue.d.ts +25 -0
  164. package/dist/components/SelectContent.vue.d.ts.map +1 -0
  165. package/dist/components/SelectItem.vue.d.ts +23 -0
  166. package/dist/components/SelectItem.vue.d.ts.map +1 -0
  167. package/dist/components/SelectLabel.vue.d.ts +21 -0
  168. package/dist/components/SelectLabel.vue.d.ts.map +1 -0
  169. package/dist/components/SelectScrollDownButton.vue.d.ts +6 -0
  170. package/dist/components/SelectScrollDownButton.vue.d.ts.map +1 -0
  171. package/dist/components/SelectScrollUpButton.vue.d.ts +6 -0
  172. package/dist/components/SelectScrollUpButton.vue.d.ts.map +1 -0
  173. package/dist/components/SelectSeparator.vue.d.ts +6 -0
  174. package/dist/components/SelectSeparator.vue.d.ts.map +1 -0
  175. package/dist/components/SelectTrigger.vue.d.ts +21 -0
  176. package/dist/components/SelectTrigger.vue.d.ts.map +1 -0
  177. package/dist/components/Separator.vue.d.ts +30 -0
  178. package/dist/components/Separator.vue.d.ts.map +1 -0
  179. package/dist/components/SheetContent.vue.d.ts +28 -0
  180. package/dist/components/SheetContent.vue.d.ts.map +1 -0
  181. package/dist/components/SheetDescription.vue.d.ts +21 -0
  182. package/dist/components/SheetDescription.vue.d.ts.map +1 -0
  183. package/dist/components/SheetFooter.vue.d.ts +21 -0
  184. package/dist/components/SheetFooter.vue.d.ts.map +1 -0
  185. package/dist/components/SheetHeader.vue.d.ts +21 -0
  186. package/dist/components/SheetHeader.vue.d.ts.map +1 -0
  187. package/dist/components/SheetTitle.vue.d.ts +21 -0
  188. package/dist/components/SheetTitle.vue.d.ts.map +1 -0
  189. package/dist/components/Skeleton.vue.d.ts +28 -0
  190. package/dist/components/Skeleton.vue.d.ts.map +1 -0
  191. package/dist/components/SkeletonAvatar.vue.d.ts +15 -0
  192. package/dist/components/SkeletonAvatar.vue.d.ts.map +1 -0
  193. package/dist/components/SkeletonCard.vue.d.ts +13 -0
  194. package/dist/components/SkeletonCard.vue.d.ts.map +1 -0
  195. package/dist/components/SkeletonTable.vue.d.ts +17 -0
  196. package/dist/components/SkeletonTable.vue.d.ts.map +1 -0
  197. package/dist/components/SkeletonText.vue.d.ts +17 -0
  198. package/dist/components/SkeletonText.vue.d.ts.map +1 -0
  199. package/dist/components/Slider.vue.d.ts +23 -0
  200. package/dist/components/Slider.vue.d.ts.map +1 -0
  201. package/dist/components/Spinner.vue.d.ts +17 -0
  202. package/dist/components/Spinner.vue.d.ts.map +1 -0
  203. package/dist/components/SubmitButton.vue.d.ts +36 -0
  204. package/dist/components/SubmitButton.vue.d.ts.map +1 -0
  205. package/dist/components/Switch.vue.d.ts +13 -0
  206. package/dist/components/Switch.vue.d.ts.map +1 -0
  207. package/dist/components/Table.vue.d.ts +21 -0
  208. package/dist/components/Table.vue.d.ts.map +1 -0
  209. package/dist/components/TableBody.vue.d.ts +21 -0
  210. package/dist/components/TableBody.vue.d.ts.map +1 -0
  211. package/dist/components/TableCaption.vue.d.ts +21 -0
  212. package/dist/components/TableCaption.vue.d.ts.map +1 -0
  213. package/dist/components/TableCell.vue.d.ts +21 -0
  214. package/dist/components/TableCell.vue.d.ts.map +1 -0
  215. package/dist/components/TableFooter.vue.d.ts +21 -0
  216. package/dist/components/TableFooter.vue.d.ts.map +1 -0
  217. package/dist/components/TableHead.vue.d.ts +21 -0
  218. package/dist/components/TableHead.vue.d.ts.map +1 -0
  219. package/dist/components/TableHeader.vue.d.ts +21 -0
  220. package/dist/components/TableHeader.vue.d.ts.map +1 -0
  221. package/dist/components/TableRow.vue.d.ts +21 -0
  222. package/dist/components/TableRow.vue.d.ts.map +1 -0
  223. package/dist/components/TabsContent.vue.d.ts +22 -0
  224. package/dist/components/TabsContent.vue.d.ts.map +1 -0
  225. package/dist/components/TabsList.vue.d.ts +21 -0
  226. package/dist/components/TabsList.vue.d.ts.map +1 -0
  227. package/dist/components/TabsTrigger.vue.d.ts +23 -0
  228. package/dist/components/TabsTrigger.vue.d.ts.map +1 -0
  229. package/dist/components/Textarea.vue.d.ts +25 -0
  230. package/dist/components/Textarea.vue.d.ts.map +1 -0
  231. package/dist/components/Toast.vue.d.ts +40 -0
  232. package/dist/components/Toast.vue.d.ts.map +1 -0
  233. package/dist/components/ToastContainer.vue.d.ts +25 -0
  234. package/dist/components/ToastContainer.vue.d.ts.map +1 -0
  235. package/dist/components/Toggle.vue.d.ts +38 -0
  236. package/dist/components/Toggle.vue.d.ts.map +1 -0
  237. package/dist/components/ToggleGroup.vue.d.ts +40 -0
  238. package/dist/components/ToggleGroup.vue.d.ts.map +1 -0
  239. package/dist/components/ToggleGroupItem.vue.d.ts +28 -0
  240. package/dist/components/ToggleGroupItem.vue.d.ts.map +1 -0
  241. package/dist/components/TooltipContent.vue.d.ts +25 -0
  242. package/dist/components/TooltipContent.vue.d.ts.map +1 -0
  243. package/dist/components/WaitlistPage.vue.d.ts +20 -0
  244. package/dist/components/WaitlistPage.vue.d.ts.map +1 -0
  245. package/dist/components/accessibility.test.d.ts +2 -0
  246. package/dist/components/accessibility.test.d.ts.map +1 -0
  247. package/dist/components/alert-dialog.test.d.ts +2 -0
  248. package/dist/components/alert-dialog.test.d.ts.map +1 -0
  249. package/dist/components/alert-variants.d.ts +4 -0
  250. package/dist/components/alert-variants.d.ts.map +1 -0
  251. package/dist/components/alert.test.d.ts +2 -0
  252. package/dist/components/alert.test.d.ts.map +1 -0
  253. package/dist/components/auth-card.test.d.ts +2 -0
  254. package/dist/components/auth-card.test.d.ts.map +1 -0
  255. package/dist/components/avatar-variants.d.ts +5 -0
  256. package/dist/components/avatar-variants.d.ts.map +1 -0
  257. package/dist/components/avatar.test.d.ts +2 -0
  258. package/dist/components/avatar.test.d.ts.map +1 -0
  259. package/dist/components/badge-variants.d.ts +5 -0
  260. package/dist/components/badge-variants.d.ts.map +1 -0
  261. package/dist/components/badge.test.d.ts +2 -0
  262. package/dist/components/badge.test.d.ts.map +1 -0
  263. package/dist/components/brutalist-hero.test.d.ts +2 -0
  264. package/dist/components/brutalist-hero.test.d.ts.map +1 -0
  265. package/dist/components/button-variants.d.ts +5 -0
  266. package/dist/components/button-variants.d.ts.map +1 -0
  267. package/dist/components/button.test.d.ts +2 -0
  268. package/dist/components/button.test.d.ts.map +1 -0
  269. package/dist/components/calendar.test.d.ts +2 -0
  270. package/dist/components/calendar.test.d.ts.map +1 -0
  271. package/dist/components/card-variants.d.ts +5 -0
  272. package/dist/components/card-variants.d.ts.map +1 -0
  273. package/dist/components/card.test.d.ts +2 -0
  274. package/dist/components/card.test.d.ts.map +1 -0
  275. package/dist/components/checkbox.test.d.ts +2 -0
  276. package/dist/components/checkbox.test.d.ts.map +1 -0
  277. package/dist/components/combobox-types.d.ts +6 -0
  278. package/dist/components/combobox-types.d.ts.map +1 -0
  279. package/dist/components/combobox.test.d.ts +2 -0
  280. package/dist/components/combobox.test.d.ts.map +1 -0
  281. package/dist/components/command.test.d.ts +2 -0
  282. package/dist/components/command.test.d.ts.map +1 -0
  283. package/dist/components/dashboard-shell.test.d.ts +2 -0
  284. package/dist/components/dashboard-shell.test.d.ts.map +1 -0
  285. package/dist/components/dashboard-stats.test.d.ts +2 -0
  286. package/dist/components/dashboard-stats.test.d.ts.map +1 -0
  287. package/dist/components/dialog.test.d.ts +2 -0
  288. package/dist/components/dialog.test.d.ts.map +1 -0
  289. package/dist/components/dropdown-menu.test.d.ts +2 -0
  290. package/dist/components/dropdown-menu.test.d.ts.map +1 -0
  291. package/dist/components/empty-state.test.d.ts +2 -0
  292. package/dist/components/empty-state.test.d.ts.map +1 -0
  293. package/dist/components/form-context.d.ts +16 -0
  294. package/dist/components/form-context.d.ts.map +1 -0
  295. package/dist/components/form.test.d.ts +2 -0
  296. package/dist/components/form.test.d.ts.map +1 -0
  297. package/dist/components/input-variants.d.ts +5 -0
  298. package/dist/components/input-variants.d.ts.map +1 -0
  299. package/dist/components/input.test.d.ts +2 -0
  300. package/dist/components/input.test.d.ts.map +1 -0
  301. package/dist/components/label-variants.d.ts +4 -0
  302. package/dist/components/label-variants.d.ts.map +1 -0
  303. package/dist/components/label.test.d.ts +2 -0
  304. package/dist/components/label.test.d.ts.map +1 -0
  305. package/dist/components/pagination-variants.d.ts +9 -0
  306. package/dist/components/pagination-variants.d.ts.map +1 -0
  307. package/dist/components/pagination.test.d.ts +2 -0
  308. package/dist/components/pagination.test.d.ts.map +1 -0
  309. package/dist/components/popover.test.d.ts +2 -0
  310. package/dist/components/popover.test.d.ts.map +1 -0
  311. package/dist/components/pricing-section.test.d.ts +2 -0
  312. package/dist/components/pricing-section.test.d.ts.map +1 -0
  313. package/dist/components/progress.test.d.ts +2 -0
  314. package/dist/components/progress.test.d.ts.map +1 -0
  315. package/dist/components/radio-group.test.d.ts +2 -0
  316. package/dist/components/radio-group.test.d.ts.map +1 -0
  317. package/dist/components/saas-pricing.test.d.ts +2 -0
  318. package/dist/components/saas-pricing.test.d.ts.map +1 -0
  319. package/dist/components/scroll-area.test.d.ts +2 -0
  320. package/dist/components/scroll-area.test.d.ts.map +1 -0
  321. package/dist/components/select.test.d.ts +2 -0
  322. package/dist/components/select.test.d.ts.map +1 -0
  323. package/dist/components/separator-variants.d.ts +4 -0
  324. package/dist/components/separator-variants.d.ts.map +1 -0
  325. package/dist/components/separator.test.d.ts +2 -0
  326. package/dist/components/separator.test.d.ts.map +1 -0
  327. package/dist/components/sheet-variants.d.ts +4 -0
  328. package/dist/components/sheet-variants.d.ts.map +1 -0
  329. package/dist/components/sheet.test.d.ts +2 -0
  330. package/dist/components/sheet.test.d.ts.map +1 -0
  331. package/dist/components/skeleton-variants.d.ts +4 -0
  332. package/dist/components/skeleton-variants.d.ts.map +1 -0
  333. package/dist/components/skeleton.test.d.ts +2 -0
  334. package/dist/components/skeleton.test.d.ts.map +1 -0
  335. package/dist/components/slider.test.d.ts +2 -0
  336. package/dist/components/slider.test.d.ts.map +1 -0
  337. package/dist/components/spinner-variants.d.ts +14 -0
  338. package/dist/components/spinner-variants.d.ts.map +1 -0
  339. package/dist/components/spinner.test.d.ts +2 -0
  340. package/dist/components/spinner.test.d.ts.map +1 -0
  341. package/dist/components/submit-button.test.d.ts +2 -0
  342. package/dist/components/submit-button.test.d.ts.map +1 -0
  343. package/dist/components/switch.test.d.ts +2 -0
  344. package/dist/components/switch.test.d.ts.map +1 -0
  345. package/dist/components/table.test.d.ts +2 -0
  346. package/dist/components/table.test.d.ts.map +1 -0
  347. package/dist/components/tabs.test.d.ts +2 -0
  348. package/dist/components/tabs.test.d.ts.map +1 -0
  349. package/dist/components/textarea-variants.d.ts +5 -0
  350. package/dist/components/textarea-variants.d.ts.map +1 -0
  351. package/dist/components/textarea.test.d.ts +2 -0
  352. package/dist/components/textarea.test.d.ts.map +1 -0
  353. package/dist/components/toast-variants.d.ts +5 -0
  354. package/dist/components/toast-variants.d.ts.map +1 -0
  355. package/dist/components/toast.test.d.ts +2 -0
  356. package/dist/components/toast.test.d.ts.map +1 -0
  357. package/dist/components/toggle-group-key.d.ts +10 -0
  358. package/dist/components/toggle-group-key.d.ts.map +1 -0
  359. package/dist/components/toggle-group.test.d.ts +2 -0
  360. package/dist/components/toggle-group.test.d.ts.map +1 -0
  361. package/dist/components/toggle-variants.d.ts +5 -0
  362. package/dist/components/toggle-variants.d.ts.map +1 -0
  363. package/dist/components/toggle.test.d.ts +2 -0
  364. package/dist/components/toggle.test.d.ts.map +1 -0
  365. package/dist/components/tooltip.test.d.ts +2 -0
  366. package/dist/components/tooltip.test.d.ts.map +1 -0
  367. package/dist/components/waitlist-page.test.d.ts +2 -0
  368. package/dist/components/waitlist-page.test.d.ts.map +1 -0
  369. package/dist/composables/use-theme.test.d.ts +2 -0
  370. package/dist/composables/use-theme.test.d.ts.map +1 -0
  371. package/dist/composables/use-toast.test.d.ts +2 -0
  372. package/dist/composables/use-toast.test.d.ts.map +1 -0
  373. package/dist/composables/useTheme.d.ts +16 -0
  374. package/dist/composables/useTheme.d.ts.map +1 -0
  375. package/dist/composables/useToast.d.ts +41 -0
  376. package/dist/composables/useToast.d.ts.map +1 -0
  377. package/dist/hooks/index.d.ts +2 -0
  378. package/dist/hooks/index.d.ts.map +1 -0
  379. package/dist/hooks.d.ts +2 -0
  380. package/dist/hooks.js +1 -0
  381. package/dist/hooks.mjs +4 -0
  382. package/dist/index.d.ts +152 -0
  383. package/dist/index.d.ts.map +1 -0
  384. package/dist/index.js +136 -0
  385. package/dist/index.mjs +4726 -0
  386. package/dist/lib/test-utils.d.ts +10 -0
  387. package/dist/lib/test-utils.d.ts.map +1 -0
  388. package/dist/lib/utils.d.ts +3 -0
  389. package/dist/lib/utils.d.ts.map +1 -0
  390. package/dist/lib/utils.test.d.ts +2 -0
  391. package/dist/lib/utils.test.d.ts.map +1 -0
  392. package/dist/styles.css +325 -0
  393. package/dist/submit-button.d.ts +2 -0
  394. package/dist/submit-button.d.ts.map +1 -0
  395. package/dist/submit-button.js +1 -0
  396. package/dist/submit-button.mjs +4 -0
  397. package/dist/useToast-BmkTB5Og.js +1 -0
  398. package/dist/useToast-Cp4WV6w8.mjs +39 -0
  399. package/dist/utils-DSKoFOjv.js +1 -0
  400. package/dist/utils-qaFjX9_3.mjs +2278 -0
  401. package/package.json +120 -0
package/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # Brutx UI
2
+
3
+ 新粗野主义 Vue 3 组件库,支持 CLI 工具。将组件复制到你的代码库中,获得完全的自定义控制权。
4
+
5
+ [![npm version](https://img.shields.io/npm/v/brutx-ui-vue.svg?style=flat-square&color=FF6B6B)](https://www.npmjs.com/package/brutx-ui-vue)
6
+ [![npm downloads](https://img.shields.io/npm/dm/brutx-ui-vue.svg?style=flat-square)](https://www.npmjs.com/package/brutx-ui-vue)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-4ECDC4.svg?style=flat-square)](https://opensource.org/licenses/MIT)
8
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.7+-FFE66D.svg?style=flat-square)](https://www.typescriptlang.org/)
9
+
10
+ ## 特性
11
+
12
+ - **CLI 工具**:通过 `npx brutx@latest` 将组件复制到你的代码库
13
+ - **完全控制**:拥有并自定义每一个组件
14
+ - 粗野主义包装器:粗边框、偏移阴影、鲜艳色彩
15
+ - Tailwind 就绪令牌:background/foreground/primary/secondary/destructive、ring、input、card 等。通过 `.dark` 支持暗色模式
16
+ - 基于 reka-ui 的无头原语、CVA 变体、tailwind-merge `cn()`
17
+
18
+ ## 安装
19
+
20
+ 使用 CLI 将组件添加到你的项目:
21
+
22
+ > ⚠️ CLI 尚未发布到 npm,以下命令暂不可用。
23
+
24
+ ```bash
25
+ # 初始化你的项目
26
+ npx brutx@latest init
27
+
28
+ # 添加组件
29
+ npx brutx@latest add button card badge
30
+
31
+ # 或添加全部组件
32
+ npx brutx@latest add --all
33
+ ```
34
+
35
+ ## 用法
36
+
37
+ 添加组件后,从你的项目中导入它们:
38
+
39
+ ```vue
40
+ <script setup lang="ts">
41
+ import { Button } from '@/components/ui/button'
42
+ import { Input } from '@/components/ui/input'
43
+ import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'
44
+ </script>
45
+
46
+ <template>
47
+ <Card>
48
+ <CardHeader>
49
+ <CardTitle>欢迎使用 Brutx</CardTitle>
50
+ </CardHeader>
51
+ <CardContent class="space-y-3">
52
+ <Input placeholder="邮箱" />
53
+ <Button variant="primary">开始使用</Button>
54
+ <Button variant="outline" size="sm">
55
+ 了解更多
56
+ </Button>
57
+ </CardContent>
58
+ </Card>
59
+ </template>
60
+ ```
61
+
62
+ ## CLI 命令
63
+
64
+ | 命令 | 说明 |
65
+ | ---------------------------------- | ------------------------------ |
66
+ | `npx brutx@latest init` | 使用 components.json 初始化项目 |
67
+ | `npx brutx@latest add <component>` | 添加指定组件 |
68
+ | `npx brutx@latest add --all` | 添加全部组件 |
69
+
70
+ ## 备注
71
+
72
+ - 暗色模式:在 `html` 或 `body` 上添加/移除 `.dark` 以切换主题。
73
+ - 组件会复制到你的项目中,让你拥有完全的所有权和自定义控制权。
74
+ - 令牌可通过设置 CSS 变量(`--background`、`--primary` 等)进行覆盖。
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),u=require("v-calendar"),b=require("./utils-DSKoFOjv.js"),c={class:"vc-header flex items-center justify-between mb-2"},m={class:"vc-title font-black text-xs sm:text-sm tracking-tight uppercase text-brutal-fg"},f=e.defineComponent({__name:"Calendar",props:{modelValue:{default:void 0},isRange:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},class:{default:""}},emits:["update:modelValue"],setup(r,{emit:o}){const a=r,s=o,n=e.computed(()=>b.cn("p-2 sm:p-3","bg-brutal-bg text-brutal-fg","border-3 border-brutal","shadow-brutal","w-fit max-w-full overflow-x-auto",a.class)),i=e.computed(()=>a.isRange&&Array.isArray(a.modelValue)&&a.modelValue.length===2?{start:a.modelValue[0],end:a.modelValue[1]}:a.isRange?null:a.modelValue instanceof Date?a.modelValue:null);function d(l){a.disabled||(a.isRange?l&&typeof l=="object"&&"start"in l&&"end"in l?s("update:modelValue",[l.start,l.end]):s("update:modelValue",null):s("update:modelValue",l))}return(l,g)=>(e.openBlock(),e.createBlock(e.unref(u),{"model-value":i.value,"is-range":r.isRange,disabled:r.disabled,class:e.normalizeClass(n.value),attributes:[],"trim-weeks":"","first-day-of-week":1,"onUpdate:modelValue":d},{default:e.withCtx(({page:t})=>[e.createElementVNode("div",c,[e.createElementVNode("div",m,e.toDisplayString(t.monthLabel)+" "+e.toDisplayString(t.yearLabel),1)])]),"day-content":e.withCtx(({day:t})=>[e.createElementVNode("div",{class:e.normalizeClass(["flex h-6 w-6 sm:h-8 sm:w-8 items-center justify-center text-[10px] sm:text-xs font-semibold transition-all duration-100 hover:bg-brutal-secondary hover:text-brutal-fg hover:font-bold cursor-pointer border-3 border-brutal/10",{"bg-brutal-primary text-brutal-fg font-black border-3 border-brutal shadow-brutal-sm":t.isSelected&&!t.isInRange,"bg-brutal-accent text-brutal-fg":t.isInRange&&!t.isStart&&!t.isEnd,"bg-brutal-secondary text-brutal-fg font-black border-3 border-brutal shadow-brutal-sm":t.isStart||t.isEnd,"bg-brutal-secondary text-brutal-fg font-black border-3 border-brutal":t.isToday,"text-brutal-muted-foreground opacity-40":t.isOutside,"opacity-40 cursor-not-allowed":t.isDisabled}])},e.toDisplayString(t.label),3)]),_:1},8,["model-value","is-range","disabled","class"]))}});exports._sfc_main=f;
@@ -0,0 +1,60 @@
1
+ import { defineComponent as f, computed as n, createBlock as g, openBlock as p, unref as x, normalizeClass as d, withCtx as i, createElementVNode as o, toDisplayString as s } from "vue";
2
+ import h from "v-calendar";
3
+ import { c as V } from "./utils-qaFjX9_3.mjs";
4
+ const w = { class: "vc-header flex items-center justify-between mb-2" }, k = { class: "vc-title font-black text-xs sm:text-sm tracking-tight uppercase text-brutal-fg" }, R = /* @__PURE__ */ f({
5
+ __name: "Calendar",
6
+ props: {
7
+ modelValue: { default: void 0 },
8
+ isRange: { type: Boolean, default: !1 },
9
+ disabled: { type: Boolean, default: !1 },
10
+ class: { default: "" }
11
+ },
12
+ emits: ["update:modelValue"],
13
+ setup(l, { emit: u }) {
14
+ const t = l, r = u, b = n(
15
+ () => V(
16
+ "p-2 sm:p-3",
17
+ "bg-brutal-bg text-brutal-fg",
18
+ "border-3 border-brutal",
19
+ "shadow-brutal",
20
+ "w-fit max-w-full overflow-x-auto",
21
+ t.class
22
+ )
23
+ ), c = n(() => t.isRange && Array.isArray(t.modelValue) && t.modelValue.length === 2 ? { start: t.modelValue[0], end: t.modelValue[1] } : t.isRange ? null : t.modelValue instanceof Date ? t.modelValue : null);
24
+ function m(a) {
25
+ t.disabled || (t.isRange ? a && typeof a == "object" && "start" in a && "end" in a ? r("update:modelValue", [a.start, a.end]) : r("update:modelValue", null) : r("update:modelValue", a));
26
+ }
27
+ return (a, v) => (p(), g(x(h), {
28
+ "model-value": c.value,
29
+ "is-range": l.isRange,
30
+ disabled: l.disabled,
31
+ class: d(b.value),
32
+ attributes: [],
33
+ "trim-weeks": "",
34
+ "first-day-of-week": 1,
35
+ "onUpdate:modelValue": m
36
+ }, {
37
+ default: i(({ page: e }) => [
38
+ o("div", w, [
39
+ o("div", k, s(e.monthLabel) + " " + s(e.yearLabel), 1)
40
+ ])
41
+ ]),
42
+ "day-content": i(({ day: e }) => [
43
+ o("div", {
44
+ class: d(["flex h-6 w-6 sm:h-8 sm:w-8 items-center justify-center text-[10px] sm:text-xs font-semibold transition-all duration-100 hover:bg-brutal-secondary hover:text-brutal-fg hover:font-bold cursor-pointer border-3 border-brutal/10", {
45
+ "bg-brutal-primary text-brutal-fg font-black border-3 border-brutal shadow-brutal-sm": e.isSelected && !e.isInRange,
46
+ "bg-brutal-accent text-brutal-fg": e.isInRange && !e.isStart && !e.isEnd,
47
+ "bg-brutal-secondary text-brutal-fg font-black border-3 border-brutal shadow-brutal-sm": e.isStart || e.isEnd,
48
+ "bg-brutal-secondary text-brutal-fg font-black border-3 border-brutal": e.isToday,
49
+ "text-brutal-muted-foreground opacity-40": e.isOutside,
50
+ "opacity-40 cursor-not-allowed": e.isDisabled
51
+ }])
52
+ }, s(e.label), 3)
53
+ ]),
54
+ _: 1
55
+ }, 8, ["model-value", "is-range", "disabled", "class"]));
56
+ }
57
+ });
58
+ export {
59
+ R as _
60
+ };
@@ -0,0 +1,215 @@
1
+ import { h as g, defineComponent as B, computed as x, createElementBlock as y, openBlock as h, normalizeClass as N, createBlock as j, createCommentVNode as z, renderSlot as A, unref as $, Fragment as L, createTextVNode as O, toDisplayString as S } from "vue";
2
+ import { a as T, c as P } from "./utils-qaFjX9_3.mjs";
3
+ /**
4
+ * @license lucide-vue-next v0.510.0 - ISC
5
+ *
6
+ * This source code is licensed under the ISC license.
7
+ * See the LICENSE file in the root directory of this source tree.
8
+ */
9
+ const w = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), U = (e) => e.replace(
10
+ /^([A-Z])|[\s-_]+(\w)/g,
11
+ (a, t, r) => r ? r.toUpperCase() : t.toLowerCase()
12
+ ), _ = (e) => {
13
+ const a = U(e);
14
+ return a.charAt(0).toUpperCase() + a.slice(1);
15
+ }, D = (...e) => e.filter((a, t, r) => !!a && a.trim() !== "" && r.indexOf(a) === t).join(" ").trim();
16
+ /**
17
+ * @license lucide-vue-next v0.510.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */
22
+ var b = {
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ width: 24,
25
+ height: 24,
26
+ viewBox: "0 0 24 24",
27
+ fill: "none",
28
+ stroke: "currentColor",
29
+ "stroke-width": 2,
30
+ "stroke-linecap": "round",
31
+ "stroke-linejoin": "round"
32
+ };
33
+ /**
34
+ * @license lucide-vue-next v0.510.0 - ISC
35
+ *
36
+ * This source code is licensed under the ISC license.
37
+ * See the LICENSE file in the root directory of this source tree.
38
+ */
39
+ const I = ({ size: e, strokeWidth: a = 2, absoluteStrokeWidth: t, color: r, iconNode: s, name: n, class: f, ...d }, { slots: c }) => g(
40
+ "svg",
41
+ {
42
+ ...b,
43
+ width: e || b.width,
44
+ height: e || b.height,
45
+ stroke: r || b.stroke,
46
+ "stroke-width": t ? Number(a) * 24 / Number(e) : a,
47
+ class: D(
48
+ "lucide",
49
+ ...n ? [`lucide-${w(_(n))}-icon`, `lucide-${w(n)}`] : ["lucide-icon"]
50
+ ),
51
+ ...d
52
+ },
53
+ [...s.map((l) => g(...l)), ...c.default ? [c.default()] : []]
54
+ );
55
+ /**
56
+ * @license lucide-vue-next v0.510.0 - ISC
57
+ *
58
+ * This source code is licensed under the ISC license.
59
+ * See the LICENSE file in the root directory of this source tree.
60
+ */
61
+ const K = (e, a) => (t, { slots: r }) => g(
62
+ I,
63
+ {
64
+ ...t,
65
+ iconNode: a,
66
+ name: e
67
+ },
68
+ r
69
+ );
70
+ /**
71
+ * @license lucide-vue-next v0.510.0 - ISC
72
+ *
73
+ * This source code is licensed under the ISC license.
74
+ * See the LICENSE file in the root directory of this source tree.
75
+ */
76
+ const Z = K("loader-circle", [
77
+ ["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]
78
+ ]), p = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, C = T, E = (e, a) => (t) => {
79
+ var r;
80
+ if ((a == null ? void 0 : a.variants) == null) return C(e, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
81
+ const { variants: s, defaultVariants: n } = a, f = Object.keys(s).map((l) => {
82
+ const o = t == null ? void 0 : t[l], u = n == null ? void 0 : n[l];
83
+ if (o === null) return null;
84
+ const i = p(o) || p(u);
85
+ return s[l][i];
86
+ }), d = t && Object.entries(t).reduce((l, o) => {
87
+ let [u, i] = o;
88
+ return i === void 0 || (l[u] = i), l;
89
+ }, {}), c = a == null || (r = a.compoundVariants) === null || r === void 0 ? void 0 : r.reduce((l, o) => {
90
+ let { class: u, className: i, ...k } = o;
91
+ return Object.entries(k).every((V) => {
92
+ let [m, v] = V;
93
+ return Array.isArray(v) ? v.includes({
94
+ ...n,
95
+ ...d
96
+ }[m]) : {
97
+ ...n,
98
+ ...d
99
+ }[m] === v;
100
+ }) ? [
101
+ ...l,
102
+ u,
103
+ i
104
+ ] : l;
105
+ }, []);
106
+ return C(e, f, c, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
107
+ }, F = E(
108
+ [
109
+ "inline-flex items-center justify-center gap-2",
110
+ "border-3 border-brutal",
111
+ "font-black tracking-wide",
112
+ "transition-all duration-150",
113
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-brutal-ring focus-visible:ring-offset-2",
114
+ "disabled:opacity-50 disabled:pointer-events-none",
115
+ "active:translate-y-[var(--brutal-pressed-offset,2px)] active:shadow-none"
116
+ ],
117
+ {
118
+ variants: {
119
+ variant: {
120
+ default: [
121
+ "bg-brutal-bg text-brutal-fg",
122
+ "shadow-brutal",
123
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
124
+ ],
125
+ primary: [
126
+ "bg-brutal-primary text-brutal-fg",
127
+ "shadow-brutal",
128
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
129
+ ],
130
+ secondary: [
131
+ "bg-brutal-secondary text-brutal-fg",
132
+ "shadow-brutal",
133
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
134
+ ],
135
+ accent: [
136
+ "bg-brutal-accent text-brutal-fg",
137
+ "shadow-brutal",
138
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
139
+ ],
140
+ danger: [
141
+ "bg-brutal-destructive text-brutal-fg",
142
+ "shadow-brutal",
143
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
144
+ ],
145
+ success: [
146
+ "bg-brutal-success text-brutal-fg",
147
+ "shadow-brutal",
148
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
149
+ ],
150
+ outline: [
151
+ "bg-transparent text-brutal-fg",
152
+ "shadow-brutal",
153
+ "hover:bg-brutal-fg hover:text-brutal-bg",
154
+ "hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"
155
+ ],
156
+ ghost: [
157
+ "bg-transparent text-brutal-fg border-transparent",
158
+ "shadow-none",
159
+ "hover:bg-brutal-muted hover:border-brutal"
160
+ ],
161
+ link: [
162
+ "bg-transparent text-brutal-fg border-transparent",
163
+ "shadow-none underline-offset-4",
164
+ "hover:underline"
165
+ ]
166
+ },
167
+ size: {
168
+ sm: "h-9 px-3 py-1 text-sm",
169
+ default: "h-11 px-5 py-2 text-base",
170
+ lg: "h-14 px-8 py-3 text-lg",
171
+ xl: "h-16 px-10 py-4 text-xl",
172
+ icon: "h-11 w-11 p-0"
173
+ }
174
+ },
175
+ defaultVariants: {
176
+ variant: "default",
177
+ size: "default"
178
+ }
179
+ }
180
+ ), M = ["disabled"], H = /* @__PURE__ */ B({
181
+ __name: "SubmitButton",
182
+ props: {
183
+ variant: { default: "default" },
184
+ size: { default: "default" },
185
+ pendingText: { default: "Submitting..." },
186
+ loading: { type: Boolean, default: !1 },
187
+ disabled: { type: Boolean, default: !1 },
188
+ class: { default: "" }
189
+ },
190
+ setup(e) {
191
+ const a = e, t = x(() => a.disabled || a.loading), r = x(
192
+ () => P(F({ variant: a.variant, size: a.size }), a.class)
193
+ );
194
+ return (s, n) => (h(), y("button", {
195
+ type: "submit",
196
+ class: N(r.value),
197
+ disabled: t.value
198
+ }, [
199
+ e.loading ? (h(), j($(Z), {
200
+ key: 0,
201
+ class: "h-4 w-4 animate-spin"
202
+ })) : z("", !0),
203
+ e.loading && e.pendingText ? (h(), y(L, { key: 1 }, [
204
+ O(S(e.pendingText), 1)
205
+ ], 64)) : A(s.$slots, "default", { key: 2 })
206
+ ], 10, M));
207
+ }
208
+ });
209
+ export {
210
+ Z as L,
211
+ H as _,
212
+ E as a,
213
+ F as b,
214
+ K as c
215
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";const r=require("vue"),w=require("./utils-DSKoFOjv.js");/**
2
+ * @license lucide-vue-next v0.510.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const m=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),j=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,t,l)=>l?l.toUpperCase():t.toLowerCase()),z=e=>{const a=j(e);return a.charAt(0).toUpperCase()+a.slice(1)},A=(...e)=>e.filter((a,t,l)=>!!a&&a.trim()!==""&&l.indexOf(a)===t).join(" ").trim();/**
7
+ * @license lucide-vue-next v0.510.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */var v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/**
12
+ * @license lucide-vue-next v0.510.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const L=({size:e,strokeWidth:a=2,absoluteStrokeWidth:t,color:l,iconNode:o,name:s,class:g,...c},{slots:b})=>r.h("svg",{...v,width:e||v.width,height:e||v.height,stroke:l||v.stroke,"stroke-width":t?Number(a)*24/Number(e):a,class:A("lucide",...s?[`lucide-${m(z(s))}-icon`,`lucide-${m(s)}`]:["lucide-icon"]),...c},[...o.map(n=>r.h(...n)),...b.default?[b.default()]:[]]);/**
17
+ * @license lucide-vue-next v0.510.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const k=(e,a)=>(t,{slots:l})=>r.h(L,{...t,iconNode:a,name:e},l);/**
22
+ * @license lucide-vue-next v0.510.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const C=k("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),x=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,y=w.clsx,p=(e,a)=>t=>{var l;if((a==null?void 0:a.variants)==null)return y(e,t==null?void 0:t.class,t==null?void 0:t.className);const{variants:o,defaultVariants:s}=a,g=Object.keys(o).map(n=>{const i=t==null?void 0:t[n],d=s==null?void 0:s[n];if(i===null)return null;const u=x(i)||x(d);return o[n][u]}),c=t&&Object.entries(t).reduce((n,i)=>{let[d,u]=i;return u===void 0||(n[d]=u),n},{}),b=a==null||(l=a.compoundVariants)===null||l===void 0?void 0:l.reduce((n,i)=>{let{class:d,className:u,...B}=i;return Object.entries(B).every(N=>{let[f,h]=N;return Array.isArray(h)?h.includes({...s,...c}[f]):{...s,...c}[f]===h})?[...n,d,u]:n},[]);return y(e,g,b,t==null?void 0:t.class,t==null?void 0:t.className)},V=p(["inline-flex items-center justify-center gap-2","border-3 border-brutal","font-black tracking-wide","transition-all duration-150","focus:outline-none focus-visible:ring-2 focus-visible:ring-brutal-ring focus-visible:ring-offset-2","disabled:opacity-50 disabled:pointer-events-none","active:translate-y-[var(--brutal-pressed-offset,2px)] active:shadow-none"],{variants:{variant:{default:["bg-brutal-bg text-brutal-fg","shadow-brutal","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],primary:["bg-brutal-primary text-brutal-fg","shadow-brutal","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],secondary:["bg-brutal-secondary text-brutal-fg","shadow-brutal","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],accent:["bg-brutal-accent text-brutal-fg","shadow-brutal","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],danger:["bg-brutal-destructive text-brutal-fg","shadow-brutal","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],success:["bg-brutal-success text-brutal-fg","shadow-brutal","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],outline:["bg-transparent text-brutal-fg","shadow-brutal","hover:bg-brutal-fg hover:text-brutal-bg","hover:shadow-brutal-lg hover:-translate-x-0.5 hover:-translate-y-0.5"],ghost:["bg-transparent text-brutal-fg border-transparent","shadow-none","hover:bg-brutal-muted hover:border-brutal"],link:["bg-transparent text-brutal-fg border-transparent","shadow-none underline-offset-4","hover:underline"]},size:{sm:"h-9 px-3 py-1 text-sm",default:"h-11 px-5 py-2 text-base",lg:"h-14 px-8 py-3 text-lg",xl:"h-16 px-10 py-4 text-xl",icon:"h-11 w-11 p-0"}},defaultVariants:{variant:"default",size:"default"}}),$=["disabled"],O=r.defineComponent({__name:"SubmitButton",props:{variant:{default:"default"},size:{default:"default"},pendingText:{default:"Submitting..."},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},class:{default:""}},setup(e){const a=e,t=r.computed(()=>a.disabled||a.loading),l=r.computed(()=>w.cn(V({variant:a.variant,size:a.size}),a.class));return(o,s)=>(r.openBlock(),r.createElementBlock("button",{type:"submit",class:r.normalizeClass(l.value),disabled:t.value},[e.loading?(r.openBlock(),r.createBlock(r.unref(C),{key:0,class:"h-4 w-4 animate-spin"})):r.createCommentVNode("",!0),e.loading&&e.pendingText?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(e.pendingText),1)],64)):r.renderSlot(o.$slots,"default",{key:2})],10,$))}});exports.LoaderCircle=C;exports._sfc_main=O;exports.buttonVariants=V;exports.createLucideIcon=k;exports.cva=p;
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1 @@
1
+ "use strict";const l=require("tailwindcss/plugin"),s=l(function({addUtilities:r,addComponents:a,theme:b}){const o={".nb-border":{borderWidth:"var(--brutal-border-width, 3px)",borderStyle:"solid",borderColor:"var(--brutal-border-color, #000000)"},".nb-border-2":{borderWidth:"2px",borderStyle:"solid",borderColor:"var(--brutal-border-color, #000000)"},".nb-border-4":{borderWidth:"4px",borderStyle:"solid",borderColor:"var(--brutal-border-color, #000000)"},".nb-shadow":{boxShadow:"var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)"},".nb-shadow-sm":{boxShadow:"calc(var(--brutal-shadow-offset-x, 4px) / 2) calc(var(--brutal-shadow-offset-y, 4px) / 2) 0px 0px var(--brutal-shadow-color, #000000)"},".nb-shadow-lg":{boxShadow:"calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)"},".nb-shadow-xl":{boxShadow:"calc(var(--brutal-shadow-offset-x, 4px) * 2) calc(var(--brutal-shadow-offset-y, 4px) * 2) 0px 0px var(--brutal-shadow-color, #000000)"},".nb-press":{transform:"translateY(var(--brutal-pressed-offset, 2px))",boxShadow:"none"},".nb-press-sm":{transform:"translateY(calc(var(--brutal-pressed-offset, 2px) / 2))",boxShadow:"none"},".nb-press-lg":{transform:"translateY(calc(var(--brutal-pressed-offset, 2px) * 1.5))",boxShadow:"none"},".nb-font":{fontWeight:"900",letterSpacing:"0.025em"},".nb-font-bold":{fontWeight:"800",letterSpacing:"0.02em"},".nb-font-medium":{fontWeight:"700",letterSpacing:"0.015em"},".nb-no-radius":{borderRadius:"var(--brutal-radius, 0px)"},".nb-transition":{transitionProperty:"transform, box-shadow",transitionTimingFunction:"cubic-bezier(0.4, 0, 0.2, 1)",transitionDuration:"150ms"}},t={".nb-hover":{"&:hover":{transform:"translate(-2px, -2px)",boxShadow:"calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)"}},".nb-active":{"&:active":{transform:"translateY(var(--brutal-pressed-offset, 2px))",boxShadow:"none"}},".nb-focus":{"&:focus":{outline:"3px solid var(--brutal-ring, #000000)",outlineOffset:"2px"},"&:focus-visible":{outline:"3px solid var(--brutal-ring, #000000)",outlineOffset:"2px"}},".nb-disabled":{"&:disabled":{opacity:"0.5",cursor:"not-allowed",pointerEvents:"none"}}},e={".nb-btn":{display:"inline-flex",alignItems:"center",justifyContent:"center",borderWidth:"var(--brutal-border-width, 3px)",borderStyle:"solid",borderColor:"var(--brutal-border-color, #000000)",backgroundColor:"var(--brutal-bg, #ffffff)",boxShadow:"var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)",fontWeight:"900",letterSpacing:"0.025em",borderRadius:"var(--brutal-radius, 0px)",transitionProperty:"transform, box-shadow",transitionTimingFunction:"cubic-bezier(0.4, 0, 0.2, 1)",transitionDuration:"150ms",cursor:"pointer","&:hover":{transform:"translate(-2px, -2px)",boxShadow:"calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)"},"&:active":{transform:"translateY(var(--brutal-pressed-offset, 2px))",boxShadow:"none"},"&:disabled":{opacity:"0.5",cursor:"not-allowed",pointerEvents:"none"}},".nb-card":{borderWidth:"var(--brutal-border-width, 3px)",borderStyle:"solid",borderColor:"var(--brutal-border-color, #000000)",backgroundColor:"var(--brutal-bg, #ffffff)",boxShadow:"var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)",borderRadius:"var(--brutal-radius, 0px)",padding:"1rem"},".nb-input":{borderWidth:"var(--brutal-border-width, 3px)",borderStyle:"solid",borderColor:"var(--brutal-border-color, #000000)",backgroundColor:"var(--brutal-bg, #ffffff)",borderRadius:"var(--brutal-radius, 0px)",fontWeight:"500","&:focus":{outline:"none",boxShadow:"var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)"},"&::placeholder":{color:"var(--brutal-placeholder, #9CA3AF)",fontWeight:"400"}}};r(o),r(t),a(e)},{theme:{extend:{colors:{brutal:{bg:"var(--brutal-bg)",fg:"var(--brutal-fg)",primary:"var(--brutal-primary)",secondary:"var(--brutal-secondary)",accent:"var(--brutal-accent)",destructive:"var(--brutal-destructive)",success:"var(--brutal-success)",muted:"var(--brutal-muted)","muted-foreground":"var(--brutal-muted-foreground)",ring:"var(--brutal-ring)",info:"var(--brutal-info)",overlay:"var(--brutal-overlay)",placeholder:"var(--brutal-placeholder)"}},boxShadow:{brutal:"var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)","brutal-sm":"calc(var(--brutal-shadow-offset-x, 4px) / 2) calc(var(--brutal-shadow-offset-y, 4px) / 2) 0px 0px var(--brutal-shadow-color, #000000)","brutal-lg":"calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)","brutal-xl":"calc(var(--brutal-shadow-offset-x, 4px) * 2) calc(var(--brutal-shadow-offset-y, 4px) * 2) 0px 0px var(--brutal-shadow-color, #000000)"},borderWidth:{3:"3px"}}}});module.exports=s;
@@ -0,0 +1,185 @@
1
+ const l = require("tailwindcss/plugin"), b = l(
2
+ function({ addUtilities: r, addComponents: a, theme: s }) {
3
+ const o = {
4
+ ".nb-border": {
5
+ borderWidth: "var(--brutal-border-width, 3px)",
6
+ borderStyle: "solid",
7
+ borderColor: "var(--brutal-border-color, #000000)"
8
+ },
9
+ ".nb-border-2": {
10
+ borderWidth: "2px",
11
+ borderStyle: "solid",
12
+ borderColor: "var(--brutal-border-color, #000000)"
13
+ },
14
+ ".nb-border-4": {
15
+ borderWidth: "4px",
16
+ borderStyle: "solid",
17
+ borderColor: "var(--brutal-border-color, #000000)"
18
+ },
19
+ ".nb-shadow": {
20
+ boxShadow: "var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)"
21
+ },
22
+ ".nb-shadow-sm": {
23
+ boxShadow: "calc(var(--brutal-shadow-offset-x, 4px) / 2) calc(var(--brutal-shadow-offset-y, 4px) / 2) 0px 0px var(--brutal-shadow-color, #000000)"
24
+ },
25
+ ".nb-shadow-lg": {
26
+ boxShadow: "calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)"
27
+ },
28
+ ".nb-shadow-xl": {
29
+ boxShadow: "calc(var(--brutal-shadow-offset-x, 4px) * 2) calc(var(--brutal-shadow-offset-y, 4px) * 2) 0px 0px var(--brutal-shadow-color, #000000)"
30
+ },
31
+ ".nb-press": {
32
+ transform: "translateY(var(--brutal-pressed-offset, 2px))",
33
+ boxShadow: "none"
34
+ },
35
+ ".nb-press-sm": {
36
+ transform: "translateY(calc(var(--brutal-pressed-offset, 2px) / 2))",
37
+ boxShadow: "none"
38
+ },
39
+ ".nb-press-lg": {
40
+ transform: "translateY(calc(var(--brutal-pressed-offset, 2px) * 1.5))",
41
+ boxShadow: "none"
42
+ },
43
+ ".nb-font": {
44
+ fontWeight: "900",
45
+ letterSpacing: "0.025em"
46
+ },
47
+ ".nb-font-bold": {
48
+ fontWeight: "800",
49
+ letterSpacing: "0.02em"
50
+ },
51
+ ".nb-font-medium": {
52
+ fontWeight: "700",
53
+ letterSpacing: "0.015em"
54
+ },
55
+ ".nb-no-radius": {
56
+ borderRadius: "var(--brutal-radius, 0px)"
57
+ },
58
+ ".nb-transition": {
59
+ transitionProperty: "transform, box-shadow",
60
+ transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
61
+ transitionDuration: "150ms"
62
+ }
63
+ }, t = {
64
+ ".nb-hover": {
65
+ "&:hover": {
66
+ transform: "translate(-2px, -2px)",
67
+ boxShadow: "calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)"
68
+ }
69
+ },
70
+ ".nb-active": {
71
+ "&:active": {
72
+ transform: "translateY(var(--brutal-pressed-offset, 2px))",
73
+ boxShadow: "none"
74
+ }
75
+ },
76
+ ".nb-focus": {
77
+ "&:focus": {
78
+ outline: "3px solid var(--brutal-ring, #000000)",
79
+ outlineOffset: "2px"
80
+ },
81
+ "&:focus-visible": {
82
+ outline: "3px solid var(--brutal-ring, #000000)",
83
+ outlineOffset: "2px"
84
+ }
85
+ },
86
+ ".nb-disabled": {
87
+ "&:disabled": {
88
+ opacity: "0.5",
89
+ cursor: "not-allowed",
90
+ pointerEvents: "none"
91
+ }
92
+ }
93
+ }, e = {
94
+ ".nb-btn": {
95
+ display: "inline-flex",
96
+ alignItems: "center",
97
+ justifyContent: "center",
98
+ borderWidth: "var(--brutal-border-width, 3px)",
99
+ borderStyle: "solid",
100
+ borderColor: "var(--brutal-border-color, #000000)",
101
+ backgroundColor: "var(--brutal-bg, #ffffff)",
102
+ boxShadow: "var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)",
103
+ fontWeight: "900",
104
+ letterSpacing: "0.025em",
105
+ borderRadius: "var(--brutal-radius, 0px)",
106
+ transitionProperty: "transform, box-shadow",
107
+ transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
108
+ transitionDuration: "150ms",
109
+ cursor: "pointer",
110
+ "&:hover": {
111
+ transform: "translate(-2px, -2px)",
112
+ boxShadow: "calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)"
113
+ },
114
+ "&:active": {
115
+ transform: "translateY(var(--brutal-pressed-offset, 2px))",
116
+ boxShadow: "none"
117
+ },
118
+ "&:disabled": {
119
+ opacity: "0.5",
120
+ cursor: "not-allowed",
121
+ pointerEvents: "none"
122
+ }
123
+ },
124
+ ".nb-card": {
125
+ borderWidth: "var(--brutal-border-width, 3px)",
126
+ borderStyle: "solid",
127
+ borderColor: "var(--brutal-border-color, #000000)",
128
+ backgroundColor: "var(--brutal-bg, #ffffff)",
129
+ boxShadow: "var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)",
130
+ borderRadius: "var(--brutal-radius, 0px)",
131
+ padding: "1rem"
132
+ },
133
+ ".nb-input": {
134
+ borderWidth: "var(--brutal-border-width, 3px)",
135
+ borderStyle: "solid",
136
+ borderColor: "var(--brutal-border-color, #000000)",
137
+ backgroundColor: "var(--brutal-bg, #ffffff)",
138
+ borderRadius: "var(--brutal-radius, 0px)",
139
+ fontWeight: "500",
140
+ "&:focus": {
141
+ outline: "none",
142
+ boxShadow: "var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)"
143
+ },
144
+ "&::placeholder": {
145
+ color: "var(--brutal-placeholder, #9CA3AF)",
146
+ fontWeight: "400"
147
+ }
148
+ }
149
+ };
150
+ r(o), r(t), a(e);
151
+ },
152
+ {
153
+ theme: {
154
+ extend: {
155
+ colors: {
156
+ brutal: {
157
+ bg: "var(--brutal-bg)",
158
+ fg: "var(--brutal-fg)",
159
+ primary: "var(--brutal-primary)",
160
+ secondary: "var(--brutal-secondary)",
161
+ accent: "var(--brutal-accent)",
162
+ destructive: "var(--brutal-destructive)",
163
+ success: "var(--brutal-success)",
164
+ muted: "var(--brutal-muted)",
165
+ "muted-foreground": "var(--brutal-muted-foreground)",
166
+ ring: "var(--brutal-ring)",
167
+ info: "var(--brutal-info)",
168
+ overlay: "var(--brutal-overlay)",
169
+ placeholder: "var(--brutal-placeholder)"
170
+ }
171
+ },
172
+ boxShadow: {
173
+ brutal: "var(--brutal-shadow-offset-x, 4px) var(--brutal-shadow-offset-y, 4px) 0px 0px var(--brutal-shadow-color, #000000)",
174
+ "brutal-sm": "calc(var(--brutal-shadow-offset-x, 4px) / 2) calc(var(--brutal-shadow-offset-y, 4px) / 2) 0px 0px var(--brutal-shadow-color, #000000)",
175
+ "brutal-lg": "calc(var(--brutal-shadow-offset-x, 4px) * 1.5) calc(var(--brutal-shadow-offset-y, 4px) * 1.5) 0px 0px var(--brutal-shadow-color, #000000)",
176
+ "brutal-xl": "calc(var(--brutal-shadow-offset-x, 4px) * 2) calc(var(--brutal-shadow-offset-y, 4px) * 2) 0px 0px var(--brutal-shadow-color, #000000)"
177
+ },
178
+ borderWidth: {
179
+ 3: "3px"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ );
185
+ module.exports = b;
@@ -0,0 +1,2 @@
1
+ export { default as Calendar } from './components/Calendar.vue';
2
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Calendar.vue_vue_type_script_setup_true_lang-CNLD3s1_.js");exports.Calendar=e._sfc_main;
@@ -0,0 +1,4 @@
1
+ import { _ as e } from "./Calendar.vue_vue_type_script_setup_true_lang-D1BMlIY0.mjs";
2
+ export {
3
+ e as Calendar
4
+ };
@@ -0,0 +1,28 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { alertVariants } from './alert-variants';
3
+ type AlertVariantProps = VariantProps<typeof alertVariants>;
4
+ interface AlertProps {
5
+ variant?: NonNullable<AlertVariantProps['variant']>;
6
+ class?: string;
7
+ }
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ default?(_: {}): any;
12
+ };
13
+ refs: {};
14
+ rootEl: HTMLDivElement;
15
+ };
16
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
+ declare const __VLS_component: import('vue').DefineComponent<AlertProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<AlertProps> & Readonly<{}>, {
18
+ variant: NonNullable<AlertVariantProps["variant"]>;
19
+ class: string;
20
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
21
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
22
+ export default _default;
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
28
+ //# sourceMappingURL=Alert.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.vue.d.ts","sourceRoot":"","sources":["../../src/components/Alert.vue"],"names":[],"mappings":"AA+BA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,KAAK,iBAAiB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;AAE3D,UAAU,UAAU;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAkBD,iBAAS,cAAc;WAwBT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAUD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;aA5DP,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;WAC3C,MAAM;wFAmEhB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}