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>
This commit is contained in:
Copilot 2025-11-06 16:22:24 +08:00 committed by GitHub
parent 7268824612
commit 1e09fa4642
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
148 changed files with 303 additions and 405 deletions

View File

@ -12,7 +12,7 @@ import {
TabsList,
TabsRoot,
TabsTrigger,
} from 'radix-vue';
} from 'reka-ui';
defineOptions({
inheritAttrs: false,
@ -56,7 +56,7 @@ const toggleOpen = () => {
<TabsList class="relative flex">
<template v-if="open">
<TabsIndicator
class="absolute bottom-0 left-0 h-[2px] w-[--radix-tabs-indicator-size] translate-x-[--radix-tabs-indicator-position] rounded-full transition-[width,transform] duration-300"
class="absolute bottom-0 left-0 h-[2px] w-[--reka-tabs-indicator-size] translate-x-[--reka-tabs-indicator-position] rounded-full transition-[width,transform] duration-300"
>
<div class="size-full bg-[var(--vp-c-indigo-1)]"></div>
</TabsIndicator>

View File

@ -22,7 +22,7 @@
"ant-design-vue": "catalog:",
"lucide-vue-next": "catalog:",
"medium-zoom": "catalog:",
"radix-vue": "catalog:",
"reka-ui": "catalog:",
"vitepress-plugin-group-icons": "catalog:"
},
"devDependencies": {

View File

@ -92,7 +92,7 @@ const [Grid] = useVbenVxeGrid({ gridOptions });
<Image :src="row.imageUrl" height="30" width="30" />
</template>
<template #open="{ row }">
<Switch v-model:checked="row.open" />
<Switch v-model="row.open" />
</template>
<template #status="{ row }">
<Tag :color="row.color">{{ row.status }}</Tag>

View File

@ -37,7 +37,7 @@
"dependencies": {
"@vben-core/shared": "workspace:*",
"@vueuse/core": "catalog:",
"radix-vue": "catalog:",
"reka-ui": "catalog:",
"sortablejs": "catalog:",
"vue": "catalog:"
},

View File

@ -10,4 +10,4 @@ export {
useForwardExpose,
useForwardProps,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';

View File

@ -209,7 +209,7 @@ onBeforeUnmount(() => {
is(rootMenu.theme, true),
opened ? '' : 'hidden',
'overflow-auto',
'max-h-[calc(var(--radix-hover-card-content-available-height)-20px)]',
'max-h-[calc(var(--reka-hover-card-content-available-height)-20px)]',
]"
:content-props="contentProps"
:open="true"

View File

@ -47,7 +47,7 @@
"@vueuse/core": "catalog:",
"class-variance-authority": "catalog:",
"lucide-vue-next": "catalog:",
"radix-vue": "catalog:",
"reka-ui": "catalog:",
"vee-validate": "catalog:",
"vue": "catalog:"
}

View File

@ -3,7 +3,7 @@ import type {
AvatarFallbackProps,
AvatarImageProps,
AvatarRootProps,
} from 'radix-vue';
} from 'reka-ui';
import type { CSSProperties } from 'vue';

View File

@ -1,7 +1,7 @@
<script lang="ts" setup>
import type { BreadcrumbProps } from './types';
import { useForwardPropsEmits } from 'radix-vue';
import { useForwardPropsEmits } from 'reka-ui';
import BreadcrumbBackground from './breadcrumb-background.vue';
import Breadcrumb from './breadcrumb.vue';

View File

@ -1,4 +1,4 @@
import type { AsTag } from 'radix-vue';
import type { AsTag } from 'reka-ui';
import type { Component } from 'vue';

View File

@ -6,7 +6,7 @@ import { computed } from 'vue';
import { LoaderCircle } from '@vben-core/icons';
import { cn } from '@vben-core/shared/utils';
import { Primitive } from 'radix-vue';
import { Primitive } from 'reka-ui';
import { buttonVariants } from '../../ui';

View File

@ -1,9 +1,9 @@
<script setup lang="ts">
import type { CheckboxRootEmits, CheckboxRootProps } from 'radix-vue';
import type { CheckboxRootEmits, CheckboxRootProps } from 'reka-ui';
import { useId } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import { useForwardPropsEmits } from 'reka-ui';
import { Checkbox } from '../../ui/checkbox';
@ -11,7 +11,7 @@ const props = defineProps<CheckboxRootProps & { indeterminate?: boolean }>();
const emits = defineEmits<CheckboxRootEmits>();
const checked = defineModel<boolean>('checked');
const checked = defineModel<boolean>();
const forwarded = useForwardPropsEmits(props, emits);
@ -20,7 +20,7 @@ const id = useId();
<template>
<div class="flex items-center">
<Checkbox v-bind="forwarded" :id="id" v-model:checked="checked" />
<Checkbox v-bind="forwarded" :id="id" v-model="checked" />
<label :for="id" class="ml-2 cursor-pointer text-sm"> <slot></slot> </label>
</div>
</template>

View File

@ -3,7 +3,7 @@ import type {
ContextMenuContentProps,
ContextMenuRootEmits,
ContextMenuRootProps,
} from 'radix-vue';
} from 'reka-ui';
import type { ClassType } from '@vben-core/typings';
@ -11,7 +11,7 @@ import type { IContextMenuItem } from './interface';
import { computed } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import { useForwardPropsEmits } from 'reka-ui';
import {
ContextMenu,

View File

@ -3,13 +3,13 @@ import type {
HoverCardContentProps,
HoverCardRootEmits,
HoverCardRootProps,
} from 'radix-vue';
} from 'reka-ui';
import type { ClassType } from '@vben-core/typings';
import { computed } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import { useForwardPropsEmits } from 'reka-ui';
import { HoverCard, HoverCardContent, HoverCardTrigger } from '../../ui';

View File

@ -1,2 +1,2 @@
export { default as VbenHoverCard } from './hover-card.vue';
export type { HoverCardContentProps } from 'radix-vue';
export type { HoverCardContentProps } from 'reka-ui';

View File

@ -84,6 +84,8 @@ onBeforeUnmount(() => {
});
const id = useId();
const pinType = 'text' as const;
</script>
<template>
@ -94,7 +96,7 @@ const id = useId();
class="flex w-full justify-between"
otp
placeholder="○"
type="number"
:type="pinType"
@complete="handleComplete"
>
<div class="relative flex w-full">

View File

@ -3,13 +3,13 @@ import type {
PopoverContentProps,
PopoverRootEmits,
PopoverRootProps,
} from 'radix-vue';
} from 'reka-ui';
import type { ClassType } from '@vben-core/typings';
import { computed } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import { useForwardPropsEmits } from 'reka-ui';
import {
PopoverContent,

View File

@ -3,7 +3,7 @@ import type { SegmentedItem } from './types';
import { computed } from 'vue';
import { TabsTrigger } from 'radix-vue';
import { TabsTrigger } from 'reka-ui';
import { Tabs, TabsContent, TabsList } from '../../ui';
import TabsIndicator from './tabs-indicator.vue';

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { TabsIndicatorProps } from 'radix-vue';
import type { TabsIndicatorProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { TabsIndicator, useForwardProps } from 'radix-vue';
import { TabsIndicator, useForwardProps } from 'reka-ui';
const props = defineProps<TabsIndicatorProps & { class?: any }>();
@ -23,7 +23,7 @@ const forwardedProps = useForwardProps(delegatedProps);
v-bind="forwardedProps"
:class="
cn(
'absolute bottom-0 left-0 z-10 h-full w-1/2 translate-x-[--radix-tabs-indicator-position] rounded-full px-0 py-1 pr-0.5 transition-[width,transform] duration-300',
'absolute bottom-0 left-0 z-10 h-full w-1/2 translate-x-[--reka-tabs-indicator-position] rounded-full px-0 py-1 pr-0.5 transition-[width,transform] duration-300',
props.class,
)
"

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import type { TooltipContentProps } from 'radix-vue';
import type { TooltipContentProps } from 'reka-ui';
import type { StyleValue } from 'vue';

View File

@ -1,3 +1,3 @@
export * from './components';
export * from './ui';
export { createContext, Slot, VisuallyHidden } from 'radix-vue';
export { createContext, Slot, VisuallyHidden } from 'reka-ui';

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { AccordionRootEmits, AccordionRootProps } from 'radix-vue';
import type { AccordionRootEmits, AccordionRootProps } from 'reka-ui';
import { AccordionRoot, useForwardPropsEmits } from 'radix-vue';
import { AccordionRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<AccordionRootProps>();
const emits = defineEmits<AccordionRootEmits>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { AccordionContentProps } from 'radix-vue';
import type { AccordionContentProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { AccordionContent } from 'radix-vue';
import { AccordionContent } from 'reka-ui';
const props = defineProps<AccordionContentProps & { class?: any }>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { AccordionItemProps } from 'radix-vue';
import type { AccordionItemProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { AccordionItem, useForwardProps } from 'radix-vue';
import { AccordionItem, useForwardProps } from 'reka-ui';
const props = defineProps<AccordionItemProps & { class?: any }>();

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { AccordionTriggerProps } from 'radix-vue';
import type { AccordionTriggerProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronDown } from 'lucide-vue-next';
import { AccordionHeader, AccordionTrigger } from 'radix-vue';
import { AccordionHeader, AccordionTrigger } from 'reka-ui';
const props = defineProps<AccordionTriggerProps & { class?: any }>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { AlertDialogEmits, AlertDialogProps } from 'radix-vue';
import type { AlertDialogEmits, AlertDialogProps } from 'reka-ui';
import { AlertDialogRoot, useForwardPropsEmits } from 'radix-vue';
import { AlertDialogRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<AlertDialogProps>();
const emits = defineEmits<AlertDialogEmits>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { AlertDialogActionProps } from 'radix-vue';
import type { AlertDialogActionProps } from 'reka-ui';
import { AlertDialogAction } from 'radix-vue';
import { AlertDialogAction } from 'reka-ui';
const props = defineProps<AlertDialogActionProps>();
</script>

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { AlertDialogCancelProps } from 'radix-vue';
import type { AlertDialogCancelProps } from 'reka-ui';
import { AlertDialogCancel } from 'radix-vue';
import { AlertDialogCancel } from 'reka-ui';
const props = defineProps<AlertDialogCancelProps>();
</script>

View File

@ -1,8 +1,5 @@
<script setup lang="ts">
import type {
AlertDialogContentEmits,
AlertDialogContentProps,
} from 'radix-vue';
import type { AlertDialogContentEmits, AlertDialogContentProps } from 'reka-ui';
import type { ClassType } from '@vben-core/typings';
@ -14,7 +11,7 @@ import {
AlertDialogContent,
AlertDialogPortal,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
import AlertDialogOverlay from './AlertDialogOverlay.vue';

View File

@ -1,11 +1,11 @@
<script lang="ts" setup>
import type { AlertDialogDescriptionProps } from 'radix-vue';
import type { AlertDialogDescriptionProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { AlertDialogDescription, useForwardProps } from 'radix-vue';
import { AlertDialogDescription, useForwardProps } from 'reka-ui';
const props = defineProps<AlertDialogDescriptionProps & { class?: any }>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { AlertDialogTitleProps } from 'radix-vue';
import type { AlertDialogTitleProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { AlertDialogTitle, useForwardProps } from 'radix-vue';
import { AlertDialogTitle, useForwardProps } from 'reka-ui';
const props = defineProps<AlertDialogTitleProps & { class?: any }>();

View File

@ -3,7 +3,7 @@ import type { AvatarVariants } from './avatar';
import { cn } from '@vben-core/shared/utils';
import { AvatarRoot } from 'radix-vue';
import { AvatarRoot } from 'reka-ui';
import { avatarVariant } from './avatar';

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { AvatarFallbackProps } from 'radix-vue';
import type { AvatarFallbackProps } from 'reka-ui';
import { AvatarFallback } from 'radix-vue';
import { AvatarFallback } from 'reka-ui';
const props = defineProps<AvatarFallbackProps>();
</script>

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { AvatarImageProps } from 'radix-vue';
import type { AvatarImageProps } from 'reka-ui';
import { AvatarImage } from 'radix-vue';
import { AvatarImage } from 'reka-ui';
const props = defineProps<AvatarImageProps>();
</script>

View File

@ -1,9 +1,9 @@
<script lang="ts" setup>
import type { PrimitiveProps } from 'radix-vue';
import type { PrimitiveProps } from 'reka-ui';
import { cn } from '@vben-core/shared/utils';
import { Primitive } from 'radix-vue';
import { Primitive } from 'reka-ui';
const props = withDefaults(defineProps<PrimitiveProps & { class?: any }>(), {
as: 'a',

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { PrimitiveProps } from 'radix-vue';
import type { PrimitiveProps } from 'reka-ui';
import type { ButtonVariants, ButtonVariantSize } from './types';
import { cn } from '@vben-core/shared/utils';
import { Primitive } from 'radix-vue';
import { Primitive } from 'reka-ui';
import { buttonVariants } from './button';

View File

@ -1,16 +1,12 @@
<script setup lang="ts">
import type { CheckboxRootEmits, CheckboxRootProps } from 'radix-vue';
import type { CheckboxRootEmits, CheckboxRootProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { Check, Minus } from 'lucide-vue-next';
import {
CheckboxIndicator,
CheckboxRoot,
useForwardPropsEmits,
} from 'radix-vue';
import { CheckboxIndicator, CheckboxRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<
CheckboxRootProps & { class?: any; indeterminate?: boolean }

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { ContextMenuRootEmits, ContextMenuRootProps } from 'radix-vue';
import type { ContextMenuRootEmits, ContextMenuRootProps } from 'reka-ui';
import { ContextMenuRoot, useForwardPropsEmits } from 'radix-vue';
import { ContextMenuRoot, useForwardPropsEmits } from 'reka-ui';
const props = withDefaults(defineProps<ContextMenuRootProps>(), {
modal: false,

View File

@ -2,7 +2,7 @@
import type {
ContextMenuCheckboxItemEmits,
ContextMenuCheckboxItemProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
@ -13,7 +13,7 @@ import {
ContextMenuCheckboxItem,
ContextMenuItemIndicator,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = defineProps<ContextMenuCheckboxItemProps & { class?: any }>();
const emits = defineEmits<ContextMenuCheckboxItemEmits>();

View File

@ -1,8 +1,5 @@
<script setup lang="ts">
import type {
ContextMenuContentEmits,
ContextMenuContentProps,
} from 'radix-vue';
import type { ContextMenuContentEmits, ContextMenuContentProps } from 'reka-ui';
import { computed } from 'vue';
@ -12,7 +9,7 @@ import {
ContextMenuContent,
ContextMenuPortal,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = defineProps<ContextMenuContentProps & { class?: any }>();
const emits = defineEmits<ContextMenuContentEmits>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { ContextMenuGroupProps } from 'radix-vue';
import type { ContextMenuGroupProps } from 'reka-ui';
import { ContextMenuGroup } from 'radix-vue';
import { ContextMenuGroup } from 'reka-ui';
const props = defineProps<ContextMenuGroupProps>();
</script>

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { ContextMenuItemEmits, ContextMenuItemProps } from 'radix-vue';
import type { ContextMenuItemEmits, ContextMenuItemProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ContextMenuItem, useForwardPropsEmits } from 'radix-vue';
import { ContextMenuItem, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<
ContextMenuItemProps & { class?: any; inset?: boolean }

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { ContextMenuLabelProps } from 'radix-vue';
import type { ContextMenuLabelProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ContextMenuLabel } from 'radix-vue';
import { ContextMenuLabel } from 'reka-ui';
const props = defineProps<
ContextMenuLabelProps & { class?: any; inset?: boolean }

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { ContextMenuPortalProps } from 'radix-vue';
import type { ContextMenuPortalProps } from 'reka-ui';
import { ContextMenuPortal } from 'radix-vue';
import { ContextMenuPortal } from 'reka-ui';
const props = defineProps<ContextMenuPortalProps>();
</script>

View File

@ -2,9 +2,9 @@
import type {
ContextMenuRadioGroupEmits,
ContextMenuRadioGroupProps,
} from 'radix-vue';
} from 'reka-ui';
import { ContextMenuRadioGroup, useForwardPropsEmits } from 'radix-vue';
import { ContextMenuRadioGroup, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<ContextMenuRadioGroupProps>();
const emits = defineEmits<ContextMenuRadioGroupEmits>();

View File

@ -2,7 +2,7 @@
import type {
ContextMenuRadioItemEmits,
ContextMenuRadioItemProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
@ -13,7 +13,7 @@ import {
ContextMenuItemIndicator,
ContextMenuRadioItem,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = defineProps<ContextMenuRadioItemProps & { class?: any }>();
const emits = defineEmits<ContextMenuRadioItemEmits>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { ContextMenuSeparatorProps } from 'radix-vue';
import type { ContextMenuSeparatorProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ContextMenuSeparator } from 'radix-vue';
import { ContextMenuSeparator } from 'reka-ui';
const props = defineProps<ContextMenuSeparatorProps & { class?: any }>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { ContextMenuSubEmits, ContextMenuSubProps } from 'radix-vue';
import type { ContextMenuSubEmits, ContextMenuSubProps } from 'reka-ui';
import { ContextMenuSub, useForwardPropsEmits } from 'radix-vue';
import { ContextMenuSub, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<ContextMenuSubProps>();
const emits = defineEmits<ContextMenuSubEmits>();

View File

@ -2,13 +2,13 @@
import type {
DropdownMenuSubContentEmits,
DropdownMenuSubContentProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ContextMenuSubContent, useForwardPropsEmits } from 'radix-vue';
import { ContextMenuSubContent, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<DropdownMenuSubContentProps & { class?: any }>();
const emits = defineEmits<DropdownMenuSubContentEmits>();

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { ContextMenuSubTriggerProps } from 'radix-vue';
import type { ContextMenuSubTriggerProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronRight } from 'lucide-vue-next';
import { ContextMenuSubTrigger, useForwardProps } from 'radix-vue';
import { ContextMenuSubTrigger, useForwardProps } from 'reka-ui';
const props = defineProps<
ContextMenuSubTriggerProps & {

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { ContextMenuTriggerProps } from 'radix-vue';
import type { ContextMenuTriggerProps } from 'reka-ui';
import { ContextMenuTrigger, useForwardProps } from 'radix-vue';
import { ContextMenuTrigger, useForwardProps } from 'reka-ui';
const props = defineProps<ContextMenuTriggerProps>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DialogRootEmits, DialogRootProps } from 'radix-vue';
import type { DialogRootEmits, DialogRootProps } from 'reka-ui';
import { DialogRoot, useForwardPropsEmits } from 'radix-vue';
import { DialogRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<DialogRootProps>();
const emits = defineEmits<DialogRootEmits>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DialogCloseProps } from 'radix-vue';
import type { DialogCloseProps } from 'reka-ui';
import { DialogClose } from 'radix-vue';
import { DialogClose } from 'reka-ui';
const props = defineProps<DialogCloseProps>();
</script>

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import type { DialogContentEmits, DialogContentProps } from 'radix-vue';
import type { DialogContentEmits, DialogContentProps } from 'reka-ui';
import type { ClassType } from '@vben-core/typings';
@ -8,7 +8,7 @@ import { computed, ref } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { X } from 'lucide-vue-next';
import { DialogClose, DialogContent, useForwardPropsEmits } from 'radix-vue';
import { DialogClose, DialogContent, useForwardPropsEmits } from 'reka-ui';
import DialogOverlay from './DialogOverlay.vue';

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { DialogDescriptionProps } from 'radix-vue';
import type { DialogDescriptionProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { DialogDescription, useForwardProps } from 'radix-vue';
import { DialogDescription, useForwardProps } from 'reka-ui';
const props = defineProps<DialogDescriptionProps & { class?: any }>();

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import type { DialogContentEmits, DialogContentProps } from 'radix-vue';
import type { DialogContentEmits, DialogContentProps } from 'reka-ui';
import { computed } from 'vue';
@ -12,7 +12,7 @@ import {
DialogOverlay,
DialogPortal,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = withDefaults(
defineProps<DialogContentProps & { class?: any; zIndex?: number }>(),

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { DialogTitleProps } from 'radix-vue';
import type { DialogTitleProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { DialogTitle, useForwardProps } from 'radix-vue';
import { DialogTitle, useForwardProps } from 'reka-ui';
const props = defineProps<DialogTitleProps & { class?: any }>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DialogTriggerProps } from 'radix-vue';
import type { DialogTriggerProps } from 'reka-ui';
import { DialogTrigger } from 'radix-vue';
import { DialogTrigger } from 'reka-ui';
const props = defineProps<DialogTriggerProps>();
</script>

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DropdownMenuRootEmits, DropdownMenuRootProps } from 'radix-vue';
import type { DropdownMenuRootEmits, DropdownMenuRootProps } from 'reka-ui';
import { DropdownMenuRoot, useForwardPropsEmits } from 'radix-vue';
import { DropdownMenuRoot, useForwardPropsEmits } from 'reka-ui';
const props = withDefaults(defineProps<DropdownMenuRootProps>(), {
modal: false,

View File

@ -2,7 +2,7 @@
import type {
DropdownMenuCheckboxItemEmits,
DropdownMenuCheckboxItemProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
@ -13,7 +13,7 @@ import {
DropdownMenuCheckboxItem,
DropdownMenuItemIndicator,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = defineProps<DropdownMenuCheckboxItemProps & { class?: any }>();
const emits = defineEmits<DropdownMenuCheckboxItemEmits>();

View File

@ -2,7 +2,7 @@
import type {
DropdownMenuContentEmits,
DropdownMenuContentProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
@ -12,7 +12,7 @@ import {
DropdownMenuContent,
DropdownMenuPortal,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = withDefaults(
defineProps<DropdownMenuContentProps & { class?: any }>(),

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DropdownMenuGroupProps } from 'radix-vue';
import type { DropdownMenuGroupProps } from 'reka-ui';
import { DropdownMenuGroup } from 'radix-vue';
import { DropdownMenuGroup } from 'reka-ui';
const props = defineProps<DropdownMenuGroupProps>();
</script>

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { DropdownMenuItemProps } from 'radix-vue';
import type { DropdownMenuItemProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { DropdownMenuItem, useForwardProps } from 'radix-vue';
import { DropdownMenuItem, useForwardProps } from 'reka-ui';
const props = defineProps<
DropdownMenuItemProps & { class?: any; inset?: boolean }

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { DropdownMenuLabelProps } from 'radix-vue';
import type { DropdownMenuLabelProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { DropdownMenuLabel, useForwardProps } from 'radix-vue';
import { DropdownMenuLabel, useForwardProps } from 'reka-ui';
const props = defineProps<
DropdownMenuLabelProps & { class?: any; inset?: boolean }

View File

@ -2,9 +2,9 @@
import type {
DropdownMenuRadioGroupEmits,
DropdownMenuRadioGroupProps,
} from 'radix-vue';
} from 'reka-ui';
import { DropdownMenuRadioGroup, useForwardPropsEmits } from 'radix-vue';
import { DropdownMenuRadioGroup, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<DropdownMenuRadioGroupProps>();
const emits = defineEmits<DropdownMenuRadioGroupEmits>();

View File

@ -2,7 +2,7 @@
import type {
DropdownMenuRadioItemEmits,
DropdownMenuRadioItemProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
@ -13,7 +13,7 @@ import {
DropdownMenuItemIndicator,
DropdownMenuRadioItem,
useForwardPropsEmits,
} from 'radix-vue';
} from 'reka-ui';
const props = defineProps<DropdownMenuRadioItemProps & { class?: any }>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { DropdownMenuSeparatorProps } from 'radix-vue';
import type { DropdownMenuSeparatorProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { DropdownMenuSeparator } from 'radix-vue';
import { DropdownMenuSeparator } from 'reka-ui';
const props = defineProps<
DropdownMenuSeparatorProps & {

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DropdownMenuSubEmits, DropdownMenuSubProps } from 'radix-vue';
import type { DropdownMenuSubEmits, DropdownMenuSubProps } from 'reka-ui';
import { DropdownMenuSub, useForwardPropsEmits } from 'radix-vue';
import { DropdownMenuSub, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<DropdownMenuSubProps>();
const emits = defineEmits<DropdownMenuSubEmits>();

View File

@ -2,13 +2,13 @@
import type {
DropdownMenuSubContentEmits,
DropdownMenuSubContentProps,
} from 'radix-vue';
} from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { DropdownMenuSubContent, useForwardPropsEmits } from 'radix-vue';
import { DropdownMenuSubContent, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<DropdownMenuSubContentProps & { class?: any }>();
const emits = defineEmits<DropdownMenuSubContentEmits>();

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { DropdownMenuSubTriggerProps } from 'radix-vue';
import type { DropdownMenuSubTriggerProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronRight } from 'lucide-vue-next';
import { DropdownMenuSubTrigger, useForwardProps } from 'radix-vue';
import { DropdownMenuSubTrigger, useForwardProps } from 'reka-ui';
const props = defineProps<DropdownMenuSubTriggerProps & { class?: any }>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { DropdownMenuTriggerProps } from 'radix-vue';
import type { DropdownMenuTriggerProps } from 'reka-ui';
import { DropdownMenuTrigger, useForwardProps } from 'radix-vue';
import { DropdownMenuTrigger, useForwardProps } from 'reka-ui';
const props = defineProps<DropdownMenuTriggerProps>();

View File

@ -13,4 +13,4 @@ export { default as DropdownMenuSub } from './DropdownMenuSub.vue';
export { default as DropdownMenuSubContent } from './DropdownMenuSubContent.vue';
export { default as DropdownMenuSubTrigger } from './DropdownMenuSubTrigger.vue';
export { default as DropdownMenuTrigger } from './DropdownMenuTrigger.vue';
export { DropdownMenuPortal } from 'radix-vue';
export { DropdownMenuPortal } from 'reka-ui';

View File

@ -1,5 +1,5 @@
<script lang="ts" setup>
import { Slot } from 'radix-vue';
import { Slot } from 'reka-ui';
import { useFormField } from './useFormField';

View File

@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { LabelProps } from 'radix-vue';
import type { LabelProps } from 'reka-ui';
import { cn } from '@vben-core/shared/utils';

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { HoverCardRootEmits, HoverCardRootProps } from 'radix-vue';
import type { HoverCardRootEmits, HoverCardRootProps } from 'reka-ui';
import { HoverCardRoot, useForwardPropsEmits } from 'radix-vue';
import { HoverCardRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<HoverCardRootProps>();
const emits = defineEmits<HoverCardRootEmits>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { HoverCardContentProps } from 'radix-vue';
import type { HoverCardContentProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { HoverCardContent, HoverCardPortal, useForwardProps } from 'radix-vue';
import { HoverCardContent, HoverCardPortal, useForwardProps } from 'reka-ui';
const props = withDefaults(
defineProps<HoverCardContentProps & { class?: any }>(),

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { HoverCardTriggerProps } from 'radix-vue';
import type { HoverCardTriggerProps } from 'reka-ui';
import { HoverCardTrigger } from 'radix-vue';
import { HoverCardTrigger } from 'reka-ui';
const props = defineProps<HoverCardTriggerProps>();
</script>

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { LabelProps } from 'radix-vue';
import type { LabelProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { Label } from 'radix-vue';
import { Label } from 'reka-ui';
const props = defineProps<LabelProps & { class?: any }>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { NumberFieldRootEmits, NumberFieldRootProps } from 'radix-vue';
import type { NumberFieldRootEmits, NumberFieldRootProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { NumberFieldRoot, useForwardPropsEmits } from 'radix-vue';
import { NumberFieldRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<NumberFieldRootProps & { class?: any }>();
const emits = defineEmits<NumberFieldRootEmits>();

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { NumberFieldDecrementProps } from 'radix-vue';
import type { NumberFieldDecrementProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { Minus } from 'lucide-vue-next';
import { NumberFieldDecrement, useForwardProps } from 'radix-vue';
import { NumberFieldDecrement, useForwardProps } from 'reka-ui';
const props = defineProps<NumberFieldDecrementProps & { class?: any }>();

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { NumberFieldIncrementProps } from 'radix-vue';
import type { NumberFieldIncrementProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { Plus } from 'lucide-vue-next';
import { NumberFieldIncrement, useForwardProps } from 'radix-vue';
import { NumberFieldIncrement, useForwardProps } from 'reka-ui';
const props = defineProps<NumberFieldIncrementProps & { class?: any }>();

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import { cn } from '@vben-core/shared/utils';
import { NumberFieldInput } from 'radix-vue';
import { NumberFieldInput } from 'reka-ui';
</script>
<template>

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { PaginationEllipsisProps } from 'radix-vue';
import type { PaginationEllipsisProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { MoreHorizontal } from 'lucide-vue-next';
import { PaginationEllipsis } from 'radix-vue';
import { PaginationEllipsis } from 'reka-ui';
const props = defineProps<PaginationEllipsisProps & { class?: any }>();

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { PaginationFirstProps } from 'radix-vue';
import type { PaginationFirstProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronsLeft } from 'lucide-vue-next';
import { PaginationFirst } from 'radix-vue';
import { PaginationFirst } from 'reka-ui';
import { Button } from '../button';

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { PaginationLastProps } from 'radix-vue';
import type { PaginationLastProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronsRight } from 'lucide-vue-next';
import { PaginationLast } from 'radix-vue';
import { PaginationLast } from 'reka-ui';
import { Button } from '../button';

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { PaginationNextProps } from 'radix-vue';
import type { PaginationNextProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronRight } from 'lucide-vue-next';
import { PaginationNext } from 'radix-vue';
import { PaginationNext } from 'reka-ui';
import { Button } from '../button';

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import type { PaginationPrevProps } from 'radix-vue';
import type { PaginationPrevProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { ChevronLeft } from 'lucide-vue-next';
import { PaginationPrev } from 'radix-vue';
import { PaginationPrev } from 'reka-ui';
import { Button } from '../button';

View File

@ -7,4 +7,4 @@ export {
PaginationRoot as Pagination,
PaginationList,
PaginationListItem,
} from 'radix-vue';
} from 'reka-ui';

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { PinInputRootEmits, PinInputRootProps } from 'radix-vue';
import type { PinInputRootEmits, PinInputRootProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { PinInputRoot, useForwardPropsEmits } from 'radix-vue';
import { PinInputRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<PinInputRootProps & { class?: any }>();
const emits = defineEmits<PinInputRootEmits>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { PrimitiveProps } from 'radix-vue';
import type { PrimitiveProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { Primitive, useForwardProps } from 'radix-vue';
import { Primitive, useForwardProps } from 'reka-ui';
const props = defineProps<PrimitiveProps & { class?: any }>();
const delegatedProps = computed(() => {

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { PinInputInputProps } from 'radix-vue';
import type { PinInputInputProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { PinInputInput, useForwardProps } from 'radix-vue';
import { PinInputInput, useForwardProps } from 'reka-ui';
const props = defineProps<PinInputInputProps & { class?: any }>();

View File

@ -1,8 +1,8 @@
<script setup lang="ts">
import type { PrimitiveProps } from 'radix-vue';
import type { PrimitiveProps } from 'reka-ui';
import { Dot } from 'lucide-vue-next';
import { Primitive, useForwardProps } from 'radix-vue';
import { Primitive, useForwardProps } from 'reka-ui';
const props = defineProps<PrimitiveProps>();
const forwardedProps = useForwardProps(props);

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { PopoverRootEmits, PopoverRootProps } from 'radix-vue';
import type { PopoverRootEmits, PopoverRootProps } from 'reka-ui';
import { PopoverRoot, useForwardPropsEmits } from 'radix-vue';
import { PopoverRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<PopoverRootProps>();
const emits = defineEmits<PopoverRootEmits>();

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { PopoverContentEmits, PopoverContentProps } from 'radix-vue';
import type { PopoverContentEmits, PopoverContentProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { PopoverContent, PopoverPortal, useForwardPropsEmits } from 'radix-vue';
import { PopoverContent, PopoverPortal, useForwardPropsEmits } from 'reka-ui';
defineOptions({
inheritAttrs: false,

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import type { PopoverTriggerProps } from 'radix-vue';
import type { PopoverTriggerProps } from 'reka-ui';
import { PopoverTrigger } from 'radix-vue';
import { PopoverTrigger } from 'reka-ui';
const props = defineProps<PopoverTriggerProps>();
</script>

View File

@ -1,4 +1,4 @@
export { default as Popover } from './Popover.vue';
export { default as PopoverContent } from './PopoverContent.vue';
export { default as PopoverTrigger } from './PopoverTrigger.vue';
export { PopoverAnchor } from 'radix-vue';
export { PopoverAnchor } from 'reka-ui';

View File

@ -1,11 +1,11 @@
<script setup lang="ts">
import type { RadioGroupRootEmits, RadioGroupRootProps } from 'radix-vue';
import type { RadioGroupRootEmits, RadioGroupRootProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { RadioGroupRoot, useForwardPropsEmits } from 'radix-vue';
import { RadioGroupRoot, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<RadioGroupRootProps & { class?: any }>();
const emits = defineEmits<RadioGroupRootEmits>();

View File

@ -1,16 +1,12 @@
<script setup lang="ts">
import type { RadioGroupItemProps } from 'radix-vue';
import type { RadioGroupItemProps } from 'reka-ui';
import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { Circle } from 'lucide-vue-next';
import {
RadioGroupIndicator,
RadioGroupItem,
useForwardProps,
} from 'radix-vue';
import { RadioGroupIndicator, RadioGroupItem, useForwardProps } from 'reka-ui';
const props = defineProps<RadioGroupItemProps & { class?: any }>();

View File

@ -2,7 +2,7 @@
import type {
SplitterResizeHandleEmits,
SplitterResizeHandleProps,
} from 'radix-vue';
} from 'reka-ui';
import type { HTMLAttributes } from 'vue';
@ -11,7 +11,7 @@ import { computed } from 'vue';
import { GripVertical } from '@vben-core/icons';
import { cn } from '@vben-core/shared/utils';
import { SplitterResizeHandle, useForwardPropsEmits } from 'radix-vue';
import { SplitterResizeHandle, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<
SplitterResizeHandleProps & {

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import type { SplitterGroupEmits, SplitterGroupProps } from 'radix-vue';
import type { SplitterGroupEmits, SplitterGroupProps } from 'reka-ui';
import type { HTMLAttributes } from 'vue';
@ -7,7 +7,7 @@ import { computed } from 'vue';
import { cn } from '@vben-core/shared/utils';
import { SplitterGroup, useForwardPropsEmits } from 'radix-vue';
import { SplitterGroup, useForwardPropsEmits } from 'reka-ui';
const props = defineProps<
SplitterGroupProps & { class?: HTMLAttributes['class'] }

Some files were not shown because too many files have changed in this diff Show More