@edgedev/create-edge-app 1.0.41 → 1.0.42

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 (366) hide show
  1. package/.env.dev +1 -0
  2. package/.vscode/settings.json +1 -1
  3. package/app.vue +72 -21
  4. package/assets/css/tailwind.css +78 -0
  5. package/bin/cli.js +1 -1
  6. package/components/subToolbar.vue +4 -13
  7. package/components/ui/accordion/Accordion.vue +19 -0
  8. package/components/ui/accordion/AccordionContent.vue +24 -0
  9. package/components/ui/accordion/AccordionItem.vue +24 -0
  10. package/components/ui/accordion/AccordionTrigger.vue +39 -0
  11. package/components/ui/accordion/index.js +4 -0
  12. package/components/ui/accordion/index.ts +4 -0
  13. package/components/ui/alert/Alert.vue +16 -0
  14. package/components/ui/alert/AlertDescription.vue +14 -0
  15. package/components/ui/alert/AlertTitle.vue +14 -0
  16. package/components/ui/alert/index.js +21 -0
  17. package/components/ui/alert/index.ts +23 -0
  18. package/components/ui/alert-dialog/AlertDialog.vue +14 -0
  19. package/components/ui/alert-dialog/AlertDialogAction.vue +20 -0
  20. package/components/ui/alert-dialog/AlertDialogCancel.vue +20 -0
  21. package/components/ui/alert-dialog/AlertDialogContent.vue +42 -0
  22. package/components/ui/alert-dialog/AlertDialogDescription.vue +25 -0
  23. package/components/ui/alert-dialog/AlertDialogFooter.vue +21 -0
  24. package/components/ui/alert-dialog/AlertDialogHeader.vue +16 -0
  25. package/components/ui/alert-dialog/AlertDialogTitle.vue +22 -0
  26. package/components/ui/alert-dialog/AlertDialogTrigger.vue +11 -0
  27. package/components/ui/alert-dialog/index.ts +9 -0
  28. package/components/ui/aspect-ratio/AspectRatio.vue +11 -0
  29. package/components/ui/aspect-ratio/index.ts +1 -0
  30. package/components/ui/auto-form/AutoForm.vue +105 -0
  31. package/components/ui/auto-form/AutoFormField.vue +45 -0
  32. package/components/ui/auto-form/AutoFormFieldArray.vue +110 -0
  33. package/components/ui/auto-form/AutoFormFieldBoolean.vue +41 -0
  34. package/components/ui/auto-form/AutoFormFieldDate.vue +57 -0
  35. package/components/ui/auto-form/AutoFormFieldEnum.vue +49 -0
  36. package/components/ui/auto-form/AutoFormFieldFile.vue +74 -0
  37. package/components/ui/auto-form/AutoFormFieldInput.vue +36 -0
  38. package/components/ui/auto-form/AutoFormFieldNumber.vue +32 -0
  39. package/components/ui/auto-form/AutoFormFieldObject.vue +78 -0
  40. package/components/ui/auto-form/AutoFormLabel.vue +14 -0
  41. package/components/ui/auto-form/constant.ts +39 -0
  42. package/components/ui/auto-form/dependencies.ts +92 -0
  43. package/components/ui/auto-form/index.ts +15 -0
  44. package/components/ui/auto-form/interface.ts +81 -0
  45. package/components/ui/auto-form/utils.ts +171 -0
  46. package/components/ui/avatar/Avatar.vue +21 -0
  47. package/components/ui/avatar/AvatarFallback.vue +11 -0
  48. package/components/ui/avatar/AvatarImage.vue +9 -0
  49. package/components/ui/avatar/index.ts +24 -0
  50. package/components/ui/badge/Badge.vue +16 -0
  51. package/components/ui/badge/index.ts +25 -0
  52. package/components/ui/breadcrumb/Breadcrumb.vue +13 -0
  53. package/components/ui/breadcrumb/BreadcrumbEllipsis.vue +22 -0
  54. package/components/ui/breadcrumb/BreadcrumbItem.vue +16 -0
  55. package/components/ui/breadcrumb/BreadcrumbLink.vue +19 -0
  56. package/components/ui/breadcrumb/BreadcrumbList.vue +16 -0
  57. package/components/ui/breadcrumb/BreadcrumbPage.vue +19 -0
  58. package/components/ui/breadcrumb/BreadcrumbSeparator.vue +21 -0
  59. package/components/ui/breadcrumb/index.ts +7 -0
  60. package/components/ui/button/Button.vue +26 -0
  61. package/components/ui/button/index.js +33 -0
  62. package/components/ui/button/index.ts +35 -0
  63. package/components/ui/calendar/Calendar.vue +60 -0
  64. package/components/ui/calendar/CalendarCell.vue +24 -0
  65. package/components/ui/calendar/CalendarCellTrigger.vue +38 -0
  66. package/components/ui/calendar/CalendarGrid.vue +24 -0
  67. package/components/ui/calendar/CalendarGridBody.vue +11 -0
  68. package/components/ui/calendar/CalendarGridHead.vue +11 -0
  69. package/components/ui/calendar/CalendarGridRow.vue +21 -0
  70. package/components/ui/calendar/CalendarHeadCell.vue +21 -0
  71. package/components/ui/calendar/CalendarHeader.vue +21 -0
  72. package/components/ui/calendar/CalendarHeading.vue +27 -0
  73. package/components/ui/calendar/CalendarNextButton.vue +32 -0
  74. package/components/ui/calendar/CalendarPrevButton.vue +32 -0
  75. package/components/ui/calendar/index.ts +12 -0
  76. package/components/ui/card/Card.vue +21 -0
  77. package/components/ui/card/CardContent.vue +14 -0
  78. package/components/ui/card/CardDescription.vue +14 -0
  79. package/components/ui/card/CardFooter.vue +14 -0
  80. package/components/ui/card/CardHeader.vue +14 -0
  81. package/components/ui/card/CardTitle.vue +18 -0
  82. package/components/ui/card/index.js +6 -0
  83. package/components/ui/card/index.ts +6 -0
  84. package/components/ui/carousel/Carousel.vue +44 -0
  85. package/components/ui/carousel/CarouselContent.vue +29 -0
  86. package/components/ui/carousel/CarouselItem.vue +23 -0
  87. package/components/ui/carousel/CarouselNext.vue +30 -0
  88. package/components/ui/carousel/CarouselPrevious.vue +30 -0
  89. package/components/ui/carousel/index.ts +10 -0
  90. package/components/ui/carousel/interface.ts +20 -0
  91. package/components/ui/carousel/useCarousel.ts +59 -0
  92. package/components/ui/chart/ChartCrosshair.vue +44 -0
  93. package/components/ui/chart/ChartLegend.vue +50 -0
  94. package/components/ui/chart/ChartSingleTooltip.vue +63 -0
  95. package/components/ui/chart/ChartTooltip.vue +40 -0
  96. package/components/ui/chart/index.ts +18 -0
  97. package/components/ui/chart/interface.ts +64 -0
  98. package/components/ui/chart-area/AreaChart.vue +136 -0
  99. package/components/ui/chart-area/index.ts +66 -0
  100. package/components/ui/chart-bar/BarChart.vue +115 -0
  101. package/components/ui/chart-bar/index.ts +66 -0
  102. package/components/ui/chart-donut/DonutChart.vue +100 -0
  103. package/components/ui/chart-donut/index.ts +39 -0
  104. package/components/ui/chart-line/LineChart.vue +105 -0
  105. package/components/ui/chart-line/index.ts +66 -0
  106. package/components/ui/checkbox/Checkbox.vue +33 -0
  107. package/components/ui/checkbox/index.ts +1 -0
  108. package/components/ui/collapsible/Collapsible.vue +15 -0
  109. package/components/ui/collapsible/CollapsibleContent.vue +11 -0
  110. package/components/ui/collapsible/CollapsibleTrigger.vue +11 -0
  111. package/components/ui/collapsible/index.ts +3 -0
  112. package/components/ui/command/Command.vue +30 -0
  113. package/components/ui/command/CommandDialog.vue +21 -0
  114. package/components/ui/command/CommandEmpty.vue +20 -0
  115. package/components/ui/command/CommandGroup.vue +29 -0
  116. package/components/ui/command/CommandInput.vue +33 -0
  117. package/components/ui/command/CommandItem.vue +26 -0
  118. package/components/ui/command/CommandList.vue +27 -0
  119. package/components/ui/command/CommandSeparator.vue +23 -0
  120. package/components/ui/command/CommandShortcut.vue +14 -0
  121. package/components/ui/command/index.js +9 -0
  122. package/components/ui/command/index.ts +9 -0
  123. package/components/ui/context-menu/ContextMenu.vue +15 -0
  124. package/components/ui/context-menu/ContextMenuCheckboxItem.vue +40 -0
  125. package/components/ui/context-menu/ContextMenuContent.vue +36 -0
  126. package/components/ui/context-menu/ContextMenuGroup.vue +11 -0
  127. package/components/ui/context-menu/ContextMenuItem.vue +34 -0
  128. package/components/ui/context-menu/ContextMenuLabel.vue +25 -0
  129. package/components/ui/context-menu/ContextMenuPortal.vue +11 -0
  130. package/components/ui/context-menu/ContextMenuRadioGroup.vue +19 -0
  131. package/components/ui/context-menu/ContextMenuRadioItem.vue +40 -0
  132. package/components/ui/context-menu/ContextMenuSeparator.vue +20 -0
  133. package/components/ui/context-menu/ContextMenuShortcut.vue +14 -0
  134. package/components/ui/context-menu/ContextMenuSub.vue +19 -0
  135. package/components/ui/context-menu/ContextMenuSubContent.vue +35 -0
  136. package/components/ui/context-menu/ContextMenuSubTrigger.vue +34 -0
  137. package/components/ui/context-menu/ContextMenuTrigger.vue +13 -0
  138. package/components/ui/context-menu/index.ts +14 -0
  139. package/components/ui/dialog/Dialog.vue +14 -0
  140. package/components/ui/dialog/DialogClose.vue +11 -0
  141. package/components/ui/dialog/DialogContent.vue +50 -0
  142. package/components/ui/dialog/DialogDescription.vue +24 -0
  143. package/components/ui/dialog/DialogFooter.vue +19 -0
  144. package/components/ui/dialog/DialogHeader.vue +16 -0
  145. package/components/ui/dialog/DialogScrollContent.vue +59 -0
  146. package/components/ui/dialog/DialogTitle.vue +29 -0
  147. package/components/ui/dialog/DialogTrigger.vue +11 -0
  148. package/components/ui/dialog/index.js +9 -0
  149. package/components/ui/dialog/index.ts +9 -0
  150. package/components/ui/drawer/Drawer.vue +19 -0
  151. package/components/ui/drawer/DrawerContent.vue +28 -0
  152. package/components/ui/drawer/DrawerDescription.vue +20 -0
  153. package/components/ui/drawer/DrawerFooter.vue +14 -0
  154. package/components/ui/drawer/DrawerHeader.vue +14 -0
  155. package/components/ui/drawer/DrawerOverlay.vue +18 -0
  156. package/components/ui/drawer/DrawerTitle.vue +20 -0
  157. package/components/ui/drawer/index.ts +8 -0
  158. package/components/ui/dropdown-menu/DropdownMenu.vue +14 -0
  159. package/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +40 -0
  160. package/components/ui/dropdown-menu/DropdownMenuContent.vue +38 -0
  161. package/components/ui/dropdown-menu/DropdownMenuGroup.vue +11 -0
  162. package/components/ui/dropdown-menu/DropdownMenuItem.vue +28 -0
  163. package/components/ui/dropdown-menu/DropdownMenuLabel.vue +24 -0
  164. package/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +19 -0
  165. package/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +41 -0
  166. package/components/ui/dropdown-menu/DropdownMenuSeparator.vue +22 -0
  167. package/components/ui/dropdown-menu/DropdownMenuShortcut.vue +14 -0
  168. package/components/ui/dropdown-menu/DropdownMenuSub.vue +19 -0
  169. package/components/ui/dropdown-menu/DropdownMenuSubContent.vue +30 -0
  170. package/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +33 -0
  171. package/components/ui/dropdown-menu/DropdownMenuTrigger.vue +13 -0
  172. package/components/ui/dropdown-menu/index.ts +16 -0
  173. package/components/ui/form/FormControl.vue +16 -0
  174. package/components/ui/form/FormDescription.vue +20 -0
  175. package/components/ui/form/FormItem.vue +19 -0
  176. package/components/ui/form/FormLabel.vue +23 -0
  177. package/components/ui/form/FormMessage.vue +16 -0
  178. package/components/ui/form/index.js +7 -0
  179. package/components/ui/form/index.ts +7 -0
  180. package/components/ui/form/injectionKeys.js +1 -0
  181. package/components/ui/form/injectionKeys.ts +4 -0
  182. package/components/ui/form/useFormField.js +36 -0
  183. package/components/ui/form/useFormField.ts +30 -0
  184. package/components/ui/hover-card/HoverCard.vue +14 -0
  185. package/components/ui/hover-card/HoverCardContent.vue +41 -0
  186. package/components/ui/hover-card/HoverCardTrigger.vue +11 -0
  187. package/components/ui/hover-card/index.ts +3 -0
  188. package/components/ui/input/Input.vue +24 -0
  189. package/components/ui/input/index.js +1 -0
  190. package/components/ui/input/index.ts +1 -0
  191. package/components/ui/label/Label.vue +27 -0
  192. package/components/ui/label/index.js +1 -0
  193. package/components/ui/label/index.ts +1 -0
  194. package/components/ui/menubar/Menubar.vue +35 -0
  195. package/components/ui/menubar/MenubarCheckboxItem.vue +40 -0
  196. package/components/ui/menubar/MenubarContent.vue +43 -0
  197. package/components/ui/menubar/MenubarGroup.vue +11 -0
  198. package/components/ui/menubar/MenubarItem.vue +35 -0
  199. package/components/ui/menubar/MenubarLabel.vue +13 -0
  200. package/components/ui/menubar/MenubarMenu.vue +11 -0
  201. package/components/ui/menubar/MenubarRadioGroup.vue +20 -0
  202. package/components/ui/menubar/MenubarRadioItem.vue +40 -0
  203. package/components/ui/menubar/MenubarSeparator.vue +19 -0
  204. package/components/ui/menubar/MenubarShortcut.vue +14 -0
  205. package/components/ui/menubar/MenubarSub.vue +19 -0
  206. package/components/ui/menubar/MenubarSubContent.vue +39 -0
  207. package/components/ui/menubar/MenubarSubTrigger.vue +30 -0
  208. package/components/ui/menubar/MenubarTrigger.vue +29 -0
  209. package/components/ui/menubar/index.ts +15 -0
  210. package/components/ui/navigation-menu/NavigationMenu.vue +33 -0
  211. package/components/ui/navigation-menu/NavigationMenuContent.vue +34 -0
  212. package/components/ui/navigation-menu/NavigationMenuIndicator.vue +24 -0
  213. package/components/ui/navigation-menu/NavigationMenuItem.vue +11 -0
  214. package/components/ui/navigation-menu/NavigationMenuLink.vue +19 -0
  215. package/components/ui/navigation-menu/NavigationMenuList.vue +29 -0
  216. package/components/ui/navigation-menu/NavigationMenuTrigger.vue +34 -0
  217. package/components/ui/navigation-menu/NavigationMenuViewport.vue +33 -0
  218. package/components/ui/navigation-menu/index.ts +12 -0
  219. package/components/ui/number-field/NumberField.vue +23 -0
  220. package/components/ui/number-field/NumberFieldContent.vue +14 -0
  221. package/components/ui/number-field/NumberFieldDecrement.vue +25 -0
  222. package/components/ui/number-field/NumberFieldIncrement.vue +25 -0
  223. package/components/ui/number-field/NumberFieldInput.vue +8 -0
  224. package/components/ui/number-field/index.ts +5 -0
  225. package/components/ui/pagination/PaginationEllipsis.vue +22 -0
  226. package/components/ui/pagination/PaginationFirst.vue +29 -0
  227. package/components/ui/pagination/PaginationLast.vue +29 -0
  228. package/components/ui/pagination/PaginationNext.vue +29 -0
  229. package/components/ui/pagination/PaginationPrev.vue +29 -0
  230. package/components/ui/pagination/index.ts +10 -0
  231. package/components/ui/pin-input/PinInput.vue +23 -0
  232. package/components/ui/pin-input/PinInputGroup.vue +18 -0
  233. package/components/ui/pin-input/PinInputInput.vue +18 -0
  234. package/components/ui/pin-input/PinInputSeparator.vue +15 -0
  235. package/components/ui/pin-input/index.ts +4 -0
  236. package/components/ui/popover/Popover.vue +15 -0
  237. package/components/ui/popover/PopoverContent.vue +48 -0
  238. package/components/ui/popover/PopoverTrigger.vue +11 -0
  239. package/components/ui/popover/index.js +3 -0
  240. package/components/ui/popover/index.ts +3 -0
  241. package/components/ui/progress/Progress.vue +39 -0
  242. package/components/ui/progress/index.js +1 -0
  243. package/components/ui/progress/index.ts +1 -0
  244. package/components/ui/radio-group/RadioGroup.vue +25 -0
  245. package/components/ui/radio-group/RadioGroupItem.vue +39 -0
  246. package/components/ui/radio-group/index.ts +2 -0
  247. package/components/ui/range-calendar/RangeCalendar.vue +60 -0
  248. package/components/ui/range-calendar/RangeCalendarCell.vue +24 -0
  249. package/components/ui/range-calendar/RangeCalendarCellTrigger.vue +40 -0
  250. package/components/ui/range-calendar/RangeCalendarGrid.vue +24 -0
  251. package/components/ui/range-calendar/RangeCalendarGridBody.vue +11 -0
  252. package/components/ui/range-calendar/RangeCalendarGridHead.vue +11 -0
  253. package/components/ui/range-calendar/RangeCalendarGridRow.vue +21 -0
  254. package/components/ui/range-calendar/RangeCalendarHeadCell.vue +21 -0
  255. package/components/ui/range-calendar/RangeCalendarHeader.vue +21 -0
  256. package/components/ui/range-calendar/RangeCalendarHeading.vue +27 -0
  257. package/components/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  258. package/components/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  259. package/components/ui/range-calendar/index.ts +12 -0
  260. package/components/ui/resizable/ResizableHandle.vue +26 -0
  261. package/components/ui/resizable/ResizablePanelGroup.vue +21 -0
  262. package/components/ui/resizable/index.ts +3 -0
  263. package/components/ui/scroll-area/ScrollArea.vue +29 -0
  264. package/components/ui/scroll-area/ScrollBar.vue +30 -0
  265. package/components/ui/scroll-area/index.ts +2 -0
  266. package/components/ui/select/Select.vue +15 -0
  267. package/components/ui/select/SelectContent.vue +53 -0
  268. package/components/ui/select/SelectGroup.vue +19 -0
  269. package/components/ui/select/SelectItem.vue +44 -0
  270. package/components/ui/select/SelectItemText.vue +11 -0
  271. package/components/ui/select/SelectLabel.vue +13 -0
  272. package/components/ui/select/SelectScrollDownButton.vue +24 -0
  273. package/components/ui/select/SelectScrollUpButton.vue +24 -0
  274. package/components/ui/select/SelectSeparator.vue +17 -0
  275. package/components/ui/select/SelectTrigger.vue +31 -0
  276. package/components/ui/select/SelectValue.vue +11 -0
  277. package/components/ui/select/index.ts +11 -0
  278. package/components/ui/separator/Separator.vue +20 -0
  279. package/components/ui/separator/index.js +1 -0
  280. package/components/ui/separator/index.ts +1 -0
  281. package/components/ui/sheet/Sheet.vue +14 -0
  282. package/components/ui/sheet/SheetClose.vue +11 -0
  283. package/components/ui/sheet/SheetContent.vue +56 -0
  284. package/components/ui/sheet/SheetDescription.vue +22 -0
  285. package/components/ui/sheet/SheetFooter.vue +19 -0
  286. package/components/ui/sheet/SheetHeader.vue +16 -0
  287. package/components/ui/sheet/SheetTitle.vue +22 -0
  288. package/components/ui/sheet/SheetTrigger.vue +11 -0
  289. package/components/ui/sheet/index.ts +31 -0
  290. package/components/ui/skeleton/Skeleton.vue +14 -0
  291. package/components/ui/skeleton/index.ts +1 -0
  292. package/components/ui/slider/Slider.vue +36 -0
  293. package/components/ui/slider/index.ts +1 -0
  294. package/components/ui/sonner/Sonner.vue +22 -0
  295. package/components/ui/sonner/index.ts +1 -0
  296. package/components/ui/switch/Switch.vue +37 -0
  297. package/components/ui/switch/index.ts +1 -0
  298. package/components/ui/table/Table.vue +16 -0
  299. package/components/ui/table/TableBody.vue +14 -0
  300. package/components/ui/table/TableCaption.vue +14 -0
  301. package/components/ui/table/TableCell.vue +21 -0
  302. package/components/ui/table/TableEmpty.vue +37 -0
  303. package/components/ui/table/TableFooter.vue +14 -0
  304. package/components/ui/table/TableHead.vue +14 -0
  305. package/components/ui/table/TableHeader.vue +14 -0
  306. package/components/ui/table/TableRow.vue +14 -0
  307. package/components/ui/table/index.ts +8 -0
  308. package/components/ui/tabs/Tabs.vue +15 -0
  309. package/components/ui/tabs/TabsContent.vue +22 -0
  310. package/components/ui/tabs/TabsList.vue +25 -0
  311. package/components/ui/tabs/TabsTrigger.vue +27 -0
  312. package/components/ui/tabs/index.ts +4 -0
  313. package/components/ui/tags-input/TagsInput.vue +22 -0
  314. package/components/ui/tags-input/TagsInputInput.vue +19 -0
  315. package/components/ui/tags-input/TagsInputItem.vue +22 -0
  316. package/components/ui/tags-input/TagsInputItemDelete.vue +24 -0
  317. package/components/ui/tags-input/TagsInputItemText.vue +19 -0
  318. package/components/ui/tags-input/index.ts +5 -0
  319. package/components/ui/textarea/Textarea.vue +24 -0
  320. package/components/ui/textarea/index.ts +1 -0
  321. package/components/ui/toast/Toast.vue +28 -0
  322. package/components/ui/toast/ToastAction.vue +19 -0
  323. package/components/ui/toast/ToastClose.vue +22 -0
  324. package/components/ui/toast/ToastDescription.vue +19 -0
  325. package/components/ui/toast/ToastProvider.vue +11 -0
  326. package/components/ui/toast/ToastTitle.vue +19 -0
  327. package/components/ui/toast/ToastViewport.vue +17 -0
  328. package/components/ui/toast/Toaster.vue +30 -0
  329. package/components/ui/toast/index.ts +38 -0
  330. package/components/ui/toast/use-toast.ts +165 -0
  331. package/components/ui/toggle/Toggle.vue +35 -0
  332. package/components/ui/toggle/index.ts +27 -0
  333. package/components/ui/toggle-group/ToggleGroup.vue +34 -0
  334. package/components/ui/toggle-group/ToggleGroupItem.vue +35 -0
  335. package/components/ui/toggle-group/index.ts +2 -0
  336. package/components/ui/tooltip/Tooltip.vue +14 -0
  337. package/components/ui/tooltip/TooltipContent.vue +31 -0
  338. package/components/ui/tooltip/TooltipProvider.vue +11 -0
  339. package/components/ui/tooltip/TooltipTrigger.vue +11 -0
  340. package/components/ui/tooltip/index.ts +4 -0
  341. package/components/ui/v-calendar/Calendar.vue +331 -0
  342. package/components/ui/v-calendar/index.ts +22 -0
  343. package/components.json +17 -0
  344. package/edge-components-install.sh +1 -0
  345. package/jsconfig.json +9 -0
  346. package/lib/utils.ts +6 -0
  347. package/nuxt.config.ts +28 -11
  348. package/package.json +33 -14
  349. package/pages/app/account/[page].vue +71 -0
  350. package/pages/app/dashboard/[[collection]]/[[docId]].vue +181 -0
  351. package/pages/app/login.vue +9 -7
  352. package/pages/app/signup.vue +9 -7
  353. package/plugins/icons.ts +72 -0
  354. package/tailwind.config.js +85 -0
  355. package/components/.gitkeep +0 -0
  356. package/components/account.vue +0 -107
  357. package/components/billing.vue +0 -8
  358. package/components/bottomMenu.vue +0 -35
  359. package/components/dashboard.vue +0 -186
  360. package/components/editor.vue +0 -247
  361. package/components/topMenu.vue +0 -17
  362. package/components/userMenu.vue +0 -64
  363. package/composables/vuetify.ts +0 -10
  364. package/pages/app/[[page]]/[[collection]]/[[docId]].vue +0 -48
  365. package/plugins/edgeFirebaseFramework.ts +0 -5
  366. package/plugins/vuetify.ts +0 -14
@@ -0,0 +1,23 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { PinInputRoot, type PinInputRootEmits, type PinInputRootProps, useForwardPropsEmits } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = withDefaults(defineProps<PinInputRootProps & { class?: HTMLAttributes['class'] }>(), {
7
+ modelValue: () => [],
8
+ })
9
+ const emits = defineEmits<PinInputRootEmits>()
10
+
11
+ const delegatedProps = computed(() => {
12
+ const { class: _, ...delegated } = props
13
+ return delegated
14
+ })
15
+
16
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
17
+ </script>
18
+
19
+ <template>
20
+ <PinInputRoot v-bind="forwarded" :class="cn('flex gap-2 items-center', props.class)">
21
+ <slot />
22
+ </PinInputRoot>
23
+ </template>
@@ -0,0 +1,18 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { Primitive, type PrimitiveProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<PrimitiveProps & { class?: HTMLAttributes['class'] }>()
7
+ const delegatedProps = computed(() => {
8
+ const { class: _, ...delegated } = props
9
+ return delegated
10
+ })
11
+ const forwardedProps = useForwardProps(delegatedProps)
12
+ </script>
13
+
14
+ <template>
15
+ <Primitive v-bind="forwardedProps" :class="cn('flex items-center', props.class)">
16
+ <slot />
17
+ </primitive>
18
+ </template>
@@ -0,0 +1,18 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { PinInputInput, type PinInputInputProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<PinInputInputProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+ return delegated
11
+ })
12
+
13
+ const forwardedProps = useForwardProps(delegatedProps)
14
+ </script>
15
+
16
+ <template>
17
+ <PinInputInput v-bind="forwardedProps" :class="cn('relative text-center focus:outline-none focus:ring-2 focus:ring-ring focus:relative focus:z-10 flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md', props.class)" />
18
+ </template>
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import { Primitive, type PrimitiveProps, useForwardProps } from 'radix-vue'
3
+ import { Dot } from 'lucide-vue-next'
4
+
5
+ const props = defineProps<PrimitiveProps>()
6
+ const forwardedProps = useForwardProps(props)
7
+ </script>
8
+
9
+ <template>
10
+ <Primitive v-bind="forwardedProps">
11
+ <slot>
12
+ <Dot />
13
+ </slot>
14
+ </primitive>
15
+ </template>
@@ -0,0 +1,4 @@
1
+ export { default as PinInput } from './PinInput.vue'
2
+ export { default as PinInputGroup } from './PinInputGroup.vue'
3
+ export { default as PinInputSeparator } from './PinInputSeparator.vue'
4
+ export { default as PinInputInput } from './PinInputInput.vue'
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import { PopoverRoot, useForwardPropsEmits } from 'radix-vue'
3
+ import type { PopoverRootEmits, PopoverRootProps } from 'radix-vue'
4
+
5
+ const props = defineProps<PopoverRootProps>()
6
+ const emits = defineEmits<PopoverRootEmits>()
7
+
8
+ const forwarded = useForwardPropsEmits(props, emits)
9
+ </script>
10
+
11
+ <template>
12
+ <PopoverRoot v-bind="forwarded">
13
+ <slot />
14
+ </PopoverRoot>
15
+ </template>
@@ -0,0 +1,48 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import {
4
+ PopoverContent,
5
+ type PopoverContentEmits,
6
+ type PopoverContentProps,
7
+ PopoverPortal,
8
+ useForwardPropsEmits,
9
+ } from 'radix-vue'
10
+ import { cn } from '@/lib/utils'
11
+
12
+ defineOptions({
13
+ inheritAttrs: false,
14
+ })
15
+
16
+ const props = withDefaults(
17
+ defineProps<PopoverContentProps & { class?: HTMLAttributes['class'] }>(),
18
+ {
19
+ align: 'center',
20
+ sideOffset: 4,
21
+ },
22
+ )
23
+ const emits = defineEmits<PopoverContentEmits>()
24
+
25
+ const delegatedProps = computed(() => {
26
+ const { class: _, ...delegated } = props
27
+
28
+ return delegated
29
+ })
30
+
31
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
32
+ </script>
33
+
34
+ <template>
35
+ <PopoverPortal>
36
+ <PopoverContent
37
+ v-bind="{ ...forwarded, ...$attrs }"
38
+ :class="
39
+ cn(
40
+ 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
41
+ props.class,
42
+ )
43
+ "
44
+ >
45
+ <slot />
46
+ </PopoverContent>
47
+ </PopoverPortal>
48
+ </template>
@@ -0,0 +1,11 @@
1
+ <script setup lang="ts">
2
+ import { PopoverTrigger, type PopoverTriggerProps } from 'radix-vue'
3
+
4
+ const props = defineProps<PopoverTriggerProps>()
5
+ </script>
6
+
7
+ <template>
8
+ <PopoverTrigger v-bind="props">
9
+ <slot />
10
+ </PopoverTrigger>
11
+ </template>
@@ -0,0 +1,3 @@
1
+ export { default as Popover } from './Popover.vue'
2
+ export { default as PopoverTrigger } from './PopoverTrigger.vue'
3
+ export { default as PopoverContent } from './PopoverContent.vue'
@@ -0,0 +1,3 @@
1
+ export { default as Popover } from './Popover.vue'
2
+ export { default as PopoverTrigger } from './PopoverTrigger.vue'
3
+ export { default as PopoverContent } from './PopoverContent.vue'
@@ -0,0 +1,39 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import {
4
+ ProgressIndicator,
5
+ ProgressRoot,
6
+ type ProgressRootProps,
7
+ } from 'radix-vue'
8
+ import { cn } from '@/lib/utils'
9
+
10
+ const props = withDefaults(
11
+ defineProps<ProgressRootProps & { class?: HTMLAttributes['class'] }>(),
12
+ {
13
+ modelValue: 0,
14
+ },
15
+ )
16
+
17
+ const delegatedProps = computed(() => {
18
+ const { class: _, ...delegated } = props
19
+
20
+ return delegated
21
+ })
22
+ </script>
23
+
24
+ <template>
25
+ <ProgressRoot
26
+ v-bind="delegatedProps"
27
+ :class="
28
+ cn(
29
+ 'relative h-4 w-full overflow-hidden rounded-full bg-secondary',
30
+ props.class,
31
+ )
32
+ "
33
+ >
34
+ <ProgressIndicator
35
+ class="h-full w-full flex-1 bg-primary transition-all"
36
+ :style="`transform: translateX(-${100 - (props.modelValue ?? 0)}%);`"
37
+ />
38
+ </ProgressRoot>
39
+ </template>
@@ -0,0 +1 @@
1
+ export { default as Progress } from "./Progress.vue";
@@ -0,0 +1 @@
1
+ export { default as Progress } from './Progress.vue'
@@ -0,0 +1,25 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RadioGroupRoot, type RadioGroupRootEmits, type RadioGroupRootProps, useForwardPropsEmits } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RadioGroupRootProps & { class?: HTMLAttributes['class'] }>()
7
+ const emits = defineEmits<RadioGroupRootEmits>()
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props
11
+
12
+ return delegated
13
+ })
14
+
15
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
16
+ </script>
17
+
18
+ <template>
19
+ <RadioGroupRoot
20
+ :class="cn('grid gap-2', props.class)"
21
+ v-bind="forwarded"
22
+ >
23
+ <slot />
24
+ </RadioGroupRoot>
25
+ </template>
@@ -0,0 +1,39 @@
1
+ <script setup lang="ts">
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import {
4
+ RadioGroupIndicator,
5
+ RadioGroupItem,
6
+ type RadioGroupItemProps,
7
+ useForwardProps,
8
+ } from 'radix-vue'
9
+ import { Circle } from 'lucide-vue-next'
10
+ import { cn } from '@/lib/utils'
11
+
12
+ const props = defineProps<RadioGroupItemProps & { class?: HTMLAttributes['class'] }>()
13
+
14
+ const delegatedProps = computed(() => {
15
+ const { class: _, ...delegated } = props
16
+
17
+ return delegated
18
+ })
19
+
20
+ const forwardedProps = useForwardProps(delegatedProps)
21
+ </script>
22
+
23
+ <template>
24
+ <RadioGroupItem
25
+ v-bind="forwardedProps"
26
+ :class="
27
+ cn(
28
+ 'aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
29
+ props.class,
30
+ )
31
+ "
32
+ >
33
+ <RadioGroupIndicator
34
+ class="flex items-center justify-center"
35
+ >
36
+ <Circle class="h-2.5 w-2.5 fill-current text-current" />
37
+ </RadioGroupIndicator>
38
+ </RadioGroupItem>
39
+ </template>
@@ -0,0 +1,2 @@
1
+ export { default as RadioGroup } from './RadioGroup.vue'
2
+ export { default as RadioGroupItem } from './RadioGroupItem.vue'
@@ -0,0 +1,60 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarRoot, type RangeCalendarRootEmits, type RangeCalendarRootProps, useForwardPropsEmits } from 'radix-vue'
4
+ import { RangeCalendarCell, RangeCalendarCellTrigger, RangeCalendarGrid, RangeCalendarGridBody, RangeCalendarGridHead, RangeCalendarGridRow, RangeCalendarHeadCell, RangeCalendarHeader, RangeCalendarHeading, RangeCalendarNextButton, RangeCalendarPrevButton } from '.'
5
+ import { cn } from '@/lib/utils'
6
+
7
+ const props = defineProps<RangeCalendarRootProps & { class?: HTMLAttributes['class'] }>()
8
+
9
+ const emits = defineEmits<RangeCalendarRootEmits>()
10
+
11
+ const delegatedProps = computed(() => {
12
+ const { class: _, ...delegated } = props
13
+
14
+ return delegated
15
+ })
16
+
17
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
18
+ </script>
19
+
20
+ <template>
21
+ <RangeCalendarRoot
22
+ v-slot="{ grid, weekDays }"
23
+ :class="cn('p-3', props.class)"
24
+ v-bind="forwarded"
25
+ >
26
+ <RangeCalendarHeader>
27
+ <RangeCalendarPrevButton />
28
+ <RangeCalendarHeading />
29
+ <RangeCalendarNextButton />
30
+ </RangeCalendarHeader>
31
+
32
+ <div class="flex flex-col gap-y-4 mt-4 sm:flex-row sm:gap-x-4 sm:gap-y-0">
33
+ <RangeCalendarGrid v-for="month in grid" :key="month.value.toString()">
34
+ <RangeCalendarGridHead>
35
+ <RangeCalendarGridRow>
36
+ <RangeCalendarHeadCell
37
+ v-for="day in weekDays" :key="day"
38
+ >
39
+ {{ day }}
40
+ </RangeCalendarHeadCell>
41
+ </RangeCalendarGridRow>
42
+ </RangeCalendarGridHead>
43
+ <RangeCalendarGridBody>
44
+ <RangeCalendarGridRow v-for="(weekDates, index) in month.rows" :key="`weekDate-${index}`" class="mt-2 w-full">
45
+ <RangeCalendarCell
46
+ v-for="weekDate in weekDates"
47
+ :key="weekDate.toString()"
48
+ :date="weekDate"
49
+ >
50
+ <RangeCalendarCellTrigger
51
+ :day="weekDate"
52
+ :month="month.value"
53
+ />
54
+ </RangeCalendarCell>
55
+ </RangeCalendarGridRow>
56
+ </RangeCalendarGridBody>
57
+ </RangeCalendarGrid>
58
+ </div>
59
+ </RangeCalendarRoot>
60
+ </template>
@@ -0,0 +1,24 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarCell, type RangeCalendarCellProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RangeCalendarCellProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+
14
+ const forwardedProps = useForwardProps(delegatedProps)
15
+ </script>
16
+
17
+ <template>
18
+ <RangeCalendarCell
19
+ :class="cn('relative h-9 w-9 p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([data-selected])]:bg-accent first:[&:has([data-selected])]:rounded-l-md last:[&:has([data-selected])]:rounded-r-md [&:has([data-selected][data-outside-month])]:bg-accent/50 [&:has([data-selected][data-selection-end])]:rounded-r-md [&:has([data-selected][data-selection-start])]:rounded-l-md', props.class)"
20
+ v-bind="forwardedProps"
21
+ >
22
+ <slot />
23
+ </RangeCalendarCell>
24
+ </template>
@@ -0,0 +1,40 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarCellTrigger, type RangeCalendarCellTriggerProps, useForwardProps } from 'radix-vue'
4
+ import { buttonVariants } from '@/components/ui/button'
5
+ import { cn } from '@/lib/utils'
6
+
7
+ const props = defineProps<RangeCalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
8
+
9
+ const delegatedProps = computed(() => {
10
+ const { class: _, ...delegated } = props
11
+
12
+ return delegated
13
+ })
14
+
15
+ const forwardedProps = useForwardProps(delegatedProps)
16
+ </script>
17
+
18
+ <template>
19
+ <RangeCalendarCellTrigger
20
+ :class="cn(
21
+ buttonVariants({ variant: 'ghost' }),
22
+ 'h-9 w-9 p-0 font-normal data-[selected]:opacity-100',
23
+ '[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground',
24
+ // Selection Start
25
+ 'data-[selection-start]:bg-primary data-[selection-start]:text-primary-foreground data-[selection-start]:hover:bg-primary data-[selection-start]:hover:text-primary-foreground data-[selection-start]:focus:bg-primary data-[selection-start]:focus:text-primary-foreground',
26
+ // Selection End
27
+ 'data-[selection-end]:bg-primary data-[selection-end]:text-primary-foreground data-[selection-end]:hover:bg-primary data-[selection-end]:hover:text-primary-foreground data-[selection-end]:focus:bg-primary data-[selection-end]:focus:text-primary-foreground',
28
+ // Outside months
29
+ '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',
30
+ // Disabled
31
+ 'data-[disabled]:text-muted-foreground data-[disabled]:opacity-50',
32
+ // Unavailable
33
+ 'data-[unavailable]:text-destructive-foreground data-[unavailable]:line-through',
34
+ props.class,
35
+ )"
36
+ v-bind="forwardedProps"
37
+ >
38
+ <slot />
39
+ </RangeCalendarCellTrigger>
40
+ </template>
@@ -0,0 +1,24 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarGrid, type RangeCalendarGridProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RangeCalendarGridProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+
14
+ const forwardedProps = useForwardProps(delegatedProps)
15
+ </script>
16
+
17
+ <template>
18
+ <RangeCalendarGrid
19
+ :class="cn('w-full border-collapse space-y-1', props.class)"
20
+ v-bind="forwardedProps"
21
+ >
22
+ <slot />
23
+ </RangeCalendarGrid>
24
+ </template>
@@ -0,0 +1,11 @@
1
+ <script lang="ts" setup>
2
+ import { RangeCalendarGridBody, type RangeCalendarGridBodyProps } from 'radix-vue'
3
+
4
+ const props = defineProps<RangeCalendarGridBodyProps>()
5
+ </script>
6
+
7
+ <template>
8
+ <RangeCalendarGridBody v-bind="props">
9
+ <slot />
10
+ </RangeCalendarGridBody>
11
+ </template>
@@ -0,0 +1,11 @@
1
+ <script lang="ts" setup>
2
+ import { RangeCalendarGridHead, type RangeCalendarGridHeadProps } from 'radix-vue'
3
+
4
+ const props = defineProps<RangeCalendarGridHeadProps>()
5
+ </script>
6
+
7
+ <template>
8
+ <RangeCalendarGridHead v-bind="props">
9
+ <slot />
10
+ </RangeCalendarGridHead>
11
+ </template>
@@ -0,0 +1,21 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarGridRow, type RangeCalendarGridRowProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RangeCalendarGridRowProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+
14
+ const forwardedProps = useForwardProps(delegatedProps)
15
+ </script>
16
+
17
+ <template>
18
+ <RangeCalendarGridRow :class="cn('flex mt-2 w-full', props.class)" v-bind="forwardedProps">
19
+ <slot />
20
+ </RangeCalendarGridRow>
21
+ </template>
@@ -0,0 +1,21 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarHeadCell, type RangeCalendarHeadCellProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RangeCalendarHeadCellProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+
14
+ const forwardedProps = useForwardProps(delegatedProps)
15
+ </script>
16
+
17
+ <template>
18
+ <RangeCalendarHeadCell :class="cn('w-8 rounded-md text-[0.8rem] font-normal text-muted-foreground', props.class)" v-bind="forwardedProps">
19
+ <slot />
20
+ </RangeCalendarHeadCell>
21
+ </template>
@@ -0,0 +1,21 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarHeader, type RangeCalendarHeaderProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RangeCalendarHeaderProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+
14
+ const forwardedProps = useForwardProps(delegatedProps)
15
+ </script>
16
+
17
+ <template>
18
+ <RangeCalendarHeader :class="cn('relative flex w-full items-center justify-between pt-1', props.class)" v-bind="forwardedProps">
19
+ <slot />
20
+ </RangeCalendarHeader>
21
+ </template>
@@ -0,0 +1,27 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarHeading, type RangeCalendarHeadingProps, useForwardProps } from 'radix-vue'
4
+ import { cn } from '@/lib/utils'
5
+
6
+ const props = defineProps<RangeCalendarHeadingProps & { class?: HTMLAttributes['class'] }>()
7
+
8
+ const delegatedProps = computed(() => {
9
+ const { class: _, ...delegated } = props
10
+
11
+ return delegated
12
+ })
13
+
14
+ const forwardedProps = useForwardProps(delegatedProps)
15
+ </script>
16
+
17
+ <template>
18
+ <RangeCalendarHeading
19
+ v-slot="{ headingValue }"
20
+ :class="cn('text-sm font-medium', props.class)"
21
+ v-bind="forwardedProps"
22
+ >
23
+ <slot :heading-value>
24
+ {{ headingValue }}
25
+ </slot>
26
+ </RangeCalendarHeading>
27
+ </template>
@@ -0,0 +1,32 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarNext, type RangeCalendarNextProps, useForwardProps } from 'radix-vue'
4
+ import { ChevronRight } from 'lucide-vue-next'
5
+ import { cn } from '@/lib/utils'
6
+ import { buttonVariants } from '@/components/ui/button'
7
+
8
+ const props = defineProps<RangeCalendarNextProps & { class?: HTMLAttributes['class'] }>()
9
+
10
+ const delegatedProps = computed(() => {
11
+ const { class: _, ...delegated } = props
12
+
13
+ return delegated
14
+ })
15
+
16
+ const forwardedProps = useForwardProps(delegatedProps)
17
+ </script>
18
+
19
+ <template>
20
+ <RangeCalendarNext
21
+ :class="cn(
22
+ buttonVariants({ variant: 'outline' }),
23
+ 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100',
24
+ props.class,
25
+ )"
26
+ v-bind="forwardedProps"
27
+ >
28
+ <slot>
29
+ <ChevronRight class="h-4 w-4" />
30
+ </slot>
31
+ </RangeCalendarNext>
32
+ </template>
@@ -0,0 +1,32 @@
1
+ <script lang="ts" setup>
2
+ import { type HTMLAttributes, computed } from 'vue'
3
+ import { RangeCalendarPrev, type RangeCalendarPrevProps, useForwardProps } from 'radix-vue'
4
+ import { ChevronLeft } from 'lucide-vue-next'
5
+ import { cn } from '@/lib/utils'
6
+ import { buttonVariants } from '@/components/ui/button'
7
+
8
+ const props = defineProps<RangeCalendarPrevProps & { class?: HTMLAttributes['class'] }>()
9
+
10
+ const delegatedProps = computed(() => {
11
+ const { class: _, ...delegated } = props
12
+
13
+ return delegated
14
+ })
15
+
16
+ const forwardedProps = useForwardProps(delegatedProps)
17
+ </script>
18
+
19
+ <template>
20
+ <RangeCalendarPrev
21
+ :class="cn(
22
+ buttonVariants({ variant: 'outline' }),
23
+ 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100',
24
+ props.class,
25
+ )"
26
+ v-bind="forwardedProps"
27
+ >
28
+ <slot>
29
+ <ChevronLeft class="h-4 w-4" />
30
+ </slot>
31
+ </RangeCalendarPrev>
32
+ </template>
@@ -0,0 +1,12 @@
1
+ export { default as RangeCalendar } from './RangeCalendar.vue'
2
+ export { default as RangeCalendarCell } from './RangeCalendarCell.vue'
3
+ export { default as RangeCalendarCellTrigger } from './RangeCalendarCellTrigger.vue'
4
+ export { default as RangeCalendarGrid } from './RangeCalendarGrid.vue'
5
+ export { default as RangeCalendarGridBody } from './RangeCalendarGridBody.vue'
6
+ export { default as RangeCalendarGridHead } from './RangeCalendarGridHead.vue'
7
+ export { default as RangeCalendarGridRow } from './RangeCalendarGridRow.vue'
8
+ export { default as RangeCalendarHeadCell } from './RangeCalendarHeadCell.vue'
9
+ export { default as RangeCalendarHeader } from './RangeCalendarHeader.vue'
10
+ export { default as RangeCalendarHeading } from './RangeCalendarHeading.vue'
11
+ export { default as RangeCalendarNextButton } from './RangeCalendarNextButton.vue'
12
+ export { default as RangeCalendarPrevButton } from './RangeCalendarPrevButton.vue'