From 1e09fa46427c838b67db11c1bee0c16d739ab0b4 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 16:22:24 +0800 Subject: [PATCH] feat: migrate from Radix Vue to Reka UI (#6870) * Initial plan * Update dependencies and imports from radix-vue to reka-ui Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com> * Fix type errors after reka-ui migration Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com> * Run formatter to fix code style Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com> --- docs/.vitepress/components/preview-group.vue | 4 +- docs/package.json | 2 +- .../vben-vxe-table/custom-cell/index.vue | 2 +- packages/@core/composables/package.json | 2 +- packages/@core/composables/src/index.ts | 2 +- .../menu-ui/src/components/sub-menu.vue | 2 +- packages/@core/ui-kit/shadcn-ui/package.json | 2 +- .../src/components/avatar/avatar.vue | 2 +- .../components/breadcrumb/breadcrumb-view.vue | 2 +- .../shadcn-ui/src/components/button/button.ts | 2 +- .../src/components/button/button.vue | 2 +- .../src/components/checkbox/checkbox.vue | 8 +- .../components/context-menu/context-menu.vue | 4 +- .../src/components/hover-card/hover-card.vue | 4 +- .../src/components/hover-card/index.ts | 2 +- .../src/components/pin-input/input.vue | 4 +- .../src/components/popover/popover.vue | 4 +- .../src/components/segmented/segmented.vue | 2 +- .../components/segmented/tabs-indicator.vue | 6 +- .../src/components/tooltip/tooltip.vue | 2 +- packages/@core/ui-kit/shadcn-ui/src/index.ts | 2 +- .../shadcn-ui/src/ui/accordion/Accordion.vue | 4 +- .../src/ui/accordion/AccordionContent.vue | 4 +- .../src/ui/accordion/AccordionItem.vue | 4 +- .../src/ui/accordion/AccordionTrigger.vue | 4 +- .../src/ui/alert-dialog/AlertDialog.vue | 4 +- .../src/ui/alert-dialog/AlertDialogAction.vue | 4 +- .../src/ui/alert-dialog/AlertDialogCancel.vue | 4 +- .../ui/alert-dialog/AlertDialogContent.vue | 7 +- .../alert-dialog/AlertDialogDescription.vue | 4 +- .../src/ui/alert-dialog/AlertDialogTitle.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/avatar/Avatar.vue | 2 +- .../src/ui/avatar/AvatarFallback.vue | 4 +- .../shadcn-ui/src/ui/avatar/AvatarImage.vue | 4 +- .../src/ui/breadcrumb/BreadcrumbLink.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/button/Button.vue | 4 +- .../shadcn-ui/src/ui/checkbox/Checkbox.vue | 8 +- .../src/ui/context-menu/ContextMenu.vue | 4 +- .../context-menu/ContextMenuCheckboxItem.vue | 4 +- .../ui/context-menu/ContextMenuContent.vue | 7 +- .../src/ui/context-menu/ContextMenuGroup.vue | 4 +- .../src/ui/context-menu/ContextMenuItem.vue | 4 +- .../src/ui/context-menu/ContextMenuLabel.vue | 4 +- .../src/ui/context-menu/ContextMenuPortal.vue | 4 +- .../ui/context-menu/ContextMenuRadioGroup.vue | 4 +- .../ui/context-menu/ContextMenuRadioItem.vue | 4 +- .../ui/context-menu/ContextMenuSeparator.vue | 4 +- .../src/ui/context-menu/ContextMenuSub.vue | 4 +- .../ui/context-menu/ContextMenuSubContent.vue | 4 +- .../ui/context-menu/ContextMenuSubTrigger.vue | 4 +- .../ui/context-menu/ContextMenuTrigger.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/dialog/Dialog.vue | 4 +- .../shadcn-ui/src/ui/dialog/DialogClose.vue | 4 +- .../shadcn-ui/src/ui/dialog/DialogContent.vue | 4 +- .../src/ui/dialog/DialogDescription.vue | 4 +- .../src/ui/dialog/DialogScrollContent.vue | 4 +- .../shadcn-ui/src/ui/dialog/DialogTitle.vue | 4 +- .../shadcn-ui/src/ui/dialog/DialogTrigger.vue | 4 +- .../src/ui/dropdown-menu/DropdownMenu.vue | 4 +- .../DropdownMenuCheckboxItem.vue | 4 +- .../ui/dropdown-menu/DropdownMenuContent.vue | 4 +- .../ui/dropdown-menu/DropdownMenuGroup.vue | 4 +- .../src/ui/dropdown-menu/DropdownMenuItem.vue | 4 +- .../ui/dropdown-menu/DropdownMenuLabel.vue | 4 +- .../dropdown-menu/DropdownMenuRadioGroup.vue | 4 +- .../dropdown-menu/DropdownMenuRadioItem.vue | 4 +- .../dropdown-menu/DropdownMenuSeparator.vue | 4 +- .../src/ui/dropdown-menu/DropdownMenuSub.vue | 4 +- .../dropdown-menu/DropdownMenuSubContent.vue | 4 +- .../dropdown-menu/DropdownMenuSubTrigger.vue | 4 +- .../ui/dropdown-menu/DropdownMenuTrigger.vue | 4 +- .../shadcn-ui/src/ui/dropdown-menu/index.ts | 2 +- .../shadcn-ui/src/ui/form/FormControl.vue | 2 +- .../shadcn-ui/src/ui/form/FormLabel.vue | 2 +- .../shadcn-ui/src/ui/hover-card/HoverCard.vue | 4 +- .../src/ui/hover-card/HoverCardContent.vue | 4 +- .../src/ui/hover-card/HoverCardTrigger.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/label/Label.vue | 4 +- .../src/ui/number-field/NumberField.vue | 4 +- .../ui/number-field/NumberFieldDecrement.vue | 4 +- .../ui/number-field/NumberFieldIncrement.vue | 4 +- .../src/ui/number-field/NumberFieldInput.vue | 2 +- .../src/ui/pagination/PaginationEllipsis.vue | 4 +- .../src/ui/pagination/PaginationFirst.vue | 4 +- .../src/ui/pagination/PaginationLast.vue | 4 +- .../src/ui/pagination/PaginationNext.vue | 4 +- .../src/ui/pagination/PaginationPrev.vue | 4 +- .../shadcn-ui/src/ui/pagination/index.ts | 2 +- .../shadcn-ui/src/ui/pin-input/PinInput.vue | 4 +- .../src/ui/pin-input/PinInputGroup.vue | 4 +- .../src/ui/pin-input/PinInputInput.vue | 4 +- .../src/ui/pin-input/PinInputSeparator.vue | 4 +- .../shadcn-ui/src/ui/popover/Popover.vue | 4 +- .../src/ui/popover/PopoverContent.vue | 4 +- .../src/ui/popover/PopoverTrigger.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/popover/index.ts | 2 +- .../src/ui/radio-group/RadioGroup.vue | 4 +- .../src/ui/radio-group/RadioGroupItem.vue | 8 +- .../src/ui/resizable/ResizableHandle.vue | 4 +- .../src/ui/resizable/ResizablePanelGroup.vue | 4 +- .../shadcn-ui/src/ui/resizable/index.ts | 2 +- .../src/ui/scroll-area/ScrollArea.vue | 8 +- .../src/ui/scroll-area/ScrollBar.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/select/Select.vue | 4 +- .../shadcn-ui/src/ui/select/SelectContent.vue | 6 +- .../shadcn-ui/src/ui/select/SelectGroup.vue | 4 +- .../shadcn-ui/src/ui/select/SelectItem.vue | 4 +- .../src/ui/select/SelectItemText.vue | 4 +- .../shadcn-ui/src/ui/select/SelectLabel.vue | 4 +- .../src/ui/select/SelectScrollDownButton.vue | 4 +- .../src/ui/select/SelectScrollUpButton.vue | 4 +- .../src/ui/select/SelectSeparator.vue | 4 +- .../shadcn-ui/src/ui/select/SelectTrigger.vue | 4 +- .../shadcn-ui/src/ui/select/SelectValue.vue | 4 +- .../shadcn-ui/src/ui/separator/Separator.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/sheet/Sheet.vue | 4 +- .../shadcn-ui/src/ui/sheet/SheetClose.vue | 4 +- .../shadcn-ui/src/ui/sheet/SheetContent.vue | 4 +- .../src/ui/sheet/SheetDescription.vue | 4 +- .../shadcn-ui/src/ui/sheet/SheetTitle.vue | 4 +- .../shadcn-ui/src/ui/sheet/SheetTrigger.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/switch/Switch.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/tabs/Tabs.vue | 4 +- .../shadcn-ui/src/ui/tabs/TabsContent.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/tabs/TabsList.vue | 4 +- .../shadcn-ui/src/ui/tabs/TabsTrigger.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/tabs/index.ts | 2 +- .../src/ui/toggle-group/ToggleGroup.vue | 4 +- .../src/ui/toggle-group/ToggleGroupItem.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/toggle/Toggle.vue | 4 +- .../shadcn-ui/src/ui/tooltip/Tooltip.vue | 4 +- .../src/ui/tooltip/TooltipContent.vue | 4 +- .../src/ui/tooltip/TooltipProvider.vue | 4 +- .../src/ui/tooltip/TooltipTrigger.vue | 4 +- .../ui-kit/shadcn-ui/src/ui/tree/index.ts | 2 +- .../ui-kit/shadcn-ui/src/ui/tree/tree.vue | 9 +- .../ui-kit/shadcn-ui/src/ui/tree/types.ts | 2 +- .../common-ui/src/ui/authentication/login.vue | 2 +- .../ui/dashboard/workbench/workbench-todo.vue | 2 +- .../preferences/blocks/switch-item.vue | 2 +- .../captcha/point-selection-captcha.vue | 4 +- .../src/views/examples/count-to/index.vue | 2 +- playground/src/views/examples/form/merge.vue | 2 +- .../examples/form/scroll-to-error-test.vue | 5 +- .../src/views/examples/layout/col-page.vue | 10 +- .../views/examples/vxe-table/custom-cell.vue | 2 +- pnpm-lock.yaml | 146 ++++-------------- pnpm-workspace.yaml | 2 +- 148 files changed, 303 insertions(+), 405 deletions(-) diff --git a/docs/.vitepress/components/preview-group.vue b/docs/.vitepress/components/preview-group.vue index e712157c..2fb02d3f 100644 --- a/docs/.vitepress/components/preview-group.vue +++ b/docs/.vitepress/components/preview-group.vue @@ -12,7 +12,7 @@ import { TabsList, TabsRoot, TabsTrigger, -} from 'radix-vue'; +} from 'reka-ui'; defineOptions({ inheritAttrs: false, @@ -56,7 +56,7 @@ const toggleOpen = () => {