@brumaombra/ui-vintage 0.6.8 → 0.7.1

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 (697) hide show
  1. package/README.md +61 -51
  2. package/module.mjs +75 -0
  3. package/package.json +81 -272
  4. package/src/components/background-grid/BackgroundGrid.vue +5 -0
  5. package/src/components/background-grid/index.ts +2 -0
  6. package/src/components/blog/AllPostsSection.vue +46 -0
  7. package/src/components/blog/BlogFAQSection.vue +71 -0
  8. package/src/components/blog/BlogHeaderSection.vue +35 -0
  9. package/src/components/blog/BlogInfoSection.vue +70 -0
  10. package/src/components/blog/BlogSectionTitle.vue +12 -0
  11. package/src/components/blog/CategoriesList.vue +17 -0
  12. package/src/components/blog/CategoriesSection.vue +14 -0
  13. package/src/components/blog/CategoryCard.vue +34 -0
  14. package/src/components/blog/HeaderCarousel.vue +194 -0
  15. package/src/components/blog/PostCard.vue +56 -0
  16. package/src/components/blog/PostsList.vue +16 -0
  17. package/src/components/blog/SocialShareSidebar.vue +94 -0
  18. package/src/components/blog/TableOfContents.vue +114 -0
  19. package/{dist/components/blog/index.d.ts → src/components/blog/index.ts} +1 -1
  20. package/src/components/busy-indicator/BusyIndicator.vue +14 -0
  21. package/src/components/busy-indicator/busy-indicator-state.ts +88 -0
  22. package/src/components/busy-indicator/index.ts +3 -0
  23. package/src/components/card-grid/CardGrid.vue +47 -0
  24. package/src/components/card-grid/index.ts +2 -0
  25. package/src/components/chip/Chip.vue +40 -0
  26. package/src/components/chip/index.ts +2 -0
  27. package/src/components/confirm-dialog/ConfirmDialog.vue +60 -0
  28. package/src/components/confirm-dialog/confirm-dialog-state.ts +200 -0
  29. package/src/components/confirm-dialog/index.ts +12 -0
  30. package/src/components/content/BlogList.vue +60 -0
  31. package/src/components/content/BlogTable.vue +56 -0
  32. package/src/components/content/ProseHr.vue +26 -0
  33. package/{dist/components/content/index.d.ts → src/components/content/index.ts} +1 -1
  34. package/src/components/dashboard-shell/DashboardShell.vue +205 -0
  35. package/src/components/dashboard-shell/index.ts +2 -0
  36. package/src/components/data-list/DataList.vue +19 -0
  37. package/src/components/data-list/DataListItem.vue +17 -0
  38. package/src/components/data-list/DataListLabel.vue +17 -0
  39. package/src/components/data-list/DataListText.vue +17 -0
  40. package/src/components/data-list/DataListValue.vue +17 -0
  41. package/src/components/data-list/index.ts +5 -0
  42. package/src/components/empty-state-card/EmptyStateCard.vue +54 -0
  43. package/{dist/components/empty-state-card/index.d.ts → src/components/empty-state-card/index.ts} +1 -1
  44. package/src/components/error-page/ErrorPage.vue +118 -0
  45. package/src/components/error-page/index.ts +2 -0
  46. package/src/components/info-card/InfoCard.vue +42 -0
  47. package/src/components/info-card/index.ts +2 -0
  48. package/src/components/landing/index.ts +6 -0
  49. package/src/components/landing/landing-content/LandingContent.vue +17 -0
  50. package/src/components/landing/landing-content/index.ts +2 -0
  51. package/src/components/landing/landing-footer/LandingFooter.vue +151 -0
  52. package/src/components/landing/landing-footer/index.ts +3 -0
  53. package/src/components/landing/landing-navbar/LandingNavbar.vue +48 -0
  54. package/src/components/landing/landing-navbar/index.ts +2 -0
  55. package/src/components/landing/landing-shell/LandingShell.vue +58 -0
  56. package/src/components/landing/landing-shell/index.ts +2 -0
  57. package/src/components/language-flag/LanguageFlag.vue +54 -0
  58. package/src/components/language-flag/flags/ChineseFlag.vue +10 -0
  59. package/src/components/language-flag/flags/EnglishFlag.vue +9 -0
  60. package/src/components/language-flag/flags/FrenchFlag.vue +7 -0
  61. package/src/components/language-flag/flags/GermanFlag.vue +7 -0
  62. package/src/components/language-flag/flags/ItalianFlag.vue +9 -0
  63. package/src/components/language-flag/flags/JapaneseFlag.vue +6 -0
  64. package/src/components/language-flag/flags/PortugueseFlag.vue +59 -0
  65. package/src/components/language-flag/flags/RussianFlag.vue +7 -0
  66. package/src/components/language-flag/flags/SpanishFlag.vue +6 -0
  67. package/{dist/components/language-flag/index.d.ts → src/components/language-flag/index.ts} +1 -1
  68. package/src/components/language-selector/LanguageSelector.vue +154 -0
  69. package/{dist/components/language-selector/index.d.ts → src/components/language-selector/index.ts} +1 -1
  70. package/src/components/load-more-button/LoadMoreButton.vue +44 -0
  71. package/{dist/components/load-more-button/index.d.ts → src/components/load-more-button/index.ts} +1 -1
  72. package/src/components/loading-state-card/LoadingStateCard.vue +43 -0
  73. package/{dist/components/loading-state-card/index.d.ts → src/components/loading-state-card/index.ts} +1 -1
  74. package/src/components/message-dialog/MessageDialog.vue +101 -0
  75. package/src/components/message-dialog/index.ts +11 -0
  76. package/src/components/message-dialog/message-dialog-state.ts +168 -0
  77. package/src/components/message-toast/MessageToast.vue +75 -0
  78. package/src/components/message-toast/index.ts +9 -0
  79. package/src/components/message-toast/message-toast-state.ts +167 -0
  80. package/src/components/page-header/PageHeader.vue +52 -0
  81. package/src/components/page-header/index.ts +2 -0
  82. package/src/components/progress-component/ProgressComponent.vue +45 -0
  83. package/{dist/components/progress-component/index.d.ts → src/components/progress-component/index.ts} +1 -1
  84. package/src/components/single-value-card/SingleValueCard.vue +51 -0
  85. package/{dist/components/single-value-card/index.d.ts → src/components/single-value-card/index.ts} +1 -1
  86. package/src/components/slider-form-component/SliderFormComponent.vue +71 -0
  87. package/src/components/slider-form-component/index.ts +2 -0
  88. package/src/components/switch-form-component/SwitchFormComponent.vue +39 -0
  89. package/src/components/switch-form-component/index.ts +2 -0
  90. package/src/components/text-link/TextLink.vue +33 -0
  91. package/src/components/text-link/index.ts +2 -0
  92. package/src/components/theme-selector/ThemeSelector.vue +129 -0
  93. package/src/components/theme-selector/index.ts +2 -0
  94. package/src/components/ui/alert/Alert.vue +17 -0
  95. package/src/components/ui/alert/AlertDescription.vue +14 -0
  96. package/src/components/ui/alert/AlertTitle.vue +14 -0
  97. package/src/components/ui/alert/index.ts +15 -0
  98. package/src/components/ui/alert-dialog/AlertDialog.vue +15 -0
  99. package/src/components/ui/alert-dialog/AlertDialogAction.vue +18 -0
  100. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +22 -0
  101. package/src/components/ui/alert-dialog/AlertDialogContent.vue +36 -0
  102. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +19 -0
  103. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +18 -0
  104. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +14 -0
  105. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +17 -0
  106. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  107. package/src/components/ui/alert-dialog/index.ts +9 -0
  108. package/src/components/ui/badge/Badge.vue +26 -0
  109. package/src/components/ui/badge/index.ts +1 -0
  110. package/src/components/ui/breadcrumb/Breadcrumb.vue +17 -0
  111. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +24 -0
  112. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  113. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  114. package/src/components/ui/breadcrumb/BreadcrumbList.vue +17 -0
  115. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  116. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +23 -0
  117. package/src/components/ui/breadcrumb/index.ts +7 -0
  118. package/src/components/ui/busy/Busy.vue +45 -0
  119. package/src/components/ui/busy/index.ts +1 -0
  120. package/src/components/ui/button/Button.vue +24 -0
  121. package/src/components/ui/button/index.ts +41 -0
  122. package/src/components/ui/calendar/Calendar.vue +139 -0
  123. package/src/components/ui/calendar/CalendarCell.vue +23 -0
  124. package/src/components/ui/calendar/CalendarCellTrigger.vue +39 -0
  125. package/src/components/ui/calendar/CalendarGrid.vue +23 -0
  126. package/src/components/ui/calendar/CalendarGridBody.vue +15 -0
  127. package/src/components/ui/calendar/CalendarGridHead.vue +16 -0
  128. package/src/components/ui/calendar/CalendarGridRow.vue +22 -0
  129. package/src/components/ui/calendar/CalendarHeadCell.vue +23 -0
  130. package/src/components/ui/calendar/CalendarHeader.vue +23 -0
  131. package/src/components/ui/calendar/CalendarHeading.vue +30 -0
  132. package/src/components/ui/calendar/CalendarNextButton.vue +32 -0
  133. package/src/components/ui/calendar/CalendarPrevButton.vue +32 -0
  134. package/src/components/ui/calendar/index.ts +14 -0
  135. package/src/components/ui/card/Card.vue +31 -0
  136. package/src/components/ui/card/CardAction.vue +14 -0
  137. package/src/components/ui/card/CardContent.vue +14 -0
  138. package/src/components/ui/card/CardDescription.vue +14 -0
  139. package/src/components/ui/card/CardFooter.vue +14 -0
  140. package/src/components/ui/card/CardHeader.vue +14 -0
  141. package/src/components/ui/card/CardText.vue +14 -0
  142. package/src/components/ui/card/CardTitle.vue +14 -0
  143. package/src/components/ui/card/index.ts +8 -0
  144. package/src/components/ui/command/Command.vue +83 -0
  145. package/src/components/ui/command/CommandDialog.vue +31 -0
  146. package/src/components/ui/command/CommandEmpty.vue +27 -0
  147. package/src/components/ui/command/CommandGroup.vue +47 -0
  148. package/src/components/ui/command/CommandInput.vue +31 -0
  149. package/src/components/ui/command/CommandItem.vue +76 -0
  150. package/src/components/ui/command/CommandList.vue +25 -0
  151. package/src/components/ui/command/CommandSeparator.vue +17 -0
  152. package/src/components/ui/command/CommandShortcut.vue +14 -0
  153. package/src/components/ui/command/index.ts +25 -0
  154. package/src/components/ui/date-picker/DatePicker.vue +67 -0
  155. package/src/components/ui/date-picker/index.ts +2 -0
  156. package/src/components/ui/date-time-picker/DateTimePicker.vue +170 -0
  157. package/{dist/components/ui/date-time-picker/index.d.ts → src/components/ui/date-time-picker/index.ts} +2 -2
  158. package/src/components/ui/dialog/Dialog.vue +15 -0
  159. package/src/components/ui/dialog/DialogClose.vue +15 -0
  160. package/src/components/ui/dialog/DialogContent.vue +54 -0
  161. package/src/components/ui/dialog/DialogDescription.vue +19 -0
  162. package/src/components/ui/dialog/DialogFooter.vue +18 -0
  163. package/src/components/ui/dialog/DialogHeader.vue +14 -0
  164. package/src/components/ui/dialog/DialogOverlay.vue +17 -0
  165. package/src/components/ui/dialog/DialogScrollContent.vue +57 -0
  166. package/src/components/ui/dialog/DialogTitle.vue +19 -0
  167. package/src/components/ui/dialog/DialogTrigger.vue +12 -0
  168. package/src/components/ui/dialog/index.ts +10 -0
  169. package/src/components/ui/field/Field.vue +20 -0
  170. package/src/components/ui/field/FieldContent.vue +17 -0
  171. package/src/components/ui/field/FieldDescription.vue +19 -0
  172. package/src/components/ui/field/FieldError.vue +48 -0
  173. package/src/components/ui/field/FieldGroup.vue +17 -0
  174. package/src/components/ui/field/FieldLabel.vue +20 -0
  175. package/src/components/ui/field/FieldLegend.vue +20 -0
  176. package/src/components/ui/field/FieldSeparator.vue +21 -0
  177. package/src/components/ui/field/FieldSet.vue +18 -0
  178. package/src/components/ui/field/FieldTitle.vue +17 -0
  179. package/src/components/ui/field/index.ts +41 -0
  180. package/src/components/ui/input/Input.vue +29 -0
  181. package/src/components/ui/input/index.ts +1 -0
  182. package/src/components/ui/label/Label.vue +21 -0
  183. package/src/components/ui/label/index.ts +1 -0
  184. package/src/components/ui/native-select/NativeSelect.vue +52 -0
  185. package/src/components/ui/native-select/NativeSelectOptGroup.vue +12 -0
  186. package/src/components/ui/native-select/NativeSelectOption.vue +12 -0
  187. package/src/components/ui/native-select/index.ts +3 -0
  188. package/src/components/ui/popover/Popover.vue +15 -0
  189. package/src/components/ui/popover/PopoverAnchor.vue +12 -0
  190. package/src/components/ui/popover/PopoverContent.vue +40 -0
  191. package/src/components/ui/popover/PopoverTrigger.vue +12 -0
  192. package/src/components/ui/popover/index.ts +4 -0
  193. package/src/components/ui/progress/Progress.vue +38 -0
  194. package/src/components/ui/progress/index.ts +1 -0
  195. package/src/components/ui/scroll-area/ScrollArea.vue +33 -0
  196. package/src/components/ui/scroll-area/ScrollBar.vue +32 -0
  197. package/src/components/ui/scroll-area/index.ts +2 -0
  198. package/src/components/ui/select/Select.vue +15 -0
  199. package/src/components/ui/select/SelectContent.vue +50 -0
  200. package/src/components/ui/select/SelectGroup.vue +12 -0
  201. package/src/components/ui/select/SelectItem.vue +50 -0
  202. package/src/components/ui/select/SelectItemContent.vue +40 -0
  203. package/src/components/ui/select/SelectItemText.vue +12 -0
  204. package/src/components/ui/select/SelectLabel.vue +14 -0
  205. package/src/components/ui/select/SelectScrollDownButton.vue +23 -0
  206. package/src/components/ui/select/SelectScrollUpButton.vue +23 -0
  207. package/src/components/ui/select/SelectSeparator.vue +15 -0
  208. package/src/components/ui/select/SelectTrigger.vue +31 -0
  209. package/src/components/ui/select/SelectValue.vue +12 -0
  210. package/src/components/ui/select/SelectValueContent.vue +44 -0
  211. package/src/components/ui/select/index.ts +13 -0
  212. package/src/components/ui/separator/Separator.vue +24 -0
  213. package/src/components/ui/separator/index.ts +1 -0
  214. package/src/components/ui/sheet/Sheet.vue +15 -0
  215. package/src/components/ui/sheet/SheetClose.vue +12 -0
  216. package/src/components/ui/sheet/SheetContent.vue +49 -0
  217. package/src/components/ui/sheet/SheetDescription.vue +17 -0
  218. package/src/components/ui/sheet/SheetFooter.vue +12 -0
  219. package/src/components/ui/sheet/SheetHeader.vue +12 -0
  220. package/src/components/ui/sheet/SheetOverlay.vue +17 -0
  221. package/src/components/ui/sheet/SheetTitle.vue +17 -0
  222. package/src/components/ui/sheet/SheetTrigger.vue +12 -0
  223. package/src/components/ui/sheet/index.ts +8 -0
  224. package/src/components/ui/sidebar/Sidebar.vue +77 -0
  225. package/src/components/ui/sidebar/SidebarContent.vue +14 -0
  226. package/src/components/ui/sidebar/SidebarFooter.vue +14 -0
  227. package/src/components/ui/sidebar/SidebarGroup.vue +14 -0
  228. package/src/components/ui/sidebar/SidebarGroupAction.vue +21 -0
  229. package/src/components/ui/sidebar/SidebarGroupContent.vue +14 -0
  230. package/src/components/ui/sidebar/SidebarGroupLabel.vue +19 -0
  231. package/src/components/ui/sidebar/SidebarHeader.vue +14 -0
  232. package/src/components/ui/sidebar/SidebarInput.vue +18 -0
  233. package/src/components/ui/sidebar/SidebarInset.vue +18 -0
  234. package/src/components/ui/sidebar/SidebarMenu.vue +14 -0
  235. package/src/components/ui/sidebar/SidebarMenuAction.vue +30 -0
  236. package/src/components/ui/sidebar/SidebarMenuBadge.vue +23 -0
  237. package/src/components/ui/sidebar/SidebarMenuButton.vue +44 -0
  238. package/src/components/ui/sidebar/SidebarMenuButtonChild.vue +27 -0
  239. package/src/components/ui/sidebar/SidebarMenuItem.vue +14 -0
  240. package/src/components/ui/sidebar/SidebarMenuSkeleton.vue +20 -0
  241. package/src/components/ui/sidebar/SidebarMenuSub.vue +18 -0
  242. package/src/components/ui/sidebar/SidebarMenuSubButton.vue +28 -0
  243. package/src/components/ui/sidebar/SidebarMenuSubItem.vue +14 -0
  244. package/src/components/ui/sidebar/SidebarProvider.vue +79 -0
  245. package/src/components/ui/sidebar/SidebarRail.vue +25 -0
  246. package/src/components/ui/sidebar/SidebarSeparator.vue +15 -0
  247. package/src/components/ui/sidebar/SidebarTrigger.vue +21 -0
  248. package/src/components/ui/sidebar/index.ts +64 -0
  249. package/src/components/ui/sidebar/utils.ts +19 -0
  250. package/src/components/ui/skeleton/Skeleton.vue +14 -0
  251. package/src/components/ui/skeleton/index.ts +1 -0
  252. package/src/components/ui/slider/Slider.vue +27 -0
  253. package/src/components/ui/slider/index.ts +1 -0
  254. package/src/components/ui/switch/Switch.vue +30 -0
  255. package/src/components/ui/switch/index.ts +1 -0
  256. package/src/components/ui/table/Table.vue +16 -0
  257. package/src/components/ui/table/TableBody.vue +17 -0
  258. package/src/components/ui/table/TableCaption.vue +17 -0
  259. package/src/components/ui/table/TableCell.vue +22 -0
  260. package/src/components/ui/table/TableEmpty.vue +34 -0
  261. package/src/components/ui/table/TableFooter.vue +17 -0
  262. package/src/components/ui/table/TableHead.vue +17 -0
  263. package/src/components/ui/table/TableHeader.vue +17 -0
  264. package/src/components/ui/table/TableRow.vue +17 -0
  265. package/src/components/ui/table/index.ts +9 -0
  266. package/src/components/ui/tabs/Tabs.vue +24 -0
  267. package/src/components/ui/tabs/TabsContent.vue +21 -0
  268. package/src/components/ui/tabs/TabsList.vue +24 -0
  269. package/src/components/ui/tabs/TabsTrigger.vue +26 -0
  270. package/src/components/ui/tabs/index.ts +4 -0
  271. package/src/components/ui/textarea/Textarea.vue +29 -0
  272. package/src/components/ui/textarea/index.ts +1 -0
  273. package/src/components/ui/time-picker/TimePicker.vue +56 -0
  274. package/src/components/ui/time-picker/index.ts +2 -0
  275. package/src/components/ui/tooltip/Tooltip.vue +15 -0
  276. package/src/components/ui/tooltip/TooltipContent.vue +30 -0
  277. package/src/components/ui/tooltip/TooltipProvider.vue +14 -0
  278. package/src/components/ui/tooltip/TooltipTrigger.vue +12 -0
  279. package/src/components/ui/tooltip/index.ts +4 -0
  280. package/{dist/i18n/de.json.d.ts → src/i18n/de.json} +2 -4
  281. package/{dist/i18n/en.json.d.ts → src/i18n/en.json} +2 -4
  282. package/{dist/i18n/es.json.d.ts → src/i18n/es.json} +2 -4
  283. package/{dist/i18n/fr.json.d.ts → src/i18n/fr.json} +2 -4
  284. package/{dist/i18n/it.json.d.ts → src/i18n/it.json} +2 -4
  285. package/{dist/i18n/ja.json.d.ts → src/i18n/ja.json} +2 -4
  286. package/{dist/i18n/pt.json.d.ts → src/i18n/pt.json} +2 -4
  287. package/{dist/i18n/ru.json.d.ts → src/i18n/ru.json} +2 -4
  288. package/{dist/i18n/zh.json.d.ts → src/i18n/zh.json} +2 -4
  289. package/src/lib/color-tokens.ts +51 -0
  290. package/src/lib/i18n.ts +85 -0
  291. package/src/lib/utils.ts +29 -0
  292. package/src/nuxt-components.d.ts +5 -0
  293. package/src/runtime/ui-vintage-i18n-plugin.js +48 -0
  294. package/src/shims-vue.d.ts +5 -0
  295. package/src/styles.css +224 -0
  296. package/dist/AlertDialogTitle.vue_vue_type_script_setup_true_lang-DhRDOi2d.js +0 -361
  297. package/dist/BackgroundGrid-BJDDcLzF.js +0 -13
  298. package/dist/Badge.vue_vue_type_script_setup_true_lang-DH_klSVA.js +0 -33
  299. package/dist/Busy-BOXgYrox.js +0 -55
  300. package/dist/BusyIndicator-D-4YHN2L.js +0 -4
  301. package/dist/CalendarPrevButton.vue_vue_type_script_setup_true_lang-C6OtvF0h.js +0 -3800
  302. package/dist/Card.vue_vue_type_script_setup_true_lang-CZhFtxSD.js +0 -30
  303. package/dist/CardContent.vue_vue_type_script_setup_true_lang-BxI0-dse.js +0 -22
  304. package/dist/CardFooter.vue_vue_type_script_setup_true_lang-LFjBZHcl.js +0 -22
  305. package/dist/CardText.vue_vue_type_script_setup_true_lang-zUPNe9HY.js +0 -22
  306. package/dist/ChineseFlag-CVrOCbRz.js +0 -18
  307. package/dist/Collection-4P3HQ4uU.js +0 -76
  308. package/dist/ConfigProvider-DYO65bNW.js +0 -6
  309. package/dist/ConfirmDialog-Zu4m9TY-.js +0 -4
  310. package/dist/DatePicker.vue_vue_type_script_setup_true_lang-CzMhKnrj.js +0 -88
  311. package/dist/DialogClose-DxCTEp0d.js +0 -36
  312. package/dist/DialogPortal-BiMJAKLg.js +0 -36
  313. package/dist/DialogTitle-jKgSCoXM.js +0 -526
  314. package/dist/DialogTitle.vue_vue_type_script_setup_true_lang-D0Ephm9c.js +0 -184
  315. package/dist/DialogTrigger-Cb3rLcid.js +0 -52
  316. package/dist/EmptyStateCard.vue_vue_type_script_setup_true_lang-CH3ODMDF.js +0 -59
  317. package/dist/EnglishFlag-BrpG8XMW.js +0 -18
  318. package/dist/FocusScope-mzbqk6Y_.js +0 -448
  319. package/dist/FrenchFlag-CUdQacS3.js +0 -35
  320. package/dist/GermanFlag-Bc1CeEHw.js +0 -35
  321. package/dist/HugeiconsIcon.vue-By2RXWWz.js +0 -111
  322. package/dist/Input.vue_vue_type_script_setup_true_lang-BGGOqKHs.js +0 -37
  323. package/dist/ItalianFlag-BAdg13z7.js +0 -34
  324. package/dist/JapaneseFlag-Dnd2ITzZ.js +0 -27
  325. package/dist/Label.vue_vue_type_script_setup_true_lang-BzD7wUHQ.js +0 -65
  326. package/dist/LandingContent.vue_vue_type_script_setup_true_lang-BySDoKff.js +0 -21
  327. package/dist/LandingFooter.vue_vue_type_script_setup_true_lang-D1_ZjIFj.js +0 -159
  328. package/dist/LandingNavbar.vue_vue_type_script_setup_true_lang-Cu_ksJtE.js +0 -63
  329. package/dist/LandingShell.vue_vue_type_script_setup_true_lang-D6n-hLum.js +0 -49
  330. package/dist/LoadMoreButton.vue_vue_type_script_setup_true_lang-Be0obsa3.js +0 -61
  331. package/dist/LoadingStateCard.vue_vue_type_script_setup_true_lang-CwCrRir_.js +0 -53
  332. package/dist/MessageDialog-ChS4d2qN.js +0 -4
  333. package/dist/MessageToast-CMvpwf2m.js +0 -79
  334. package/dist/NativeSelectOption.vue_vue_type_script_setup_true_lang-CcnlTqUN.js +0 -75
  335. package/dist/PopoverTrigger.vue_vue_type_script_setup_true_lang-Bu5YDhSO.js +0 -801
  336. package/dist/PopperContent-DUJ8a4i0.js +0 -2144
  337. package/dist/PortugueseFlag-DU2jEbaQ.js +0 -19
  338. package/dist/Presence-CTmUEdMR.js +0 -168
  339. package/dist/Primitive-D3IcFg81.js +0 -61
  340. package/dist/Progress.vue_vue_type_script_setup_true_lang-ZKUFAYop.js +0 -188
  341. package/dist/RussianFlag-Cnc4PHmq.js +0 -29
  342. package/dist/Separator-CFm_M4pb.js +0 -87
  343. package/dist/Separator.vue_vue_type_script_setup_true_lang-BDH2gelV.js +0 -29
  344. package/dist/SheetTitle.vue_vue_type_script_setup_true_lang-DZ-80X9J.js +0 -167
  345. package/dist/Skeleton.vue_vue_type_script_setup_true_lang-CK-Q0Oxk.js +0 -20
  346. package/dist/Slider.vue_vue_type_script_setup_true_lang-Cz1oQX11.js +0 -803
  347. package/dist/SpanishFlag-Dy-C9kGk.js +0 -28
  348. package/dist/Switch.vue_vue_type_script_setup_true_lang-BzUQzI2p.js +0 -227
  349. package/dist/TableHeader.vue_vue_type_script_setup_true_lang-BMHYThM4.js +0 -123
  350. package/dist/Teleport-DTOwRCqx.js +0 -315
  351. package/dist/TimePicker.vue_vue_type_script_setup_true_lang-C3Ww9XT5.js +0 -51
  352. package/dist/TooltipTrigger.vue_vue_type_script_setup_true_lang-CIBac9lA.js +0 -1120
  353. package/dist/VisuallyHidden-udQT2Fmo.js +0 -60
  354. package/dist/VisuallyHiddenInput-D5eipDQU.js +0 -142
  355. package/dist/_plugin-vue_export-helper-1tPrXgE0.js +0 -10
  356. package/dist/alert-dialog.js +0 -165
  357. package/dist/alert.js +0 -66
  358. package/dist/background-grid.js +0 -5
  359. package/dist/badge.js +0 -4
  360. package/dist/blog.js +0 -938
  361. package/dist/breadcrumb.js +0 -159
  362. package/dist/busy-indicator.js +0 -66
  363. package/dist/busy.js +0 -4
  364. package/dist/button.js +0 -67
  365. package/dist/calendar.js +0 -15
  366. package/dist/card-grid.js +0 -58
  367. package/dist/card.js +0 -84
  368. package/dist/chip.js +0 -47
  369. package/dist/clamp-D5Ye0kJT.js +0 -6
  370. package/dist/color-tokens-D9BviGPK.js +0 -40
  371. package/dist/command.js +0 -1099
  372. package/dist/components/background-grid/BackgroundGrid.vue.d.ts +0 -2
  373. package/dist/components/background-grid/index.d.ts +0 -2
  374. package/dist/components/busy-indicator/BusyIndicator.vue.d.ts +0 -2
  375. package/dist/components/busy-indicator/busy-indicator-state.d.ts +0 -15
  376. package/dist/components/busy-indicator/index.d.ts +0 -3
  377. package/dist/components/card-grid/CardGrid.vue.d.ts +0 -88
  378. package/dist/components/card-grid/index.d.ts +0 -2
  379. package/dist/components/chip/Chip.vue.d.ts +0 -17
  380. package/dist/components/chip/index.d.ts +0 -2
  381. package/dist/components/confirm-dialog/ConfirmDialog.vue.d.ts +0 -2
  382. package/dist/components/confirm-dialog/confirm-dialog-state.d.ts +0 -40
  383. package/dist/components/confirm-dialog/index.d.ts +0 -3
  384. package/dist/components/dashboard-shell/DashboardShell.vue.d.ts +0 -67
  385. package/dist/components/dashboard-shell/index.d.ts +0 -2
  386. package/dist/components/data-list/DataList.vue.d.ts +0 -21
  387. package/dist/components/data-list/DataListItem.vue.d.ts +0 -21
  388. package/dist/components/data-list/DataListLabel.vue.d.ts +0 -21
  389. package/dist/components/data-list/DataListText.vue.d.ts +0 -21
  390. package/dist/components/data-list/DataListValue.vue.d.ts +0 -21
  391. package/dist/components/data-list/index.d.ts +0 -5
  392. package/dist/components/empty-state-card/EmptyStateCard.vue.d.ts +0 -73
  393. package/dist/components/error-page/ErrorPage.vue.d.ts +0 -51
  394. package/dist/components/error-page/index.d.ts +0 -2
  395. package/dist/components/info-card/InfoCard.vue.d.ts +0 -46
  396. package/dist/components/info-card/index.d.ts +0 -2
  397. package/dist/components/landing/index.d.ts +0 -6
  398. package/dist/components/landing/landing-content/LandingContent.vue.d.ts +0 -21
  399. package/dist/components/landing/landing-content/index.d.ts +0 -2
  400. package/dist/components/landing/landing-footer/LandingFooter.vue.d.ts +0 -39
  401. package/dist/components/landing/landing-footer/index.d.ts +0 -3
  402. package/dist/components/landing/landing-navbar/LandingNavbar.vue.d.ts +0 -32
  403. package/dist/components/landing/landing-navbar/index.d.ts +0 -2
  404. package/dist/components/landing/landing-shell/LandingShell.vue.d.ts +0 -31
  405. package/dist/components/landing/landing-shell/index.d.ts +0 -2
  406. package/dist/components/language-flag/LanguageFlag.vue.d.ts +0 -14
  407. package/dist/components/language-flag/flags/ChineseFlag.vue.d.ts +0 -2
  408. package/dist/components/language-flag/flags/EnglishFlag.vue.d.ts +0 -2
  409. package/dist/components/language-flag/flags/FrenchFlag.vue.d.ts +0 -2
  410. package/dist/components/language-flag/flags/GermanFlag.vue.d.ts +0 -2
  411. package/dist/components/language-flag/flags/ItalianFlag.vue.d.ts +0 -2
  412. package/dist/components/language-flag/flags/JapaneseFlag.vue.d.ts +0 -2
  413. package/dist/components/language-flag/flags/PortugueseFlag.vue.d.ts +0 -2
  414. package/dist/components/language-flag/flags/RussianFlag.vue.d.ts +0 -2
  415. package/dist/components/language-flag/flags/SpanishFlag.vue.d.ts +0 -2
  416. package/dist/components/language-selector/LanguageSelector.vue.d.ts +0 -31
  417. package/dist/components/load-more-button/LoadMoreButton.vue.d.ts +0 -36
  418. package/dist/components/loading-state-card/LoadingStateCard.vue.d.ts +0 -55
  419. package/dist/components/message-dialog/MessageDialog.vue.d.ts +0 -2
  420. package/dist/components/message-dialog/index.d.ts +0 -3
  421. package/dist/components/message-dialog/message-dialog-state.d.ts +0 -30
  422. package/dist/components/message-toast/MessageToast.vue.d.ts +0 -2
  423. package/dist/components/message-toast/index.d.ts +0 -2
  424. package/dist/components/message-toast/message-toast-state.d.ts +0 -18
  425. package/dist/components/page-header/PageHeader.vue.d.ts +0 -48
  426. package/dist/components/page-header/index.d.ts +0 -2
  427. package/dist/components/progress-component/ProgressComponent.vue.d.ts +0 -47
  428. package/dist/components/single-value-card/SingleValueCard.vue.d.ts +0 -40
  429. package/dist/components/slider-form-component/SliderFormComponent.vue.d.ts +0 -23
  430. package/dist/components/slider-form-component/index.d.ts +0 -2
  431. package/dist/components/switch-form-component/SwitchFormComponent.vue.d.ts +0 -12
  432. package/dist/components/switch-form-component/index.d.ts +0 -2
  433. package/dist/components/text-link/TextLink.vue.d.ts +0 -35
  434. package/dist/components/text-link/index.d.ts +0 -2
  435. package/dist/components/theme-selector/ThemeSelector.vue.d.ts +0 -2
  436. package/dist/components/theme-selector/index.d.ts +0 -2
  437. package/dist/components/ui/alert/Alert.vue.d.ts +0 -23
  438. package/dist/components/ui/alert/AlertDescription.vue.d.ts +0 -21
  439. package/dist/components/ui/alert/AlertTitle.vue.d.ts +0 -21
  440. package/dist/components/ui/alert/index.d.ts +0 -9
  441. package/dist/components/ui/alert-dialog/AlertDialog.vue.d.ts +0 -25
  442. package/dist/components/ui/alert-dialog/AlertDialogAction.vue.d.ts +0 -22
  443. package/dist/components/ui/alert-dialog/AlertDialogCancel.vue.d.ts +0 -22
  444. package/dist/components/ui/alert-dialog/AlertDialogContent.vue.d.ts +0 -36
  445. package/dist/components/ui/alert-dialog/AlertDialogDescription.vue.d.ts +0 -22
  446. package/dist/components/ui/alert-dialog/AlertDialogFooter.vue.d.ts +0 -21
  447. package/dist/components/ui/alert-dialog/AlertDialogHeader.vue.d.ts +0 -21
  448. package/dist/components/ui/alert-dialog/AlertDialogTitle.vue.d.ts +0 -22
  449. package/dist/components/ui/alert-dialog/AlertDialogTrigger.vue.d.ts +0 -18
  450. package/dist/components/ui/alert-dialog/index.d.ts +0 -9
  451. package/dist/components/ui/badge/Badge.vue.d.ts +0 -16
  452. package/dist/components/ui/badge/index.d.ts +0 -1
  453. package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts +0 -21
  454. package/dist/components/ui/breadcrumb/BreadcrumbEllipsis.vue.d.ts +0 -21
  455. package/dist/components/ui/breadcrumb/BreadcrumbItem.vue.d.ts +0 -21
  456. package/dist/components/ui/breadcrumb/BreadcrumbLink.vue.d.ts +0 -24
  457. package/dist/components/ui/breadcrumb/BreadcrumbList.vue.d.ts +0 -21
  458. package/dist/components/ui/breadcrumb/BreadcrumbPage.vue.d.ts +0 -21
  459. package/dist/components/ui/breadcrumb/BreadcrumbSeparator.vue.d.ts +0 -21
  460. package/dist/components/ui/breadcrumb/index.d.ts +0 -7
  461. package/dist/components/ui/busy/Busy.vue.d.ts +0 -27
  462. package/dist/components/ui/busy/index.d.ts +0 -1
  463. package/dist/components/ui/button/Button.vue.d.ts +0 -27
  464. package/dist/components/ui/button/index.d.ts +0 -7
  465. package/dist/components/ui/calendar/Calendar.vue.d.ts +0 -44
  466. package/dist/components/ui/calendar/CalendarCell.vue.d.ts +0 -22
  467. package/dist/components/ui/calendar/CalendarCellTrigger.vue.d.ts +0 -24
  468. package/dist/components/ui/calendar/CalendarGrid.vue.d.ts +0 -22
  469. package/dist/components/ui/calendar/CalendarGridBody.vue.d.ts +0 -18
  470. package/dist/components/ui/calendar/CalendarGridHead.vue.d.ts +0 -22
  471. package/dist/components/ui/calendar/CalendarGridRow.vue.d.ts +0 -22
  472. package/dist/components/ui/calendar/CalendarHeadCell.vue.d.ts +0 -22
  473. package/dist/components/ui/calendar/CalendarHeader.vue.d.ts +0 -22
  474. package/dist/components/ui/calendar/CalendarHeading.vue.d.ts +0 -28
  475. package/dist/components/ui/calendar/CalendarNextButton.vue.d.ts +0 -22
  476. package/dist/components/ui/calendar/CalendarPrevButton.vue.d.ts +0 -22
  477. package/dist/components/ui/calendar/index.d.ts +0 -13
  478. package/dist/components/ui/card/Card.vue.d.ts +0 -24
  479. package/dist/components/ui/card/CardAction.vue.d.ts +0 -21
  480. package/dist/components/ui/card/CardContent.vue.d.ts +0 -21
  481. package/dist/components/ui/card/CardDescription.vue.d.ts +0 -21
  482. package/dist/components/ui/card/CardFooter.vue.d.ts +0 -21
  483. package/dist/components/ui/card/CardHeader.vue.d.ts +0 -21
  484. package/dist/components/ui/card/CardText.vue.d.ts +0 -21
  485. package/dist/components/ui/card/CardTitle.vue.d.ts +0 -21
  486. package/dist/components/ui/card/index.d.ts +0 -8
  487. package/dist/components/ui/command/Command.vue.d.ts +0 -40
  488. package/dist/components/ui/command/CommandDialog.vue.d.ts +0 -32
  489. package/dist/components/ui/command/CommandEmpty.vue.d.ts +0 -22
  490. package/dist/components/ui/command/CommandGroup.vue.d.ts +0 -23
  491. package/dist/components/ui/command/CommandInput.vue.d.ts +0 -7
  492. package/dist/components/ui/command/CommandItem.vue.d.ts +0 -30
  493. package/dist/components/ui/command/CommandList.vue.d.ts +0 -22
  494. package/dist/components/ui/command/CommandSeparator.vue.d.ts +0 -22
  495. package/dist/components/ui/command/CommandShortcut.vue.d.ts +0 -21
  496. package/dist/components/ui/command/index.d.ts +0 -90
  497. package/dist/components/ui/date-picker/DatePicker.vue.d.ts +0 -21
  498. package/dist/components/ui/date-picker/index.d.ts +0 -2
  499. package/dist/components/ui/date-time-picker/DateTimePicker.vue.d.ts +0 -27
  500. package/dist/components/ui/dialog/Dialog.vue.d.ts +0 -25
  501. package/dist/components/ui/dialog/DialogClose.vue.d.ts +0 -18
  502. package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -39
  503. package/dist/components/ui/dialog/DialogDescription.vue.d.ts +0 -22
  504. package/dist/components/ui/dialog/DialogFooter.vue.d.ts +0 -21
  505. package/dist/components/ui/dialog/DialogHeader.vue.d.ts +0 -21
  506. package/dist/components/ui/dialog/DialogOverlay.vue.d.ts +0 -22
  507. package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +0 -39
  508. package/dist/components/ui/dialog/DialogTitle.vue.d.ts +0 -22
  509. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +0 -18
  510. package/dist/components/ui/dialog/index.d.ts +0 -10
  511. package/dist/components/ui/field/Field.vue.d.ts +0 -23
  512. package/dist/components/ui/field/FieldContent.vue.d.ts +0 -21
  513. package/dist/components/ui/field/FieldDescription.vue.d.ts +0 -21
  514. package/dist/components/ui/field/FieldError.vue.d.ts +0 -24
  515. package/dist/components/ui/field/FieldGroup.vue.d.ts +0 -21
  516. package/dist/components/ui/field/FieldLabel.vue.d.ts +0 -21
  517. package/dist/components/ui/field/FieldLegend.vue.d.ts +0 -22
  518. package/dist/components/ui/field/FieldSeparator.vue.d.ts +0 -21
  519. package/dist/components/ui/field/FieldSet.vue.d.ts +0 -21
  520. package/dist/components/ui/field/FieldTitle.vue.d.ts +0 -21
  521. package/dist/components/ui/field/index.d.ts +0 -15
  522. package/dist/components/ui/input/Input.vue.d.ts +0 -12
  523. package/dist/components/ui/input/index.d.ts +0 -1
  524. package/dist/components/ui/label/Label.vue.d.ts +0 -22
  525. package/dist/components/ui/label/index.d.ts +0 -1
  526. package/dist/components/ui/native-select/NativeSelect.vue.d.ts +0 -27
  527. package/dist/components/ui/native-select/NativeSelectOptGroup.vue.d.ts +0 -21
  528. package/dist/components/ui/native-select/NativeSelectOption.vue.d.ts +0 -21
  529. package/dist/components/ui/native-select/index.d.ts +0 -3
  530. package/dist/components/ui/popover/Popover.vue.d.ts +0 -25
  531. package/dist/components/ui/popover/PopoverAnchor.vue.d.ts +0 -18
  532. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -39
  533. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -18
  534. package/dist/components/ui/popover/index.d.ts +0 -4
  535. package/dist/components/ui/progress/Progress.vue.d.ts +0 -9
  536. package/dist/components/ui/progress/index.d.ts +0 -1
  537. package/dist/components/ui/scroll-area/ScrollArea.vue.d.ts +0 -22
  538. package/dist/components/ui/scroll-area/ScrollBar.vue.d.ts +0 -9
  539. package/dist/components/ui/scroll-area/index.d.ts +0 -2
  540. package/dist/components/ui/select/Select.vue.d.ts +0 -28
  541. package/dist/components/ui/select/SelectContent.vue.d.ts +0 -35
  542. package/dist/components/ui/select/SelectGroup.vue.d.ts +0 -18
  543. package/dist/components/ui/select/SelectItem.vue.d.ts +0 -24
  544. package/dist/components/ui/select/SelectItemContent.vue.d.ts +0 -15
  545. package/dist/components/ui/select/SelectItemText.vue.d.ts +0 -18
  546. package/dist/components/ui/select/SelectLabel.vue.d.ts +0 -22
  547. package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +0 -22
  548. package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +0 -22
  549. package/dist/components/ui/select/SelectSeparator.vue.d.ts +0 -7
  550. package/dist/components/ui/select/SelectTrigger.vue.d.ts +0 -25
  551. package/dist/components/ui/select/SelectValue.vue.d.ts +0 -18
  552. package/dist/components/ui/select/SelectValueContent.vue.d.ts +0 -16
  553. package/dist/components/ui/select/index.d.ts +0 -13
  554. package/dist/components/ui/separator/Separator.vue.d.ts +0 -10
  555. package/dist/components/ui/separator/index.d.ts +0 -1
  556. package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -25
  557. package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -18
  558. package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -39
  559. package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -22
  560. package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -21
  561. package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -21
  562. package/dist/components/ui/sheet/SheetOverlay.vue.d.ts +0 -22
  563. package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -22
  564. package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -18
  565. package/dist/components/ui/sheet/index.d.ts +0 -8
  566. package/dist/components/ui/sidebar/Sidebar.vue.d.ts +0 -25
  567. package/dist/components/ui/sidebar/SidebarContent.vue.d.ts +0 -21
  568. package/dist/components/ui/sidebar/SidebarFooter.vue.d.ts +0 -21
  569. package/dist/components/ui/sidebar/SidebarGroup.vue.d.ts +0 -21
  570. package/dist/components/ui/sidebar/SidebarGroupAction.vue.d.ts +0 -22
  571. package/dist/components/ui/sidebar/SidebarGroupContent.vue.d.ts +0 -21
  572. package/dist/components/ui/sidebar/SidebarGroupLabel.vue.d.ts +0 -22
  573. package/dist/components/ui/sidebar/SidebarHeader.vue.d.ts +0 -21
  574. package/dist/components/ui/sidebar/SidebarInput.vue.d.ts +0 -21
  575. package/dist/components/ui/sidebar/SidebarInset.vue.d.ts +0 -21
  576. package/dist/components/ui/sidebar/SidebarMenu.vue.d.ts +0 -21
  577. package/dist/components/ui/sidebar/SidebarMenuAction.vue.d.ts +0 -25
  578. package/dist/components/ui/sidebar/SidebarMenuBadge.vue.d.ts +0 -21
  579. package/dist/components/ui/sidebar/SidebarMenuButton.vue.d.ts +0 -27
  580. package/dist/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +0 -30
  581. package/dist/components/ui/sidebar/SidebarMenuItem.vue.d.ts +0 -21
  582. package/dist/components/ui/sidebar/SidebarMenuSkeleton.vue.d.ts +0 -7
  583. package/dist/components/ui/sidebar/SidebarMenuSub.vue.d.ts +0 -21
  584. package/dist/components/ui/sidebar/SidebarMenuSubButton.vue.d.ts +0 -27
  585. package/dist/components/ui/sidebar/SidebarMenuSubItem.vue.d.ts +0 -21
  586. package/dist/components/ui/sidebar/SidebarProvider.vue.d.ts +0 -32
  587. package/dist/components/ui/sidebar/SidebarRail.vue.d.ts +0 -21
  588. package/dist/components/ui/sidebar/SidebarSeparator.vue.d.ts +0 -21
  589. package/dist/components/ui/sidebar/SidebarTrigger.vue.d.ts +0 -6
  590. package/dist/components/ui/sidebar/index.d.ts +0 -38
  591. package/dist/components/ui/sidebar/utils.d.ts +0 -56
  592. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +0 -6
  593. package/dist/components/ui/skeleton/index.d.ts +0 -1
  594. package/dist/components/ui/slider/Slider.vue.d.ts +0 -13
  595. package/dist/components/ui/slider/index.d.ts +0 -1
  596. package/dist/components/ui/switch/Switch.vue.d.ts +0 -29
  597. package/dist/components/ui/switch/index.d.ts +0 -1
  598. package/dist/components/ui/table/Table.vue.d.ts +0 -21
  599. package/dist/components/ui/table/TableBody.vue.d.ts +0 -21
  600. package/dist/components/ui/table/TableCaption.vue.d.ts +0 -21
  601. package/dist/components/ui/table/TableCell.vue.d.ts +0 -21
  602. package/dist/components/ui/table/TableEmpty.vue.d.ts +0 -24
  603. package/dist/components/ui/table/TableFooter.vue.d.ts +0 -21
  604. package/dist/components/ui/table/TableHead.vue.d.ts +0 -21
  605. package/dist/components/ui/table/TableHeader.vue.d.ts +0 -21
  606. package/dist/components/ui/table/TableRow.vue.d.ts +0 -21
  607. package/dist/components/ui/table/index.d.ts +0 -9
  608. package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -28
  609. package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -22
  610. package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -22
  611. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -22
  612. package/dist/components/ui/tabs/index.d.ts +0 -4
  613. package/dist/components/ui/textarea/Textarea.vue.d.ts +0 -12
  614. package/dist/components/ui/textarea/index.d.ts +0 -1
  615. package/dist/components/ui/time-picker/TimePicker.vue.d.ts +0 -21
  616. package/dist/components/ui/time-picker/index.d.ts +0 -2
  617. package/dist/components/ui/tooltip/Tooltip.vue.d.ts +0 -24
  618. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +0 -30
  619. package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +0 -20
  620. package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +0 -18
  621. package/dist/components/ui/tooltip/index.d.ts +0 -4
  622. package/dist/confirm-dialog.js +0 -228
  623. package/dist/content.js +0 -210
  624. package/dist/createContext-BabAT1K8.js +0 -19
  625. package/dist/dashboard-shell.js +0 -231
  626. package/dist/data-list.js +0 -97
  627. package/dist/date-picker.js +0 -5
  628. package/dist/date-time-picker.js +0 -140
  629. package/dist/dialog.js +0 -147
  630. package/dist/empty-state-card.js +0 -5
  631. package/dist/error-page.js +0 -115
  632. package/dist/field.js +0 -294
  633. package/dist/getActiveElement-Bmy6QsUb.js +0 -9
  634. package/dist/i18n.js +0 -778
  635. package/dist/index-DDJjWaIl.js +0 -363
  636. package/dist/index-DDurQzrB.js +0 -44
  637. package/dist/index-Dw56kNV0.js +0 -251
  638. package/dist/index.min-CUZWqaEQ.js +0 -32
  639. package/dist/info-card.js +0 -65
  640. package/dist/input.js +0 -4
  641. package/dist/label.js +0 -4
  642. package/dist/landing-content.js +0 -5
  643. package/dist/landing-footer.js +0 -5
  644. package/dist/landing-navbar.js +0 -5
  645. package/dist/landing-shell.js +0 -5
  646. package/dist/landing.js +0 -11
  647. package/dist/language-flag.js +0 -61
  648. package/dist/language-selector.js +0 -169
  649. package/dist/lib/color-tokens.d.ts +0 -6
  650. package/dist/lib/i18n.d.ts +0 -1417
  651. package/dist/lib/utils.d.ts +0 -3
  652. package/dist/load-more-button.js +0 -5
  653. package/dist/loading-state-card.js +0 -5
  654. package/dist/message-dialog.js +0 -226
  655. package/dist/message-toast.js +0 -103
  656. package/dist/native-select.js +0 -25
  657. package/dist/nullish-D3tMkl6i.js +0 -6
  658. package/dist/page-header.js +0 -57
  659. package/dist/popover.js +0 -65
  660. package/dist/progress-component.js +0 -51
  661. package/dist/progress.js +0 -4
  662. package/dist/scroll-area.js +0 -1080
  663. package/dist/select.js +0 -2222
  664. package/dist/separator.js +0 -4
  665. package/dist/sheet.js +0 -68
  666. package/dist/sidebar.js +0 -807
  667. package/dist/single-value-card.js +0 -64
  668. package/dist/skeleton.js +0 -4
  669. package/dist/slider-form-component.js +0 -60
  670. package/dist/slider.js +0 -4
  671. package/dist/style.css +0 -5705
  672. package/dist/style.d.ts +0 -0
  673. package/dist/style.js +0 -1
  674. package/dist/switch-form-component.js +0 -40
  675. package/dist/switch.js +0 -4
  676. package/dist/table.js +0 -82
  677. package/dist/tabs.js +0 -658
  678. package/dist/text-link.js +0 -39
  679. package/dist/textarea.js +0 -37
  680. package/dist/theme-selector.js +0 -159
  681. package/dist/time-picker.js +0 -5
  682. package/dist/tooltip.js +0 -32
  683. package/dist/useDirection-B2bMgzzV.js +0 -12
  684. package/dist/useFocusGuards-2C1jyYW5.js +0 -29
  685. package/dist/useFormControl-DZ4LnB9F.js +0 -11
  686. package/dist/useForwardExpose-BcX3VRdS.js +0 -58
  687. package/dist/useForwardPropsEmits-GlUGKcIz.js +0 -47
  688. package/dist/useId-CF6wz41D.js +0 -16
  689. package/dist/useKbd-JjFOu4f7.js +0 -41
  690. package/dist/useNonce-CWj1JlPB.js +0 -12
  691. package/dist/usePrimitiveElement-BCpwlakH.js +0 -16
  692. package/dist/useSize-DUgGY9t1.js +0 -51
  693. package/dist/useTypeahead-4RK0Emcv.js +0 -159
  694. package/dist/utils-DbR1EZn-.js +0 -16
  695. package/dist/utils-DbYZ4xaD.js +0 -3204
  696. package/dist/utils-hdwtyAF3.js +0 -44
  697. package/dist/utils.js +0 -5
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 640 480" aria-hidden="true" focusable="false">
3
+ <path fill="red" d="M256 0h384v480H256z" />
4
+ <path fill="#060" d="M0 0h256v480H0z" />
5
+ <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".6">
6
+ <path d="M339.5 306.2c-32.3-1-180-93.2-181-108l8.1-13.5c14.7 21.3 165.7 111 180.6 107.8z" />
7
+ <path d="M164.9 182.8c-2.9 7.8 38.6 33.4 88.4 63.8s92.9 49 96 46.4l1.5-2.8q-.9 1.6-4.3.6c-13.5-3.9-48.6-20-92.1-46.4-43.6-26.4-81.4-50.7-87.3-61a6 6 0 0 1-.6-3.1h-.2l-1.2 2.2zm175.3 123.8q-.7 1.3-3.5.8c-12-1.3-48.6-19.1-91.9-45-50.4-30.2-92-57.6-87.4-64.8l1.2-2.2.2.1c-4 12.2 82.1 61.4 87.2 64.6 49.8 30.8 91.8 48.9 95.5 44.2z" />
8
+ <path d="M256.2 207.2c32.2-.3 72-4.4 95-13.6l-5-8c-13.5 7.5-53.5 12.5-90.3 13.2-43.4-.4-74.1-4.5-89.5-14.8l-4.6 8.6c28.2 12 57.2 14.5 94.4 14.6" />
9
+ <path d="M352.5 193.8c-.8 1.3-15.8 6.4-37.8 10.2a381 381 0 0 1-58.6 4.3 416 416 0 0 1-56.2-3.6c-23.1-3.6-35-8.6-39.5-10.4l1.1-2.2c12.7 5 24.7 8 38.7 10.2A412 412 0 0 0 256 206a392 392 0 0 0 58.3-4.3c22.5-3.7 34.8-8.4 36.6-10.5zm-4.4-8.1c-2.4 2-14.6 6.3-36 9.7a388 388 0 0 1-55.8 4c-22 0-40.1-1.6-53.8-3.6-21.8-2.8-33.4-8-37.6-9.4l1.3-2.2c3.3 1.7 14.4 6.2 36.5 9.3a385 385 0 0 0 53.6 3.4 384 384 0 0 0 55.4-4c21.5-3 33.1-8.4 34.9-9.8zM150.3 246c19.8 10.7 63.9 16 105.6 16.4 38 .1 87.4-5.8 105.9-15.6l-.5-10.7c-5.8 9-58.8 17.7-105.8 17.4s-90.7-7.6-105.3-17v9.5" />
10
+ <path d="M362.8 244.5v2.5c-2.8 3.4-20.2 8.4-42 12a434 434 0 0 1-65.4 4.4 400 400 0 0 1-62-4.3 155 155 0 0 1-44.4-12v-2.9c9.7 6.4 35.9 11.2 44.7 12.6 15.8 2.4 36.1 4.2 61.7 4.2 26.9 0 48.4-1.9 65-4.4 15.7-2.3 38-8.2 42.4-12.1m0-9v2.5c-2.8 3.3-20.2 8.3-42 11.9a434 434 0 0 1-65.4 4.5 414 414 0 0 1-62-4.3 155 155 0 0 1-44.4-12v-3c9.7 6.5 36 11.2 44.7 12.6a408 408 0 0 0 61.7 4.3c26.9 0 48.5-2 65-4.5 15.7-2.2 38-8.1 42.4-12m-107 68.8c-45.6-.2-84.7-12.4-93-14.4l6 9.4a250 250 0 0 0 87.4 14.3c34.7-1 65-3.7 86.3-14.1l6.2-9.8c-14.5 6.9-64 14.6-93 14.6" />
11
+ <path d="m344.9 297.3-2.8 4c-10 3.6-26 7.4-32.6 8.4a296 296 0 0 1-53.7 5c-40.4-.6-73.5-8.5-89-15.3l-1.3-2.1.2-.4 2.1.9a287 287 0 0 0 88.2 14.5c18.8 0 37.5-2.1 52.6-4.8 23.2-4.7 32.6-8.2 35.5-9.8l.7-.4zm5.3-8.8-2 3.5c-5.4 2-20 6.2-41.3 9.2-14 1.9-22.7 3.8-50.6 4.3a347 347 0 0 1-94.2-14L161 289a390 390 0 0 0 95.4 14c25.5-.5 36.4-2.4 50.3-4.3 24.8-3.8 37.3-8 41-9.1v-.2l2.6-1z" />
12
+ <path d="M350.8 237.6c.1 30-15.3 57-27.6 68.8a99 99 0 0 1-67.8 28.2c-30.3.5-58.8-19.2-66.5-27.9a101 101 0 0 1-27.5-67.4c1.8-32.8 14.7-55.6 33.3-71.3a100 100 0 0 1 64.2-22.7 98 98 0 0 1 71 35.6c12.5 15.2 18 31.7 20.9 56.7M255.6 135a106 106 0 0 1 106 105.2 105.6 105.6 0 1 1-211.4 0c-.1-58 47.3-105.2 105.4-105.2" />
13
+ <path d="M255.9 134.5c58.2 0 105.6 47.4 105.6 105.6S314.1 345.7 256 345.7s-105.6-47.4-105.6-105.6S197.8 134.5 256 134.5zM152.6 240c0 56.8 46.7 103.3 103.3 103.3S359.2 296.8 359.2 240s-46.7-103.3-103.3-103.3S152.6 183.2 152.6 240" />
14
+ <path d="M256 143.3a97 97 0 0 1 96.7 96.7 97 97 0 0 1-96.7 96.8c-53 0-96.7-43.6-96.7-96.8a97 97 0 0 1 96.7-96.7M161.6 240c0 52 42.6 94.4 94.4 94.4s94.4-42.5 94.4-94.4-42.6-94.4-94.4-94.4a95 95 0 0 0-94.4 94.4" />
15
+ <path d="M260.3 134h-9.1v212.3h9z" />
16
+ <path d="M259.3 132.8h2.3v214.7h-2.2V132.8zm-9 0h2.4v214.7h-2.3z" />
17
+ <path d="M361.6 244.2v-7.8l-6.4-6-36.3-9.6-52.2-5.3-63 3.2-44.8 10.6-9 6.7v7.9l22.9-10.3 54.4-8.5h52.3l38.4 4.2 26.6 6.4z" />
18
+ <path d="M256 223.8c24.9 0 49 2.3 68.3 6 19.8 4 33.7 9 38.5 14.5v2.8c-5.8-7-24.5-12-39-15-19-3.6-43-6-67.9-6-26.1 0-50.5 2.6-69.3 6.2-15 3-35.1 9-37.6 14.8v-2.9c1.3-4 16.3-10 37.3-14.3 18.9-3.7 43.3-6.1 69.6-6.1zm0-9.1a383 383 0 0 1 68.3 6c19.8 4 33.7 9 38.5 14.6v2.7c-5.8-6.9-24.5-12-39-14.9-19-3.7-43-6-67.9-6a376 376 0 0 0-69.2 6.2c-14.5 2.7-35.4 8.9-37.7 14.7v-2.8c1.4-4 16.6-10.3 37.3-14.3 19-3.7 43.3-6.2 69.7-6.2m-.6-46.2c39.3-.2 73.6 5.5 89.3 13.5l5.7 10c-13.6-7.4-50.6-15-94.9-14-36.1.3-74.7 4-94 14.4l6.8-11.4c15.9-8.3 53.3-12.5 87.1-12.5" />
19
+ <path d="M256 176.7a354 354 0 0 1 61.3 4.3c16 3 31.3 7.4 33.5 9.8l1.7 3c-5.3-3.4-18.6-7.3-35.6-10.5s-38.7-4.3-61-4.2c-25.3-.1-45 1.2-61.8 4.2a109 109 0 0 0-33.3 10.3l1.7-3.1c6-3 15.3-6.7 31.1-9.6 17.5-3.2 37.4-4.1 62.4-4.2m0-9c21.4-.2 42.6 1 59.1 4a96 96 0 0 1 30.6 10l2.5 4c-4.2-4.7-20-9.2-34.1-11.6-16.4-2.9-36.7-4-58.1-4.2a361 361 0 0 0-59.5 4.4 97 97 0 0 0-29.6 9.1l2.2-3.3c5.8-3 15.2-5.8 27-8.1a357 357 0 0 1 59.9-4.4zM308.4 284a276 276 0 0 0-52.5-4c-65.5.8-86.6 13.5-89.2 17.3l-5-8c16.8-12 52.4-18.8 94.6-18.2q32.9.5 56.6 5l-4.5 8" />
20
+ <path d="M255.6 278.9c18.2.3 36 1 53.3 4.2l-1.2 2.2c-16-3-33.2-4-52-4-24.3-.2-48.7 2.1-70 8.2-6.7 1.9-17.8 6.2-19 9.8l-1.2-2c.4-2.2 7-6.6 19.6-10 24.4-7 47.2-8.3 70.5-8.4m.8-9.2a327 327 0 0 1 57.3 5l-1.3 2.3a299 299 0 0 0-56-4.9c-24.2 0-49.9 1.8-73.3 8.6-7.5 2.2-20.6 7-21 10.7l-1.2-2.2c.2-3.4 11.5-7.9 21.7-10.8 23.5-6.9 49.3-8.6 73.8-8.7" />
21
+ <path d="m349.4 290.5-7.8 12.3-22.7-20.1-58.6-39.5-66.2-36.3-34.3-11.7 7.3-13.6 2.5-1.3 21.3 5.3 70.4 36.3 40.6 25.6L336 272l13.9 16z" />
22
+ <path d="M158.6 195.5c6-4 50.2 15.6 96.6 43.6 46.1 28 90.3 59.6 86.3 65.5l-1.3 2.1-.6.5c.1-.1.8-1 0-3.1-2-6.5-33.4-31.5-85.3-62.9-50.7-30.1-92.9-48.3-97-43.1zM351 290.4c3.8-7.6-37.2-38.5-88.1-68.6-52-29.5-89.6-46.9-96.5-41.7L165 183l.4-.5c1.2-1 3.3-1 4.2-1 11.8.2 45.5 15.7 92.8 42.8 20.8 12 87.6 55 87.3 67 0 1 .1 1.2-.3 1.8l1.7-2.6z" />
23
+ </g>
24
+ <g transform="translate(0 26.7)scale(1.06667)">
25
+ <path fill="#fff" stroke="#000" stroke-width=".7" d="M180.6 211a59 59 0 0 0 17.5 41.7 59 59 0 0 0 41.8 17.6 59 59 0 0 0 42-17.4 59 59 0 0 0 17.4-41.8v-79.2l-118.7-.2z" />
26
+ <path fill="red" stroke="#000" stroke-width=".5" d="M183 211.1a56 56 0 0 0 16.8 40 57 57 0 0 0 40.2 16.8 57 57 0 0 0 40.2-16.6 56 56 0 0 0 16.7-40v-77H183v76.8m91-53.7v48.9l-.1 5.1a33 33 0 0 1-10 24 34 34 0 0 1-24 10c-9.4 0-17.7-4-23.9-10.2a34 34 0 0 1-10-24v-54z" />
27
+ <g id="pt-e">
28
+ <g id="pt-d" fill="#ff0" stroke="#000" stroke-width=".5">
29
+ <path stroke="none" d="M190.2 154.4c.1-5.5 4-6.8 4-6.8.1 0 4.3 1.4 4.3 6.9z" />
30
+ <path d="m186.8 147.7-.7 6.3h4.2c0-5.2 4-6 4-6 .1 0 4 1.1 4.1 6h4.2l-.8-6.4zm-1 6.4h17q.5 0 .6.7 0 .8-.6.8h-17q-.5 0-.6-.8 0-.7.7-.7z" />
31
+ <path d="M192 154c0-3.3 2.3-4.2 2.3-4.2s2.3 1 2.3 4.2H192m-5.8-9h16.3q.5.1.6.8 0 .5-.6.6h-16.3q-.5 0-.6-.7 0-.5.6-.6zm.4 1.5H202q.5 0 .6.7t-.6.7h-15.5q-.6 0-.6-.7t.6-.7zm5-10.6h1.2v.8h.9v-.8h1.3v.9h.9v-1h1.2v2q0 .6-.5.6h-4.4q-.5 0-.6-.5zm4.6 2.7.3 6.4h-4.3l.3-6.5h3.7" />
32
+ <path id="pt-a" d="M191 141.6v3.4h-4v-3.4z" />
33
+ <use xlink:href="#pt-a" width="100%" height="100%" x="10.6" />
34
+ <path id="pt-b" d="M186.3 139h1.2v1h.9v-1h1.2v1h.9v-1h1.2v2q0 .6-.5.6h-4.3l-.6-.6z" />
35
+ <use xlink:href="#pt-b" width="100%" height="100%" x="10.6" />
36
+ <path fill="#000001" stroke="none" d="M193.9 140.6c0-.6.9-.6.9 0v1.6h-.9z" />
37
+ <path id="pt-c" fill="#000001" stroke="none" d="M188.6 142.8c0-.6.8-.6.8 0v1.2h-.8z" />
38
+ <use xlink:href="#pt-c" width="100%" height="100%" x="10.6" />
39
+ </g>
40
+ <use xlink:href="#pt-d" width="100%" height="100%" y="46.3" />
41
+ <use xlink:href="#pt-d" width="100%" height="100%" transform="rotate(-45.2 312.8 180)" />
42
+ </g>
43
+ <use xlink:href="#pt-d" width="100%" height="100%" x="45.7" />
44
+ <use xlink:href="#pt-e" width="100%" height="100%" transform="matrix(-1 0 0 1 479.8 0)" />
45
+ <g id="pt-f" fill="#fff">
46
+ <path fill="#039" d="M232.6 202.4a8 8 0 0 0 2.2 5.7 7 7 0 0 0 5.3 2.4q3.2-.2 5.3-2.4a8 8 0 0 0 2.2-5.7v-10.8h-15z" />
47
+ <circle cx="236.1" cy="195.7" r="1.5" />
48
+ <circle cx="244.4" cy="195.7" r="1.5" />
49
+ <circle cx="240.2" cy="199.7" r="1.5" />
50
+ <circle cx="236.1" cy="203.9" r="1.5" />
51
+ <circle cx="244.4" cy="203.9" r="1.5" />
52
+ </g>
53
+ <use xlink:href="#pt-f" width="100%" height="100%" y="-26" />
54
+ <use xlink:href="#pt-f" width="100%" height="100%" x="-20.8" />
55
+ <use xlink:href="#pt-f" width="100%" height="100%" x="20.8" />
56
+ <use xlink:href="#pt-f" width="100%" height="100%" y="25.8" />
57
+ </g>
58
+ </svg>
59
+ </template>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480" aria-hidden="true" focusable="false">
3
+ <path fill="#fff" d="M0 0h640v160H0z" />
4
+ <path fill="#0039a6" d="M0 160h640v160H0z" />
5
+ <path fill="#d52b1e" d="M0 320h640v160H0z" />
6
+ </svg>
7
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 500" aria-hidden="true" focusable="false">
3
+ <rect width="750" height="500" fill="#c60b1e" />
4
+ <rect y="125" width="750" height="250" fill="#ffc400" />
5
+ </svg>
6
+ </template>
@@ -7,4 +7,4 @@ export { default as ItalianFlag } from './flags/ItalianFlag.vue';
7
7
  export { default as ChineseFlag } from './flags/ChineseFlag.vue';
8
8
  export { default as JapaneseFlag } from './flags/JapaneseFlag.vue';
9
9
  export { default as RussianFlag } from './flags/RussianFlag.vue';
10
- export { default as SpanishFlag } from './flags/SpanishFlag.vue';
10
+ export { default as SpanishFlag } from './flags/SpanishFlag.vue';
@@ -0,0 +1,154 @@
1
+ <script setup lang="ts">
2
+ import type { Component, PropType } from 'vue';
3
+ import { computed, defineAsyncComponent, ref } from 'vue';
4
+ import { useI18n } from 'vue-i18n';
5
+ import { Tick02Icon } from '@hugeicons/core-free-icons';
6
+ import { HugeiconsIcon } from '@hugeicons/vue';
7
+ import { Button } from '../ui/button';
8
+ import { Command, CommandGroup, CommandItem, CommandList } from '../ui/command';
9
+ import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
10
+
11
+ export type LanguageSelectorCode = string;
12
+
13
+ // Single source of truth for supported language codes, labels, and flag loaders
14
+ const supportedLanguages = [
15
+ { code: 'en', label: 'English', loadFlag: () => import('../language-flag/flags/EnglishFlag.vue') },
16
+ { code: 'it', label: 'Italiano', loadFlag: () => import('../language-flag/flags/ItalianFlag.vue') },
17
+ { code: 'fr', label: 'Francais', loadFlag: () => import('../language-flag/flags/FrenchFlag.vue') },
18
+ { code: 'es', label: 'Espanol', loadFlag: () => import('../language-flag/flags/SpanishFlag.vue') },
19
+ { code: 'de', label: 'Deutsch', loadFlag: () => import('../language-flag/flags/GermanFlag.vue') },
20
+ { code: 'pt', label: 'Portugues', loadFlag: () => import('../language-flag/flags/PortugueseFlag.vue') },
21
+ { code: 'zh', label: '中文', loadFlag: () => import('../language-flag/flags/ChineseFlag.vue') },
22
+ { code: 'ja', label: '日本語', loadFlag: () => import('../language-flag/flags/JapaneseFlag.vue') },
23
+ { code: 'ru', label: 'Русский', loadFlag: () => import('../language-flag/flags/RussianFlag.vue') }
24
+ ] as const;
25
+
26
+ type SupportedLanguage = (typeof supportedLanguages)[number];
27
+ type SupportedLanguageCode = SupportedLanguage['code'];
28
+ const asyncFlagComponentCache = new Map<SupportedLanguageCode, Component>();
29
+
30
+ // Type guard to ensure a code is one of the supported flag codes
31
+ const isSupportedLanguageCode = (code: string): code is SupportedLanguageCode => {
32
+ return supportedLanguages.some((language) => language.code === code);
33
+ };
34
+
35
+ // Get the supported language object for a given code
36
+ const getSupportedLanguage = (code: SupportedLanguageCode) => {
37
+ return supportedLanguages.find((language) => language.code === code)!;
38
+ };
39
+
40
+ // Load and cache the async component for a given supported language code
41
+ const getAsyncFlagComponent = (code: SupportedLanguageCode) => {
42
+ // Check cache first
43
+ const cachedComponent = asyncFlagComponentCache.get(code);
44
+ if (cachedComponent) {
45
+ return cachedComponent;
46
+ }
47
+
48
+ // Load the async component and cache it
49
+ const asyncComponent = defineAsyncComponent(getSupportedLanguage(code).loadFlag);
50
+ asyncFlagComponentCache.set(code, asyncComponent);
51
+ return asyncComponent;
52
+ };
53
+
54
+ // Props
55
+ const props = defineProps({
56
+ modelValue: { type: String, default: '' },
57
+ languages: {
58
+ type: Array as PropType<LanguageSelectorCode[]>,
59
+ default: () => ['en', 'it']
60
+ }
61
+ });
62
+
63
+ // Emits
64
+ const emits = defineEmits<{
65
+ 'update:modelValue': [value: string];
66
+ select: [value: string];
67
+ }>();
68
+
69
+ const { locale, t } = useI18n();
70
+ const isOpen = ref(false);
71
+
72
+ // Build localized language labels from the provided language codes
73
+ const languageDisplayNames = computed(() => {
74
+ return typeof Intl.DisplayNames === 'function' ? new Intl.DisplayNames([locale.value], { type: 'language' }) : null;
75
+ });
76
+
77
+ // Get the display label for a given language code
78
+ const getLanguageLabel = (code: string) => {
79
+ const normalizedCode = code.toLowerCase();
80
+ const languageCode = normalizedCode.split('-')[0];
81
+ const supportedLanguage = isSupportedLanguageCode(languageCode) ? getSupportedLanguage(languageCode) : null;
82
+ return supportedLanguage?.label || languageDisplayNames.value?.of(languageCode) || code.toUpperCase();
83
+ };
84
+
85
+ // Normalize languages to pair each language code with its label
86
+ const normalizedLanguages = computed(() => {
87
+ return props.languages.map(code => ({
88
+ code,
89
+ label: getLanguageLabel(code)
90
+ }));
91
+ });
92
+
93
+ // Compute the available flag codes based on the provided language list
94
+ const availableFlagCodes = computed<SupportedLanguageCode[]>(() => {
95
+ // Extract supported language codes from the normalized list
96
+ const supportedCodes = normalizedLanguages.value.map(language => language.code).filter(isSupportedLanguageCode);
97
+ if (supportedCodes.length > 0) {
98
+ return [...new Set(supportedCodes)];
99
+ }
100
+
101
+ // If no valid codes are provided, default to English
102
+ return ['en'];
103
+ });
104
+
105
+ // Resolve the flag component for a specific code, falling back to the first available code
106
+ const resolveFlagComponent = (code?: string) => {
107
+ const isValid = code && isSupportedLanguageCode(code) && availableFlagCodes.value.includes(code);
108
+ const resolvedCode = isValid ? code : availableFlagCodes.value[0];
109
+ return getAsyncFlagComponent(resolvedCode);
110
+ };
111
+
112
+ // Get the currently selected language based on modelValue
113
+ const currentLanguage = computed(() => {
114
+ return normalizedLanguages.value.find(language => language.code === props.modelValue) || normalizedLanguages.value[0] || null;
115
+ });
116
+
117
+ // Resolve the async flag component for the currently selected language
118
+ const currentFlagComponent = computed(() => {
119
+ return currentLanguage.value ? resolveFlagComponent(currentLanguage.value.code) : null;
120
+ });
121
+
122
+ // Handle language selection
123
+ const handleSelectLanguage = (language: string) => {
124
+ emits('update:modelValue', language);
125
+ emits('select', language);
126
+ isOpen.value = false;
127
+ };
128
+ </script>
129
+
130
+ <template>
131
+ <Popover v-model:open="isOpen">
132
+ <!-- Trigger button showing the current language flag -->
133
+ <PopoverTrigger as-child>
134
+ <Button variant="secondary" size="icon" :aria-label="t('uiVintage.language.ariaLabel')">
135
+ <component :is="currentFlagComponent" v-if="currentFlagComponent" class="h-4 w-[1.35rem] rounded-[2px]" />
136
+ </Button>
137
+ </PopoverTrigger>
138
+
139
+ <!-- Popover content with language options -->
140
+ <PopoverContent side="bottom" align="end" :side-offset="8" class="w-44 !p-0">
141
+ <Command :model-value="props.modelValue">
142
+ <CommandList>
143
+ <CommandGroup :heading="t('uiVintage.language.title')">
144
+ <CommandItem v-for="option in normalizedLanguages" :key="option.code" :value="option.code" @select="handleSelectLanguage(option.code)">
145
+ <component :is="resolveFlagComponent(option.code)" class="h-4 w-[1.35rem] rounded-[2px]" />
146
+ <span class="flex-1">{{ option.label }}</span>
147
+ <HugeiconsIcon :icon="Tick02Icon" class="ml-auto size-4 shrink-0" :class="props.modelValue === option.code ? 'opacity-100' : 'opacity-0'" />
148
+ </CommandItem>
149
+ </CommandGroup>
150
+ </CommandList>
151
+ </Command>
152
+ </PopoverContent>
153
+ </Popover>
154
+ </template>
@@ -1,3 +1,3 @@
1
1
  export { default } from './LanguageSelector.vue';
2
2
  export { default as LanguageSelector } from './LanguageSelector.vue';
3
- export type { LanguageSelectorCode } from './LanguageSelector.vue';
3
+ export type { LanguageSelectorCode } from './LanguageSelector.vue';
@@ -0,0 +1,44 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue';
3
+ import { useI18n } from 'vue-i18n';
4
+ import { ArrowDown01Icon, RefreshIcon } from '@hugeicons/core-free-icons';
5
+ import { HugeiconsIcon } from '@hugeicons/vue';
6
+ import { Button } from '../ui/button';
7
+
8
+ const props = defineProps({
9
+ busy: { type: Boolean, default: false },
10
+ text: { type: String, default: '' },
11
+ loadingText: { type: String, default: '' }
12
+ });
13
+
14
+ const emits = defineEmits(['load-more']);
15
+
16
+ const { t } = useI18n();
17
+
18
+ const resolvedText = computed(() => props.text || t('uiVintage.buttons.loadMore') || 'Load more');
19
+ const resolvedLoadingText = computed(() => props.loadingText || t('uiVintage.buttons.loading') || 'Loading');
20
+
21
+ const handleClick = () => {
22
+ emits('load-more');
23
+ };
24
+ </script>
25
+
26
+ <template>
27
+ <div class="flex justify-center">
28
+ <Button v-if="props.busy"
29
+ variant="secondary"
30
+ class="w-full md:w-auto"
31
+ :disabled="true">
32
+ <HugeiconsIcon :icon="RefreshIcon" class="size-4 animate-spin" />
33
+ {{ resolvedLoadingText }}
34
+ </Button>
35
+
36
+ <Button v-else
37
+ variant="secondary"
38
+ class="w-full md:w-auto"
39
+ @click="handleClick">
40
+ <HugeiconsIcon :icon="ArrowDown01Icon" class="size-4" />
41
+ {{ resolvedText }}
42
+ </Button>
43
+ </div>
44
+ </template>
@@ -1,2 +1,2 @@
1
1
  export { default } from './LoadMoreButton.vue';
2
- export { default as LoadMoreButton } from './LoadMoreButton.vue';
2
+ export { default as LoadMoreButton } from './LoadMoreButton.vue';
@@ -0,0 +1,43 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue';
3
+ import { useI18n } from 'vue-i18n';
4
+ import { Loading03Icon } from '@hugeicons/core-free-icons';
5
+ import { HugeiconsIcon } from '@hugeicons/vue';
6
+ import { Card, CardContent } from '../ui/card';
7
+
8
+ // Props
9
+ const props = defineProps({
10
+ icon: { type: [Object, Array], default: () => Loading03Icon },
11
+ title: { type: String, default: '' },
12
+ description: { type: String, default: '' }
13
+ });
14
+
15
+ const { t } = useI18n();
16
+
17
+ const resolvedTitle = computed(() => props.title || t('uiVintage.common.loading.title') || 'Loading...');
18
+ const resolvedDescription = computed(() => props.description || t('uiVintage.common.loading.description') || 'Please wait a moment while we load the content.');
19
+ </script>
20
+
21
+ <template>
22
+ <Card class="flex flex-col items-center justify-center px-4 py-8 text-center md:py-12">
23
+ <CardContent class="flex flex-col items-center justify-center !p-0 text-center">
24
+ <!-- Loading spinner icon -->
25
+ <div class="flex items-center justify-center text-4xl text-[var(--text-secondary-light)] opacity-60 dark:text-[var(--text-secondary-dark)]">
26
+ <HugeiconsIcon :icon="props.icon" class="size-10 animate-spin" />
27
+ </div>
28
+
29
+ <!-- Title -->
30
+ <h3 v-if="resolvedTitle" class="text-sm font-bold text-[var(--text-primary-light)] dark:text-[var(--text-primary-dark)] md:text-lg">
31
+ {{ resolvedTitle }}
32
+ </h3>
33
+
34
+ <!-- Description -->
35
+ <p v-if="resolvedDescription" class="max-w-md text-xs text-[var(--text-secondary-light)] dark:text-[var(--text-secondary-dark)] md:text-sm">
36
+ {{ resolvedDescription }}
37
+ </p>
38
+
39
+ <!-- Slot for additional content -->
40
+ <slot />
41
+ </CardContent>
42
+ </Card>
43
+ </template>
@@ -1,2 +1,2 @@
1
1
  export { default } from './LoadingStateCard.vue';
2
- export { default as LoadingStateCard } from './LoadingStateCard.vue';
2
+ export { default as LoadingStateCard } from './LoadingStateCard.vue';
@@ -0,0 +1,101 @@
1
+ <script setup lang="ts">
2
+ import { HugeiconsIcon } from "@hugeicons/vue";
3
+ import { computed } from "vue";
4
+ import { AlertCircleIcon, InformationCircleIcon, Tick02Icon } from "@hugeicons/core-free-icons";
5
+ import { AlertDialog, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from "../ui/alert-dialog";
6
+ import { Button } from "../ui/button";
7
+ import { getUiVintageRuntimeMessage } from "../../lib/i18n";
8
+ import { closeMessageDialog, messageDialogState, resolveActiveMessageDialog } from "./message-dialog-state";
9
+
10
+ // Active dialog state
11
+ const currentDialog = computed(() => messageDialogState.current);
12
+
13
+ // Resolve the title
14
+ const resolvedTitle = computed(() => {
15
+ const current = currentDialog.value;
16
+ if (!current) return '';
17
+ return current.options.title || getUiVintageRuntimeMessage(`uiVintage.messageDialog.${current.options.type}`, '');
18
+ });
19
+
20
+ // Resolve the close button text
21
+ const resolvedCloseText = computed(() => {
22
+ const current = currentDialog.value;
23
+ if (!current) return getUiVintageRuntimeMessage('uiVintage.buttons.close', 'Close');
24
+ return current.options.closeText || getUiVintageRuntimeMessage('uiVintage.buttons.close', 'Close');
25
+ });
26
+
27
+ // Resolved fallback icon for the current message type
28
+ const defaultMessageIcon = computed(() => {
29
+ const current = currentDialog.value;
30
+ if (!current) return InformationCircleIcon;
31
+ if (current.options.type === "error" || current.options.type === "warning") return AlertCircleIcon;
32
+ if (current.options.type === "success") return Tick02Icon;
33
+ return InformationCircleIcon;
34
+ });
35
+
36
+ // Resolved container classes for the message icon
37
+ const messageIconClasses = computed(() => {
38
+ const current = currentDialog.value;
39
+ if (!current) return "border-[var(--border)] bg-[var(--bg-surface-light)] dark:bg-[var(--bg-surface-dark)]";
40
+ if (current.options.type === "error") return "border-red-200 bg-red-50 dark:border-red-900/50 dark:bg-red-950/30";
41
+ if (current.options.type === "warning") return "border-amber-200 bg-amber-50 dark:border-amber-900/50 dark:bg-amber-950/30";
42
+ if (current.options.type === "success") return "border-green-200 bg-green-50 dark:border-green-900/50 dark:bg-green-950/30";
43
+ return "border-[var(--border)] bg-[var(--bg-surface-light)] dark:bg-[var(--bg-surface-dark)]";
44
+ });
45
+
46
+ // Resolved glyph color classes
47
+ const messageGlyphClasses = computed(() => {
48
+ const current = currentDialog.value;
49
+ if (!current) return "text-blue-600";
50
+ if (current.options.type === "error") return "text-red-600";
51
+ if (current.options.type === "warning") return "text-amber-600";
52
+ if (current.options.type === "success") return "text-green-600";
53
+ return "text-blue-600";
54
+ });
55
+
56
+ // Close the dialog when the shell requests it
57
+ const handleOpenChange = (open: boolean) => {
58
+ if (!open) {
59
+ closeMessageDialog();
60
+ }
61
+ };
62
+ </script>
63
+
64
+ <template>
65
+ <!-- Dialog shell -->
66
+ <AlertDialog :open="messageDialogState.isOpen" @update:open="handleOpenChange">
67
+ <!-- Dialog content -->
68
+ <AlertDialogContent v-if="currentDialog">
69
+ <div class="px-5 pb-5 pt-5 sm:px-6 sm:pb-4 sm:pt-6">
70
+ <div class="flex flex-col gap-4 sm:flex-row sm:items-start">
71
+ <!-- Dialog icon -->
72
+ <div class="flex size-12 shrink-0 self-center items-center justify-center rounded border sm:size-10 sm:self-start" :class="messageIconClasses">
73
+ <HugeiconsIcon v-if="currentDialog.options.icon" :icon="currentDialog.options.icon" :stroke-width="1.8" class="size-6" :class="messageGlyphClasses" />
74
+ <HugeiconsIcon v-else :icon="defaultMessageIcon" :stroke-width="1.8" class="size-6" :class="messageGlyphClasses" />
75
+ </div>
76
+
77
+ <!-- Dialog header -->
78
+ <AlertDialogHeader class="sm:pt-0">
79
+ <!-- Title -->
80
+ <AlertDialogTitle>
81
+ {{ resolvedTitle }}
82
+ </AlertDialogTitle>
83
+
84
+ <!-- Message -->
85
+ <AlertDialogDescription>
86
+ {{ currentDialog.options.message }}
87
+ </AlertDialogDescription>
88
+ </AlertDialogHeader>
89
+ </div>
90
+ </div>
91
+
92
+ <!-- Dialog actions -->
93
+ <AlertDialogFooter class="items-end">
94
+ <Button variant="secondary" :disabled="messageDialogState.busy" @click="resolveActiveMessageDialog">
95
+ <HugeiconsIcon v-if="currentDialog.options.closeButtonIcon" :icon="currentDialog.options.closeButtonIcon" class="size-4" />
96
+ {{ resolvedCloseText }}
97
+ </Button>
98
+ </AlertDialogFooter>
99
+ </AlertDialogContent>
100
+ </AlertDialog>
101
+ </template>
@@ -0,0 +1,11 @@
1
+ export { default as MessageDialog } from "./MessageDialog.vue";
2
+ export {
3
+ closeMessageDialog,
4
+ messageDialogState,
5
+ resolveActiveMessageDialog,
6
+ showMessageDialog
7
+ } from "./message-dialog-state";
8
+ export type {
9
+ DialogMessageType,
10
+ ShowMessageDialogOptions
11
+ } from "./message-dialog-state";
@@ -0,0 +1,168 @@
1
+ import { h, markRaw, reactive, render } from "vue";
2
+
3
+ export type DialogMessageType = "error" | "success" | "info" | "warning";
4
+ export type HugeiconsIconDefinition = readonly (readonly [string, { readonly [key: string]: string | number }])[];
5
+
6
+ export interface ShowMessageDialogOptions {
7
+ type?: DialogMessageType;
8
+ title?: string;
9
+ message: string;
10
+ closeText?: string;
11
+ icon?: HugeiconsIconDefinition | null;
12
+ closeButtonIcon?: HugeiconsIconDefinition | null;
13
+ }
14
+
15
+ interface MessageDialogRequest {
16
+ id: number;
17
+ options: Omit<ShowMessageDialogOptions, "icon" | "closeButtonIcon"> & {
18
+ icon: HugeiconsIconDefinition | null;
19
+ closeButtonIcon: HugeiconsIconDefinition | null;
20
+ };
21
+ resolve: () => void;
22
+ }
23
+
24
+ interface MessageDialogState {
25
+ current: MessageDialogRequest | null;
26
+ busy: boolean;
27
+ isOpen: boolean;
28
+ }
29
+
30
+ const messageDialogQueue: MessageDialogRequest[] = [];
31
+ let nextMessageDialogId = 0;
32
+ const DIALOG_CLOSE_DURATION_MS = 300;
33
+ let closeTimer: ReturnType<typeof setTimeout> | null = null;
34
+ let messageDialogMountPromise: Promise<void> | null = null;
35
+
36
+ const MESSAGE_DIALOG_ROOT_ID = "ui-vintage-message-dialog-root";
37
+
38
+ // Shared message dialog state
39
+ export const messageDialogState: MessageDialogState = reactive({
40
+ current: null,
41
+ busy: false,
42
+ isOpen: false
43
+ });
44
+
45
+ // Keep icon definitions non-reactive
46
+ const markIcon = (icon: HugeiconsIconDefinition | null | undefined) => icon ? markRaw(icon) : null;
47
+
48
+ // Mount the dialog once on demand
49
+ const ensureMessageDialogMounted = () => {
50
+ // Skip mounting during SSR
51
+ if (typeof document === "undefined") {
52
+ return Promise.resolve();
53
+ }
54
+
55
+ // Reuse the existing mount root
56
+ const existingRoot = document.getElementById(MESSAGE_DIALOG_ROOT_ID);
57
+ if (existingRoot) {
58
+ return Promise.resolve();
59
+ }
60
+
61
+ // Reuse the in-flight mount
62
+ if (messageDialogMountPromise) {
63
+ return messageDialogMountPromise;
64
+ }
65
+
66
+ // Start the lazy mount
67
+ messageDialogMountPromise = (async () => {
68
+ // Load the component only when needed
69
+ const { default: MessageDialog } = await import("./MessageDialog.vue");
70
+
71
+ // Guard against a concurrent mount
72
+ if (document.getElementById(MESSAGE_DIALOG_ROOT_ID)) {
73
+ return;
74
+ }
75
+
76
+ // Create the host element and render the component
77
+ const container = document.createElement("div");
78
+ container.id = MESSAGE_DIALOG_ROOT_ID;
79
+ document.body.appendChild(container);
80
+ render(h(MessageDialog), container);
81
+ })().finally(() => {
82
+ messageDialogMountPromise = null;
83
+ });
84
+
85
+ // Let callers await the mount
86
+ return messageDialogMountPromise;
87
+ };
88
+
89
+ // Show the next queued dialog
90
+ const openNextMessageDialog = () => {
91
+ const nextDialog = messageDialogQueue.shift() ?? null;
92
+ messageDialogState.current = nextDialog;
93
+ messageDialogState.isOpen = Boolean(nextDialog);
94
+ };
95
+
96
+ // Queue a new dialog request
97
+ const enqueueMessageDialog = (request: MessageDialogRequest) => {
98
+ messageDialogQueue.push(request);
99
+ if (!messageDialogState.current) {
100
+ openNextMessageDialog();
101
+ }
102
+ };
103
+
104
+ // Clear the active dialog and continue the queue
105
+ const clearCurrentMessageDialog = () => {
106
+ messageDialogState.busy = false;
107
+ messageDialogState.isOpen = false;
108
+ messageDialogState.current = null;
109
+ openNextMessageDialog();
110
+ };
111
+
112
+ // Close the current dialog after the leave transition
113
+ const scheduleCloseCurrentMessageDialog = () => {
114
+ // Guard against missing or already closing dialogs
115
+ if (!messageDialogState.current || !messageDialogState.isOpen) {
116
+ return;
117
+ }
118
+
119
+ // Start the close transition
120
+ messageDialogState.isOpen = false;
121
+ if (closeTimer) {
122
+ clearTimeout(closeTimer);
123
+ }
124
+
125
+ // Schedule the dialog to be cleared after the transition
126
+ closeTimer = setTimeout(() => {
127
+ closeTimer = null;
128
+ clearCurrentMessageDialog();
129
+ }, DIALOG_CLOSE_DURATION_MS);
130
+ };
131
+
132
+ // Resolve the dialog as closed
133
+ export const closeMessageDialog = () => {
134
+ const current = messageDialogState.current;
135
+ if (!current || !messageDialogState.isOpen) return;
136
+ current.resolve();
137
+ scheduleCloseCurrentMessageDialog();
138
+ };
139
+
140
+ // Resolve the active message dialog
141
+ export const resolveActiveMessageDialog = () => {
142
+ const current = messageDialogState.current;
143
+ if (!current || messageDialogState.busy) return;
144
+ current.resolve();
145
+ scheduleCloseCurrentMessageDialog();
146
+ };
147
+
148
+ // Queue and show a message dialog
149
+ export const showMessageDialog = (options: ShowMessageDialogOptions) => {
150
+ // Ensure the renderer exists before queuing work
151
+ void ensureMessageDialogMounted();
152
+
153
+ // Return a promise that resolves when the dialog is closed
154
+ return new Promise<void>((resolve) => {
155
+ enqueueMessageDialog({
156
+ id: nextMessageDialogId += 1,
157
+ options: {
158
+ type: options.type ?? "info",
159
+ title: options.title ?? "",
160
+ message: options.message,
161
+ closeText: options.closeText ?? "",
162
+ icon: markIcon(options.icon),
163
+ closeButtonIcon: markIcon(options.closeButtonIcon)
164
+ },
165
+ resolve
166
+ });
167
+ });
168
+ };