registry:component
Card
v1.0.0ga
Content container primitive with header/content/footer slots.
Registry Endpoint
Open JSONhttps://registry.aavya.com/r/ui-card.json
npx shadcn@latest add https://registry.aavya.com/r/ui-card.json
Live Preview
Card Title
Card description text
Card content slot preview.
Usage Snippet
import Card from '@/components/ui/card.tsx'
export default function Example() {
return (
<div className="p-6">
<Card />
</div>
)
}
Source Preview
import * as React from 'react'
import { cn } from '@/lib/utils'
function Card({ className, ...props }: React.ComponentProps<'div'>) {
return (
<div
data-slot='card'
className={cn('bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm', className)}
{...props}
/>
)
}
function CardHeader({ className, ...props }: React.ComponentProps<'div'>) {
return (
<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',
className
)}
{...props}
/>
)
}
function CardTitle({ className, ...props }: React.ComponentProps<'div'>) {
return <div data-slot='card-title' className={cn('leading-none font-semibold', className)} {...props} />
}
function CardDescription({ className, ...props }: React.ComponentProps<'div'>) {
return <div data-slot='card-description' className={cn('text-muted-foreground text-sm', className)} {...props} />
}
function CardAction({ className, ...props }: React.ComponentProps<'div'>) {
return (
<div
data-slot='card-action'
className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}
{...props}
/>
)
}
function CardContent({ className, ...props }: React.ComponentPro