Skip to content

Prompt Input

The PromptInput component is a compound component for AI chat interfaces. It includes a textarea with auto-resize, keyboard shortcuts, and an optional toolbar for actions.

Variations

With toolbar and button

Put tool buttons inside PromptInput.Tools. Each PromptInput.Button is an icon-only toggle for a toolbar action (attach, mention, and so on).

Streaming state

Pass status="streaming" to PromptInput.Submit while a response is generating. The submit icon becomes a stop icon so the same control cancels the stream.

Installation

import { PromptInput } from '@harnessio/ui/components'
return (
<PromptInput.Root onSubmit={handleSubmit}>
<PromptInput.Textarea
placeholder="What would you like to know?"
onChange={(e) => setValue(e.target.value)}
/>
<PromptInput.Toolbar>
<PromptInput.Tools>
<PromptInput.Button prefixIcon="plus" tooltipProps={{ title: 'Add' }} />
</PromptInput.Tools>
<PromptInput.Submit />
</PromptInput.Toolbar>
</PromptInput.Root>
)