@brumaombra/ui-vintage 0.6.8 → 0.7.3
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 +82 -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,94 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue';
|
|
3
|
+
import { useI18n } from 'vue-i18n';
|
|
4
|
+
import { Facebook01Icon, Linkedin01Icon, NewTwitterIcon, Share08Icon, TelegramIcon, WhatsappIcon } 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
|
+
title: { type: String, required: true },
|
|
11
|
+
url: { type: String, required: true }
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const { t } = useI18n();
|
|
15
|
+
|
|
16
|
+
// Social platforms config
|
|
17
|
+
const socialPlatforms = computed(() => {
|
|
18
|
+
const encodedUrl = encodeURIComponent(props.url);
|
|
19
|
+
const encodedTitle = encodeURIComponent(props.title);
|
|
20
|
+
|
|
21
|
+
return [{
|
|
22
|
+
name: 'facebook',
|
|
23
|
+
url: `https://www.facebook.com/sharer/sharer.php?u=${encodedUrl}`,
|
|
24
|
+
icon: Facebook01Icon,
|
|
25
|
+
color: 'bg-blue-700 hover:bg-blue-800',
|
|
26
|
+
label: t('uiVintage.blog.share.facebook')
|
|
27
|
+
}, {
|
|
28
|
+
name: 'twitter',
|
|
29
|
+
url: `https://twitter.com/intent/tweet?url=${encodedUrl}&text=${encodedTitle}`,
|
|
30
|
+
icon: NewTwitterIcon,
|
|
31
|
+
color: 'bg-black hover:bg-gray-800',
|
|
32
|
+
label: t('uiVintage.blog.share.x')
|
|
33
|
+
}, {
|
|
34
|
+
name: 'whatsapp',
|
|
35
|
+
url: `https://api.whatsapp.com/send?text=${encodedTitle}%20${encodedUrl}`,
|
|
36
|
+
icon: WhatsappIcon,
|
|
37
|
+
color: 'bg-green-500 hover:bg-green-600',
|
|
38
|
+
label: t('uiVintage.blog.share.whatsapp')
|
|
39
|
+
}, {
|
|
40
|
+
name: 'linkedin',
|
|
41
|
+
url: `https://www.linkedin.com/sharing/share-offsite/?url=${encodedUrl}`,
|
|
42
|
+
icon: Linkedin01Icon,
|
|
43
|
+
color: 'bg-blue-700 hover:bg-blue-800',
|
|
44
|
+
label: t('uiVintage.blog.share.linkedin')
|
|
45
|
+
}, {
|
|
46
|
+
name: 'telegram',
|
|
47
|
+
url: `https://t.me/share/url?url=${encodedUrl}&text=${encodedTitle}`,
|
|
48
|
+
icon: TelegramIcon,
|
|
49
|
+
color: 'bg-blue-400 hover:bg-blue-500',
|
|
50
|
+
label: t('uiVintage.blog.share.telegram')
|
|
51
|
+
}];
|
|
52
|
+
});
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<template>
|
|
56
|
+
<!-- Desktop sidebar on the right -->
|
|
57
|
+
<div class="fixed right-[calc(50%-600px)] top-[140px] z-10 hidden xl:block">
|
|
58
|
+
<Card class="!p-5 flex flex-col space-y-4 items-center">
|
|
59
|
+
<CardContent class="!p-0 gap-4 items-center">
|
|
60
|
+
<!-- Share icon -->
|
|
61
|
+
<HugeiconsIcon :icon="Share08Icon" class="size-5 text-[var(--text-secondary-light)] dark:text-[var(--text-secondary-dark)] mb-2" />
|
|
62
|
+
|
|
63
|
+
<!-- Social share links (desktop) -->
|
|
64
|
+
<template v-for="platform in socialPlatforms" :key="platform.name">
|
|
65
|
+
<NuxtLink :to="platform.url"
|
|
66
|
+
target="_blank"
|
|
67
|
+
rel="noopener noreferrer"
|
|
68
|
+
:aria-label="platform.label"
|
|
69
|
+
:class="['w-10 h-10 rounded flex items-center justify-center text-white transition-all duration-200 hover:opacity-80 hover:scale-105', platform.color]">
|
|
70
|
+
<HugeiconsIcon :icon="platform.icon" class="size-4" />
|
|
71
|
+
</NuxtLink>
|
|
72
|
+
</template>
|
|
73
|
+
</CardContent>
|
|
74
|
+
</Card>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<!-- Mobile view (floating bar at bottom) -->
|
|
78
|
+
<div class="fixed bottom-4 left-1/2 z-10 -translate-x-1/2 xl:hidden">
|
|
79
|
+
<Card class="!p-3 w-fit">
|
|
80
|
+
<CardContent class="!flex-row !p-0 items-center justify-center gap-3">
|
|
81
|
+
<!-- Social share links (mobile) -->
|
|
82
|
+
<template v-for="platform in socialPlatforms" :key="platform.name">
|
|
83
|
+
<NuxtLink :to="platform.url"
|
|
84
|
+
target="_blank"
|
|
85
|
+
rel="noopener noreferrer"
|
|
86
|
+
:aria-label="platform.label"
|
|
87
|
+
:class="['w-10 h-10 rounded flex items-center justify-center text-white transition-all duration-200 hover:opacity-80 hover:scale-105', platform.color]">
|
|
88
|
+
<HugeiconsIcon :icon="platform.icon" class="size-4" />
|
|
89
|
+
</NuxtLink>
|
|
90
|
+
</template>
|
|
91
|
+
</CardContent>
|
|
92
|
+
</Card>
|
|
93
|
+
</div>
|
|
94
|
+
</template>
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, ref } from 'vue';
|
|
3
|
+
import { useI18n } from 'vue-i18n';
|
|
4
|
+
import { ArrowDown01Icon, Bookmark01Icon } 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
|
+
content: { type: Object, required: true }
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
const { t } = useI18n();
|
|
14
|
+
const isExpanded = ref(false);
|
|
15
|
+
const contentBodyRef = ref(null);
|
|
16
|
+
|
|
17
|
+
// Create the headings list
|
|
18
|
+
const headings = computed(() => {
|
|
19
|
+
const tocLinks = props.content?.body?.toc?.links || props.content?.toc?.links || [];
|
|
20
|
+
|
|
21
|
+
// Recursive function to flatten the nested links
|
|
22
|
+
const flattenLinks = links => {
|
|
23
|
+
return links.flatMap(link => {
|
|
24
|
+
// Extract the current heading
|
|
25
|
+
const currentHeading = {
|
|
26
|
+
id: link.id,
|
|
27
|
+
text: link.text,
|
|
28
|
+
level: link.depth
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Recursively flatten the children links
|
|
32
|
+
const children = link.children?.length ? flattenLinks(link.children) : [];
|
|
33
|
+
return [currentHeading, ...children];
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Return the flattened list of headings
|
|
38
|
+
return flattenLinks(tocLinks).filter(heading => heading.id && heading.text && heading.level >= 2 && heading.level <= 3);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Smooth scroll to heading
|
|
42
|
+
const scrollToHeading = id => {
|
|
43
|
+
const element = document.getElementById(id);
|
|
44
|
+
if (element) {
|
|
45
|
+
element.scrollIntoView({
|
|
46
|
+
behavior: 'smooth',
|
|
47
|
+
block: 'start',
|
|
48
|
+
inline: 'nearest'
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Toggle expanded state
|
|
54
|
+
const toggleExpanded = () => {
|
|
55
|
+
isExpanded.value = !isExpanded.value;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// Get the current content height for the expand/collapse animation
|
|
59
|
+
const contentHeight = computed(() => {
|
|
60
|
+
return contentBodyRef.value?.scrollHeight ?? 0;
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// Get classes for heading button
|
|
64
|
+
const getHeadingButtonClasses = heading => {
|
|
65
|
+
// Base classes for all titles
|
|
66
|
+
const baseClasses = 'block w-full text-left px-0 py-2 md:px-3 md:py-2 rounded transition-all duration-200 hover:bg-[var(--bg-selected-light)] dark:hover:bg-[var(--bg-selected-dark)] cursor-pointer';
|
|
67
|
+
|
|
68
|
+
// Add classes based on heading level
|
|
69
|
+
let levelClasses = '';
|
|
70
|
+
if (heading.level === 2) {
|
|
71
|
+
levelClasses = 'text-[var(--text-primary-light)] dark:text-[var(--text-primary-dark)] font-semibold text-xs md:text-sm';
|
|
72
|
+
} else {
|
|
73
|
+
levelClasses = 'text-[var(--text-secondary-light)] dark:text-[var(--text-secondary-dark)] !pl-6 text-xs md:text-sm';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Return combined classes
|
|
77
|
+
return [baseClasses, levelClasses];
|
|
78
|
+
};
|
|
79
|
+
</script>
|
|
80
|
+
|
|
81
|
+
<template>
|
|
82
|
+
<Card v-if="headings.length > 0" class="!p-0 overflow-hidden">
|
|
83
|
+
<CardContent class="!p-0 gap-0">
|
|
84
|
+
<!-- Header -->
|
|
85
|
+
<button @click="toggleExpanded" class="flex items-center justify-between w-full p-5 gap-4 text-left cursor-pointer">
|
|
86
|
+
<div class="flex items-center gap-3 min-w-0">
|
|
87
|
+
<!-- Icon -->
|
|
88
|
+
<div class="flex items-center justify-center w-8 h-8 md:!w-10 md:!h-10 bg-[var(--bg-card-light)] dark:bg-[var(--bg-card-dark)] border border-[var(--border-light)] dark:border-[var(--border-dark)] rounded-none flex-shrink-0">
|
|
89
|
+
<HugeiconsIcon :icon="Bookmark01Icon" class="size-4 text-[var(--text-secondary-light)] dark:text-[var(--text-secondary-dark)]" />
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<!-- Title -->
|
|
93
|
+
<span class="text-sm md:!text-base font-semibold text-[var(--text-primary-light)] dark:text-[var(--text-primary-dark)]">
|
|
94
|
+
{{ t('uiVintage.blog.tableOfContents') }}
|
|
95
|
+
</span>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<!-- Expand/Collapse icon -->
|
|
99
|
+
<div class="flex-shrink-0 w-8 h-8 flex items-center justify-center rounded bg-[var(--bg-card-light)] dark:bg-[var(--bg-card-dark)] border border-[var(--border-light)] dark:border-[var(--border-dark)] transition-transform duration-300" :class="{ 'rotate-180': isExpanded }">
|
|
100
|
+
<HugeiconsIcon :icon="ArrowDown01Icon" class="size-4 text-[var(--text-secondary-light)] dark:text-[var(--text-secondary-dark)]" />
|
|
101
|
+
</div>
|
|
102
|
+
</button>
|
|
103
|
+
|
|
104
|
+
<!-- Table of contents list with smooth transition -->
|
|
105
|
+
<div class="overflow-hidden transition-[height,opacity] duration-300 ease-in-out" :style="{ height: isExpanded ? `${contentHeight}px` : '0px' }" :class="isExpanded ? 'opacity-100' : 'opacity-0'">
|
|
106
|
+
<nav ref="contentBodyRef" class="px-5 pb-5 space-y-1">
|
|
107
|
+
<button v-for="heading in headings" :key="heading.id" @click="scrollToHeading(heading.id)" :class="getHeadingButtonClasses(heading)">
|
|
108
|
+
{{ heading.text }}
|
|
109
|
+
</button>
|
|
110
|
+
</nav>
|
|
111
|
+
</div>
|
|
112
|
+
</CardContent>
|
|
113
|
+
</Card>
|
|
114
|
+
</template>
|
|
@@ -10,4 +10,4 @@ export { default as HeaderCarousel } from './HeaderCarousel.vue';
|
|
|
10
10
|
export { default as PostCard } from './PostCard.vue';
|
|
11
11
|
export { default as PostsList } from './PostsList.vue';
|
|
12
12
|
export { default as SocialShareSidebar } from './SocialShareSidebar.vue';
|
|
13
|
-
export { default as TableOfContents } from './TableOfContents.vue';
|
|
13
|
+
export { default as TableOfContents } from './TableOfContents.vue';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { Busy } from "../ui/busy";
|
|
3
|
+
import { busyIndicatorState } from "./busy-indicator-state";
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<!-- Busy overlay -->
|
|
8
|
+
<Busy
|
|
9
|
+
:show="busyIndicatorState.show"
|
|
10
|
+
:label="busyIndicatorState.label"
|
|
11
|
+
:class="busyIndicatorState.class"
|
|
12
|
+
:overlay-class="busyIndicatorState.overlayClass"
|
|
13
|
+
/>
|
|
14
|
+
</template>
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { h, reactive, render } from "vue";
|
|
2
|
+
import type { HTMLAttributes } from "vue";
|
|
3
|
+
|
|
4
|
+
export interface SetBusyOptions {
|
|
5
|
+
label?: string;
|
|
6
|
+
class?: HTMLAttributes["class"];
|
|
7
|
+
overlayClass?: HTMLAttributes["class"];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface BusyIndicatorState {
|
|
11
|
+
show: boolean;
|
|
12
|
+
label: string;
|
|
13
|
+
class: HTMLAttributes["class"];
|
|
14
|
+
overlayClass: HTMLAttributes["class"];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const BUSY_INDICATOR_ROOT_ID = "ui-vintage-busy-indicator-root";
|
|
18
|
+
|
|
19
|
+
let busyIndicatorMountPromise: Promise<void> | null = null;
|
|
20
|
+
|
|
21
|
+
// Shared busy state
|
|
22
|
+
export const busyIndicatorState: BusyIndicatorState = reactive({
|
|
23
|
+
show: false,
|
|
24
|
+
label: "Loading...",
|
|
25
|
+
class: undefined,
|
|
26
|
+
overlayClass: undefined
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// Mount the busy indicator once on demand
|
|
30
|
+
const ensureBusyIndicatorMounted = () => {
|
|
31
|
+
// Skip mounting during SSR
|
|
32
|
+
if (typeof document === "undefined") {
|
|
33
|
+
return Promise.resolve();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Reuse the existing mount root
|
|
37
|
+
const existingRoot = document.getElementById(BUSY_INDICATOR_ROOT_ID);
|
|
38
|
+
if (existingRoot) {
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Reuse the in-flight mount
|
|
43
|
+
if (busyIndicatorMountPromise) {
|
|
44
|
+
return busyIndicatorMountPromise;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Start the lazy mount
|
|
48
|
+
busyIndicatorMountPromise = (async () => {
|
|
49
|
+
// Load the component only when needed
|
|
50
|
+
const { default: BusyIndicator } = await import("./BusyIndicator.vue");
|
|
51
|
+
|
|
52
|
+
// Guard against a concurrent mount
|
|
53
|
+
if (document.getElementById(BUSY_INDICATOR_ROOT_ID)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Create the host element and render the component
|
|
58
|
+
const container = document.createElement("div");
|
|
59
|
+
container.id = BUSY_INDICATOR_ROOT_ID;
|
|
60
|
+
document.body.appendChild(container);
|
|
61
|
+
render(h(BusyIndicator), container);
|
|
62
|
+
})().finally(() => {
|
|
63
|
+
busyIndicatorMountPromise = null;
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Let callers await the mount
|
|
67
|
+
return busyIndicatorMountPromise;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// Toggle the global busy overlay
|
|
71
|
+
export const setBusy = (show: boolean, options: SetBusyOptions = {}) => {
|
|
72
|
+
// Prepare the overlay before showing it
|
|
73
|
+
if (show) {
|
|
74
|
+
busyIndicatorState.label = options.label ?? busyIndicatorState.label ?? "Loading...";
|
|
75
|
+
busyIndicatorState.class = options.class;
|
|
76
|
+
busyIndicatorState.overlayClass = options.overlayClass;
|
|
77
|
+
void ensureBusyIndicatorMounted();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Toggle the overlay visibility
|
|
81
|
+
busyIndicatorState.show = show;
|
|
82
|
+
|
|
83
|
+
// Reset transient styling after hiding
|
|
84
|
+
if (!show) {
|
|
85
|
+
busyIndicatorState.class = undefined;
|
|
86
|
+
busyIndicatorState.overlayClass = undefined;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { PackageIcon } from '@hugeicons/core-free-icons';
|
|
3
|
+
import { EmptyStateCard } from '../empty-state-card';
|
|
4
|
+
import { LoadMoreButton } from '../load-more-button';
|
|
5
|
+
import { LoadingStateCard } from '../loading-state-card';
|
|
6
|
+
|
|
7
|
+
// Props
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
items: { type: Array, default: () => [] },
|
|
10
|
+
busy: { type: Boolean, default: false },
|
|
11
|
+
loadMoreBusy: { type: Boolean, default: false },
|
|
12
|
+
hasMore: { type: Boolean, default: false },
|
|
13
|
+
emptyMessage: { type: String, required: true },
|
|
14
|
+
emptyIcon: { type: Object, default: () => PackageIcon }
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// Emits
|
|
18
|
+
const emits = defineEmits(['load-more']);
|
|
19
|
+
|
|
20
|
+
// Handle load more
|
|
21
|
+
const handleLoadMore = () => {
|
|
22
|
+
emits('load-more');
|
|
23
|
+
};
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<template>
|
|
27
|
+
<div>
|
|
28
|
+
<!-- Busy state for initial loading -->
|
|
29
|
+
<LoadingStateCard v-if="props.busy" />
|
|
30
|
+
|
|
31
|
+
<!-- Empty state -->
|
|
32
|
+
<EmptyStateCard v-else-if="!props.items || props.items.length === 0"
|
|
33
|
+
:description="props.emptyMessage"
|
|
34
|
+
:icon="props.emptyIcon" />
|
|
35
|
+
|
|
36
|
+
<!-- Cards grid -->
|
|
37
|
+
<div v-else class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6 xl:gap-4">
|
|
38
|
+
<slot name="card" v-for="item in props.items" :item="item" :key="(item as any).id" />
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<!-- Load more button -->
|
|
42
|
+
<div v-if="props.hasMore || (props.loadMoreBusy && props.items.length > 0)" class="flex justify-center mt-6">
|
|
43
|
+
<LoadMoreButton :busy="props.loadMoreBusy"
|
|
44
|
+
@load-more="handleLoadMore" />
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { Cancel01Icon } from "@hugeicons/core-free-icons"
|
|
3
|
+
import { HugeiconsIcon } from "@hugeicons/vue"
|
|
4
|
+
import type { HTMLAttributes } from "vue"
|
|
5
|
+
import { getSurfaceToneClasses, type ToneColor } from "../../lib/color-tokens"
|
|
6
|
+
import { cn } from "../../lib/utils"
|
|
7
|
+
|
|
8
|
+
// Props
|
|
9
|
+
const props = withDefaults(defineProps<{
|
|
10
|
+
text: string
|
|
11
|
+
color?: ToneColor
|
|
12
|
+
removeLabel?: string
|
|
13
|
+
class?: HTMLAttributes["class"]
|
|
14
|
+
}>(), {
|
|
15
|
+
color: "gray",
|
|
16
|
+
removeLabel: "Remove"
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
// Emits
|
|
20
|
+
const emits = defineEmits<{
|
|
21
|
+
remove: []
|
|
22
|
+
}>()
|
|
23
|
+
|
|
24
|
+
// Handle remove button click
|
|
25
|
+
const handleRemove = () => {
|
|
26
|
+
emits("remove")
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<div data-slot="chip" :class="cn('inline-flex items-center gap-2 rounded border px-3 py-2 text-sm font-semibold transition-colors duration-300 ease-in-out', getSurfaceToneClasses(props.color), props.class)">
|
|
32
|
+
<!-- Text content -->
|
|
33
|
+
<span class="leading-none">{{ props.text }}</span>
|
|
34
|
+
|
|
35
|
+
<!-- Remove button -->
|
|
36
|
+
<button type="button" :aria-label="props.removeLabel" class="inline-flex size-4 items-center justify-center rounded-sm opacity-70 transition-all duration-200 ease-in-out hover:bg-black/5 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-current/20 dark:hover:bg-white/10" @click="handleRemove">
|
|
37
|
+
<HugeiconsIcon :icon="Cancel01Icon" class="size-3" />
|
|
38
|
+
</button>
|
|
39
|
+
</div>
|
|
40
|
+
</template>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { HugeiconsIcon } from "@hugeicons/vue";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
import { InformationCircleIcon } 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 { cancelActiveConfirmDialog, closeConfirmDialog, confirmActiveDialog, confirmDialogState } from "./confirm-dialog-state";
|
|
8
|
+
|
|
9
|
+
const currentDialog = computed(() => confirmDialogState.current);
|
|
10
|
+
|
|
11
|
+
// Close the dialog when the shell requests it
|
|
12
|
+
const handleOpenChange = (open: boolean) => {
|
|
13
|
+
if (!open) {
|
|
14
|
+
closeConfirmDialog();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<!-- Dialog shell -->
|
|
21
|
+
<AlertDialog :open="confirmDialogState.isOpen" @update:open="handleOpenChange">
|
|
22
|
+
<!-- Dialog content -->
|
|
23
|
+
<AlertDialogContent v-if="currentDialog">
|
|
24
|
+
<div class="px-5 pb-5 pt-5 sm:px-6 sm:pb-4 sm:pt-6">
|
|
25
|
+
<div class="flex flex-col gap-4 sm:flex-row sm:items-start">
|
|
26
|
+
<!-- Dialog icon -->
|
|
27
|
+
<div class="flex size-12 shrink-0 self-center items-center justify-center rounded border border-[var(--border-light)] bg-[var(--bg-surface-light)] sm:size-10 sm:self-start dark:border-[var(--border-dark)] dark:bg-[var(--bg-surface-dark)]">
|
|
28
|
+
<HugeiconsIcon v-if="currentDialog.options.icon" :icon="currentDialog.options.icon" :stroke-width="1.8" class="size-6 text-[var(--button-primary-light)] dark:text-[var(--button-primary-dark)]" />
|
|
29
|
+
<HugeiconsIcon v-else :icon="InformationCircleIcon" :stroke-width="1.8" class="size-6 text-[var(--button-primary-light)] dark:text-[var(--button-primary-dark)]" />
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<!-- Dialog header -->
|
|
33
|
+
<AlertDialogHeader class="sm:pt-0">
|
|
34
|
+
<AlertDialogTitle>
|
|
35
|
+
{{ currentDialog.options.title }}
|
|
36
|
+
</AlertDialogTitle>
|
|
37
|
+
<AlertDialogDescription>
|
|
38
|
+
{{ currentDialog.options.message }}
|
|
39
|
+
</AlertDialogDescription>
|
|
40
|
+
</AlertDialogHeader>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<!-- Dialog actions -->
|
|
45
|
+
<AlertDialogFooter>
|
|
46
|
+
<!-- Cancel button -->
|
|
47
|
+
<Button :variant="currentDialog.options.cancelButtonType" :disabled="confirmDialogState.busy" @click="cancelActiveConfirmDialog">
|
|
48
|
+
<HugeiconsIcon v-if="currentDialog.options.cancelButtonIcon" :icon="currentDialog.options.cancelButtonIcon" class="size-4" />
|
|
49
|
+
{{ currentDialog.options.cancelText }}
|
|
50
|
+
</Button>
|
|
51
|
+
|
|
52
|
+
<!-- Confirm button -->
|
|
53
|
+
<Button :variant="currentDialog.options.confirmButtonType" :disabled="confirmDialogState.busy" @click="confirmActiveDialog">
|
|
54
|
+
<HugeiconsIcon v-if="currentDialog.options.confirmButtonIcon" :icon="currentDialog.options.confirmButtonIcon" class="size-4" />
|
|
55
|
+
{{ currentDialog.options.confirmText }}
|
|
56
|
+
</Button>
|
|
57
|
+
</AlertDialogFooter>
|
|
58
|
+
</AlertDialogContent>
|
|
59
|
+
</AlertDialog>
|
|
60
|
+
</template>
|