All files / elements/Card/subComponents/CardBody index.js

100% Statements 11/11
100% Branches 9/9
100% Functions 2/2
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                      1x           2x 1x   1x     1x           4x 4x 2x                   2x     1x           1x          
import React from 'react';
import { Card } from 'src/elements/Card';
import {
  cardBaseDefaultProps,
  cardBasePropTypes,
  cardBodyBaseDefaultProps,
  cardBodyBasePropTypes,
  cardSecondaryMediaBasePropTypes,
  cardSecondaryMediaBaseDefaultProps,
} from 'src/elements/Card/utils';
 
const getPaddingTop = ({
  cardPadding,
  cardSubtitle,
  cardThumbnail,
  cardTitle,
}) => {
  if (!cardTitle && !cardThumbnail && !cardSubtitle) {
    return cardPadding;
  }
  return '';
};
 
export const getCardBody = props => {
  const {
    cardBody,
    cardBodyProps,
    cardPadding,
    cardSecondaryMedia,
  } = props;
  if (cardBody) {
    return (
      <Card.Body
        pt={getPaddingTop(props)}
        px={cardSecondaryMedia ? cardPadding : ''}
        {...cardBodyProps}
      >
        {cardBody}
      </Card.Body>
    );
  }
  return null;
};
 
getCardBody.propTypes = {
  ...cardBasePropTypes,
  ...cardBodyBasePropTypes,
  ...cardSecondaryMediaBasePropTypes,
};
 
getCardBody.defaultProps = {
  ...cardBaseDefaultProps,
  ...cardBodyBaseDefaultProps,
  ...cardSecondaryMediaBaseDefaultProps,
};