@commercetools-uikit/checkbox-input

An input component that works as checkbox input.

Usage no npm install needed!

<script type="module">
  import commercetoolsUikitCheckboxInput from 'https://cdn.skypack.dev/@commercetools-uikit/checkbox-input';
</script>

README

CheckboxInput

Description

An input component that works as checkbox input.

Installation

yarn add @commercetools-uikit/checkbox-input
npm --save install @commercetools-uikit/checkbox-input

Additionally install the peer dependencies (if not present)

yarn add react
npm --save install react

Usage

import CheckboxInput from '@commercetools-uikit/checkbox-input';

const Example = () => (
  <div>
    <CheckboxInput
      value="foo-radio-value"
      onChange={(event) => alert(event.target.value)}
      isChecked={true}
    >
      A pre-checked option
    </CheckboxInput>
    <CheckboxInput
      value="bar-radio-value"
      onChange={(event) => alert(event.target.value)}
      isDisabled={true}
    >
      A disabled option
    </CheckboxInput>
    <CheckboxInput
      value="unknown-radio-value"
      onChange={(event) => alert(event.target.value)}
      aria-label={'An Option Without a Visible Label'}
    />
  </div>
);

export default Example;

Properties

Props Type Required Default Description
id string Used as HTML id attribute. An id is auto-generated when it is not specified.
name string Used as HTML name attribute of the input component
value string Value of the input component.
isChecked boolean false The checked property sets the checked state of the checkbox.
isIndeterminate boolean If true, this state is shown as a dash in the checkbox, and indicates that its state is neither checked nor unchecked. This is most often used when the checkbox is tied to a collection of items in mixed states (E.g nested checkboxes). This takes precedence visually in case isChecked is marked as true
onChange ChangeEventHandler Will be triggered whenever an CheckboxInput is clicked. Called with event
isHovered boolean Forces CheckboxInput to be rendered in a hovered state. Needed for cases when hovered appearance should be triggered by the parent component and not the CheckboxInput itself. CheckboxInput is capable of handling it's own hovering without the need to pass this prop.
isDisabled boolean false Disables the CheckboxInput
isReadOnly boolean Makes the CheckboxInput readonly
hasError boolean false Indicates that the checkbox has an error
children ReactNode The descriptive text of the CheckboxInput, used as its label.

data-* and aria-* props

The component further forwards all data- and aria- attributes to the underlying component. In order to keep the component more accessible to screen-readers, please make sure that if no children prop is present (for displaying a checkbox without any text), a corresponding aria-label property is provided instead.