AIAIAI Design System

Input

Text input, select, toggle, and checkbox. Berkeley Mono for input values (data font). Labels always in mono. All states demonstrated live.

Text Input

PLACEHOLDER
FILLED
WITH HELP TEXT
Must be 3-20 characters, letters and numbers only.
FOCUSED
Click the input to see focus state
ERROR
Please enter a valid email address.
DISABLED
READ-ONLY
WITH ICON

Select

DEFAULT
DISABLED
ERROR
Please select a country.
WITH VALUE

Toggle

INTERACTIVE
Off
OFF
Notifications
ON
Dark mode
DISABLED OFF
Disabled
DISABLED ON
Disabled

Checkbox

INTERACTIVE
UNCHECKED
CHECKED
DISABLED
DISABLED CHECKED
INDETERMINATE

Label

Standalone form label for complex layouts where the label is not built into a form component. Uses mono label font.

DEFAULT
WITH FOR Click label to focus linked input
DISABLED

Textarea

Multi-line text input. Values displayed in Berkeley Mono (data font). Resizable vertically.

PLACEHOLDER
FILLED
WITH HELP TEXT
Markdown formatting is supported.
ERROR
Syntax error near SELCT on line 1.
DISABLED
READ-ONLY

File Upload

Drag-and-drop zone for file selection. Validates accept types and max size, then emits valid files via callback. Does not handle uploads — parent owns that logic.

DEFAULT
NO CONSTRAINTS
DISABLED
CUSTOM CONTENT

File Upload Item

Per-file progress row. Parent controls all state — this is a pure display component. Use in a list below a FileUpload zone.

quarterly-report.pdf 2.3 MB
customer-data-export-2026.csv 8.1 MB
65%
meeting-notes.txt 1.2 KB
oversized-backup.zip
File exceeds 50 MB limit

Code Editor

CodeMirror 6 wrapper with SQL, Python, and JSON syntax highlighting. Themed with DS tokens. Supports line numbers, readonly mode, and configurable height.

SQL (EDITABLE)
JSON (EDITABLE)
READ-ONLY

TOKEN REFERENCE

Inputs use component tokens from components.css:

--input-font: var(--type-data-font) (Berkeley Mono)--input-radius: var(--radius-sm) (2px)--input-border: var(--elevation-border)--input-label-font: var(--type-label-font)--toggle-bg-on: var(--color-accent)--checkbox-bg-checked: var(--color-accent)--textarea-min-height: 80px--textarea-padding: var(--space-sm)--fileupload-border: dashed var(--color-border)--fileupload-border-dragging: solid var(--color-accent)--fileupload-bg-dragging: var(--color-accent-subtle)--fileupload-item-border: var(--elevation-border)--fileupload-item-error-color: var(--color-destructive)--fileupload-item-complete-color: var(--color-success)