Skip to content
Pebble Pro is here at $49 one timeSee what’s included ↗
Pebble
ComponentsDocsMCPPricing
⌕ Find a component↗Log in
All components 673

Categories

Core inputs & forms46Buttons & actions33Navigation36Overlays & feedback49Data display33Charts & data viz40Cards & layout43Marketing blocks38App shells & pages37AI interfaces40Text & typography effects33Backgrounds & visual effects38Motion & transitions32Numbers & counters32Media34E-commerce333D & interactive36Themed sets40
Start with the essentials.Installation guide ↗Connect your agent ↗
← All componentsAI interfaces

Prompt Input

A chat and agent composer with an auto-growing text box, attachment chips, tool toggles, a model menu and a lit send key that turns into a stop key while streaming.

Preview

  • q3-churn-cohorts.csv184 KB
  • retention-memo.pdf2.4 MB
Enter to send · ShiftEnter for a new line

Streaming

Disabled

Install

Pro source requires Pebble Pro. Try the full preview above.

Props

PropTypeDefaultDescription
value / defaultValuestring""Controlled or initial text; onValueChange reports edits.
onSubmit(submit: PromptInputSubmit) => void—Enter or the send key: { text, attachments, model, tools }. Uncontrolled text clears.
streamingbooleanfalseThe send key becomes a stop key; Escape in the text box calls onStop.
onStop() => void—Called by the stop key and Escape while streaming.
loadingbooleanfalseWaiting for the first token: spinner in the key, aria-busy.
disabledbooleanfalseDisables the text box and every control.
placeholder / labelstring"Ask anything" / "Message"Placeholder and the text box's accessible name.
maxLengthnumber—Shows a count from 80%, warns at 95% and blocks sending past it.
maxHeightnumber240Tallest the text box grows (px) before it scrolls.
attachmentsPromptInputAttachment[][]Chips: { id, name, size?, kind?: image | document | code | data, status?: ready | uploading | error }.
onRemoveAttachment(id: string) => void—Shows a remove button on each chip.
onAddFiles(files: File[]) => void—Enables the attach button, dropping files on the card and pasting files.
models / model / defaultModelPromptInputModel[] / stringfirst modelModel menu: { id, name, description?, glyph?: orbit | prism | facet | bloom | ReactNode }; onModelChange reports picks.
tools / activeTools / defaultActiveToolsPromptInputTool[] / string[][]Toggle buttons { id, label, icon? }; onActiveToolsChange reports the active ids.
hintReactNode—A line under the composer, linked to the text box as its description.

Pro component

Try the full preview above. Editable source and build guides require Pebble Pro.

Buy Pebble Pro — $49How source access works ↗
Pebble

Small details.
Better interfaces.

React components to explore, make your own, and build on.

Library

  • Components
  • Installation
  • Pricing

Resources

  • For agents
  • About
  • Support

Legal

  • License
  • Terms
  • Privacy
  • Final sale

Built by Pebble

A product of Praxys Solutions LLC ↗

Pebble Pro is live

$49 one time, lifetime updates ↗