@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.
- package/README.md +61 -51
- package/module.mjs +75 -0
- package/package.json +81 -272
- package/src/components/background-grid/BackgroundGrid.vue +5 -0
- package/src/components/background-grid/index.ts +2 -0
- package/src/components/blog/AllPostsSection.vue +46 -0
- package/src/components/blog/BlogFAQSection.vue +71 -0
- package/src/components/blog/BlogHeaderSection.vue +35 -0
- package/src/components/blog/BlogInfoSection.vue +70 -0
- package/src/components/blog/BlogSectionTitle.vue +12 -0
- package/src/components/blog/CategoriesList.vue +17 -0
- package/src/components/blog/CategoriesSection.vue +14 -0
- package/src/components/blog/CategoryCard.vue +34 -0
- package/src/components/blog/HeaderCarousel.vue +194 -0
- package/src/components/blog/PostCard.vue +56 -0
- package/src/components/blog/PostsList.vue +16 -0
- package/src/components/blog/SocialShareSidebar.vue +94 -0
- package/src/components/blog/TableOfContents.vue +114 -0
- package/{dist/components/blog/index.d.ts → src/components/blog/index.ts} +1 -1
- package/src/components/busy-indicator/BusyIndicator.vue +14 -0
- package/src/components/busy-indicator/busy-indicator-state.ts +88 -0
- package/src/components/busy-indicator/index.ts +3 -0
- package/src/components/card-grid/CardGrid.vue +47 -0
- package/src/components/card-grid/index.ts +2 -0
- package/src/components/chip/Chip.vue +40 -0
- package/src/components/chip/index.ts +2 -0
- package/src/components/confirm-dialog/ConfirmDialog.vue +60 -0
- package/src/components/confirm-dialog/confirm-dialog-state.ts +200 -0
- package/src/components/confirm-dialog/index.ts +12 -0
- package/src/components/content/BlogList.vue +60 -0
- package/src/components/content/BlogTable.vue +56 -0
- package/src/components/content/ProseHr.vue +26 -0
- package/{dist/components/content/index.d.ts → src/components/content/index.ts} +1 -1
- package/src/components/dashboard-shell/DashboardShell.vue +205 -0
- package/src/components/dashboard-shell/index.ts +2 -0
- package/src/components/data-list/DataList.vue +19 -0
- package/src/components/data-list/DataListItem.vue +17 -0
- package/src/components/data-list/DataListLabel.vue +17 -0
- package/src/components/data-list/DataListText.vue +17 -0
- package/src/components/data-list/DataListValue.vue +17 -0
- package/src/components/data-list/index.ts +5 -0
- package/src/components/empty-state-card/EmptyStateCard.vue +54 -0
- package/{dist/components/empty-state-card/index.d.ts → src/components/empty-state-card/index.ts} +1 -1
- package/src/components/error-page/ErrorPage.vue +118 -0
- package/src/components/error-page/index.ts +2 -0
- package/src/components/info-card/InfoCard.vue +42 -0
- package/src/components/info-card/index.ts +2 -0
- package/src/components/landing/index.ts +6 -0
- package/src/components/landing/landing-content/LandingContent.vue +17 -0
- package/src/components/landing/landing-content/index.ts +2 -0
- package/src/components/landing/landing-footer/LandingFooter.vue +151 -0
- package/src/components/landing/landing-footer/index.ts +3 -0
- package/src/components/landing/landing-navbar/LandingNavbar.vue +48 -0
- package/src/components/landing/landing-navbar/index.ts +2 -0
- package/src/components/landing/landing-shell/LandingShell.vue +58 -0
- package/src/components/landing/landing-shell/index.ts +2 -0
- package/src/components/language-flag/LanguageFlag.vue +54 -0
- package/src/components/language-flag/flags/ChineseFlag.vue +10 -0
- package/src/components/language-flag/flags/EnglishFlag.vue +9 -0
- package/src/components/language-flag/flags/FrenchFlag.vue +7 -0
- package/src/components/language-flag/flags/GermanFlag.vue +7 -0
- package/src/components/language-flag/flags/ItalianFlag.vue +9 -0
- package/src/components/language-flag/flags/JapaneseFlag.vue +6 -0
- package/src/components/language-flag/flags/PortugueseFlag.vue +59 -0
- package/src/components/language-flag/flags/RussianFlag.vue +7 -0
- package/src/components/language-flag/flags/SpanishFlag.vue +6 -0
- package/{dist/components/language-flag/index.d.ts → src/components/language-flag/index.ts} +1 -1
- package/src/components/language-selector/LanguageSelector.vue +154 -0
- package/{dist/components/language-selector/index.d.ts → src/components/language-selector/index.ts} +1 -1
- package/src/components/load-more-button/LoadMoreButton.vue +44 -0
- package/{dist/components/load-more-button/index.d.ts → src/components/load-more-button/index.ts} +1 -1
- package/src/components/loading-state-card/LoadingStateCard.vue +43 -0
- package/{dist/components/loading-state-card/index.d.ts → src/components/loading-state-card/index.ts} +1 -1
- package/src/components/message-dialog/MessageDialog.vue +101 -0
- package/src/components/message-dialog/index.ts +11 -0
- package/src/components/message-dialog/message-dialog-state.ts +168 -0
- package/src/components/message-toast/MessageToast.vue +75 -0
- package/src/components/message-toast/index.ts +9 -0
- package/src/components/message-toast/message-toast-state.ts +167 -0
- package/src/components/page-header/PageHeader.vue +52 -0
- package/src/components/page-header/index.ts +2 -0
- package/src/components/progress-component/ProgressComponent.vue +45 -0
- package/{dist/components/progress-component/index.d.ts → src/components/progress-component/index.ts} +1 -1
- package/src/components/single-value-card/SingleValueCard.vue +51 -0
- package/{dist/components/single-value-card/index.d.ts → src/components/single-value-card/index.ts} +1 -1
- package/src/components/slider-form-component/SliderFormComponent.vue +71 -0
- package/src/components/slider-form-component/index.ts +2 -0
- package/src/components/switch-form-component/SwitchFormComponent.vue +39 -0
- package/src/components/switch-form-component/index.ts +2 -0
- package/src/components/text-link/TextLink.vue +33 -0
- package/src/components/text-link/index.ts +2 -0
- package/src/components/theme-selector/ThemeSelector.vue +129 -0
- package/src/components/theme-selector/index.ts +2 -0
- package/src/components/ui/alert/Alert.vue +17 -0
- package/src/components/ui/alert/AlertDescription.vue +14 -0
- package/src/components/ui/alert/AlertTitle.vue +14 -0
- package/src/components/ui/alert/index.ts +15 -0
- package/src/components/ui/alert-dialog/AlertDialog.vue +15 -0
- package/src/components/ui/alert-dialog/AlertDialogAction.vue +18 -0
- package/src/components/ui/alert-dialog/AlertDialogCancel.vue +22 -0
- package/src/components/ui/alert-dialog/AlertDialogContent.vue +36 -0
- package/src/components/ui/alert-dialog/AlertDialogDescription.vue +19 -0
- package/src/components/ui/alert-dialog/AlertDialogFooter.vue +18 -0
- package/src/components/ui/alert-dialog/AlertDialogHeader.vue +14 -0
- package/src/components/ui/alert-dialog/AlertDialogTitle.vue +17 -0
- package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
- package/src/components/ui/alert-dialog/index.ts +9 -0
- package/src/components/ui/badge/Badge.vue +26 -0
- package/src/components/ui/badge/index.ts +1 -0
- package/src/components/ui/breadcrumb/Breadcrumb.vue +17 -0
- package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +24 -0
- package/src/components/ui/breadcrumb/BreadcrumbItem.vue +17 -0
- package/src/components/ui/breadcrumb/BreadcrumbLink.vue +21 -0
- package/src/components/ui/breadcrumb/BreadcrumbList.vue +17 -0
- package/src/components/ui/breadcrumb/BreadcrumbPage.vue +20 -0
- package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +23 -0
- package/src/components/ui/breadcrumb/index.ts +7 -0
- package/src/components/ui/busy/Busy.vue +45 -0
- package/src/components/ui/busy/index.ts +1 -0
- package/src/components/ui/button/Button.vue +24 -0
- package/src/components/ui/button/index.ts +41 -0
- package/src/components/ui/calendar/Calendar.vue +139 -0
- package/src/components/ui/calendar/CalendarCell.vue +23 -0
- package/src/components/ui/calendar/CalendarCellTrigger.vue +39 -0
- package/src/components/ui/calendar/CalendarGrid.vue +23 -0
- package/src/components/ui/calendar/CalendarGridBody.vue +15 -0
- package/src/components/ui/calendar/CalendarGridHead.vue +16 -0
- package/src/components/ui/calendar/CalendarGridRow.vue +22 -0
- package/src/components/ui/calendar/CalendarHeadCell.vue +23 -0
- package/src/components/ui/calendar/CalendarHeader.vue +23 -0
- package/src/components/ui/calendar/CalendarHeading.vue +30 -0
- package/src/components/ui/calendar/CalendarNextButton.vue +32 -0
- package/src/components/ui/calendar/CalendarPrevButton.vue +32 -0
- package/src/components/ui/calendar/index.ts +14 -0
- package/src/components/ui/card/Card.vue +31 -0
- package/src/components/ui/card/CardAction.vue +14 -0
- package/src/components/ui/card/CardContent.vue +14 -0
- package/src/components/ui/card/CardDescription.vue +14 -0
- package/src/components/ui/card/CardFooter.vue +14 -0
- package/src/components/ui/card/CardHeader.vue +14 -0
- package/src/components/ui/card/CardText.vue +14 -0
- package/src/components/ui/card/CardTitle.vue +14 -0
- package/src/components/ui/card/index.ts +8 -0
- package/src/components/ui/command/Command.vue +83 -0
- package/src/components/ui/command/CommandDialog.vue +31 -0
- package/src/components/ui/command/CommandEmpty.vue +27 -0
- package/src/components/ui/command/CommandGroup.vue +47 -0
- package/src/components/ui/command/CommandInput.vue +31 -0
- package/src/components/ui/command/CommandItem.vue +76 -0
- package/src/components/ui/command/CommandList.vue +25 -0
- package/src/components/ui/command/CommandSeparator.vue +17 -0
- package/src/components/ui/command/CommandShortcut.vue +14 -0
- package/src/components/ui/command/index.ts +25 -0
- package/src/components/ui/date-picker/DatePicker.vue +67 -0
- package/src/components/ui/date-picker/index.ts +2 -0
- package/src/components/ui/date-time-picker/DateTimePicker.vue +170 -0
- package/{dist/components/ui/date-time-picker/index.d.ts → src/components/ui/date-time-picker/index.ts} +2 -2
- package/src/components/ui/dialog/Dialog.vue +15 -0
- package/src/components/ui/dialog/DialogClose.vue +15 -0
- package/src/components/ui/dialog/DialogContent.vue +54 -0
- package/src/components/ui/dialog/DialogDescription.vue +19 -0
- package/src/components/ui/dialog/DialogFooter.vue +18 -0
- package/src/components/ui/dialog/DialogHeader.vue +14 -0
- package/src/components/ui/dialog/DialogOverlay.vue +17 -0
- package/src/components/ui/dialog/DialogScrollContent.vue +57 -0
- package/src/components/ui/dialog/DialogTitle.vue +19 -0
- package/src/components/ui/dialog/DialogTrigger.vue +12 -0
- package/src/components/ui/dialog/index.ts +10 -0
- package/src/components/ui/field/Field.vue +20 -0
- package/src/components/ui/field/FieldContent.vue +17 -0
- package/src/components/ui/field/FieldDescription.vue +19 -0
- package/src/components/ui/field/FieldError.vue +48 -0
- package/src/components/ui/field/FieldGroup.vue +17 -0
- package/src/components/ui/field/FieldLabel.vue +20 -0
- package/src/components/ui/field/FieldLegend.vue +20 -0
- package/src/components/ui/field/FieldSeparator.vue +21 -0
- package/src/components/ui/field/FieldSet.vue +18 -0
- package/src/components/ui/field/FieldTitle.vue +17 -0
- package/src/components/ui/field/index.ts +41 -0
- package/src/components/ui/input/Input.vue +29 -0
- package/src/components/ui/input/index.ts +1 -0
- package/src/components/ui/label/Label.vue +21 -0
- package/src/components/ui/label/index.ts +1 -0
- package/src/components/ui/native-select/NativeSelect.vue +52 -0
- package/src/components/ui/native-select/NativeSelectOptGroup.vue +12 -0
- package/src/components/ui/native-select/NativeSelectOption.vue +12 -0
- package/src/components/ui/native-select/index.ts +3 -0
- package/src/components/ui/popover/Popover.vue +15 -0
- package/src/components/ui/popover/PopoverAnchor.vue +12 -0
- package/src/components/ui/popover/PopoverContent.vue +40 -0
- package/src/components/ui/popover/PopoverTrigger.vue +12 -0
- package/src/components/ui/popover/index.ts +4 -0
- package/src/components/ui/progress/Progress.vue +38 -0
- package/src/components/ui/progress/index.ts +1 -0
- package/src/components/ui/scroll-area/ScrollArea.vue +33 -0
- package/src/components/ui/scroll-area/ScrollBar.vue +32 -0
- package/src/components/ui/scroll-area/index.ts +2 -0
- package/src/components/ui/select/Select.vue +15 -0
- package/src/components/ui/select/SelectContent.vue +50 -0
- package/src/components/ui/select/SelectGroup.vue +12 -0
- package/src/components/ui/select/SelectItem.vue +50 -0
- package/src/components/ui/select/SelectItemContent.vue +40 -0
- package/src/components/ui/select/SelectItemText.vue +12 -0
- package/src/components/ui/select/SelectLabel.vue +14 -0
- package/src/components/ui/select/SelectScrollDownButton.vue +23 -0
- package/src/components/ui/select/SelectScrollUpButton.vue +23 -0
- package/src/components/ui/select/SelectSeparator.vue +15 -0
- package/src/components/ui/select/SelectTrigger.vue +31 -0
- package/src/components/ui/select/SelectValue.vue +12 -0
- package/src/components/ui/select/SelectValueContent.vue +44 -0
- package/src/components/ui/select/index.ts +13 -0
- package/src/components/ui/separator/Separator.vue +24 -0
- package/src/components/ui/separator/index.ts +1 -0
- package/src/components/ui/sheet/Sheet.vue +15 -0
- package/src/components/ui/sheet/SheetClose.vue +12 -0
- package/src/components/ui/sheet/SheetContent.vue +49 -0
- package/src/components/ui/sheet/SheetDescription.vue +17 -0
- package/src/components/ui/sheet/SheetFooter.vue +12 -0
- package/src/components/ui/sheet/SheetHeader.vue +12 -0
- package/src/components/ui/sheet/SheetOverlay.vue +17 -0
- package/src/components/ui/sheet/SheetTitle.vue +17 -0
- package/src/components/ui/sheet/SheetTrigger.vue +12 -0
- package/src/components/ui/sheet/index.ts +8 -0
- package/src/components/ui/sidebar/Sidebar.vue +77 -0
- package/src/components/ui/sidebar/SidebarContent.vue +14 -0
- package/src/components/ui/sidebar/SidebarFooter.vue +14 -0
- package/src/components/ui/sidebar/SidebarGroup.vue +14 -0
- package/src/components/ui/sidebar/SidebarGroupAction.vue +21 -0
- package/src/components/ui/sidebar/SidebarGroupContent.vue +14 -0
- package/src/components/ui/sidebar/SidebarGroupLabel.vue +19 -0
- package/src/components/ui/sidebar/SidebarHeader.vue +14 -0
- package/src/components/ui/sidebar/SidebarInput.vue +18 -0
- package/src/components/ui/sidebar/SidebarInset.vue +18 -0
- package/src/components/ui/sidebar/SidebarMenu.vue +14 -0
- package/src/components/ui/sidebar/SidebarMenuAction.vue +30 -0
- package/src/components/ui/sidebar/SidebarMenuBadge.vue +23 -0
- package/src/components/ui/sidebar/SidebarMenuButton.vue +44 -0
- package/src/components/ui/sidebar/SidebarMenuButtonChild.vue +27 -0
- package/src/components/ui/sidebar/SidebarMenuItem.vue +14 -0
- package/src/components/ui/sidebar/SidebarMenuSkeleton.vue +20 -0
- package/src/components/ui/sidebar/SidebarMenuSub.vue +18 -0
- package/src/components/ui/sidebar/SidebarMenuSubButton.vue +28 -0
- package/src/components/ui/sidebar/SidebarMenuSubItem.vue +14 -0
- package/src/components/ui/sidebar/SidebarProvider.vue +79 -0
- package/src/components/ui/sidebar/SidebarRail.vue +25 -0
- package/src/components/ui/sidebar/SidebarSeparator.vue +15 -0
- package/src/components/ui/sidebar/SidebarTrigger.vue +21 -0
- package/src/components/ui/sidebar/index.ts +64 -0
- package/src/components/ui/sidebar/utils.ts +19 -0
- package/src/components/ui/skeleton/Skeleton.vue +14 -0
- package/src/components/ui/skeleton/index.ts +1 -0
- package/src/components/ui/slider/Slider.vue +27 -0
- package/src/components/ui/slider/index.ts +1 -0
- package/src/components/ui/switch/Switch.vue +30 -0
- package/src/components/ui/switch/index.ts +1 -0
- package/src/components/ui/table/Table.vue +16 -0
- package/src/components/ui/table/TableBody.vue +17 -0
- package/src/components/ui/table/TableCaption.vue +17 -0
- package/src/components/ui/table/TableCell.vue +22 -0
- package/src/components/ui/table/TableEmpty.vue +34 -0
- package/src/components/ui/table/TableFooter.vue +17 -0
- package/src/components/ui/table/TableHead.vue +17 -0
- package/src/components/ui/table/TableHeader.vue +17 -0
- package/src/components/ui/table/TableRow.vue +17 -0
- package/src/components/ui/table/index.ts +9 -0
- package/src/components/ui/tabs/Tabs.vue +24 -0
- package/src/components/ui/tabs/TabsContent.vue +21 -0
- package/src/components/ui/tabs/TabsList.vue +24 -0
- package/src/components/ui/tabs/TabsTrigger.vue +26 -0
- package/src/components/ui/tabs/index.ts +4 -0
- package/src/components/ui/textarea/Textarea.vue +29 -0
- package/src/components/ui/textarea/index.ts +1 -0
- package/src/components/ui/time-picker/TimePicker.vue +56 -0
- package/src/components/ui/time-picker/index.ts +2 -0
- package/src/components/ui/tooltip/Tooltip.vue +15 -0
- package/src/components/ui/tooltip/TooltipContent.vue +30 -0
- package/src/components/ui/tooltip/TooltipProvider.vue +14 -0
- package/src/components/ui/tooltip/TooltipTrigger.vue +12 -0
- package/src/components/ui/tooltip/index.ts +4 -0
- package/{dist/i18n/de.json.d.ts → src/i18n/de.json} +2 -4
- package/{dist/i18n/en.json.d.ts → src/i18n/en.json} +2 -4
- package/{dist/i18n/es.json.d.ts → src/i18n/es.json} +2 -4
- package/{dist/i18n/fr.json.d.ts → src/i18n/fr.json} +2 -4
- package/{dist/i18n/it.json.d.ts → src/i18n/it.json} +2 -4
- package/{dist/i18n/ja.json.d.ts → src/i18n/ja.json} +2 -4
- package/{dist/i18n/pt.json.d.ts → src/i18n/pt.json} +2 -4
- package/{dist/i18n/ru.json.d.ts → src/i18n/ru.json} +2 -4
- package/{dist/i18n/zh.json.d.ts → src/i18n/zh.json} +2 -4
- package/src/lib/color-tokens.ts +51 -0
- package/src/lib/i18n.ts +85 -0
- package/src/lib/utils.ts +29 -0
- package/src/nuxt-components.d.ts +5 -0
- package/src/runtime/ui-vintage-i18n-plugin.js +48 -0
- package/src/shims-vue.d.ts +5 -0
- package/src/styles.css +224 -0
- package/dist/AlertDialogTitle.vue_vue_type_script_setup_true_lang-DhRDOi2d.js +0 -361
- package/dist/BackgroundGrid-BJDDcLzF.js +0 -13
- package/dist/Badge.vue_vue_type_script_setup_true_lang-DH_klSVA.js +0 -33
- package/dist/Busy-BOXgYrox.js +0 -55
- package/dist/BusyIndicator-D-4YHN2L.js +0 -4
- package/dist/CalendarPrevButton.vue_vue_type_script_setup_true_lang-C6OtvF0h.js +0 -3800
- package/dist/Card.vue_vue_type_script_setup_true_lang-CZhFtxSD.js +0 -30
- package/dist/CardContent.vue_vue_type_script_setup_true_lang-BxI0-dse.js +0 -22
- package/dist/CardFooter.vue_vue_type_script_setup_true_lang-LFjBZHcl.js +0 -22
- package/dist/CardText.vue_vue_type_script_setup_true_lang-zUPNe9HY.js +0 -22
- package/dist/ChineseFlag-CVrOCbRz.js +0 -18
- package/dist/Collection-4P3HQ4uU.js +0 -76
- package/dist/ConfigProvider-DYO65bNW.js +0 -6
- package/dist/ConfirmDialog-Zu4m9TY-.js +0 -4
- package/dist/DatePicker.vue_vue_type_script_setup_true_lang-CzMhKnrj.js +0 -88
- package/dist/DialogClose-DxCTEp0d.js +0 -36
- package/dist/DialogPortal-BiMJAKLg.js +0 -36
- package/dist/DialogTitle-jKgSCoXM.js +0 -526
- package/dist/DialogTitle.vue_vue_type_script_setup_true_lang-D0Ephm9c.js +0 -184
- package/dist/DialogTrigger-Cb3rLcid.js +0 -52
- package/dist/EmptyStateCard.vue_vue_type_script_setup_true_lang-CH3ODMDF.js +0 -59
- package/dist/EnglishFlag-BrpG8XMW.js +0 -18
- package/dist/FocusScope-mzbqk6Y_.js +0 -448
- package/dist/FrenchFlag-CUdQacS3.js +0 -35
- package/dist/GermanFlag-Bc1CeEHw.js +0 -35
- package/dist/HugeiconsIcon.vue-By2RXWWz.js +0 -111
- package/dist/Input.vue_vue_type_script_setup_true_lang-BGGOqKHs.js +0 -37
- package/dist/ItalianFlag-BAdg13z7.js +0 -34
- package/dist/JapaneseFlag-Dnd2ITzZ.js +0 -27
- package/dist/Label.vue_vue_type_script_setup_true_lang-BzD7wUHQ.js +0 -65
- package/dist/LandingContent.vue_vue_type_script_setup_true_lang-BySDoKff.js +0 -21
- package/dist/LandingFooter.vue_vue_type_script_setup_true_lang-D1_ZjIFj.js +0 -159
- package/dist/LandingNavbar.vue_vue_type_script_setup_true_lang-Cu_ksJtE.js +0 -63
- package/dist/LandingShell.vue_vue_type_script_setup_true_lang-D6n-hLum.js +0 -49
- package/dist/LoadMoreButton.vue_vue_type_script_setup_true_lang-Be0obsa3.js +0 -61
- package/dist/LoadingStateCard.vue_vue_type_script_setup_true_lang-CwCrRir_.js +0 -53
- package/dist/MessageDialog-ChS4d2qN.js +0 -4
- package/dist/MessageToast-CMvpwf2m.js +0 -79
- package/dist/NativeSelectOption.vue_vue_type_script_setup_true_lang-CcnlTqUN.js +0 -75
- package/dist/PopoverTrigger.vue_vue_type_script_setup_true_lang-Bu5YDhSO.js +0 -801
- package/dist/PopperContent-DUJ8a4i0.js +0 -2144
- package/dist/PortugueseFlag-DU2jEbaQ.js +0 -19
- package/dist/Presence-CTmUEdMR.js +0 -168
- package/dist/Primitive-D3IcFg81.js +0 -61
- package/dist/Progress.vue_vue_type_script_setup_true_lang-ZKUFAYop.js +0 -188
- package/dist/RussianFlag-Cnc4PHmq.js +0 -29
- package/dist/Separator-CFm_M4pb.js +0 -87
- package/dist/Separator.vue_vue_type_script_setup_true_lang-BDH2gelV.js +0 -29
- package/dist/SheetTitle.vue_vue_type_script_setup_true_lang-DZ-80X9J.js +0 -167
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-CK-Q0Oxk.js +0 -20
- package/dist/Slider.vue_vue_type_script_setup_true_lang-Cz1oQX11.js +0 -803
- package/dist/SpanishFlag-Dy-C9kGk.js +0 -28
- package/dist/Switch.vue_vue_type_script_setup_true_lang-BzUQzI2p.js +0 -227
- package/dist/TableHeader.vue_vue_type_script_setup_true_lang-BMHYThM4.js +0 -123
- package/dist/Teleport-DTOwRCqx.js +0 -315
- package/dist/TimePicker.vue_vue_type_script_setup_true_lang-C3Ww9XT5.js +0 -51
- package/dist/TooltipTrigger.vue_vue_type_script_setup_true_lang-CIBac9lA.js +0 -1120
- package/dist/VisuallyHidden-udQT2Fmo.js +0 -60
- package/dist/VisuallyHiddenInput-D5eipDQU.js +0 -142
- package/dist/_plugin-vue_export-helper-1tPrXgE0.js +0 -10
- package/dist/alert-dialog.js +0 -165
- package/dist/alert.js +0 -66
- package/dist/background-grid.js +0 -5
- package/dist/badge.js +0 -4
- package/dist/blog.js +0 -938
- package/dist/breadcrumb.js +0 -159
- package/dist/busy-indicator.js +0 -66
- package/dist/busy.js +0 -4
- package/dist/button.js +0 -67
- package/dist/calendar.js +0 -15
- package/dist/card-grid.js +0 -58
- package/dist/card.js +0 -84
- package/dist/chip.js +0 -47
- package/dist/clamp-D5Ye0kJT.js +0 -6
- package/dist/color-tokens-D9BviGPK.js +0 -40
- package/dist/command.js +0 -1099
- package/dist/components/background-grid/BackgroundGrid.vue.d.ts +0 -2
- package/dist/components/background-grid/index.d.ts +0 -2
- package/dist/components/busy-indicator/BusyIndicator.vue.d.ts +0 -2
- package/dist/components/busy-indicator/busy-indicator-state.d.ts +0 -15
- package/dist/components/busy-indicator/index.d.ts +0 -3
- package/dist/components/card-grid/CardGrid.vue.d.ts +0 -88
- package/dist/components/card-grid/index.d.ts +0 -2
- package/dist/components/chip/Chip.vue.d.ts +0 -17
- package/dist/components/chip/index.d.ts +0 -2
- package/dist/components/confirm-dialog/ConfirmDialog.vue.d.ts +0 -2
- package/dist/components/confirm-dialog/confirm-dialog-state.d.ts +0 -40
- package/dist/components/confirm-dialog/index.d.ts +0 -3
- package/dist/components/dashboard-shell/DashboardShell.vue.d.ts +0 -67
- package/dist/components/dashboard-shell/index.d.ts +0 -2
- package/dist/components/data-list/DataList.vue.d.ts +0 -21
- package/dist/components/data-list/DataListItem.vue.d.ts +0 -21
- package/dist/components/data-list/DataListLabel.vue.d.ts +0 -21
- package/dist/components/data-list/DataListText.vue.d.ts +0 -21
- package/dist/components/data-list/DataListValue.vue.d.ts +0 -21
- package/dist/components/data-list/index.d.ts +0 -5
- package/dist/components/empty-state-card/EmptyStateCard.vue.d.ts +0 -73
- package/dist/components/error-page/ErrorPage.vue.d.ts +0 -51
- package/dist/components/error-page/index.d.ts +0 -2
- package/dist/components/info-card/InfoCard.vue.d.ts +0 -46
- package/dist/components/info-card/index.d.ts +0 -2
- package/dist/components/landing/index.d.ts +0 -6
- package/dist/components/landing/landing-content/LandingContent.vue.d.ts +0 -21
- package/dist/components/landing/landing-content/index.d.ts +0 -2
- package/dist/components/landing/landing-footer/LandingFooter.vue.d.ts +0 -39
- package/dist/components/landing/landing-footer/index.d.ts +0 -3
- package/dist/components/landing/landing-navbar/LandingNavbar.vue.d.ts +0 -32
- package/dist/components/landing/landing-navbar/index.d.ts +0 -2
- package/dist/components/landing/landing-shell/LandingShell.vue.d.ts +0 -31
- package/dist/components/landing/landing-shell/index.d.ts +0 -2
- package/dist/components/language-flag/LanguageFlag.vue.d.ts +0 -14
- package/dist/components/language-flag/flags/ChineseFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/EnglishFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/FrenchFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/GermanFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/ItalianFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/JapaneseFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/PortugueseFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/RussianFlag.vue.d.ts +0 -2
- package/dist/components/language-flag/flags/SpanishFlag.vue.d.ts +0 -2
- package/dist/components/language-selector/LanguageSelector.vue.d.ts +0 -31
- package/dist/components/load-more-button/LoadMoreButton.vue.d.ts +0 -36
- package/dist/components/loading-state-card/LoadingStateCard.vue.d.ts +0 -55
- package/dist/components/message-dialog/MessageDialog.vue.d.ts +0 -2
- package/dist/components/message-dialog/index.d.ts +0 -3
- package/dist/components/message-dialog/message-dialog-state.d.ts +0 -30
- package/dist/components/message-toast/MessageToast.vue.d.ts +0 -2
- package/dist/components/message-toast/index.d.ts +0 -2
- package/dist/components/message-toast/message-toast-state.d.ts +0 -18
- package/dist/components/page-header/PageHeader.vue.d.ts +0 -48
- package/dist/components/page-header/index.d.ts +0 -2
- package/dist/components/progress-component/ProgressComponent.vue.d.ts +0 -47
- package/dist/components/single-value-card/SingleValueCard.vue.d.ts +0 -40
- package/dist/components/slider-form-component/SliderFormComponent.vue.d.ts +0 -23
- package/dist/components/slider-form-component/index.d.ts +0 -2
- package/dist/components/switch-form-component/SwitchFormComponent.vue.d.ts +0 -12
- package/dist/components/switch-form-component/index.d.ts +0 -2
- package/dist/components/text-link/TextLink.vue.d.ts +0 -35
- package/dist/components/text-link/index.d.ts +0 -2
- package/dist/components/theme-selector/ThemeSelector.vue.d.ts +0 -2
- package/dist/components/theme-selector/index.d.ts +0 -2
- package/dist/components/ui/alert/Alert.vue.d.ts +0 -23
- package/dist/components/ui/alert/AlertDescription.vue.d.ts +0 -21
- package/dist/components/ui/alert/AlertTitle.vue.d.ts +0 -21
- package/dist/components/ui/alert/index.d.ts +0 -9
- package/dist/components/ui/alert-dialog/AlertDialog.vue.d.ts +0 -25
- package/dist/components/ui/alert-dialog/AlertDialogAction.vue.d.ts +0 -22
- package/dist/components/ui/alert-dialog/AlertDialogCancel.vue.d.ts +0 -22
- package/dist/components/ui/alert-dialog/AlertDialogContent.vue.d.ts +0 -36
- package/dist/components/ui/alert-dialog/AlertDialogDescription.vue.d.ts +0 -22
- package/dist/components/ui/alert-dialog/AlertDialogFooter.vue.d.ts +0 -21
- package/dist/components/ui/alert-dialog/AlertDialogHeader.vue.d.ts +0 -21
- package/dist/components/ui/alert-dialog/AlertDialogTitle.vue.d.ts +0 -22
- package/dist/components/ui/alert-dialog/AlertDialogTrigger.vue.d.ts +0 -18
- package/dist/components/ui/alert-dialog/index.d.ts +0 -9
- package/dist/components/ui/badge/Badge.vue.d.ts +0 -16
- package/dist/components/ui/badge/index.d.ts +0 -1
- package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts +0 -21
- package/dist/components/ui/breadcrumb/BreadcrumbEllipsis.vue.d.ts +0 -21
- package/dist/components/ui/breadcrumb/BreadcrumbItem.vue.d.ts +0 -21
- package/dist/components/ui/breadcrumb/BreadcrumbLink.vue.d.ts +0 -24
- package/dist/components/ui/breadcrumb/BreadcrumbList.vue.d.ts +0 -21
- package/dist/components/ui/breadcrumb/BreadcrumbPage.vue.d.ts +0 -21
- package/dist/components/ui/breadcrumb/BreadcrumbSeparator.vue.d.ts +0 -21
- package/dist/components/ui/breadcrumb/index.d.ts +0 -7
- package/dist/components/ui/busy/Busy.vue.d.ts +0 -27
- package/dist/components/ui/busy/index.d.ts +0 -1
- package/dist/components/ui/button/Button.vue.d.ts +0 -27
- package/dist/components/ui/button/index.d.ts +0 -7
- package/dist/components/ui/calendar/Calendar.vue.d.ts +0 -44
- package/dist/components/ui/calendar/CalendarCell.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarCellTrigger.vue.d.ts +0 -24
- package/dist/components/ui/calendar/CalendarGrid.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarGridBody.vue.d.ts +0 -18
- package/dist/components/ui/calendar/CalendarGridHead.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarGridRow.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarHeadCell.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarHeader.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarHeading.vue.d.ts +0 -28
- package/dist/components/ui/calendar/CalendarNextButton.vue.d.ts +0 -22
- package/dist/components/ui/calendar/CalendarPrevButton.vue.d.ts +0 -22
- package/dist/components/ui/calendar/index.d.ts +0 -13
- package/dist/components/ui/card/Card.vue.d.ts +0 -24
- package/dist/components/ui/card/CardAction.vue.d.ts +0 -21
- package/dist/components/ui/card/CardContent.vue.d.ts +0 -21
- package/dist/components/ui/card/CardDescription.vue.d.ts +0 -21
- package/dist/components/ui/card/CardFooter.vue.d.ts +0 -21
- package/dist/components/ui/card/CardHeader.vue.d.ts +0 -21
- package/dist/components/ui/card/CardText.vue.d.ts +0 -21
- package/dist/components/ui/card/CardTitle.vue.d.ts +0 -21
- package/dist/components/ui/card/index.d.ts +0 -8
- package/dist/components/ui/command/Command.vue.d.ts +0 -40
- package/dist/components/ui/command/CommandDialog.vue.d.ts +0 -32
- package/dist/components/ui/command/CommandEmpty.vue.d.ts +0 -22
- package/dist/components/ui/command/CommandGroup.vue.d.ts +0 -23
- package/dist/components/ui/command/CommandInput.vue.d.ts +0 -7
- package/dist/components/ui/command/CommandItem.vue.d.ts +0 -30
- package/dist/components/ui/command/CommandList.vue.d.ts +0 -22
- package/dist/components/ui/command/CommandSeparator.vue.d.ts +0 -22
- package/dist/components/ui/command/CommandShortcut.vue.d.ts +0 -21
- package/dist/components/ui/command/index.d.ts +0 -90
- package/dist/components/ui/date-picker/DatePicker.vue.d.ts +0 -21
- package/dist/components/ui/date-picker/index.d.ts +0 -2
- package/dist/components/ui/date-time-picker/DateTimePicker.vue.d.ts +0 -27
- package/dist/components/ui/dialog/Dialog.vue.d.ts +0 -25
- package/dist/components/ui/dialog/DialogClose.vue.d.ts +0 -18
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -39
- package/dist/components/ui/dialog/DialogDescription.vue.d.ts +0 -22
- package/dist/components/ui/dialog/DialogFooter.vue.d.ts +0 -21
- package/dist/components/ui/dialog/DialogHeader.vue.d.ts +0 -21
- package/dist/components/ui/dialog/DialogOverlay.vue.d.ts +0 -22
- package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +0 -39
- package/dist/components/ui/dialog/DialogTitle.vue.d.ts +0 -22
- package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +0 -18
- package/dist/components/ui/dialog/index.d.ts +0 -10
- package/dist/components/ui/field/Field.vue.d.ts +0 -23
- package/dist/components/ui/field/FieldContent.vue.d.ts +0 -21
- package/dist/components/ui/field/FieldDescription.vue.d.ts +0 -21
- package/dist/components/ui/field/FieldError.vue.d.ts +0 -24
- package/dist/components/ui/field/FieldGroup.vue.d.ts +0 -21
- package/dist/components/ui/field/FieldLabel.vue.d.ts +0 -21
- package/dist/components/ui/field/FieldLegend.vue.d.ts +0 -22
- package/dist/components/ui/field/FieldSeparator.vue.d.ts +0 -21
- package/dist/components/ui/field/FieldSet.vue.d.ts +0 -21
- package/dist/components/ui/field/FieldTitle.vue.d.ts +0 -21
- package/dist/components/ui/field/index.d.ts +0 -15
- package/dist/components/ui/input/Input.vue.d.ts +0 -12
- package/dist/components/ui/input/index.d.ts +0 -1
- package/dist/components/ui/label/Label.vue.d.ts +0 -22
- package/dist/components/ui/label/index.d.ts +0 -1
- package/dist/components/ui/native-select/NativeSelect.vue.d.ts +0 -27
- package/dist/components/ui/native-select/NativeSelectOptGroup.vue.d.ts +0 -21
- package/dist/components/ui/native-select/NativeSelectOption.vue.d.ts +0 -21
- package/dist/components/ui/native-select/index.d.ts +0 -3
- package/dist/components/ui/popover/Popover.vue.d.ts +0 -25
- package/dist/components/ui/popover/PopoverAnchor.vue.d.ts +0 -18
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -39
- package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -18
- package/dist/components/ui/popover/index.d.ts +0 -4
- package/dist/components/ui/progress/Progress.vue.d.ts +0 -9
- package/dist/components/ui/progress/index.d.ts +0 -1
- package/dist/components/ui/scroll-area/ScrollArea.vue.d.ts +0 -22
- package/dist/components/ui/scroll-area/ScrollBar.vue.d.ts +0 -9
- package/dist/components/ui/scroll-area/index.d.ts +0 -2
- package/dist/components/ui/select/Select.vue.d.ts +0 -28
- package/dist/components/ui/select/SelectContent.vue.d.ts +0 -35
- package/dist/components/ui/select/SelectGroup.vue.d.ts +0 -18
- package/dist/components/ui/select/SelectItem.vue.d.ts +0 -24
- package/dist/components/ui/select/SelectItemContent.vue.d.ts +0 -15
- package/dist/components/ui/select/SelectItemText.vue.d.ts +0 -18
- package/dist/components/ui/select/SelectLabel.vue.d.ts +0 -22
- package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +0 -22
- package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +0 -22
- package/dist/components/ui/select/SelectSeparator.vue.d.ts +0 -7
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +0 -25
- package/dist/components/ui/select/SelectValue.vue.d.ts +0 -18
- package/dist/components/ui/select/SelectValueContent.vue.d.ts +0 -16
- package/dist/components/ui/select/index.d.ts +0 -13
- package/dist/components/ui/separator/Separator.vue.d.ts +0 -10
- package/dist/components/ui/separator/index.d.ts +0 -1
- package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -25
- package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -18
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -39
- package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -22
- package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -21
- package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -21
- package/dist/components/ui/sheet/SheetOverlay.vue.d.ts +0 -22
- package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -22
- package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -18
- package/dist/components/ui/sheet/index.d.ts +0 -8
- package/dist/components/ui/sidebar/Sidebar.vue.d.ts +0 -25
- package/dist/components/ui/sidebar/SidebarContent.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarFooter.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarGroup.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarGroupAction.vue.d.ts +0 -22
- package/dist/components/ui/sidebar/SidebarGroupContent.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarGroupLabel.vue.d.ts +0 -22
- package/dist/components/ui/sidebar/SidebarHeader.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarInput.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarInset.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarMenu.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarMenuAction.vue.d.ts +0 -25
- package/dist/components/ui/sidebar/SidebarMenuBadge.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarMenuButton.vue.d.ts +0 -27
- package/dist/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +0 -30
- package/dist/components/ui/sidebar/SidebarMenuItem.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarMenuSkeleton.vue.d.ts +0 -7
- package/dist/components/ui/sidebar/SidebarMenuSub.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarMenuSubButton.vue.d.ts +0 -27
- package/dist/components/ui/sidebar/SidebarMenuSubItem.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarProvider.vue.d.ts +0 -32
- package/dist/components/ui/sidebar/SidebarRail.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarSeparator.vue.d.ts +0 -21
- package/dist/components/ui/sidebar/SidebarTrigger.vue.d.ts +0 -6
- package/dist/components/ui/sidebar/index.d.ts +0 -38
- package/dist/components/ui/sidebar/utils.d.ts +0 -56
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +0 -6
- package/dist/components/ui/skeleton/index.d.ts +0 -1
- package/dist/components/ui/slider/Slider.vue.d.ts +0 -13
- package/dist/components/ui/slider/index.d.ts +0 -1
- package/dist/components/ui/switch/Switch.vue.d.ts +0 -29
- package/dist/components/ui/switch/index.d.ts +0 -1
- package/dist/components/ui/table/Table.vue.d.ts +0 -21
- package/dist/components/ui/table/TableBody.vue.d.ts +0 -21
- package/dist/components/ui/table/TableCaption.vue.d.ts +0 -21
- package/dist/components/ui/table/TableCell.vue.d.ts +0 -21
- package/dist/components/ui/table/TableEmpty.vue.d.ts +0 -24
- package/dist/components/ui/table/TableFooter.vue.d.ts +0 -21
- package/dist/components/ui/table/TableHead.vue.d.ts +0 -21
- package/dist/components/ui/table/TableHeader.vue.d.ts +0 -21
- package/dist/components/ui/table/TableRow.vue.d.ts +0 -21
- package/dist/components/ui/table/index.d.ts +0 -9
- package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -28
- package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -22
- package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -22
- package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -22
- package/dist/components/ui/tabs/index.d.ts +0 -4
- package/dist/components/ui/textarea/Textarea.vue.d.ts +0 -12
- package/dist/components/ui/textarea/index.d.ts +0 -1
- package/dist/components/ui/time-picker/TimePicker.vue.d.ts +0 -21
- package/dist/components/ui/time-picker/index.d.ts +0 -2
- package/dist/components/ui/tooltip/Tooltip.vue.d.ts +0 -24
- package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +0 -30
- package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +0 -20
- package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +0 -18
- package/dist/components/ui/tooltip/index.d.ts +0 -4
- package/dist/confirm-dialog.js +0 -228
- package/dist/content.js +0 -210
- package/dist/createContext-BabAT1K8.js +0 -19
- package/dist/dashboard-shell.js +0 -231
- package/dist/data-list.js +0 -97
- package/dist/date-picker.js +0 -5
- package/dist/date-time-picker.js +0 -140
- package/dist/dialog.js +0 -147
- package/dist/empty-state-card.js +0 -5
- package/dist/error-page.js +0 -115
- package/dist/field.js +0 -294
- package/dist/getActiveElement-Bmy6QsUb.js +0 -9
- package/dist/i18n.js +0 -778
- package/dist/index-DDJjWaIl.js +0 -363
- package/dist/index-DDurQzrB.js +0 -44
- package/dist/index-Dw56kNV0.js +0 -251
- package/dist/index.min-CUZWqaEQ.js +0 -32
- package/dist/info-card.js +0 -65
- package/dist/input.js +0 -4
- package/dist/label.js +0 -4
- package/dist/landing-content.js +0 -5
- package/dist/landing-footer.js +0 -5
- package/dist/landing-navbar.js +0 -5
- package/dist/landing-shell.js +0 -5
- package/dist/landing.js +0 -11
- package/dist/language-flag.js +0 -61
- package/dist/language-selector.js +0 -169
- package/dist/lib/color-tokens.d.ts +0 -6
- package/dist/lib/i18n.d.ts +0 -1417
- package/dist/lib/utils.d.ts +0 -3
- package/dist/load-more-button.js +0 -5
- package/dist/loading-state-card.js +0 -5
- package/dist/message-dialog.js +0 -226
- package/dist/message-toast.js +0 -103
- package/dist/native-select.js +0 -25
- package/dist/nullish-D3tMkl6i.js +0 -6
- package/dist/page-header.js +0 -57
- package/dist/popover.js +0 -65
- package/dist/progress-component.js +0 -51
- package/dist/progress.js +0 -4
- package/dist/scroll-area.js +0 -1080
- package/dist/select.js +0 -2222
- package/dist/separator.js +0 -4
- package/dist/sheet.js +0 -68
- package/dist/sidebar.js +0 -807
- package/dist/single-value-card.js +0 -64
- package/dist/skeleton.js +0 -4
- package/dist/slider-form-component.js +0 -60
- package/dist/slider.js +0 -4
- package/dist/style.css +0 -5705
- package/dist/style.d.ts +0 -0
- package/dist/style.js +0 -1
- package/dist/switch-form-component.js +0 -40
- package/dist/switch.js +0 -4
- package/dist/table.js +0 -82
- package/dist/tabs.js +0 -658
- package/dist/text-link.js +0 -39
- package/dist/textarea.js +0 -37
- package/dist/theme-selector.js +0 -159
- package/dist/time-picker.js +0 -5
- package/dist/tooltip.js +0 -32
- package/dist/useDirection-B2bMgzzV.js +0 -12
- package/dist/useFocusGuards-2C1jyYW5.js +0 -29
- package/dist/useFormControl-DZ4LnB9F.js +0 -11
- package/dist/useForwardExpose-BcX3VRdS.js +0 -58
- package/dist/useForwardPropsEmits-GlUGKcIz.js +0 -47
- package/dist/useId-CF6wz41D.js +0 -16
- package/dist/useKbd-JjFOu4f7.js +0 -41
- package/dist/useNonce-CWj1JlPB.js +0 -12
- package/dist/usePrimitiveElement-BCpwlakH.js +0 -16
- package/dist/useSize-DUgGY9t1.js +0 -51
- package/dist/useTypeahead-4RK0Emcv.js +0 -159
- package/dist/utils-DbR1EZn-.js +0 -16
- package/dist/utils-DbYZ4xaD.js +0 -3204
- package/dist/utils-hdwtyAF3.js +0 -44
- 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>
|
|
@@ -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>
|
|
@@ -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>
|
package/{dist/components/load-more-button/index.d.ts → src/components/load-more-button/index.ts}
RENAMED
|
@@ -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>
|
package/{dist/components/loading-state-card/index.d.ts → src/components/loading-state-card/index.ts}
RENAMED
|
@@ -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
|
+
};
|