# `src/components/avatar/AvatarGroup.ts`:

## class: `AvatarGroup`, `btu-avatar-group`

### Superclass

| Name         | Module | Package |
| ------------ | ------ | ------- |
| `LitElement` |        | lit     |

### Mixins

| Name                | Module                         | Package |
| ------------------- | ------------------------------ | ------- |
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js |         |
| `ReadyMixin`        | /src/util/ReadyMixin.js        |         |

### Fields

| Name   | Privacy | Type                   | Default | Description                                                         | Inherited From |
| ------ | ------- | ---------------------- | ------- | ------------------------------------------------------------------- | -------------- |
| `max`  |         | `number \| undefined`  |         | Maximum number of visible avatars. Remaining avatars shown as "+N"  |                |
| `size` |         | `'xs' \| 'sm' \| 'md'` | `'md'`  | Size variant for all child avatars (unless individually overridden) |                |

### Methods

| Name             | Privacy | Description                                                                                                                                                                                                                                                                        | Parameters                                              | Return    | Inherited From    |
| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
| `processAvatars` |         | Process all avatar children: apply size, handle overflow&#xA;Call this method when avatars are dynamically added or removed                                                                                                                                                        |                                                         | `void`    |                   |
| `emit`           |         | Dispatches a type-safe CustomEvent with standardized configuration.&#xA;&#xA;All events are configured with:&#xA;- bubbles: true (event propagates up the DOM tree)&#xA;- cancelable: false (event cannot be cancelled)&#xA;- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |

### Events

| Name                        | Type                            | Description                                    | Inherited From |
| --------------------------- | ------------------------------- | ---------------------------------------------- | -------------- |
| `btu-avatar-group-ready`    | `CustomEvent`                   | Fired after first render and initialization    |                |
| `btu-avatar-group-overflow` | `CustomEvent<{hidden: number}>` | Fired when avatars are hidden due to max limit |                |

### Attributes

| Name   | Field | Inherited From |
| ------ | ----- | -------------- |
| `max`  | max   |                |
| `size` | size  |                |

<hr/>

## Exports

| Kind                        | Name               | Declaration | Module                               | Package |
| --------------------------- | ------------------ | ----------- | ------------------------------------ | ------- |
| `js`                        | `default`          | AvatarGroup | src/components/avatar/AvatarGroup.ts |         |
| `custom-element-definition` | `btu-avatar-group` | AvatarGroup | src/components/avatar/AvatarGroup.ts |         |
