Card
nivalis-ui/cardFreeComponent
A card component.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/nivalis-studio/nivalis-ui/main/public/r/card.jsonSource
1import { cn } from '@/lib/classnames';2import type { ComponentProps } from 'react';34function CardRoot({ className, ...props }: ComponentProps<'div'>) {5 return (6 <div7 className={cn(8 'flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm',9 className,10 )}11 data-slot='card'12 {...props}13 />14 );15}1617function CardHeader({ className, ...props }: ComponentProps<'div'>) {18 return (19 <div20 className={cn(21 '@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',22 className,23 )}24 data-slot='card-header'25 {...props}26 />27 );28}2930function CardTitle({ className, ...props }: ComponentProps<'div'>) {31 return (32 <div33 className={cn('font-semibold leading-none', className)}34 data-slot='card-title'35 {...props}36 />37 );38}3940function CardDescription({ className, ...props }: ComponentProps<'div'>) {41 return (42 <div43 className={cn('text-muted-foreground text-sm', className)}44 data-slot='card-description'45 {...props}46 />47 );48}4950function CardAction({ className, ...props }: ComponentProps<'div'>) {51 return (52 <div53 className={cn(54 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',55 className,56 )}57 data-slot='card-action'58 {...props}59 />60 );61}6263function CardContent({ className, ...props }: ComponentProps<'div'>) {64 return (65 <div66 className={cn('px-6', className)}67 data-slot='card-content'68 {...props}69 />70 );71}7273function CardFooter({ className, ...props }: ComponentProps<'div'>) {74 return (75 <div76 className={cn('flex items-center px-6 [.border-t]:pt-6', className)}77 data-slot='card-footer'78 {...props}79 />80 );81}8283const Card = Object.assign(CardRoot, {84 Header: CardHeader,85 Footer: CardFooter,86 Title: CardTitle,87 Action: CardAction,88 Description: CardDescription,89 Content: CardContent,90});9192export { Card };
Files it writes
More from @nivalis/ui
All 23 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | @nivalis/ui | Components | Free | 1 dep | |
| Avataravatar | @nivalis/ui | Components | Free | 1 dep | |
| Badgebadge | @nivalis/ui | Components | Free | no deps | |
| Breadcrumbbreadcrumb | @nivalis/ui | Components | Free | 1 dep | |
| Buttonbutton | @nivalis/ui | Components | Free | 1 dep | |
| Checkboxcheckbox | @nivalis/ui | Components | Free | 1 dep | |
| Commandcommand | @nivalis/ui | Components | Free | 2 deps · 2 files | |
| ContextMenucontext-menu | @nivalis/ui | Components | Free | 1 dep |
