@brumaombra/ui-vintage 0.7.7 → 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 (273) 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 +49 -65
  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/theme-selector/ThemeSelector.vue +4 -4
  74. package/src/components/ui/accordion/Accordion.vue +12 -15
  75. package/src/components/ui/accordion/index.ts +1 -1
  76. package/src/components/ui/alert/Alert.vue +11 -10
  77. package/src/components/ui/alert/AlertDescription.vue +9 -8
  78. package/src/components/ui/alert/AlertTitle.vue +9 -8
  79. package/src/components/ui/alert/index.ts +10 -10
  80. package/src/components/ui/alert-dialog/AlertDialog.vue +13 -9
  81. package/src/components/ui/alert-dialog/AlertDialogAction.vue +14 -12
  82. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +14 -16
  83. package/src/components/ui/alert-dialog/AlertDialogContent.vue +24 -27
  84. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +13 -13
  85. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +9 -12
  86. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +9 -8
  87. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +13 -11
  88. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +8 -7
  89. package/src/components/ui/alert-dialog/index.ts +9 -9
  90. package/src/components/ui/badge/Badge.vue +11 -12
  91. package/src/components/ui/badge/index.ts +1 -1
  92. package/src/components/ui/breadcrumb/Breadcrumb.vue +9 -12
  93. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +15 -19
  94. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +10 -12
  95. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +13 -17
  96. package/src/components/ui/breadcrumb/BreadcrumbList.vue +10 -12
  97. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +10 -15
  98. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +14 -18
  99. package/src/components/ui/breadcrumb/index.ts +7 -7
  100. package/src/components/ui/busy/Busy.vue +36 -29
  101. package/src/components/ui/busy/index.ts +1 -1
  102. package/src/components/ui/button/Button.vue +18 -19
  103. package/src/components/ui/button/index.ts +54 -35
  104. package/src/components/ui/calendar/Calendar.vue +167 -121
  105. package/src/components/ui/calendar/CalendarCell.vue +18 -17
  106. package/src/components/ui/calendar/CalendarCellTrigger.vue +31 -33
  107. package/src/components/ui/calendar/CalendarGrid.vue +14 -17
  108. package/src/components/ui/calendar/CalendarGridBody.vue +9 -11
  109. package/src/components/ui/calendar/CalendarGridHead.vue +10 -12
  110. package/src/components/ui/calendar/CalendarGridRow.vue +14 -16
  111. package/src/components/ui/calendar/CalendarHeadCell.vue +18 -17
  112. package/src/components/ui/calendar/CalendarHeader.vue +18 -17
  113. package/src/components/ui/calendar/CalendarHeading.vue +18 -22
  114. package/src/components/ui/calendar/CalendarNextButton.vue +29 -26
  115. package/src/components/ui/calendar/CalendarPrevButton.vue +29 -26
  116. package/src/components/ui/calendar/index.ts +17 -13
  117. package/src/components/ui/card/Card.vue +21 -13
  118. package/src/components/ui/card/CardAction.vue +12 -7
  119. package/src/components/ui/card/CardContent.vue +8 -7
  120. package/src/components/ui/card/CardDescription.vue +16 -7
  121. package/src/components/ui/card/CardFooter.vue +8 -7
  122. package/src/components/ui/card/CardHeader.vue +12 -7
  123. package/src/components/ui/card/CardText.vue +12 -7
  124. package/src/components/ui/card/CardTitle.vue +9 -7
  125. package/src/components/ui/card/index.ts +8 -8
  126. package/src/components/ui/command/Command.vue +71 -61
  127. package/src/components/ui/command/CommandDialog.vue +33 -23
  128. package/src/components/ui/command/CommandEmpty.vue +19 -20
  129. package/src/components/ui/command/CommandGroup.vue +32 -35
  130. package/src/components/ui/command/CommandInput.vue +25 -21
  131. package/src/components/ui/command/CommandItem.vue +62 -59
  132. package/src/components/ui/command/CommandList.vue +21 -18
  133. package/src/components/ui/command/CommandSeparator.vue +13 -11
  134. package/src/components/ui/command/CommandShortcut.vue +13 -8
  135. package/src/components/ui/command/index.ts +24 -20
  136. package/src/components/ui/date-picker/DatePicker.vue +46 -37
  137. package/src/components/ui/date-picker/index.ts +2 -2
  138. package/src/components/ui/date-time-picker/DateTimePicker.vue +99 -95
  139. package/src/components/ui/date-time-picker/index.ts +2 -2
  140. package/src/components/ui/dialog/Dialog.vue +12 -9
  141. package/src/components/ui/dialog/DialogClose.vue +8 -10
  142. package/src/components/ui/dialog/DialogContent.vue +36 -42
  143. package/src/components/ui/dialog/DialogDescription.vue +16 -11
  144. package/src/components/ui/dialog/DialogFooter.vue +13 -12
  145. package/src/components/ui/dialog/DialogHeader.vue +9 -8
  146. package/src/components/ui/dialog/DialogOverlay.vue +16 -11
  147. package/src/components/ui/dialog/DialogScrollContent.vue +47 -45
  148. package/src/components/ui/dialog/DialogTitle.vue +13 -12
  149. package/src/components/ui/dialog/DialogTrigger.vue +8 -7
  150. package/src/components/ui/dialog/index.ts +10 -10
  151. package/src/components/ui/field/Field.vue +12 -14
  152. package/src/components/ui/field/FieldContent.vue +13 -11
  153. package/src/components/ui/field/FieldDescription.vue +15 -13
  154. package/src/components/ui/field/FieldError.vue +43 -40
  155. package/src/components/ui/field/FieldGroup.vue +13 -11
  156. package/src/components/ui/field/FieldLabel.vue +16 -14
  157. package/src/components/ui/field/FieldLegend.vue +16 -14
  158. package/src/components/ui/field/FieldSeparator.vue +17 -15
  159. package/src/components/ui/field/FieldSet.vue +14 -12
  160. package/src/components/ui/field/FieldTitle.vue +13 -11
  161. package/src/components/ui/field/index.ts +36 -36
  162. package/src/components/ui/input/Input.vue +23 -20
  163. package/src/components/ui/input/index.ts +1 -1
  164. package/src/components/ui/label/Label.vue +16 -15
  165. package/src/components/ui/label/index.ts +1 -1
  166. package/src/components/ui/native-select/NativeSelect.vue +31 -41
  167. package/src/components/ui/native-select/NativeSelectOptGroup.vue +8 -7
  168. package/src/components/ui/native-select/NativeSelectOption.vue +8 -7
  169. package/src/components/ui/native-select/index.ts +3 -3
  170. package/src/components/ui/popover/Popover.vue +12 -9
  171. package/src/components/ui/popover/PopoverAnchor.vue +8 -7
  172. package/src/components/ui/popover/PopoverContent.vue +27 -31
  173. package/src/components/ui/popover/PopoverTrigger.vue +8 -7
  174. package/src/components/ui/popover/index.ts +4 -4
  175. package/src/components/ui/progress/Progress.vue +18 -32
  176. package/src/components/ui/progress/index.ts +1 -1
  177. package/src/components/ui/scroll-area/ScrollArea.vue +23 -26
  178. package/src/components/ui/scroll-area/ScrollBar.vue +22 -26
  179. package/src/components/ui/scroll-area/index.ts +2 -2
  180. package/src/components/ui/select/Select.vue +12 -9
  181. package/src/components/ui/select/SelectContent.vue +39 -40
  182. package/src/components/ui/select/SelectGroup.vue +8 -7
  183. package/src/components/ui/select/SelectItem.vue +36 -41
  184. package/src/components/ui/select/SelectItemContent.vue +22 -15
  185. package/src/components/ui/select/SelectItemText.vue +8 -7
  186. package/src/components/ui/select/SelectLabel.vue +10 -9
  187. package/src/components/ui/select/SelectScrollDownButton.vue +21 -17
  188. package/src/components/ui/select/SelectScrollUpButton.vue +21 -17
  189. package/src/components/ui/select/SelectSeparator.vue +11 -9
  190. package/src/components/ui/select/SelectTrigger.vue +27 -25
  191. package/src/components/ui/select/SelectValue.vue +8 -7
  192. package/src/components/ui/select/SelectValueContent.vue +30 -18
  193. package/src/components/ui/select/index.ts +13 -13
  194. package/src/components/ui/separator/Separator.vue +17 -18
  195. package/src/components/ui/separator/index.ts +1 -1
  196. package/src/components/ui/sheet/Sheet.vue +12 -9
  197. package/src/components/ui/sheet/SheetClose.vue +8 -7
  198. package/src/components/ui/sheet/SheetContent.vue +36 -37
  199. package/src/components/ui/sheet/SheetDescription.vue +12 -11
  200. package/src/components/ui/sheet/SheetFooter.vue +8 -7
  201. package/src/components/ui/sheet/SheetHeader.vue +8 -7
  202. package/src/components/ui/sheet/SheetOverlay.vue +16 -11
  203. package/src/components/ui/sheet/SheetTitle.vue +12 -11
  204. package/src/components/ui/sheet/SheetTrigger.vue +8 -7
  205. package/src/components/ui/sheet/index.ts +8 -8
  206. package/src/components/ui/sidebar/Sidebar.vue +68 -61
  207. package/src/components/ui/sidebar/SidebarContent.vue +13 -8
  208. package/src/components/ui/sidebar/SidebarFooter.vue +13 -8
  209. package/src/components/ui/sidebar/SidebarGroup.vue +13 -8
  210. package/src/components/ui/sidebar/SidebarGroupAction.vue +16 -16
  211. package/src/components/ui/sidebar/SidebarGroupContent.vue +9 -8
  212. package/src/components/ui/sidebar/SidebarGroupLabel.vue +15 -14
  213. package/src/components/ui/sidebar/SidebarHeader.vue +13 -8
  214. package/src/components/ui/sidebar/SidebarInput.vue +14 -12
  215. package/src/components/ui/sidebar/SidebarInset.vue +14 -12
  216. package/src/components/ui/sidebar/SidebarMenu.vue +9 -8
  217. package/src/components/ui/sidebar/SidebarMenuAction.vue +25 -23
  218. package/src/components/ui/sidebar/SidebarMenuBadge.vue +19 -17
  219. package/src/components/ui/sidebar/SidebarMenuButton.vue +33 -32
  220. package/src/components/ui/sidebar/SidebarMenuButtonChild.vue +19 -18
  221. package/src/components/ui/sidebar/SidebarMenuItem.vue +9 -8
  222. package/src/components/ui/sidebar/SidebarMenuSkeleton.vue +17 -12
  223. package/src/components/ui/sidebar/SidebarMenuSub.vue +14 -12
  224. package/src/components/ui/sidebar/SidebarMenuSubButton.vue +24 -21
  225. package/src/components/ui/sidebar/SidebarMenuSubItem.vue +9 -8
  226. package/src/components/ui/sidebar/SidebarProvider.vue +63 -53
  227. package/src/components/ui/sidebar/SidebarRail.vue +20 -18
  228. package/src/components/ui/sidebar/SidebarSeparator.vue +10 -9
  229. package/src/components/ui/sidebar/SidebarTrigger.vue +15 -14
  230. package/src/components/ui/sidebar/index.ts +62 -58
  231. package/src/components/ui/sidebar/utils.ts +16 -16
  232. package/src/components/ui/skeleton/Skeleton.vue +12 -9
  233. package/src/components/ui/skeleton/index.ts +1 -1
  234. package/src/components/ui/slider/Slider.vue +24 -19
  235. package/src/components/ui/slider/index.ts +1 -1
  236. package/src/components/ui/switch/Switch.vue +26 -23
  237. package/src/components/ui/switch/index.ts +1 -1
  238. package/src/components/ui/table/Table.vue +11 -10
  239. package/src/components/ui/table/TableBody.vue +9 -11
  240. package/src/components/ui/table/TableCaption.vue +9 -11
  241. package/src/components/ui/table/TableCell.vue +13 -16
  242. package/src/components/ui/table/TableEmpty.vue +22 -25
  243. package/src/components/ui/table/TableFooter.vue +13 -11
  244. package/src/components/ui/table/TableHead.vue +13 -11
  245. package/src/components/ui/table/TableHeader.vue +9 -11
  246. package/src/components/ui/table/TableRow.vue +13 -11
  247. package/src/components/ui/table/index.ts +9 -9
  248. package/src/components/ui/tabs/Tabs.vue +18 -18
  249. package/src/components/ui/tabs/TabsContent.vue +14 -15
  250. package/src/components/ui/tabs/TabsList.vue +18 -18
  251. package/src/components/ui/tabs/TabsTrigger.vue +19 -20
  252. package/src/components/ui/tabs/index.ts +4 -4
  253. package/src/components/ui/textarea/Textarea.vue +23 -20
  254. package/src/components/ui/textarea/index.ts +1 -1
  255. package/src/components/ui/time-picker/TimePicker.vue +33 -38
  256. package/src/components/ui/time-picker/index.ts +2 -2
  257. package/src/components/ui/tooltip/Tooltip.vue +12 -9
  258. package/src/components/ui/tooltip/TooltipContent.vue +28 -20
  259. package/src/components/ui/tooltip/TooltipProvider.vue +9 -8
  260. package/src/components/ui/tooltip/TooltipTrigger.vue +8 -7
  261. package/src/components/ui/tooltip/index.ts +4 -4
  262. package/src/i18n/de.json +5 -0
  263. package/src/i18n/en.json +5 -0
  264. package/src/i18n/es.json +5 -0
  265. package/src/i18n/fr.json +5 -0
  266. package/src/i18n/it.json +5 -0
  267. package/src/i18n/ja.json +5 -0
  268. package/src/i18n/pt.json +5 -0
  269. package/src/i18n/ru.json +5 -0
  270. package/src/i18n/zh.json +5 -0
  271. package/src/lib/common-types.ts +2 -0
  272. package/src/lib/i18n.ts +0 -5
  273. package/src/runtime/{ui-vintage-i18n-plugin.js → ui-vintage-i18n-plugin.ts} +30 -8
@@ -1,33 +1,30 @@
1
1
  <script setup lang="ts">
2
- import type { ScrollAreaRootProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- ScrollAreaCorner,
7
- ScrollAreaRoot,
8
- ScrollAreaViewport,
9
- } from "reka-ui"
10
- import { cn } from "../../../lib/utils"
11
- import ScrollBar from "./ScrollBar.vue"
2
+ import type { ScrollAreaRootProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { ScrollAreaCorner, ScrollAreaRoot, ScrollAreaViewport } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
+ import ScrollBar from './ScrollBar.vue';
12
8
 
13
- const props = defineProps<ScrollAreaRootProps & { class?: HTMLAttributes["class"] }>()
9
+ // Props
10
+ const props = defineProps<ScrollAreaRootProps & { class?: HTMLAttributes['class'] }>();
14
11
 
15
- const delegatedProps = reactiveOmit(props, "class")
12
+ const delegatedProps = reactiveOmit(props, 'class');
16
13
  </script>
17
14
 
18
15
  <template>
19
- <ScrollAreaRoot
20
- data-slot="scroll-area"
21
- v-bind="delegatedProps"
22
- :class="cn('relative', props.class)"
23
- >
24
- <ScrollAreaViewport
25
- data-slot="scroll-area-viewport"
26
- class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
16
+ <ScrollAreaRoot
17
+ data-slot="scroll-area"
18
+ v-bind="delegatedProps"
19
+ :class="cn('relative', props.class)"
27
20
  >
28
- <slot />
29
- </ScrollAreaViewport>
30
- <ScrollBar />
31
- <ScrollAreaCorner />
32
- </ScrollAreaRoot>
33
- </template>
21
+ <ScrollAreaViewport
22
+ data-slot="scroll-area-viewport"
23
+ class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
24
+ >
25
+ <slot />
26
+ </ScrollAreaViewport>
27
+ <ScrollBar />
28
+ <ScrollAreaCorner />
29
+ </ScrollAreaRoot>
30
+ </template>
@@ -1,32 +1,28 @@
1
1
  <script setup lang="ts">
2
- import type { ScrollAreaScrollbarProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ScrollAreaScrollbar, ScrollAreaThumb } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { ScrollAreaScrollbarProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { ScrollAreaScrollbar, ScrollAreaThumb } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes["class"] }>(), {
9
- orientation: "vertical",
10
- })
8
+ // Props
9
+ const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes['class'] }>(), {
10
+ orientation: 'vertical'
11
+ });
11
12
 
12
- const delegatedProps = reactiveOmit(props, "class")
13
+ const delegatedProps = reactiveOmit(props, 'class');
13
14
  </script>
14
15
 
15
16
  <template>
16
- <ScrollAreaScrollbar
17
- data-slot="scroll-area-scrollbar"
18
- v-bind="delegatedProps"
19
- :class="
20
- cn('flex touch-none p-px transition-colors select-none',
21
- orientation === 'vertical'
22
- && 'h-full w-2.5 border-l border-l-transparent',
23
- orientation === 'horizontal'
24
- && 'h-2.5 flex-col border-t border-t-transparent',
25
- props.class)"
26
- >
27
- <ScrollAreaThumb
28
- data-slot="scroll-area-thumb"
29
- class="bg-border relative flex-1 rounded-full"
30
- />
31
- </ScrollAreaScrollbar>
32
- </template>
17
+ <ScrollAreaScrollbar data-slot="scroll-area-scrollbar" v-bind="delegatedProps" :class="cn(
18
+ 'flex touch-none p-px transition-colors select-none',
19
+ orientation === 'vertical' &&
20
+ 'h-full w-2.5 border-l border-l-transparent',
21
+ orientation === 'horizontal' &&
22
+ 'h-2.5 flex-col border-t border-t-transparent',
23
+ props.class
24
+ )
25
+ ">
26
+ <ScrollAreaThumb data-slot="scroll-area-thumb" class="bg-border relative flex-1 rounded-full" />
27
+ </ScrollAreaScrollbar>
28
+ </template>
@@ -1,2 +1,2 @@
1
- export { default as ScrollArea } from "./ScrollArea.vue"
2
- export { default as ScrollBar } from "./ScrollBar.vue"
1
+ export { default as ScrollArea } from './ScrollArea.vue';
2
+ export { default as ScrollBar } from './ScrollBar.vue';
@@ -1,15 +1,18 @@
1
1
  <script setup lang="ts">
2
- import type { SelectRootEmits, SelectRootProps } from "reka-ui"
3
- import { SelectRoot, useForwardPropsEmits } from "reka-ui"
2
+ import type { SelectRootEmits, SelectRootProps } from 'reka-ui';
3
+ import { SelectRoot, useForwardPropsEmits } from 'reka-ui';
4
4
 
5
- const props = defineProps<SelectRootProps>()
6
- const emits = defineEmits<SelectRootEmits>()
5
+ // Props
6
+ const props = defineProps<SelectRootProps>();
7
7
 
8
- const forwarded = useForwardPropsEmits(props, emits)
8
+ // Emits
9
+ const emits = defineEmits<SelectRootEmits>();
10
+
11
+ const forwarded = useForwardPropsEmits(props, emits);
9
12
  </script>
10
13
 
11
14
  <template>
12
- <SelectRoot v-slot="slotProps" data-slot="select" v-bind="forwarded">
13
- <slot v-bind="slotProps" />
14
- </SelectRoot>
15
- </template>
15
+ <SelectRoot v-slot="slotProps" data-slot="select" v-bind="forwarded">
16
+ <slot v-bind="slotProps" />
17
+ </SelectRoot>
18
+ </template>
@@ -1,50 +1,49 @@
1
1
  <script setup lang="ts">
2
- import type { SelectContentEmits, SelectContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- SelectContent,
7
- SelectPortal,
8
- SelectViewport,
9
- useForwardPropsEmits,
10
- } from "reka-ui"
11
- import { cn } from "../../../lib/utils"
12
- import { SelectScrollDownButton, SelectScrollUpButton } from "."
2
+ import type { SelectContentEmits, SelectContentProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { SelectContent, SelectPortal, SelectViewport, useForwardPropsEmits } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
+ import { SelectScrollDownButton, SelectScrollUpButton } from '.';
13
8
 
14
9
  defineOptions({
15
- inheritAttrs: false,
16
- })
10
+ inheritAttrs: false
11
+ });
17
12
 
18
- const props = withDefaults(
19
- defineProps<SelectContentProps & { class?: HTMLAttributes["class"] }>(),
20
- {
21
- align: "start",
22
- position: "popper",
13
+ // Props
14
+ const props = withDefaults(defineProps<SelectContentProps & { class?: HTMLAttributes['class'] }>(), {
15
+ align: 'start',
16
+ position: 'popper',
23
17
  sideOffset: 4,
24
- collisionPadding: 8,
25
- },
26
- )
27
- const emits = defineEmits<SelectContentEmits>()
18
+ collisionPadding: 8
19
+ });
28
20
 
29
- const delegatedProps = reactiveOmit(props, "class")
21
+ // Emits
22
+ const emits = defineEmits<SelectContentEmits>();
30
23
 
31
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
24
+ const delegatedProps = reactiveOmit(props, 'class');
25
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
32
26
  </script>
33
27
 
34
28
  <template>
35
- <SelectPortal>
36
- <SelectContent data-slot="select-content" v-bind="{ ...$attrs, ...forwarded }" :class="cn(
37
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-32 overflow-x-hidden overflow-y-auto rounded border border-border transition-colors duration-300 ease-in-out max-sm:w-(--reka-select-trigger-width) max-sm:min-w-(--reka-select-trigger-width)',
38
- position === 'popper'
39
- && 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
40
- props.class,
41
- )
42
- ">
43
- <SelectScrollUpButton />
44
- <SelectViewport :class="cn('p-1', position === 'popper' && 'h-(--reka-select-trigger-height) w-full min-w-(--reka-select-trigger-width) scroll-my-1')">
45
- <slot />
46
- </SelectViewport>
47
- <SelectScrollDownButton />
48
- </SelectContent>
49
- </SelectPortal>
50
- </template>
29
+ <SelectPortal>
30
+ <SelectContent data-slot="select-content" v-bind="{ ...$attrs, ...forwarded }" :class="cn(
31
+ 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-32 overflow-x-hidden overflow-y-auto rounded border border-border transition-colors duration-300 ease-in-out max-sm:w-(--reka-select-trigger-width) max-sm:min-w-(--reka-select-trigger-width)',
32
+ position === 'popper' &&
33
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
34
+ props.class
35
+ )
36
+ ">
37
+ <SelectScrollUpButton />
38
+ <SelectViewport :class="cn(
39
+ 'p-1',
40
+ position === 'popper' &&
41
+ 'h-(--reka-select-trigger-height) w-full min-w-(--reka-select-trigger-width) scroll-my-1'
42
+ )
43
+ ">
44
+ <slot />
45
+ </SelectViewport>
46
+ <SelectScrollDownButton />
47
+ </SelectContent>
48
+ </SelectPortal>
49
+ </template>
@@ -1,12 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { SelectGroupProps } from "reka-ui"
3
- import { SelectGroup } from "reka-ui"
2
+ import type { SelectGroupProps } from 'reka-ui';
3
+ import { SelectGroup } from 'reka-ui';
4
4
 
5
- const props = defineProps<SelectGroupProps>()
5
+ // Props
6
+ const props = defineProps<SelectGroupProps>();
6
7
  </script>
7
8
 
8
9
  <template>
9
- <SelectGroup data-slot="select-group" v-bind="props">
10
- <slot />
11
- </SelectGroup>
12
- </template>
10
+ <SelectGroup data-slot="select-group" v-bind="props">
11
+ <slot />
12
+ </SelectGroup>
13
+ </template>
@@ -1,50 +1,45 @@
1
1
  <script setup lang="ts">
2
- import type { SelectItemProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { Tick02Icon } from "@hugeicons/core-free-icons"
6
- import { HugeiconsIcon } from "@hugeicons/vue"
7
- import {
8
- SelectItem,
9
- SelectItemIndicator,
10
- SelectItemText,
11
- useForwardProps,
12
- } from "reka-ui"
13
- import { cn } from "../../../lib/utils"
2
+ import type { SelectItemProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { Tick02Icon } from '@hugeicons/core-free-icons';
6
+ import { HugeiconsIcon } from '@hugeicons/vue';
7
+ import { SelectItem, SelectItemIndicator, SelectItemText, useForwardProps } from 'reka-ui';
8
+ import { cn } from '../../../lib/utils';
14
9
 
15
- const props = defineProps<SelectItemProps & { class?: HTMLAttributes["class"] }>()
10
+ // Props
11
+ const props = defineProps<SelectItemProps & { class?: HTMLAttributes['class'] }>();
16
12
 
17
- const delegatedProps = reactiveOmit(props, "class")
18
-
19
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const delegatedProps = reactiveOmit(props, 'class');
14
+ const forwardedProps = useForwardProps(delegatedProps);
20
15
  </script>
21
16
 
22
17
  <template>
23
- <SelectItem data-slot="select-item" v-bind="forwardedProps" :class="cn(
24
- 'focus:bg-accent focus:text-accent-foreground [&_svg:not([class*=\'text-\'])]:text-muted-foreground relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-2.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',
25
- props.class,
26
- )
27
- ">
28
- <span class="absolute right-2 flex size-3.5 items-center justify-center">
29
- <SelectItemIndicator>
30
- <slot name="indicator-icon">
31
- <HugeiconsIcon :icon="Tick02Icon" class="size-4" />
32
- </slot>
33
- </SelectItemIndicator>
34
- </span>
18
+ <SelectItem data-slot="select-item" v-bind="forwardedProps" :class="cn(
19
+ 'focus:bg-accent focus:text-accent-foreground [&_svg:not([class*=\'text-\'])]:text-muted-foreground relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-2.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',
20
+ props.class
21
+ )
22
+ ">
23
+ <span class="absolute right-2 flex size-3.5 items-center justify-center">
24
+ <SelectItemIndicator>
25
+ <slot name="indicator-icon">
26
+ <HugeiconsIcon :icon="Tick02Icon" class="size-4" />
27
+ </slot>
28
+ </SelectItemIndicator>
29
+ </span>
35
30
 
36
- <template v-if="props.textValue">
37
- <SelectItemText>
38
- <span class="sr-only">{{ props.textValue }}</span>
39
- </SelectItemText>
31
+ <template v-if="props.textValue">
32
+ <SelectItemText>
33
+ <span class="sr-only">{{ props.textValue }}</span>
34
+ </SelectItemText>
40
35
 
41
- <div class="flex min-w-0 flex-1 flex-col">
42
- <slot />
43
- </div>
44
- </template>
36
+ <div class="flex min-w-0 flex-1 flex-col">
37
+ <slot />
38
+ </div>
39
+ </template>
45
40
 
46
- <SelectItemText v-else>
47
- <slot />
48
- </SelectItemText>
49
- </SelectItem>
50
- </template>
41
+ <SelectItemText v-else>
42
+ <slot />
43
+ </SelectItemText>
44
+ </SelectItem>
45
+ </template>
@@ -1,20 +1,19 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { HugeiconsIcon } from "@hugeicons/vue"
4
- import { cn } from "../../../lib/utils"
5
-
6
- type HugeiconsIconDefinition = readonly (readonly [string, { readonly [key: string]: string | number }])[]
2
+ import type { HTMLAttributes } from 'vue';
3
+ import { HugeiconsIcon } from '@hugeicons/vue';
4
+ import { cn } from '../../../lib/utils';
5
+ import type { HugeiconsIconDefinition } from '../../../lib/common-types';
7
6
 
8
7
  // Props
9
8
  const props = defineProps<{
10
- class?: HTMLAttributes["class"]
11
- icon?: HugeiconsIconDefinition | null
12
- label?: string | number | null
13
- description?: string | number | null
14
- iconClass?: HTMLAttributes["class"]
15
- textClass?: HTMLAttributes["class"]
16
- descriptionClass?: HTMLAttributes["class"]
17
- }>()
9
+ class?: HTMLAttributes['class'];
10
+ icon?: HugeiconsIconDefinition | null;
11
+ label?: string | number | null;
12
+ description?: string | number | null;
13
+ iconClass?: HTMLAttributes['class'];
14
+ textClass?: HTMLAttributes['class'];
15
+ descriptionClass?: HTMLAttributes['class'];
16
+ }>();
18
17
  </script>
19
18
 
20
19
  <template>
@@ -27,12 +26,20 @@ const props = defineProps<{
27
26
  <!-- Text and description -->
28
27
  <div class="flex min-w-0 flex-1 flex-col gap-0.5">
29
28
  <!-- Text -->
30
- <span data-slot="select-item-content-text" :class="cn('min-w-0 truncate font-semibold text-xs sm:text-sm leading-5', props.textClass)">
29
+ <span data-slot="select-item-content-text" :class="cn(
30
+ 'min-w-0 truncate font-semibold text-xs sm:text-sm leading-5',
31
+ props.textClass
32
+ )
33
+ ">
31
34
  {{ props.label }}
32
35
  </span>
33
36
 
34
37
  <!-- Description -->
35
- <span v-if="props.description" data-slot="select-item-content-description" :class="cn('font-regular text-[11px] sm:text-xs leading-4 sm:leading-5 text-(--text-secondary-light) dark:text-(--text-secondary-dark)', props.descriptionClass)">
38
+ <span v-if="props.description" data-slot="select-item-content-description" :class="cn(
39
+ 'font-regular text-[11px] sm:text-xs leading-4 sm:leading-5 text-(--text-secondary-light) dark:text-(--text-secondary-dark)',
40
+ props.descriptionClass
41
+ )
42
+ ">
36
43
  {{ props.description }}
37
44
  </span>
38
45
  </div>
@@ -1,12 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { SelectItemTextProps } from "reka-ui"
3
- import { SelectItemText } from "reka-ui"
2
+ import type { SelectItemTextProps } from 'reka-ui';
3
+ import { SelectItemText } from 'reka-ui';
4
4
 
5
- const props = defineProps<SelectItemTextProps>()
5
+ // Props
6
+ const props = defineProps<SelectItemTextProps>();
6
7
  </script>
7
8
 
8
9
  <template>
9
- <SelectItemText data-slot="select-item-text" v-bind="props">
10
- <slot />
11
- </SelectItemText>
12
- </template>
10
+ <SelectItemText data-slot="select-item-text" v-bind="props">
11
+ <slot />
12
+ </SelectItemText>
13
+ </template>
@@ -1,14 +1,15 @@
1
1
  <script setup lang="ts">
2
- import type { SelectLabelProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { SelectLabel } from "reka-ui"
5
- import { cn } from "../../../lib/utils"
2
+ import type { SelectLabelProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { SelectLabel } from 'reka-ui';
5
+ import { cn } from '../../../lib/utils';
6
6
 
7
- const props = defineProps<SelectLabelProps & { class?: HTMLAttributes["class"] }>()
7
+ // Props
8
+ const props = defineProps<SelectLabelProps & { class?: HTMLAttributes['class'] }>();
8
9
  </script>
9
10
 
10
11
  <template>
11
- <SelectLabel data-slot="select-label" :class="cn('text-muted-foreground px-2 py-1.5 text-xs', props.class)">
12
- <slot />
13
- </SelectLabel>
14
- </template>
12
+ <SelectLabel data-slot="select-label" :class="cn('text-muted-foreground px-2 py-1.5 text-xs', props.class)">
13
+ <slot />
14
+ </SelectLabel>
15
+ </template>
@@ -1,23 +1,27 @@
1
1
  <script setup lang="ts">
2
- import type { SelectScrollDownButtonProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ArrowDown01Icon } from "@hugeicons/core-free-icons"
6
- import { HugeiconsIcon } from "@hugeicons/vue"
7
- import { SelectScrollDownButton, useForwardProps } from "reka-ui"
8
- import { cn } from "../../../lib/utils"
2
+ import type { SelectScrollDownButtonProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { ArrowDown01Icon } from '@hugeicons/core-free-icons';
6
+ import { HugeiconsIcon } from '@hugeicons/vue';
7
+ import { SelectScrollDownButton, useForwardProps } from 'reka-ui';
8
+ import { cn } from '../../../lib/utils';
9
9
 
10
- const props = defineProps<SelectScrollDownButtonProps & { class?: HTMLAttributes["class"] }>()
10
+ // Props
11
+ const props = defineProps<SelectScrollDownButtonProps & { class?: HTMLAttributes['class'] }>();
11
12
 
12
- const delegatedProps = reactiveOmit(props, "class")
13
-
14
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const delegatedProps = reactiveOmit(props, 'class');
14
+ const forwardedProps = useForwardProps(delegatedProps);
15
15
  </script>
16
16
 
17
17
  <template>
18
- <SelectScrollDownButton data-slot="select-scroll-down-button" v-bind="forwardedProps" :class="cn('flex cursor-default items-center justify-center py-1', props.class)">
19
- <slot>
20
- <HugeiconsIcon :icon="ArrowDown01Icon" class="size-4" />
21
- </slot>
22
- </SelectScrollDownButton>
23
- </template>
18
+ <SelectScrollDownButton data-slot="select-scroll-down-button" v-bind="forwardedProps" :class="cn(
19
+ 'flex cursor-default items-center justify-center py-1',
20
+ props.class
21
+ )
22
+ ">
23
+ <slot>
24
+ <HugeiconsIcon :icon="ArrowDown01Icon" class="size-4" />
25
+ </slot>
26
+ </SelectScrollDownButton>
27
+ </template>
@@ -1,23 +1,27 @@
1
1
  <script setup lang="ts">
2
- import type { SelectScrollUpButtonProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ArrowUp01Icon } from "@hugeicons/core-free-icons"
6
- import { HugeiconsIcon } from "@hugeicons/vue"
7
- import { SelectScrollUpButton, useForwardProps } from "reka-ui"
8
- import { cn } from "../../../lib/utils"
2
+ import type { SelectScrollUpButtonProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { ArrowUp01Icon } from '@hugeicons/core-free-icons';
6
+ import { HugeiconsIcon } from '@hugeicons/vue';
7
+ import { SelectScrollUpButton, useForwardProps } from 'reka-ui';
8
+ import { cn } from '../../../lib/utils';
9
9
 
10
- const props = defineProps<SelectScrollUpButtonProps & { class?: HTMLAttributes["class"] }>()
10
+ // Props
11
+ const props = defineProps<SelectScrollUpButtonProps & { class?: HTMLAttributes['class'] }>();
11
12
 
12
- const delegatedProps = reactiveOmit(props, "class")
13
-
14
- const forwardedProps = useForwardProps(delegatedProps)
13
+ const delegatedProps = reactiveOmit(props, 'class');
14
+ const forwardedProps = useForwardProps(delegatedProps);
15
15
  </script>
16
16
 
17
17
  <template>
18
- <SelectScrollUpButton data-slot="select-scroll-up-button" v-bind="forwardedProps" :class="cn('flex cursor-default items-center justify-center py-1', props.class)">
19
- <slot>
20
- <HugeiconsIcon :icon="ArrowUp01Icon" class="size-4" />
21
- </slot>
22
- </SelectScrollUpButton>
23
- </template>
18
+ <SelectScrollUpButton data-slot="select-scroll-up-button" v-bind="forwardedProps" :class="cn(
19
+ 'flex cursor-default items-center justify-center py-1',
20
+ props.class
21
+ )
22
+ ">
23
+ <slot>
24
+ <HugeiconsIcon :icon="ArrowUp01Icon" class="size-4" />
25
+ </slot>
26
+ </SelectScrollUpButton>
27
+ </template>
@@ -1,15 +1,17 @@
1
1
  <script setup lang="ts">
2
- import type { SelectSeparatorProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { SelectSeparator } from "reka-ui"
6
- import { cn } from "../../../lib/utils"
2
+ import type { SelectSeparatorProps } from 'reka-ui';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import { SelectSeparator } from 'reka-ui';
6
+ import { cn } from '../../../lib/utils';
7
7
 
8
- const props = defineProps<SelectSeparatorProps & { class?: HTMLAttributes["class"] }>()
8
+ // Props
9
+ const props = defineProps<SelectSeparatorProps & { class?: HTMLAttributes['class'] }>();
9
10
 
10
- const delegatedProps = reactiveOmit(props, "class")
11
+ const delegatedProps = reactiveOmit(props, 'class');
11
12
  </script>
12
13
 
13
14
  <template>
14
- <SelectSeparator data-slot="select-separator" v-bind="delegatedProps" :class="cn('bg-border pointer-events-none -mx-1 my-1 h-px', props.class)" />
15
- </template>
15
+ <SelectSeparator data-slot="select-separator" v-bind="delegatedProps" :class="cn('bg-border pointer-events-none -mx-1 my-1 h-px', props.class)
16
+ " />
17
+ </template>