TextField

A controlled text input. onChange receives the raw string value (not the event), so it drops straight into form libraries — e.g. a react-hook-form Controller's field. Use it inside Field for a label, hint and error.

Basic

Prefix, invalid & multiline

prefix renders a leading adornment (e.g. / for slugs); mono switches to the monospace face; invalid paints a danger border; multiline renders a <textarea> (rows controls its height).

/

Props

PropTypeDefaultDescription
valuestringCurrent value (controlled).
onChange(value: string) => voidCalled with the new string value.
prefixReactNodeLeading adornment inside the field.
multilinebooleanfalseRender a <textarea> instead of <input>.
rowsnumber4Textarea row count (when multiline).
invalidbooleanfalseDanger border + aria-invalid.
monobooleanfalseUse the monospace face.
disabledbooleanfalseDisables input.
classNamestringExtra classes on the field shell.

Other native <input> attributes (placeholder, type, onBlur, autoFocus, maxLength, …) are forwarded.