Ui componentsReact
Sidebar Chat (React)
Add a chat sidebar to your React application.
Overview
A "sidebar chat" is a chat UI that is displayed in a sidebar on the either the left or right side of the page and is resizable.
<MyApp />
Scenarios
You may want to add a sidebar chat directly into your application for a copilot-like experience. Allowing users to chat with the AI assistant directly in your application without needing to leave the context of your application can help them get answers to their questions faster.
Quick Start
Install the component library
Define the component
Sidebar Chat Props
This type represents the configuration for the Inkeep sidebar chat widget.
Prop | Type | Required | Description |
---|---|---|---|
baseSettings | object | Yes | Core configuration settings. See Base Settings for details. |
aiChatSettings | object | No | AI chat configuration settings. See AI Chat Settings for details. |
position | 'left' | 'right' | No | The position of the sidebar. Defaults to 'right' . |
triggerSelector | string | No | The selector for the trigger element that opens the sidebar. Defaults to '[data-inkeep-sidebar-chat-trigger]' . |
minWidth | number | No | The minimum width of the sidebar chat. Defaults to 250 . |
maxWidth | number | No | The maximum width of the sidebar chat. Defaults to 600 . |
defaultWidth | number | No | The default width of the sidebar chat. Defaults to 420 . |
defaultOpen | boolean | No | Whether the sidebar chat is open by default. Defaults to false . |
autoCloseThreshold | number | No | The threshold for auto-closing the sidebar chat when resizing. When dragging below minWidth \* autoCloseThreshold , the sidebar will auto-close. Defaults to 0.7 (70% of minimum width). |
Examples
Change the sidebar position
With AI Chat Settings
Accessing Component Methods
The aiChatSettings
config accepts a chatFunctionsRef
prop that allows you to access the chat methods.
Method | Description |
---|---|
submitMessage(message?: string) | Programmatically sends a message in chat. If message is omitted, sends the current input value. |
updateInputMessage(message: string) | Updates the text in chat input field |
clearChat() | Resets the chat to its initial state |
openForm(formSettings: FormSettings) | Displays a form overlay in chat interface |
focusInput() | Sets focus to the chat input field |
Refer to the Form Settings reference docs for more details on the available properties for the openForm
method.