Inputs
Filled labeled text input. Pass `error` for inline validation. `autoComplete` for browser keychain hints.
Email must contain @
Variant × state matrix (2×3 = 6 cells)
| variant ↓ / state → | default | focus | error |
|---|---|---|---|
| empty | Required field | ||
| filled | Required field |
focus state shows the canonical 2px ring; live focus inside the input is identical.
Responsive search field. Desktop: always-expanded pill. Mobile: icon-only that expands to a fullscreen overlay on tap.
Filled combobox with suggested options and custom-value fallback. Use when the system can help match entries but should not block freeform input.
Token-styled native sliders. Use RangeSlider for a single value and DualRangeSlider for bounded ranges.
Binary radio-pill toggle. Generic over the value type. Use for two mutually exclusive choices that aren't toolbar-scale.
Variant × state matrix (2×2 = 4 cells)
| variant ↓ / state → | default | disabled |
|---|---|---|
| left | ||
| right |
Compact pill segmented control for 2–4 mutually-exclusive options (language EN/中, view mode). Separated-pill style — distinct from ToolbarSegmented (composer connected segments) and Switch (binary). variant='flat' (selected-bg) or 'gradient' (brand fill).
Recessed-track + raised-thumb switch — a filled inset groove (no border) with the active option lifted onto a near-surface pill. The 'stands on its own layer' style; use for a single, emphasized binary control (e.g. light/dark mode). For same-layer or repeated/batch controls (e.g. per-row priority) use the lighter bordered SegmentedToggle instead.
When to use which toggle
A · Visual layer
Sits on the SAME layer as content → bordered SegmentedToggle. Needs its OWN / a receded layer → inset DarkToggle.
B · Quantity
Many / repeated (e.g. per-row priority) → bordered (lighter). Single / emphasized → inset.
Independent boolean (NOT a radio group). Multiple can be checked at once.
Variant × state matrix (2×2 = 4 cells)
| variant ↓ / state → | default | disabled |
|---|---|---|
| unchecked | ||
| checked |