import React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; import { fontFamily, fontWeight, textAlign, lineHeight, letterSpacing, } from 'styled-system'; import { base, themed } from '../Base'; const TextWrapper = styled('p')( base, fontFamily, fontWeight, textAlign, lineHeight, letterSpacing, themed('Text') ); const Text = ({ content, ...props }) => ( <TextWrapper {...props}>{content}</TextWrapper> ); Text.propTypes = { content: PropTypes.string, as: PropTypes.string, fontFamily: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.arrayOf( PropTypes.oneOfType([PropTypes.string, PropTypes.number]) ), ]), fontWeight: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.arrayOf( PropTypes.oneOfType([PropTypes.string, PropTypes.number]) ), ]), textAlign: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.arrayOf( PropTypes.oneOfType([PropTypes.string, PropTypes.number]) ), ]), lineHeight: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.arrayOf( PropTypes.oneOfType([PropTypes.string, PropTypes.number]) ), ]), letterSpacing: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.arrayOf( PropTypes.oneOfType([PropTypes.string, PropTypes.number]) ), ]), ...base.propTypes, }; Text.defaultProps = { as: 'p', m: 0, }; export default Text;