# All files / react/Chip index.jsx

50% Statements 4/8
100% Branches 0/0
0% Functions 0/3
50% Lines 4/8

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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46

    1x

    1x
    1x
    1x

     import cx from 'classnames'
    import React from 'react'
    import styles from './styles.styl'

    class Chip extends React.PureComponent {
      render() {
        const { children, className, ...props } = this.props
        return (
          <div
            className={cx(styles['c-chip'], className, this.constructor.className)}
            {...props}
          >
            {children}
          </div>
        )
      }
    }

    export class RoundChip extends Chip {
      static className = styles['c-chip--round']
    }

    export default Chip

    const disabledChipButtonStyle = styles['c-chip-button--disabled']
    export class ChipButton extends React.PureComponent {
      render({ children, className, disabled, ...props }) {
        return (
          <RoundChip
            className={cx(styles['c-chip-button'], className, {
              [disabledChipButtonStyle]: disabled
            })}
            {...props}
          >
            {children}
          </RoundChip>
        )
      }
    }

    Chip.Button = ChipButton
    Chip.Round = RoundChip
    Chip.Separator = ({ className }) => (
      <span className={cx(styles['c-chip-separator'], className)} />
    )