import React from 'react'; import PropTypes from 'prop-types'; import './Avatar.scss'; import { twemojify } from '../../../util/twemojify'; import Text from '../text/Text'; import RawIcon from '../system-icons/RawIcon'; function Avatar({ text, bgColor, iconSrc, iconColor, imageSrc, size, }) { let textSize = 's1'; if (size === 'large') textSize = 'h1'; if (size === 'small') textSize = 'b1'; if (size === 'extra-small') textSize = 'b3'; return (
{ imageSrc !== null ? avatar : ( { iconSrc !== null ? : text !== null && ( {twemojify([...text][0])} ) } ) }
); } Avatar.defaultProps = { text: null, bgColor: 'transparent', iconSrc: null, iconColor: null, imageSrc: null, size: 'normal', }; Avatar.propTypes = { text: PropTypes.string, bgColor: PropTypes.string, iconSrc: PropTypes.string, iconColor: PropTypes.string, imageSrc: PropTypes.string, size: PropTypes.oneOf(['large', 'normal', 'small', 'extra-small']), }; export default Avatar;