Conversations

A list of chats for a sidebar, with a new chat button, per-chat menus and groups.

Basic

Pass items to list the conversations and defaultActiveKey to select one, with disabled on an item to lock it.

New chat button

Pass creation to show a new chat button above the list, and add a conversation to items from its onClick.

Custom new chat button

Give creation a label, an icon and align to change the new chat button's text, glyph and alignment.

Icons and dividers

Give an item an icon to show a glyph before its label, and add a divider item to separate agents from past chats.

Controlled

Pass activeKey and onActiveChange to select a conversation from your own state, like the two buttons below the list.
Pass menu to add a menu to each item, opened from the button that appears on hover.
Set menu.trigger to replace the glyph that opens each item's menu, here with a chevron that stays visible.

Groups

Set groupable and give each item a group to list conversations under headings, like Today and Yesterday.

Collapsible groups

Set groupable.collapsible to fold each group from its heading, and groupable.label to show a count beside the name.

Controlled groups

Pass expandedKeys and onExpand in groupable to open groups from your own state, with Today kept open by collapsible.

Shortcut keys

Set shortcutKeys to start a new chat with Meta+K (Cmd+K on a Mac) and open a conversation with Alt and its number.

In context

The component inside real screens, with the components it usually sits beside.

Assistant sidebar

An assistant app with past chats grouped by day in a sidebar, and the selected chat's messages and input in the pane beside it.

Searchable history

A chat history panel with a search field that filters the grouped list, and a menu on each chat to rename or delete it.

Workspace switcher

A workspace picker above the chat list that swaps in each project's pinned and recent chats, with its members and chat count below.