# AI Conversations (ConversationList / ConversationListItem / ChatThread / ChatComposer)

## 2026-07-07 | Embedded modes for the Kanban slide-out (BUILD-2313 refinement)

**Prompted by:** Clint Howen | Designer/PO refinement of BUILD-2313

### What changed
- `ChatComposer` / `ChatThread`: new additive `emailOnly` prop. Locks the composer to the email channel, hides the Chat/Email toggle, and suppresses the "Let AI Handle" action. The compose area keeps the standard 150px empty height (a 96px embedded variant was trialled and reverted by the PO). Implies email is integrated; `channel` / `isEmailIntegrated` are ignored while set. Default `false`.
- `ConversationListItem`: new additive `variant` prop, `"panel"` (default, existing sidebar card) or `"row"` (single-line Gmail-style row: name · subject · snippet · timestamp, unread rows bold with a count badge, Closed chip, needs-attention flag). `ConversationList` gained a matching `itemVariant` pass-through.
- `AiConvListItemData`: new optional `subject` field, used as the row title by the row variant.
- `ConversationList`: new additive `compact` + `compactLabel` props. Compact mode swaps the search box + 5 filter tabs for a slim labelled header (overline label + count badge, px-4 py-3) and lists every conversation unfiltered. Default `false`.
- `ChatThread`: new additive `showBackButton` prop. Renders the existing back control at every breakpoint (previously mobile-only) for embedded drill-in layouts.

### Why
- The Kanban slide-out's Email & Notes tab (`OpportunityEmailNotesTab`) is email-only by scope and holds 1-3 conversations inside a 1048px drawer. The full inbox chrome (channel toggle, search, filter tabs, side-nav list) was noise there, and PO/designer feedback asked for a Gmail-style pattern: email chains as full-width rows, click into a thread, back out. All changes are additive with defaults off, so the Conversations page and every other consumer render unchanged.

### Affected tokens / files
- `packages/shadcn/src/components/ui/ai-conversations/thread.tsx`
- `packages/shadcn/src/components/ui/ai-conversations/list.tsx`
- `packages/shadcn/src/components/ui/ai-conversations/types.ts`
- Story: `apps/docs/stories/shadcn/templates/conversations/shadcn-ai-conversations.stories.tsx` ("Embedded" story)
