All files / components/badge index.js

0% Statements 0/23
0% Branches 0/8
0% Functions 0/2
0% Lines 0/8
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                                                                                               
import React from 'react'
import PropTypes from 'prop-types'
import StyledBadge from './badge.styled'
import cx from 'classnames'
 
const Badge = ({ className, type, size, label, width, prefix, suffix }) => (
  <StyledBadge width={width} className={cx({
    'badge': true,
    'badge-small': (size === 's'),
    'badge-medium': (size === 'm'),
    'badge-large': (size === 'l')
  }, className, type)}
    type={type}>
    {prefix && <div className='badge-prefix'>{prefix}</div>}
    <span className='badge-label'>{label}</span>
    {suffix && <div className='badge-suffix'>{suffix}</div>}
  </StyledBadge>
)
 
Badge.propTypes = {
  className: PropTypes.string,
  label: PropTypes.string.isRequired,
  size: PropTypes.oneOf(['s', 'm', 'l']),
  type: PropTypes.oneOf([
    'primary',
    'success',
    'warning',
    'secondary',
    'danger',
    'default',
    'dark'
  ]),
  width: PropTypes.string,
  suffix: PropTypes.node,
  prefix: PropTypes.node
}
 
Badge.defaultProps = {
  className: '',
  size: 'm',
  width: 'full',
  type: 'default',
  suffix: null,
  prefix: null
}
 
export { Badge }