# XWUIChatter

An Odoo-style record-detail "chatter" panel that hangs a threaded conversation off a CRM record (lead, deal, account, task, invoice). It renders a tab strip with count badges over four panes selected by `tabs`/`defaultTab`: a **Messages** thread, an **Activities** feed (with a `showScheduleButton` "+ Schedule activity" CTA), an internal-only **Notes** thread (yellow tint, fed by messages flagged `internal: true`), and a **Followers** list backed by an `XWUIDisplayAvatarGroup`. Data arrives as `messages`, `activities`, `followers`, and `counts` arrays plus `onSendMessage` / `onScheduleActivity` / `onAddFollower` / `onRemoveFollower` callbacks; the inline composer (`showComposer`) has an "Internal note" toggle, and `switchTo()` changes the active tab programmatically.

## Basic Usage

An empty chatter panel initialized with empty `messages`, `activities`, and `followers` arrays, showing the four default tabs with no content.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: Empty chatter panel rendering the four standard tabs with no messages, activities, or followers.
```

## Conversation Log

A populated record chatter combining an email message with an attachment, a status-change message, two scheduled/overdue activities with assignees, and two internal followers.

```example
file: examples/ConversationLog.ts
html: examples/ConversationLog.html
title: Conversation Log
description: Record chatter with email and status-change messages, a planned call plus an overdue email activity, and two followers.
```

## Internal Notes

Messages flagged `internal: true` are routed to the Notes tab and rendered with the internal (yellow-tinted) styling rather than the public Messages thread.

```example
file: examples/InternalNotes.ts
html: examples/InternalNotes.html
title: Internal Notes
description: Two teammate-only notes flagged internal:true that surface in the yellow-tinted Notes tab.
```

```api
```
