Inputs
Cherry offers several variations for input elements. Inputs facilitate user interaction with applications. While there are no color variations for inputs, Cherry provides three sizes: Small, Default, and Big. Inputs can have error or success states to provide feedback to the user.
States
When customizing your designs, consider all the different states:
- Normal - The default appearance of the input.
- Hover
:hover- When the user hovers the cursor over the input. - Active
:active- When the input is clicked or pressed. - Focus
:focus- When the input gains focus. - Checked
:checked- Depending on the type of input, additional states may apply. - Disabled - When the input cannot be interacted with.
Ensure that your designs account for all these states to provide a consistent and user-friendly experience.
Text Input
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Input
Password
Password fields extend the text input with a reveal toggle pinned inside the field. The revealed state swaps the masked dots for plain text and flips the eye icon.
| Size | Default | Revealed | Success | Error | Disabled |
|---|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes | Yes |
Implementation: Password
Textarea
Textareas are multi-line text fields for longer content. They share the text input's border, focus ring, and status states.
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Textarea
Select
Selects are dropdown pickers styled to match the text input, with an arrow indicator that flips while the select is focused or open.
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Select
Checkbox
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Input
Radio
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Input
Toggle
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Toggle
Range
| Size | Default | Success | Error | Disabled |
|---|---|---|---|---|
| Small | Yes | Yes | Yes | Yes |
| Default | Yes | Yes | Yes | Yes |
| Big | Yes | Yes | Yes | Yes |
Implementation: Range
Dropzone
Dropzones are file inputs rendered as dashed drop targets, with a compact inline variant for embedding in forms and modals.
| Variant | Default | Drag Over | Disabled |
|---|---|---|---|
| Block | Yes | Yes | Yes |
| Inline | Yes | Yes | Yes |
Implementation: Dropzone
Avatar Dropzone
Avatar dropzones are circular, single-file dropzones for profile pictures. The circle is dashed while empty and shows the selected picture with a corner remove button once filled.
| Size | Empty | Filled | Drag Over | Disabled |
|---|---|---|---|---|
| Small (64px) | Yes | Yes | Yes | Yes |
| Default (96px) | Yes | Yes | Yes | Yes |
| Big (128px) | Yes | Yes | Yes | Yes |
Implementation: AvatarDropzone
Inputs can be found in the Figma Template in the Components page, alongside the Password, Dropzone, and AvatarDropzone component sets.