import upperFirst from 'lodash/upperFirst'; import camelCase from 'lodash/camelCase'; import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import LabelColors from '../../constants/LabelColors'; import styles from './Label.module.scss'; import globalStyles from '../../styles.module.scss'; const SIZES = { TINY: 'tiny', SMALL: 'small', MEDIUM: 'medium', }; const Label = React.memo(({ name, color, size, isDisabled, onClick }) => { const contentNode = (
{name || '\u00A0'}
); return onClick ? ( ) : ( contentNode ); }); Label.propTypes = { name: PropTypes.string, color: PropTypes.oneOf(LabelColors).isRequired, size: PropTypes.oneOf(Object.values(SIZES)), isDisabled: PropTypes.bool, onClick: PropTypes.func, }; Label.defaultProps = { name: undefined, size: SIZES.MEDIUM, isDisabled: false, onClick: undefined, }; export default Label;