TextArea
Long-form input with resizable room for thoughts, labels and validation.
Live — this one is real
Usage
import { TextArea } from "mizu-ui";
export function Example() {
return (
<TextArea
label="Release notes"
name="notes"
rows={4}
placeholder="What changed?"
/>
);
}
Source & setup
Import mizu-ui/styles.css once. Fonts are optional via mizu-ui/fonts.css. Override --mizu-* tokens or use className for local styling. Uses native React and CSS; install the package peers for root imports.
Inspect forms/Fields.tsx
Source is included in the npm package under src/forms/Fields.tsx.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| label | string | — | Accessible label. |
| rows | number | 4 | Initial text rows. |
| ...textarea | TextareaHTMLAttributes | — | Native input events, limits and ref. |
Accessibility
Native textarea with a linked label, hint and error. Users can resize vertically.
Motion
CSS transitions explain state changes. Reduced motion removes travel.