Checkbox
One independent yes.
Checkbox props
| Prop | Type | Default | Description |
|---|---|---|---|
| aria-label | string | — | Accessible label. |
| checked | boolean | false | Controlled checked state. |
Combo box
Type to narrow, pick to commit.
ComboBox props
| Prop | Type | Default | Description |
|---|---|---|---|
| options | { id, label }[] | — | Selectable options. |
| value | string | — | Controlled value. |
Date picker
One calendar, one ISO value.
DatePicker props
| Prop | Type | Default | Description |
|---|---|---|---|
| value | string | — | Controlled ISO date. |
| onChange | (iso: string) => void | — | Date change callback. |
Drop zone
Files arrive on the dashed edge — the one dashed style in the system.
DropZone props
| Prop | Type | Default | Description |
|---|---|---|---|
| onDrop | (files: File[]) => void | — | Fires on file drop. |
| accept | string | — | Accepted MIME types. |
Input
The single-line field.
Color slots
| Slot | Token | Description |
|---|---|---|
| Background | var(--input-background) | Field background well |
| Border | var(--border-default) | Field boundary ring |
| Text | var(--text-primary) | Primary typed text |
| Placeholder | var(--text-muted) | Recessed placeholder text |
Typography elements
| Element | Role | Size | Weight | Line height |
|---|---|---|---|---|
| value | var(--text-role-body) | 0.875rem | 400 | 1.4 |
| placeholder | var(--text-role-body) | 0.875rem | 400 | 1.4 |
Spacing rules
| Axis | What | Compact | Regular | Expanded |
|---|---|---|---|---|
| Padding | Field inner padding | var(--space-2) | var(--space-3) | var(--space-3) var(--space-4) |
| Adornment gap | Space to prefix/suffix icon | var(--space-2) | var(--space-2) | var(--space-3) |
| Min height | Field height | var(--space-7) | var(--space-8) | var(--space-8) |
| Corner radius | Field radius | var(--radius-2) | var(--radius-3) | var(--radius-4) |
States
| State | Background | Border | Text |
|---|---|---|---|
| rest | var(--input-background) | var(--border-default) | var(--text-primary) |
| hover | var(--input-background) | var(--border-default) | var(--text-primary) |
| focus | var(--page-background) | var(--border-focus) | var(--text-primary) |
| error | var(--input-background) | var(--danger) | var(--text-primary) |
| disabled | var(--interaction-disabled) | var(--border-subtle) | var(--text-muted) |
Input props
| Prop | Type | Default | Description |
|---|---|---|---|
| forceSizeClass | compact | regular | expanded | — | Pin a size class (overrides runtime). |
| loading | boolean | false | Labels a busy state. |
| placeholder | string | — | Placeholder text. |
KPI
Key performance indicators for the Inputs category are planned.
Pin entry
Digits one by one.
PinEntry props
| Prop | Type | Default | Description |
|---|---|---|---|
| length | number | 4 | Number of digits. |
| onComplete | (pin: string) => void | — | Fires when all digits entered. |
Radio
One yes among many.
Radio props
| Prop | Type | Default | Description |
|---|---|---|---|
| name | string | — | Radio group name. |
| aria-label | string | — | Accessible label. |
Rating
Stars as a value.
Rating props
| Prop | Type | Default | Description |
|---|---|---|---|
| value | number | 0 | Current rating. |
| max | number | 5 | Maximum stars. |
Search field
An input that searches.
SearchField props
| Prop | Type | Default | Description |
|---|---|---|---|
| placeholder | string | — | Placeholder text. |
| onSearch | (q: string) => void | — | Search callback. |
Segmented control
Small, visible choices — view switches and filters.
SegmentedControl props
| Prop | Type | Default | Description |
|---|---|---|---|
| options | { value, label }[] | — | Segment options. |
| value | string | — | Controlled active value. |
Select
One choice from a list.
Select props
| Prop | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | — | Option elements. |
| value | string | — | Controlled value. |
Slider
A value along a track.
Slider props
| Prop | Type | Default | Description |
|---|---|---|---|
| min | number | 0 | Minimum value. |
| max | number | 100 | Maximum value. |
| defaultValue | number | — | Uncontrolled initial value. |
Stepper
Where you are in a flow.
Stepper props
| Prop | Type | Default | Description |
|---|---|---|---|
| steps | { id, label }[] | — | Step labels. |
| current | number | 0 | Active step index. |
Textarea
The multi-line field.
Textarea props
| Prop | Type | Default | Description |
|---|---|---|---|
| placeholder | string | — | Placeholder text. |
| rows | number | 3 | Visible row count. |
Toggle
A setting that stays set.
Toggle props
| Prop | Type | Default | Description |
|---|---|---|---|
| aria-label | string | — | Accessible label. |
| checked | boolean | false | Controlled checked state. |