@@ -14,11 +14,12 @@ export interface CardProps extends VariantProps<typeof cardVariants> {
1414const cardVariants = cva (
1515 `
1616ink:grid ink:grid-cols-1
17- ink:p-2 ink:pb-3 ink:sm:p-3 ink: gap-3
17+ ink:gap-3
1818ink:relative
1919ink:bg-background-container
2020ink:font-default
2121ink:box-border
22+ ink:overflow-hidden
2223` ,
2324 {
2425 variants : {
@@ -36,10 +37,10 @@ ink:box-border
3637 true : "ink:cursor-pointer" ,
3738 false : "" ,
3839 } ,
39- rounded : {
40- lg : "ink:rounded-lg" ,
41- xl : "ink:rounded-xl " ,
42- xxl : "ink:rounded-xxl " ,
40+ size : {
41+ noPadding : "ink:rounded-lg" ,
42+ small : "ink:p-2 ink:pb-3 ink:sm:p-3 ink: rounded-lg " ,
43+ default : "ink:p-2 ink:pb-3 ink:sm:p-3 ink: rounded-xl " ,
4344 } ,
4445 } ,
4546 compoundVariants : [
@@ -48,9 +49,14 @@ ink:box-border
4849 clickable : true ,
4950 className : "ink:hover:bg-button-secondary-hover" ,
5051 } ,
52+ {
53+ size : "small" ,
54+ imageLocation : "left" ,
55+ className : "ink:grid-cols-[128px_1fr] ink:sm:grid-cols-[128px_1fr]" ,
56+ } ,
5157 ] ,
5258 defaultVariants : {
53- rounded : "xl " ,
59+ size : "default " ,
5460 } ,
5561 }
5662) ;
@@ -63,18 +69,17 @@ export const Card: React.FC<CardProps> = ({
6369 asChild,
6470 variant,
6571 clickable,
66- rounded ,
72+ size ,
6773} ) => {
6874 const Component = asChild ? Slot : "div" ;
69- const roundedValue = rounded || ( image ? "xxl" : "lg" ) ;
7075 return (
7176 < Component
7277 className = { classNames (
7378 cardVariants ( {
7479 variant,
7580 imageLocation : image ? imageLocation : undefined ,
7681 clickable,
77- rounded : roundedValue ,
82+ size : size || ( image ? "default" : "small" ) ,
7883 className,
7984 } ) ,
8085 className
@@ -89,10 +94,10 @@ export const Card: React.FC<CardProps> = ({
8994 variant === "light-purple"
9095 ? "var(--ink-background-light)"
9196 : "var(--ink-text-muted)" ,
92- "--ink-card-rounded" : variantClassNames ( roundedValue , {
93- lg : "var(--ink-base-radius-sm) " ,
94- xl : "var(--ink-base-radius-lg )" ,
95- xxl : "var(--ink-base-radius-xl )" ,
97+ "--ink-card-rounded" : variantClassNames ( size || "default" , {
98+ noPadding : "" ,
99+ small : "var(--ink-base-radius-sm )" ,
100+ default : "var(--ink-base-radius-lg )" ,
96101 } ) ,
97102 } as React . CSSProperties
98103 }
@@ -103,10 +108,17 @@ export const Card: React.FC<CardProps> = ({
103108 { image }
104109 < div
105110 className = { classNames (
106- "ink:flex ink:flex-col ink:gap-2 ink:sm:gap-6 ink:text-text-default ink:box-border" ,
111+ "ink:flex ink:flex-col ink:gap-2 ink:sm:gap-6 ink:justify-center" ,
112+ "ink:text-text-default ink:box-border" ,
107113 ! ! image && "ink:p-2 ink:sm:p-3" ,
108114 imageLocation === "right" && "ink:sm:-order-1" ,
109- imageLocation !== "top" && ! ! image && "ink:sm:py-[100px]"
115+ imageLocation !== "top" &&
116+ ! ! image &&
117+ variantClassNames ( size || "default" , {
118+ default : "ink:sm:py-[100px]" ,
119+ noPadding : "ink:sm:py-[100px]" ,
120+ small : "" ,
121+ } )
110122 ) }
111123 >
112124 { child }
0 commit comments