PromptInput
The composer: auto-growing textarea, attachments by picker/paste/drop, model picker, and a submit that follows ChatStatus (send → spinner → stop → retry). PromptInputPresets fills it from a chip, PromptInputAnswering names the question being answered, PromptInputHint says one quiet line above it.
Playground
The send control follows status: send → spinner → stop → retry.
<PromptInput
value={value}
onValueChange={setValue}
onSubmit={send}
onStop={stop}
placeholder="Ask about anyone you know…"
/>Compound
Attachments by picker, paste, or drop; a model picker; a mic slot.
<PromptInput
value={value}
onValueChange={setValue}
onSubmit={send}
accept="image/*,.pdf"
>
<PromptInputAttachments />
<PromptInputTextarea />
<PromptInputToolbar>
<PromptInputTools>
<PromptInputActionAddAttachments />
<PromptInputButton label="Dictate"><MicIcon /></PromptInputButton>
<PromptInputModelSelect
models={MODELS}
value={model}
onChange={setModel}
/>
</PromptInputTools>
<PromptInputSubmit />
</PromptInputToolbar>
</PromptInput>