All files / molecule/avatar/src/AvatarBadge index.js

100% Statements 6/6
100% Branches 2/2
100% Functions 1/1
100% Lines 6/6

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 31 32 33 34 35 36          1x             1x 1x               1x     1x 1x                    
import cx from 'classnames'
import PropTypes from 'prop-types'
 
import {AVATAR_BADGE_PLACEMENTS, AVATAR_BADGE_SIZES, AVATAR_BADGE_STATUSES} from './settings.js'
 
const MoleculeAvatarBadge = ({
  className: classNameProp,
  size,
  status = AVATAR_BADGE_STATUSES.ERROR,
  placement = AVATAR_BADGE_PLACEMENTS.BOTTOM,
  ...others
}) => {
  const baseClassName = 'sui-MoleculeAvatarBadge'
  const className = cx(
    baseClassName,
    classNameProp,
    `${baseClassName}--${size}`,
    `${baseClassName}--${status}`,
    `${baseClassName}--${placement}`
  )
 
  return <div className={className} {...others} />
}
 
MoleculeAvatarBadge.displayName = 'MoleculeAvatarBadge'
MoleculeAvatarBadge.propTypes = {
  className: PropTypes.string,
  status: PropTypes.oneOf(Object.values(AVATAR_BADGE_STATUSES)),
  placement: PropTypes.oneOf(Object.values(AVATAR_BADGE_PLACEMENTS)),
  size: PropTypes.oneOf(Object.values(AVATAR_BADGE_SIZES))
}
 
export default MoleculeAvatarBadge
 
export {AVATAR_BADGE_STATUSES, AVATAR_BADGE_PLACEMENTS, AVATAR_BADGE_SIZES}