Path: blob/master/gate-controller/components/ui/card.tsx
1085 views
import * as React from "react"12import { cn } from "@/lib/utils"34function Card({ className, ...props }: React.ComponentProps<"div">) {5return (6<div7data-slot="card"8className={cn(9"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",10className11)}12{...props}13/>14)15}1617function CardHeader({ className, ...props }: React.ComponentProps<"div">) {18return (19<div20data-slot="card-header"21className={cn(22"@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",23className24)}25{...props}26/>27)28}2930function CardTitle({ className, ...props }: React.ComponentProps<"div">) {31return (32<div33data-slot="card-title"34className={cn("leading-none font-semibold", className)}35{...props}36/>37)38}3940function CardDescription({ className, ...props }: React.ComponentProps<"div">) {41return (42<div43data-slot="card-description"44className={cn("text-muted-foreground text-sm", className)}45{...props}46/>47)48}4950function CardAction({ className, ...props }: React.ComponentProps<"div">) {51return (52<div53data-slot="card-action"54className={cn(55"col-start-2 row-span-2 row-start-1 self-start justify-self-end",56className57)}58{...props}59/>60)61}6263function CardContent({ className, ...props }: React.ComponentProps<"div">) {64return (65<div66data-slot="card-content"67className={cn("px-6", className)}68{...props}69/>70)71}7273function CardFooter({ className, ...props }: React.ComponentProps<"div">) {74return (75<div76data-slot="card-footer"77className={cn("flex items-center px-6 [.border-t]:pt-6", className)}78{...props}79/>80)81}8283export {84Card,85CardHeader,86CardFooter,87CardTitle,88CardAction,89CardDescription,90CardContent,91}929394