@brumaombra/ui-vintage 0.7.8 → 0.7.9

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 (272) 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/BlogFAQSection.vue +8 -3
  8. package/src/components/blog/BlogHeaderSection.vue +14 -11
  9. package/src/components/blog/BlogInfoSection.vue +13 -11
  10. package/src/components/blog/BlogSectionTitle.vue +5 -5
  11. package/src/components/blog/CategoriesList.vue +11 -3
  12. package/src/components/blog/CategoriesSection.vue +11 -3
  13. package/src/components/blog/CategoryCard.vue +10 -8
  14. package/src/components/blog/HeaderCarousel.vue +24 -15
  15. package/src/components/blog/PostCard.vue +16 -11
  16. package/src/components/blog/PostsList.vue +12 -3
  17. package/src/components/blog/SocialShareSidebar.vue +11 -11
  18. package/src/components/blog/TableOfContents.vue +29 -13
  19. package/src/components/busy-indicator/BusyIndicator.vue +2 -2
  20. package/src/components/busy-indicator/busy-indicator-state.ts +11 -12
  21. package/src/components/busy-indicator/index.ts +3 -3
  22. package/src/components/card-grid/CardGrid.vue +25 -11
  23. package/src/components/chip/Chip.vue +15 -15
  24. package/src/components/chip/index.ts +2 -2
  25. package/src/components/confirm-dialog/ConfirmDialog.vue +9 -9
  26. package/src/components/confirm-dialog/confirm-dialog-state.ts +15 -14
  27. package/src/components/confirm-dialog/index.ts +3 -12
  28. package/src/components/content/BlogList.vue +11 -8
  29. package/src/components/content/BlogTable.vue +18 -14
  30. package/src/components/content/ProseHr.vue +10 -7
  31. package/src/components/content/Terminal.vue +70 -0
  32. package/src/components/content/index.ts +2 -1
  33. package/src/components/dashboard-shell/DashboardShell.vue +43 -64
  34. package/src/components/dashboard-shell/index.ts +2 -2
  35. package/src/components/data-list/DataList.vue +11 -13
  36. package/src/components/data-list/DataListItem.vue +9 -11
  37. package/src/components/data-list/DataListLabel.vue +9 -11
  38. package/src/components/data-list/DataListText.vue +9 -11
  39. package/src/components/data-list/DataListValue.vue +9 -11
  40. package/src/components/data-list/index.ts +5 -5
  41. package/src/components/empty-state-card/EmptyStateCard.vue +21 -11
  42. package/src/components/error-page/ErrorPage.vue +24 -27
  43. package/src/components/error-page/index.ts +2 -2
  44. package/src/components/info-card/InfoCard.vue +17 -11
  45. package/src/components/landing/index.ts +6 -6
  46. package/src/components/landing/landing-content/LandingContent.vue +5 -7
  47. package/src/components/landing/landing-content/index.ts +2 -2
  48. package/src/components/landing/landing-footer/LandingFooter.vue +26 -29
  49. package/src/components/landing/landing-footer/index.ts +3 -3
  50. package/src/components/landing/landing-navbar/LandingNavbar.vue +15 -17
  51. package/src/components/landing/landing-navbar/index.ts +2 -2
  52. package/src/components/landing/landing-shell/LandingShell.vue +10 -13
  53. package/src/components/landing/landing-shell/index.ts +2 -2
  54. package/src/components/language-flag/LanguageFlag.vue +6 -5
  55. package/src/components/language-flag/index.ts +1 -0
  56. package/src/components/language-selector/LanguageSelector.vue +20 -21
  57. package/src/components/load-more-button/LoadMoreButton.vue +18 -14
  58. package/src/components/loading-state-card/LoadingStateCard.vue +13 -9
  59. package/src/components/message-dialog/MessageDialog.vue +19 -19
  60. package/src/components/message-dialog/index.ts +3 -11
  61. package/src/components/message-dialog/message-dialog-state.ts +12 -11
  62. package/src/components/message-toast/MessageToast.vue +16 -16
  63. package/src/components/message-toast/index.ts +2 -9
  64. package/src/components/message-toast/message-toast-state.ts +9 -9
  65. package/src/components/page-header/PageHeader.vue +8 -5
  66. package/src/components/progress-component/ProgressComponent.vue +13 -10
  67. package/src/components/single-value-card/SingleValueCard.vue +22 -19
  68. package/src/components/slider-form-component/SliderFormComponent.vue +11 -20
  69. package/src/components/slider-form-component/index.ts +2 -2
  70. package/src/components/switch-form-component/SwitchFormComponent.vue +7 -9
  71. package/src/components/switch-form-component/index.ts +2 -2
  72. package/src/components/text-link/TextLink.vue +11 -7
  73. package/src/components/ui/accordion/Accordion.vue +10 -13
  74. package/src/components/ui/accordion/index.ts +1 -1
  75. package/src/components/ui/alert/Alert.vue +11 -10
  76. package/src/components/ui/alert/AlertDescription.vue +9 -8
  77. package/src/components/ui/alert/AlertTitle.vue +9 -8
  78. package/src/components/ui/alert/index.ts +10 -10
  79. package/src/components/ui/alert-dialog/AlertDialog.vue +13 -9
  80. package/src/components/ui/alert-dialog/AlertDialogAction.vue +14 -12
  81. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +14 -16
  82. package/src/components/ui/alert-dialog/AlertDialogContent.vue +24 -27
  83. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +13 -13
  84. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +9 -12
  85. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +9 -8
  86. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +13 -11
  87. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +8 -7
  88. package/src/components/ui/alert-dialog/index.ts +9 -9
  89. package/src/components/ui/badge/Badge.vue +11 -12
  90. package/src/components/ui/badge/index.ts +1 -1
  91. package/src/components/ui/breadcrumb/Breadcrumb.vue +9 -12
  92. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +15 -19
  93. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +10 -12
  94. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +13 -17
  95. package/src/components/ui/breadcrumb/BreadcrumbList.vue +10 -12
  96. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +10 -15
  97. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +14 -18
  98. package/src/components/ui/breadcrumb/index.ts +7 -7
  99. package/src/components/ui/busy/Busy.vue +36 -29
  100. package/src/components/ui/busy/index.ts +1 -1
  101. package/src/components/ui/button/Button.vue +18 -19
  102. package/src/components/ui/button/index.ts +54 -35
  103. package/src/components/ui/calendar/Calendar.vue +167 -121
  104. package/src/components/ui/calendar/CalendarCell.vue +18 -17
  105. package/src/components/ui/calendar/CalendarCellTrigger.vue +31 -33
  106. package/src/components/ui/calendar/CalendarGrid.vue +14 -17
  107. package/src/components/ui/calendar/CalendarGridBody.vue +9 -11
  108. package/src/components/ui/calendar/CalendarGridHead.vue +10 -12
  109. package/src/components/ui/calendar/CalendarGridRow.vue +14 -16
  110. package/src/components/ui/calendar/CalendarHeadCell.vue +18 -17
  111. package/src/components/ui/calendar/CalendarHeader.vue +18 -17
  112. package/src/components/ui/calendar/CalendarHeading.vue +18 -22
  113. package/src/components/ui/calendar/CalendarNextButton.vue +29 -26
  114. package/src/components/ui/calendar/CalendarPrevButton.vue +29 -26
  115. package/src/components/ui/calendar/index.ts +17 -13
  116. package/src/components/ui/card/Card.vue +21 -13
  117. package/src/components/ui/card/CardAction.vue +12 -7
  118. package/src/components/ui/card/CardContent.vue +8 -7
  119. package/src/components/ui/card/CardDescription.vue +16 -7
  120. package/src/components/ui/card/CardFooter.vue +8 -7
  121. package/src/components/ui/card/CardHeader.vue +12 -7
  122. package/src/components/ui/card/CardText.vue +12 -7
  123. package/src/components/ui/card/CardTitle.vue +9 -7
  124. package/src/components/ui/card/index.ts +8 -8
  125. package/src/components/ui/command/Command.vue +71 -61
  126. package/src/components/ui/command/CommandDialog.vue +33 -23
  127. package/src/components/ui/command/CommandEmpty.vue +19 -20
  128. package/src/components/ui/command/CommandGroup.vue +32 -35
  129. package/src/components/ui/command/CommandInput.vue +25 -21
  130. package/src/components/ui/command/CommandItem.vue +62 -59
  131. package/src/components/ui/command/CommandList.vue +21 -18
  132. package/src/components/ui/command/CommandSeparator.vue +13 -11
  133. package/src/components/ui/command/CommandShortcut.vue +13 -8
  134. package/src/components/ui/command/index.ts +24 -20
  135. package/src/components/ui/date-picker/DatePicker.vue +46 -37
  136. package/src/components/ui/date-picker/index.ts +2 -2
  137. package/src/components/ui/date-time-picker/DateTimePicker.vue +99 -95
  138. package/src/components/ui/date-time-picker/index.ts +2 -2
  139. package/src/components/ui/dialog/Dialog.vue +12 -9
  140. package/src/components/ui/dialog/DialogClose.vue +8 -10
  141. package/src/components/ui/dialog/DialogContent.vue +36 -42
  142. package/src/components/ui/dialog/DialogDescription.vue +16 -11
  143. package/src/components/ui/dialog/DialogFooter.vue +13 -12
  144. package/src/components/ui/dialog/DialogHeader.vue +9 -8
  145. package/src/components/ui/dialog/DialogOverlay.vue +16 -11
  146. package/src/components/ui/dialog/DialogScrollContent.vue +47 -45
  147. package/src/components/ui/dialog/DialogTitle.vue +13 -12
  148. package/src/components/ui/dialog/DialogTrigger.vue +8 -7
  149. package/src/components/ui/dialog/index.ts +10 -10
  150. package/src/components/ui/field/Field.vue +12 -14
  151. package/src/components/ui/field/FieldContent.vue +13 -11
  152. package/src/components/ui/field/FieldDescription.vue +15 -13
  153. package/src/components/ui/field/FieldError.vue +43 -40
  154. package/src/components/ui/field/FieldGroup.vue +13 -11
  155. package/src/components/ui/field/FieldLabel.vue +16 -14
  156. package/src/components/ui/field/FieldLegend.vue +16 -14
  157. package/src/components/ui/field/FieldSeparator.vue +17 -15
  158. package/src/components/ui/field/FieldSet.vue +14 -12
  159. package/src/components/ui/field/FieldTitle.vue +13 -11
  160. package/src/components/ui/field/index.ts +36 -36
  161. package/src/components/ui/input/Input.vue +23 -20
  162. package/src/components/ui/input/index.ts +1 -1
  163. package/src/components/ui/label/Label.vue +16 -15
  164. package/src/components/ui/label/index.ts +1 -1
  165. package/src/components/ui/native-select/NativeSelect.vue +31 -41
  166. package/src/components/ui/native-select/NativeSelectOptGroup.vue +8 -7
  167. package/src/components/ui/native-select/NativeSelectOption.vue +8 -7
  168. package/src/components/ui/native-select/index.ts +3 -3
  169. package/src/components/ui/popover/Popover.vue +12 -9
  170. package/src/components/ui/popover/PopoverAnchor.vue +8 -7
  171. package/src/components/ui/popover/PopoverContent.vue +27 -31
  172. package/src/components/ui/popover/PopoverTrigger.vue +8 -7
  173. package/src/components/ui/popover/index.ts +4 -4
  174. package/src/components/ui/progress/Progress.vue +18 -32
  175. package/src/components/ui/progress/index.ts +1 -1
  176. package/src/components/ui/scroll-area/ScrollArea.vue +23 -26
  177. package/src/components/ui/scroll-area/ScrollBar.vue +22 -26
  178. package/src/components/ui/scroll-area/index.ts +2 -2
  179. package/src/components/ui/select/Select.vue +12 -9
  180. package/src/components/ui/select/SelectContent.vue +39 -40
  181. package/src/components/ui/select/SelectGroup.vue +8 -7
  182. package/src/components/ui/select/SelectItem.vue +36 -41
  183. package/src/components/ui/select/SelectItemContent.vue +22 -15
  184. package/src/components/ui/select/SelectItemText.vue +8 -7
  185. package/src/components/ui/select/SelectLabel.vue +10 -9
  186. package/src/components/ui/select/SelectScrollDownButton.vue +21 -17
  187. package/src/components/ui/select/SelectScrollUpButton.vue +21 -17
  188. package/src/components/ui/select/SelectSeparator.vue +11 -9
  189. package/src/components/ui/select/SelectTrigger.vue +27 -25
  190. package/src/components/ui/select/SelectValue.vue +8 -7
  191. package/src/components/ui/select/SelectValueContent.vue +30 -18
  192. package/src/components/ui/select/index.ts +13 -13
  193. package/src/components/ui/separator/Separator.vue +17 -18
  194. package/src/components/ui/separator/index.ts +1 -1
  195. package/src/components/ui/sheet/Sheet.vue +12 -9
  196. package/src/components/ui/sheet/SheetClose.vue +8 -7
  197. package/src/components/ui/sheet/SheetContent.vue +36 -37
  198. package/src/components/ui/sheet/SheetDescription.vue +12 -11
  199. package/src/components/ui/sheet/SheetFooter.vue +8 -7
  200. package/src/components/ui/sheet/SheetHeader.vue +8 -7
  201. package/src/components/ui/sheet/SheetOverlay.vue +16 -11
  202. package/src/components/ui/sheet/SheetTitle.vue +12 -11
  203. package/src/components/ui/sheet/SheetTrigger.vue +8 -7
  204. package/src/components/ui/sheet/index.ts +8 -8
  205. package/src/components/ui/sidebar/Sidebar.vue +68 -61
  206. package/src/components/ui/sidebar/SidebarContent.vue +13 -8
  207. package/src/components/ui/sidebar/SidebarFooter.vue +13 -8
  208. package/src/components/ui/sidebar/SidebarGroup.vue +13 -8
  209. package/src/components/ui/sidebar/SidebarGroupAction.vue +16 -16
  210. package/src/components/ui/sidebar/SidebarGroupContent.vue +9 -8
  211. package/src/components/ui/sidebar/SidebarGroupLabel.vue +15 -14
  212. package/src/components/ui/sidebar/SidebarHeader.vue +13 -8
  213. package/src/components/ui/sidebar/SidebarInput.vue +14 -12
  214. package/src/components/ui/sidebar/SidebarInset.vue +14 -12
  215. package/src/components/ui/sidebar/SidebarMenu.vue +9 -8
  216. package/src/components/ui/sidebar/SidebarMenuAction.vue +25 -23
  217. package/src/components/ui/sidebar/SidebarMenuBadge.vue +19 -17
  218. package/src/components/ui/sidebar/SidebarMenuButton.vue +33 -32
  219. package/src/components/ui/sidebar/SidebarMenuButtonChild.vue +19 -18
  220. package/src/components/ui/sidebar/SidebarMenuItem.vue +9 -8
  221. package/src/components/ui/sidebar/SidebarMenuSkeleton.vue +17 -12
  222. package/src/components/ui/sidebar/SidebarMenuSub.vue +14 -12
  223. package/src/components/ui/sidebar/SidebarMenuSubButton.vue +24 -21
  224. package/src/components/ui/sidebar/SidebarMenuSubItem.vue +9 -8
  225. package/src/components/ui/sidebar/SidebarProvider.vue +63 -53
  226. package/src/components/ui/sidebar/SidebarRail.vue +20 -18
  227. package/src/components/ui/sidebar/SidebarSeparator.vue +10 -9
  228. package/src/components/ui/sidebar/SidebarTrigger.vue +15 -14
  229. package/src/components/ui/sidebar/index.ts +62 -58
  230. package/src/components/ui/sidebar/utils.ts +16 -16
  231. package/src/components/ui/skeleton/Skeleton.vue +12 -9
  232. package/src/components/ui/skeleton/index.ts +1 -1
  233. package/src/components/ui/slider/Slider.vue +24 -19
  234. package/src/components/ui/slider/index.ts +1 -1
  235. package/src/components/ui/switch/Switch.vue +26 -23
  236. package/src/components/ui/switch/index.ts +1 -1
  237. package/src/components/ui/table/Table.vue +11 -10
  238. package/src/components/ui/table/TableBody.vue +9 -11
  239. package/src/components/ui/table/TableCaption.vue +9 -11
  240. package/src/components/ui/table/TableCell.vue +13 -16
  241. package/src/components/ui/table/TableEmpty.vue +22 -25
  242. package/src/components/ui/table/TableFooter.vue +13 -11
  243. package/src/components/ui/table/TableHead.vue +13 -11
  244. package/src/components/ui/table/TableHeader.vue +9 -11
  245. package/src/components/ui/table/TableRow.vue +13 -11
  246. package/src/components/ui/table/index.ts +9 -9
  247. package/src/components/ui/tabs/Tabs.vue +18 -18
  248. package/src/components/ui/tabs/TabsContent.vue +14 -15
  249. package/src/components/ui/tabs/TabsList.vue +18 -18
  250. package/src/components/ui/tabs/TabsTrigger.vue +19 -20
  251. package/src/components/ui/tabs/index.ts +4 -4
  252. package/src/components/ui/textarea/Textarea.vue +23 -20
  253. package/src/components/ui/textarea/index.ts +1 -1
  254. package/src/components/ui/time-picker/TimePicker.vue +33 -38
  255. package/src/components/ui/time-picker/index.ts +2 -2
  256. package/src/components/ui/tooltip/Tooltip.vue +12 -9
  257. package/src/components/ui/tooltip/TooltipContent.vue +28 -20
  258. package/src/components/ui/tooltip/TooltipProvider.vue +9 -8
  259. package/src/components/ui/tooltip/TooltipTrigger.vue +8 -7
  260. package/src/components/ui/tooltip/index.ts +4 -4
  261. package/src/i18n/de.json +5 -0
  262. package/src/i18n/en.json +5 -0
  263. package/src/i18n/es.json +5 -0
  264. package/src/i18n/fr.json +5 -0
  265. package/src/i18n/it.json +5 -0
  266. package/src/i18n/ja.json +5 -0
  267. package/src/i18n/pt.json +5 -0
  268. package/src/i18n/ru.json +5 -0
  269. package/src/i18n/zh.json +5 -0
  270. package/src/lib/common-types.ts +2 -0
  271. package/src/lib/i18n.ts +0 -5
  272. package/src/runtime/{ui-vintage-i18n-plugin.js → ui-vintage-i18n-plugin.ts} +30 -8
@@ -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>
@@ -1 +1 @@
1
- export { default as Textarea } from "./Textarea.vue"
1
+ export { default as Textarea } from './Textarea.vue';
@@ -1,56 +1,51 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from 'vue'
3
- import { computed, ref } from 'vue'
4
- import { cn } from '../../../lib/utils'
5
- import { Input } from '../input'
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { computed, ref } from 'vue';
4
+ import { cn } from '../../../lib/utils';
5
+ import { Input } from '../input';
6
6
 
7
+ // Props
7
8
  const props = withDefaults(defineProps<{
8
- defaultValue?: string
9
- modelValue?: string
10
- step?: string | number
11
- min?: string
12
- max?: string
13
- disabled?: boolean
14
- class?: HTMLAttributes['class']
15
- inputClass?: HTMLAttributes['class']
9
+ defaultValue?: string;
10
+ modelValue?: string;
11
+ step?: string | number;
12
+ min?: string;
13
+ max?: string;
14
+ disabled?: boolean;
15
+ class?: HTMLAttributes['class'];
16
+ inputClass?: HTMLAttributes['class'];
16
17
  }>(), {
17
18
  defaultValue: '',
18
19
  step: 1,
19
- disabled: false,
20
- })
20
+ disabled: false
21
+ });
21
22
 
23
+ // Emits
22
24
  const emits = defineEmits<{
23
- (e: 'update:modelValue', payload: string): void
24
- }>()
25
+ (e: 'update:modelValue', payload: string): void;
26
+ }>();
25
27
 
26
- const internalValue = ref(props.defaultValue)
27
- const isControlled = computed(() => props.modelValue !== undefined)
28
+ const internalValue = ref(props.defaultValue);
29
+ const isControlled = computed(() => props.modelValue !== undefined);
28
30
 
29
31
  const time = computed({
30
- get: () => (isControlled.value ? props.modelValue : internalValue.value) ?? '',
32
+ get: () =>
33
+ (isControlled.value ? props.modelValue : internalValue.value) ?? '',
31
34
  set: (value: string | number) => {
32
- const nextValue = String(value)
35
+ const nextValue = String(value);
33
36
 
34
- if (!isControlled.value)
35
- internalValue.value = nextValue
37
+ if (!isControlled.value) internalValue.value = nextValue;
36
38
 
37
- emits('update:modelValue', nextValue)
38
- },
39
- })
39
+ emits('update:modelValue', nextValue);
40
+ }
41
+ });
40
42
  </script>
41
43
 
42
44
  <template>
43
- <Input
44
- v-model="time"
45
- type="time"
46
- :step="props.step"
47
- :min="props.min"
48
- :max="props.max"
49
- :disabled="props.disabled"
50
- :class="cn(
51
- 'cursor-pointer font-normal hover:border-(--border-hover-light) hover:bg-(--bg-selected-light) dark:hover:border-(--border-hover-dark) dark:hover:bg-(--bg-selected-dark) [&::-webkit-calendar-picker-indicator]:cursor-pointer [&::-webkit-calendar-picker-indicator]:opacity-70 hover:[&::-webkit-calendar-picker-indicator]:opacity-100',
52
- props.inputClass,
53
- props.class,
54
- )"
55
- />
45
+ <Input v-model="time" type="time" :step="props.step" :min="props.min" :max="props.max" :disabled="props.disabled" :class="cn(
46
+ 'cursor-pointer font-normal hover:border-(--border-hover-light) hover:bg-(--bg-selected-light) dark:hover:border-(--border-hover-dark) dark:hover:bg-(--bg-selected-dark) [&::-webkit-calendar-picker-indicator]:cursor-pointer [&::-webkit-calendar-picker-indicator]:opacity-70 hover:[&::-webkit-calendar-picker-indicator]:opacity-100',
47
+ props.inputClass,
48
+ props.class
49
+ )
50
+ " />
56
51
  </template>
@@ -1,2 +1,2 @@
1
- export { default as TimePicker } from './TimePicker.vue'
2
- export { default } from './TimePicker.vue'
1
+ export { default as TimePicker } from './TimePicker.vue';
2
+ export { default } from './TimePicker.vue';
@@ -1,15 +1,18 @@
1
1
  <script setup lang="ts">
2
- import type { TooltipRootEmits, TooltipRootProps } from "reka-ui"
3
- import { TooltipRoot, useForwardPropsEmits } from "reka-ui"
2
+ import type { TooltipRootEmits, TooltipRootProps } from 'reka-ui';
3
+ import { TooltipRoot, useForwardPropsEmits } from 'reka-ui';
4
4
 
5
- const props = defineProps<TooltipRootProps>()
6
- const emits = defineEmits<TooltipRootEmits>()
5
+ // Props
6
+ const props = defineProps<TooltipRootProps>();
7
7
 
8
- const forwarded = useForwardPropsEmits(props, emits)
8
+ // Emits
9
+ const emits = defineEmits<TooltipRootEmits>();
10
+
11
+ const forwarded = useForwardPropsEmits(props, emits);
9
12
  </script>
10
13
 
11
14
  <template>
12
- <TooltipRoot v-slot="slotProps" data-slot="tooltip" v-bind="forwarded">
13
- <slot v-bind="slotProps" />
14
- </TooltipRoot>
15
- </template>
15
+ <TooltipRoot v-slot="slotProps" data-slot="tooltip" v-bind="forwarded">
16
+ <slot v-bind="slotProps" />
17
+ </TooltipRoot>
18
+ </template>
@@ -1,30 +1,38 @@
1
1
  <script setup lang="ts">
2
- import type { TooltipContentEmits, TooltipContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { TooltipArrow, TooltipContent, TooltipPortal, useForwardPropsEmits } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { TooltipContentEmits, TooltipContentProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { TooltipArrow, TooltipContent, TooltipPortal, useForwardPropsEmits } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
8
  defineOptions({
9
- inheritAttrs: false,
10
- })
9
+ inheritAttrs: false
10
+ });
11
11
 
12
- const props = withDefaults(defineProps<TooltipContentProps & { class?: HTMLAttributes["class"] }>(), {
13
- sideOffset: 4,
14
- })
12
+ // Props
13
+ const props = withDefaults(defineProps<TooltipContentProps & {
14
+ class?: HTMLAttributes['class'];
15
+ }>(), {
16
+ sideOffset: 4
17
+ });
15
18
 
16
- const emits = defineEmits<TooltipContentEmits>()
19
+ // Emits
20
+ const emits = defineEmits<TooltipContentEmits>();
17
21
 
18
- const delegatedProps = reactiveOmit(props, "class")
19
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
22
+ const delegatedProps = reactiveOmit(props, 'class');
23
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
20
24
  </script>
21
25
 
22
26
  <template>
23
- <TooltipPortal>
24
- <TooltipContent data-slot="tooltip-content" v-bind="{ ...forwarded, ...$attrs }" :class="cn('bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance', props.class)">
25
- <slot />
27
+ <TooltipPortal>
28
+ <TooltipContent data-slot="tooltip-content" v-bind="{ ...forwarded, ...$attrs }" :class="cn(
29
+ 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance',
30
+ props.class
31
+ )
32
+ ">
33
+ <slot />
26
34
 
27
- <TooltipArrow class="bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" />
28
- </TooltipContent>
29
- </TooltipPortal>
30
- </template>
35
+ <TooltipArrow class="bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-xs" />
36
+ </TooltipContent>
37
+ </TooltipPortal>
38
+ </template>
@@ -1,14 +1,15 @@
1
1
  <script setup lang="ts">
2
- import type { TooltipProviderProps } from "reka-ui"
3
- import { TooltipProvider } from "reka-ui"
2
+ import type { TooltipProviderProps } from 'reka-ui';
3
+ import { TooltipProvider } from 'reka-ui';
4
4
 
5
+ // Props
5
6
  const props = withDefaults(defineProps<TooltipProviderProps>(), {
6
- delayDuration: 0,
7
- })
7
+ delayDuration: 0
8
+ });
8
9
  </script>
9
10
 
10
11
  <template>
11
- <TooltipProvider v-bind="props">
12
- <slot />
13
- </TooltipProvider>
14
- </template>
12
+ <TooltipProvider v-bind="props">
13
+ <slot />
14
+ </TooltipProvider>
15
+ </template>
@@ -1,12 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { TooltipTriggerProps } from "reka-ui"
3
- import { TooltipTrigger } from "reka-ui"
2
+ import type { TooltipTriggerProps } from 'reka-ui';
3
+ import { TooltipTrigger } from 'reka-ui';
4
4
 
5
- const props = defineProps<TooltipTriggerProps>()
5
+ // Props
6
+ const props = defineProps<TooltipTriggerProps>();
6
7
  </script>
7
8
 
8
9
  <template>
9
- <TooltipTrigger data-slot="tooltip-trigger" v-bind="props">
10
- <slot />
11
- </TooltipTrigger>
12
- </template>
10
+ <TooltipTrigger data-slot="tooltip-trigger" v-bind="props">
11
+ <slot />
12
+ </TooltipTrigger>
13
+ </template>
@@ -1,4 +1,4 @@
1
- export { default as Tooltip } from "./Tooltip.vue"
2
- export { default as TooltipContent } from "./TooltipContent.vue"
3
- export { default as TooltipProvider } from "./TooltipProvider.vue"
4
- export { default as TooltipTrigger } from "./TooltipTrigger.vue"
1
+ export { default as Tooltip } from './Tooltip.vue';
2
+ export { default as TooltipContent } from './TooltipContent.vue';
3
+ export { default as TooltipProvider } from './TooltipProvider.vue';
4
+ export { default as TooltipTrigger } from './TooltipTrigger.vue';
package/src/i18n/de.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Sprache wahlen",
38
38
  "ariaLabel": "Sprachauswahl"
39
39
  },
40
+ "terminal": {
41
+ "title": "Terminal",
42
+ "copy": "Befehle kopieren",
43
+ "copied": "Befehle kopiert"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Gemacht mit",
42
47
  "by": "von",
package/src/i18n/en.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Choose language",
38
38
  "ariaLabel": "Language selector"
39
39
  },
40
+ "terminal": {
41
+ "title": "Terminal",
42
+ "copy": "Copy commands",
43
+ "copied": "Commands copied"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Made with",
42
47
  "by": "by",
package/src/i18n/es.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Elegir idioma",
38
38
  "ariaLabel": "Selector de idioma"
39
39
  },
40
+ "terminal": {
41
+ "title": "Terminal",
42
+ "copy": "Copiar comandos",
43
+ "copied": "Comandos copiados"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Hecho con",
42
47
  "by": "por",
package/src/i18n/fr.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Choisir la langue",
38
38
  "ariaLabel": "Selecteur de langue"
39
39
  },
40
+ "terminal": {
41
+ "title": "Terminal",
42
+ "copy": "Copier les commandes",
43
+ "copied": "Commandes copiees"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Fait avec",
42
47
  "by": "par",
package/src/i18n/it.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Scegli lingua",
38
38
  "ariaLabel": "Selettore lingua"
39
39
  },
40
+ "terminal": {
41
+ "title": "Terminale",
42
+ "copy": "Copia comandi",
43
+ "copied": "Comandi copiati"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Fatto con",
42
47
  "by": "da",
package/src/i18n/ja.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "言語を選択",
38
38
  "ariaLabel": "言語セレクター"
39
39
  },
40
+ "terminal": {
41
+ "title": "ターミナル",
42
+ "copy": "コマンドをコピー",
43
+ "copied": "コマンドをコピーしました"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "愛を込めて",
42
47
  "by": "by",
package/src/i18n/pt.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Escolher idioma",
38
38
  "ariaLabel": "Seletor de idioma"
39
39
  },
40
+ "terminal": {
41
+ "title": "Terminal",
42
+ "copy": "Copiar comandos",
43
+ "copied": "Comandos copiados"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Feito com",
42
47
  "by": "por",
package/src/i18n/ru.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "Выберите язык",
38
38
  "ariaLabel": "Выбор языка"
39
39
  },
40
+ "terminal": {
41
+ "title": "Терминал",
42
+ "copy": "Копировать команды",
43
+ "copied": "Команды скопированы"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "Сделано с",
42
47
  "by": "от",
package/src/i18n/zh.json CHANGED
@@ -37,6 +37,11 @@
37
37
  "title": "选择语言",
38
38
  "ariaLabel": "语言选择器"
39
39
  },
40
+ "terminal": {
41
+ "title": "终端",
42
+ "copy": "复制命令",
43
+ "copied": "命令已复制"
44
+ },
40
45
  "footer": {
41
46
  "madeWith": "用",
42
47
  "by": "由",
@@ -0,0 +1,2 @@
1
+ // Hugeicons icon definition type
2
+ export type HugeiconsIconDefinition = readonly (readonly [string, { readonly [key: string]: string | number }])[];