KQ-836 · HUMAN/HANDOFF
Human Handoff
A card that says who holds the thread. When the host moves the stage to waiting, the model's avatar leaves the seat to the left on the exit ease and an empty dashed seat breathes while a readout counts the wait; when the person arrives their avatar slides in from the right on snap and a ring lands around the seat on recoil, freezing the count. The cancel control is a real button and an sr-only status announces each stage once, never per second.
KQ-836 · HUMAN/HANDOFF
Fernworks Model 3Answering
Fernworks Model 3 is answering
Model answering
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/human-handoff
Props
- stage
- "model" | "waiting" | "human"
- default —
- Who holds the thread; the host advances it.
- model
- string
- default —
- The model's invented name, printed while it answers and as the seat's initials.
- person
- { name: string; team?: string }
- default —
- Who takes over; the seat's initials come from the name.
- reason
- string
- default —
- Why the thread is being handed off, shown from the waiting stage on.
- onWaitChange
- (seconds: number) => void
- default —
- Fires from the interval with each counted second; the last value is the frozen wait.
- onCancel
- () => void
- default —
- Fires from the cancel control while waiting.
- cancelLabel
- string
- default "Cancel handoff"
- Copy on the cancel control.
- label
- string
- default —
- Names the card for assistive technology.
| Prop | Type | Default | Description |
|---|---|---|---|
| stage | "model" | "waiting" | "human" | — | Who holds the thread; the host advances it. |
| model | string | — | The model's invented name, printed while it answers and as the seat's initials. |
| person | { name: string; team?: string } | — | Who takes over; the seat's initials come from the name. |
| reason | string | — | Why the thread is being handed off, shown from the waiting stage on. |
| onWaitChange | (seconds: number) => void | — | Fires from the interval with each counted second; the last value is the frozen wait. |
| onCancel | () => void | — | Fires from the cancel control while waiting. |
| cancelLabel | string | "Cancel handoff" | Copy on the cancel control. |
| label | string | — | Names the card for assistive technology. |