render()

in src/checkbox/checkbox.tsx [58:99]


  render() {
    const {
      children,
      label,
      className,
      containerClassName,
      containerStyle,
      cellClassName,
      labelClassName,
      indeterminate,
      inputRef,
      help,
      ...restProps
    } = this.props;

    const classes = classNames(styles.input, className);
    const containerClasses = classNames(styles.checkbox, containerClassName);
    const cellClasses = classNames(styles.cell, cellClassName);
    const labelClasses = classNames(styles.label, labelClassName);

    return (
      <label className={containerClasses} style={containerStyle} data-test='ring-checkbox'>
        <input
          {...restProps}
          data-checked={restProps.checked}
          ref={this.composedInputRef(this.inputRef, inputRef)}
          type='checkbox'
          className={classes}
        />
        <div className={styles.cellWrapper}>
          <span className={cellClasses}>
            <Icon glyph={checkmarkIcon} className={styles.check} />
            <Icon glyph={minusIcon} className={styles.minus} />
          </span>
        </div>
        <span className={labelClasses}>
          {label || children}
          {help && <ControlHelp>{help}</ControlHelp>}
        </span>
      </label>
    );
  }