diff options
| author | 2026-02-22 19:47:13 +0800 | |
|---|---|---|
| committer | 2026-02-22 19:47:13 +0800 | |
| commit | 01b546cc816c4fb6b7389e5122b7802d7e724a2b (patch) | |
| tree | b33e71dc81c60a6678e6fb14f736713bd94bd5dc /packages/ui-new/src/components/ui/card.tsx | |
| parent | 1a103de2f1ef75cd73347953cbe27e14606df871 (diff) | |
| download | DropOut-01b546cc816c4fb6b7389e5122b7802d7e724a2b.tar.gz DropOut-01b546cc816c4fb6b7389e5122b7802d7e724a2b.zip | |
refactor(shadcn): use base lyra instead
Diffstat (limited to 'packages/ui-new/src/components/ui/card.tsx')
| -rw-r--r-- | packages/ui-new/src/components/ui/card.tsx | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/packages/ui-new/src/components/ui/card.tsx b/packages/ui-new/src/components/ui/card.tsx index cc1ff8a..b7084a0 100644 --- a/packages/ui-new/src/components/ui/card.tsx +++ b/packages/ui-new/src/components/ui/card.tsx @@ -2,12 +2,17 @@ import type * as React from "react"; import { cn } from "@/lib/utils"; -function Card({ className, ...props }: React.ComponentProps<"div">) { +function Card({ + className, + size = "default", + ...props +}: React.ComponentProps<"div"> & { size?: "default" | "sm" }) { return ( <div data-slot="card" + data-size={size} className={cn( - "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", + "ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-none py-4 text-xs/relaxed ring-1 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-2 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-none *:[img:last-child]:rounded-none group/card flex flex-col", className, )} {...props} @@ -20,7 +25,7 @@ function CardHeader({ className, ...props }: React.ComponentProps<"div">) { <div data-slot="card-header" className={cn( - "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", + "gap-1 rounded-none px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]", className, )} {...props} @@ -32,7 +37,10 @@ function CardTitle({ className, ...props }: React.ComponentProps<"div">) { return ( <div data-slot="card-title" - className={cn("leading-none font-semibold", className)} + className={cn( + "text-sm font-medium group-data-[size=sm]/card:text-sm", + className, + )} {...props} /> ); @@ -42,7 +50,7 @@ function CardDescription({ className, ...props }: React.ComponentProps<"div">) { return ( <div data-slot="card-description" - className={cn("text-muted-foreground text-sm", className)} + className={cn("text-muted-foreground text-xs/relaxed", className)} {...props} /> ); @@ -65,7 +73,7 @@ function CardContent({ className, ...props }: React.ComponentProps<"div">) { return ( <div data-slot="card-content" - className={cn("px-6", className)} + className={cn("px-4 group-data-[size=sm]/card:px-3", className)} {...props} /> ); @@ -75,7 +83,10 @@ function CardFooter({ className, ...props }: React.ComponentProps<"div">) { return ( <div data-slot="card-footer" - className={cn("flex items-center px-6 [.border-t]:pt-6", className)} + className={cn( + "rounded-none border-t p-4 group-data-[size=sm]/card:p-3 flex items-center", + className, + )} {...props} /> ); |