# XWUIChatPreviewRow

A single conversation row for a chat-list rail: an `XWUIAvatar` (optionally overlaid with an `XWUIChatPresenceDot` when `presence` is set), the contact `name` with a right-aligned `timestamp`, and a bottom line showing either `lastMessage` or an animated "typing…" label when `typing` is true. The trailing meta cluster renders mute and pin glyphs (`muted`, `pinned`) and an `unreadCount` badge that caps at "99+". The whole row is a button firing `onSelect`; the `active` conf_comp flag marks it as the currently open chat, and `setActive()` toggles that state. This is the row `XWUIChatList` repeats for each entry.

## Basic Usage

A standalone preview row for "Sarah Chen" with an online presence dot, a last-message preview, a 10:14 timestamp, and an unread-count badge of 2.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: Single chat preview row with avatar, online dot, last message, timestamp, and an unread badge.
```

## Pinned + Typing

A pinned, muted group row that shows the live "typing…" indicator instead of a last-message preview.

```example
file: examples/PinnedTyping.ts
title: Pinned + Typing
description: A pinned and muted row showing the animated typing label with pin and mute glyphs.
```

## Active Row with Capped Unread

The currently-open chat marked `active`, for an away contact, with a 128-message unread count that the badge caps at "99+".

```example
file: examples/ActiveUnread.ts
title: Active Row with Capped Unread
description: An active, away-presence row whose unread badge caps a 128 count at 99+.
```

```api
```
