@edgedev/create-edge-app 1.1.5 → 1.1.6

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 (355) hide show
  1. package/assets/css/tailwind.css +12 -2
  2. package/components/ui/accordion/Accordion.vue +1 -1
  3. package/components/ui/accordion/AccordionContent.vue +3 -3
  4. package/components/ui/accordion/AccordionItem.vue +3 -3
  5. package/components/ui/accordion/AccordionTrigger.vue +4 -4
  6. package/components/ui/alert/Alert.vue +1 -1
  7. package/components/ui/alert/AlertDescription.vue +1 -1
  8. package/components/ui/alert/AlertTitle.vue +1 -1
  9. package/components/ui/alert/index.ts +2 -2
  10. package/components/ui/alert-dialog/AlertDialog.vue +1 -1
  11. package/components/ui/alert-dialog/AlertDialogAction.vue +4 -4
  12. package/components/ui/alert-dialog/AlertDialogCancel.vue +12 -5
  13. package/components/ui/alert-dialog/AlertDialogContent.vue +4 -4
  14. package/components/ui/alert-dialog/AlertDialogDescription.vue +3 -3
  15. package/components/ui/alert-dialog/AlertDialogFooter.vue +1 -1
  16. package/components/ui/alert-dialog/AlertDialogHeader.vue +1 -1
  17. package/components/ui/alert-dialog/AlertDialogTitle.vue +3 -3
  18. package/components/ui/alert-dialog/AlertDialogTrigger.vue +1 -1
  19. package/components/ui/alert-dialog/index.ts +5 -5
  20. package/components/ui/aspect-ratio/AspectRatio.vue +1 -1
  21. package/components/ui/auto-form/AutoForm.vue +8 -8
  22. package/components/ui/auto-form/AutoFormField.vue +1 -1
  23. package/components/ui/auto-form/AutoFormFieldArray.vue +9 -9
  24. package/components/ui/auto-form/AutoFormFieldBoolean.vue +9 -9
  25. package/components/ui/auto-form/AutoFormFieldDate.vue +9 -9
  26. package/components/ui/auto-form/AutoFormFieldEnum.vue +8 -8
  27. package/components/ui/auto-form/AutoFormFieldFile.vue +6 -6
  28. package/components/ui/auto-form/AutoFormFieldInput.vue +5 -5
  29. package/components/ui/auto-form/AutoFormFieldNumber.vue +4 -4
  30. package/components/ui/auto-form/AutoFormFieldObject.vue +5 -5
  31. package/components/ui/auto-form/AutoFormLabel.vue +1 -1
  32. package/components/ui/auto-form/constant.ts +2 -1
  33. package/components/ui/auto-form/dependencies.ts +4 -4
  34. package/components/ui/auto-form/index.ts +4 -4
  35. package/components/ui/auto-form/interface.ts +15 -1
  36. package/components/ui/auto-form/utils.ts +23 -6
  37. package/components/ui/avatar/Avatar.vue +3 -3
  38. package/components/ui/avatar/AvatarFallback.vue +1 -1
  39. package/components/ui/avatar/AvatarImage.vue +5 -2
  40. package/components/ui/avatar/index.ts +2 -2
  41. package/components/ui/badge/Badge.vue +1 -1
  42. package/components/ui/badge/index.ts +1 -1
  43. package/components/ui/breadcrumb/BreadcrumbEllipsis.vue +1 -1
  44. package/components/ui/breadcrumb/BreadcrumbItem.vue +1 -1
  45. package/components/ui/breadcrumb/BreadcrumbLink.vue +2 -2
  46. package/components/ui/breadcrumb/BreadcrumbList.vue +1 -1
  47. package/components/ui/breadcrumb/BreadcrumbPage.vue +1 -1
  48. package/components/ui/breadcrumb/BreadcrumbSeparator.vue +2 -2
  49. package/components/ui/button/Button.vue +2 -2
  50. package/components/ui/button/index.ts +3 -3
  51. package/components/ui/calendar/Calendar.vue +3 -3
  52. package/components/ui/calendar/CalendarCell.vue +4 -4
  53. package/components/ui/calendar/CalendarCellTrigger.vue +5 -5
  54. package/components/ui/calendar/CalendarGrid.vue +3 -3
  55. package/components/ui/calendar/CalendarGridBody.vue +1 -1
  56. package/components/ui/calendar/CalendarGridHead.vue +1 -1
  57. package/components/ui/calendar/CalendarGridRow.vue +3 -3
  58. package/components/ui/calendar/CalendarHeadCell.vue +3 -3
  59. package/components/ui/calendar/CalendarHeader.vue +3 -3
  60. package/components/ui/calendar/CalendarHeading.vue +7 -3
  61. package/components/ui/calendar/CalendarNextButton.vue +4 -4
  62. package/components/ui/calendar/CalendarPrevButton.vue +4 -4
  63. package/components/ui/card/Card.vue +1 -1
  64. package/components/ui/card/CardContent.vue +1 -1
  65. package/components/ui/card/CardDescription.vue +1 -1
  66. package/components/ui/card/CardFooter.vue +1 -1
  67. package/components/ui/card/CardHeader.vue +1 -1
  68. package/components/ui/card/CardTitle.vue +1 -1
  69. package/components/ui/card/index.ts +3 -3
  70. package/components/ui/carousel/Carousel.vue +15 -7
  71. package/components/ui/carousel/CarouselContent.vue +2 -2
  72. package/components/ui/carousel/CarouselItem.vue +2 -2
  73. package/components/ui/carousel/CarouselNext.vue +4 -3
  74. package/components/ui/carousel/CarouselPrevious.vue +4 -3
  75. package/components/ui/carousel/index.ts +5 -5
  76. package/components/ui/carousel/interface.ts +14 -8
  77. package/components/ui/carousel/useCarousel.ts +5 -8
  78. package/components/ui/chart/ChartCrosshair.vue +2 -2
  79. package/components/ui/chart/ChartLegend.vue +3 -3
  80. package/components/ui/chart/ChartSingleTooltip.vue +6 -7
  81. package/components/ui/chart/ChartTooltip.vue +1 -1
  82. package/components/ui/chart/index.ts +6 -6
  83. package/components/ui/chart-area/AreaChart.vue +10 -7
  84. package/components/ui/chart-bar/BarChart.vue +5 -5
  85. package/components/ui/chart-donut/DonutChart.vue +6 -6
  86. package/components/ui/chart-line/LineChart.vue +5 -5
  87. package/components/ui/checkbox/Checkbox.vue +4 -4
  88. package/components/ui/collapsible/Collapsible.vue +2 -2
  89. package/components/ui/collapsible/CollapsibleContent.vue +1 -1
  90. package/components/ui/collapsible/CollapsibleTrigger.vue +1 -1
  91. package/components/ui/collapsible/index.ts +1 -1
  92. package/components/ui/combobox/Combobox.vue +14 -0
  93. package/components/ui/combobox/ComboboxAnchor.vue +25 -0
  94. package/components/ui/combobox/ComboboxEmpty.vue +20 -0
  95. package/components/ui/combobox/ComboboxGroup.vue +29 -0
  96. package/components/ui/combobox/ComboboxInput.vue +28 -0
  97. package/components/ui/combobox/ComboboxItem.vue +26 -0
  98. package/components/ui/combobox/ComboboxList.vue +34 -0
  99. package/components/ui/combobox/ComboboxSeparator.vue +23 -0
  100. package/components/ui/combobox/ComboboxTrigger.vue +26 -0
  101. package/components/ui/combobox/index.ts +10 -0
  102. package/components/ui/command/Command.vue +71 -9
  103. package/components/ui/command/CommandDialog.vue +3 -3
  104. package/components/ui/command/CommandEmpty.vue +12 -7
  105. package/components/ui/command/CommandGroup.vue +26 -9
  106. package/components/ui/command/CommandInput.vue +10 -6
  107. package/components/ui/command/CommandItem.vue +61 -9
  108. package/components/ui/command/CommandList.vue +8 -11
  109. package/components/ui/command/CommandSeparator.vue +7 -7
  110. package/components/ui/command/CommandShortcut.vue +1 -1
  111. package/components/ui/command/index.ts +16 -0
  112. package/components/ui/context-menu/ContextMenu.vue +2 -2
  113. package/components/ui/context-menu/ContextMenuCheckboxItem.vue +4 -4
  114. package/components/ui/context-menu/ContextMenuContent.vue +3 -3
  115. package/components/ui/context-menu/ContextMenuGroup.vue +1 -1
  116. package/components/ui/context-menu/ContextMenuItem.vue +3 -3
  117. package/components/ui/context-menu/ContextMenuLabel.vue +3 -3
  118. package/components/ui/context-menu/ContextMenuPortal.vue +1 -1
  119. package/components/ui/context-menu/ContextMenuRadioGroup.vue +1 -1
  120. package/components/ui/context-menu/ContextMenuRadioItem.vue +4 -4
  121. package/components/ui/context-menu/ContextMenuSeparator.vue +3 -3
  122. package/components/ui/context-menu/ContextMenuShortcut.vue +1 -1
  123. package/components/ui/context-menu/ContextMenuSub.vue +1 -1
  124. package/components/ui/context-menu/ContextMenuSubContent.vue +3 -3
  125. package/components/ui/context-menu/ContextMenuSubTrigger.vue +4 -4
  126. package/components/ui/context-menu/ContextMenuTrigger.vue +1 -1
  127. package/components/ui/context-menu/index.ts +6 -6
  128. package/components/ui/dialog/Dialog.vue +1 -1
  129. package/components/ui/dialog/DialogClose.vue +1 -1
  130. package/components/ui/dialog/DialogContent.vue +5 -5
  131. package/components/ui/dialog/DialogDescription.vue +3 -3
  132. package/components/ui/dialog/DialogFooter.vue +1 -1
  133. package/components/ui/dialog/DialogHeader.vue +1 -1
  134. package/components/ui/dialog/DialogScrollContent.vue +5 -5
  135. package/components/ui/dialog/DialogTitle.vue +3 -3
  136. package/components/ui/dialog/DialogTrigger.vue +1 -1
  137. package/components/ui/dialog/index.ts +5 -5
  138. package/components/ui/drawer/Drawer.vue +1 -1
  139. package/components/ui/drawer/DrawerContent.vue +4 -4
  140. package/components/ui/drawer/DrawerDescription.vue +2 -2
  141. package/components/ui/drawer/DrawerFooter.vue +1 -1
  142. package/components/ui/drawer/DrawerHeader.vue +1 -1
  143. package/components/ui/drawer/DrawerOverlay.vue +3 -3
  144. package/components/ui/drawer/DrawerTitle.vue +2 -2
  145. package/components/ui/drawer/index.ts +4 -4
  146. package/components/ui/dropdown-menu/DropdownMenu.vue +1 -1
  147. package/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +4 -4
  148. package/components/ui/dropdown-menu/DropdownMenuContent.vue +3 -3
  149. package/components/ui/dropdown-menu/DropdownMenuGroup.vue +1 -1
  150. package/components/ui/dropdown-menu/DropdownMenuItem.vue +4 -4
  151. package/components/ui/dropdown-menu/DropdownMenuLabel.vue +3 -3
  152. package/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +1 -1
  153. package/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +4 -4
  154. package/components/ui/dropdown-menu/DropdownMenuSeparator.vue +3 -3
  155. package/components/ui/dropdown-menu/DropdownMenuShortcut.vue +1 -1
  156. package/components/ui/dropdown-menu/DropdownMenuSub.vue +1 -1
  157. package/components/ui/dropdown-menu/DropdownMenuSubContent.vue +3 -3
  158. package/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +4 -4
  159. package/components/ui/dropdown-menu/DropdownMenuTrigger.vue +1 -1
  160. package/components/ui/dropdown-menu/index.ts +8 -8
  161. package/components/ui/form/FormControl.vue +1 -1
  162. package/components/ui/form/FormDescription.vue +1 -1
  163. package/components/ui/form/FormItem.vue +2 -2
  164. package/components/ui/form/FormLabel.vue +3 -3
  165. package/components/ui/form/index.ts +3 -3
  166. package/components/ui/form/useFormField.ts +7 -7
  167. package/components/ui/hover-card/HoverCard.vue +1 -1
  168. package/components/ui/hover-card/HoverCardContent.vue +3 -3
  169. package/components/ui/hover-card/HoverCardTrigger.vue +1 -1
  170. package/components/ui/hover-card/index.ts +1 -1
  171. package/components/ui/input/Input.vue +1 -1
  172. package/components/ui/label/Label.vue +3 -3
  173. package/components/ui/menubar/Menubar.vue +3 -3
  174. package/components/ui/menubar/MenubarCheckboxItem.vue +4 -4
  175. package/components/ui/menubar/MenubarContent.vue +3 -3
  176. package/components/ui/menubar/MenubarGroup.vue +1 -1
  177. package/components/ui/menubar/MenubarItem.vue +3 -3
  178. package/components/ui/menubar/MenubarLabel.vue +2 -2
  179. package/components/ui/menubar/MenubarMenu.vue +1 -1
  180. package/components/ui/menubar/MenubarRadioGroup.vue +1 -1
  181. package/components/ui/menubar/MenubarRadioItem.vue +4 -4
  182. package/components/ui/menubar/MenubarSeparator.vue +3 -3
  183. package/components/ui/menubar/MenubarShortcut.vue +1 -1
  184. package/components/ui/menubar/MenubarSub.vue +1 -1
  185. package/components/ui/menubar/MenubarSubContent.vue +3 -3
  186. package/components/ui/menubar/MenubarSubTrigger.vue +3 -3
  187. package/components/ui/menubar/MenubarTrigger.vue +3 -3
  188. package/components/ui/menubar/index.ts +4 -4
  189. package/components/ui/navigation-menu/NavigationMenu.vue +3 -3
  190. package/components/ui/navigation-menu/NavigationMenuContent.vue +3 -3
  191. package/components/ui/navigation-menu/NavigationMenuIndicator.vue +3 -3
  192. package/components/ui/navigation-menu/NavigationMenuItem.vue +1 -1
  193. package/components/ui/navigation-menu/NavigationMenuLink.vue +1 -1
  194. package/components/ui/navigation-menu/NavigationMenuList.vue +3 -3
  195. package/components/ui/navigation-menu/NavigationMenuTrigger.vue +4 -4
  196. package/components/ui/navigation-menu/NavigationMenuViewport.vue +4 -4
  197. package/components/ui/navigation-menu/index.ts +5 -3
  198. package/components/ui/number-field/NumberField.vue +4 -4
  199. package/components/ui/number-field/NumberFieldContent.vue +2 -2
  200. package/components/ui/number-field/NumberFieldDecrement.vue +5 -5
  201. package/components/ui/number-field/NumberFieldIncrement.vue +5 -5
  202. package/components/ui/number-field/NumberFieldInput.vue +11 -3
  203. package/components/ui/number-field/index.ts +3 -3
  204. package/components/ui/pagination/PaginationEllipsis.vue +3 -3
  205. package/components/ui/pagination/PaginationFirst.vue +5 -5
  206. package/components/ui/pagination/PaginationLast.vue +5 -5
  207. package/components/ui/pagination/PaginationNext.vue +5 -5
  208. package/components/ui/pagination/PaginationPrev.vue +5 -5
  209. package/components/ui/pagination/index.ts +5 -5
  210. package/components/ui/pin-input/PinInput.vue +3 -3
  211. package/components/ui/pin-input/PinInputGroup.vue +3 -3
  212. package/components/ui/pin-input/PinInputInput.vue +3 -3
  213. package/components/ui/pin-input/PinInputSeparator.vue +1 -1
  214. package/components/ui/pin-input/index.ts +1 -1
  215. package/components/ui/popover/Popover.vue +2 -2
  216. package/components/ui/popover/PopoverContent.vue +3 -3
  217. package/components/ui/popover/PopoverTrigger.vue +1 -1
  218. package/components/ui/popover/index.ts +1 -1
  219. package/components/ui/progress/Progress.vue +3 -3
  220. package/components/ui/radio-group/RadioGroup.vue +3 -3
  221. package/components/ui/radio-group/RadioGroupItem.vue +8 -6
  222. package/components/ui/range-calendar/RangeCalendar.vue +3 -3
  223. package/components/ui/range-calendar/RangeCalendarCell.vue +4 -4
  224. package/components/ui/range-calendar/RangeCalendarCellTrigger.vue +5 -5
  225. package/components/ui/range-calendar/RangeCalendarGrid.vue +3 -3
  226. package/components/ui/range-calendar/RangeCalendarGridBody.vue +1 -1
  227. package/components/ui/range-calendar/RangeCalendarGridHead.vue +1 -1
  228. package/components/ui/range-calendar/RangeCalendarGridRow.vue +3 -3
  229. package/components/ui/range-calendar/RangeCalendarHeadCell.vue +4 -4
  230. package/components/ui/range-calendar/RangeCalendarHeader.vue +3 -3
  231. package/components/ui/range-calendar/RangeCalendarHeading.vue +7 -3
  232. package/components/ui/range-calendar/RangeCalendarNextButton.vue +4 -4
  233. package/components/ui/range-calendar/RangeCalendarPrevButton.vue +4 -4
  234. package/components/ui/resizable/ResizableHandle.vue +3 -3
  235. package/components/ui/resizable/ResizablePanelGroup.vue +3 -3
  236. package/components/ui/resizable/index.ts +2 -2
  237. package/components/ui/scroll-area/ScrollArea.vue +3 -3
  238. package/components/ui/scroll-area/ScrollBar.vue +3 -3
  239. package/components/ui/select/Select.vue +2 -2
  240. package/components/ui/select/SelectContent.vue +4 -4
  241. package/components/ui/select/SelectGroup.vue +3 -3
  242. package/components/ui/select/SelectItem.vue +4 -4
  243. package/components/ui/select/SelectItemText.vue +1 -1
  244. package/components/ui/select/SelectLabel.vue +2 -2
  245. package/components/ui/select/SelectScrollDownButton.vue +3 -3
  246. package/components/ui/select/SelectScrollUpButton.vue +3 -3
  247. package/components/ui/select/SelectSeparator.vue +3 -3
  248. package/components/ui/select/SelectTrigger.vue +5 -5
  249. package/components/ui/select/SelectValue.vue +1 -1
  250. package/components/ui/select/index.ts +4 -4
  251. package/components/ui/separator/Separator.vue +21 -6
  252. package/components/ui/sheet/Sheet.vue +1 -1
  253. package/components/ui/sheet/SheetClose.vue +1 -1
  254. package/components/ui/sheet/SheetContent.vue +5 -5
  255. package/components/ui/sheet/SheetDescription.vue +3 -3
  256. package/components/ui/sheet/SheetFooter.vue +1 -1
  257. package/components/ui/sheet/SheetHeader.vue +1 -1
  258. package/components/ui/sheet/SheetTitle.vue +3 -3
  259. package/components/ui/sheet/SheetTrigger.vue +1 -1
  260. package/components/ui/sheet/index.ts +4 -4
  261. package/components/ui/sidebar/Sidebar.vue +8 -8
  262. package/components/ui/sidebar/SidebarContent.vue +1 -1
  263. package/components/ui/sidebar/SidebarFooter.vue +1 -1
  264. package/components/ui/sidebar/SidebarGroup.vue +1 -1
  265. package/components/ui/sidebar/SidebarGroupAction.vue +3 -4
  266. package/components/ui/sidebar/SidebarGroupContent.vue +1 -1
  267. package/components/ui/sidebar/SidebarGroupLabel.vue +3 -3
  268. package/components/ui/sidebar/SidebarHeader.vue +1 -1
  269. package/components/ui/sidebar/SidebarInput.vue +2 -2
  270. package/components/ui/sidebar/SidebarInset.vue +1 -1
  271. package/components/ui/sidebar/SidebarMenu.vue +1 -1
  272. package/components/ui/sidebar/SidebarMenuAction.vue +2 -3
  273. package/components/ui/sidebar/SidebarMenuBadge.vue +1 -1
  274. package/components/ui/sidebar/SidebarMenuButton.vue +1 -1
  275. package/components/ui/sidebar/SidebarMenuButtonChild.vue +2 -2
  276. package/components/ui/sidebar/SidebarMenuItem.vue +1 -1
  277. package/components/ui/sidebar/SidebarMenuSkeleton.vue +2 -2
  278. package/components/ui/sidebar/SidebarMenuSub.vue +1 -1
  279. package/components/ui/sidebar/SidebarMenuSubButton.vue +3 -3
  280. package/components/ui/sidebar/SidebarProvider.vue +2 -2
  281. package/components/ui/sidebar/SidebarRail.vue +1 -1
  282. package/components/ui/sidebar/SidebarSeparator.vue +2 -2
  283. package/components/ui/sidebar/SidebarTrigger.vue +2 -2
  284. package/components/ui/sidebar/utils.ts +1 -1
  285. package/components/ui/skeleton/Skeleton.vue +1 -1
  286. package/components/ui/slider/Slider.vue +7 -7
  287. package/components/ui/stepper/Stepper.vue +31 -0
  288. package/components/ui/stepper/StepperDescription.vue +23 -0
  289. package/components/ui/stepper/StepperIndicator.vue +35 -0
  290. package/components/ui/stepper/StepperItem.vue +27 -0
  291. package/components/ui/stepper/StepperSeparator.vue +31 -0
  292. package/components/ui/stepper/StepperTitle.vue +23 -0
  293. package/components/ui/stepper/StepperTrigger.vue +26 -0
  294. package/components/ui/stepper/index.ts +7 -0
  295. package/components/ui/switch/Switch.vue +7 -5
  296. package/components/ui/table/Table.vue +1 -1
  297. package/components/ui/table/TableBody.vue +1 -1
  298. package/components/ui/table/TableCaption.vue +1 -1
  299. package/components/ui/table/TableCell.vue +1 -1
  300. package/components/ui/table/TableEmpty.vue +3 -3
  301. package/components/ui/table/TableFooter.vue +1 -1
  302. package/components/ui/table/TableHead.vue +1 -1
  303. package/components/ui/table/TableHeader.vue +1 -1
  304. package/components/ui/table/TableRow.vue +1 -1
  305. package/components/ui/table/index.ts +3 -2
  306. package/components/ui/tabs/Tabs.vue +2 -2
  307. package/components/ui/tabs/TabsContent.vue +3 -3
  308. package/components/ui/tabs/TabsList.vue +4 -4
  309. package/components/ui/tabs/TabsTrigger.vue +6 -4
  310. package/components/ui/tabs/index.ts +2 -2
  311. package/components/ui/tags-input/TagsInput.vue +3 -3
  312. package/components/ui/tags-input/TagsInputInput.vue +3 -3
  313. package/components/ui/tags-input/TagsInputItem.vue +3 -3
  314. package/components/ui/tags-input/TagsInputItemDelete.vue +3 -3
  315. package/components/ui/tags-input/TagsInputItemText.vue +3 -3
  316. package/components/ui/textarea/Textarea.vue +1 -1
  317. package/components/ui/toast/Toast.vue +2 -2
  318. package/components/ui/toast/ToastAction.vue +3 -3
  319. package/components/ui/toast/ToastClose.vue +3 -3
  320. package/components/ui/toast/ToastDescription.vue +3 -3
  321. package/components/ui/toast/ToastProvider.vue +1 -1
  322. package/components/ui/toast/ToastTitle.vue +3 -3
  323. package/components/ui/toast/ToastViewport.vue +3 -3
  324. package/components/ui/toast/Toaster.vue +1 -1
  325. package/components/ui/toast/index.ts +6 -6
  326. package/components/ui/toast/use-toast.ts +1 -1
  327. package/components/ui/toggle/Toggle.vue +3 -3
  328. package/components/ui/toggle/index.ts +5 -5
  329. package/components/ui/toggle-group/ToggleGroup.vue +4 -4
  330. package/components/ui/toggle-group/ToggleGroupItem.vue +4 -4
  331. package/components/ui/tooltip/Tooltip.vue +1 -1
  332. package/components/ui/tooltip/TooltipContent.vue +3 -3
  333. package/components/ui/tooltip/TooltipProvider.vue +1 -1
  334. package/components/ui/tooltip/TooltipTrigger.vue +1 -1
  335. package/components/ui/tooltip/index.ts +1 -1
  336. package/components.json +10 -7
  337. package/lib/utils.ts +9 -0
  338. package/nuxt.config.ts +1 -1
  339. package/package.json +13 -13
  340. package/components/ui/accordion/index.js +0 -4
  341. package/components/ui/alert/index.js +0 -21
  342. package/components/ui/button/index.js +0 -33
  343. package/components/ui/card/index.js +0 -6
  344. package/components/ui/command/index.js +0 -9
  345. package/components/ui/dialog/index.js +0 -9
  346. package/components/ui/form/index.js +0 -7
  347. package/components/ui/form/injectionKeys.js +0 -1
  348. package/components/ui/form/useFormField.js +0 -36
  349. package/components/ui/input/index.js +0 -1
  350. package/components/ui/label/index.js +0 -1
  351. package/components/ui/popover/index.js +0 -3
  352. package/components/ui/progress/index.js +0 -1
  353. package/components/ui/separator/index.js +0 -1
  354. package/components/ui/v-calendar/Calendar.vue +0 -331
  355. package/components/ui/v-calendar/index.ts +0 -22
@@ -1,15 +1,15 @@
1
- export { getObjectFormSchema, getBaseSchema, getBaseType } from './utils'
2
- export type { Config, ConfigItem, FieldProps } from './interface'
3
-
4
1
  export { default as AutoForm } from './AutoForm.vue'
5
2
  export { default as AutoFormField } from './AutoFormField.vue'
6
- export { default as AutoFormLabel } from './AutoFormLabel.vue'
7
3
 
8
4
  export { default as AutoFormFieldArray } from './AutoFormFieldArray.vue'
9
5
  export { default as AutoFormFieldBoolean } from './AutoFormFieldBoolean.vue'
10
6
  export { default as AutoFormFieldDate } from './AutoFormFieldDate.vue'
7
+
11
8
  export { default as AutoFormFieldEnum } from './AutoFormFieldEnum.vue'
12
9
  export { default as AutoFormFieldFile } from './AutoFormFieldFile.vue'
13
10
  export { default as AutoFormFieldInput } from './AutoFormFieldInput.vue'
14
11
  export { default as AutoFormFieldNumber } from './AutoFormFieldNumber.vue'
15
12
  export { default as AutoFormFieldObject } from './AutoFormFieldObject.vue'
13
+ export { default as AutoFormLabel } from './AutoFormLabel.vue'
14
+ export type { Config, ConfigItem, FieldProps } from './interface'
15
+ export { getBaseSchema, getBaseType, getObjectFormSchema } from './utils'
@@ -1,5 +1,5 @@
1
1
  import type { Component, InputHTMLAttributes } from 'vue'
2
- import type { ZodAny, z } from 'zod'
2
+ import type { z, ZodAny } from 'zod'
3
3
  import type { INPUT_COMPONENTS } from './constant'
4
4
 
5
5
  export interface FieldProps {
@@ -18,6 +18,20 @@ export interface Shape {
18
18
  schema?: ZodAny
19
19
  }
20
20
 
21
+ export interface InputComponents {
22
+ date: Component
23
+ select: Component
24
+ radio: Component
25
+ checkbox: Component
26
+ switch: Component
27
+ textarea: Component
28
+ number: Component
29
+ string: Component
30
+ file: Component
31
+ array: Component
32
+ object: Component
33
+ }
34
+
21
35
  export interface ConfigItem {
22
36
  /** Value for the `FormLabel` */
23
37
  label?: string
@@ -39,7 +39,7 @@ export function getBaseSchema<
39
39
  ChildType extends z.ZodAny | z.AnyZodObject = z.ZodAny,
40
40
  >(schema: ChildType | z.ZodEffects<ChildType>): ChildType | null {
41
41
  if (!schema)
42
- return null
42
+ return null;
43
43
  if ('innerType' in schema._def)
44
44
  return getBaseSchema(schema._def.innerType as ChildType)
45
45
 
@@ -55,7 +55,7 @@ export function getBaseSchema<
55
55
  */
56
56
  export function getBaseType(schema: z.ZodAny) {
57
57
  const baseSchema = getBaseSchema(schema)
58
- return baseSchema ? baseSchema._def.typeName : ''
58
+ return baseSchema ? baseSchema._def.typeName : '';
59
59
  }
60
60
 
61
61
  /**
@@ -94,7 +94,7 @@ export function getObjectFormSchema(
94
94
  }
95
95
 
96
96
  function isIndex(value: unknown): value is number {
97
- return Number(value) >= 0
97
+ return Number(value) >= 0;
98
98
  }
99
99
  /**
100
100
  * Constructs a path with dot paths for arrays to use brackets to be compatible with vee-validate path syntax
@@ -102,7 +102,7 @@ function isIndex(value: unknown): value is number {
102
102
  export function normalizeFormPath(path: string): string {
103
103
  const pathArr = path.split('.')
104
104
  if (!pathArr.length)
105
- return ''
105
+ return '';
106
106
 
107
107
  let fullPath = String(pathArr[0])
108
108
  for (let i = 1; i < pathArr.length; i++) {
@@ -125,14 +125,14 @@ export function isNotNestedPath(path: string) {
125
125
  return /^\[.+\]$/.test(path)
126
126
  }
127
127
  function isObject(obj: unknown): obj is Record<string, unknown> {
128
- return obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj)
128
+ return obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj);
129
129
  }
130
130
  function isContainerValue(value: unknown): value is Record<string, unknown> {
131
131
  return isObject(value) || Array.isArray(value)
132
132
  }
133
133
  function cleanupNonNestedPath(path: string) {
134
134
  if (isNotNestedPath(path))
135
- return path.replace(/\[|\]/g, '')
135
+ return path.replace(/\[|\]/g, '');
136
136
 
137
137
  return path
138
138
  }
@@ -169,3 +169,20 @@ export function getFromPath<TValue = unknown, TFallback = TValue>(
169
169
 
170
170
  return resolvedValue as TValue | undefined
171
171
  }
172
+
173
+ type Booleanish = boolean | 'true' | 'false'
174
+
175
+ export function booleanishToBoolean(value: Booleanish) {
176
+ switch (value) {
177
+ case 'true':
178
+ case true:
179
+ return true;
180
+ case 'false':
181
+ case false:
182
+ return false;
183
+ }
184
+ }
185
+
186
+ export function maybeBooleanishToBoolean(value?: Booleanish) {
187
+ return value ? booleanishToBoolean(value) : undefined
188
+ }
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { AvatarRoot } from 'radix-vue'
4
- import { type AvatarVariants, avatarVariant } from '.'
5
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
+ import { AvatarRoot } from 'reka-ui'
5
+ import { avatarVariant, type AvatarVariants } from '.'
6
6
 
7
7
  const props = withDefaults(defineProps<{
8
8
  class?: HTMLAttributes['class']
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { AvatarFallback, type AvatarFallbackProps } from 'radix-vue'
2
+ import { AvatarFallback, type AvatarFallbackProps } from 'reka-ui'
3
3
 
4
4
  const props = defineProps<AvatarFallbackProps>()
5
5
  </script>
@@ -1,9 +1,12 @@
1
1
  <script setup lang="ts">
2
- import { AvatarImage, type AvatarImageProps } from 'radix-vue'
2
+ import type { AvatarImageProps } from 'reka-ui'
3
+ import { AvatarImage } from 'reka-ui'
3
4
 
4
5
  const props = defineProps<AvatarImageProps>()
5
6
  </script>
6
7
 
7
8
  <template>
8
- <AvatarImage v-bind="props" class="h-full w-full object-cover" />
9
+ <AvatarImage v-bind="props" class="h-full w-full object-cover">
10
+ <slot />
11
+ </AvatarImage>
9
12
  </template>
@@ -1,8 +1,8 @@
1
- import { type VariantProps, cva } from 'class-variance-authority'
1
+ import { cva, type VariantProps } from 'class-variance-authority'
2
2
 
3
3
  export { default as Avatar } from './Avatar.vue'
4
- export { default as AvatarImage } from './AvatarImage.vue'
5
4
  export { default as AvatarFallback } from './AvatarFallback.vue'
5
+ export { default as AvatarImage } from './AvatarImage.vue'
6
6
 
7
7
  export const avatarVariant = cva(
8
8
  'inline-flex items-center justify-center font-normal text-foreground select-none shrink-0 bg-secondary overflow-hidden',
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
+ import { cn } from '~/lib/utils'
3
4
  import { type BadgeVariants, badgeVariants } from '.'
4
- import { cn } from '@/lib/utils'
5
5
 
6
6
  const props = defineProps<{
7
7
  variant?: BadgeVariants['variant']
@@ -1,4 +1,4 @@
1
- import { type VariantProps, cva } from 'class-variance-authority'
1
+ import { cva, type VariantProps } from 'class-variance-authority'
2
2
 
3
3
  export { default as Badge } from './Badge.vue'
4
4
 
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import type { HTMLAttributes } from 'vue'
3
+ import { cn } from '~/lib/utils'
3
4
  import { MoreHorizontal } from 'lucide-vue-next'
4
- import { cn } from '@/lib/utils'
5
5
 
6
6
  const props = defineProps<{
7
7
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { Primitive, type PrimitiveProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
+ import { Primitive, type PrimitiveProps } from 'reka-ui'
5
5
 
6
6
  const props = withDefaults(defineProps<PrimitiveProps & { class?: HTMLAttributes['class'] }>(), {
7
7
  as: 'a',
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import type { HTMLAttributes } from 'vue'
3
+ import { cn } from '~/lib/utils'
3
4
  import { ChevronRight } from 'lucide-vue-next'
4
- import { cn } from '@/lib/utils'
5
5
 
6
6
  const props = defineProps<{
7
7
  class?: HTMLAttributes['class']
@@ -12,7 +12,7 @@ const props = defineProps<{
12
12
  <li
13
13
  role="presentation"
14
14
  aria-hidden="true"
15
- :class="cn('[&>svg]:size-3.5', props.class)"
15
+ :class="cn('[&>svg]:w-3.5 [&>svg]:h-3.5', props.class)"
16
16
  >
17
17
  <slot>
18
18
  <ChevronRight />
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { Primitive, type PrimitiveProps } from 'radix-vue'
3
+ import { cn } from '~/lib/utils'
4
+ import { Primitive, type PrimitiveProps } from 'reka-ui'
4
5
  import { type ButtonVariants, buttonVariants } from '.'
5
- import { cn } from '@/lib/utils'
6
6
 
7
7
  interface Props extends PrimitiveProps {
8
8
  variant?: ButtonVariants['variant']
@@ -1,9 +1,10 @@
1
- import { type VariantProps, cva } from 'class-variance-authority'
1
+ import type { VariantProps } from 'class-variance-authority'
2
+ import { cva } from 'class-variance-authority'
2
3
 
3
4
  export { default as Button } from './Button.vue'
4
5
 
5
6
  export const buttonVariants = cva(
6
- 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
7
+ 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',
7
8
  {
8
9
  variants: {
9
10
  variant: {
@@ -19,7 +20,6 @@ export const buttonVariants = cva(
19
20
  },
20
21
  size: {
21
22
  default: 'h-10 px-4 py-2',
22
- xs: 'h-7 rounded px-2',
23
23
  sm: 'h-9 rounded-md px-3',
24
24
  lg: 'h-11 rounded-md px-8',
25
25
  icon: 'h-10 w-10',
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarRoot, type CalendarRootEmits, type CalendarRootProps, useForwardPropsEmits } from 'radix-vue'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarRoot, type CalendarRootEmits, type CalendarRootProps, useForwardPropsEmits } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
4
5
  import { CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarHeader, CalendarHeading, CalendarNextButton, CalendarPrevButton } from '.'
5
- import { cn } from '@/lib/utils'
6
6
 
7
7
  const props = defineProps<CalendarRootProps & { class?: HTMLAttributes['class'] }>()
8
8
 
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarCell, type CalendarCellProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarCell, type CalendarCellProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<CalendarCellProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -16,7 +16,7 @@ const forwardedProps = useForwardProps(delegatedProps)
16
16
 
17
17
  <template>
18
18
  <CalendarCell
19
- :class="cn('relative h-9 w-9 p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([data-selected])]:rounded-md [&:has([data-selected])]:bg-accent [&:has([data-selected][data-outside-month])]:bg-accent/50', props.class)"
19
+ :class="cn('relative h-9 w-9 p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([data-selected])]:rounded-md [&:has([data-selected])]:bg-accent [&:has([data-selected][data-outside-view])]:bg-accent/50', props.class)"
20
20
  v-bind="forwardedProps"
21
21
  >
22
22
  <slot />
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarCellTrigger, type CalendarCellTriggerProps, useForwardProps } from 'radix-vue'
4
- import { buttonVariants } from '@/components/ui/button'
5
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { buttonVariants } from '~/components/ui/button'
4
+ import { CalendarCellTrigger, type CalendarCellTriggerProps, useForwardProps } from 'reka-ui'
5
+ import { computed, type HTMLAttributes } from 'vue'
6
6
 
7
7
  const props = defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
8
8
 
@@ -28,7 +28,7 @@ const forwardedProps = useForwardProps(delegatedProps)
28
28
  // Unavailable
29
29
  'data-[unavailable]:text-destructive-foreground data-[unavailable]:line-through',
30
30
  // Outside months
31
- 'data-[outside-month]:pointer-events-none data-[outside-month]:text-muted-foreground data-[outside-month]:opacity-50 [&[data-outside-month][data-selected]]:bg-accent/50 [&[data-outside-month][data-selected]]:text-muted-foreground [&[data-outside-month][data-selected]]:opacity-30',
31
+ 'data-[outside-view]:text-muted-foreground data-[outside-view]:opacity-50 [&[data-outside-view][data-selected]]:bg-accent/50 [&[data-outside-view][data-selected]]:text-muted-foreground [&[data-outside-view][data-selected]]:opacity-30',
32
32
  props.class,
33
33
  )"
34
34
  v-bind="forwardedProps"
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarGrid, type CalendarGridProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarGrid, type CalendarGridProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<CalendarGridProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts" setup>
2
- import { CalendarGridBody, type CalendarGridBodyProps } from 'radix-vue'
2
+ import { CalendarGridBody, type CalendarGridBodyProps } from 'reka-ui'
3
3
 
4
4
  const props = defineProps<CalendarGridBodyProps>()
5
5
  </script>
@@ -1,5 +1,5 @@
1
1
  <script lang="ts" setup>
2
- import { CalendarGridHead, type CalendarGridHeadProps } from 'radix-vue'
2
+ import { CalendarGridHead, type CalendarGridHeadProps } from 'reka-ui'
3
3
 
4
4
  const props = defineProps<CalendarGridHeadProps>()
5
5
  </script>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarGridRow, type CalendarGridRowProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarGridRow, type CalendarGridRowProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<CalendarGridRowProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarHeadCell, type CalendarHeadCellProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarHeadCell, type CalendarHeadCellProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<CalendarHeadCellProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarHeader, type CalendarHeaderProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarHeader, type CalendarHeaderProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<CalendarHeaderProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,10 +1,14 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarHeading, type CalendarHeadingProps, useForwardProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { CalendarHeading, type CalendarHeadingProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<CalendarHeadingProps & { class?: HTMLAttributes['class'] }>()
7
7
 
8
+ defineSlots<{
9
+ default: (props: { headingValue: string }) => any
10
+ }>()
11
+
8
12
  const delegatedProps = computed(() => {
9
13
  const { class: _, ...delegated } = props
10
14
 
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarNext, type CalendarNextProps, useForwardProps } from 'radix-vue'
2
+ import { cn } from '~/lib/utils'
3
+ import { buttonVariants } from '~/components/ui/button'
4
4
  import { ChevronRight } from 'lucide-vue-next'
5
- import { cn } from '@/lib/utils'
6
- import { buttonVariants } from '@/components/ui/button'
5
+ import { CalendarNext, type CalendarNextProps, useForwardProps } from 'reka-ui'
6
+ import { computed, type HTMLAttributes } from 'vue'
7
7
 
8
8
  const props = defineProps<CalendarNextProps & { class?: HTMLAttributes['class'] }>()
9
9
 
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { CalendarPrev, type CalendarPrevProps, useForwardProps } from 'radix-vue'
2
+ import { cn } from '~/lib/utils'
3
+ import { buttonVariants } from '~/components/ui/button'
4
4
  import { ChevronLeft } from 'lucide-vue-next'
5
- import { cn } from '@/lib/utils'
6
- import { buttonVariants } from '@/components/ui/button'
5
+ import { CalendarPrev, type CalendarPrevProps, useForwardProps } from 'reka-ui'
6
+ import { computed, type HTMLAttributes } from 'vue'
7
7
 
8
8
  const props = defineProps<CalendarPrevProps & { class?: HTMLAttributes['class'] }>()
9
9
 
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue'
3
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
6
  class?: HTMLAttributes['class']
@@ -1,6 +1,6 @@
1
1
  export { default as Card } from './Card.vue'
2
- export { default as CardHeader } from './CardHeader.vue'
3
- export { default as CardTitle } from './CardTitle.vue'
4
- export { default as CardDescription } from './CardDescription.vue'
5
2
  export { default as CardContent } from './CardContent.vue'
3
+ export { default as CardDescription } from './CardDescription.vue'
6
4
  export { default as CardFooter } from './CardFooter.vue'
5
+ export { default as CardHeader } from './CardHeader.vue'
6
+ export { default as CardTitle } from './CardTitle.vue'
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { useProvideCarousel } from './useCarousel'
3
2
  import type { CarouselEmits, CarouselProps, WithClassAsProps } from './interface'
4
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
+ import { useProvideCarousel } from './useCarousel'
5
5
 
6
6
  const props = withDefaults(defineProps<CarouselProps & WithClassAsProps>(), {
7
7
  orientation: 'horizontal',
@@ -9,9 +9,17 @@ const props = withDefaults(defineProps<CarouselProps & WithClassAsProps>(), {
9
9
 
10
10
  const emits = defineEmits<CarouselEmits>()
11
11
 
12
- const carouselArgs = useProvideCarousel(props, emits)
12
+ const { canScrollNext, canScrollPrev, carouselApi, carouselRef, orientation, scrollNext, scrollPrev } = useProvideCarousel(props, emits)
13
13
 
14
- defineExpose(carouselArgs)
14
+ defineExpose({
15
+ canScrollNext,
16
+ canScrollPrev,
17
+ carouselApi,
18
+ carouselRef,
19
+ orientation,
20
+ scrollNext,
21
+ scrollPrev,
22
+ })
15
23
 
16
24
  function onKeyDown(event: KeyboardEvent) {
17
25
  const prevKey = props.orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft'
@@ -19,14 +27,14 @@ function onKeyDown(event: KeyboardEvent) {
19
27
 
20
28
  if (event.key === prevKey) {
21
29
  event.preventDefault()
22
- carouselArgs.scrollPrev()
30
+ scrollPrev()
23
31
 
24
32
  return
25
33
  }
26
34
 
27
35
  if (event.key === nextKey) {
28
36
  event.preventDefault()
29
- carouselArgs.scrollNext()
37
+ scrollNext()
30
38
  }
31
39
  }
32
40
  </script>
@@ -39,6 +47,6 @@ function onKeyDown(event: KeyboardEvent) {
39
47
  tabindex="0"
40
48
  @keydown="onKeyDown"
41
49
  >
42
- <slot v-bind="carouselArgs" />
50
+ <slot :can-scroll-next :can-scroll-prev :carousel-api :carousel-ref :orientation :scroll-next :scroll-prev />
43
51
  </div>
44
52
  </template>
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { useCarousel } from './useCarousel'
3
2
  import type { WithClassAsProps } from './interface'
4
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
+ import { useCarousel } from './useCarousel'
5
5
 
6
6
  defineOptions({
7
7
  inheritAttrs: false,
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { useCarousel } from './useCarousel'
3
2
  import type { WithClassAsProps } from './interface'
4
- import { cn } from '@/lib/utils'
3
+ import { cn } from '~/lib/utils'
4
+ import { useCarousel } from './useCarousel'
5
5
 
6
6
  const props = defineProps<WithClassAsProps>()
7
7
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
+ import type { WithClassAsProps } from './interface'
3
+ import { cn } from '~/lib/utils'
4
+ import { Button } from '~/components/ui/button'
2
5
  import { ArrowRight } from 'lucide-vue-next'
3
6
  import { useCarousel } from './useCarousel'
4
- import type { WithClassAsProps } from './interface'
5
- import { cn } from '@/lib/utils'
6
- import { Button } from '@/components/ui/button'
7
7
 
8
8
  const props = defineProps<WithClassAsProps>()
9
9
 
@@ -25,6 +25,7 @@ const { orientation, canScrollNext, scrollNext } = useCarousel()
25
25
  >
26
26
  <slot>
27
27
  <ArrowRight class="h-4 w-4 text-current" />
28
+ <span class="sr-only">Next Slide</span>
28
29
  </slot>
29
30
  </Button>
30
31
  </template>