Skip to main content
Theme UI provides a comprehensive set of form components with consistent styling and theme integration.

Components

Import


Input

Text input component with theme variants.

Usage

Props

string
default:"'input'"
Input variant from theme.forms.
string
default:"'background'"
Background color for autofilled inputs. Maps to theme colors.
string
HTML input type (text, email, password, etc.).

Examples


Select

Dropdown select component with custom arrow indicator.

Usage

Props

string
default:"'select'"
Select variant from theme.forms.
React.ReactElement
Custom arrow element to replace the default down arrow.

Examples


Textarea

Multi-line text input component.

Usage

Props

string
default:"'textarea'"
Textarea variant from theme.forms.
number
Number of visible text rows.

Examples


Label

Form label component for accessibility.

Usage

Props

string
Associates label with an input by ID.
string
default:"'label'"
Label variant from theme.forms.

Examples


Checkbox

Checkbox input with custom styled appearance.

Usage

Props

string
default:"'checkbox'"
Checkbox variant from theme.forms.
boolean
Controlled checked state.
boolean
Default checked state (uncontrolled).

Examples


Radio

Radio button input with custom styled appearance.

Usage

Props

string
Radio group name. Required to link radio buttons together.
string
default:"'radio'"
Radio variant from theme.forms.
boolean
Controlled checked state.
string
Radio button value.

Examples


Switch

Toggle switch component for binary choices.

Usage

Props

string
Label text for the switch.
string
default:"'switch'"
Switch variant from theme.forms.
boolean
Controlled checked state.
boolean
Disable the switch.

Examples


Slider

Range slider input component.

Usage

Props

string
default:"'slider'"
Slider variant from theme.forms.
number
default:"0"
Minimum value.
number
default:"100"
Maximum value.
number
default:"1"
Step increment.
number
Controlled value.
number
Default value (uncontrolled).

Examples


Form Example

Complete form example using multiple components: