Skip to content

Chatbot UI Components

Every element is a plain custom element: no framework, no runtime dependency, and the same object whatever you mount it with. A component made of parts is documented on one page, with its parts as sections. Segments are the other family and a different kind of thing — data somebody renders, with no tag at all.

ComponentWhat it is
ChatAparteChat - The Shell The container element for a chat.
Chat viewportThe transcript surface: a light-DOM container with sticky scrolling, token streaming and segment-aware rendering.
Chat bubbleOne message: plain content or a list of rich segments, in light DOM.
Chat statusA standalone status line — a light-DOM indicator the APP owns.
ContextA gauge of the model’s context window: how much of it the conversation uses.
Conversation listConversation-history sidebar — a framework-agnostic web component.
Scroll railA rail of ticks beside the transcript — one per turn — that shows where you are in a long conversation and jumps back to any message on a click.
ComponentWhat it is
Composer (+7 parts)The root context for every aparte-composer-* primitive.
ElicitationThe default presenter for a request to the human.
SuggestionsPrompt starters — a row of suggested prompts a reader clicks instead of typing.
ComponentWhat it is
SidebarThe column beside the chat — conversations, a new-chat button, a search field, an account row — as an element, because it has behaviour: it collapses, it becomes a drawer on a narrow window, and its s
SplitTwo panes and a draggable seam — a chat beside a preview, an editor, an artifact card.
ComponentWhat it is
Select (+2 parts)Dropdown select for aparté — a vanilla web component with optional grouping, a search filter and a keyboard-driven listbox.
IconAparteIcon The library’s icon set, reachable from MARKUP.
Progress spinnerAparteProgressSpinner Circular progress spinner web component.