# Meeting Finder

Ask for a meeting in plain words, then compare ranked times on everyone's timeline.

Tier: Free

## Installation

```bash
npx shadcn add @fetaui/meeting-finder
```

## Usage

```tsx
import { MeetingFinder } from '@/components/fetaui/meeting-finder'

export function Example() {
  return <MeetingFinder people={team} onFind={suggestTimes} />
}
```

## API

| Prop | Type | Default |
|---|---|---|
| people | FinderPerson[] | required |
| onFind | (prompt, constraints) => Promise | required |
| defaultPrompt | string |  |
| defaultConstraints | FinderConstraint[] |  |
| removable | boolean | false |
| day, range | string |  |
| onPick | (suggestion) => void |  |
| failedMessage, emptyMessage | string |  |
| placeholder | string |  |
| from, to | hour | 9, 12 |
| animated | boolean | true |
| className | string |  |

## When to use

- Where a person or AI suggests times for a group.

## When not to use

- For booking with one person: use Slot Picker.

## Accessibility

- Timelines and avatars are decorative, because each suggestion says the same in words.
- Results are announced.
- Notes pair color with a check or a warning icon, so status is never color only.
- On Mobile the button reads Find but keeps the name Find times, and its tap area stays 44 px.

## Motion

- The panel fades and rises 8 px in 400 ms on first render.
- Suggestions fade in over 240 ms with a 40 ms stagger.
- The proposed ring slides to the picked time in 240 ms, by transform only.
- Skeletons shimmer while searching and pause offscreen.
- With reduced motion, the panel only fades, the ring swaps at once and skeletons stay still.
