Skip to content

Browse components

← All components

Prompt Input

Auto-growing composer with tools, model picker slot, and send/stop.

Install
npx shadcn@latest add https://ui.anuragroy.dev/r/prompt-input.json

Preview

Loading preview…

Installation

Add the component from this site. The shadcn CLI fetches the registry JSON over HTTPS — no named registry submission required.

Terminal
npx shadcn@latest add https://ui.anuragroy.dev/r/prompt-input.json

GitHub fallback if the website is down:

Terminal
npx shadcn@latest add https://raw.githubusercontent.com/anurag-roy/ui.anuragroy.dev/main/public/r/prompt-input.json

Usage

Import paths follow your components.json aliases. After install, the default path is @/components/ui/prompt-input.

Import
import {  PromptInput,  PromptInputBody,  PromptInputSubmit,  PromptInputTextarea,  PromptInputToolbar,  PromptInputTools} from "@/components/ui/prompt-input"
example.tsx
import {  PromptInput,  PromptInputBody,  PromptInputSubmit,  PromptInputTextarea,  PromptInputToolbar,  PromptInputTools,} from "@/components/ui/prompt-input"export function Example() {  return (    <PromptInput      onSubmit={(event) => {        event.preventDefault()      }}    >      <PromptInputBody>        <PromptInputTextarea placeholder="Ask the agent…" />      </PromptInputBody>      <PromptInputToolbar>        <PromptInputTools />        <PromptInputSubmit />      </PromptInputToolbar>    </PromptInput>  )}

API Reference

PromptInput

A `form`. Enter submits; Shift+Enter inserts a newline.

PropTypeDefault
status"idle" | "submitted" | "streaming""idle"
onStop() => void—
  • status — When `streaming`, the submit control becomes stop.