From a829212d4283d9312d6948bd979366706cf2b72d Mon Sep 17 00:00:00 2001 From: Sadegh Barati Date: Fri, 2 Feb 2024 19:08:06 +0330 Subject: [PATCH] refactor: use `class` as prop to prevent class duplication with `cn` function (#241) --- apps/www/.vitepress/config.mts | 8 +- .../.vitepress/theme/layout/DocsLayout.vue | 4 +- .../.vitepress/theme/layout/MainLayout.vue | 4 +- apps/www/.vitepress/theme/styles/shiki.css | 7 + apps/www/package.json | 36 +- .../src/content/docs/components/data-table.md | 60 ++- .../docs/components/navigation-menu.md | 2 +- .../dashboard/components/DateRangePicker.vue | 2 +- .../examples/forms/components/AccountForm.vue | 4 +- .../registry/default/example/CardFormDemo.vue | 9 +- .../default/example/Cards/DataTable.vue | 6 +- .../registry/default/example/ComboboxDemo.vue | 6 +- .../default/example/DatePickerWithRange.vue | 2 +- .../default/example/RangePickerWithSlot.vue | 2 +- .../default/ui/accordion/Accordion.vue | 6 +- .../default/ui/accordion/AccordionContent.vue | 20 +- .../default/ui/accordion/AccordionItem.vue | 17 +- .../default/ui/accordion/AccordionTrigger.vue | 21 +- .../ui/alert-dialog/AlertDialogAction.vue | 11 +- .../ui/alert-dialog/AlertDialogCancel.vue | 11 +- .../ui/alert-dialog/AlertDialogContent.vue | 19 +- .../alert-dialog/AlertDialogDescription.vue | 13 +- .../ui/alert-dialog/AlertDialogFooter.vue | 12 +- .../ui/alert-dialog/AlertDialogHeader.vue | 12 +- .../ui/alert-dialog/AlertDialogTitle.vue | 13 +- .../lib/registry/default/ui/alert/Alert.vue | 15 +- .../default/ui/alert/AlertDescription.vue | 7 +- .../registry/default/ui/alert/AlertTitle.vue | 7 +- .../lib/registry/default/ui/alert/index.ts | 4 +- .../lib/registry/default/ui/avatar/Avatar.vue | 15 +- .../lib/registry/default/ui/avatar/index.ts | 4 +- .../lib/registry/default/ui/badge/Badge.vue | 16 +- .../lib/registry/default/ui/badge/index.ts | 4 +- .../lib/registry/default/ui/button/Button.vue | 17 +- .../lib/registry/default/ui/button/index.ts | 6 +- .../registry/default/ui/calendar/Calendar.vue | 14 +- .../src/lib/registry/default/ui/card/Card.vue | 10 +- .../registry/default/ui/card/CardContent.vue | 10 +- .../default/ui/card/CardDescription.vue | 10 +- .../registry/default/ui/card/CardFooter.vue | 12 +- .../registry/default/ui/card/CardHeader.vue | 12 +- .../registry/default/ui/card/CardTitle.vue | 12 +- .../registry/default/ui/carousel/Carousel.vue | 1 - .../default/ui/carousel/CarouselContent.vue | 2 +- .../default/ui/carousel/CarouselItem.vue | 2 +- .../registry/default/ui/checkbox/Checkbox.vue | 17 +- .../default/ui/collapsible/Collapsible.vue | 6 +- .../registry/default/ui/command/Command.vue | 19 +- .../default/ui/command/CommandDialog.vue | 8 +- .../default/ui/command/CommandEmpty.vue | 11 +- .../default/ui/command/CommandGroup.vue | 12 +- .../default/ui/command/CommandInput.vue | 27 +- .../default/ui/command/CommandItem.vue | 17 +- .../default/ui/command/CommandList.vue | 13 +- .../default/ui/command/CommandSeparator.vue | 13 +- .../default/ui/command/CommandShortcut.vue | 7 +- .../context-menu/ContextMenuCheckboxItem.vue | 31 +- .../ui/context-menu/ContextMenuContent.vue | 22 +- .../ui/context-menu/ContextMenuItem.vue | 27 +- .../ui/context-menu/ContextMenuLabel.vue | 13 +- .../ui/context-menu/ContextMenuRadioItem.vue | 21 +- .../ui/context-menu/ContextMenuSeparator.vue | 11 +- .../ui/context-menu/ContextMenuShortcut.vue | 7 +- .../ui/context-menu/ContextMenuSubContent.vue | 11 +- .../ui/context-menu/ContextMenuSubTrigger.vue | 26 +- .../ui/context-menu/ContextMenuTrigger.vue | 6 +- .../lib/registry/default/ui/dialog/Dialog.vue | 28 +- .../default/ui/dialog/DialogContent.vue | 24 +- .../default/ui/dialog/DialogDescription.vue | 17 +- .../default/ui/dialog/DialogFooter.vue | 9 +- .../default/ui/dialog/DialogHeader.vue | 11 +- .../default/ui/dialog/DialogTitle.vue | 17 +- .../DropdownMenuCheckboxItem.vue | 15 +- .../ui/dropdown-menu/DropdownMenuContent.vue | 18 +- .../ui/dropdown-menu/DropdownMenuItem.vue | 27 +- .../ui/dropdown-menu/DropdownMenuLabel.vue | 22 +- .../dropdown-menu/DropdownMenuRadioGroup.vue | 9 +- .../dropdown-menu/DropdownMenuRadioItem.vue | 18 +- .../dropdown-menu/DropdownMenuSeparator.vue | 14 +- .../ui/dropdown-menu/DropdownMenuShortcut.vue | 7 +- .../dropdown-menu/DropdownMenuSubContent.vue | 13 +- .../dropdown-menu/DropdownMenuSubTrigger.vue | 24 +- .../ui/dropdown-menu/DropdownMenuTrigger.vue | 6 +- .../default/ui/form/FormDescription.vue | 12 +- .../lib/registry/default/ui/form/FormItem.vue | 14 +- .../registry/default/ui/form/FormLabel.vue | 15 +- .../default/ui/hover-card/HoverCard.vue | 5 +- .../ui/hover-card/HoverCardContent.vue | 15 +- .../lib/registry/default/ui/input/Input.vue | 2 +- .../lib/registry/default/ui/label/Label.vue | 13 +- .../registry/default/ui/menubar/Menubar.vue | 18 +- .../ui/menubar/MenubarCheckboxItem.vue | 37 +- .../default/ui/menubar/MenubarContent.vue | 19 +- .../default/ui/menubar/MenubarItem.vue | 27 +- .../default/ui/menubar/MenubarLabel.vue | 3 +- .../default/ui/menubar/MenubarRadioGroup.vue | 8 +- .../default/ui/menubar/MenubarRadioItem.vue | 37 +- .../default/ui/menubar/MenubarSeparator.vue | 15 +- .../default/ui/menubar/MenubarShortcut.vue | 7 +- .../default/ui/menubar/MenubarSubContent.vue | 25 +- .../default/ui/menubar/MenubarSubTrigger.vue | 27 +- .../default/ui/menubar/MenubarTrigger.vue | 15 +- .../ui/navigation-menu/NavigationMenu.vue | 15 +- .../navigation-menu/NavigationMenuContent.vue | 25 +- .../NavigationMenuIndicator.vue | 17 +- .../ui/navigation-menu/NavigationMenuLink.vue | 6 +- .../ui/navigation-menu/NavigationMenuList.vue | 17 +- .../navigation-menu/NavigationMenuTrigger.vue | 16 +- .../NavigationMenuViewport.vue | 16 +- .../ui/pagination/PaginationEllipsis.vue | 18 +- .../default/ui/pagination/PaginationFirst.vue | 17 +- .../default/ui/pagination/PaginationLast.vue | 17 +- .../default/ui/pagination/PaginationNext.vue | 17 +- .../default/ui/pagination/PaginationPrev.vue | 17 +- .../default/ui/popover/PopoverContent.vue | 16 +- .../registry/default/ui/progress/Progress.vue | 19 +- .../default/ui/radio-group/RadioGroup.vue | 16 +- .../default/ui/radio-group/RadioGroupItem.vue | 20 +- .../default/ui/scroll-area/ScrollArea.vue | 21 +- .../default/ui/scroll-area/ScrollBar.vue | 13 +- .../default/ui/select/SelectContent.vue | 41 +- .../default/ui/select/SelectGroup.vue | 11 +- .../registry/default/ui/select/SelectItem.vue | 16 +- .../default/ui/select/SelectLabel.vue | 3 +- .../ui/select/SelectScrollDownButton.vue | 24 ++ .../ui/select/SelectScrollUpButton.vue | 24 ++ .../default/ui/select/SelectSeparator.vue | 11 +- .../default/ui/select/SelectTrigger.vue | 34 +- .../lib/registry/default/ui/select/index.ts | 2 + .../default/ui/separator/Separator.vue | 15 +- .../lib/registry/default/ui/sheet/Sheet.vue | 9 +- .../default/ui/sheet/SheetContent.vue | 46 +-- .../default/ui/sheet/SheetDescription.vue | 11 +- .../registry/default/ui/sheet/SheetFooter.vue | 5 +- .../registry/default/ui/sheet/SheetHeader.vue | 5 +- .../registry/default/ui/sheet/SheetTitle.vue | 11 +- .../lib/registry/default/ui/sheet/index.ts | 23 ++ .../registry/default/ui/skeleton/Skeleton.vue | 5 +- .../lib/registry/default/ui/slider/Slider.vue | 17 +- .../lib/registry/default/ui/switch/Switch.vue | 28 +- .../lib/registry/default/ui/table/Table.vue | 7 +- .../registry/default/ui/table/TableBody.vue | 5 +- .../default/ui/table/TableCaption.vue | 5 +- .../registry/default/ui/table/TableCell.vue | 5 +- .../registry/default/ui/table/TableEmpty.vue | 18 +- .../registry/default/ui/table/TableFooter.vue | 7 +- .../registry/default/ui/table/TableHead.vue | 5 +- .../registry/default/ui/table/TableHeader.vue | 5 +- .../registry/default/ui/table/TableRow.vue | 5 +- .../registry/default/ui/tabs/TabsContent.vue | 11 +- .../lib/registry/default/ui/tabs/TabsList.vue | 21 +- .../registry/default/ui/tabs/TabsTrigger.vue | 25 +- .../registry/default/ui/textarea/Textarea.vue | 4 +- .../lib/registry/default/ui/toast/Toast.vue | 32 +- .../registry/default/ui/toast/ToastAction.vue | 11 +- .../registry/default/ui/toast/ToastClose.vue | 19 +- .../default/ui/toast/ToastDescription.vue | 11 +- .../registry/default/ui/toast/ToastTitle.vue | 11 +- .../default/ui/toast/ToastViewport.vue | 11 +- .../lib/registry/default/ui/toast/index.ts | 13 +- .../registry/default/ui/toast/use-toast.ts | 2 +- .../default/ui/toggle-group/ToggleGroup.vue | 2 +- .../ui/toggle-group/ToggleGroupItem.vue | 2 +- .../lib/registry/default/ui/toggle/Toggle.vue | 46 +-- .../lib/registry/default/ui/toggle/index.ts | 4 +- .../default/ui/tooltip/TooltipContent.vue | 18 +- .../new-york/example/CardFormDemo.vue | 9 +- .../new-york/example/DatePickerWithRange.vue | 2 +- .../new-york/example/RangePickerWithSlot.vue | 2 +- .../new-york/ui/accordion/Accordion.vue | 6 +- .../ui/accordion/AccordionContent.vue | 20 +- .../new-york/ui/accordion/AccordionItem.vue | 17 +- .../ui/accordion/AccordionTrigger.vue | 21 +- .../ui/alert-dialog/AlertDialogAction.vue | 11 +- .../ui/alert-dialog/AlertDialogCancel.vue | 11 +- .../ui/alert-dialog/AlertDialogContent.vue | 20 +- .../alert-dialog/AlertDialogDescription.vue | 13 +- .../ui/alert-dialog/AlertDialogFooter.vue | 12 +- .../ui/alert-dialog/AlertDialogHeader.vue | 12 +- .../ui/alert-dialog/AlertDialogTitle.vue | 13 +- .../lib/registry/new-york/ui/alert/Alert.vue | 15 +- .../new-york/ui/alert/AlertDescription.vue | 7 +- .../registry/new-york/ui/alert/AlertTitle.vue | 7 +- .../lib/registry/new-york/ui/alert/index.ts | 4 +- .../registry/new-york/ui/avatar/Avatar.vue | 15 +- .../new-york/ui/avatar/AvatarImage.vue | 2 +- .../lib/registry/new-york/ui/avatar/index.ts | 6 +- .../lib/registry/new-york/ui/badge/Badge.vue | 16 +- .../lib/registry/new-york/ui/badge/index.ts | 4 +- .../registry/new-york/ui/button/Button.vue | 17 +- .../lib/registry/new-york/ui/button/index.ts | 15 +- .../lib/registry/new-york/ui/card/Card.vue | 12 +- .../registry/new-york/ui/card/CardContent.vue | 10 +- .../new-york/ui/card/CardDescription.vue | 10 +- .../registry/new-york/ui/card/CardFooter.vue | 10 +- .../registry/new-york/ui/card/CardHeader.vue | 12 +- .../registry/new-york/ui/card/CardTitle.vue | 10 +- .../new-york/ui/carousel/Carousel.vue | 1 - .../new-york/ui/checkbox/Checkbox.vue | 19 +- .../new-york/ui/collapsible/Collapsible.vue | 6 +- .../registry/new-york/ui/command/Command.vue | 18 +- .../new-york/ui/command/CommandDialog.vue | 6 +- .../new-york/ui/command/CommandEmpty.vue | 11 +- .../new-york/ui/command/CommandGroup.vue | 12 +- .../new-york/ui/command/CommandInput.vue | 27 +- .../new-york/ui/command/CommandItem.vue | 17 +- .../new-york/ui/command/CommandList.vue | 13 +- .../new-york/ui/command/CommandSeparator.vue | 13 +- .../new-york/ui/command/CommandShortcut.vue | 7 +- .../context-menu/ContextMenuCheckboxItem.vue | 29 +- .../ui/context-menu/ContextMenuContent.vue | 22 +- .../ui/context-menu/ContextMenuItem.vue | 27 +- .../ui/context-menu/ContextMenuLabel.vue | 13 +- .../ui/context-menu/ContextMenuRadioItem.vue | 21 +- .../ui/context-menu/ContextMenuSeparator.vue | 11 +- .../ui/context-menu/ContextMenuShortcut.vue | 7 +- .../ui/context-menu/ContextMenuSubContent.vue | 13 +- .../ui/context-menu/ContextMenuSubTrigger.vue | 26 +- .../ui/context-menu/ContextMenuTrigger.vue | 6 +- .../new-york/ui/dialog/DialogContent.vue | 24 +- .../new-york/ui/dialog/DialogDescription.vue | 17 +- .../new-york/ui/dialog/DialogFooter.vue | 9 +- .../new-york/ui/dialog/DialogHeader.vue | 11 +- .../new-york/ui/dialog/DialogTitle.vue | 17 +- .../DropdownMenuCheckboxItem.vue | 15 +- .../ui/dropdown-menu/DropdownMenuContent.vue | 18 +- .../ui/dropdown-menu/DropdownMenuItem.vue | 27 +- .../ui/dropdown-menu/DropdownMenuLabel.vue | 22 +- .../dropdown-menu/DropdownMenuRadioGroup.vue | 9 +- .../dropdown-menu/DropdownMenuRadioItem.vue | 18 +- .../dropdown-menu/DropdownMenuSeparator.vue | 14 +- .../ui/dropdown-menu/DropdownMenuShortcut.vue | 7 +- .../dropdown-menu/DropdownMenuSubContent.vue | 13 +- .../dropdown-menu/DropdownMenuSubTrigger.vue | 24 +- .../ui/dropdown-menu/DropdownMenuTrigger.vue | 6 +- .../new-york/ui/form/FormDescription.vue | 7 +- .../registry/new-york/ui/form/FormItem.vue | 8 +- .../registry/new-york/ui/form/FormLabel.vue | 9 +- .../new-york/ui/hover-card/HoverCard.vue | 5 +- .../ui/hover-card/HoverCardContent.vue | 15 +- .../lib/registry/new-york/ui/input/Input.vue | 2 +- .../lib/registry/new-york/ui/label/Label.vue | 13 +- .../registry/new-york/ui/menubar/Menubar.vue | 16 +- .../ui/menubar/MenubarCheckboxItem.vue | 37 +- .../new-york/ui/menubar/MenubarContent.vue | 14 +- .../new-york/ui/menubar/MenubarItem.vue | 27 +- .../new-york/ui/menubar/MenubarLabel.vue | 3 +- .../new-york/ui/menubar/MenubarRadioGroup.vue | 8 +- .../new-york/ui/menubar/MenubarRadioItem.vue | 37 +- .../new-york/ui/menubar/MenubarSeparator.vue | 15 +- .../new-york/ui/menubar/MenubarShortcut.vue | 7 +- .../new-york/ui/menubar/MenubarSubContent.vue | 27 +- .../new-york/ui/menubar/MenubarSubTrigger.vue | 27 +- .../new-york/ui/menubar/MenubarTrigger.vue | 15 +- .../ui/navigation-menu/NavigationMenu.vue | 15 +- .../navigation-menu/NavigationMenuContent.vue | 25 +- .../NavigationMenuIndicator.vue | 17 +- .../ui/navigation-menu/NavigationMenuLink.vue | 6 +- .../ui/navigation-menu/NavigationMenuList.vue | 17 +- .../navigation-menu/NavigationMenuTrigger.vue | 16 +- .../NavigationMenuViewport.vue | 18 +- .../ui/pagination/PaginationEllipsis.vue | 18 +- .../ui/pagination/PaginationFirst.vue | 17 +- .../new-york/ui/pagination/PaginationLast.vue | 17 +- .../new-york/ui/pagination/PaginationNext.vue | 17 +- .../new-york/ui/pagination/PaginationPrev.vue | 17 +- .../new-york/ui/popover/PopoverContent.vue | 16 +- .../new-york/ui/popover/PopoverTrigger.vue | 2 +- .../lib/registry/new-york/ui/popover/index.ts | 1 + .../new-york/ui/progress/Progress.vue | 19 +- .../new-york/ui/radio-group/RadioGroup.vue | 16 +- .../ui/radio-group/RadioGroupItem.vue | 18 +- .../new-york/ui/scroll-area/ScrollArea.vue | 21 +- .../new-york/ui/scroll-area/ScrollBar.vue | 13 +- .../new-york/ui/select/SelectContent.vue | 41 +- .../new-york/ui/select/SelectGroup.vue | 11 +- .../new-york/ui/select/SelectItem.vue | 18 +- .../new-york/ui/select/SelectLabel.vue | 5 +- .../ui/select/SelectScrollDownButton.vue | 24 ++ .../ui/select/SelectScrollUpButton.vue | 24 ++ .../new-york/ui/select/SelectSeparator.vue | 11 +- .../new-york/ui/select/SelectTrigger.vue | 38 +- .../lib/registry/new-york/ui/select/index.ts | 2 + .../new-york/ui/separator/Separator.vue | 15 +- .../lib/registry/new-york/ui/sheet/Sheet.vue | 9 +- .../new-york/ui/sheet/SheetContent.vue | 48 +-- .../new-york/ui/sheet/SheetDescription.vue | 11 +- .../new-york/ui/sheet/SheetFooter.vue | 5 +- .../new-york/ui/sheet/SheetHeader.vue | 5 +- .../registry/new-york/ui/sheet/SheetTitle.vue | 11 +- .../lib/registry/new-york/ui/sheet/index.ts | 23 ++ .../new-york/ui/skeleton/Skeleton.vue | 5 +- .../registry/new-york/ui/slider/Slider.vue | 17 +- .../registry/new-york/ui/switch/Switch.vue | 28 +- .../lib/registry/new-york/ui/table/Table.vue | 7 +- .../registry/new-york/ui/table/TableBody.vue | 5 +- .../new-york/ui/table/TableCaption.vue | 5 +- .../registry/new-york/ui/table/TableCell.vue | 5 +- .../registry/new-york/ui/table/TableEmpty.vue | 18 +- .../new-york/ui/table/TableFooter.vue | 7 +- .../registry/new-york/ui/table/TableHead.vue | 5 +- .../new-york/ui/table/TableHeader.vue | 5 +- .../registry/new-york/ui/table/TableRow.vue | 5 +- .../registry/new-york/ui/tabs/TabsContent.vue | 11 +- .../registry/new-york/ui/tabs/TabsList.vue | 21 +- .../registry/new-york/ui/tabs/TabsTrigger.vue | 25 +- .../new-york/ui/textarea/Textarea.vue | 4 +- .../lib/registry/new-york/ui/toast/Toast.vue | 32 +- .../new-york/ui/toast/ToastAction.vue | 11 +- .../registry/new-york/ui/toast/ToastClose.vue | 15 +- .../new-york/ui/toast/ToastDescription.vue | 11 +- .../registry/new-york/ui/toast/ToastTitle.vue | 11 +- .../new-york/ui/toast/ToastViewport.vue | 11 +- .../lib/registry/new-york/ui/toast/index.ts | 15 +- .../registry/new-york/ui/toast/use-toast.ts | 2 +- .../new-york/ui/toggle-group/ToggleGroup.vue | 2 +- .../ui/toggle-group/ToggleGroupItem.vue | 2 +- .../registry/new-york/ui/toggle/Toggle.vue | 46 +-- .../lib/registry/new-york/ui/toggle/index.ts | 4 +- .../new-york/ui/tooltip/TooltipContent.vue | 18 +- .../new-york/ui/tooltip/TooltipTrigger.vue | 2 +- apps/www/src/public/registry/index.json | 10 +- .../registry/styles/default/accordion.json | 8 +- .../registry/styles/default/alert-dialog.json | 14 +- .../public/registry/styles/default/alert.json | 8 +- .../registry/styles/default/avatar.json | 4 +- .../public/registry/styles/default/badge.json | 4 +- .../registry/styles/default/button.json | 4 +- .../registry/styles/default/calendar.json | 2 +- .../public/registry/styles/default/card.json | 12 +- .../registry/styles/default/carousel.json | 11 +- .../registry/styles/default/checkbox.json | 2 +- .../registry/styles/default/collapsible.json | 2 +- .../registry/styles/default/command.json | 18 +- .../registry/styles/default/context-menu.json | 20 +- .../registry/styles/default/dialog.json | 10 +- .../styles/default/dropdown-menu.json | 22 +- .../public/registry/styles/default/form.json | 9 +- .../registry/styles/default/hover-card.json | 4 +- .../public/registry/styles/default/input.json | 2 +- .../public/registry/styles/default/label.json | 2 +- .../registry/styles/default/menubar.json | 24 +- .../styles/default/navigation-menu.json | 14 +- .../registry/styles/default/pagination.json | 10 +- .../registry/styles/default/popover.json | 2 +- .../registry/styles/default/progress.json | 2 +- .../registry/styles/default/radio-group.json | 4 +- .../registry/styles/default/scroll-area.json | 4 +- .../registry/styles/default/select.json | 22 +- .../registry/styles/default/separator.json | 2 +- .../public/registry/styles/default/sheet.json | 14 +- .../registry/styles/default/skeleton.json | 2 +- .../registry/styles/default/slider.json | 2 +- .../registry/styles/default/switch.json | 2 +- .../public/registry/styles/default/table.json | 18 +- .../public/registry/styles/default/tabs.json | 6 +- .../registry/styles/default/textarea.json | 2 +- .../public/registry/styles/default/toast.json | 16 +- .../registry/styles/default/toggle-group.json | 4 +- .../registry/styles/default/toggle.json | 4 +- .../registry/styles/default/tooltip.json | 2 +- .../registry/styles/new-york/accordion.json | 8 +- .../styles/new-york/alert-dialog.json | 14 +- .../registry/styles/new-york/alert.json | 8 +- .../registry/styles/new-york/avatar.json | 6 +- .../registry/styles/new-york/badge.json | 4 +- .../registry/styles/new-york/button.json | 4 +- .../public/registry/styles/new-york/card.json | 12 +- .../registry/styles/new-york/carousel.json | 7 +- .../registry/styles/new-york/checkbox.json | 2 +- .../registry/styles/new-york/collapsible.json | 2 +- .../registry/styles/new-york/command.json | 18 +- .../styles/new-york/context-menu.json | 20 +- .../registry/styles/new-york/dialog.json | 10 +- .../styles/new-york/dropdown-menu.json | 22 +- .../public/registry/styles/new-york/form.json | 9 +- .../registry/styles/new-york/hover-card.json | 4 +- .../registry/styles/new-york/input.json | 2 +- .../registry/styles/new-york/label.json | 2 +- .../registry/styles/new-york/menubar.json | 24 +- .../styles/new-york/navigation-menu.json | 14 +- .../registry/styles/new-york/pagination.json | 10 +- .../registry/styles/new-york/popover.json | 6 +- .../registry/styles/new-york/progress.json | 2 +- .../registry/styles/new-york/radio-group.json | 4 +- .../registry/styles/new-york/scroll-area.json | 4 +- .../registry/styles/new-york/select.json | 22 +- .../registry/styles/new-york/separator.json | 2 +- .../registry/styles/new-york/sheet.json | 14 +- .../registry/styles/new-york/skeleton.json | 2 +- .../registry/styles/new-york/slider.json | 2 +- .../registry/styles/new-york/switch.json | 2 +- .../registry/styles/new-york/table.json | 18 +- .../public/registry/styles/new-york/tabs.json | 6 +- .../registry/styles/new-york/textarea.json | 2 +- .../registry/styles/new-york/toast.json | 16 +- .../styles/new-york/toggle-group.json | 4 +- .../registry/styles/new-york/toggle.json | 4 +- .../registry/styles/new-york/tooltip.json | 4 +- apps/www/tailwind.config.js | 2 +- package.json | 2 +- pnpm-lock.yaml | 369 ++++++++++-------- 402 files changed, 3480 insertions(+), 2058 deletions(-) create mode 100644 apps/www/src/lib/registry/default/ui/select/SelectScrollDownButton.vue create mode 100644 apps/www/src/lib/registry/default/ui/select/SelectScrollUpButton.vue create mode 100644 apps/www/src/lib/registry/new-york/ui/select/SelectScrollDownButton.vue create mode 100644 apps/www/src/lib/registry/new-york/ui/select/SelectScrollUpButton.vue diff --git a/apps/www/.vitepress/config.mts b/apps/www/.vitepress/config.mts index 48579d2bb..b6cf67bdf 100644 --- a/apps/www/.vitepress/config.mts +++ b/apps/www/.vitepress/config.mts @@ -3,9 +3,9 @@ import { defineConfig } from 'vitepress' import Icons from 'unplugin-icons/vite' import tailwind from 'tailwindcss' import autoprefixer from 'autoprefixer' -import { createCssVariablesTheme } from 'shikiji' +import { createCssVariablesTheme } from 'shiki' -// import { transformerMetaWordHighlight } from 'shikiji-transformers' +// import { transformerMetaWordHighlight, transformerNotationWordHighlight } from '@shikijs/transformers' import { siteConfig } from './theme/config/site' import ComponentPreviewPlugin from './theme/plugins/previewer' @@ -61,6 +61,7 @@ export default defineConfig({ theme: cssVariables, codeTransformers: [ // transformerMetaWordHighlight(), + // transformerNotationWordHighlight(), ], config(md) { md.use(ComponentPreviewPlugin) @@ -86,8 +87,5 @@ export default defineConfig({ '@': path.resolve(__dirname, '../src'), }, }, - ssr: { - noExternal: ['vue-sonner'], - }, }, }) diff --git a/apps/www/.vitepress/theme/layout/DocsLayout.vue b/apps/www/.vitepress/theme/layout/DocsLayout.vue index 388301e0d..1ab121425 100644 --- a/apps/www/.vitepress/theme/layout/DocsLayout.vue +++ b/apps/www/.vitepress/theme/layout/DocsLayout.vue @@ -46,9 +46,9 @@ const sourceLink = 'https://github.com/radix-vue/shadcn-vue/tree/dev/' > {{ doc.title }} - + {{ doc.label }} - + diff --git a/apps/www/.vitepress/theme/layout/MainLayout.vue b/apps/www/.vitepress/theme/layout/MainLayout.vue index 3caf425db..946f26bb4 100644 --- a/apps/www/.vitepress/theme/layout/MainLayout.vue +++ b/apps/www/.vitepress/theme/layout/MainLayout.vue @@ -288,7 +288,9 @@ watch(() => $route.path, (n) => { - + + + diff --git a/apps/www/.vitepress/theme/styles/shiki.css b/apps/www/.vitepress/theme/styles/shiki.css index 9c0d7eda5..db0028290 100644 --- a/apps/www/.vitepress/theme/styles/shiki.css +++ b/apps/www/.vitepress/theme/styles/shiki.css @@ -10,4 +10,11 @@ --shiki-token-string-expression: #ebebeb; --shiki-token-punctuation: #ffffff; --shiki-token-link: #EE0000; +} + +.shiki .highlighted-word { + border-radius: calc(var(--radius) - 2px); + border-color: rgba(63,63,70,.7); + background-color: rgba(63,63,70,.5); + padding: 0.25rem; } \ No newline at end of file diff --git a/apps/www/package.json b/apps/www/package.json index 186171f7e..b4cbca680 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -19,25 +19,25 @@ "@morev/vue-transitions": "^2.3.6", "@radix-icons/vue": "^1.0.0", "@stackblitz/sdk": "^1.9.0", - "@tanstack/vue-table": "^8.11.7", - "@unovis/ts": "^1.3.1", - "@unovis/vue": "^1.3.1", - "@vee-validate/zod": "^4.12.4", + "@tanstack/vue-table": "^8.11.8", + "@unovis/ts": "^1.3.3", + "@unovis/vue": "^1.3.3", + "@vee-validate/zod": "^4.12.5", "@vueuse/core": "^10.7.2", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "codesandbox": "^2.2.3", "date-fns": "^2.30.0", - "embla-carousel": "8.0.0-rc19", - "embla-carousel-autoplay": "8.0.0-rc19", - "embla-carousel-vue": "8.0.0-rc19", + "embla-carousel": "^8.0.0-rc22", + "embla-carousel-autoplay": "^8.0.0-rc22", + "embla-carousel-vue": "^8.0.0-rc22", "lucide-vue-next": "^0.276.0", - "radix-vue": "^1.3.2", + "radix-vue": "^1.4.0", "tailwindcss-animate": "^1.0.7", "v-calendar": "^3.1.2", - "vee-validate": "4.12.4", + "vee-validate": "4.12.5", "vue": "^3.4.15", - "vue-sonner": "^1.0.2", + "vue-sonner": "^1.0.3", "vue-wrap-balancer": "^1.1.3", "zod": "^3.22.4" }, @@ -46,26 +46,26 @@ "@iconify-json/tabler": "^1.1.89", "@iconify/json": "^2.2.108", "@iconify/vue": "^4.1.1", + "@shikijs/transformers": "^1.0.0-beta.3", "@types/lodash.template": "^4.5.2", "@types/node": "^20.8.10", "@vitejs/plugin-vue": "^5.0.3", "@vitejs/plugin-vue-jsx": "^3.1.0", - "@vue/compiler-core": "^3.4.14", - "@vue/compiler-dom": "^3.4.14", + "@vue/compiler-core": "^3.4.15", + "@vue/compiler-dom": "^3.4.15", "@vue/tsconfig": "^0.5.1", - "autoprefixer": "^10.4.16", + "autoprefixer": "^10.4.17", "lodash.template": "^4.5.0", "pathe": "^1.1.2", "rimraf": "^5.0.5", - "shikiji": "^0.10.0-beta.9", - "shikiji-transformers": "^0.10.0-beta.9", - "tailwind-merge": "^2.2.0", + "shiki": "^1.0.0-beta.3", + "tailwind-merge": "^2.2.1", "tailwindcss": "^3.4.1", "tsx": "^4.7.0", "typescript": "^5.3.3", - "unplugin-icons": "^0.17.1", + "unplugin-icons": "^0.18.3", "vite": "^5.0.12", - "vitepress": "^1.0.0-rc.39", + "vitepress": "^1.0.0-rc.41", "vue-tsc": "^1.8.27" } } diff --git a/apps/www/src/content/docs/components/data-table.md b/apps/www/src/content/docs/components/data-table.md index e479e4de3..1e8c7b3ce 100644 --- a/apps/www/src/content/docs/components/data-table.md +++ b/apps/www/src/content/docs/components/data-table.md @@ -25,7 +25,7 @@ We'll start with the basic `` component and build a complex data table ## Table of Contents -This guide will show you how to use [TanStack Table](https://tanstack.com/table/v8) and the
component to build your own custom data table. We'll cover the following topics: +This guide will show you how to use [TanStack Table](https://tanstack.com/table/v8) and the `
` component to build your own custom data table. We'll cover the following topics: - [Basic Table](#basic-table) - [Row Actions](#row-actions) @@ -109,31 +109,23 @@ Let's start by building a basic table. First, we'll define our columns in the `columns.ts` file. -```ts:line-numbers title="components/payments/columns.ts" {1,12-27} -import type { ColumnDef } from '@tanstack/vue-table' - -// This type is used to define the shape of our data. -// You can use a Zod schema here if you want. -export interface Payment { - id: string - amount: number - status: 'pending' | 'processing' | 'success' | 'failed' - email: string -} +```ts:line-numbers {1,12-27} +import { h } from 'vue' export const columns: ColumnDef[] = [ - { - accessorKey: 'status', - header: 'Status', - }, - { - accessorKey: 'email', - header: 'Email', - }, { accessorKey: 'amount', - header: 'Amount', - }, + header: () => h('div', { class: 'text-right' }, 'Amount'), + cell: ({ row }) => { + const amount = Number.parseFloat(row.getValue('amount')) + const formatted = new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + }).format(amount) + + return h('div', { class: 'text-right font-medium' }, formatted) + }, + } ] ``` @@ -149,7 +141,7 @@ formatted, sorted and filtered. Next, we'll create a `` component to render our table. -```ts:line-numbers +```vue:line-numbers diff --git a/apps/www/src/lib/registry/default/ui/accordion/AccordionContent.vue b/apps/www/src/lib/registry/default/ui/accordion/AccordionContent.vue index 740f4e666..d8ec98895 100644 --- a/apps/www/src/lib/registry/default/ui/accordion/AccordionContent.vue +++ b/apps/www/src/lib/registry/default/ui/accordion/AccordionContent.vue @@ -1,21 +1,23 @@