5.0.0 • Published 7 years ago

cf-component-checkbox v5.0.0

Weekly downloads
72
License
BSD-3-Clause
Repository
-
Last release
7 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

7 years ago

4.1.37

7 years ago

4.1.36

7 years ago

4.1.35

7 years ago

4.1.34

7 years ago

4.1.33

7 years ago

4.1.32

7 years ago

4.1.31

7 years ago

4.1.30

7 years ago

4.1.29

7 years ago

4.1.28

7 years ago

4.1.27

7 years ago

4.1.26

7 years ago

4.1.25

7 years ago

4.1.24

7 years ago

4.1.23

7 years ago

4.1.22

7 years ago

4.1.21

7 years ago

4.1.20

7 years ago

4.1.19

7 years ago

4.1.18

7 years ago

4.1.17

7 years ago

4.1.16

7 years ago

4.1.15

7 years ago

4.1.14

7 years ago

4.1.13

7 years ago

4.1.12

7 years ago

4.1.11

7 years ago

4.1.10

7 years ago

4.1.9

8 years ago

4.1.8

8 years ago

4.1.7

8 years ago

4.1.6

8 years ago

4.1.5

8 years ago

4.1.4

8 years ago

4.1.3

8 years ago

4.1.2

8 years ago

4.1.1

8 years ago

4.1.0

8 years ago

4.0.9

8 years ago

4.0.8

8 years ago

4.0.7

8 years ago

4.0.6

8 years ago

4.0.5

8 years ago

4.0.4

8 years ago

4.0.3

8 years ago

4.0.2

8 years ago

4.0.1

8 years ago

4.0.0

8 years ago

3.3.0

8 years ago

3.2.3

8 years ago

3.2.2

8 years ago

3.2.1

8 years ago

3.2.0

8 years ago

3.1.0

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.0.0

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago