@@ -14,6 +14,12 @@ export type CardProps = React.ComponentPropsWithoutRef<'div'> & {
1414 * @default 'normal'
1515 */
1616 padding ?: 'none' | 'condensed' | 'normal'
17+
18+ /**
19+ * Controls the border radius of the Card.
20+ * @default 'large'
21+ */
22+ borderRadius ?: 'medium' | 'large'
1723}
1824
1925type HeadingLevel = 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
@@ -62,7 +68,7 @@ type MetadataProps = React.ComponentPropsWithoutRef<'div'> & {
6268}
6369
6470const CardImpl = forwardRef < HTMLDivElement , CardProps > ( function Card (
65- { children, className, padding = 'normal' , ...rest } ,
71+ { children, className, padding = 'normal' , borderRadius = 'large' , ...rest } ,
6672 ref ,
6773) {
6874 let icon : React . ReactNode = null
@@ -96,14 +102,26 @@ const CardImpl = forwardRef<HTMLDivElement, CardProps>(function Card(
96102
97103 if ( ! hasSlotChildren ) {
98104 return (
99- < div ref = { ref } className = { clsx ( classes . Card , className ) } data-padding = { padding } { ...rest } >
105+ < div
106+ ref = { ref }
107+ className = { clsx ( classes . Card , className ) }
108+ data-padding = { padding }
109+ data-border-radius = { borderRadius }
110+ { ...rest }
111+ >
100112 { children }
101113 </ div >
102114 )
103115 }
104116
105117 return (
106- < div ref = { ref } className = { clsx ( classes . Card , className ) } data-padding = { padding } { ...rest } >
118+ < div
119+ ref = { ref }
120+ className = { clsx ( classes . Card , className ) }
121+ data-padding = { padding }
122+ data-border-radius = { borderRadius }
123+ { ...rest }
124+ >
107125 { ( image || icon ) && (
108126 < div className = { clsx ( classes . CardHeader , image && classes . CardHeaderEdgeToEdge ) } > { image || icon } </ div >
109127 ) }
0 commit comments