ThreadPanel
Thread side-panel chrome for the right panel stack: header, title, action cluster, scroll body, and composer/footer slot.
Controls
<ThreadPanelRoot>
<ThreadPanelHeader>
<Button className="mr-1 lg:hidden" variant="outline" size="icon-sm" aria-label="Back">
<ChevronLeft />
</Button>
<ThreadPanelTitle>
Thread
<ThreadPanelTitleMeta> — #acme-design</ThreadPanelTitleMeta>
</ThreadPanelTitle>
<ThreadPanelActions>
<PanelAction aria-label="Search thread">
<Search />
</PanelAction>
<PanelAction aria-label="View in channel">
<ExternalLink />
<span className="hidden md:inline">View in channel</span>
</PanelAction>
<PanelAction className="max-lg:hidden" aria-label="Close thread">
<X />
</PanelAction>
</ThreadPanelActions>
</ThreadPanelHeader>
<ThreadPanelContent>
<ThreadPanelSearch>
<InputGroup />
<ThreadPanelSearchTrailing>
<ThreadPanelSearchCount />
<ThreadPanelActions>
<PanelAction aria-label="Previous match">
<ChevronUp />
</PanelAction>
<PanelAction aria-label="Next match">
<ChevronDown />
</PanelAction>
<PanelAction aria-label="Close search">
<X />
</PanelAction>
</ThreadPanelActions>
</ThreadPanelSearchTrailing>
</ThreadPanelSearch>
<ThreadPanelOriginalMessage>
<MessageItem />
</ThreadPanelOriginalMessage>
<ThreadPanelBody>
<MessageList>
<ThreadPanelReplySummary>
<MessageListNotice />
<ThreadPanelReplyCount />
</ThreadPanelReplySummary>
<MessageListDateDivider />
<MessageItem />
<MessageItem>
<MessageItemBody>
<MessageItemSearchMatch>Matching text</MessageItemSearchMatch>
</MessageItemBody>
</MessageItem>
</MessageList>
</ThreadPanelBody>
<ThreadPanelFooter>
<ComposerRoot>
<Composer>
<ComposerInput />
<ComposerToolbar>
<ComposerActions />
<ComposerMeta>
<ComposerSubmit />
</ComposerMeta>
</ComposerToolbar>
</Composer>
</ComposerRoot>
</ThreadPanelFooter>
</ThreadPanelContent>
</ThreadPanelRoot>Controls
API#WIP
| Prop | Type | Default | Description |
|---|---|---|---|
...props | section props | — | Full-height thread panel surface. It does not own thread data, routing, responsive placement, or document scroll behavior. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Fixed thread header region. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | h2 props | — | Primary thread title. Truncates within the header. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | span props | — | Secondary title metadata, such as the parent channel name. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Action cluster for header or search controls. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Thread surface below the header, including search, messages, and composer slots. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | In-thread search row under the header. Left: InputGroup. Right: ThreadPanelSearchTrailing. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Right-aligned cluster for match count and PanelAction controls. Stays flush to the row end when the input is narrower than the row. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Match-count label in the trailing cluster, formatted as a/b. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Original message region above the scroll body. Place a MessageItem inside it. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Aligns the reply notice and count with the thread panel content gutter for the active theme. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Labels the reply count above the message list. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Scrollable message body. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Day-boundary marker in the message list. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | div props | — | Inline notice in the message list. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | mark props | — | Inline matched-text part that also applies the search-result surface to its containing MessageItem. |