@matta-trade/ui 0.0.0-stage → 0.2.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/DESIGN.md +217 -0
- package/README.md +91 -2
- package/dist/alert/Alert.vue.d.ts +19 -0
- package/dist/alert/AlertDescription.vue.d.ts +17 -0
- package/dist/alert/AlertTitle.vue.d.ts +17 -0
- package/dist/alert/index.d.ts +8 -0
- package/dist/alert/index.js +62 -0
- package/dist/alert-dialog/AlertDialog.vue.d.ts +18 -0
- package/dist/alert-dialog/AlertDialogAction.vue.d.ts +18 -0
- package/dist/alert-dialog/AlertDialogCancel.vue.d.ts +18 -0
- package/dist/alert-dialog/AlertDialogContent.vue.d.ts +32 -0
- package/dist/alert-dialog/AlertDialogDescription.vue.d.ts +18 -0
- package/dist/alert-dialog/AlertDialogFooter.vue.d.ts +17 -0
- package/dist/alert-dialog/AlertDialogHeader.vue.d.ts +17 -0
- package/dist/alert-dialog/AlertDialogTitle.vue.d.ts +18 -0
- package/dist/alert-dialog/AlertDialogTrigger.vue.d.ts +14 -0
- package/dist/alert-dialog/index.d.ts +9 -0
- package/dist/alert-dialog/index.js +177 -0
- package/dist/avatar/Avatar.vue.d.ts +27 -0
- package/dist/avatar/AvatarFallback.vue.d.ts +18 -0
- package/dist/avatar/AvatarImage.vue.d.ts +14 -0
- package/dist/avatar/index.d.ts +9 -0
- package/dist/avatar/index.js +120 -0
- package/dist/avatar-colors.d.ts +51 -0
- package/dist/badge/Badge.vue.d.ts +20 -0
- package/dist/badge/index.d.ts +6 -0
- package/dist/badge/index.js +58 -0
- package/dist/breadcrumb/Breadcrumb.vue.d.ts +17 -0
- package/dist/breadcrumb/BreadcrumbEllipsis.vue.d.ts +17 -0
- package/dist/breadcrumb/BreadcrumbItem.vue.d.ts +17 -0
- package/dist/breadcrumb/BreadcrumbLink.vue.d.ts +20 -0
- package/dist/breadcrumb/BreadcrumbList.vue.d.ts +17 -0
- package/dist/breadcrumb/BreadcrumbPage.vue.d.ts +17 -0
- package/dist/breadcrumb/BreadcrumbSeparator.vue.d.ts +17 -0
- package/dist/breadcrumb/index.d.ts +7 -0
- package/dist/breadcrumb/index.js +131 -0
- package/dist/button/Button.vue.d.ts +36 -0
- package/dist/button/index.d.ts +7 -0
- package/dist/button/index.js +2 -0
- package/dist/button-group/ButtonGroup.vue.d.ts +19 -0
- package/dist/button-group/ButtonGroupSeparator.vue.d.ts +10 -0
- package/dist/button-group/ButtonGroupText.vue.d.ts +22 -0
- package/dist/button-group/index.d.ts +8 -0
- package/dist/button-group/index.js +92 -0
- package/dist/calendar/Calendar.vue.d.ts +14 -0
- package/dist/calendar/CalendarCell.vue.d.ts +18 -0
- package/dist/calendar/CalendarCellTrigger.vue.d.ts +18 -0
- package/dist/calendar/CalendarGrid.vue.d.ts +18 -0
- package/dist/calendar/CalendarGridBody.vue.d.ts +14 -0
- package/dist/calendar/CalendarGridHead.vue.d.ts +14 -0
- package/dist/calendar/CalendarGridRow.vue.d.ts +18 -0
- package/dist/calendar/CalendarHeadCell.vue.d.ts +18 -0
- package/dist/calendar/CalendarHeader.vue.d.ts +18 -0
- package/dist/calendar/CalendarHeading.vue.d.ts +19 -0
- package/dist/calendar/CalendarNextButton.vue.d.ts +18 -0
- package/dist/calendar/CalendarPrevButton.vue.d.ts +18 -0
- package/dist/calendar/index.d.ts +12 -0
- package/dist/calendar/index.js +303 -0
- package/dist/card/Card.vue.d.ts +17 -0
- package/dist/card/CardContent.vue.d.ts +17 -0
- package/dist/card/CardDescription.vue.d.ts +17 -0
- package/dist/card/CardFooter.vue.d.ts +17 -0
- package/dist/card/CardHeader.vue.d.ts +17 -0
- package/dist/card/CardTitle.vue.d.ts +17 -0
- package/dist/card/index.d.ts +6 -0
- package/dist/card/index.js +2 -0
- package/dist/chart/ChartCrosshair.vue.d.ts +13 -0
- package/dist/chart/ChartLegend.vue.d.ts +15 -0
- package/dist/chart/ChartSingleTooltip.vue.d.ts +12 -0
- package/dist/chart/ChartTooltip.vue.d.ts +11 -0
- package/dist/chart/index.d.ts +6 -0
- package/dist/chart/index.js +177 -0
- package/dist/chart/interface.d.ts +63 -0
- package/dist/checkbox/Checkbox.vue.d.ts +22 -0
- package/dist/checkbox/index.d.ts +1 -0
- package/dist/checkbox/index.js +43 -0
- package/dist/chunks/avatar-colors-CCGh54Ve.js +37 -0
- package/dist/chunks/button-DcaKfSRM.js +100 -0
- package/dist/chunks/card-B9Fm3-hL.js +85 -0
- package/dist/chunks/dialog-Df5vNbNz.js +196 -0
- package/dist/chunks/input-BgkMak31.js +44 -0
- package/dist/chunks/scroll-area-COtrGbKj.js +68 -0
- package/dist/chunks/separator-DAL7ppX1.js +31 -0
- package/dist/chunks/sheet-tX6r4wAA.js +150 -0
- package/dist/chunks/tooltip-C80qPEs9.js +102 -0
- package/dist/chunks/utils-CX-Pz5p6.js +8 -0
- package/dist/combobox/Combobox.vue.d.ts +29 -0
- package/dist/combobox/ComboboxAnchor.vue.d.ts +18 -0
- package/dist/combobox/ComboboxEmpty.vue.d.ts +18 -0
- package/dist/combobox/ComboboxGroup.vue.d.ts +19 -0
- package/dist/combobox/ComboboxInput.vue.d.ts +22 -0
- package/dist/combobox/ComboboxItem.vue.d.ts +22 -0
- package/dist/combobox/ComboboxList.vue.d.ts +32 -0
- package/dist/combobox/ComboboxSeparator.vue.d.ts +18 -0
- package/dist/combobox/ComboboxTrigger.vue.d.ts +18 -0
- package/dist/combobox/index.d.ts +10 -0
- package/dist/combobox/index.js +262 -0
- package/dist/command/Command.vue.d.ts +36 -0
- package/dist/command/CommandDialog.vue.d.ts +18 -0
- package/dist/command/CommandEmpty.vue.d.ts +18 -0
- package/dist/command/CommandGroup.vue.d.ts +19 -0
- package/dist/command/CommandInput.vue.d.ts +8 -0
- package/dist/command/CommandItem.vue.d.ts +22 -0
- package/dist/command/CommandList.vue.d.ts +18 -0
- package/dist/command/CommandSeparator.vue.d.ts +18 -0
- package/dist/command/CommandShortcut.vue.d.ts +17 -0
- package/dist/command/index.d.ts +90 -0
- package/dist/command/index.js +297 -0
- package/dist/dialog/Dialog.vue.d.ts +18 -0
- package/dist/dialog/DialogClose.vue.d.ts +14 -0
- package/dist/dialog/DialogContent.vue.d.ts +32 -0
- package/dist/dialog/DialogDescription.vue.d.ts +18 -0
- package/dist/dialog/DialogFooter.vue.d.ts +17 -0
- package/dist/dialog/DialogHeader.vue.d.ts +17 -0
- package/dist/dialog/DialogScrollContent.vue.d.ts +32 -0
- package/dist/dialog/DialogTitle.vue.d.ts +18 -0
- package/dist/dialog/DialogTrigger.vue.d.ts +14 -0
- package/dist/dialog/index.d.ts +9 -0
- package/dist/dialog/index.js +2 -0
- package/dist/drawer/Drawer.vue.d.ts +30 -0
- package/dist/drawer/DrawerContent.vue.d.ts +32 -0
- package/dist/drawer/DrawerDescription.vue.d.ts +18 -0
- package/dist/drawer/DrawerFooter.vue.d.ts +17 -0
- package/dist/drawer/DrawerHeader.vue.d.ts +17 -0
- package/dist/drawer/DrawerOverlay.vue.d.ts +8 -0
- package/dist/drawer/DrawerTitle.vue.d.ts +18 -0
- package/dist/drawer/index.d.ts +8 -0
- package/dist/drawer/index.js +166 -0
- package/dist/dropdown-menu/DropdownMenu.vue.d.ts +18 -0
- package/dist/dropdown-menu/DropdownMenuContent.vue.d.ts +32 -0
- package/dist/dropdown-menu/DropdownMenuItem.vue.d.ts +22 -0
- package/dist/dropdown-menu/DropdownMenuLabel.vue.d.ts +18 -0
- package/dist/dropdown-menu/DropdownMenuSeparator.vue.d.ts +8 -0
- package/dist/dropdown-menu/DropdownMenuTrigger.vue.d.ts +14 -0
- package/dist/dropdown-menu/index.d.ts +6 -0
- package/dist/dropdown-menu/index.js +149 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/input/Input.vue.d.ts +19 -0
- package/dist/input/index.d.ts +1 -0
- package/dist/input/index.js +2 -0
- package/dist/label/Label.vue.d.ts +18 -0
- package/dist/label/index.d.ts +1 -0
- package/dist/label/index.js +29 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/popover/Popover.vue.d.ts +18 -0
- package/dist/popover/PopoverContent.vue.d.ts +35 -0
- package/dist/popover/PopoverTrigger.vue.d.ts +14 -0
- package/dist/popover/index.d.ts +3 -0
- package/dist/popover/index.js +96 -0
- package/dist/range-calendar/RangeCalendar.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarCell.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarCellTrigger.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarGrid.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarGridBody.vue.d.ts +14 -0
- package/dist/range-calendar/RangeCalendarGridHead.vue.d.ts +14 -0
- package/dist/range-calendar/RangeCalendarGridRow.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarHeadCell.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarHeader.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarHeading.vue.d.ts +19 -0
- package/dist/range-calendar/RangeCalendarNextButton.vue.d.ts +18 -0
- package/dist/range-calendar/RangeCalendarPrevButton.vue.d.ts +18 -0
- package/dist/range-calendar/index.d.ts +12 -0
- package/dist/range-calendar/index.js +311 -0
- package/dist/scroll-area/ScrollArea.vue.d.ts +19 -0
- package/dist/scroll-area/ScrollBar.vue.d.ts +10 -0
- package/dist/scroll-area/index.d.ts +2 -0
- package/dist/scroll-area/index.js +2 -0
- package/dist/select/Select.vue.d.ts +21 -0
- package/dist/select/SelectContent.vue.d.ts +28 -0
- package/dist/select/SelectGroup.vue.d.ts +18 -0
- package/dist/select/SelectItem.vue.d.ts +18 -0
- package/dist/select/SelectItemText.vue.d.ts +14 -0
- package/dist/select/SelectLabel.vue.d.ts +18 -0
- package/dist/select/SelectScrollDownButton.vue.d.ts +18 -0
- package/dist/select/SelectScrollUpButton.vue.d.ts +18 -0
- package/dist/select/SelectSeparator.vue.d.ts +8 -0
- package/dist/select/SelectTrigger.vue.d.ts +18 -0
- package/dist/select/SelectValue.vue.d.ts +14 -0
- package/dist/select/index.d.ts +11 -0
- package/dist/select/index.js +276 -0
- package/dist/separator/Separator.vue.d.ts +11 -0
- package/dist/separator/index.d.ts +1 -0
- package/dist/separator/index.js +2 -0
- package/dist/sheet/Sheet.vue.d.ts +18 -0
- package/dist/sheet/SheetClose.vue.d.ts +14 -0
- package/dist/sheet/SheetContent.vue.d.ts +39 -0
- package/dist/sheet/SheetDescription.vue.d.ts +18 -0
- package/dist/sheet/SheetHeader.vue.d.ts +17 -0
- package/dist/sheet/SheetTitle.vue.d.ts +18 -0
- package/dist/sheet/SheetTrigger.vue.d.ts +14 -0
- package/dist/sheet/index.d.ts +7 -0
- package/dist/sheet/index.js +2 -0
- package/dist/sidebar/Sidebar.vue.d.ts +28 -0
- package/dist/sidebar/SidebarContent.vue.d.ts +17 -0
- package/dist/sidebar/SidebarFooter.vue.d.ts +17 -0
- package/dist/sidebar/SidebarGroup.vue.d.ts +17 -0
- package/dist/sidebar/SidebarGroupAction.vue.d.ts +20 -0
- package/dist/sidebar/SidebarGroupContent.vue.d.ts +17 -0
- package/dist/sidebar/SidebarGroupLabel.vue.d.ts +20 -0
- package/dist/sidebar/SidebarHeader.vue.d.ts +17 -0
- package/dist/sidebar/SidebarInput.vue.d.ts +17 -0
- package/dist/sidebar/SidebarInset.vue.d.ts +17 -0
- package/dist/sidebar/SidebarMenu.vue.d.ts +17 -0
- package/dist/sidebar/SidebarMenuAction.vue.d.ts +21 -0
- package/dist/sidebar/SidebarMenuBadge.vue.d.ts +17 -0
- package/dist/sidebar/SidebarMenuButton.vue.d.ts +29 -0
- package/dist/sidebar/SidebarMenuItem.vue.d.ts +17 -0
- package/dist/sidebar/SidebarMenuSub.vue.d.ts +17 -0
- package/dist/sidebar/SidebarMenuSubButton.vue.d.ts +23 -0
- package/dist/sidebar/SidebarMenuSubItem.vue.d.ts +17 -0
- package/dist/sidebar/SidebarProvider.vue.d.ts +26 -0
- package/dist/sidebar/SidebarRail.vue.d.ts +7 -0
- package/dist/sidebar/SidebarSeparator.vue.d.ts +7 -0
- package/dist/sidebar/SidebarTrigger.vue.d.ts +7 -0
- package/dist/sidebar/index.d.ts +45 -0
- package/dist/sidebar/index.js +595 -0
- package/dist/sonner/Sonner.vue.d.ts +4 -0
- package/dist/sonner/index.d.ts +1 -0
- package/dist/sonner/index.js +59 -0
- package/dist/stepper/Stepper.vue.d.ts +17 -0
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +57 -0
- package/dist/switch/Switch.vue.d.ts +12 -0
- package/dist/switch/index.d.ts +1 -0
- package/dist/switch/index.js +46 -0
- package/dist/table/Table.vue.d.ts +17 -0
- package/dist/table/TableBody.vue.d.ts +17 -0
- package/dist/table/TableCell.vue.d.ts +17 -0
- package/dist/table/TableHead.vue.d.ts +17 -0
- package/dist/table/TableHeader.vue.d.ts +17 -0
- package/dist/table/TableRow.vue.d.ts +17 -0
- package/dist/table/index.d.ts +6 -0
- package/dist/table/index.js +84 -0
- package/dist/tabs/Tabs.vue.d.ts +19 -0
- package/dist/tabs/TabsContent.vue.d.ts +18 -0
- package/dist/tabs/TabsList.vue.d.ts +18 -0
- package/dist/tabs/TabsTrigger.vue.d.ts +18 -0
- package/dist/tabs/index.d.ts +4 -0
- package/dist/tabs/index.js +93 -0
- package/dist/tags-input/TagsInput.vue.d.ts +28 -0
- package/dist/tags-input/TagsInputInput.vue.d.ts +8 -0
- package/dist/tags-input/TagsInputItem.vue.d.ts +18 -0
- package/dist/tags-input/TagsInputItemDelete.vue.d.ts +18 -0
- package/dist/tags-input/TagsInputItemText.vue.d.ts +8 -0
- package/dist/tags-input/index.d.ts +5 -0
- package/dist/tags-input/index.js +130 -0
- package/dist/textarea/Textarea.vue.d.ts +19 -0
- package/dist/textarea/index.d.ts +1 -0
- package/dist/textarea/index.js +43 -0
- package/dist/tooltip/Tooltip.vue.d.ts +18 -0
- package/dist/tooltip/TooltipContent.vue.d.ts +26 -0
- package/dist/tooltip/TooltipProvider.vue.d.ts +14 -0
- package/dist/tooltip/TooltipRoot.vue.d.ts +18 -0
- package/dist/tooltip/TooltipTrigger.vue.d.ts +14 -0
- package/dist/tooltip/index.d.ts +4 -0
- package/dist/tooltip/index.js +2 -0
- package/package.json +89 -5
- package/src/alert/Alert.vue +17 -0
- package/src/alert/AlertDescription.vue +14 -0
- package/src/alert/AlertTitle.vue +14 -0
- package/src/alert/index.ts +29 -0
- package/src/alert-dialog/AlertDialog.vue +15 -0
- package/src/alert-dialog/AlertDialogAction.vue +18 -0
- package/src/alert-dialog/AlertDialogCancel.vue +18 -0
- package/src/alert-dialog/AlertDialogContent.vue +33 -0
- package/src/alert-dialog/AlertDialogDescription.vue +17 -0
- package/src/alert-dialog/AlertDialogFooter.vue +14 -0
- package/src/alert-dialog/AlertDialogHeader.vue +14 -0
- package/src/alert-dialog/AlertDialogTitle.vue +17 -0
- package/src/alert-dialog/AlertDialogTrigger.vue +12 -0
- package/src/alert-dialog/index.ts +9 -0
- package/src/avatar/Avatar.vue +76 -0
- package/src/avatar/AvatarFallback.vue +18 -0
- package/src/avatar/AvatarImage.vue +12 -0
- package/src/avatar/index.ts +30 -0
- package/src/avatar-colors.ts +24 -0
- package/src/badge/Badge.vue +44 -0
- package/src/badge/index.ts +33 -0
- package/src/breadcrumb/Breadcrumb.vue +13 -0
- package/src/breadcrumb/BreadcrumbEllipsis.vue +18 -0
- package/src/breadcrumb/BreadcrumbItem.vue +14 -0
- package/src/breadcrumb/BreadcrumbLink.vue +16 -0
- package/src/breadcrumb/BreadcrumbList.vue +14 -0
- package/src/breadcrumb/BreadcrumbPage.vue +14 -0
- package/src/breadcrumb/BreadcrumbSeparator.vue +17 -0
- package/src/breadcrumb/index.ts +7 -0
- package/src/button/Button.vue +64 -0
- package/src/button/index.ts +40 -0
- package/src/button-group/ButtonGroup.vue +22 -0
- package/src/button-group/ButtonGroupSeparator.vue +21 -0
- package/src/button-group/ButtonGroupText.vue +34 -0
- package/src/button-group/index.ts +23 -0
- package/src/calendar/Calendar.vue +57 -0
- package/src/calendar/CalendarCell.vue +27 -0
- package/src/calendar/CalendarCellTrigger.vue +38 -0
- package/src/calendar/CalendarGrid.vue +19 -0
- package/src/calendar/CalendarGridBody.vue +12 -0
- package/src/calendar/CalendarGridHead.vue +12 -0
- package/src/calendar/CalendarGridRow.vue +19 -0
- package/src/calendar/CalendarHeadCell.vue +19 -0
- package/src/calendar/CalendarHeader.vue +19 -0
- package/src/calendar/CalendarHeading.vue +25 -0
- package/src/calendar/CalendarNextButton.vue +26 -0
- package/src/calendar/CalendarPrevButton.vue +26 -0
- package/src/calendar/index.ts +12 -0
- package/src/card/Card.vue +14 -0
- package/src/card/CardContent.vue +14 -0
- package/src/card/CardDescription.vue +14 -0
- package/src/card/CardFooter.vue +14 -0
- package/src/card/CardHeader.vue +14 -0
- package/src/card/CardTitle.vue +14 -0
- package/src/card/index.ts +6 -0
- package/src/chart/ChartCrosshair.vue +47 -0
- package/src/chart/ChartLegend.vue +63 -0
- package/src/chart/ChartSingleTooltip.vue +61 -0
- package/src/chart/ChartTooltip.vue +35 -0
- package/src/chart/index.ts +18 -0
- package/src/chart/interface.ts +64 -0
- package/src/checkbox/Checkbox.vue +33 -0
- package/src/checkbox/index.ts +1 -0
- package/src/combobox/Combobox.vue +15 -0
- package/src/combobox/ComboboxAnchor.vue +19 -0
- package/src/combobox/ComboboxEmpty.vue +17 -0
- package/src/combobox/ComboboxGroup.vue +33 -0
- package/src/combobox/ComboboxInput.vue +33 -0
- package/src/combobox/ComboboxItem.vue +28 -0
- package/src/combobox/ComboboxList.vue +36 -0
- package/src/combobox/ComboboxSeparator.vue +17 -0
- package/src/combobox/ComboboxTrigger.vue +23 -0
- package/src/combobox/index.ts +11 -0
- package/src/command/Command.vue +85 -0
- package/src/command/CommandDialog.vue +23 -0
- package/src/command/CommandEmpty.vue +22 -0
- package/src/command/CommandGroup.vue +50 -0
- package/src/command/CommandInput.vue +42 -0
- package/src/command/CommandItem.vue +79 -0
- package/src/command/CommandList.vue +25 -0
- package/src/command/CommandSeparator.vue +17 -0
- package/src/command/CommandShortcut.vue +14 -0
- package/src/command/index.ts +25 -0
- package/src/dialog/Dialog.vue +15 -0
- package/src/dialog/DialogClose.vue +12 -0
- package/src/dialog/DialogContent.vue +41 -0
- package/src/dialog/DialogDescription.vue +19 -0
- package/src/dialog/DialogFooter.vue +12 -0
- package/src/dialog/DialogHeader.vue +14 -0
- package/src/dialog/DialogScrollContent.vue +49 -0
- package/src/dialog/DialogTitle.vue +19 -0
- package/src/dialog/DialogTrigger.vue +12 -0
- package/src/dialog/index.ts +9 -0
- package/src/drawer/Drawer.vue +20 -0
- package/src/drawer/DrawerContent.vue +31 -0
- package/src/drawer/DrawerDescription.vue +17 -0
- package/src/drawer/DrawerFooter.vue +14 -0
- package/src/drawer/DrawerHeader.vue +14 -0
- package/src/drawer/DrawerOverlay.vue +15 -0
- package/src/drawer/DrawerTitle.vue +17 -0
- package/src/drawer/index.ts +8 -0
- package/src/dropdown-menu/DropdownMenu.vue +26 -0
- package/src/dropdown-menu/DropdownMenuContent.vue +28 -0
- package/src/dropdown-menu/DropdownMenuItem.vue +23 -0
- package/src/dropdown-menu/DropdownMenuLabel.vue +13 -0
- package/src/dropdown-menu/DropdownMenuSeparator.vue +11 -0
- package/src/dropdown-menu/DropdownMenuTrigger.vue +11 -0
- package/src/dropdown-menu/index.ts +6 -0
- package/src/index.ts +2 -0
- package/src/input/Input.vue +43 -0
- package/src/input/index.ts +1 -0
- package/src/label/Label.vue +16 -0
- package/src/label/index.ts +1 -0
- package/src/lib/utils.ts +6 -0
- package/src/popover/Popover.vue +15 -0
- package/src/popover/PopoverContent.vue +39 -0
- package/src/popover/PopoverTrigger.vue +11 -0
- package/src/popover/index.ts +3 -0
- package/src/range-calendar/RangeCalendar.vue +57 -0
- package/src/range-calendar/RangeCalendarCell.vue +27 -0
- package/src/range-calendar/RangeCalendarCellTrigger.vue +40 -0
- package/src/range-calendar/RangeCalendarGrid.vue +19 -0
- package/src/range-calendar/RangeCalendarGridBody.vue +12 -0
- package/src/range-calendar/RangeCalendarGridHead.vue +12 -0
- package/src/range-calendar/RangeCalendarGridRow.vue +19 -0
- package/src/range-calendar/RangeCalendarHeadCell.vue +19 -0
- package/src/range-calendar/RangeCalendarHeader.vue +19 -0
- package/src/range-calendar/RangeCalendarHeading.vue +25 -0
- package/src/range-calendar/RangeCalendarNextButton.vue +26 -0
- package/src/range-calendar/RangeCalendarPrevButton.vue +26 -0
- package/src/range-calendar/index.ts +12 -0
- package/src/scroll-area/ScrollArea.vue +22 -0
- package/src/scroll-area/ScrollBar.vue +29 -0
- package/src/scroll-area/index.ts +2 -0
- package/src/select/Select.vue +15 -0
- package/src/select/SelectContent.vue +43 -0
- package/src/select/SelectGroup.vue +17 -0
- package/src/select/SelectItem.vue +36 -0
- package/src/select/SelectItemText.vue +12 -0
- package/src/select/SelectLabel.vue +14 -0
- package/src/select/SelectScrollDownButton.vue +22 -0
- package/src/select/SelectScrollUpButton.vue +22 -0
- package/src/select/SelectSeparator.vue +15 -0
- package/src/select/SelectTrigger.vue +31 -0
- package/src/select/SelectValue.vue +12 -0
- package/src/select/index.ts +11 -0
- package/src/separator/Separator.vue +21 -0
- package/src/separator/index.ts +1 -0
- package/src/sheet/Sheet.vue +15 -0
- package/src/sheet/SheetClose.vue +11 -0
- package/src/sheet/SheetContent.vue +54 -0
- package/src/sheet/SheetDescription.vue +13 -0
- package/src/sheet/SheetHeader.vue +14 -0
- package/src/sheet/SheetTitle.vue +13 -0
- package/src/sheet/SheetTrigger.vue +11 -0
- package/src/sheet/index.ts +7 -0
- package/src/sidebar/Sidebar.vue +101 -0
- package/src/sidebar/SidebarContent.vue +21 -0
- package/src/sidebar/SidebarFooter.vue +16 -0
- package/src/sidebar/SidebarGroup.vue +16 -0
- package/src/sidebar/SidebarGroupAction.vue +31 -0
- package/src/sidebar/SidebarGroupContent.vue +16 -0
- package/src/sidebar/SidebarGroupLabel.vue +31 -0
- package/src/sidebar/SidebarHeader.vue +16 -0
- package/src/sidebar/SidebarInput.vue +20 -0
- package/src/sidebar/SidebarInset.vue +25 -0
- package/src/sidebar/SidebarMenu.vue +16 -0
- package/src/sidebar/SidebarMenuAction.vue +37 -0
- package/src/sidebar/SidebarMenuBadge.vue +29 -0
- package/src/sidebar/SidebarMenuButton.vue +64 -0
- package/src/sidebar/SidebarMenuItem.vue +16 -0
- package/src/sidebar/SidebarMenuSub.vue +25 -0
- package/src/sidebar/SidebarMenuSubButton.vue +39 -0
- package/src/sidebar/SidebarMenuSubItem.vue +16 -0
- package/src/sidebar/SidebarProvider.vue +74 -0
- package/src/sidebar/SidebarRail.vue +34 -0
- package/src/sidebar/SidebarSeparator.vue +15 -0
- package/src/sidebar/SidebarTrigger.vue +28 -0
- package/src/sidebar/index.ts +70 -0
- package/src/sonner/Sonner.vue +54 -0
- package/src/sonner/index.ts +1 -0
- package/src/stepper/Stepper.vue +58 -0
- package/src/stepper/index.ts +1 -0
- package/src/switch/Switch.vue +41 -0
- package/src/switch/index.ts +1 -0
- package/src/table/Table.vue +16 -0
- package/src/table/TableBody.vue +14 -0
- package/src/table/TableCell.vue +14 -0
- package/src/table/TableHead.vue +14 -0
- package/src/table/TableHeader.vue +14 -0
- package/src/table/TableRow.vue +14 -0
- package/src/table/index.ts +6 -0
- package/src/tabs/Tabs.vue +15 -0
- package/src/tabs/TabsContent.vue +16 -0
- package/src/tabs/TabsList.vue +16 -0
- package/src/tabs/TabsTrigger.vue +21 -0
- package/src/tabs/index.ts +4 -0
- package/src/tags-input/TagsInput.vue +23 -0
- package/src/tags-input/TagsInputInput.vue +17 -0
- package/src/tags-input/TagsInputItem.vue +27 -0
- package/src/tags-input/TagsInputItemDelete.vue +22 -0
- package/src/tags-input/TagsInputItemText.vue +17 -0
- package/src/tags-input/index.ts +5 -0
- package/src/textarea/Textarea.vue +41 -0
- package/src/textarea/index.ts +1 -0
- package/src/tooltip/Tooltip.vue +15 -0
- package/src/tooltip/TooltipContent.vue +37 -0
- package/src/tooltip/TooltipProvider.vue +12 -0
- package/src/tooltip/TooltipRoot.vue +14 -0
- package/src/tooltip/TooltipTrigger.vue +12 -0
- package/src/tooltip/index.ts +4 -0
- package/styles/kit.css +100 -0
- package/styles/theme.css +950 -0
- package/styles/typography.css +430 -0
package/DESIGN.md
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Matta design system — House Style (DESIGN.md)
|
|
2
|
+
|
|
3
|
+
_Shared by every Matta admin app. This file ships with the `@matta/ui` package._
|
|
4
|
+
|
|
5
|
+
This file is the design law for every screen built on this design system. Every new screen and component must
|
|
6
|
+
follow it. When a component's default style conflicts with a rule here, the rule wins.
|
|
7
|
+
Add new rules here as they are decided.
|
|
8
|
+
|
|
9
|
+
> **Rewritten 2026-09-25 for Vue 3 + shadcn-vue + Tailwind v4.** The previous version of
|
|
10
|
+
> this file described the React / Untitled UI kit this repo no longer contains — every
|
|
11
|
+
> component it named (`ModalShell`, `FeaturedIcon`, `@/components/base/*`,
|
|
12
|
+
> `@/components/application/*`, `@untitledui/icons`, `getAvatarInitialsColor` at the old
|
|
13
|
+
> path) was removed in the 2026-09-22 Vue migration. Every component named below exists in
|
|
14
|
+
> this package — import it as `@matta/ui/<name>`.
|
|
15
|
+
>
|
|
16
|
+
> Commands, file naming, conventions and the local build environment live in `CLAUDE.md`.
|
|
17
|
+
> This file covers how things must look, not how they are built.
|
|
18
|
+
|
|
19
|
+
## Page & layout
|
|
20
|
+
|
|
21
|
+
- The page background is the **light grey shell surface**, never plain white: the content
|
|
22
|
+
area carries `bg-gray-50/50 dark:bg-gray-950/80` and cards/tables sit on it as raised
|
|
23
|
+
white surfaces. (This theme has no `gray-25` step — don't reach for one.)
|
|
24
|
+
- Search bars and filter controls sit **on the page, above the card/table** — never inside
|
|
25
|
+
the card itself.
|
|
26
|
+
- Cards and tables are the primary visual units; main content sits in a container with
|
|
27
|
+
consistent horizontal padding.
|
|
28
|
+
- Cards that sit in a row are **uniform height** — content must not stretch one card taller
|
|
29
|
+
than its siblings.
|
|
30
|
+
- Page header: a **short title** (a name, not a sentence) with a one-line subtitle
|
|
31
|
+
underneath, and the primary action button **top-right**.
|
|
32
|
+
|
|
33
|
+
## Corners & shape
|
|
34
|
+
|
|
35
|
+
- **Cards and tables use `rounded-xl`** — not the kit default `rounded-lg`/`rounded-md`.
|
|
36
|
+
- **Modals use `rounded-lg` (8px)** — modals are deliberately tighter than cards.
|
|
37
|
+
- Fields and buttons use `rounded-lg`; badges are `rounded-full`. Both are the kit default,
|
|
38
|
+
so don't restate them per screen.
|
|
39
|
+
- If a new shape needs its own radius, add the rule here rather than inventing one inline.
|
|
40
|
+
|
|
41
|
+
## Dividers
|
|
42
|
+
|
|
43
|
+
- Any divider inside a card (a header/footer border, or a manual `border-t`/`border-b`) must
|
|
44
|
+
**touch both edges of the card** — never inset by the card's own padding.
|
|
45
|
+
- A card with a header-then-divider pattern is built as an **outer zero-padding container**
|
|
46
|
+
with the header (its own `px`/`py` + its `border-b`) and the body (its own `p`) as separate
|
|
47
|
+
children — never padding and the divider on the same element inside a padded ancestor.
|
|
48
|
+
(The Matta admin's Overview summary cards are the reference.)
|
|
49
|
+
|
|
50
|
+
## Fields
|
|
51
|
+
|
|
52
|
+
- Inputs, textareas, selects and combo boxes share **one height: `h-10` (40px)**. Never give
|
|
53
|
+
a field a one-off height on a screen.
|
|
54
|
+
- Reuse the field components the admin apps already provide before building anything new:
|
|
55
|
+
`SearchableSelect` (searchable single select), `TagPickerField` (multi-value picker),
|
|
56
|
+
`FileUploadField` / `BannerUploadField` (uploads), `IconPicker`.
|
|
57
|
+
- Field colours come from the theme: `border-border-primary` at rest,
|
|
58
|
+
`focus-visible:border-border-brand` + `ring-brand-500/20` on focus, `opacity-50` when
|
|
59
|
+
disabled.
|
|
60
|
+
- Transitions stay short (`transition-colors`) — no long or bouncy easing.
|
|
61
|
+
|
|
62
|
+
## Buttons
|
|
63
|
+
|
|
64
|
+
- Use the kit `Button` with a `variant` — never a hand-styled `<button>` for an action:
|
|
65
|
+
`primary` (default) / `secondary` / `tertiary` / `destructive` / `outline` / `ghost` / `link`.
|
|
66
|
+
- Sizes: `sm` h-8, `md` h-9 (default), `lg` h-10, `xl` h-11. Icon-only actions use
|
|
67
|
+
`size="icon-sm" | "icon-md" | "icon-lg"` rather than a hand-rolled square button.
|
|
68
|
+
- Buttons are **flat — no drop shadow and no ring.** Depth and grouping come from the fill
|
|
69
|
+
and the hover state, not from an edge. Never add `shadow-*` or `ring-1` to make a button
|
|
70
|
+
"look more clickable".
|
|
71
|
+
- `focus-visible:ring-*` is the **keyboard focus** indicator and stays — that is
|
|
72
|
+
accessibility, not decoration.
|
|
73
|
+
- If a button must stand out, change its **colour**, not its elevation or its edge.
|
|
74
|
+
|
|
75
|
+
## Badges
|
|
76
|
+
|
|
77
|
+
- Always the kit `Badge` (`@matta/ui/badge`) — never hand-build a pill or a coloured
|
|
78
|
+
`<span>`.
|
|
79
|
+
- **Status and variant badges are coloured.** Pick the semantic variant: `brand`, `success`,
|
|
80
|
+
`warning`, `error`, `indigo`, `purple`, `pink`. Grey (`gray`/`secondary`) reads as
|
|
81
|
+
unfinished and is a last resort for a value with genuinely no meaning.
|
|
82
|
+
- **Never place a grey badge on a grey surface** — it disappears into the card instead of
|
|
83
|
+
reading as a distinct element.
|
|
84
|
+
- The `dot` prop renders the leading status dot and inherits the variant's colour.
|
|
85
|
+
- A table row's status is a badge, never bare coloured text.
|
|
86
|
+
|
|
87
|
+
## Tables
|
|
88
|
+
|
|
89
|
+
- Use the kit `Table` (`@matta/ui/table`).
|
|
90
|
+
- Headers are **`text-xs` / weight 500 (`font-medium`) in `text-quaternary`** — not semibold,
|
|
91
|
+
not body-sized.
|
|
92
|
+
- The row-actions column header omits visible text (`aria-label="Actions"` keeps it
|
|
93
|
+
accessible).
|
|
94
|
+
- **Pagination stays together with the table** — one unit in the same card footer, not
|
|
95
|
+
separate blocks.
|
|
96
|
+
- The **page** (not the table component) owns searching, filtering and paging state.
|
|
97
|
+
- Wide tables scroll horizontally _inside_ their card (`ScrollArea` plus a `min-w-[…]` inner
|
|
98
|
+
wrapper); the card itself never scrolls off the page.
|
|
99
|
+
|
|
100
|
+
## Tabs
|
|
101
|
+
|
|
102
|
+
- Tabs are the **segmented control**: `TabsList` is `rounded-lg` on `bg-secondary` with `p-1`,
|
|
103
|
+
and the active `TabsTrigger` is a raised `bg-primary` chip. That is the app-wide pattern
|
|
104
|
+
(list pages, detail panels, drawers).
|
|
105
|
+
- There are **no underline tabs** in this kit — don't reintroduce them on one screen.
|
|
106
|
+
- Always import from `@matta/ui/tabs`.
|
|
107
|
+
|
|
108
|
+
## Avatars
|
|
109
|
+
|
|
110
|
+
- Always the kit `Avatar` (`@matta/ui/avatar`) — never a raw `<img>` and never an
|
|
111
|
+
initials-only circle.
|
|
112
|
+
- Initials fallbacks take a **deterministic colour** from `getAvatarInitialsColor`
|
|
113
|
+
(`@matta/ui`) — same identity, same colour, every render. Never the flat
|
|
114
|
+
grey default.
|
|
115
|
+
- Every avatar slot shows something (photo or coloured initials) — never a blank slot.
|
|
116
|
+
|
|
117
|
+
## Menus (DropdownMenu)
|
|
118
|
+
|
|
119
|
+
- Item labels are **regular weight** (`text-sm`), not semibold — semibold reads too heavy at
|
|
120
|
+
the sizes this app uses menus at.
|
|
121
|
+
- **Destructive entries take the error colour** (`text-error-primary`), not a `red-*` palette
|
|
122
|
+
class.
|
|
123
|
+
- Row-action kebabs share one item shape across views (`cursor-pointer`, `py-2`, `text-sm`)
|
|
124
|
+
so every table's menu behaves and reads identically.
|
|
125
|
+
|
|
126
|
+
## Modals, panels & confirmations
|
|
127
|
+
|
|
128
|
+
- **Modal dialog:** `Dialog` / `DialogScrollContent` — overlay, centred card, `rounded-lg`,
|
|
129
|
+
close button top-right.
|
|
130
|
+
- **Destructive or cautionary confirmation:** `AlertDialog` — Cancel plus one coloured confirm
|
|
131
|
+
button — and the description **names the affected record**, so the dialog is unambiguous
|
|
132
|
+
about what it acts on.
|
|
133
|
+
- **Record detail and create/edit flows:** `Sheet` (right-hand drawer) — e.g.
|
|
134
|
+
`OrderDetailsSheet`, `RequestDetailsSheet`, `CustomerProfileSheet`, `CreateOrderDrawer`.
|
|
135
|
+
- The bottom `Drawer` is showcase-only; application screens use `Sheet`.
|
|
136
|
+
- One pattern per job. Don't add a fourth kind of overlay when one of these three fits.
|
|
137
|
+
|
|
138
|
+
## Icons
|
|
139
|
+
|
|
140
|
+
- **`lucide-vue-next` only**, named imports, `size-4` / `size-5`. Don't add a second icon
|
|
141
|
+
library.
|
|
142
|
+
- No icon beside a document or row title unless explicitly requested.
|
|
143
|
+
- A summary/metric row's leading icon is a lucide icon inside the card's own muted container
|
|
144
|
+
— not a hand-rolled coloured circle.
|
|
145
|
+
- Metric rows above a table are cards in the house shape (`rounded-xl`,
|
|
146
|
+
`border-border-secondary`, `bg-primary`), with the number at `text-2xl`/`text-3xl`
|
|
147
|
+
`font-semibold` and the caption in `text-tertiary` — not loose bare text.
|
|
148
|
+
|
|
149
|
+
## Components (build rules)
|
|
150
|
+
|
|
151
|
+
- **Compose from the kit (`@matta/ui/<name>`) before building anything new.**
|
|
152
|
+
- When a primitive genuinely doesn't exist, add it with
|
|
153
|
+
`npx shadcn-vue@latest add <name>`, keep it in the kit style (`cn()` + CVA variants), add a
|
|
154
|
+
section for it on the **Design System showcase page**
|
|
155
|
+
(the admin app's `DesignSystemView.vue`) — then reuse it everywhere.
|
|
156
|
+
- **Every component in this package is re-tokenised** to this theme
|
|
157
|
+
(`bg-primary`/`bg-secondary`, `border-border-secondary`, `text-primary`/`text-tertiary`/
|
|
158
|
+
`text-quaternary`, `bg-brand-solid`, …). Re-running `shadcn-vue add` on a primitive that
|
|
159
|
+
already exists **overwrites that mapping and reverts the theme** — use the CLI to add
|
|
160
|
+
_missing_ primitives only, and diff it against the theme before keeping it.
|
|
161
|
+
- Colours come from the semantic tokens in `styles/theme.css` (shipped as
|
|
162
|
+
`@matta/ui/styles/theme.css`): `text-primary` /
|
|
163
|
+
`text-secondary` / `text-tertiary` / `text-quaternary`, `bg-primary` / `bg-secondary`,
|
|
164
|
+
`border-primary` / `border-secondary`, `text-brand-secondary`, `text-error-primary`, and the
|
|
165
|
+
`utility-*` status scales. Two ramps may be named directly: the **brand** ramp
|
|
166
|
+
(`bg-brand-600`, `hover:bg-brand-700` — the Matta blue the primary buttons use) and the
|
|
167
|
+
**flux** ramp (`bg-flux-600`, `hover:bg-flux-700` — the Flux red, base `#E50031`). Nothing
|
|
168
|
+
else. Both ramps run `50` → `950` off the same lightness steps, so the two apps differ by
|
|
169
|
+
palette only.
|
|
170
|
+
- **No raw hex and no arbitrary colour values** (`bg-[#…]`) anywhere. No second component
|
|
171
|
+
library: no Untitled UI, no extra kit.
|
|
172
|
+
- Variants come from CVA; class names are composed with `cn()` from `@matta/ui`.
|
|
173
|
+
|
|
174
|
+
## Data & mock state
|
|
175
|
+
|
|
176
|
+
- Pages run on in-memory mock data in each app's `src/utils/`, typed from `src/types/`, and reset on
|
|
177
|
+
refresh. Views stay presentation-only; data, formatting and derived figures live in
|
|
178
|
+
`utils/`.
|
|
179
|
+
- **Never present mock data as live data** — no "last synced", no invented timestamps, no
|
|
180
|
+
copy implying a backend that doesn't exist yet.
|
|
181
|
+
|
|
182
|
+
## Copy
|
|
183
|
+
|
|
184
|
+
- Titles are short; the subtitle says what the page is for in one line.
|
|
185
|
+
- Confirmations and empty states name the thing they are about ("No orders yet", "Reject this
|
|
186
|
+
customer?") rather than using generic wording.
|
|
187
|
+
- Sentence case for labels and buttons; no exclamation marks.
|
|
188
|
+
|
|
189
|
+
## Open conflicts — the code does not match this document yet
|
|
190
|
+
|
|
191
|
+
Found 2026-09-25 while rewriting this file. Each needs a decision: change the code to match
|
|
192
|
+
the rule, or change the rule to match the code. Nothing here is silently harmonised.
|
|
193
|
+
|
|
194
|
+
1. **Button elevation.** Rule: flat, no shadow. Code: `@matta/ui/button`
|
|
195
|
+
puts `shadow-xs` on `primary`, `secondary` and `destructive`. `CLAUDE.md` also states
|
|
196
|
+
buttons are flat, so the code is the outlier.
|
|
197
|
+
2. **Card radius.** Rule: `rounded-xl`. Code: `@matta/ui/card` ships
|
|
198
|
+
`rounded-lg`, **and is used only on the showcase page** — every application screen builds
|
|
199
|
+
its card as a `rounded-xl border border-border-secondary bg-primary` container by hand
|
|
200
|
+
(see `OverviewView.vue`). Either fix the primitive and start using it, or keep the
|
|
201
|
+
hand-built shells and drop the primitive.
|
|
202
|
+
3. **Modal radius.** Rule: `rounded-lg` (8px). Code:
|
|
203
|
+
`@matta/ui/dialog` ships `rounded-xl` — cards and modals are
|
|
204
|
+
currently swapped.
|
|
205
|
+
4. **Table header weight.** Rule: `font-medium` (500). Code:
|
|
206
|
+
`@matta/ui/table` ships `font-semibold`.
|
|
207
|
+
5. **Page background step.** The rule above now states the shell's actual grey
|
|
208
|
+
(`bg-gray-50/50`). This one is only still open because the original spec called for a
|
|
209
|
+
lighter **grey-25** step that this theme doesn't define — decide whether to add a
|
|
210
|
+
`--color-gray-25` token and move the shell onto it, or strike grey-25 from the spec for
|
|
211
|
+
good.
|
|
212
|
+
6. **Destructive menu items.** Rule: `text-error-primary`. Code: `AgentsView.vue` and
|
|
213
|
+
`CustomersView.vue` hardcode `text-red-600 dark:text-red-400`.
|
|
214
|
+
|
|
215
|
+
Also true today, but a migration state rather than a rule conflict: many views still use raw
|
|
216
|
+
palette greys (`text-gray-900 dark:text-white`, `border-gray-200 dark:border-gray-800`)
|
|
217
|
+
instead of the semantic tokens. New and edited screens use the tokens.
|
package/README.md
CHANGED
|
@@ -1,3 +1,92 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @matta/ui — the Matta design system
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Vue 3 + shadcn-vue primitives, the design tokens, and the house style, shared by the Matta
|
|
4
|
+
admin apps. **`DESIGN.md` in this repo is the design law** — read it before building a screen.
|
|
5
|
+
|
|
6
|
+
## What's in here
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
src/ the kit — one folder per primitive, each with an index.ts barrel
|
|
10
|
+
button/ badge/ table/ sheet/ dialog/ sidebar/ ... -> import { Button } from "@matta/ui/button"
|
|
11
|
+
lib/utils.ts cn()
|
|
12
|
+
avatar-colors.ts getAvatarInitialsColor()
|
|
13
|
+
index.ts root barrel: cn + avatar colors
|
|
14
|
+
styles/
|
|
15
|
+
theme.css design tokens (brand ramp, semantic colours, radii, shadows)
|
|
16
|
+
typography.css type scale
|
|
17
|
+
kit.css the design system's Tailwind layer: @plugin, @custom-variant, @utility
|
|
18
|
+
preview/ local preview app (dev-only; not shipped in the package)
|
|
19
|
+
DESIGN.md house style — the rules every screen must follow
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Previewing the kit locally
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm run dev # http://localhost:3002
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`preview/` is a small Vite app that renders the showcase page straight from this repo's
|
|
29
|
+
`src/`, so edits to the kit show up on save. It resolves the kit through the package's own
|
|
30
|
+
name (`@matta/ui/button`), so no install or release is needed to see a change. It is not
|
|
31
|
+
listed in `files`, so none of it is ever shipped to a consuming app.
|
|
32
|
+
|
|
33
|
+
## Installing it into an admin app
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install @matta-trade/ui
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Then in the app's `src/styles/globals.css`:
|
|
40
|
+
|
|
41
|
+
```css
|
|
42
|
+
@import "tailwindcss";
|
|
43
|
+
@import "@matta-trade/ui/styles/kit.css";
|
|
44
|
+
/* Tailwind scans classes from the built package or source */
|
|
45
|
+
@source "../../node_modules/@matta-trade/ui/dist";
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Use it anywhere:
|
|
49
|
+
|
|
50
|
+
```vue
|
|
51
|
+
<script setup lang="ts">
|
|
52
|
+
import { Button } from "@matta-trade/ui/button";
|
|
53
|
+
import { Badge } from "@matta-trade/ui/badge";
|
|
54
|
+
import { cn, getAvatarInitialsColor } from "@matta-trade/ui";
|
|
55
|
+
</script>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Building the package locally
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm run build # Compiles src/ to dist/ with .d.ts TypeScript types
|
|
62
|
+
npm run check # Runs vue-tsc type checking
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Releasing a new version to npm
|
|
66
|
+
|
|
67
|
+
### Method 1: One-command release from terminal (Recommended)
|
|
68
|
+
Run any of the following:
|
|
69
|
+
```bash
|
|
70
|
+
npm run release:patch # e.g. 0.2.0 -> 0.2.1
|
|
71
|
+
npm run release:minor # e.g. 0.2.0 -> 0.3.0
|
|
72
|
+
npm run release:major # e.g. 0.2.0 -> 1.0.0
|
|
73
|
+
```
|
|
74
|
+
This automatically bumps `package.json`, commits, creates the git tag, and pushes to GitHub. The GitHub Actions workflow then automatically builds and publishes to npm.
|
|
75
|
+
|
|
76
|
+
### Method 2: From GitHub Actions UI (No terminal needed)
|
|
77
|
+
1. Go to the **Actions** tab in GitHub.
|
|
78
|
+
2. Select **Publish to npm** from the left sidebar.
|
|
79
|
+
3. Click **Run workflow**, choose `patch`, `minor`, or `major`, and click **Run workflow**.
|
|
80
|
+
|
|
81
|
+
### Method 3: Manual Git tag
|
|
82
|
+
```bash
|
|
83
|
+
git tag v0.2.1
|
|
84
|
+
git push origin v0.2.1
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Add a **new** primitive with `npx shadcn-vue@latest add <name>` from this repo, then move the
|
|
88
|
+
generated folder to `src/<name>/` so the subpath export `@matta/ui/<name>` resolves, re-tokenise
|
|
89
|
+
it to `styles/theme.css`, and add a section for it on the app's Design System showcase page.
|
|
90
|
+
|
|
91
|
+
Re-running `shadcn-vue add` on a primitive that already exists here **overwrites the local
|
|
92
|
+
token mapping** — only use it for new components.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AlertVariants } from '.';
|
|
2
|
+
import { HTMLAttributes } from 'vue';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
class?: HTMLAttributes["class"];
|
|
5
|
+
variant?: AlertVariants["variant"];
|
|
6
|
+
};
|
|
7
|
+
declare var __VLS_1: {};
|
|
8
|
+
type __VLS_Slots = {} & {
|
|
9
|
+
default?: (props: typeof __VLS_1) => any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
15
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
class?: HTMLAttributes["class"];
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_1: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
class?: HTMLAttributes["class"];
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_1: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
export { default as Alert } from './Alert.vue';
|
|
3
|
+
export { default as AlertDescription } from './AlertDescription.vue';
|
|
4
|
+
export { default as AlertTitle } from './AlertTitle.vue';
|
|
5
|
+
export declare const alertVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "destructive" | "success" | "warning" | "info" | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
export type AlertVariants = VariantProps<typeof alertVariants>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { t as e } from "../chunks/utils-CX-Pz5p6.js";
|
|
2
|
+
import { cva as t } from "class-variance-authority";
|
|
3
|
+
import { createElementBlock as n, defineComponent as r, normalizeClass as i, openBlock as a, renderSlot as o, unref as s } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/alert/Alert.vue
|
|
6
|
+
var c = /* @__PURE__ */ r({
|
|
7
|
+
__name: "Alert",
|
|
8
|
+
props: {
|
|
9
|
+
class: { type: [
|
|
10
|
+
Boolean,
|
|
11
|
+
null,
|
|
12
|
+
String,
|
|
13
|
+
Object,
|
|
14
|
+
Array
|
|
15
|
+
] },
|
|
16
|
+
variant: {}
|
|
17
|
+
},
|
|
18
|
+
setup(t) {
|
|
19
|
+
let r = t;
|
|
20
|
+
return (c, l) => (a(), n("div", {
|
|
21
|
+
class: i(s(e)(s(d)({ variant: t.variant }), r.class)),
|
|
22
|
+
role: "alert"
|
|
23
|
+
}, [o(c.$slots, "default")], 2));
|
|
24
|
+
}
|
|
25
|
+
}), l = /* @__PURE__ */ r({
|
|
26
|
+
__name: "AlertDescription",
|
|
27
|
+
props: { class: { type: [
|
|
28
|
+
Boolean,
|
|
29
|
+
null,
|
|
30
|
+
String,
|
|
31
|
+
Object,
|
|
32
|
+
Array
|
|
33
|
+
] } },
|
|
34
|
+
setup(t) {
|
|
35
|
+
let r = t;
|
|
36
|
+
return (t, c) => (a(), n("div", { class: i(s(e)("[&_p]:leading-relaxed text-sm", r.class)) }, [o(t.$slots, "default")], 2));
|
|
37
|
+
}
|
|
38
|
+
}), u = /* @__PURE__ */ r({
|
|
39
|
+
__name: "AlertTitle",
|
|
40
|
+
props: { class: { type: [
|
|
41
|
+
Boolean,
|
|
42
|
+
null,
|
|
43
|
+
String,
|
|
44
|
+
Object,
|
|
45
|
+
Array
|
|
46
|
+
] } },
|
|
47
|
+
setup(t) {
|
|
48
|
+
let r = t;
|
|
49
|
+
return (t, c) => (a(), n("h5", { class: i(s(e)("mb-1 font-medium tracking-tight leading-none", r.class)) }, [o(t.$slots, "default")], 2));
|
|
50
|
+
}
|
|
51
|
+
}), d = t("p-4 [&>svg~*]:pl-7 [&>svg]:left-4 [&>svg]:top-4 [&>svg]:size-4 relative w-full rounded-xl border text-sm [&>svg]:absolute [&>svg+div]:translate-y-[-2px]", {
|
|
52
|
+
variants: { variant: {
|
|
53
|
+
default: "border-border-secondary bg-primary text-primary [&>svg]:text-primary",
|
|
54
|
+
destructive: "dark:bg-utility-red-950 dark:border-utility-red-800 border-utility-red-200 bg-utility-red-50 text-utility-red-700 dark:text-utility-red-300 [&>svg]:text-utility-red-600 dark:[&>svg]:text-utility-red-400",
|
|
55
|
+
success: "border-utility-success-200 bg-utility-success-50 text-utility-success-700 dark:border-utility-success-800 dark:bg-utility-success-950 dark:text-utility-success-300 [&>svg]:text-utility-success-600 dark:[&>svg]:text-utility-success-400",
|
|
56
|
+
warning: "border-utility-warning-200 bg-utility-warning-50 text-utility-warning-700 dark:border-utility-warning-800 dark:bg-utility-warning-950 dark:text-utility-warning-300 [&>svg]:text-utility-warning-600 dark:[&>svg]:text-utility-warning-400",
|
|
57
|
+
info: "dark:bg-utility-brand-950 border-utility-brand-200 bg-utility-brand-50 text-utility-brand-700 dark:border-utility-brand-800 dark:text-utility-brand-300 [&>svg]:text-utility-brand-600 dark:[&>svg]:text-utility-brand-400"
|
|
58
|
+
} },
|
|
59
|
+
defaultVariants: { variant: "default" }
|
|
60
|
+
});
|
|
61
|
+
//#endregion
|
|
62
|
+
export { c as Alert, l as AlertDescription, u as AlertTitle, d as alertVariants };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AlertDialogProps } from 'reka-ui';
|
|
2
|
+
declare var __VLS_8: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
default?: (props: typeof __VLS_8) => any;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_base: import('vue').DefineComponent<AlertDialogProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
"update:open": (value: boolean) => any;
|
|
8
|
+
}, string, import('vue').PublicProps, Readonly<AlertDialogProps> & Readonly<{
|
|
9
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
10
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
import { AlertDialogActionProps } from 'reka-ui';
|
|
3
|
+
type __VLS_Props = AlertDialogActionProps & {
|
|
4
|
+
class?: HTMLAttributes["class"];
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_8: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_8) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
import { AlertDialogCancelProps } from 'reka-ui';
|
|
3
|
+
type __VLS_Props = AlertDialogCancelProps & {
|
|
4
|
+
class?: HTMLAttributes["class"];
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_8: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_8) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
import { AlertDialogContentProps } from 'reka-ui';
|
|
3
|
+
type __VLS_Props = AlertDialogContentProps & {
|
|
4
|
+
class?: HTMLAttributes["class"];
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_19: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_19) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
escapeKeyDown: (event: KeyboardEvent) => any;
|
|
12
|
+
pointerDownOutside: (event: import('reka-ui').PointerDownOutsideEvent) => any;
|
|
13
|
+
focusOutside: (event: import('reka-ui').FocusOutsideEvent) => any;
|
|
14
|
+
interactOutside: (event: import('reka-ui').PointerDownOutsideEvent | import('reka-ui').FocusOutsideEvent) => any;
|
|
15
|
+
openAutoFocus: (event: Event) => any;
|
|
16
|
+
closeAutoFocus: (event: Event) => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
|
+
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
19
|
+
onPointerDownOutside?: ((event: import('reka-ui').PointerDownOutsideEvent) => any) | undefined;
|
|
20
|
+
onFocusOutside?: ((event: import('reka-ui').FocusOutsideEvent) => any) | undefined;
|
|
21
|
+
onInteractOutside?: ((event: import('reka-ui').PointerDownOutsideEvent | import('reka-ui').FocusOutsideEvent) => any) | undefined;
|
|
22
|
+
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
23
|
+
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
24
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
25
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
26
|
+
declare const _default: typeof __VLS_export;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
import { AlertDialogDescriptionProps } from 'reka-ui';
|
|
3
|
+
type __VLS_Props = AlertDialogDescriptionProps & {
|
|
4
|
+
class?: HTMLAttributes["class"];
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_8: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_8) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
class?: HTMLAttributes["class"];
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_1: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
class?: HTMLAttributes["class"];
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_1: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
import { AlertDialogTitleProps } from 'reka-ui';
|
|
3
|
+
type __VLS_Props = AlertDialogTitleProps & {
|
|
4
|
+
class?: HTMLAttributes["class"];
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_8: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_8) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AlertDialogTriggerProps } from 'reka-ui';
|
|
2
|
+
declare var __VLS_8: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
default?: (props: typeof __VLS_8) => any;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_base: import('vue').DefineComponent<AlertDialogTriggerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<AlertDialogTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
10
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
11
|
+
new (): {
|
|
12
|
+
$slots: S;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as AlertDialog } from './AlertDialog.vue';
|
|
2
|
+
export { default as AlertDialogAction } from './AlertDialogAction.vue';
|
|
3
|
+
export { default as AlertDialogCancel } from './AlertDialogCancel.vue';
|
|
4
|
+
export { default as AlertDialogContent } from './AlertDialogContent.vue';
|
|
5
|
+
export { default as AlertDialogDescription } from './AlertDialogDescription.vue';
|
|
6
|
+
export { default as AlertDialogFooter } from './AlertDialogFooter.vue';
|
|
7
|
+
export { default as AlertDialogHeader } from './AlertDialogHeader.vue';
|
|
8
|
+
export { default as AlertDialogTitle } from './AlertDialogTitle.vue';
|
|
9
|
+
export { default as AlertDialogTrigger } from './AlertDialogTrigger.vue';
|