diff --git a/src/components/Card/Card.tsx b/src/components/Card/Card.tsx index 0d9cd33b3c..e71e6bf92e 100644 --- a/src/components/Card/Card.tsx +++ b/src/components/Card/Card.tsx @@ -273,16 +273,28 @@ const Card = ( const content = ( - {React.Children.map(children, (child, index) => - React.isValidElement(child) - ? React.cloneElement(child as React.ReactElement, { - index, - total, - siblings, - borderRadiusStyles, - }) - : child - )} + {React.Children.map(children, (child, index) => { + if (!React.isValidElement(child)) { + return child; + } + + const childType = child.type; + if ( + childType === CardContent || + childType === CardActions || + childType === CardCover || + childType === CardTitle + ) { + return React.cloneElement(child as React.ReactElement, { + index, + total, + siblings, + borderRadiusStyles, + }); + } else { + return child; + } + })} );