Elements

Components

AI Prompt Input

The prompt vessel: the shared field textarea — self-growing on the machine's autoresize — with the submit seal riding its last line. Around the body, slots answer the composer's anatomy: `header` for attachments riding above, `leading` for the tools at the text's left, `trailing` for the seal itself, `footer` for the tools beneath, and `footer-end` for the controls that close the footer row — the seal falls there by default, so a model picker dropped in rides the send's shoulder. An empty slot renders no part, so the bare vessel stays one quiet line. Controlled — bind `v-model` and take the text on `submit`. Enter sends; Shift+Enter breaks the line. While `busy` the seal becomes a stop seal and Enter holds its breath.

#Basic usage

ai-prompt-input/basic Vue React

Type and press Enter.

ai-prompt-input/compose Vue React
colophon.png47.1 KBnotes.md1.0 KB

Attach, pick a model, type and press Enter.

#Props

#AiPromptInput

The prompt vessel: the shared field textarea — self-growing on the machine's autoresize — with the submit seal riding its last line. Around the body, slots answer the composer's anatomy: header for attachments riding above, leading for the tools at the text's left, trailing for the seal itself, footer for the tools beneath, and footer-end for the controls that close the footer row — the seal falls there by default, so a model picker dropped in rides the send's shoulder. An empty slot renders no part, so the bare vessel stays one quiet line. Controlled — bind v-model and take the text on submit. Enter sends; Shift+Enter breaks the line. While busy the seal becomes a stop seal and Enter holds its breath.

PropTypeDefaultDescription
modelValueString""The draft in the vessel — bind v-model; it clears itself on a successful submit.
placeholderString"Send a message"The quiet invitation before the reader types.
disabledBooleanfalseStill the words on the canvas, but the submit seal does nothing and Enter stays a line break.
busyBooleanfalseThe machine is working — the seal becomes a stop seal and Enter holds its breath.
mentionsObject as PropType<{ items: MentionEntry[]; trigger?: string }>undefinedMention candidates for the field: pass the roster and the summon character (@ unless told otherwise) and the vessel rides the textarea. While candidates are up, Enter inserts and the send waits.