@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
@@ -41,8 +41,13 @@
41
41
  --sidebar-primary-foreground: 0 0% 98%;
42
42
  --sidebar-accent: 240 4.8% 95.9%;
43
43
  --sidebar-accent-foreground: 240 5.9% 10%;
44
- --sidebar-border: transparent;
44
+ --sidebar-border: 220 13% 91%;
45
45
  --sidebar-ring: 217.2 91.2% 59.8%;
46
+ --chart-1: 12 76% 61%;
47
+ --chart-2: 173 58% 39%;
48
+ --chart-3: 197 37% 24%;
49
+ --chart-4: 43 74% 66%;
50
+ --chart-5: 27 87% 67%;
46
51
  }
47
52
 
48
53
  .dark {
@@ -82,8 +87,13 @@
82
87
  --sidebar-primary-foreground: 0 0% 100%;
83
88
  --sidebar-accent: 240 3.7% 15.9%;
84
89
  --sidebar-accent-foreground: 240 4.8% 95.9%;
85
- --sidebar-border: transparent;
90
+ --sidebar-border: 240 3.7% 15.9%;
86
91
  --sidebar-ring: 217.2 91.2% 59.8%;
92
+ --chart-1: 220 70% 50%;
93
+ --chart-2: 160 60% 45%;
94
+ --chart-3: 30 80% 55%;
95
+ --chart-4: 280 65% 60%;
96
+ --chart-5: 340 75% 55%;
87
97
  }
88
98
  }
89
99
 
@@ -4,7 +4,7 @@ import {
4
4
  type AccordionRootEmits,
5
5
  type AccordionRootProps,
6
6
  useForwardPropsEmits,
7
- } from 'radix-vue'
7
+ } from 'reka-ui'
8
8
 
9
9
  const props = defineProps<AccordionRootProps>()
10
10
  const emits = defineEmits<AccordionRootEmits>()
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AccordionContent, type AccordionContentProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { AccordionContent, type AccordionContentProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<AccordionContentProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,7 +1,7 @@
1
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'
2
+ import { cn } from '~/lib/utils'
3
+ import { AccordionItem, type AccordionItemProps, useForwardProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<AccordionItemProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,12 +1,12 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
2
+ import { cn } from '~/lib/utils'
3
+ import { ChevronDown } from 'lucide-vue-next'
3
4
  import {
4
5
  AccordionHeader,
5
6
  AccordionTrigger,
6
7
  type AccordionTriggerProps,
7
- } from 'radix-vue'
8
- import { ChevronDown } from 'lucide-vue-next'
9
- import { cn } from '@/lib/utils'
8
+ } from 'reka-ui'
9
+ import { computed, type HTMLAttributes } from 'vue'
10
10
 
11
11
  const props = defineProps<AccordionTriggerProps & { class?: HTMLAttributes['class'] }>()
12
12
 
@@ -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 AlertVariants, alertVariants } from '.'
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 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,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 Alert } from './Alert.vue'
4
- export { default as AlertTitle } from './AlertTitle.vue'
5
4
  export { default as AlertDescription } from './AlertDescription.vue'
5
+ export { default as AlertTitle } from './AlertTitle.vue'
6
6
 
7
7
  export const alertVariants = cva(
8
8
  'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { type AlertDialogEmits, type AlertDialogProps, AlertDialogRoot, useForwardPropsEmits } from 'radix-vue'
2
+ import { type AlertDialogEmits, type AlertDialogProps, AlertDialogRoot, useForwardPropsEmits } from 'reka-ui'
3
3
 
4
4
  const props = defineProps<AlertDialogProps>()
5
5
  const emits = defineEmits<AlertDialogEmits>()
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AlertDialogAction, type AlertDialogActionProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
5
- import { buttonVariants } from '@/components/ui/button'
2
+ import { cn } from '~/lib/utils'
3
+ import { buttonVariants } from '~/components/ui/button'
4
+ import { AlertDialogAction, type AlertDialogActionProps } from 'reka-ui'
5
+ import { computed, type HTMLAttributes } from 'vue'
6
6
 
7
7
  const props = defineProps<AlertDialogActionProps & { class?: HTMLAttributes['class'] }>()
8
8
 
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
5
- import { buttonVariants } from '@/components/ui/button'
2
+ import { cn } from '~/lib/utils'
3
+ import { buttonVariants } from '~/components/ui/button'
4
+ import { AlertDialogCancel, type AlertDialogCancelProps } from 'reka-ui'
5
+ import { computed, type HTMLAttributes } from 'vue'
6
6
 
7
7
  const props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>()
8
8
 
@@ -14,7 +14,14 @@ const delegatedProps = computed(() => {
14
14
  </script>
15
15
 
16
16
  <template>
17
- <AlertDialogCancel v-bind="delegatedProps" :class="cn(buttonVariants({ variant: 'outline' }), 'mt-2 sm:mt-0', props.class)">
17
+ <AlertDialogCancel
18
+ v-bind="delegatedProps"
19
+ :class="cn(
20
+ buttonVariants({ variant: 'outline' }),
21
+ 'mt-2 sm:mt-0',
22
+ props.class,
23
+ )"
24
+ >
18
25
  <slot />
19
26
  </AlertDialogCancel>
20
27
  </template>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
2
+ import { cn } from '~/lib/utils'
3
3
  import {
4
4
  AlertDialogContent,
5
5
  type AlertDialogContentEmits,
@@ -7,8 +7,8 @@ import {
7
7
  AlertDialogOverlay,
8
8
  AlertDialogPortal,
9
9
  useForwardPropsEmits,
10
- } from 'radix-vue'
11
- import { cn } from '@/lib/utils'
10
+ } from 'reka-ui'
11
+ import { computed, type HTMLAttributes } from 'vue'
12
12
 
13
13
  const props = defineProps<AlertDialogContentProps & { class?: HTMLAttributes['class'] }>()
14
14
  const emits = defineEmits<AlertDialogContentEmits>()
@@ -25,7 +25,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
25
25
  <template>
26
26
  <AlertDialogPortal>
27
27
  <AlertDialogOverlay
28
- 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
+ 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"
29
29
  />
30
30
  <AlertDialogContent
31
31
  v-bind="forwarded"
@@ -1,10 +1,10 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
2
+ import { cn } from '~/lib/utils'
3
3
  import {
4
4
  AlertDialogDescription,
5
5
  type AlertDialogDescriptionProps,
6
- } from 'radix-vue'
7
- import { cn } from '@/lib/utils'
6
+ } from 'reka-ui'
7
+ import { computed, type HTMLAttributes } from 'vue'
8
8
 
9
9
  const props = defineProps<AlertDialogDescriptionProps & { class?: HTMLAttributes['class'] }>()
10
10
 
@@ -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,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { AlertDialogTitle, type AlertDialogTitleProps } from 'radix-vue'
4
- import { cn } from '@/lib/utils'
2
+ import { cn } from '~/lib/utils'
3
+ import { AlertDialogTitle, type AlertDialogTitleProps } from 'reka-ui'
4
+ import { computed, type HTMLAttributes } from 'vue'
5
5
 
6
6
  const props = defineProps<AlertDialogTitleProps & { class?: HTMLAttributes['class'] }>()
7
7
 
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { AlertDialogTrigger, type AlertDialogTriggerProps } from 'radix-vue'
2
+ import { AlertDialogTrigger, type AlertDialogTriggerProps } from 'reka-ui'
3
3
 
4
4
  const props = defineProps<AlertDialogTriggerProps>()
5
5
  </script>
@@ -1,9 +1,9 @@
1
1
  export { default as AlertDialog } from './AlertDialog.vue'
2
- export { default as AlertDialogTrigger } from './AlertDialogTrigger.vue'
2
+ export { default as AlertDialogAction } from './AlertDialogAction.vue'
3
+ export { default as AlertDialogCancel } from './AlertDialogCancel.vue'
3
4
  export { default as AlertDialogContent } from './AlertDialogContent.vue'
4
- export { default as AlertDialogHeader } from './AlertDialogHeader.vue'
5
- export { default as AlertDialogTitle } from './AlertDialogTitle.vue'
6
5
  export { default as AlertDialogDescription } from './AlertDialogDescription.vue'
7
6
  export { default as AlertDialogFooter } from './AlertDialogFooter.vue'
8
- export { default as AlertDialogAction } from './AlertDialogAction.vue'
9
- export { default as AlertDialogCancel } from './AlertDialogCancel.vue'
7
+ export { default as AlertDialogHeader } from './AlertDialogHeader.vue'
8
+ export { default as AlertDialogTitle } from './AlertDialogTitle.vue'
9
+ export { default as AlertDialogTrigger } from './AlertDialogTrigger.vue'
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { AspectRatio, type AspectRatioProps } from 'radix-vue'
2
+ import { AspectRatio, type AspectRatioProps } from 'reka-ui'
3
3
 
4
4
  const props = defineProps<AspectRatioProps>()
5
5
  </script>
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts" generic="T extends ZodObjectOrWrapped">
2
- import { computed, toRefs } from 'vue'
3
- import type { ZodAny, z } from 'zod'
4
- import { toTypedSchema } from '@vee-validate/zod'
5
2
  import type { FormContext, GenericObject } from 'vee-validate'
6
- import { type ZodObjectOrWrapped, getBaseSchema, getBaseType, getDefaultValueInZodStack, getObjectFormSchema } from './utils'
3
+ import type { z, ZodAny } from 'zod'
7
4
  import type { Config, ConfigItem, Dependency, Shape } from './interface'
5
+ import { Form } from '~/components/ui/form'
6
+ import { toTypedSchema } from '@vee-validate/zod'
7
+ import { computed, toRefs } from 'vue'
8
8
  import AutoFormField from './AutoFormField.vue'
9
9
  import { provideDependencies } from './dependencies'
10
- import { Form } from '@/components/ui/form'
10
+ import { getBaseSchema, getBaseType, getDefaultValueInZodStack, getObjectFormSchema, type ZodObjectOrWrapped } from './utils'
11
11
 
12
12
  const props = defineProps<{
13
13
  schema: T
@@ -17,7 +17,7 @@ const props = defineProps<{
17
17
  }>()
18
18
 
19
19
  const emits = defineEmits<{
20
- submit: [event: GenericObject]
20
+ submit: [event: z.infer<T>]
21
21
  }>()
22
22
 
23
23
  const { dependencies } = toRefs(props)
@@ -65,7 +65,7 @@ const formComponentProps = computed(() => {
65
65
  if (props.form) {
66
66
  return {
67
67
  onSubmit: props.form.handleSubmit(val => emits('submit', val)),
68
- }
68
+ };
69
69
  }
70
70
  else {
71
71
  const formSchema = toTypedSchema(props.schema)
@@ -73,7 +73,7 @@ const formComponentProps = computed(() => {
73
73
  keepValues: true,
74
74
  validationSchema: formSchema,
75
75
  onSubmit: (val: GenericObject) => emits('submit', val),
76
- }
76
+ };
77
77
  }
78
78
  })
79
79
  </script>
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts" generic="U extends ZodAny">
2
2
  import type { ZodAny } from 'zod'
3
- import { computed } from 'vue'
4
3
  import type { Config, ConfigItem, Shape } from './interface'
4
+ import { computed } from 'vue'
5
5
  import { DEFAULT_ZOD_HANDLERS, INPUT_COMPONENTS } from './constant'
6
6
  import useDependencies from './dependencies'
7
7
 
@@ -1,16 +1,16 @@
1
1
  <script setup lang="ts" generic="T extends z.ZodAny">
2
- import * as z from 'zod'
3
- import { computed, provide } from 'vue'
2
+ import type { Config, ConfigItem } from './interface'
3
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '~/components/ui/accordion'
4
+ import { Button } from '~/components/ui/button'
5
+ import { FormItem, FormMessage } from '~/components/ui/form'
6
+ import { Separator } from '~/components/ui/separator'
4
7
  import { PlusIcon, TrashIcon } from 'lucide-vue-next'
5
8
  import { FieldArray, FieldContextKey, useField } from 'vee-validate'
6
- import type { Config, ConfigItem } from './interface'
7
- import { beautifyObjectName, getBaseType } from './utils'
9
+ import { computed, provide } from 'vue'
10
+ import * as z from 'zod'
8
11
  import AutoFormField from './AutoFormField.vue'
9
12
  import AutoFormLabel from './AutoFormLabel.vue'
10
- import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion'
11
- import { Button } from '@/components/ui/button'
12
- import { Separator } from '@/components/ui/separator'
13
- import { FormItem, FormMessage } from '@/components/ui/form'
13
+ import { beautifyObjectName, getBaseType } from './utils'
14
14
 
15
15
  const props = defineProps<{
16
16
  fieldName: string
@@ -86,7 +86,7 @@ provide(FieldContextKey, fieldContext)
86
86
  <TrashIcon :size="16" />
87
87
  </Button>
88
88
  </div>
89
- <Separator v-if="!field.isLast" class="dark:bg-slate-600" />
89
+ <Separator v-if="!field.isLast" />
90
90
  </div>
91
91
  </template>
92
92
 
@@ -1,11 +1,11 @@
1
1
  <script setup lang="ts">
2
- import { computed } from 'vue'
3
- import { beautifyObjectName } from './utils'
4
2
  import type { FieldProps } from './interface'
3
+ import { Checkbox } from '~/components/ui/checkbox'
4
+ import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '~/components/ui/form'
5
+ import { Switch } from '~/components/ui/switch'
6
+ import { computed } from 'vue'
5
7
  import AutoFormLabel from './AutoFormLabel.vue'
6
- import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '@/components/ui/form'
7
- import { Switch } from '@/components/ui/switch'
8
- import { Checkbox } from '@/components/ui/checkbox'
8
+ import { beautifyObjectName, maybeBooleanishToBoolean } from './utils'
9
9
 
10
10
  const props = defineProps<FieldProps>()
11
11
 
@@ -20,10 +20,10 @@ const booleanComponent = computed(() => props.config?.component === 'switch' ? S
20
20
  <slot v-bind="slotProps">
21
21
  <component
22
22
  :is="booleanComponent"
23
- v-bind="{ ...slotProps.componentField }"
24
- :disabled="disabled"
25
- :checked="slotProps.componentField.modelValue"
26
- @update:checked="slotProps.componentField['onUpdate:modelValue']"
23
+ :disabled="maybeBooleanishToBoolean(config?.inputProps?.disabled) ?? disabled"
24
+ :name="slotProps.componentField.name"
25
+ :model-value="slotProps.componentField.modelValue"
26
+ @update:model-value="slotProps.componentField['onUpdate:modelValue']"
27
27
  />
28
28
  </slot>
29
29
  </FormControl>
@@ -1,15 +1,15 @@
1
1
  <script setup lang="ts">
2
+ import type { FieldProps } from './interface'
3
+ import { cn } from '~/lib/utils'
4
+ import { Button } from '~/components/ui/button'
5
+ import { Calendar } from '~/components/ui/calendar'
6
+ import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '~/components/ui/form'
7
+ import { Popover, PopoverContent, PopoverTrigger } from '~/components/ui/popover'
8
+
2
9
  import { DateFormatter, getLocalTimeZone } from '@internationalized/date'
3
10
  import { CalendarIcon } from 'lucide-vue-next'
4
- import { beautifyObjectName } from './utils'
5
11
  import AutoFormLabel from './AutoFormLabel.vue'
6
- import type { FieldProps } from './interface'
7
- import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '@/components/ui/form'
8
-
9
- import { Calendar } from '@/components/ui/calendar'
10
- import { Button } from '@/components/ui/button'
11
- import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'
12
- import { cn } from '@/lib/utils'
12
+ import { beautifyObjectName, maybeBooleanishToBoolean } from './utils'
13
13
 
14
14
  defineProps<FieldProps>()
15
15
 
@@ -28,7 +28,7 @@ const df = new DateFormatter('en-US', {
28
28
  <slot v-bind="slotProps">
29
29
  <div>
30
30
  <Popover>
31
- <PopoverTrigger as-child :disabled="disabled">
31
+ <PopoverTrigger as-child :disabled="maybeBooleanishToBoolean(config?.inputProps?.disabled) ?? disabled">
32
32
  <Button
33
33
  variant="outline"
34
34
  :class="cn(
@@ -1,11 +1,11 @@
1
1
  <script setup lang="ts">
2
- import AutoFormLabel from './AutoFormLabel.vue'
3
- import { beautifyObjectName } from './utils'
4
2
  import type { FieldProps } from './interface'
5
- import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '@/components/ui/form'
6
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'
7
- import { Label } from '@/components/ui/label'
8
- import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'
3
+ import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '~/components/ui/form'
4
+ import { Label } from '~/components/ui/label'
5
+ import { RadioGroup, RadioGroupItem } from '~/components/ui/radio-group'
6
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '~/components/ui/select'
7
+ import AutoFormLabel from './AutoFormLabel.vue'
8
+ import { beautifyObjectName, maybeBooleanishToBoolean } from './utils'
9
9
 
10
10
  defineProps<FieldProps & {
11
11
  options?: string[]
@@ -20,14 +20,14 @@ defineProps<FieldProps & {
20
20
  </AutoFormLabel>
21
21
  <FormControl>
22
22
  <slot v-bind="slotProps">
23
- <RadioGroup v-if="config?.component === 'radio'" :disabled="disabled" :orientation="'vertical'" v-bind="{ ...slotProps.componentField }">
23
+ <RadioGroup v-if="config?.component === 'radio'" :disabled="maybeBooleanishToBoolean(config?.inputProps?.disabled) ?? disabled" :orientation="'vertical'" v-bind="{ ...slotProps.componentField }">
24
24
  <div v-for="(option, index) in options" :key="option" class="mb-2 flex items-center gap-3 space-y-0">
25
25
  <RadioGroupItem :id="`${option}-${index}`" :value="option" />
26
26
  <Label :for="`${option}-${index}`">{{ beautifyObjectName(option) }}</Label>
27
27
  </div>
28
28
  </RadioGroup>
29
29
 
30
- <Select v-else :disabled="disabled" v-bind="{ ...slotProps.componentField }">
30
+ <Select v-else :disabled="maybeBooleanishToBoolean(config?.inputProps?.disabled) ?? disabled" v-bind="{ ...slotProps.componentField }">
31
31
  <SelectTrigger class="w-full">
32
32
  <SelectValue :placeholder="config?.inputProps?.placeholder" />
33
33
  </SelectTrigger>
@@ -1,12 +1,12 @@
1
1
  <script setup lang="ts">
2
- import { ref } from 'vue'
2
+ import type { FieldProps } from './interface'
3
+ import { Button } from '~/components/ui/button'
4
+ import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '~/components/ui/form'
5
+ import { Input } from '~/components/ui/input'
3
6
  import { TrashIcon } from 'lucide-vue-next'
7
+ import { ref } from 'vue'
4
8
  import AutoFormLabel from './AutoFormLabel.vue'
5
9
  import { beautifyObjectName } from './utils'
6
- import type { FieldProps } from './interface'
7
- import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '@/components/ui/form'
8
- import { Input } from '@/components/ui/input'
9
- import { Button } from '@/components/ui/button'
10
10
 
11
11
  defineProps<FieldProps>()
12
12
 
@@ -39,7 +39,7 @@ async function parseFileAsString(file: File | undefined): Promise<string> {
39
39
  v-if="!inputFile"
40
40
  type="file"
41
41
  v-bind="{ ...config?.inputProps }"
42
- :disabled="disabled"
42
+ :disabled="config?.inputProps?.disabled ?? disabled"
43
43
  @change="async (ev: InputEvent) => {
44
44
  const file = (ev.target as HTMLInputElement).files?.[0]
45
45
  inputFile = file
@@ -1,11 +1,11 @@
1
1
  <script setup lang="ts">
2
+ import type { FieldProps } from './interface'
3
+ import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '~/components/ui/form'
4
+ import { Input } from '~/components/ui/input'
5
+ import { Textarea } from '~/components/ui/textarea'
2
6
  import { computed } from 'vue'
3
7
  import AutoFormLabel from './AutoFormLabel.vue'
4
8
  import { beautifyObjectName } from './utils'
5
- import type { FieldProps } from './interface'
6
- import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '@/components/ui/form'
7
- import { Input } from '@/components/ui/input'
8
- import { Textarea } from '@/components/ui/textarea'
9
9
 
10
10
  const props = defineProps<FieldProps>()
11
11
  const inputComponent = computed(() => props.config?.component === 'textarea' ? Textarea : Input)
@@ -23,7 +23,7 @@ const inputComponent = computed(() => props.config?.component === 'textarea' ? T
23
23
  :is="inputComponent"
24
24
  type="text"
25
25
  v-bind="{ ...slotProps.componentField, ...config?.inputProps }"
26
- :disabled="disabled"
26
+ :disabled="config?.inputProps?.disabled ?? disabled"
27
27
  />
28
28
  </slot>
29
29
  </FormControl>
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
+ import type { FieldProps } from './interface'
3
+ import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '~/components/ui/form'
4
+ import { Input } from '~/components/ui/input'
2
5
  import AutoFormLabel from './AutoFormLabel.vue'
3
6
  import { beautifyObjectName } from './utils'
4
- import type { FieldProps } from './interface'
5
- import { FormControl, FormDescription, FormField, FormItem, FormMessage } from '@/components/ui/form'
6
- import { Input } from '@/components/ui/input'
7
7
 
8
8
  defineOptions({
9
9
  inheritAttrs: false,
@@ -20,7 +20,7 @@ defineProps<FieldProps>()
20
20
  </AutoFormLabel>
21
21
  <FormControl>
22
22
  <slot v-bind="slotProps">
23
- <Input type="number" v-bind="{ ...slotProps.componentField, ...config?.inputProps }" :disabled="disabled" />
23
+ <Input type="number" v-bind="{ ...slotProps.componentField, ...config?.inputProps }" :disabled="config?.inputProps?.disabled ?? disabled" />
24
24
  </slot>
25
25
  </FormControl>
26
26
  <FormDescription v-if="config?.description">
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts" generic="T extends ZodRawShape">
2
2
  import type { ZodAny, ZodObject, ZodRawShape } from 'zod'
3
- import { computed, provide } from 'vue'
3
+ import type { Config, ConfigItem, Shape } from './interface'
4
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '~/components/ui/accordion'
5
+ import { FormItem } from '~/components/ui/form'
4
6
  import { FieldContextKey, useField } from 'vee-validate'
7
+ import { computed, provide } from 'vue'
5
8
  import AutoFormField from './AutoFormField.vue'
6
- import type { Config, ConfigItem, Shape } from './interface'
7
- import { beautifyObjectName, getBaseSchema, getBaseType, getDefaultValueInZodStack } from './utils'
8
9
  import AutoFormLabel from './AutoFormLabel.vue'
9
- import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion'
10
- import { FormItem } from '@/components/ui/form'
10
+ import { beautifyObjectName, getBaseSchema, getBaseType, getDefaultValueInZodStack } from './utils'
11
11
 
12
12
  const props = defineProps<{
13
13
  fieldName: string
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { FormLabel } from '@/components/ui/form'
2
+ import { FormLabel } from '~/components/ui/form'
3
3
 
4
4
  defineProps<{
5
5
  required?: boolean
@@ -1,3 +1,4 @@
1
+ import type { InputComponents } from './interface'
1
2
  import AutoFormFieldArray from './AutoFormFieldArray.vue'
2
3
  import AutoFormFieldBoolean from './AutoFormFieldBoolean.vue'
3
4
  import AutoFormFieldDate from './AutoFormFieldDate.vue'
@@ -7,7 +8,7 @@ import AutoFormFieldInput from './AutoFormFieldInput.vue'
7
8
  import AutoFormFieldNumber from './AutoFormFieldNumber.vue'
8
9
  import AutoFormFieldObject from './AutoFormFieldObject.vue'
9
10
 
10
- export const INPUT_COMPONENTS = {
11
+ export const INPUT_COMPONENTS: InputComponents = {
11
12
  date: AutoFormFieldDate,
12
13
  select: AutoFormFieldEnum,
13
14
  radio: AutoFormFieldEnum,
@@ -1,8 +1,8 @@
1
- import type * as z from 'zod'
2
1
  import type { Ref } from 'vue'
3
- import { computed, ref, watch } from 'vue'
2
+ import type * as z from 'zod'
3
+ import { createContext } from 'reka-ui'
4
4
  import { useFieldValue, useFormValues } from 'vee-validate'
5
- import { createContext } from 'radix-vue'
5
+ import { computed, ref, watch } from 'vue'
6
6
  import { type Dependency, DependencyType, type EnumValues } from './interface'
7
7
  import { getFromPath, getIndexIfArray } from './utils'
8
8
 
@@ -37,7 +37,7 @@ export default function useDependencies(
37
37
 
38
38
  if (index >= 0 && sourceInitial.join(',') === targetInitial.join(',')) {
39
39
  const [_currentLast, ...currentInitial] = fieldName.split('.').toReversed()
40
- return getFromPath(form.value, currentInitial.join('.') + sourceLast)
40
+ return getFromPath(form.value, currentInitial.join('.') + sourceLast);
41
41
  }
42
42
 
43
43
  return getFromPath(form.value, source)