Checkbox

Selection control for binary form choices with token-based states.

Open Checkbox Playground Open Checkbox in Figma

Preview

Usage

<label class="checkbox-field">
  <input class="checkbox" type="checkbox" />
  <span class="checkbox-field__text">Accept terms</span>
</label>
{% import "macros/ui.njk" as ui %}

{{ ui.checkbox("Accept terms") }}
{{ ui.checkbox("Receive updates", true) }}
{{ ui.checkbox("Partially selected", false, false, "indeterminate") }}
{{ ui.checkbox("Disabled option", false, true) }}
import { Checkbox } from "ui-foundations/react";

<Checkbox label="Accept terms" />
<Checkbox defaultChecked label="Receive updates" />
<Checkbox indeterminate label="Partially selected" />
<Checkbox disabled label="Disabled option" />

Used tokens

Token
--checkbox-border-size-default
--checkbox-border-size-disabled
--checkbox-border-size-hover
--color-focus
--color-overlay-active
--color-overlay-hover
--corner-checkbox-radius
--input-checkbox-border-color-active
--input-checkbox-border-color-default
--input-checkbox-border-color-disabled
--input-checkbox-border-color-focus
--input-checkbox-border-color-hover
--input-checkbox-container-background-active
--input-checkbox-container-background-default
--input-checkbox-container-background-disabled
--input-checkbox-container-background-hover
--input-checkbox-text-color-active
--input-checkbox-text-color-default
--input-checkbox-text-color-disabled
--input-checkbox-text-color-hover
--shadow-focus
--size-border-200
--size-spacing-600
--typography-label-font-family
--typography-label-font-size
--typography-label-font-weight
--typography-label-gap
--typography-label-line-height