# 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,
    };