StreamingTable
Row-by-row reveal of tabular tool output. New rows — detected by stable id/key or a value hash — flash brand-tinted and fade-in-up on first mount. Existing rows don't re-animate. Supports right/center alignment, sticky header, per-cell render overrides, and a maxHeight scroll pane.
Source
src/components/ai/streaming-table.tsxWith caption and highlight
caption surfaces a mono header; highlightNewRows controls the green flash + fade-in-up on insert.
search_flights · JFK → Tokyo
| Carrier | Route | Stops | USD |
|---|---|---|---|
| United | JFK → HND | 1 | $745 |
| ANA | JFK → HND | 0 | $812 |
| Delta | JFK → NRT | 1 | $899 |
| JAL | JFK → HND | 0 | $934 |
| American | JFK → NRT | 1 | $988 |
maxHeight with scroll
Pass maxHeight to cap the viewport. The header stays sticky while the body scrolls; highlightNewRows={false} opts out of the flash for settled data.
| Tool | Status | Duration |
|---|---|---|
| search_web | ok | 182ms |
| fetch_page | ok | 441ms |
| summarize | ok | 1203ms |
| cite_sources | ok | 98ms |