diff --git a/packages/ui/components.json b/packages/ui/components.json index 7c45b4fd66..7f39259959 100644 --- a/packages/ui/components.json +++ b/packages/ui/components.json @@ -1,11 +1,11 @@ { "$schema": "https://ui.shadcn.com/schema.json", "aliases": { - "components": "@/components", - "hooks": "@/hooks", - "lib": "@/lib", - "ui": "@/components/ui", - "utils": "@/utils" + "components": "@cherrystudio/ui/components", + "hooks": "@cherrystudio/ui/hooks", + "lib": "@cherrystudio/ui/lib", + "ui": "@cherrystudio/ui/components/ui", + "utils": "@cherrystudio/ui/utils" }, "iconLibrary": "lucide", "rsc": false, diff --git a/packages/ui/src/components/base/Toast/index.ts b/packages/ui/src/components/base/Toast/index.ts index de440f900c..e8f8b7d347 100644 --- a/packages/ui/src/components/base/Toast/index.ts +++ b/packages/ui/src/components/base/Toast/index.ts @@ -1,7 +1,6 @@ +import type { RequireSome } from '@cherrystudio/ui/types' import { addToast, closeAll, closeToast, getToastQueue, isToastClosing } from '@heroui/toast' -import type { RequireSome } from '@/types' - type AddToastProps = Parameters[0] type ToastPropsColored = Omit diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts index db518c81f1..5450057319 100644 --- a/packages/ui/src/components/index.ts +++ b/packages/ui/src/components/index.ts @@ -90,3 +90,10 @@ export { Sortable } from './interactive/Sortable' // Composite Components (复合组件) // 暂无复合组件 + +// UI Components (shadcn) +export * from './ui/button' +export * from './ui/command' +export * from './ui/dialog' +export * from './ui/popover' +export * from './ui/shadcn-io/dropzone' diff --git a/packages/ui/src/components/ui/button.tsx b/packages/ui/src/components/ui/button.tsx index ad32bcc8c6..9621e26b42 100644 --- a/packages/ui/src/components/ui/button.tsx +++ b/packages/ui/src/components/ui/button.tsx @@ -1,9 +1,8 @@ +import { cn } from '@cherrystudio/ui/utils/index' import { Slot } from '@radix-ui/react-slot' import { cva, type VariantProps } from 'class-variance-authority' import * as React from 'react' -import { cn } from '@/utils/index' - const buttonVariants = cva( "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", { diff --git a/packages/ui/src/components/ui/command.tsx b/packages/ui/src/components/ui/command.tsx index aa737cfd8f..d7369e8302 100644 --- a/packages/ui/src/components/ui/command.tsx +++ b/packages/ui/src/components/ui/command.tsx @@ -1,10 +1,15 @@ +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle +} from '@cherrystudio/ui/components/ui/dialog' +import { cn } from '@cherrystudio/ui/utils' import { Command as CommandPrimitive } from 'cmdk' import { SearchIcon } from 'lucide-react' import * as React from 'react' -import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog' -import { cn } from '@/utils/index' - function Command({ className, ...props }: React.ComponentProps) { return ( ) { return } diff --git a/packages/ui/src/components/ui/popover.tsx b/packages/ui/src/components/ui/popover.tsx index 17a86c0975..b52cc7aa4a 100644 --- a/packages/ui/src/components/ui/popover.tsx +++ b/packages/ui/src/components/ui/popover.tsx @@ -1,10 +1,9 @@ 'use client' +import { cn } from '@cherrystudio/ui/utils' import * as PopoverPrimitive from '@radix-ui/react-popover' import * as React from 'react' -import { cn } from '@/utils/index' - function Popover({ ...props }: React.ComponentProps) { return } diff --git a/packages/ui/src/components/ui/shadcn-io/dropzone/index.tsx b/packages/ui/src/components/ui/shadcn-io/dropzone/index.tsx index 3cd058d110..4e710e6fea 100644 --- a/packages/ui/src/components/ui/shadcn-io/dropzone/index.tsx +++ b/packages/ui/src/components/ui/shadcn-io/dropzone/index.tsx @@ -1,14 +1,13 @@ 'use client' +import { Button } from '@cherrystudio/ui/components/ui/button' +import { cn } from '@cherrystudio/ui/utils/index' import { UploadIcon } from 'lucide-react' import type { ReactNode } from 'react' import { createContext, use } from 'react' import type { DropEvent, DropzoneOptions, FileRejection } from 'react-dropzone' import { useDropzone } from 'react-dropzone' -import { Button } from '@/components/ui/button' -import { cn } from '@/utils/index' - type DropzoneContextType = { src?: File[] accept?: DropzoneOptions['accept'] diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 9ddce41db6..79c5b286fb 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -13,9 +13,7 @@ "noFallthroughCasesInSwitch": true, "outDir": "./dist", "paths": { - "@/*": ["src/*"], - "@/types": ["src/types"], - "@/utils": ["src/utils"] + "@cherrystudio/ui/*": ["./src/*"] }, "resolveJsonModule": true, "rootDir": ".", diff --git a/tsconfig.web.json b/tsconfig.web.json index 5a60828a74..2cf92295e5 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -30,10 +30,8 @@ "@cherrystudio/ai-core": ["./packages/aiCore/src/index.ts"], "@cherrystudio/extension-table-plus": ["./packages/extension-table-plus/src/index.ts"], "@cherrystudio/ui": ["./packages/ui/src/index.ts"], - "@/components/*": ["./packages/ui/src/components/*"], - "@/utils/*": ["./packages/ui/src/utils/*"], - "@/types": ["./packages/ui/src/types/index.ts"], - "@/hooks/*": ["./packages/ui/src/hooks/*"] + "@cherrystudio/ui/*": ["./packages/ui/src/*"] + }, "experimentalDecorators": true, "emitDecoratorMetadata": true,