# @commercetools-uikit/checkbox-input

> An input component that works as checkbox input.

Latest version **20.6.7** (published 2026-07-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install @commercetools-uikit/checkbox-input
pnpm add @commercetools-uikit/checkbox-input
yarn add @commercetools-uikit/checkbox-input
bun add @commercetools-uikit/checkbox-input
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 20.6.7 |
| Published | 2026-07-17 |
| First published | 2019-11-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 9 |
| Unpacked size | 158.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 154 |
| Maintainers | emmenko, commercetools-admin, tdeekens |
| Keywords | javascript, typescript, design-system, react, uikit |

## Links

- npm: https://www.npmjs.com/package/@commercetools-uikit/checkbox-input
- Repository: https://github.com/commercetools/ui-kit
- Homepage: https://uikit.commercetools.com
- Issues: https://github.com/commercetools/ui-kit/issues
- npm.io page: https://npm.io/package/@commercetools-uikit/checkbox-input

## Dependencies (9)

- [react-intl](https://npm.io/package/react-intl.md) ^7.1.4
- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.20.13
- [@emotion/react](https://npm.io/package/@emotion/react.md) ^11.10.5
- [@emotion/styled](https://npm.io/package/@emotion/styled.md) ^11.10.5
- [@babel/runtime-corejs3](https://npm.io/package/@babel/runtime-corejs3.md) ^7.20.13
- [@commercetools-uikit/icons](https://npm.io/package/@commercetools-uikit/icons.md) ^20.6.7
- [@commercetools-uikit/utils](https://npm.io/package/@commercetools-uikit/utils.md) ^20.6.7
- [@commercetools-uikit/input-utils](https://npm.io/package/@commercetools-uikit/input-utils.md) ^20.6.7
- [@commercetools-uikit/design-system](https://npm.io/package/@commercetools-uikit/design-system.md) ^20.6.7

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 20.6.7 (latest) — 2026-07-17
- 0.0.0-canary-20260831181816 (canary) — 2026-08-31
- 0.0.0-FEC-938-ui-kit-post-pnpm-tooling-polish-catalogs-bundlewatch-bundlesize-20260518121756 (FEC-938-ui-kit-post-pnpm-tooling-polish-catalogs-bundlewatch-bundlesize) — 2026-05-18
- 0.0.0-migration-pnpm-20260513114959 (migration-pnpm) — 2026-05-13
- 0.0.0-CRAFT-2040-rich-text-input-destroys-hyperlink-tag-20260219190637 (CRAFT-2040-rich-text-input-destroys-hyperlink-tag) — 2026-02-19
- 0.0.0-fec-155-react-19-20250528075244 (fec-155-react-19) — 2025-05-28
- 0.0.0-FCT-1500-adjust-legacy-css-reset-20250527090339 (FCT-1500-adjust-legacy-css-reset) — 2025-05-27
- 0.0.0-SUPPORT-32352-de-ch-money-input-20250509174254 (SUPPORT-32352-de-ch-money-input) — 2025-05-09
- 0.0.0-main-20250115172531 (main) — 2025-01-15
- 0.0.0-preview-fec-155-react-19-20250113184401 (preview-fec-155-react-19) — 2025-01-13
- 0.0.0-preview-test-icon-entrypoints-20241212201418 (preview-test-icon-entrypoints) — 2024-12-12
- 0.0.0-preview-test-icon-pure-annotations-20241211181046 (preview-test-icon-pure-annotations) — 2024-12-11
- 0.0.0-preview-test-icon-bundle-20241210182318 (preview-test-icon-bundle) — 2024-12-10
- 0.0.0-preview-test-canary-preview-20241204111237 (preview-test-canary-preview) — 2024-12-04
- 0.0.0-preview-FCT-1187-20241024123200 (preview) — 2024-10-24
- … 1154 more at https://npm.io/package/@commercetools-uikit/checkbox-input/versions

## README

<!-- THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -->
<!-- This file is created by the `pnpm generate-readme` script. -->

# CheckboxInput

## Description

An input component that works as checkbox input.

## Installation

```
pnpm add @commercetools-uikit/checkbox-input
```

```
npm --save install @commercetools-uikit/checkbox-input
```

Additionally install the peer dependencies (if not present)

```
pnpm add react
```

```
npm --save install react
```

## Usage

```jsx
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.&#xA;This is most often used when the checkbox is tied to a collection of items in mixed states (E.g nested checkboxes).&#xA;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.&#xA;Needed for cases when hovered appearance should be triggered by the parent component and not the CheckboxInput itself.&#xA;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.

---
_Source: https://npm.io/package/@commercetools-uikit/checkbox-input · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
