# XWUITypingIndicator

The chat thread's animated "is typing…" indicator: it shows a label plus three dots that cycle at `animationSpeed` (`slow`/`normal`/`fast`) while the `visible` data flag is true. The label is derived from the `users` array (one → "Alice is typing", two → "Alice and Bob are typing", more → "N people are typing") or the `userName` config, with an optional leading avatar (`showAvatar` + `avatarUrl`). It exposes `show()` / `hide()`, `setUsers()` / `addUser()` / `removeUser()` for live presence updates, and an optional `autoHide` after `autoHideDelay` ms.

## Basic Usage

A single-user "Alice is typing…" indicator with an avatar, made visible via `{ visible: true }`.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: One-user typing indicator showing "Alice is typing" with an avatar and animated dots.
```

## Multiple Users

Two concurrent typists rendered as "Alice and Bob are typing…" with the fast dot animation.

```example
file: examples/MultipleUsers.ts
html: examples/MultipleUsers.html
title: Multiple Users
description: Two-user typing indicator reading "Alice and Bob are typing" with fast-speed dots.
```

## Group Crowd

Four people typing at once, collapsing the label to "4 people are typing" with the slow animation.

```example
file: examples/GroupCrowd.ts
html: examples/GroupCrowd.html
title: Group Crowd
description: A many-user typing indicator that aggregates to "N people are typing" with slow dots.
```

## Bot Auto Hide

An assistant typing indicator driven by the userName config with an avatar, set to dismiss itself via autoHide.

```example
file: examples/BotAutoHide.ts
html: examples/BotAutoHide.html
title: Bot Auto Hide
description: A userName-based "Atlas Assistant is typing" indicator with an avatar that auto-hides after a delay.
```

```api
```
