Purpose

Styled <textarea>. Mirrors shadcn Textarea.

Island model

island: true if controlled. Native uncontrolled mode (server form) ships no JS.

Peer dependencies

None.

Public API

export function Textarea(props: React.TextareaHTMLAttributes<HTMLTextAreaElement> & { className?: string }): JSX.Element
export const island = true

Patties adjustments

  • Removes forwardRef.
  • No auto-resize by default; an opt-in autoResize prop installs a tiny ResizeObserver-based island.

Acceptance criteria

  • Native form submission works without JS.
  • disabled and aria-invalid styles applied.
  • autoResize grows the textarea to fit content; respects maxRows.