SakaniUI

Textarea

Multi-line text input, with the same label, description, and error treatment as Input.

Focus

Same treatment as Input: a thicker neutral border, not an accent-colored ring. An invalid field keeps its red border while focused, so the error doesn't disappear as you fix it.

With a description

Shown on your public profile. Markdown is supported.

Error

error takes the place of description when both are set, so validation never pushes the layout around.

Give us at least a sentence so support can act on it.

Height

Character count

There's no built-in counter; drive the description from the value's own length.

0/140

Props

Every other native attribute is forwarded to the underlying <textarea>.

PropTypeDefaultDescription
labelstringField label above the textarea.
descriptionstringHelper line under the field.
errorstringError message. Replaces the description and switches the field to its error styling.
rowsnumberVisible rows, same as the native attribute.
placeholderstringPlaceholder text.
valuestringControlled value.
disabledbooleanfalseDisables the field.
onChange(e: ChangeEvent<HTMLTextAreaElement>) => voidFires on input.

Why it works this way

Why

  • It matches Input's states exactly (focus, error, disabled), so a form mixing both feels like one system.

Don't

  • Don't use it for short single-line values. Use Input.