All files / elements/typography/Paragraph styled.js

100% Statements 10/10
100% Branches 4/4
100% Functions 2/2
100% Lines 10/10

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 57 58 59 60                                      10x   10x 58x 58x   10x 58x 58x     10x                           10x           10x                  
import PropTypes from 'prop-types';
import styled from 'styled-components';
import { fontWeight, space } from 'styled-system';
import { getGlobalStyles } from 'src/global-styles';
import {
  colorCore,
  defaultStylesBase,
  ellipsisCore,
  fontFamilyCore,
  fontSizeCore,
  fontStyleCore,
  letterSpacingCore,
  lineHeightCore,
  textAlignCore,
  textDecorationCore,
  typography,
} from 'src/utils/styledHelpers';
import { ParagraphComponent } from './component';
 
const { grid: gridSchema } = getGlobalStyles();
 
const fontSizeParagraph = props => {
  const { lead } = props;
  return lead ? fontSizeCore({ ...props, lg: true }) : fontSizeCore(props);
};
const fontWeightParagraph = props => {
  const { lead } = props;
  return lead ? fontWeight({ ...props, fontWeight: '300' }) : fontWeight(props);
};
 
const Paragraph = styled(ParagraphComponent)`
  ${colorCore}
  ${ellipsisCore}
  ${fontFamilyCore}
  ${fontSizeParagraph}
  ${fontWeightParagraph}
  ${letterSpacingCore}
  ${lineHeightCore}
  ${fontStyleCore}
  ${textAlignCore}
  ${textDecorationCore}
  ${space}
`;
 
Paragraph.propTypes = {
  ...typography.propTypes,
  /** Use the lead font size */
  lead: PropTypes.bool,
};
 
Paragraph.defaultProps = {
  ...defaultStylesBase,
  lead: false,
  mb: gridSchema.gutter,
  mt: 0,
};
 
/** @component */
export { Paragraph };