Deep dive into individual chat components for advanced customization
ContextBadgeRow
component displays selected context items (like mentions, state, or custom context) as badges above the input field. Users can click these badges to remove them from the context.
editor
- The Tiptap editor instance for mention removalMentionList
component renders the dropdown menu that appears when users type mention triggers (like @ or #). It displays available mention options with custom rendering support.
items
- Array of MentionItem
objects to displaycommand
- Function called when an item is selectedChatRenderer
is the core component responsible for rendering individual messages based on their type. It supports both built-in message types and custom message renderers.
text
- Standard text messages with markdown supportdialogue_options
- Interactive option buttonsmultiple_choice
- Choice buttons with keyboard shortcutstodolist
- Interactive todo list itemsticker
- Horizontal scrolling content cardsslider
- Slider input for numeric valuesChatBubbles
component manages the scrollable message container with animations and auto-scrolling behavior.
maxHeight
- Maximum height (e.g., “300px”, “60vh”)className
- Additional CSS classesCaptionMessages
component is specialized for caption-style chat interfaces, showing only the latest message with enhanced typography and interactions.
showThinking
- Whether to show user messages and thinking statestext
- Typewriter animation with “Cedar:” prefixdialogue_options
- 3D button grid with hover effectsticker
- Horizontal scrolling with “Next Step” buttonmultiple_choice
- Inline choice buttons with shortcutsslider
- Interactive 3D slider componentFloatingContainer
provides a floating, resizable chat window that can be positioned at different screen locations.
isActive
- Whether the container is visibleposition
- Screen position (‘bottom-left’ | ‘bottom-right’ | ‘bottom-center’)dimensions
- Size configuration objectresizable
- Enable/disable resize functionalityonResize
- Callback for size changesclassName
- Additional CSS classesSidePanelContainer
creates a side panel that pushes the main content to make room for the chat interface.
isActive
- Whether the panel is openside
- Panel position (‘left’ | ‘right’)panelContent
- React node to render in the paneldimensions
- Width configuration objectresizable
- Enable/disable resize functionalitytopOffset
- Top spacing in pixels (for fixed headers)onResize
- Callback for width changesclassName
- Additional CSS classes for main contentpanelClassName
- Additional CSS classes for panelContextBadgeRow
→ Tiptap Editor → MentionList
ChatRenderer
→ ChatBubbles
or CaptionMessages
FloatingContainer
or SidePanelContainer
wraps the entire chat