@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 +1 @@
1
- export { default as Slider } from "./Slider.vue"
1
+ export { default as Slider } from './Slider.vue';
@@ -1,30 +1,33 @@
1
1
  <script setup lang="ts">
2
- import type { SwitchRootEmits, SwitchRootProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- SwitchRoot,
7
- SwitchThumb,
8
- useForwardPropsEmits,
9
- } from "reka-ui"
10
- import { cn } from "../../../lib/utils"
2
+ import type { SwitchRootEmits, SwitchRootProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { SwitchRoot, SwitchThumb, useForwardPropsEmits } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
11
7
 
12
- const props = defineProps<SwitchRootProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<SwitchRootProps & {
10
+ class?: HTMLAttributes['class'];
11
+ }>();
13
12
 
14
- const emits = defineEmits<SwitchRootEmits>()
13
+ // Emits
14
+ const emits = defineEmits<SwitchRootEmits>();
15
15
 
16
- const delegatedProps = reactiveOmit(props, "class")
17
-
18
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
16
+ const delegatedProps = reactiveOmit(props, 'class');
17
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
19
18
  </script>
20
19
 
21
20
  <template>
22
- <SwitchRoot v-slot="slotProps" data-slot="switch" v-bind="forwarded" :class="cn(
23
- 'peer relative inline-flex h-7 w-12 shrink-0 cursor-pointer items-center rounded border border-(--border-light) bg-(--button-secondary-light) transition-all duration-200 outline-none focus-visible:border-(--border-hover-light) focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-60 data-[state=checked]:border-(--button-primary-light) data-[state=checked]:bg-(--bg-selected-light) dark:border-(--border-dark) dark:bg-(--button-secondary-dark) dark:focus-visible:border-(--border-hover-dark) dark:data-[state=checked]:border-(--button-primary-dark) dark:data-[state=checked]:bg-(--bg-selected-dark)',
24
- props.class,
25
- )">
26
- <SwitchThumb data-slot="switch-thumb" :class="cn('pointer-events-none absolute left-[4px] top-1/2 block h-4 w-4 -translate-y-1/2 rounded-[0.2rem] bg-(--text-secondary-light) ring-0 transition-all duration-200 data-[state=checked]:translate-x-6 data-[state=checked]:bg-(--button-primary-light) dark:bg-(--text-secondary-dark) dark:data-[state=checked]:bg-(--button-primary-dark)')">
27
- <slot name="thumb" v-bind="slotProps" />
28
- </SwitchThumb>
29
- </SwitchRoot>
30
- </template>
21
+ <SwitchRoot v-slot="slotProps" data-slot="switch" v-bind="forwarded" :class="cn(
22
+ 'peer relative inline-flex h-7 w-12 shrink-0 cursor-pointer items-center rounded border border-(--border-light) bg-(--button-secondary-light) transition-all duration-200 outline-none focus-visible:border-(--border-hover-light) focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-60 data-[state=checked]:border-(--button-primary-light) data-[state=checked]:bg-(--bg-selected-light) dark:border-(--border-dark) dark:bg-(--button-secondary-dark) dark:focus-visible:border-(--border-hover-dark) dark:data-[state=checked]:border-(--button-primary-dark) dark:data-[state=checked]:bg-(--bg-selected-dark)',
23
+ props.class
24
+ )
25
+ ">
26
+ <SwitchThumb data-slot="switch-thumb" :class="cn(
27
+ 'pointer-events-none absolute left-1 top-1/2 block h-4 w-4 -translate-y-1/2 rounded-[0.2rem] bg-(--text-secondary-light) ring-0 transition-all duration-200 data-[state=checked]:translate-x-6 data-[state=checked]:bg-(--button-primary-light) dark:bg-(--text-secondary-dark) dark:data-[state=checked]:bg-(--button-primary-dark)'
28
+ )
29
+ ">
30
+ <slot name="thumb" v-bind="slotProps" />
31
+ </SwitchThumb>
32
+ </SwitchRoot>
33
+ </template>
@@ -1 +1 @@
1
- export { default as Switch } from "./Switch.vue"
1
+ export { default as Switch } from './Switch.vue';
@@ -1,16 +1,17 @@
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="table-container" class="relative w-full overflow-auto">
12
- <table data-slot="table" :class="cn('w-full caption-bottom text-sm', props.class)">
13
- <slot />
14
- </table>
15
- </div>
16
- </template>
12
+ <div data-slot="table-container" class="relative w-full overflow-auto">
13
+ <table data-slot="table" :class="cn('w-full caption-bottom text-sm', props.class)">
14
+ <slot />
15
+ </table>
16
+ </div>
17
+ </template>
@@ -1,17 +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
- <tbody
12
- data-slot="table-body"
13
- :class="cn('[&_tr:last-child]:border-0', props.class)"
14
- >
15
- <slot />
16
- </tbody>
17
- </template>
12
+ <tbody data-slot="table-body" :class="cn('[&_tr:last-child]:border-0', props.class)">
13
+ <slot />
14
+ </tbody>
15
+ </template>
@@ -1,17 +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
- <caption
12
- data-slot="table-caption"
13
- :class="cn('text-muted-foreground mt-4 text-sm', props.class)"
14
- >
15
- <slot />
16
- </caption>
17
- </template>
12
+ <caption data-slot="table-caption" :class="cn('text-muted-foreground mt-4 text-sm', props.class)">
13
+ <slot />
14
+ </caption>
15
+ </template>
@@ -1,22 +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
- <td
12
- data-slot="table-cell"
13
- :class="
14
- cn(
15
- 'px-2 py-3 max-w-[300px] text-xs md:text-sm align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
16
- props.class,
17
- )
18
- "
19
- >
20
- <slot />
21
- </td>
22
- </template>
12
+ <td data-slot="table-cell" :class="cn(
13
+ 'px-2 py-3 max-w-75 text-xs md:text-sm align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-0.5',
14
+ props.class
15
+ )
16
+ ">
17
+ <slot />
18
+ </td>
19
+ </template>
@@ -1,34 +1,31 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { reactiveOmit } from "@vueuse/core"
4
- import { cn } from "../../../lib/utils"
5
- import TableCell from "./TableCell.vue"
6
- import TableRow from "./TableRow.vue"
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { reactiveOmit } from '@vueuse/core';
4
+ import { cn } from '../../../lib/utils';
5
+ import TableCell from './TableCell.vue';
6
+ import TableRow from './TableRow.vue';
7
7
 
8
+ // Props
8
9
  const props = withDefaults(defineProps<{
9
- class?: HTMLAttributes["class"]
10
- colspan?: number
10
+ class?: HTMLAttributes['class'];
11
+ colspan?: number;
11
12
  }>(), {
12
- colspan: 1,
13
- })
13
+ colspan: 1
14
+ });
14
15
 
15
- const delegatedProps = reactiveOmit(props, "class")
16
+ const delegatedProps = reactiveOmit(props, 'class');
16
17
  </script>
17
18
 
18
19
  <template>
19
- <TableRow>
20
- <TableCell
21
- :class="
22
- cn(
23
- 'p-4 whitespace-nowrap align-middle text-sm text-foreground',
24
- props.class,
20
+ <TableRow>
21
+ <TableCell :class="cn(
22
+ 'p-4 whitespace-nowrap align-middle text-sm text-foreground',
23
+ props.class
25
24
  )
26
- "
27
- v-bind="delegatedProps"
28
- >
29
- <div class="flex items-center justify-center py-10">
30
- <slot />
31
- </div>
32
- </TableCell>
33
- </TableRow>
34
- </template>
25
+ " v-bind="delegatedProps">
26
+ <div class="flex items-center justify-center py-10">
27
+ <slot />
28
+ </div>
29
+ </TableCell>
30
+ </TableRow>
31
+ </template>
@@ -1,17 +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
- <tfoot
12
- data-slot="table-footer"
13
- :class="cn('bg-muted/50 border-t border-border font-semibold [&>tr]:last:border-b-0', props.class)"
14
- >
15
- <slot />
16
- </tfoot>
17
- </template>
12
+ <tfoot data-slot="table-footer" :class="cn(
13
+ 'bg-muted/50 border-t border-border font-semibold [&>tr]:last:border-b-0',
14
+ props.class
15
+ )
16
+ ">
17
+ <slot />
18
+ </tfoot>
19
+ </template>
@@ -1,17 +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
- <th
12
- data-slot="table-head"
13
- :class="cn('text-foreground h-10 px-2 max-w-[300px] text-left align-middle font-semibold whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', props.class)"
14
- >
15
- <slot />
16
- </th>
17
- </template>
12
+ <th data-slot="table-head" :class="cn(
13
+ 'text-foreground h-10 px-2 max-w-75 text-left align-middle font-semibold whitespace-nowrap [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-0.5',
14
+ props.class
15
+ )
16
+ ">
17
+ <slot />
18
+ </th>
19
+ </template>
@@ -1,17 +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
- <thead
12
- data-slot="table-header"
13
- :class="cn('[&_tr]:border-b [&_tr]:border-border', props.class)"
14
- >
15
- <slot />
16
- </thead>
17
- </template>
12
+ <thead data-slot="table-header" :class="cn('[&_tr]:border-b [&_tr]:border-border', props.class)">
13
+ <slot />
14
+ </thead>
15
+ </template>
@@ -1,17 +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
- <tr
12
- data-slot="table-row"
13
- :class="cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b border-border transition-colors', props.class)"
14
- >
15
- <slot />
16
- </tr>
17
- </template>
12
+ <tr data-slot="table-row" :class="cn(
13
+ 'hover:bg-muted/50 data-[state=selected]:bg-muted border-b border-border transition-colors',
14
+ props.class
15
+ )
16
+ ">
17
+ <slot />
18
+ </tr>
19
+ </template>
@@ -1,9 +1,9 @@
1
- export { default as Table } from "./Table.vue"
2
- export { default as TableBody } from "./TableBody.vue"
3
- export { default as TableCaption } from "./TableCaption.vue"
4
- export { default as TableCell } from "./TableCell.vue"
5
- export { default as TableEmpty } from "./TableEmpty.vue"
6
- export { default as TableFooter } from "./TableFooter.vue"
7
- export { default as TableHead } from "./TableHead.vue"
8
- export { default as TableHeader } from "./TableHeader.vue"
9
- export { default as TableRow } from "./TableRow.vue"
1
+ export { default as Table } from './Table.vue';
2
+ export { default as TableBody } from './TableBody.vue';
3
+ export { default as TableCaption } from './TableCaption.vue';
4
+ export { default as TableCell } from './TableCell.vue';
5
+ export { default as TableEmpty } from './TableEmpty.vue';
6
+ export { default as TableFooter } from './TableFooter.vue';
7
+ export { default as TableHead } from './TableHead.vue';
8
+ export { default as TableHeader } from './TableHeader.vue';
9
+ export { default as TableRow } from './TableRow.vue';
@@ -1,24 +1,24 @@
1
1
  <script setup lang="ts">
2
- import type { TabsRootEmits, TabsRootProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { TabsRoot, useForwardPropsEmits } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { TabsRootEmits, TabsRootProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { TabsRoot, useForwardPropsEmits } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<TabsRootProps & { class?: HTMLAttributes["class"] }>()
9
- const emits = defineEmits<TabsRootEmits>()
8
+ // Props
9
+ const props = defineProps<TabsRootProps & {
10
+ class?: HTMLAttributes['class'];
11
+ }>();
10
12
 
11
- const delegatedProps = reactiveOmit(props, "class")
12
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
13
+ // Emits
14
+ const emits = defineEmits<TabsRootEmits>();
15
+
16
+ const delegatedProps = reactiveOmit(props, 'class');
17
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
13
18
  </script>
14
19
 
15
20
  <template>
16
- <TabsRoot
17
- v-slot="slotProps"
18
- data-slot="tabs"
19
- v-bind="forwarded"
20
- :class="cn('flex flex-col gap-2', props.class)"
21
- >
22
- <slot v-bind="slotProps" />
23
- </TabsRoot>
24
- </template>
21
+ <TabsRoot v-slot="slotProps" data-slot="tabs" v-bind="forwarded" :class="cn('flex flex-col gap-2', props.class)">
22
+ <slot v-bind="slotProps" />
23
+ </TabsRoot>
24
+ </template>
@@ -1,21 +1,20 @@
1
1
  <script setup lang="ts">
2
- import type { TabsContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { TabsContent } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { TabsContentProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { TabsContent } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<TabsContentProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<TabsContentProps & {
10
+ class?: HTMLAttributes['class'];
11
+ }>();
9
12
 
10
- const delegatedProps = reactiveOmit(props, "class")
13
+ const delegatedProps = reactiveOmit(props, 'class');
11
14
  </script>
12
15
 
13
16
  <template>
14
- <TabsContent
15
- data-slot="tabs-content"
16
- :class="cn('flex-1 outline-none', props.class)"
17
- v-bind="delegatedProps"
18
- >
19
- <slot />
20
- </TabsContent>
21
- </template>
17
+ <TabsContent data-slot="tabs-content" :class="cn('flex-1 outline-none', props.class)" v-bind="delegatedProps">
18
+ <slot />
19
+ </TabsContent>
20
+ </template>
@@ -1,24 +1,24 @@
1
1
  <script setup lang="ts">
2
- import type { TabsListProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { TabsList } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { TabsListProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { TabsList } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<TabsListProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<TabsListProps & {
10
+ class?: HTMLAttributes['class'];
11
+ }>();
9
12
 
10
- const delegatedProps = reactiveOmit(props, "class")
13
+ const delegatedProps = reactiveOmit(props, 'class');
11
14
  </script>
12
15
 
13
16
  <template>
14
- <TabsList
15
- data-slot="tabs-list"
16
- v-bind="delegatedProps"
17
- :class="cn(
18
- 'inline-flex h-auto w-fit items-center justify-center gap-1 rounded border border-border bg-card p-1 text-card-foreground transition-colors duration-300 ease-in-out',
19
- props.class,
20
- )"
21
- >
22
- <slot />
23
- </TabsList>
24
- </template>
17
+ <TabsList data-slot="tabs-list" v-bind="delegatedProps" :class="cn(
18
+ 'inline-flex h-auto w-fit items-center justify-center gap-1 rounded border border-border bg-card p-1 text-card-foreground transition-colors duration-300 ease-in-out',
19
+ props.class
20
+ )
21
+ ">
22
+ <slot />
23
+ </TabsList>
24
+ </template>
@@ -1,26 +1,25 @@
1
1
  <script setup lang="ts">
2
- import type { TabsTriggerProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { TabsTrigger, useForwardProps } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { TabsTriggerProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { TabsTrigger, useForwardProps } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<TabsTriggerProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<TabsTriggerProps & {
10
+ class?: HTMLAttributes['class'];
11
+ }>();
9
12
 
10
- const delegatedProps = reactiveOmit(props, "class")
11
-
12
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const delegatedProps = reactiveOmit(props, 'class');
14
+ const forwardedProps = useForwardProps(delegatedProps);
13
15
  </script>
14
16
 
15
17
  <template>
16
- <TabsTrigger
17
- data-slot="tabs-trigger"
18
- :class="cn(
19
- 'text-muted-foreground hover:text-foreground focus-visible:outline-none inline-flex min-h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded border border-transparent bg-transparent px-4 py-2 text-sm font-semibold whitespace-nowrap transition-colors duration-300 ease-in-out disabled:pointer-events-none disabled:opacity-50 data-[state=active]:cursor-pointer data-[state=active]:border-(--button-primary-light) data-[state=active]:bg-gray-50 data-[state=active]:text-(--button-primary-light) data-[state=active]:font-semibold data-[state=active]:outline-1 data-[state=active]:outline-border data-[state=active]:outline-offset-0 data-[state=active]:shadow-none dark:data-[state=active]:border-(--button-primary-dark) dark:data-[state=active]:bg-(--bg-card-dark) dark:data-[state=active]:text-(--button-primary-dark) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
20
- props.class,
21
- )"
22
- v-bind="forwardedProps"
23
- >
24
- <slot />
25
- </TabsTrigger>
26
- </template>
18
+ <TabsTrigger data-slot="tabs-trigger" :class="cn(
19
+ 'text-muted-foreground hover:text-foreground focus-visible:outline-none inline-flex min-h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded border border-transparent bg-transparent px-4 py-2 text-sm font-semibold whitespace-nowrap transition-colors duration-300 ease-in-out disabled:pointer-events-none disabled:opacity-50 data-[state=active]:cursor-pointer data-[state=active]:border-(--button-primary-light) data-[state=active]:bg-gray-50 data-[state=active]:text-(--button-primary-light) data-[state=active]:font-semibold data-[state=active]:outline-1 data-[state=active]:outline-border data-[state=active]:outline-offset-0 data-[state=active]:shadow-none dark:data-[state=active]:border-(--button-primary-dark) dark:data-[state=active]:bg-(--bg-card-dark) dark:data-[state=active]:text-(--button-primary-dark) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
20
+ props.class
21
+ )
22
+ " v-bind="forwardedProps">
23
+ <slot />
24
+ </TabsTrigger>
25
+ </template>
@@ -1,4 +1,4 @@
1
- export { default as Tabs } from "./Tabs.vue"
2
- export { default as TabsContent } from "./TabsContent.vue"
3
- export { default as TabsList } from "./TabsList.vue"
4
- export { default as TabsTrigger } from "./TabsTrigger.vue"
1
+ export { default as Tabs } from './Tabs.vue';
2
+ export { default as TabsContent } from './TabsContent.vue';
3
+ export { default as TabsList } from './TabsList.vue';
4
+ export { default as TabsTrigger } from './TabsTrigger.vue';
@@ -1,29 +1,32 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { useVModel } from "@vueuse/core"
4
- import { cn } from "../../../lib/utils"
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { useVModel } from '@vueuse/core';
4
+ import { cn } from '../../../lib/utils';
5
5
 
6
+ // Props
6
7
  const props = defineProps<{
7
- class?: HTMLAttributes["class"]
8
- defaultValue?: string | number
9
- modelValue?: string | number
10
- }>()
8
+ class?: HTMLAttributes['class'];
9
+ defaultValue?: string | number;
10
+ modelValue?: string | number;
11
+ }>();
11
12
 
13
+ // Emits
12
14
  const emits = defineEmits<{
13
- (e: "update:modelValue", payload: string | number): void
14
- }>()
15
+ (e: 'update:modelValue', payload: string | number): void;
16
+ }>();
15
17
 
16
- const modelValue = useVModel(props, "modelValue", emits, {
17
- passive: true,
18
- defaultValue: props.defaultValue,
19
- })
18
+ const modelValue = useVModel(props, 'modelValue', emits, {
19
+ passive: true,
20
+ defaultValue: props.defaultValue
21
+ });
20
22
  </script>
21
23
 
22
24
  <template>
23
- <textarea v-model="modelValue" data-slot="textarea" :class="cn(
24
- 'selection:bg-primary selection:text-primary-foreground flex field-sizing-content min-h-[120px] w-full min-w-0 rounded border border-(--border-light) bg-(--button-secondary-light) px-4 py-3 text-xs font-semibold text-(--text-primary-light) outline-none transition-all duration-300 ease-in-out placeholder:text-(--text-secondary-light) placeholder:opacity-60 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-60 dark:border-(--border-dark) dark:bg-(--button-secondary-dark) dark:text-(--text-primary-dark) dark:placeholder:text-(--text-secondary-dark) sm:text-sm',
25
- 'focus-visible:border-(--border-hover-light) focus-visible:ring-0 dark:focus-visible:border-(--border-hover-dark)',
26
- 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',
27
- props.class,
28
- )" />
29
- </template>
25
+ <textarea v-model="modelValue" data-slot="textarea" :class="cn(
26
+ 'selection:bg-primary selection:text-primary-foreground flex field-sizing-content min-h-30 w-full min-w-0 rounded border border-(--border-light) bg-(--button-secondary-light) px-4 py-3 text-xs font-semibold text-(--text-primary-light) outline-none transition-all duration-300 ease-in-out placeholder:text-(--text-secondary-light) placeholder:opacity-60 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-60 dark:border-(--border-dark) dark:bg-(--button-secondary-dark) dark:text-(--text-primary-dark) dark:placeholder:text-(--text-secondary-dark) sm:text-sm',
27
+ 'focus-visible:border-(--border-hover-light) focus-visible:ring-0 dark:focus-visible:border-(--border-hover-dark)',
28
+ 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',
29
+ props.class
30
+ )
31
+ " />
32
+ </template>