Skip to content

Chat Components API ​

The tables below summarize the props and events exposed by each chat component. All components are standard Vue SFCs, so you can also inspect their source under src/components/ChatAgentComponents/ChatComponents/.

ChatViewWrapper ​

PropTypeDefaultDescription
None––Consumes useChatAgentStore internally; no external props are required.
EmitsPayloadDescription
None–The wrapper coordinates child events internally; listen to the downstream components if you need granular hooks.

MainAIChatView ​

PropTypeDefaultDescription
chatsArray[]Array of conversation messages (conversationList entries from the store).
EmitsPayloadDescription
askSelectionstringFired when the user highlights part of a response and clicks the tooltip CTA; payload contains the selected text.

PrimaryInput ​

PropTypeDefaultDescription
textareaPlaceholderString'Enter something...'Placeholder shown inside the textarea.
dropdownSuggestionsArray[]Suggestions displayed when the box is focused.
modelValueString''The current input value (v-model).
hideSuggestionsDropdownBoolean | String | NumberfalseForces the suggestion list closed.
inProgressBooleanfalseWhen true, the CTA turns into a pause button and handleSubmitMessage emits pause-response.
shortBoolean | String | NumberfalseShrinks the textarea height (used after conversations have started).
referredTextString''Prefills the “Reference” pill shown inside the prompt box.
EmitsPayloadDescription
update:modelValuestringStandard v-model sync event.
textarea:focused–Fired when the textarea gains focus.
textarea:blur–Fired when the textarea loses focus.
files-selectedFileList | File[]Triggered on drag/drop, paste, or manual picker uploads.
submit:messagestringEmitted when the user clicks send or presses Enter (unless streaming).
pause-response–Emitted when the CTA is pressed while inProgress is true.
removeReference–Emitted when the “reference” chip is cleared.

DraggableChatBox ​

PropTypeDefaultDescription
isVisibleBooleantrueControls whether the window is rendered (wrapper toggles this).
EmitsPayloadDescription
close–Fired after the minimize animation completes so parents can hide the chat box.

DraggableChatBoxWrapper ​

This wrapper has no props or emits. It reads/writes isChatBoxVisible in the store and swaps between the launcher icon and the draggable window automatically.

UploadedFilesSection ​

PropTypeDefaultDescription
uploadedFilesArray[]Array of file metadata objects (the same shape pushed inside ChatViewWrapper).
hideRemoveFileIconBooleanfalseHides the inline “x” buttons when true.
EmitsPayloadDescription
file:removenumberIndex of the removed item.
file:clickedobjectThe file record that was clicked (used to open previews).

Markdown Components ​

ComponentPurposeNotes
CustomMarkdownAssistant/AI message rendererUses markdown-it, highlight.js, click-to-copy, image zoom, color swatches.
SentMessageMarkdownUser/outbound rendererUses DOMPurify for sanitization, custom ordered/bullet list presentation.
FullScreenImageViewerModal for generated imagesEmits fullScreenViewerClose and downloadImage.

RotationAnimation ​

PropTypeDefaultDescription
durationNumber3Controls both outer and inner rotation speed (seconds).
primaryColorString'#c8d5f7'Gradient accent color.
secondaryColorString'#C6D3F7'Animated fill color for inner blobs.
backgroundColorString'#F1F4FD'Background of the outer ring.

ℹ️ OTooltip is documented separately (under general components) but is used extensively inside the chat shell for hover hints.