# XWUIActivityFilter

Filters and searches an activity stream by content, type, user, and date range, rendering the matching entries as an embedded `XWUIThread`. The filter bar combines a search box (`showSearch`), a type dropdown plus date-range picker (`showFilters`), removable active-filter chips, and a Clear button; optional preset tabs (`showTabs` + `data.filterPresets`) apply predefined `{ label, filter }` configurations. Data is supplied as `contributors` and `messages` arrays, and `setFilter()` / `getFilter()` / `onChange()` expose the current filter state programmatically.

## Basic Usage

A minimal filter with two contributors and a handful of project-activity messages, with search and filters enabled.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: Minimal activity filter with two contributors and five messages.
```

## Audit Log

A system audit log of timestamped admin actions and security events, suited to compliance dashboards.

```example
file: examples/AuditLog.ts
html: examples/AuditLog.html
title: Audit Log
description: System audit log with timestamped auth, config, deploy, and security events.
```

## Programmatic Filter

Applies a filter from code with `setFilter({ userId })` and logs results via `onChange()` whenever the filter state changes.

```example
file: examples/ProgrammaticFilter.ts
html: examples/ProgrammaticFilter.html
title: Programmatic Filter
description: Apply filters in code with setFilter() and react to changes with onChange().
```

## Project Activity Feed

A realistic project-management feed of task updates, comments, and status changes from a four-person team plus a System contributor.

```example
file: examples/ProjectActivityFeed.ts
html: examples/ProjectActivityFeed.html
title: Project Activity Feed
description: Sprint feed with task updates, deploys, and comments from a four-person team.
```

## Search Only

Hides the type dropdown and date-range picker (`showFilters: false`) so only the search input remains, for simple keyword lookup.

```example
file: examples/SearchOnly.ts
html: examples/SearchOnly.html
title: Search Only
description: Filter bar reduced to just the search input over an engineering changelog.
```

## Team Chat History

Chat-style messages between four teammates, demonstrating user filtering and keyword search over a conversation.

```example
file: examples/TeamChatHistory.ts
html: examples/TeamChatHistory.html
title: Team Chat History
description: Conversation thread with user filtering and keyword search across team messages.
```

## With Preset Tabs

Quick-access preset tabs (Last 7 Days, My Activity, System Events) sit above the thread, each applying a predefined date-range, user, or type filter.

```example
file: examples/WithPresetTabs.ts
html: examples/WithPresetTabs.html
title: With Preset Tabs
description: Preset filter tabs that apply predefined date, user, and type filters on click.
```

```api
```
