All files / atoms/Font index.jsx

62.5% Statements 5/8
100% Branches 0/0
0% Functions 0/2
62.5% Lines 5/8

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            1x         1x           1x 1x         1x            
import React, { forwardRef } from 'react';
import PropTypes from 'prop-types';
 
import Atom from '../Atom';
import withStyle from '../../Theme/withStyle';
 
const getFontProps = (color, getColor, rest) => {
  const nextCss = { ...rest.css, color: getColor(color) };
  return { ...rest, css: nextCss };
};
 
const Font = forwardRef(({ children, getColor, color, ...rest }, ref) => (
  <Atom element="span" atomRef={ref} {...getFontProps(color, getColor, rest)}>
    {children}
  </Atom>
));
 
Font.displayName = 'Font';
Font.propTypes = {
  children: PropTypes.node,
  color: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
  getColor: PropTypes.func.isRequired,
};
Font.defaultProps = {
  children: null,
  color: '',
};
 
export default withStyle(Font);