Skip to content

Capabilities ​

React UI exposes compound component families backed by context from @anvia/react controllers.

FamilyPublic namespaceResponsibility
ChatThreadViewport, messages, empty/loading/error states, suggestions, scrolling
ComposerComposerRich or textarea input, attachments, drops, quotes, trigger entities, submit/stop
MessagesMessageText, Markdown, reasoning, tools, data, attachments, errors, actions
CompletionCompletionPrompt form, input, output, submit, and stop
Human inputHumanInputApproval and structured-question collections and actions
AttachmentsAttachmentName, preview, and removal
ImagesImagePreview, copy, download, and zoom overlay
SelectionSelectionToolbarQuote and copy actions for message selections
ThreadsThreadList, ThreadListItemApp-controlled thread navigation and archive/delete actions
Context usageContextMeterUsed or remaining model-context display
Streamed MarkdownStreamMarkdownContext-free rendering for an app-owned growing string

Headless behavior ​

Most parts forward native element props and refs. Many support asChild, letting a design-system element become the rendered node while Anvia preserves behavior and data attributes. Collection parts establish item contexts consumed by hooks such as useMessagePart, useApproval, and useThreadListItem.

Boundaries ​

The package does not provide a complete visual theme, application navigation, server persistence, authentication, Markdown link policy, or tool authorization. Thread-list mutations call the controller supplied by the application. Human-input buttons call the useChat controller and do not decide whether the current user is allowed to resolve an approval.

The rich composer uses Tiptap and browser DOM behavior. Image zoom, selection tooling, attachments, and rich editing should run on the client in SSR applications.

See components and theming and the API reference.

Built for Anvia.