5.0.0 • Published 6 years ago

cf-component-checkbox v5.0.0

Weekly downloads
72
License
BSD-3-Clause
Repository
-
Last release
6 years ago

cf-component-checkbox

Cloudflare Checkbox Component

Installation

Installation with yarn is recommended

$ yarn add cf-component-checkbox

Usage

import React from 'react';
import {
  Checkbox,
  CheckboxUnstyled,
  CheckboxTheme,
  CheckboxGroup
} from 'cf-component-checkbox';
import { applyTheme } from 'cf-style-container';

const CheckboxGroupItem = applyTheme(CheckboxUnstyled, CheckboxTheme, ({}) => ({
  marginTop: '1em',

  '&:first-child': {
    marginTop: 0
  }
}));

class CheckboxComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      checkbox1: true,
      checkbox2: false,
      checkboxValues: ['option1'],
      checkbox5: false
    };
    this.onCheckboxGroupChange = this.onCheckboxGroupChange.bind(this);
  }

  onCheckboxGroupChange(values) {
    this.setState({
      checkboxValues: values
    });
  }

  render() {
    return (
      <div>
        <p>
          You can create them individually with <code>Checkbox</code>
        </p>

        <Checkbox
          label="Checkbox 1"
          name="checkbox-1"
          value="checkbox1"
          checked={this.state.checkbox1}
          onChange={event => this.setState({ checkbox1: event.target.checked })}
        />

        <Checkbox
          label="Checkbox 2"
          name="checkbox-2"
          value="checkbox2"
          checked={this.state.checkbox2}
          onChange={event => this.setState({ checkbox2: event.target.checked })}
        />

        <p>
          Or as a group with <code>CheckboxGroup</code>
        </p>

        <CheckboxGroup
          values={this.state.checkboxValues}
          onChange={this.onCheckboxGroupChange}
        >
          <CheckboxGroupItem
            label="Checkbox 3"
            name="checkbox-3"
            value="checkbox3"
          />
          <CheckboxGroupItem
            label="Checkbox 4"
            name="checkbox-4"
            value="checkbox4"
          />
        </CheckboxGroup>

        <p>
          You can also disable a label by passing <code>false</code> explicitly
        </p>

        <Checkbox
          label={false}
          name="checkbox-5-no-label"
          value="checkbox5"
          checked={this.state.checkbox5}
          onChange={event => this.setState({ checkbox5: event.target.checked })}
        />
      </div>
    );
  }
}

export default CheckboxComponent;
5.0.0

6 years ago

4.1.37

6 years ago

4.1.36

6 years ago

4.1.35

6 years ago

4.1.34

6 years ago

4.1.33

6 years ago

4.1.32

6 years ago

4.1.31

6 years ago

4.1.30

6 years ago

4.1.29

6 years ago

4.1.28

6 years ago

4.1.27

6 years ago

4.1.26

6 years ago

4.1.25

6 years ago

4.1.24

6 years ago

4.1.23

6 years ago

4.1.22

6 years ago

4.1.21

6 years ago

4.1.20

6 years ago

4.1.19

6 years ago

4.1.18

6 years ago

4.1.17

6 years ago

4.1.16

6 years ago

4.1.15

6 years ago

4.1.14

6 years ago

4.1.13

6 years ago

4.1.12

6 years ago

4.1.11

6 years ago

4.1.10

6 years ago

4.1.9

6 years ago

4.1.8

6 years ago

4.1.7

6 years ago

4.1.6

6 years ago

4.1.5

7 years ago

4.1.4

7 years ago

4.1.3

7 years ago

4.1.2

7 years ago

4.1.1

7 years ago

4.1.0

7 years ago

4.0.9

7 years ago

4.0.8

7 years ago

4.0.7

7 years ago

4.0.6

7 years ago

4.0.5

7 years ago

4.0.4

7 years ago

4.0.3

7 years ago

4.0.2

7 years ago

4.0.1

7 years ago

4.0.0

7 years ago

3.3.0

7 years ago

3.2.3

7 years ago

3.2.2

7 years ago

3.2.1

7 years ago

3.2.0

7 years ago

3.1.0

7 years ago

3.0.1

7 years ago

3.0.0

7 years ago

2.0.0

7 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago