8-bit Card
8bitcn/cardFreeComponent
A simple 8-bit card component
Install it
npx shadcn@latest add https://www.8bitcn.com/r/card.jsonSource
1import { type VariantProps, cva } from "class-variance-authority";23import { cn } from "@/lib/utils";45import {6 Card as ShadcnCard,7 CardAction as ShadcnCardAction,8 CardContent as ShadcnCardContent,9 CardDescription as ShadcnCardDescription,10 CardFooter as ShadcnCardFooter,11 CardHeader as ShadcnCardHeader,12 CardTitle as ShadcnCardTitle,13} from "@/components/ui/card";1415import "@/components/ui/8bit/styles/retro.css";1617export const cardVariants = cva("", {18 variants: {19 font: {20 normal: "",21 retro: "retro",22 },23 },24 defaultVariants: {25 font: "retro",26 },27});2829export interface BitCardProps30 extends React.ComponentProps<"div">,31 VariantProps<typeof cardVariants> {32 asChild?: boolean;33}3435function Card({ className, font, ...props }: BitCardProps) {36 return (37 <div38 className={cn(39 "relative bg-card text-card-foreground border-y-6 border-foreground dark:border-ring p-0!",40 className41 )}42 >43 <ShadcnCard44 {...props}45 className={cn(46 "rounded-none border-0 w-full! h-full flex flex-col bg-card text-card-foreground shadow-none",47 font !== "normal" && "retro",48 className49 )}50 />5152 <div53 className={cn("absolute inset-0 border-x-6 -mx-1.5 border-inherit pointer-events-none")}54 aria-hidden="true"55 />56 </div>57 );58}5960function CardHeader({ ...props }: BitCardProps) {61 const { className, font } = props;6263 return (64 <ShadcnCardHeader65 className={cn(font !== "normal" && "retro", className)}66 {...props}67 />68 );69}7071function CardTitle({ ...props }: BitCardProps) {72 const { className, font } = props;7374 return (75 <ShadcnCardTitle76 className={cn(font !== "normal" && "retro", className)}77 {...props}78 />79 );80}8182function CardDescription({ ...props }: BitCardProps) {83 const { className, font } = props;8485 return (86 <ShadcnCardDescription87 className={cn(font !== "normal" && "retro", className)}88 {...props}89 />90 );91}9293function CardAction({ ...props }: BitCardProps) {94 const { className, font } = props;9596 return (97 <ShadcnCardAction98 className={cn(font !== "normal" && "retro", className)}99 {...props}100 />101 );102}103104function CardContent({ ...props }: BitCardProps) {105 const { className, font } = props;106107 return (108 <ShadcnCardContent109 className={cn("flex-1", font !== "normal" && "retro", className)}110 {...props}111 />112 );113}114115// … truncated
What it pulls in
Other registry items
Files it writes
More from 8bitcn
All 121 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| 8-bit Accordionaccordion | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Alertalert | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Alert Dialogalert-dialog | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Avataravatar | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Badgebadge | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Breadcrumbbreadcrumb | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Buttonbutton | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Button Groupbutton-group | 8bitcn | Components | Free | no deps · 4 files |
