Skip to main content
Version: Next

Textarea

A multi-line text input with autosize, character counter, debounced input, and clearable support.

Import​

import { Textarea } from '@editora/ui-react';
// or subpath
import { Textarea } from '@editora/ui-react/Textarea';

Quick Example​

Live Editor
function TextareaDemo() {
  return (
    <ThemeProvider>
      <Textarea
        autosize
        maxRows={8}
        showCount
        maxlength={280}
        variant="soft"
        onInput={(value) => console.log(value)}
      >
        <Textarea.Label>Notes</Textarea.Label>
        <Textarea.Description>Grows up to 8 rows automatically.</Textarea.Description>
      </Textarea>
    </ThemeProvider>
  );
}
Result
Loading...

Composition​

Sub-componentSlotDescription
Textarea.LabellabelLabel text above the field
Textarea.DescriptiondescriptionHelper text below the label
Textarea.ErrorerrorError message shown in the footer

Key Props​

PropTypeDefault
valuestring—
rowsnumber4
autosizebooleanfalse
maxRowsnumber—
showCountbooleanfalse
maxlengthnumber—
clearablebooleanfalse
debouncenumber—
validation'error' | 'success' | 'none''none'
variant'classic' | 'surface' | 'soft' | 'filled' | 'ghost' | 'contrast''classic'
onChange(value: string) => void—
onInput(value: string) => void—
onDebouncedInput(value: string) => void—

For the full props reference and all examples see form-inputs/textarea.