Gallery

@ljoukov/chat

Overview Routes and render surfacesChat Live thread demoComposer Spark-style input shellInput Autosize textareaMarkdown Rich text renderingMessage Attachments and message partsTask card Run state cardThread Full transcript surface
  1. Gallery
  2. /
  3. Input
Input

Autosizing textarea states for forms and chat shells.

The textarea primitive follows Spark’s stepped autoresize behavior and parent-aware resize observer while staying generic enough for non-chat use.

Compact rows

Pair the lighter default states and the compact chat shell so the page stays dense instead of spreading small examples across a tall canvas.

Empty
Short-form field with the same focus and autoresize logic as the chat variant.
Populated
Useful for inline assistants and compact forms that should keep a neutral shell.
Disabled
Shows the request-in-flight state without changing the field layout.
Single-line shell
Wraps from one line into the expanded composer layout as content grows.

Multiline expansion

The heaviest state lives on its own row so the resize behavior is easy to inspect without unbalancing the rest of the page.

Expanded multiline
Shift+Enter keeps explicit newlines and makes the stepped resize more obvious.