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);
|