Streaming

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.

Sourcesrc/components/ai/streaming-table.tsx

With caption and highlight

caption surfaces a mono header; highlightNewRows controls the green flash + fade-in-up on insert.

search_flights · JFK → Tokyo
CarrierRouteStopsUSD
UnitedJFK → HND1$745
ANAJFK → HND0$812
DeltaJFK → NRT1$899
JALJFK → HND0$934
AmericanJFK → NRT1$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.

ToolStatusDuration
search_webok182ms
fetch_pageok441ms
summarizeok1203ms
cite_sourcesok98ms