AI-Native
PromptInput
멀티라인 입력 + ⌘+Enter 전송 + 파일첨부 + leftSlot.
채팅 입력 박스. textarea가 자동으로 사이즈 조절(maxRows까지), ⌘/Ctrl + Enter로 전송, isStreaming 시 stop 버튼으로 토글.
import { PromptInput } from "@nxtgen-org/react";
Basic
onSubmit
tsx
<PromptInput onSubmit={(text) => sendMessage(text)} />
With model selector & attach
leftSlot + enableAttach
tsx
<PromptInputenableAttachonAttach={(files) => upload(files)}leftSlot={<ModelSelector models={MODELS} value={model} onChange={setModel} />}/>
API
| Name | Type | Default | Description |
|---|---|---|---|
| value / defaultValue | string | — | controlled / uncontrolled. |
| onChange | (value: string) => void | — | — |
| onSubmit | (value: string) => void | — | ⌘+Enter 또는 send. |
| isStreaming | boolean | — | true면 stop 버튼. |
| onStop | () => void | — | — |
| enableAttach | boolean | — | 파일 첨부 버튼. |
| onAttach | (files: FileList) => void | — | — |
| maxRows | number | 8 | — |
| leftSlot | ReactNode | — | 예: ModelSelector. |