Launch prototype

Components

Checkbox

A binary selection control built on React Aria. Supports an indeterminate state, optional label/hint text, and two sizes - driven from config/design-system.config.ts.

Component Playground

Live instance - the controls read their options from the same config that drives the Variants section below.

sm ยท selected

Controls

Size

Label

Hint

States

Unchecked, checked, and indeterminate - used for a parent checkbox representing a partially-selected group.

Unchecked / checked / indeterminate

Sizes

Two sizes - sm (default) and md.

Small / Medium

Disabled

Disabled dims the control and prevents interaction, in both the unchecked and checked states.

Disabled - unchecked / checked / indeterminate

With label

Pass a label to pair the control with descriptive text. The whole row becomes clickable.

Labelled

With hint text

Add a hint for supporting detail beneath the label.

Labelled with hint

Group

A stacked list of checkboxes - the common pattern for multi-select filters and settings lists.

Checkbox list

API

PropTypeDefault
size"sm" | "md""sm"
labelReactNode-
hintReactNode-
isSelectedboolean-
defaultSelectedbooleanfalse
isIndeterminatebooleanfalse
isDisabledbooleanfalse
onChange(isSelected: boolean) => void-
classNamestring-

Token anatomy

Checked and indeterminate share the same brand-filled treatment. Swap --ui-bg-brand-solid to rebrand every checked control at once.

StateBackground tokenRing token
Uncheckedbg-primaryring-primary
Checked / indeterminatebg-brand-solidring-brand-solid
Disabled + uncheckedbg-tertiaryring-primary
Focus-visible outline-outline-focus-ring

Usage

import { Checkbox } from "@/components/base/checkbox/checkbox";

<Checkbox label="Remember me" defaultSelected />

Figma

No linked Figma file yet - this component was pulled in via the Untitled UI CLI, not designed in Figma first.