@brumaombra/ui-vintage 0.7.8 → 0.7.10

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 (275) hide show
  1. package/README.md +308 -48
  2. package/module.mjs +1 -1
  3. package/package.json +2 -1
  4. package/src/components/background-grid/BackgroundGrid.vue +11 -2
  5. package/src/components/background-grid/index.ts +2 -2
  6. package/src/components/blog/AllPostsSection.vue +25 -9
  7. package/src/components/blog/BlogContentRenderer.vue +133 -0
  8. package/src/components/blog/BlogFAQSection.vue +8 -3
  9. package/src/components/blog/BlogHeaderSection.vue +14 -11
  10. package/src/components/blog/BlogInfoSection.vue +13 -11
  11. package/src/components/blog/BlogProgressBar.vue +77 -0
  12. package/src/components/blog/BlogSectionTitle.vue +5 -5
  13. package/src/components/blog/CategoriesList.vue +11 -3
  14. package/src/components/blog/CategoriesSection.vue +11 -3
  15. package/src/components/blog/CategoryCard.vue +10 -8
  16. package/src/components/blog/HeaderCarousel.vue +24 -15
  17. package/src/components/blog/PostCard.vue +16 -11
  18. package/src/components/blog/PostsList.vue +12 -3
  19. package/src/components/blog/SocialShareSidebar.vue +43 -41
  20. package/src/components/blog/TableOfContents.vue +29 -13
  21. package/src/components/blog/index.ts +1 -0
  22. package/src/components/busy-indicator/BusyIndicator.vue +2 -2
  23. package/src/components/busy-indicator/busy-indicator-state.ts +11 -12
  24. package/src/components/busy-indicator/index.ts +3 -3
  25. package/src/components/card-grid/CardGrid.vue +25 -11
  26. package/src/components/chip/Chip.vue +15 -15
  27. package/src/components/chip/index.ts +2 -2
  28. package/src/components/confirm-dialog/ConfirmDialog.vue +9 -9
  29. package/src/components/confirm-dialog/confirm-dialog-state.ts +15 -14
  30. package/src/components/confirm-dialog/index.ts +3 -12
  31. package/src/components/content/BlogList.vue +11 -8
  32. package/src/components/content/BlogTable.vue +18 -14
  33. package/src/components/content/ProseHr.vue +10 -7
  34. package/src/components/content/Terminal.vue +70 -0
  35. package/src/components/content/index.ts +2 -1
  36. package/src/components/dashboard-shell/DashboardShell.vue +43 -64
  37. package/src/components/dashboard-shell/index.ts +2 -2
  38. package/src/components/data-list/DataList.vue +11 -13
  39. package/src/components/data-list/DataListItem.vue +9 -11
  40. package/src/components/data-list/DataListLabel.vue +9 -11
  41. package/src/components/data-list/DataListText.vue +9 -11
  42. package/src/components/data-list/DataListValue.vue +9 -11
  43. package/src/components/data-list/index.ts +5 -5
  44. package/src/components/empty-state-card/EmptyStateCard.vue +21 -11
  45. package/src/components/error-page/ErrorPage.vue +24 -27
  46. package/src/components/error-page/index.ts +2 -2
  47. package/src/components/info-card/InfoCard.vue +17 -11
  48. package/src/components/landing/index.ts +6 -6
  49. package/src/components/landing/landing-content/LandingContent.vue +5 -7
  50. package/src/components/landing/landing-content/index.ts +2 -2
  51. package/src/components/landing/landing-footer/LandingFooter.vue +26 -29
  52. package/src/components/landing/landing-footer/index.ts +3 -3
  53. package/src/components/landing/landing-navbar/LandingNavbar.vue +51 -19
  54. package/src/components/landing/landing-navbar/index.ts +2 -2
  55. package/src/components/landing/landing-shell/LandingShell.vue +12 -15
  56. package/src/components/landing/landing-shell/index.ts +2 -2
  57. package/src/components/language-flag/LanguageFlag.vue +6 -5
  58. package/src/components/language-flag/index.ts +1 -0
  59. package/src/components/language-selector/LanguageSelector.vue +20 -21
  60. package/src/components/load-more-button/LoadMoreButton.vue +18 -14
  61. package/src/components/loading-state-card/LoadingStateCard.vue +13 -9
  62. package/src/components/message-dialog/MessageDialog.vue +19 -19
  63. package/src/components/message-dialog/index.ts +3 -11
  64. package/src/components/message-dialog/message-dialog-state.ts +12 -11
  65. package/src/components/message-toast/MessageToast.vue +16 -16
  66. package/src/components/message-toast/index.ts +2 -9
  67. package/src/components/message-toast/message-toast-state.ts +9 -9
  68. package/src/components/page-header/PageHeader.vue +8 -5
  69. package/src/components/progress-component/ProgressComponent.vue +13 -10
  70. package/src/components/single-value-card/SingleValueCard.vue +22 -19
  71. package/src/components/slider-form-component/SliderFormComponent.vue +11 -20
  72. package/src/components/slider-form-component/index.ts +2 -2
  73. package/src/components/switch-form-component/SwitchFormComponent.vue +7 -9
  74. package/src/components/switch-form-component/index.ts +2 -2
  75. package/src/components/text-link/TextLink.vue +11 -7
  76. package/src/components/ui/accordion/Accordion.vue +10 -13
  77. package/src/components/ui/accordion/index.ts +1 -1
  78. package/src/components/ui/alert/Alert.vue +11 -10
  79. package/src/components/ui/alert/AlertDescription.vue +9 -8
  80. package/src/components/ui/alert/AlertTitle.vue +9 -8
  81. package/src/components/ui/alert/index.ts +10 -10
  82. package/src/components/ui/alert-dialog/AlertDialog.vue +13 -9
  83. package/src/components/ui/alert-dialog/AlertDialogAction.vue +14 -12
  84. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +14 -16
  85. package/src/components/ui/alert-dialog/AlertDialogContent.vue +24 -27
  86. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +13 -13
  87. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +9 -12
  88. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +9 -8
  89. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +13 -11
  90. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +8 -7
  91. package/src/components/ui/alert-dialog/index.ts +9 -9
  92. package/src/components/ui/badge/Badge.vue +11 -12
  93. package/src/components/ui/badge/index.ts +1 -1
  94. package/src/components/ui/breadcrumb/Breadcrumb.vue +9 -12
  95. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +15 -19
  96. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +10 -12
  97. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +13 -17
  98. package/src/components/ui/breadcrumb/BreadcrumbList.vue +10 -12
  99. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +10 -15
  100. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +14 -18
  101. package/src/components/ui/breadcrumb/index.ts +7 -7
  102. package/src/components/ui/busy/Busy.vue +36 -29
  103. package/src/components/ui/busy/index.ts +1 -1
  104. package/src/components/ui/button/Button.vue +18 -19
  105. package/src/components/ui/button/index.ts +54 -35
  106. package/src/components/ui/calendar/Calendar.vue +167 -121
  107. package/src/components/ui/calendar/CalendarCell.vue +18 -17
  108. package/src/components/ui/calendar/CalendarCellTrigger.vue +31 -33
  109. package/src/components/ui/calendar/CalendarGrid.vue +14 -17
  110. package/src/components/ui/calendar/CalendarGridBody.vue +9 -11
  111. package/src/components/ui/calendar/CalendarGridHead.vue +10 -12
  112. package/src/components/ui/calendar/CalendarGridRow.vue +14 -16
  113. package/src/components/ui/calendar/CalendarHeadCell.vue +18 -17
  114. package/src/components/ui/calendar/CalendarHeader.vue +18 -17
  115. package/src/components/ui/calendar/CalendarHeading.vue +18 -22
  116. package/src/components/ui/calendar/CalendarNextButton.vue +29 -26
  117. package/src/components/ui/calendar/CalendarPrevButton.vue +29 -26
  118. package/src/components/ui/calendar/index.ts +17 -13
  119. package/src/components/ui/card/Card.vue +21 -13
  120. package/src/components/ui/card/CardAction.vue +12 -7
  121. package/src/components/ui/card/CardContent.vue +8 -7
  122. package/src/components/ui/card/CardDescription.vue +16 -7
  123. package/src/components/ui/card/CardFooter.vue +8 -7
  124. package/src/components/ui/card/CardHeader.vue +12 -7
  125. package/src/components/ui/card/CardText.vue +12 -7
  126. package/src/components/ui/card/CardTitle.vue +9 -7
  127. package/src/components/ui/card/index.ts +8 -8
  128. package/src/components/ui/command/Command.vue +71 -61
  129. package/src/components/ui/command/CommandDialog.vue +33 -23
  130. package/src/components/ui/command/CommandEmpty.vue +19 -20
  131. package/src/components/ui/command/CommandGroup.vue +32 -35
  132. package/src/components/ui/command/CommandInput.vue +25 -21
  133. package/src/components/ui/command/CommandItem.vue +62 -59
  134. package/src/components/ui/command/CommandList.vue +21 -18
  135. package/src/components/ui/command/CommandSeparator.vue +13 -11
  136. package/src/components/ui/command/CommandShortcut.vue +13 -8
  137. package/src/components/ui/command/index.ts +24 -20
  138. package/src/components/ui/date-picker/DatePicker.vue +46 -37
  139. package/src/components/ui/date-picker/index.ts +2 -2
  140. package/src/components/ui/date-time-picker/DateTimePicker.vue +99 -95
  141. package/src/components/ui/date-time-picker/index.ts +2 -2
  142. package/src/components/ui/dialog/Dialog.vue +12 -9
  143. package/src/components/ui/dialog/DialogClose.vue +8 -10
  144. package/src/components/ui/dialog/DialogContent.vue +36 -42
  145. package/src/components/ui/dialog/DialogDescription.vue +16 -11
  146. package/src/components/ui/dialog/DialogFooter.vue +13 -12
  147. package/src/components/ui/dialog/DialogHeader.vue +9 -8
  148. package/src/components/ui/dialog/DialogOverlay.vue +16 -11
  149. package/src/components/ui/dialog/DialogScrollContent.vue +47 -45
  150. package/src/components/ui/dialog/DialogTitle.vue +13 -12
  151. package/src/components/ui/dialog/DialogTrigger.vue +8 -7
  152. package/src/components/ui/dialog/index.ts +10 -10
  153. package/src/components/ui/field/Field.vue +12 -14
  154. package/src/components/ui/field/FieldContent.vue +13 -11
  155. package/src/components/ui/field/FieldDescription.vue +15 -13
  156. package/src/components/ui/field/FieldError.vue +43 -40
  157. package/src/components/ui/field/FieldGroup.vue +13 -11
  158. package/src/components/ui/field/FieldLabel.vue +16 -14
  159. package/src/components/ui/field/FieldLegend.vue +16 -14
  160. package/src/components/ui/field/FieldSeparator.vue +17 -15
  161. package/src/components/ui/field/FieldSet.vue +14 -12
  162. package/src/components/ui/field/FieldTitle.vue +13 -11
  163. package/src/components/ui/field/index.ts +36 -36
  164. package/src/components/ui/input/Input.vue +23 -20
  165. package/src/components/ui/input/index.ts +1 -1
  166. package/src/components/ui/label/Label.vue +16 -15
  167. package/src/components/ui/label/index.ts +1 -1
  168. package/src/components/ui/native-select/NativeSelect.vue +31 -41
  169. package/src/components/ui/native-select/NativeSelectOptGroup.vue +8 -7
  170. package/src/components/ui/native-select/NativeSelectOption.vue +8 -7
  171. package/src/components/ui/native-select/index.ts +3 -3
  172. package/src/components/ui/popover/Popover.vue +12 -9
  173. package/src/components/ui/popover/PopoverAnchor.vue +8 -7
  174. package/src/components/ui/popover/PopoverContent.vue +27 -31
  175. package/src/components/ui/popover/PopoverTrigger.vue +8 -7
  176. package/src/components/ui/popover/index.ts +4 -4
  177. package/src/components/ui/progress/Progress.vue +18 -32
  178. package/src/components/ui/progress/index.ts +1 -1
  179. package/src/components/ui/scroll-area/ScrollArea.vue +23 -26
  180. package/src/components/ui/scroll-area/ScrollBar.vue +22 -26
  181. package/src/components/ui/scroll-area/index.ts +2 -2
  182. package/src/components/ui/select/Select.vue +12 -9
  183. package/src/components/ui/select/SelectContent.vue +39 -40
  184. package/src/components/ui/select/SelectGroup.vue +8 -7
  185. package/src/components/ui/select/SelectItem.vue +36 -41
  186. package/src/components/ui/select/SelectItemContent.vue +22 -15
  187. package/src/components/ui/select/SelectItemText.vue +8 -7
  188. package/src/components/ui/select/SelectLabel.vue +10 -9
  189. package/src/components/ui/select/SelectScrollDownButton.vue +21 -17
  190. package/src/components/ui/select/SelectScrollUpButton.vue +21 -17
  191. package/src/components/ui/select/SelectSeparator.vue +11 -9
  192. package/src/components/ui/select/SelectTrigger.vue +27 -25
  193. package/src/components/ui/select/SelectValue.vue +8 -7
  194. package/src/components/ui/select/SelectValueContent.vue +30 -18
  195. package/src/components/ui/select/index.ts +13 -13
  196. package/src/components/ui/separator/Separator.vue +17 -18
  197. package/src/components/ui/separator/index.ts +1 -1
  198. package/src/components/ui/sheet/Sheet.vue +12 -9
  199. package/src/components/ui/sheet/SheetClose.vue +8 -7
  200. package/src/components/ui/sheet/SheetContent.vue +36 -37
  201. package/src/components/ui/sheet/SheetDescription.vue +12 -11
  202. package/src/components/ui/sheet/SheetFooter.vue +8 -7
  203. package/src/components/ui/sheet/SheetHeader.vue +8 -7
  204. package/src/components/ui/sheet/SheetOverlay.vue +16 -11
  205. package/src/components/ui/sheet/SheetTitle.vue +12 -11
  206. package/src/components/ui/sheet/SheetTrigger.vue +8 -7
  207. package/src/components/ui/sheet/index.ts +8 -8
  208. package/src/components/ui/sidebar/Sidebar.vue +68 -61
  209. package/src/components/ui/sidebar/SidebarContent.vue +13 -8
  210. package/src/components/ui/sidebar/SidebarFooter.vue +13 -8
  211. package/src/components/ui/sidebar/SidebarGroup.vue +13 -8
  212. package/src/components/ui/sidebar/SidebarGroupAction.vue +16 -16
  213. package/src/components/ui/sidebar/SidebarGroupContent.vue +9 -8
  214. package/src/components/ui/sidebar/SidebarGroupLabel.vue +15 -14
  215. package/src/components/ui/sidebar/SidebarHeader.vue +13 -8
  216. package/src/components/ui/sidebar/SidebarInput.vue +14 -12
  217. package/src/components/ui/sidebar/SidebarInset.vue +14 -12
  218. package/src/components/ui/sidebar/SidebarMenu.vue +9 -8
  219. package/src/components/ui/sidebar/SidebarMenuAction.vue +25 -23
  220. package/src/components/ui/sidebar/SidebarMenuBadge.vue +19 -17
  221. package/src/components/ui/sidebar/SidebarMenuButton.vue +33 -32
  222. package/src/components/ui/sidebar/SidebarMenuButtonChild.vue +19 -18
  223. package/src/components/ui/sidebar/SidebarMenuItem.vue +9 -8
  224. package/src/components/ui/sidebar/SidebarMenuSkeleton.vue +17 -12
  225. package/src/components/ui/sidebar/SidebarMenuSub.vue +14 -12
  226. package/src/components/ui/sidebar/SidebarMenuSubButton.vue +24 -21
  227. package/src/components/ui/sidebar/SidebarMenuSubItem.vue +9 -8
  228. package/src/components/ui/sidebar/SidebarProvider.vue +63 -53
  229. package/src/components/ui/sidebar/SidebarRail.vue +20 -18
  230. package/src/components/ui/sidebar/SidebarSeparator.vue +10 -9
  231. package/src/components/ui/sidebar/SidebarTrigger.vue +15 -14
  232. package/src/components/ui/sidebar/index.ts +62 -58
  233. package/src/components/ui/sidebar/utils.ts +16 -16
  234. package/src/components/ui/skeleton/Skeleton.vue +12 -9
  235. package/src/components/ui/skeleton/index.ts +1 -1
  236. package/src/components/ui/slider/Slider.vue +24 -19
  237. package/src/components/ui/slider/index.ts +1 -1
  238. package/src/components/ui/switch/Switch.vue +26 -23
  239. package/src/components/ui/switch/index.ts +1 -1
  240. package/src/components/ui/table/Table.vue +11 -10
  241. package/src/components/ui/table/TableBody.vue +9 -11
  242. package/src/components/ui/table/TableCaption.vue +9 -11
  243. package/src/components/ui/table/TableCell.vue +13 -16
  244. package/src/components/ui/table/TableEmpty.vue +22 -25
  245. package/src/components/ui/table/TableFooter.vue +13 -11
  246. package/src/components/ui/table/TableHead.vue +13 -11
  247. package/src/components/ui/table/TableHeader.vue +9 -11
  248. package/src/components/ui/table/TableRow.vue +13 -11
  249. package/src/components/ui/table/index.ts +9 -9
  250. package/src/components/ui/tabs/Tabs.vue +18 -18
  251. package/src/components/ui/tabs/TabsContent.vue +14 -15
  252. package/src/components/ui/tabs/TabsList.vue +18 -18
  253. package/src/components/ui/tabs/TabsTrigger.vue +19 -20
  254. package/src/components/ui/tabs/index.ts +4 -4
  255. package/src/components/ui/textarea/Textarea.vue +23 -20
  256. package/src/components/ui/textarea/index.ts +1 -1
  257. package/src/components/ui/time-picker/TimePicker.vue +33 -38
  258. package/src/components/ui/time-picker/index.ts +2 -2
  259. package/src/components/ui/tooltip/Tooltip.vue +12 -9
  260. package/src/components/ui/tooltip/TooltipContent.vue +28 -20
  261. package/src/components/ui/tooltip/TooltipProvider.vue +9 -8
  262. package/src/components/ui/tooltip/TooltipTrigger.vue +8 -7
  263. package/src/components/ui/tooltip/index.ts +4 -4
  264. package/src/i18n/de.json +5 -0
  265. package/src/i18n/en.json +5 -0
  266. package/src/i18n/es.json +5 -0
  267. package/src/i18n/fr.json +5 -0
  268. package/src/i18n/it.json +5 -0
  269. package/src/i18n/ja.json +5 -0
  270. package/src/i18n/pt.json +5 -0
  271. package/src/i18n/ru.json +5 -0
  272. package/src/i18n/zh.json +5 -0
  273. package/src/lib/common-types.ts +2 -0
  274. package/src/lib/i18n.ts +0 -5
  275. package/src/runtime/{ui-vintage-i18n-plugin.js → ui-vintage-i18n-plugin.ts} +30 -8
@@ -1,39 +1,37 @@
1
- <script lang="ts" setup>
2
- import type { CalendarCellTriggerProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { CalendarCellTrigger, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
7
- import { buttonVariants } from '../button'
1
+ <script setup lang="ts">
2
+ import type { CalendarCellTriggerProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { CalendarCellTrigger, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
+ import { buttonVariants } from '../button';
8
8
 
9
- const props = withDefaults(defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes["class"] }>(), {
10
- as: "button",
11
- })
9
+ // Props
10
+ const props = withDefaults(defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>(), {
11
+ as: 'button'
12
+ });
12
13
 
13
- const delegatedProps = reactiveOmit(props, "class")
14
+ const delegatedProps = reactiveOmit(props, 'class');
14
15
 
15
- const forwardedProps = useForwardProps(delegatedProps)
16
+ const forwardedProps = useForwardProps(delegatedProps);
16
17
  </script>
17
18
 
18
19
  <template>
19
- <CalendarCellTrigger
20
- data-slot="calendar-cell-trigger"
21
- :class="cn(
22
- buttonVariants({ variant: 'ghost' }),
23
- 'size-8 p-0 font-normal aria-selected:opacity-100 cursor-default',
24
- '[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground',
25
- // Selected
26
- 'data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:opacity-100 [&[data-selected]:hover]:bg-primary data-[selected]:hover:text-primary-foreground data-[selected]:focus:bg-primary data-[selected]:focus:text-primary-foreground',
27
- // Disabled
28
- 'data-[disabled]:text-muted-foreground data-[disabled]:opacity-50',
29
- // Unavailable
30
- 'data-[unavailable]:text-destructive-foreground data-[unavailable]:line-through',
31
- // Outside months
32
- 'data-[outside-view]:text-muted-foreground',
33
- props.class,
34
- )"
35
- v-bind="forwardedProps"
36
- >
37
- <slot />
38
- </CalendarCellTrigger>
39
- </template>
20
+ <CalendarCellTrigger data-slot="calendar-cell-trigger" :class="cn(
21
+ buttonVariants({ variant: 'ghost' }),
22
+ 'size-8 p-0 font-normal aria-selected:opacity-100 cursor-default',
23
+ '[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground',
24
+ // Selected
25
+ 'data-selected:bg-primary data-selected:text-primary-foreground data-selected:opacity-100 [&[data-selected]:hover]:bg-primary data-selected:hover:text-primary-foreground data-selected:focus:bg-primary data-selected:focus:text-primary-foreground',
26
+ // Disabled
27
+ 'data-disabled:text-muted-foreground data-disabled:opacity-50',
28
+ // Unavailable
29
+ 'data-unavailable:text-destructive-foreground data-unavailable:line-through',
30
+ // Outside months
31
+ 'data-outside-view:text-muted-foreground',
32
+ props.class,
33
+ )
34
+ " v-bind="forwardedProps">
35
+ <slot />
36
+ </CalendarCellTrigger>
37
+ </template>
@@ -1,23 +1,20 @@
1
- <script lang="ts" setup>
2
- import type { CalendarGridProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { CalendarGrid, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
1
+ <script setup lang="ts">
2
+ import type { CalendarGridProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { CalendarGrid, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<CalendarGridProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<CalendarGridProps & { class?: HTMLAttributes['class'] }>();
9
10
 
10
- const delegatedProps = reactiveOmit(props, "class")
11
+ const delegatedProps = reactiveOmit(props, 'class');
11
12
 
12
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const forwardedProps = useForwardProps(delegatedProps);
13
14
  </script>
14
15
 
15
16
  <template>
16
- <CalendarGrid
17
- data-slot="calendar-grid"
18
- :class="cn('w-full border-collapse space-x-1', props.class)"
19
- v-bind="forwardedProps"
20
- >
21
- <slot />
22
- </CalendarGrid>
23
- </template>
17
+ <CalendarGrid data-slot="calendar-grid" :class="cn('w-full border-collapse space-x-1', props.class)" v-bind="forwardedProps">
18
+ <slot />
19
+ </CalendarGrid>
20
+ </template>
@@ -1,15 +1,13 @@
1
- <script lang="ts" setup>
2
- import type { CalendarGridBodyProps } from "reka-ui"
3
- import { CalendarGridBody } from "reka-ui"
1
+ <script setup lang="ts">
2
+ import type { CalendarGridBodyProps } from 'reka-ui';
3
+ import { CalendarGridBody } from 'reka-ui';
4
4
 
5
- const props = defineProps<CalendarGridBodyProps>()
5
+ // Props
6
+ const props = defineProps<CalendarGridBodyProps>();
6
7
  </script>
7
8
 
8
9
  <template>
9
- <CalendarGridBody
10
- data-slot="calendar-grid-body"
11
- v-bind="props"
12
- >
13
- <slot />
14
- </CalendarGridBody>
15
- </template>
10
+ <CalendarGridBody data-slot="calendar-grid-body" v-bind="props">
11
+ <slot />
12
+ </CalendarGridBody>
13
+ </template>
@@ -1,16 +1,14 @@
1
- <script lang="ts" setup>
2
- import type { CalendarGridHeadProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { CalendarGridHead } from "reka-ui"
1
+ <script setup lang="ts">
2
+ import type { CalendarGridHeadProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { CalendarGridHead } from 'reka-ui';
5
5
 
6
- const props = defineProps<CalendarGridHeadProps & { class?: HTMLAttributes["class"] }>()
6
+ // Props
7
+ const props = defineProps<CalendarGridHeadProps & { class?: HTMLAttributes['class'] }>();
7
8
  </script>
8
9
 
9
10
  <template>
10
- <CalendarGridHead
11
- data-slot="calendar-grid-head"
12
- v-bind="props"
13
- >
14
- <slot />
15
- </CalendarGridHead>
16
- </template>
11
+ <CalendarGridHead data-slot="calendar-grid-head" v-bind="props">
12
+ <slot />
13
+ </CalendarGridHead>
14
+ </template>
@@ -1,22 +1,20 @@
1
- <script lang="ts" setup>
2
- import type { CalendarGridRowProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { CalendarGridRow, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
1
+ <script setup lang="ts">
2
+ import type { CalendarGridRowProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { CalendarGridRow, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<CalendarGridRowProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<CalendarGridRowProps & { class?: HTMLAttributes['class'] }>();
9
10
 
10
- const delegatedProps = reactiveOmit(props, "class")
11
+ const delegatedProps = reactiveOmit(props, 'class');
11
12
 
12
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const forwardedProps = useForwardProps(delegatedProps);
13
14
  </script>
14
15
 
15
16
  <template>
16
- <CalendarGridRow
17
- data-slot="calendar-grid-row"
18
- :class="cn('flex', props.class)" v-bind="forwardedProps"
19
- >
20
- <slot />
21
- </CalendarGridRow>
22
- </template>
17
+ <CalendarGridRow data-slot="calendar-grid-row" :class="cn('flex', props.class)" v-bind="forwardedProps">
18
+ <slot />
19
+ </CalendarGridRow>
20
+ </template>
@@ -1,23 +1,24 @@
1
- <script lang="ts" setup>
2
- import type { CalendarHeadCellProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { CalendarHeadCell, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
1
+ <script setup lang="ts">
2
+ import type { CalendarHeadCellProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { CalendarHeadCell, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<CalendarHeadCellProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<CalendarHeadCellProps & { class?: HTMLAttributes['class'] }>();
9
10
 
10
- const delegatedProps = reactiveOmit(props, "class")
11
+ const delegatedProps = reactiveOmit(props, 'class');
11
12
 
12
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const forwardedProps = useForwardProps(delegatedProps);
13
14
  </script>
14
15
 
15
16
  <template>
16
- <CalendarHeadCell
17
- data-slot="calendar-head-cell"
18
- :class="cn('text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem]', props.class)"
19
- v-bind="forwardedProps"
20
- >
21
- <slot />
22
- </CalendarHeadCell>
23
- </template>
17
+ <CalendarHeadCell data-slot="calendar-head-cell" :class="cn(
18
+ 'text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem]',
19
+ props.class,
20
+ )
21
+ " v-bind="forwardedProps">
22
+ <slot />
23
+ </CalendarHeadCell>
24
+ </template>
@@ -1,23 +1,24 @@
1
- <script lang="ts" setup>
2
- import type { CalendarHeaderProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { CalendarHeader, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
1
+ <script setup lang="ts">
2
+ import type { CalendarHeaderProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { CalendarHeader, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<CalendarHeaderProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<CalendarHeaderProps & { class?: HTMLAttributes['class'] }>();
9
10
 
10
- const delegatedProps = reactiveOmit(props, "class")
11
+ const delegatedProps = reactiveOmit(props, 'class');
11
12
 
12
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const forwardedProps = useForwardProps(delegatedProps);
13
14
  </script>
14
15
 
15
16
  <template>
16
- <CalendarHeader
17
- data-slot="calendar-header"
18
- :class="cn('flex justify-center pt-1 relative items-center w-full px-8', props.class)"
19
- v-bind="forwardedProps"
20
- >
21
- <slot />
22
- </CalendarHeader>
23
- </template>
17
+ <CalendarHeader data-slot="calendar-header" :class="cn(
18
+ 'flex justify-center pt-1 relative items-center w-full px-8',
19
+ props.class,
20
+ )
21
+ " v-bind="forwardedProps">
22
+ <slot />
23
+ </CalendarHeader>
24
+ </template>
@@ -1,30 +1,26 @@
1
- <script lang="ts" setup>
2
- import type { CalendarHeadingProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { CalendarHeading, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
1
+ <script setup lang="ts">
2
+ import type { CalendarHeadingProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { CalendarHeading, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<CalendarHeadingProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<CalendarHeadingProps & { class?: HTMLAttributes['class'] }>();
9
10
 
10
11
  defineSlots<{
11
- default: (props: { headingValue: string }) => any
12
- }>()
12
+ default: (props: { headingValue: string }) => any;
13
+ }>();
13
14
 
14
- const delegatedProps = reactiveOmit(props, "class")
15
+ const delegatedProps = reactiveOmit(props, 'class');
15
16
 
16
- const forwardedProps = useForwardProps(delegatedProps)
17
+ const forwardedProps = useForwardProps(delegatedProps);
17
18
  </script>
18
19
 
19
20
  <template>
20
- <CalendarHeading
21
- v-slot="{ headingValue }"
22
- data-slot="calendar-heading"
23
- :class="cn('text-sm font-semibold', props.class)"
24
- v-bind="forwardedProps"
25
- >
26
- <slot :heading-value>
27
- {{ headingValue }}
28
- </slot>
29
- </CalendarHeading>
30
- </template>
21
+ <CalendarHeading v-slot="{ headingValue }" data-slot="calendar-heading" :class="cn('text-sm font-semibold', props.class)" v-bind="forwardedProps">
22
+ <slot :heading-value>
23
+ {{ headingValue }}
24
+ </slot>
25
+ </CalendarHeading>
26
+ </template>
@@ -1,32 +1,35 @@
1
- <script lang="ts" setup>
2
- import type { CalendarNextProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ArrowRight01Icon } from "@hugeicons/core-free-icons"
6
- import { HugeiconsIcon } from "@hugeicons/vue"
7
- import { CalendarNext, useForwardProps } from "reka-ui"
8
- import { cn } from "../../../lib/utils"
9
- import { buttonVariants } from '../button'
1
+ <script setup lang="ts">
2
+ import type { CalendarNextProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { ArrowRight01Icon } from '@hugeicons/core-free-icons';
6
+ import { HugeiconsIcon } from '@hugeicons/vue';
7
+ import { CalendarNext, useForwardProps } from 'reka-ui';
8
+ import { cn } from '../../../lib/utils';
9
+ import { buttonVariants } from '../button';
10
10
 
11
- const props = defineProps<CalendarNextProps & { class?: HTMLAttributes["class"] }>()
11
+ // Props
12
+ const props = defineProps<CalendarNextProps & { class?: HTMLAttributes['class'] }>();
12
13
 
13
- const delegatedProps = reactiveOmit(props, "class")
14
+ const delegatedProps = reactiveOmit(props, 'class');
14
15
 
15
- const forwardedProps = useForwardProps(delegatedProps)
16
+ const forwardedProps = useForwardProps(delegatedProps);
16
17
  </script>
17
18
 
18
19
  <template>
19
- <CalendarNext
20
- data-slot="calendar-next-button"
21
- :class="cn(
22
- buttonVariants({ variant: 'secondary' }),
23
- 'size-7 min-h-10 bg-transparent p-0 text-(--text-secondary-light) hover:text-(--text-primary-light) dark:text-(--text-secondary-dark) dark:hover:text-(--text-primary-dark)',
24
- props.class,
25
- )"
26
- v-bind="forwardedProps"
27
- >
28
- <slot>
29
- <HugeiconsIcon :icon="ArrowRight01Icon" class="size-4" />
30
- </slot>
31
- </CalendarNext>
32
- </template>
20
+ <CalendarNext
21
+ data-slot="calendar-next-button"
22
+ :class="
23
+ cn(
24
+ buttonVariants({ variant: 'secondary' }),
25
+ 'size-7 min-h-10 bg-transparent p-0 text-(--text-secondary-light) hover:text-(--text-primary-light) dark:text-(--text-secondary-dark) dark:hover:text-(--text-primary-dark)',
26
+ props.class,
27
+ )
28
+ "
29
+ v-bind="forwardedProps"
30
+ >
31
+ <slot>
32
+ <HugeiconsIcon :icon="ArrowRight01Icon" class="size-4" />
33
+ </slot>
34
+ </CalendarNext>
35
+ </template>
@@ -1,32 +1,35 @@
1
- <script lang="ts" setup>
2
- import type { CalendarPrevProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ArrowLeft01Icon } from "@hugeicons/core-free-icons"
6
- import { HugeiconsIcon } from "@hugeicons/vue"
7
- import { CalendarPrev, useForwardProps } from "reka-ui"
8
- import { cn } from "../../../lib/utils"
9
- import { buttonVariants } from '../button'
1
+ <script setup lang="ts">
2
+ import type { CalendarPrevProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { ArrowLeft01Icon } from '@hugeicons/core-free-icons';
6
+ import { HugeiconsIcon } from '@hugeicons/vue';
7
+ import { CalendarPrev, useForwardProps } from 'reka-ui';
8
+ import { cn } from '../../../lib/utils';
9
+ import { buttonVariants } from '../button';
10
10
 
11
- const props = defineProps<CalendarPrevProps & { class?: HTMLAttributes["class"] }>()
11
+ // Props
12
+ const props = defineProps<CalendarPrevProps & { class?: HTMLAttributes['class'] }>();
12
13
 
13
- const delegatedProps = reactiveOmit(props, "class")
14
+ const delegatedProps = reactiveOmit(props, 'class');
14
15
 
15
- const forwardedProps = useForwardProps(delegatedProps)
16
+ const forwardedProps = useForwardProps(delegatedProps);
16
17
  </script>
17
18
 
18
19
  <template>
19
- <CalendarPrev
20
- data-slot="calendar-prev-button"
21
- :class="cn(
22
- buttonVariants({ variant: 'secondary' }),
23
- 'size-7 min-h-10 bg-transparent p-0 text-(--text-secondary-light) hover:text-(--text-primary-light) dark:text-(--text-secondary-dark) dark:hover:text-(--text-primary-dark)',
24
- props.class,
25
- )"
26
- v-bind="forwardedProps"
27
- >
28
- <slot>
29
- <HugeiconsIcon :icon="ArrowLeft01Icon" class="size-4" />
30
- </slot>
31
- </CalendarPrev>
32
- </template>
20
+ <CalendarPrev
21
+ data-slot="calendar-prev-button"
22
+ :class="
23
+ cn(
24
+ buttonVariants({ variant: 'secondary' }),
25
+ 'size-7 min-h-10 bg-transparent p-0 text-(--text-secondary-light) hover:text-(--text-primary-light) dark:text-(--text-secondary-dark) dark:hover:text-(--text-primary-dark)',
26
+ props.class,
27
+ )
28
+ "
29
+ v-bind="forwardedProps"
30
+ >
31
+ <slot>
32
+ <HugeiconsIcon :icon="ArrowLeft01Icon" class="size-4" />
33
+ </slot>
34
+ </CalendarPrev>
35
+ </template>
@@ -1,14 +1,18 @@
1
- export { default as Calendar } from "./Calendar.vue"
2
- export { default as CalendarCell } from "./CalendarCell.vue"
3
- export { default as CalendarCellTrigger } from "./CalendarCellTrigger.vue"
4
- export { default as CalendarGrid } from "./CalendarGrid.vue"
5
- export { default as CalendarGridBody } from "./CalendarGridBody.vue"
6
- export { default as CalendarGridHead } from "./CalendarGridHead.vue"
7
- export { default as CalendarGridRow } from "./CalendarGridRow.vue"
8
- export { default as CalendarHeadCell } from "./CalendarHeadCell.vue"
9
- export { default as CalendarHeader } from "./CalendarHeader.vue"
10
- export { default as CalendarHeading } from "./CalendarHeading.vue"
11
- export { default as CalendarNextButton } from "./CalendarNextButton.vue"
12
- export { default as CalendarPrevButton } from "./CalendarPrevButton.vue"
1
+ export { default as Calendar } from './Calendar.vue';
2
+ export { default as CalendarCell } from './CalendarCell.vue';
3
+ export { default as CalendarCellTrigger } from './CalendarCellTrigger.vue';
4
+ export { default as CalendarGrid } from './CalendarGrid.vue';
5
+ export { default as CalendarGridBody } from './CalendarGridBody.vue';
6
+ export { default as CalendarGridHead } from './CalendarGridHead.vue';
7
+ export { default as CalendarGridRow } from './CalendarGridRow.vue';
8
+ export { default as CalendarHeadCell } from './CalendarHeadCell.vue';
9
+ export { default as CalendarHeader } from './CalendarHeader.vue';
10
+ export { default as CalendarHeading } from './CalendarHeading.vue';
11
+ export { default as CalendarNextButton } from './CalendarNextButton.vue';
12
+ export { default as CalendarPrevButton } from './CalendarPrevButton.vue';
13
13
 
14
- export type LayoutTypes = "month-and-year" | "month-only" | "year-only" | undefined
14
+ export type LayoutTypes =
15
+ | 'month-and-year'
16
+ | 'month-only'
17
+ | 'year-only'
18
+ | undefined;
@@ -1,31 +1,39 @@
1
1
  <script setup lang="ts">
2
- import { computed } from "vue"
3
- import type { HTMLAttributes } from "vue"
4
- import { getSurfaceToneClasses, type ToneColor } from "../../../lib/color-tokens"
5
- import { cn } from "../../../lib/utils"
2
+ import { computed } from 'vue';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import {
5
+ getSurfaceToneClasses,
6
+ type ToneColor,
7
+ } from '../../../lib/color-tokens';
8
+ import { cn } from '../../../lib/utils';
6
9
 
7
- type CardColor = "default" | ToneColor
10
+ type CardColor = 'default' | ToneColor;
8
11
 
9
12
  // Props
10
13
  const props = defineProps<{
11
- color?: CardColor
12
- class?: HTMLAttributes["class"]
13
- }>()
14
+ color?: CardColor;
15
+ class?: HTMLAttributes['class'];
16
+ }>();
14
17
 
15
18
  // Get the appropriate classes
16
19
  const colorClasses = computed(() => {
17
20
  // If color is not specified or is "default", use the default card styles
18
- if (!props.color || props.color === "default") {
19
- return "border border-border bg-card text-card-foreground"
21
+ if (!props.color || props.color === 'default') {
22
+ return 'border border-border bg-card text-card-foreground';
20
23
  }
21
24
 
22
25
  // For other colors, use the corresponding surface tone classes
23
- return getSurfaceToneClasses(props.color)
24
- })
26
+ return getSurfaceToneClasses(props.color);
27
+ });
25
28
  </script>
26
29
 
27
30
  <template>
28
- <div data-slot="card" :class="cn('flex flex-col gap-4 sm:!gap-6 rounded py-6 transition-colors duration-300 ease-in-out', colorClasses, props.class)">
31
+ <div data-slot="card" :class="cn(
32
+ 'flex flex-col gap-4 sm:gap-6! rounded py-6 transition-colors duration-300 ease-in-out',
33
+ colorClasses,
34
+ props.class,
35
+ )
36
+ ">
29
37
  <slot />
30
38
  </div>
31
39
  </template>
@@ -1,14 +1,19 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/utils"
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { cn } from '../../../lib/utils';
4
4
 
5
+ // Props
5
6
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
7
+ class?: HTMLAttributes['class'];
8
+ }>();
8
9
  </script>
9
10
 
10
11
  <template>
11
- <div data-slot="card-action" :class="cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', props.class)">
12
- <slot />
13
- </div>
12
+ <div data-slot="card-action" :class="cn(
13
+ 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',
14
+ props.class,
15
+ )
16
+ ">
17
+ <slot />
18
+ </div>
14
19
  </template>
@@ -1,14 +1,15 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/utils"
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { cn } from '../../../lib/utils';
4
4
 
5
+ // Props
5
6
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
7
+ class?: HTMLAttributes['class'];
8
+ }>();
8
9
  </script>
9
10
 
10
11
  <template>
11
- <div data-slot="card-content" :class="cn('flex flex-col gap-4 px-6', props.class)">
12
- <slot />
13
- </div>
12
+ <div data-slot="card-content" :class="cn('flex flex-col gap-4 px-6', props.class)">
13
+ <slot />
14
+ </div>
14
15
  </template>
@@ -1,14 +1,23 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "../../../lib/utils"
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { cn } from '../../../lib/utils';
4
4
 
5
+ // Props
5
6
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
7
- }>()
7
+ class?: HTMLAttributes['class'];
8
+ }>();
8
9
  </script>
9
10
 
10
11
  <template>
11
- <p data-slot="card-description" :class="cn('text-muted-foreground text-xs sm:text-sm leading-5', props.class)">
12
- <slot />
13
- </p>
12
+ <p
13
+ data-slot="card-description"
14
+ :class="
15
+ cn(
16
+ 'text-muted-foreground text-xs sm:text-sm leading-5',
17
+ props.class,
18
+ )
19
+ "
20
+ >
21
+ <slot />
22
+ </p>
14
23
  </template>