@reinvented/design 0.3.0 → 1.0.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 (348) hide show
  1. package/package.json +55 -21
  2. package/src/components/blocks/auth/auth-card/AuthCard.tsx +62 -0
  3. package/src/components/blocks/auth/auth-card/index.ts +1 -0
  4. package/src/components/blocks/auth/index.ts +3 -0
  5. package/src/components/blocks/auth/social-login/SocialLoginGroup.tsx +75 -0
  6. package/src/components/blocks/auth/social-login/index.ts +1 -0
  7. package/src/components/blocks/auth/two-factor/TwoFactorForm.tsx +59 -0
  8. package/src/components/blocks/auth/two-factor/index.ts +1 -0
  9. package/src/components/blocks/communication/activity-item/ActivityItem.tsx +17 -0
  10. package/src/components/blocks/communication/activity-item/ActivityItemAvatar.tsx +21 -0
  11. package/src/components/blocks/communication/activity-item/ActivityItemContent.tsx +16 -0
  12. package/src/components/blocks/communication/activity-item/index.ts +3 -0
  13. package/src/components/blocks/communication/chat-bubble/ChatBubble.tsx +21 -0
  14. package/src/components/blocks/communication/chat-bubble/ChatBubbleAvatar.tsx +19 -0
  15. package/src/components/blocks/communication/chat-bubble/ChatBubbleMessage.tsx +35 -0
  16. package/src/components/blocks/communication/chat-bubble/ChatBubbleTimestamp.tsx +15 -0
  17. package/src/components/blocks/communication/chat-bubble/index.ts +4 -0
  18. package/src/components/blocks/communication/index.ts +2 -0
  19. package/src/components/blocks/content/article-header/ArticleHeader.tsx +73 -0
  20. package/src/components/blocks/content/article-header/index.ts +1 -0
  21. package/src/components/blocks/content/author-card/AuthorCard.tsx +46 -0
  22. package/src/components/blocks/content/author-card/index.ts +1 -0
  23. package/src/components/blocks/content/index.ts +3 -0
  24. package/src/components/blocks/content/rich-text/RichTextContent.tsx +27 -0
  25. package/src/components/blocks/content/rich-text/index.ts +1 -0
  26. package/src/components/blocks/data-management/index.ts +2 -0
  27. package/src/components/blocks/data-management/kanban/KanbanBoard.tsx +10 -0
  28. package/src/components/blocks/data-management/kanban/KanbanCard.tsx +102 -0
  29. package/src/components/blocks/data-management/kanban/KanbanColumn.tsx +41 -0
  30. package/src/components/blocks/data-management/kanban/index.ts +3 -0
  31. package/src/components/blocks/data-management/tree-view/TreeItem.tsx +68 -0
  32. package/src/components/blocks/data-management/tree-view/TreeView.tsx +10 -0
  33. package/src/components/blocks/data-management/tree-view/index.ts +2 -0
  34. package/src/components/blocks/data-viz/financial-ticker/FinancialTicker.tsx +35 -0
  35. package/src/components/blocks/data-viz/financial-ticker/index.ts +1 -0
  36. package/src/components/blocks/data-viz/index.ts +3 -0
  37. package/src/components/blocks/data-viz/kpi-card/KpiCard.tsx +61 -0
  38. package/src/components/blocks/data-viz/kpi-card/index.ts +1 -0
  39. package/src/components/blocks/data-viz/stat-grid/StatGrid.tsx +28 -0
  40. package/src/components/blocks/data-viz/stat-grid/index.ts +1 -0
  41. package/src/components/blocks/ecommerce/index.ts +3 -0
  42. package/src/components/blocks/ecommerce/pricing-tier/PricingFeatureList.tsx +27 -0
  43. package/src/components/blocks/ecommerce/pricing-tier/PricingHeader.tsx +25 -0
  44. package/src/components/blocks/ecommerce/pricing-tier/PricingTier.tsx +31 -0
  45. package/src/components/blocks/ecommerce/pricing-tier/index.ts +3 -0
  46. package/src/components/blocks/ecommerce/product-card/ProductCard.tsx +17 -0
  47. package/src/components/blocks/ecommerce/product-card/ProductCardContent.tsx +15 -0
  48. package/src/components/blocks/ecommerce/product-card/ProductCardImage.tsx +20 -0
  49. package/src/components/blocks/ecommerce/product-card/ProductCardPrice.tsx +20 -0
  50. package/src/components/blocks/ecommerce/product-card/index.ts +4 -0
  51. package/src/components/blocks/ecommerce/rating-summary/RatingStars.tsx +32 -0
  52. package/src/components/blocks/ecommerce/rating-summary/index.ts +1 -0
  53. package/src/components/blocks/feedback/empty-state/EmptyState.tsx +53 -0
  54. package/src/components/blocks/feedback/empty-state/index.ts +1 -0
  55. package/src/components/blocks/feedback/error-state/ErrorState.tsx +50 -0
  56. package/src/components/blocks/feedback/error-state/index.ts +1 -0
  57. package/src/components/blocks/feedback/index.ts +3 -0
  58. package/src/components/blocks/feedback/not-found/NotFoundState.tsx +47 -0
  59. package/src/components/blocks/feedback/not-found/index.ts +1 -0
  60. package/src/components/blocks/filtering/faceted-sidebar/FacetedGroup.tsx +32 -0
  61. package/src/components/blocks/filtering/faceted-sidebar/FacetedSidebar.tsx +26 -0
  62. package/src/components/blocks/filtering/faceted-sidebar/index.ts +2 -0
  63. package/src/components/blocks/filtering/filter-bar/FilterBar.tsx +85 -0
  64. package/src/components/blocks/filtering/filter-bar/index.ts +1 -0
  65. package/src/components/blocks/filtering/index.ts +3 -0
  66. package/src/components/blocks/filtering/search-result/SearchResultItem.tsx +70 -0
  67. package/src/components/blocks/filtering/search-result/index.ts +1 -0
  68. package/src/components/blocks/index.ts +21 -0
  69. package/src/components/blocks/marketing/cta-block/CtaBlock.tsx +80 -0
  70. package/src/components/blocks/marketing/cta-block/index.ts +1 -0
  71. package/src/components/blocks/marketing/feature-grid/FeatureGrid.tsx +47 -0
  72. package/src/components/blocks/marketing/feature-grid/index.ts +1 -0
  73. package/src/components/blocks/marketing/hero-section/HeroSection.tsx +89 -0
  74. package/src/components/blocks/marketing/hero-section/index.ts +1 -0
  75. package/src/components/blocks/marketing/index.ts +4 -0
  76. package/src/components/blocks/marketing/testimonial-card/TestimonialCard.tsx +71 -0
  77. package/src/components/blocks/marketing/testimonial-card/index.ts +1 -0
  78. package/src/components/blocks/media/call-controls/CallControlButton.tsx +52 -0
  79. package/src/components/blocks/media/call-controls/CallControls.tsx +10 -0
  80. package/src/components/blocks/media/call-controls/index.ts +2 -0
  81. package/src/components/blocks/media/index.ts +2 -0
  82. package/src/components/blocks/media/media-player/MediaPlayer.tsx +20 -0
  83. package/src/components/blocks/media/media-player/MediaPlayerControls.tsx +16 -0
  84. package/src/components/blocks/media/media-player/MediaPlayerScrubber.tsx +29 -0
  85. package/src/components/blocks/media/media-player/MediaPlayerVideo.tsx +25 -0
  86. package/src/components/blocks/media/media-player/index.ts +4 -0
  87. package/src/components/blocks/navigation/app-sidebar/AppSidebar.tsx +32 -0
  88. package/src/components/blocks/navigation/app-sidebar/NavItem.tsx +43 -0
  89. package/src/components/blocks/navigation/app-sidebar/index.ts +2 -0
  90. package/src/components/blocks/navigation/context-switcher/ContextSwitcher.tsx +77 -0
  91. package/src/components/blocks/navigation/context-switcher/index.ts +1 -0
  92. package/src/components/blocks/navigation/index.ts +3 -0
  93. package/src/components/blocks/navigation/top-navbar/TopNavbar.tsx +47 -0
  94. package/src/components/blocks/navigation/top-navbar/index.ts +1 -0
  95. package/src/components/blocks/onboarding/index.ts +2 -0
  96. package/src/components/blocks/onboarding/onboarding-welcome/OnboardingWelcome.tsx +74 -0
  97. package/src/components/blocks/onboarding/onboarding-welcome/index.ts +1 -0
  98. package/src/components/blocks/onboarding/step-wizard/StepWizard.tsx +72 -0
  99. package/src/components/blocks/onboarding/step-wizard/index.ts +1 -0
  100. package/src/components/blocks/profiles/connection-list/ConnectionItem.tsx +35 -0
  101. package/src/components/blocks/profiles/connection-list/ConnectionList.tsx +16 -0
  102. package/src/components/blocks/profiles/connection-list/index.ts +2 -0
  103. package/src/components/blocks/profiles/index.ts +3 -0
  104. package/src/components/blocks/profiles/profile-header/ProfileHeader.tsx +88 -0
  105. package/src/components/blocks/profiles/profile-header/index.ts +1 -0
  106. package/src/components/blocks/profiles/profile-stats/ProfileStats.tsx +20 -0
  107. package/src/components/blocks/profiles/profile-stats/index.ts +1 -0
  108. package/src/components/blocks/scheduling/booking-slot/BookingSlot.tsx +44 -0
  109. package/src/components/blocks/scheduling/booking-slot/index.ts +1 -0
  110. package/src/components/blocks/scheduling/event-card/EventCard.tsx +85 -0
  111. package/src/components/blocks/scheduling/event-card/index.ts +1 -0
  112. package/src/components/blocks/scheduling/index.ts +3 -0
  113. package/src/components/blocks/scheduling/timeline-row/TimelineRow.tsx +82 -0
  114. package/src/components/blocks/scheduling/timeline-row/index.ts +1 -0
  115. package/src/components/blocks/settings/billing-usage/BillingUsage.tsx +49 -0
  116. package/src/components/blocks/settings/billing-usage/index.ts +1 -0
  117. package/src/components/blocks/settings/index.ts +3 -0
  118. package/src/components/blocks/settings/integration-card/IntegrationCard.tsx +62 -0
  119. package/src/components/blocks/settings/integration-card/index.ts +1 -0
  120. package/src/components/blocks/settings/settings-section/SettingsSection.tsx +23 -0
  121. package/src/components/blocks/settings/settings-section/index.ts +1 -0
  122. package/src/components/ui/accordion.tsx +56 -0
  123. package/src/components/ui/alert-dialog.tsx +141 -0
  124. package/src/components/ui/alert.tsx +59 -0
  125. package/src/components/ui/aspect-ratio.tsx +5 -0
  126. package/src/components/ui/avatar.tsx +50 -0
  127. package/src/components/ui/badge.tsx +36 -0
  128. package/src/components/ui/breadcrumb.tsx +115 -0
  129. package/src/components/ui/button.tsx +56 -0
  130. package/src/components/ui/calendar.tsx +211 -0
  131. package/src/components/ui/card.tsx +79 -0
  132. package/src/components/ui/carousel.tsx +262 -0
  133. package/src/components/ui/chart.tsx +367 -0
  134. package/src/components/ui/checkbox.tsx +28 -0
  135. package/src/components/ui/collapsible.tsx +11 -0
  136. package/src/components/ui/command.tsx +153 -0
  137. package/src/components/ui/component-placeholder.tsx +38 -0
  138. package/src/components/ui/context-menu.tsx +198 -0
  139. package/src/components/ui/dialog.tsx +122 -0
  140. package/src/components/ui/drawer.tsx +116 -0
  141. package/src/components/ui/dropdown-menu.tsx +200 -0
  142. package/src/components/ui/form.tsx +176 -0
  143. package/src/components/ui/hover-card.tsx +27 -0
  144. package/src/components/ui/input-otp.tsx +69 -0
  145. package/src/components/ui/input.tsx +22 -0
  146. package/src/components/ui/label.tsx +24 -0
  147. package/src/components/ui/menubar.tsx +256 -0
  148. package/src/components/ui/navigation-menu.tsx +128 -0
  149. package/src/components/ui/pagination.tsx +117 -0
  150. package/src/components/ui/popover.tsx +29 -0
  151. package/src/components/ui/progress.tsx +28 -0
  152. package/src/components/ui/radio-group.tsx +42 -0
  153. package/src/components/ui/resizable.tsx +45 -0
  154. package/src/components/ui/scroll-area.tsx +46 -0
  155. package/src/components/ui/select.tsx +160 -0
  156. package/src/components/ui/separator.tsx +29 -0
  157. package/src/components/ui/sheet.tsx +140 -0
  158. package/src/components/ui/skeleton.tsx +15 -0
  159. package/src/components/ui/slider.tsx +26 -0
  160. package/src/components/ui/sonner.tsx +45 -0
  161. package/src/components/ui/switch.tsx +27 -0
  162. package/src/components/ui/table.tsx +117 -0
  163. package/src/components/ui/tabs.tsx +53 -0
  164. package/src/components/ui/textarea.tsx +22 -0
  165. package/src/components/ui/toast.tsx +127 -0
  166. package/src/components/ui/toaster.tsx +33 -0
  167. package/src/components/ui/toggle-group.tsx +61 -0
  168. package/src/components/ui/toggle.tsx +45 -0
  169. package/src/components/ui/tooltip.tsx +28 -0
  170. package/src/hooks/use-toast.ts +194 -0
  171. package/src/index.ts +53 -56
  172. package/src/styles/index.css +6 -0
  173. package/src/styles/tokens.css +30 -18
  174. package/tailwind.config.js +120 -98
  175. package/tsconfig.json +2 -2
  176. package/src/components/ui/accordion/Accordion.vue +0 -13
  177. package/src/components/ui/accordion/AccordionContent.vue +0 -20
  178. package/src/components/ui/accordion/AccordionItem.vue +0 -15
  179. package/src/components/ui/accordion/AccordionTrigger.vue +0 -25
  180. package/src/components/ui/accordion/index.ts +0 -4
  181. package/src/components/ui/alert/Alert.vue +0 -38
  182. package/src/components/ui/alert/AlertDescription.vue +0 -12
  183. package/src/components/ui/alert/AlertTitle.vue +0 -12
  184. package/src/components/ui/alert/index.ts +0 -3
  185. package/src/components/ui/alert-dialog/AlertDialog.vue +0 -13
  186. package/src/components/ui/alert-dialog/AlertDialogAction.vue +0 -21
  187. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +0 -21
  188. package/src/components/ui/alert-dialog/AlertDialogContent.vue +0 -39
  189. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +0 -15
  190. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +0 -12
  191. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +0 -12
  192. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +0 -15
  193. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +0 -11
  194. package/src/components/ui/alert-dialog/index.ts +0 -9
  195. package/src/components/ui/avatar/Avatar.vue +0 -14
  196. package/src/components/ui/avatar/index.ts +0 -1
  197. package/src/components/ui/badge/Badge.vue +0 -27
  198. package/src/components/ui/badge/index.ts +0 -1
  199. package/src/components/ui/breadcrumb/Breadcrumb.vue +0 -6
  200. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +0 -12
  201. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +0 -6
  202. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +0 -20
  203. package/src/components/ui/breadcrumb/BreadcrumbList.vue +0 -6
  204. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +0 -6
  205. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +0 -11
  206. package/src/components/ui/breadcrumb/index.ts +0 -7
  207. package/src/components/ui/button/Button.vue +0 -65
  208. package/src/components/ui/button/index.ts +0 -1
  209. package/src/components/ui/card/Card.vue +0 -13
  210. package/src/components/ui/card/CardContent.vue +0 -7
  211. package/src/components/ui/card/CardDescription.vue +0 -7
  212. package/src/components/ui/card/CardFooter.vue +0 -7
  213. package/src/components/ui/card/CardHeader.vue +0 -9
  214. package/src/components/ui/card/CardTitle.vue +0 -7
  215. package/src/components/ui/card/index.ts +0 -6
  216. package/src/components/ui/checkbox/Checkbox.vue +0 -25
  217. package/src/components/ui/checkbox/index.ts +0 -1
  218. package/src/components/ui/collapsible/Collapsible.vue +0 -13
  219. package/src/components/ui/collapsible/index.ts +0 -2
  220. package/src/components/ui/command/Command.vue +0 -16
  221. package/src/components/ui/command/CommandEmpty.vue +0 -5
  222. package/src/components/ui/command/CommandGroup.vue +0 -22
  223. package/src/components/ui/command/CommandInput.vue +0 -21
  224. package/src/components/ui/command/CommandItem.vue +0 -22
  225. package/src/components/ui/command/CommandList.vue +0 -17
  226. package/src/components/ui/command/CommandSeparator.vue +0 -5
  227. package/src/components/ui/command/index.ts +0 -7
  228. package/src/components/ui/context-menu/ContextMenuContent.vue +0 -24
  229. package/src/components/ui/context-menu/ContextMenuItem.vue +0 -16
  230. package/src/components/ui/context-menu/ContextMenuLabel.vue +0 -9
  231. package/src/components/ui/context-menu/ContextMenuSeparator.vue +0 -9
  232. package/src/components/ui/context-menu/ContextMenuSubContent.vue +0 -14
  233. package/src/components/ui/context-menu/index.ts +0 -9
  234. package/src/components/ui/dialog/Dialog.vue +0 -14
  235. package/src/components/ui/dialog/DialogClose.vue +0 -12
  236. package/src/components/ui/dialog/DialogContent.vue +0 -48
  237. package/src/components/ui/dialog/DialogDescription.vue +0 -23
  238. package/src/components/ui/dialog/DialogFooter.vue +0 -12
  239. package/src/components/ui/dialog/DialogHeader.vue +0 -12
  240. package/src/components/ui/dialog/DialogScrollContent.vue +0 -47
  241. package/src/components/ui/dialog/DialogTitle.vue +0 -23
  242. package/src/components/ui/dialog/DialogTrigger.vue +0 -12
  243. package/src/components/ui/dialog/index.ts +0 -9
  244. package/src/components/ui/dropdown-menu/DropdownMenu.vue +0 -13
  245. package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +0 -28
  246. package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +0 -33
  247. package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +0 -11
  248. package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +0 -27
  249. package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +0 -23
  250. package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +0 -13
  251. package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +0 -27
  252. package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +0 -13
  253. package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +0 -12
  254. package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +0 -13
  255. package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +0 -27
  256. package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +0 -23
  257. package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +0 -11
  258. package/src/components/ui/dropdown-menu/index.ts +0 -14
  259. package/src/components/ui/form/FormControl.vue +0 -3
  260. package/src/components/ui/form/FormDescription.vue +0 -6
  261. package/src/components/ui/form/FormItem.vue +0 -6
  262. package/src/components/ui/form/FormLabel.vue +0 -10
  263. package/src/components/ui/form/FormMessage.vue +0 -10
  264. package/src/components/ui/form/index.ts +0 -9
  265. package/src/components/ui/hover-card/HoverCard.vue +0 -13
  266. package/src/components/ui/hover-card/HoverCardContent.vue +0 -26
  267. package/src/components/ui/hover-card/HoverCardTrigger.vue +0 -11
  268. package/src/components/ui/hover-card/index.ts +0 -3
  269. package/src/components/ui/input/Input.vue +0 -23
  270. package/src/components/ui/input/index.ts +0 -1
  271. package/src/components/ui/label/Label.vue +0 -18
  272. package/src/components/ui/label/index.ts +0 -1
  273. package/src/components/ui/lib/utils.ts +0 -2
  274. package/src/components/ui/menubar/MenubarContent.vue +0 -15
  275. package/src/components/ui/menubar/MenubarItem.vue +0 -13
  276. package/src/components/ui/menubar/MenubarTrigger.vue +0 -13
  277. package/src/components/ui/menubar/index.ts +0 -5
  278. package/src/components/ui/navigation-menu/NavigationMenuContent.vue +0 -14
  279. package/src/components/ui/navigation-menu/NavigationMenuTrigger.vue +0 -15
  280. package/src/components/ui/navigation-menu/index.ts +0 -4
  281. package/src/components/ui/pagination/PaginationContent.vue +0 -13
  282. package/src/components/ui/pagination/PaginationEllipsis.vue +0 -12
  283. package/src/components/ui/pagination/PaginationNext.vue +0 -14
  284. package/src/components/ui/pagination/PaginationPrev.vue +0 -14
  285. package/src/components/ui/pagination/index.ts +0 -6
  286. package/src/components/ui/popover/Popover.vue +0 -13
  287. package/src/components/ui/popover/PopoverContent.vue +0 -27
  288. package/src/components/ui/popover/PopoverTrigger.vue +0 -11
  289. package/src/components/ui/popover/index.ts +0 -3
  290. package/src/components/ui/progress/Progress.vue +0 -21
  291. package/src/components/ui/progress/index.ts +0 -1
  292. package/src/components/ui/radio-group/RadioGroup.vue +0 -16
  293. package/src/components/ui/radio-group/RadioGroupItem.vue +0 -24
  294. package/src/components/ui/radio-group/index.ts +0 -2
  295. package/src/components/ui/scroll-area/ScrollArea.vue +0 -13
  296. package/src/components/ui/scroll-area/index.ts +0 -1
  297. package/src/components/ui/select/Select.vue +0 -13
  298. package/src/components/ui/select/SelectContent.vue +0 -40
  299. package/src/components/ui/select/SelectGroup.vue +0 -15
  300. package/src/components/ui/select/SelectItem.vue +0 -30
  301. package/src/components/ui/select/SelectLabel.vue +0 -15
  302. package/src/components/ui/select/SelectSeparator.vue +0 -13
  303. package/src/components/ui/select/SelectTrigger.vue +0 -23
  304. package/src/components/ui/select/SelectValue.vue +0 -11
  305. package/src/components/ui/select/index.ts +0 -8
  306. package/src/components/ui/separator/Separator.vue +0 -16
  307. package/src/components/ui/separator/index.ts +0 -1
  308. package/src/components/ui/sheet/Sheet.vue +0 -13
  309. package/src/components/ui/sheet/SheetClose.vue +0 -11
  310. package/src/components/ui/sheet/SheetContent.vue +0 -65
  311. package/src/components/ui/sheet/SheetDescription.vue +0 -15
  312. package/src/components/ui/sheet/SheetFooter.vue +0 -12
  313. package/src/components/ui/sheet/SheetHeader.vue +0 -12
  314. package/src/components/ui/sheet/SheetTitle.vue +0 -15
  315. package/src/components/ui/sheet/SheetTrigger.vue +0 -11
  316. package/src/components/ui/sheet/index.ts +0 -8
  317. package/src/components/ui/skeleton/Skeleton.vue +0 -9
  318. package/src/components/ui/skeleton/index.ts +0 -1
  319. package/src/components/ui/slider/Slider.vue +0 -26
  320. package/src/components/ui/slider/index.ts +0 -1
  321. package/src/components/ui/switch/Switch.vue +0 -24
  322. package/src/components/ui/switch/index.ts +0 -1
  323. package/src/components/ui/table/Table.vue +0 -13
  324. package/src/components/ui/table/TableBody.vue +0 -6
  325. package/src/components/ui/table/TableCaption.vue +0 -6
  326. package/src/components/ui/table/TableCell.vue +0 -6
  327. package/src/components/ui/table/TableFooter.vue +0 -6
  328. package/src/components/ui/table/TableHead.vue +0 -6
  329. package/src/components/ui/table/TableHeader.vue +0 -6
  330. package/src/components/ui/table/TableRow.vue +0 -6
  331. package/src/components/ui/table/index.ts +0 -8
  332. package/src/components/ui/tabs/Tabs.vue +0 -13
  333. package/src/components/ui/tabs/TabsContent.vue +0 -21
  334. package/src/components/ui/tabs/TabsList.vue +0 -21
  335. package/src/components/ui/tabs/TabsTrigger.vue +0 -21
  336. package/src/components/ui/tabs/index.ts +0 -4
  337. package/src/components/ui/textarea/Textarea.vue +0 -29
  338. package/src/components/ui/textarea/index.ts +0 -1
  339. package/src/components/ui/toggle/Toggle.vue +0 -40
  340. package/src/components/ui/toggle/index.ts +0 -1
  341. package/src/components/ui/toggle-group/ToggleGroup.vue +0 -16
  342. package/src/components/ui/toggle-group/ToggleGroupItem.vue +0 -21
  343. package/src/components/ui/toggle-group/index.ts +0 -2
  344. package/src/components/ui/tooltip/Tooltip.vue +0 -13
  345. package/src/components/ui/tooltip/TooltipContent.vue +0 -27
  346. package/src/components/ui/tooltip/TooltipProvider.vue +0 -12
  347. package/src/components/ui/tooltip/TooltipTrigger.vue +0 -11
  348. package/src/components/ui/tooltip/index.ts +0 -4
@@ -15,7 +15,7 @@
15
15
  --card-foreground: 240 10% 3.9%;
16
16
  --popover: 0 0% 100%;
17
17
  --popover-foreground: 240 10% 3.9%;
18
- --primary: 252 100% 63%; /* Vibrant purple — Reinvented brand */
18
+ --primary: 12 85% 60%; /* Medium Coral — Reinvented brand */
19
19
  --primary-foreground: 0 0% 100%;
20
20
  --secondary: 240 4.8% 95.9%;
21
21
  --secondary-foreground: 240 5.9% 10%;
@@ -27,15 +27,15 @@
27
27
  --destructive-foreground: 0 0% 98%;
28
28
  --border: 240 5.9% 90%;
29
29
  --input: 240 5.9% 90%;
30
- --ring: 252 100% 63%;
30
+ --ring: 12 85% 60%;
31
31
  --radius: 0.625rem;
32
32
 
33
33
  /* ── Success / Warning / Info ──────────────────────────────── */
34
- --success: 142 76% 36%;
34
+ --success: 142 60% 45%;
35
35
  --success-foreground: 0 0% 100%;
36
- --warning: 38 92% 50%;
36
+ --warning: 38 80% 55%;
37
37
  --warning-foreground: 0 0% 100%;
38
- --info: 217 91% 60%;
38
+ --info: 217 80% 55%;
39
39
  --info-foreground: 0 0% 100%;
40
40
 
41
41
  /* ── Typography ────────────────────────────────────────────── */
@@ -86,12 +86,20 @@
86
86
  /* ── Sidebar (for ShadCN sidebar component) ────────────────── */
87
87
  --sidebar-background: 0 0% 98%;
88
88
  --sidebar-foreground: 240 5.3% 26.1%;
89
- --sidebar-primary: 252 100% 63%;
89
+ --sidebar-primary: 12 85% 60%;
90
90
  --sidebar-primary-foreground: 0 0% 100%;
91
91
  --sidebar-accent: 240 4.8% 95.9%;
92
92
  --sidebar-accent-foreground: 240 5.9% 10%;
93
93
  --sidebar-border: 220 13% 91%;
94
- --sidebar-ring: 252 100% 63%;
94
+ --sidebar-ring: 12 85% 60%;
95
+
96
+ /* ── Charts (Unovis) ───────────────────────────────────────── */
97
+ --vis-primary-color: var(--primary);
98
+ --vis-secondary-color: var(--muted);
99
+ --vis-text-color: var(--foreground);
100
+ --vis-tooltip-background-color: hsl(var(--popover));
101
+ --vis-tooltip-border-color: hsl(var(--border));
102
+ --vis-tooltip-text-color: hsl(var(--popover-foreground));
95
103
  }
96
104
 
97
105
  /* ── Dark Mode ───────────────────────────────────────────────── */
@@ -102,7 +110,7 @@
102
110
  --card-foreground: 0 0% 98%;
103
111
  --popover: 240 10% 3.9%;
104
112
  --popover-foreground: 0 0% 98%;
105
- --primary: 252 100% 69%;
113
+ --primary: 12 85% 65%;
106
114
  --primary-foreground: 0 0% 100%;
107
115
  --secondary: 240 3.7% 15.9%;
108
116
  --secondary-foreground: 0 0% 98%;
@@ -114,27 +122,26 @@
114
122
  --destructive-foreground: 0 0% 98%;
115
123
  --border: 240 3.7% 15.9%;
116
124
  --input: 240 3.7% 15.9%;
117
- --ring: 252 100% 69%;
125
+ --ring: 12 85% 65%;
118
126
 
119
- --success: 142 76% 45%;
120
- --warning: 38 92% 55%;
121
- --info: 217 91% 65%;
127
+ --success: 142 65% 50%;
128
+ --success-foreground: 0 0% 98%;
129
+ --warning: 38 85% 55%;
130
+ --warning-foreground: 0 0% 98%;
131
+ --info: 217 80% 60%;
132
+ --info-foreground: 0 0% 98%;
122
133
 
123
134
  --sidebar-background: 240 5.9% 10%;
124
135
  --sidebar-foreground: 240 4.8% 95.9%;
125
- --sidebar-primary: 252 100% 69%;
136
+ --sidebar-primary: 12 85% 65%;
126
137
  --sidebar-primary-foreground: 0 0% 100%;
127
138
  --sidebar-accent: 240 3.7% 15.9%;
128
139
  --sidebar-accent-foreground: 240 4.8% 95.9%;
129
140
  --sidebar-border: 240 3.7% 15.9%;
130
- --sidebar-ring: 252 100% 69%;
141
+ --sidebar-ring: 12 85% 65%;
131
142
  }
132
143
 
133
144
  /* ── Base Styles ─────────────────────────────────────────────── */
134
- * {
135
- border-color: hsl(var(--border));
136
- }
137
-
138
145
  body {
139
146
  font-family: var(--font-sans);
140
147
  background-color: hsl(var(--background));
@@ -142,3 +149,8 @@ body {
142
149
  -webkit-font-smoothing: antialiased;
143
150
  -moz-osx-font-smoothing: grayscale;
144
151
  }
152
+
153
+ /* ── Unovis Overrides ────────────────────────────────────────── */
154
+ .unovis-donut-central-label {
155
+ fill: hsl(var(--foreground)) !important;
156
+ }
@@ -1,108 +1,130 @@
1
1
  /** @type {import('tailwindcss').Config} */
2
2
  export default {
3
- darkMode: 'class',
3
+ darkMode: ['class', 'class'],
4
4
  content: [
5
5
  './src/**/*.{vue,ts,tsx}',
6
6
  // Consumer apps should add their own content paths
7
7
  ],
8
8
  theme: {
9
- container: {
10
- center: true,
11
- padding: '2rem',
12
- screens: { '2xl': '1400px' },
13
- },
14
- extend: {
15
- colors: {
16
- border: 'hsl(var(--border))',
17
- input: 'hsl(var(--input))',
18
- ring: 'hsl(var(--ring))',
19
- background: 'hsl(var(--background))',
20
- foreground: 'hsl(var(--foreground))',
21
- primary: {
22
- DEFAULT: 'hsl(var(--primary))',
23
- foreground: 'hsl(var(--primary-foreground))',
24
- },
25
- secondary: {
26
- DEFAULT: 'hsl(var(--secondary))',
27
- foreground: 'hsl(var(--secondary-foreground))',
28
- },
29
- destructive: {
30
- DEFAULT: 'hsl(var(--destructive))',
31
- foreground: 'hsl(var(--destructive-foreground))',
32
- },
33
- muted: {
34
- DEFAULT: 'hsl(var(--muted))',
35
- foreground: 'hsl(var(--muted-foreground))',
36
- },
37
- accent: {
38
- DEFAULT: 'hsl(var(--accent))',
39
- foreground: 'hsl(var(--accent-foreground))',
40
- },
41
- popover: {
42
- DEFAULT: 'hsl(var(--popover))',
43
- foreground: 'hsl(var(--popover-foreground))',
44
- },
45
- card: {
46
- DEFAULT: 'hsl(var(--card))',
47
- foreground: 'hsl(var(--card-foreground))',
48
- },
49
- success: {
50
- DEFAULT: 'hsl(var(--success))',
51
- foreground: 'hsl(var(--success-foreground))',
52
- },
53
- warning: {
54
- DEFAULT: 'hsl(var(--warning))',
55
- foreground: 'hsl(var(--warning-foreground))',
56
- },
57
- info: {
58
- DEFAULT: 'hsl(var(--info))',
59
- foreground: 'hsl(var(--info-foreground))',
60
- },
61
- sidebar: {
62
- DEFAULT: 'hsl(var(--sidebar-background))',
63
- foreground: 'hsl(var(--sidebar-foreground))',
64
- primary: 'hsl(var(--sidebar-primary))',
65
- 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
66
- accent: 'hsl(var(--sidebar-accent))',
67
- 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
68
- border: 'hsl(var(--sidebar-border))',
69
- ring: 'hsl(var(--sidebar-ring))',
70
- },
71
- },
72
- borderRadius: {
73
- lg: 'var(--radius)',
74
- md: 'calc(var(--radius) - 2px)',
75
- sm: 'calc(var(--radius) - 4px)',
76
- },
77
- fontFamily: {
78
- sans: ['var(--font-sans)'],
79
- mono: ['var(--font-mono)'],
80
- },
81
- keyframes: {
82
- 'accordion-down': {
83
- from: { height: '0' },
84
- to: { height: 'var(--radix-accordion-content-height)' },
85
- },
86
- 'accordion-up': {
87
- from: { height: 'var(--radix-accordion-content-height)' },
88
- to: { height: '0' },
89
- },
90
- 'collapsible-down': {
91
- from: { height: '0' },
92
- to: { height: 'var(--radix-collapsible-content-height)' },
93
- },
94
- 'collapsible-up': {
95
- from: { height: 'var(--radix-collapsible-content-height)' },
96
- to: { height: '0' },
97
- },
98
- },
99
- animation: {
100
- 'accordion-down': 'accordion-down 0.2s ease-out',
101
- 'accordion-up': 'accordion-up 0.2s ease-out',
102
- 'collapsible-down': 'collapsible-down 0.2s ease-out',
103
- 'collapsible-up': 'collapsible-up 0.2s ease-out',
104
- },
105
- },
9
+ container: {
10
+ center: true,
11
+ padding: '2rem',
12
+ screens: {
13
+ '2xl': '1400px'
14
+ }
15
+ },
16
+ extend: {
17
+ colors: {
18
+ border: 'hsl(var(--border))',
19
+ input: 'hsl(var(--input))',
20
+ ring: 'hsl(var(--ring))',
21
+ background: 'hsl(var(--background))',
22
+ foreground: 'hsl(var(--foreground))',
23
+ primary: {
24
+ DEFAULT: 'hsl(var(--primary))',
25
+ foreground: 'hsl(var(--primary-foreground))'
26
+ },
27
+ secondary: {
28
+ DEFAULT: 'hsl(var(--secondary))',
29
+ foreground: 'hsl(var(--secondary-foreground))'
30
+ },
31
+ destructive: {
32
+ DEFAULT: 'hsl(var(--destructive))',
33
+ foreground: 'hsl(var(--destructive-foreground))'
34
+ },
35
+ muted: {
36
+ DEFAULT: 'hsl(var(--muted))',
37
+ foreground: 'hsl(var(--muted-foreground))'
38
+ },
39
+ accent: {
40
+ DEFAULT: 'hsl(var(--accent))',
41
+ foreground: 'hsl(var(--accent-foreground))'
42
+ },
43
+ popover: {
44
+ DEFAULT: 'hsl(var(--popover))',
45
+ foreground: 'hsl(var(--popover-foreground))'
46
+ },
47
+ card: {
48
+ DEFAULT: 'hsl(var(--card))',
49
+ foreground: 'hsl(var(--card-foreground))'
50
+ },
51
+ success: {
52
+ DEFAULT: 'hsl(var(--success))',
53
+ foreground: 'hsl(var(--success-foreground))'
54
+ },
55
+ warning: {
56
+ DEFAULT: 'hsl(var(--warning))',
57
+ foreground: 'hsl(var(--warning-foreground))'
58
+ },
59
+ info: {
60
+ DEFAULT: 'hsl(var(--info))',
61
+ foreground: 'hsl(var(--info-foreground))'
62
+ },
63
+ sidebar: {
64
+ DEFAULT: 'hsl(var(--sidebar-background))',
65
+ foreground: 'hsl(var(--sidebar-foreground))',
66
+ primary: 'hsl(var(--sidebar-primary))',
67
+ 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
68
+ accent: 'hsl(var(--sidebar-accent))',
69
+ 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
70
+ border: 'hsl(var(--sidebar-border))',
71
+ ring: 'hsl(var(--sidebar-ring))'
72
+ }
73
+ },
74
+ borderRadius: {
75
+ lg: 'var(--radius)',
76
+ md: 'calc(var(--radius) - 2px)',
77
+ sm: 'calc(var(--radius) - 4px)'
78
+ },
79
+ fontFamily: {
80
+ sans: [
81
+ 'var(--font-sans)'
82
+ ],
83
+ mono: [
84
+ 'var(--font-mono)'
85
+ ]
86
+ },
87
+ keyframes: {
88
+ 'accordion-down': {
89
+ from: {
90
+ height: '0'
91
+ },
92
+ to: {
93
+ height: 'var(--radix-accordion-content-height)'
94
+ }
95
+ },
96
+ 'accordion-up': {
97
+ from: {
98
+ height: 'var(--radix-accordion-content-height)'
99
+ },
100
+ to: {
101
+ height: '0'
102
+ }
103
+ },
104
+ 'collapsible-down': {
105
+ from: {
106
+ height: '0'
107
+ },
108
+ to: {
109
+ height: 'var(--radix-collapsible-content-height)'
110
+ }
111
+ },
112
+ 'collapsible-up': {
113
+ from: {
114
+ height: 'var(--radix-collapsible-content-height)'
115
+ },
116
+ to: {
117
+ height: '0'
118
+ }
119
+ }
120
+ },
121
+ animation: {
122
+ 'accordion-down': 'accordion-down 0.2s ease-out',
123
+ 'accordion-up': 'accordion-up 0.2s ease-out',
124
+ 'collapsible-down': 'collapsible-down 0.2s ease-out',
125
+ 'collapsible-up': 'collapsible-up 0.2s ease-out'
126
+ }
127
+ }
106
128
  },
107
129
  plugins: [require('tailwindcss-animate')],
108
130
  }
package/tsconfig.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "moduleResolution": "bundler",
6
6
  "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
7
  "strict": true,
8
- "jsx": "preserve",
8
+ "jsx": "react-jsx",
9
9
  "esModuleInterop": true,
10
10
  "skipLibCheck": true,
11
11
  "forceConsistentCasingInFileNames": true,
@@ -17,5 +17,5 @@
17
17
  },
18
18
  "noEmit": true
19
19
  },
20
- "include": ["src/**/*.ts", "src/**/*.vue", "src/env.d.ts"]
20
+ "include": ["src/**/*.ts", "src/**/*.tsx"]
21
21
  }
@@ -1,13 +0,0 @@
1
- <script setup lang="ts">
2
- import { AccordionRoot, type AccordionRootEmits, type AccordionRootProps, useForwardPropsEmits } from 'radix-vue'
3
-
4
- const props = defineProps<AccordionRootProps>()
5
- const emits = defineEmits<AccordionRootEmits>()
6
- const forwarded = useForwardPropsEmits(props, emits)
7
- </script>
8
-
9
- <template>
10
- <AccordionRoot v-bind="forwarded">
11
- <slot />
12
- </AccordionRoot>
13
- </template>
@@ -1,20 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AccordionContent, type AccordionContentProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '../lib/utils'
5
-
6
- const props = defineProps<AccordionContentProps & { class?: HTMLAttributes['class'] }>()
7
- const delegatedProps = computed(() => { const { class: _, ...d } = props; return d })
8
- const forwardedProps = useForwardProps(delegatedProps)
9
- </script>
10
-
11
- <template>
12
- <AccordionContent
13
- v-bind="forwardedProps"
14
- class="overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
15
- >
16
- <div :class="cn('pb-4 pt-0', props.class)">
17
- <slot />
18
- </div>
19
- </AccordionContent>
20
- </template>
@@ -1,15 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AccordionItem, type AccordionItemProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '../lib/utils'
5
-
6
- const props = defineProps<AccordionItemProps & { class?: HTMLAttributes['class'] }>()
7
- const delegatedProps = computed(() => { const { class: _, ...d } = props; return d })
8
- const forwardedProps = useForwardProps(delegatedProps)
9
- </script>
10
-
11
- <template>
12
- <AccordionItem v-bind="forwardedProps" :class="cn('border-b', props.class)">
13
- <slot />
14
- </AccordionItem>
15
- </template>
@@ -1,25 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AccordionHeader, AccordionTrigger, type AccordionTriggerProps, useForwardProps } from 'radix-vue'
4
- import { ChevronDown } from 'lucide-vue-next'
5
- import { cn } from '../lib/utils'
6
-
7
- const props = defineProps<AccordionTriggerProps & { class?: HTMLAttributes['class'] }>()
8
- const delegatedProps = computed(() => { const { class: _, ...d } = props; return d })
9
- const forwardedProps = useForwardProps(delegatedProps)
10
- </script>
11
-
12
- <template>
13
- <AccordionHeader class="flex">
14
- <AccordionTrigger
15
- v-bind="forwardedProps"
16
- :class="cn(
17
- 'flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180',
18
- props.class,
19
- )"
20
- >
21
- <slot />
22
- <ChevronDown class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" />
23
- </AccordionTrigger>
24
- </AccordionHeader>
25
- </template>
@@ -1,4 +0,0 @@
1
- export { default as Accordion } from './Accordion.vue'
2
- export { default as AccordionContent } from './AccordionContent.vue'
3
- export { default as AccordionItem } from './AccordionItem.vue'
4
- export { default as AccordionTrigger } from './AccordionTrigger.vue'
@@ -1,38 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { cva, type VariantProps } from 'class-variance-authority'
4
- import { cn } from '../lib/utils'
5
-
6
- const alertVariants = cva(
7
- 'relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7',
8
- {
9
- variants: {
10
- variant: {
11
- default: 'bg-background text-foreground',
12
- destructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',
13
- },
14
- },
15
- defaultVariants: {
16
- variant: 'default',
17
- },
18
- },
19
- )
20
-
21
- export type AlertVariants = VariantProps<typeof alertVariants>
22
-
23
- const props = defineProps<{
24
- variant?: AlertVariants['variant']
25
- class?: HTMLAttributes['class']
26
- }>()
27
-
28
- const delegatedProps = computed(() => {
29
- const { class: _, ...d } = props
30
- return d
31
- })
32
- </script>
33
-
34
- <template>
35
- <div :class="cn(alertVariants({ variant: delegatedProps.variant }), props.class)" role="alert">
36
- <slot />
37
- </div>
38
- </template>
@@ -1,12 +0,0 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from 'vue'
3
- import { cn } from '../lib/utils'
4
-
5
- const props = defineProps<{ class?: HTMLAttributes['class'] }>()
6
- </script>
7
-
8
- <template>
9
- <div :class="cn('text-sm [&_p]:leading-relaxed', props.class)">
10
- <slot />
11
- </div>
12
- </template>
@@ -1,12 +0,0 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from 'vue'
3
- import { cn } from '../lib/utils'
4
-
5
- const props = defineProps<{ class?: HTMLAttributes['class'] }>()
6
- </script>
7
-
8
- <template>
9
- <h5 :class="cn('mb-1 font-medium leading-none tracking-tight', props.class)">
10
- <slot />
11
- </h5>
12
- </template>
@@ -1,3 +0,0 @@
1
- export { default as Alert } from './Alert.vue'
2
- export { default as AlertDescription } from './AlertDescription.vue'
3
- export { default as AlertTitle } from './AlertTitle.vue'
@@ -1,13 +0,0 @@
1
- <script setup lang="ts">
2
- import { AlertDialogRoot, type AlertDialogEmits, type AlertDialogProps, useForwardPropsEmits } from 'radix-vue'
3
-
4
- const props = defineProps<AlertDialogProps>()
5
- const emits = defineEmits<AlertDialogEmits>()
6
- const forwarded = useForwardPropsEmits(props, emits)
7
- </script>
8
-
9
- <template>
10
- <AlertDialogRoot v-bind="forwarded">
11
- <slot />
12
- </AlertDialogRoot>
13
- </template>
@@ -1,21 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AlertDialogAction, type AlertDialogActionProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '../lib/utils'
5
-
6
- const props = defineProps<AlertDialogActionProps & { class?: HTMLAttributes['class'] }>()
7
- const delegatedProps = computed(() => { const { class: _, ...d } = props; return d })
8
- const forwardedProps = useForwardProps(delegatedProps)
9
- </script>
10
-
11
- <template>
12
- <AlertDialogAction
13
- v-bind="forwardedProps"
14
- :class="cn(
15
- 'inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
16
- props.class,
17
- )"
18
- >
19
- <slot />
20
- </AlertDialogAction>
21
- </template>
@@ -1,21 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AlertDialogCancel, type AlertDialogCancelProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '../lib/utils'
5
-
6
- const props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>()
7
- const delegatedProps = computed(() => { const { class: _, ...d } = props; return d })
8
- const forwardedProps = useForwardProps(delegatedProps)
9
- </script>
10
-
11
- <template>
12
- <AlertDialogCancel
13
- v-bind="forwardedProps"
14
- :class="cn(
15
- 'inline-flex h-10 items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-semibold ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 mt-2 sm:mt-0',
16
- props.class,
17
- )"
18
- >
19
- <slot />
20
- </AlertDialogCancel>
21
- </template>
@@ -1,39 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import {
4
- AlertDialogContent,
5
- type AlertDialogContentEmits,
6
- type AlertDialogContentProps,
7
- AlertDialogOverlay,
8
- AlertDialogPortal,
9
- useForwardPropsEmits,
10
- } from 'radix-vue'
11
- import { cn } from '../lib/utils'
12
-
13
- const props = defineProps<AlertDialogContentProps & { class?: HTMLAttributes['class'] }>()
14
- const emits = defineEmits<AlertDialogContentEmits>()
15
-
16
- const delegatedProps = computed(() => {
17
- const { class: _, ...delegated } = props
18
- return delegated
19
- })
20
-
21
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
22
- </script>
23
-
24
- <template>
25
- <AlertDialogPortal>
26
- <AlertDialogOverlay
27
- class="fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
28
- />
29
- <AlertDialogContent
30
- v-bind="forwarded"
31
- :class="cn(
32
- 'fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',
33
- props.class,
34
- )"
35
- >
36
- <slot />
37
- </AlertDialogContent>
38
- </AlertDialogPortal>
39
- </template>
@@ -1,15 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AlertDialogDescription, type AlertDialogDescriptionProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '../lib/utils'
5
-
6
- const props = defineProps<AlertDialogDescriptionProps & { class?: HTMLAttributes['class'] }>()
7
- const delegatedProps = computed(() => { const { class: _, ...d } = props; return d })
8
- const forwardedProps = useForwardProps(delegatedProps)
9
- </script>
10
-
11
- <template>
12
- <AlertDialogDescription v-bind="forwardedProps" :class="cn('text-sm text-muted-foreground', props.class)">
13
- <slot />
14
- </AlertDialogDescription>
15
- </template>
@@ -1,12 +0,0 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from 'vue'
3
- import { cn } from '../lib/utils'
4
-
5
- const props = defineProps<{ class?: HTMLAttributes['class'] }>()
6
- </script>
7
-
8
- <template>
9
- <div :class="cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2', props.class)">
10
- <slot />
11
- </div>
12
- </template>
@@ -1,12 +0,0 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from 'vue'
3
- import { cn } from '../lib/utils'
4
-
5
- const props = defineProps<{ class?: HTMLAttributes['class'] }>()
6
- </script>
7
-
8
- <template>
9
- <div :class="cn('flex flex-col gap-y-2 text-center sm:text-left', props.class)">
10
- <slot />
11
- </div>
12
- </template>