Founding price: $35, then $99 after 23:59 UTC on 4 November, then $99
Get ProA remote search that keeps a per-query cache: a repeated query answers instantly from the cache while a background refresh updates it, marked Updating. Use this when people retype or revisit the same searches.
Derived from this item’s props table, because it declares no controls of its own. This item has no standalone playground, so changes update the code, the share link and the AI prompt.
Use it for pickers on slow or rate-limited APIs, where people go back and forth between a few queries and waiting again each time feels broken.
Do not use it when results must always be exact at the instant of reading, such as stock levels at checkout. Skip the cache there.
This item is part of tealmac UI Pro
The source for this item installs with a Pro licence key. Log in with your key to see the install command, or read the Pro setup page.
| Prop | Type | Default | Description |
| --------------- | ---------------------------------------- | ------- | --------------------------------------------------------------------------------- | --------------------------- |
| search | (query, { signal }) => Promise<Item[]> | - | Fetches results. |
| ttlMs | number | 60000 | How long a cached answer counts as fresh. Stale answers still show, then refresh. |
| value | Item \\ | null | - | Selected item (controlled). |
| defaultValue | Item \\ | null | null | Initial item. |
| onValueChange | (item) => void | - | Runs when an item is picked. |
| debounceMs | number | 200 | Wait after typing. |
Updating… text and refresh in the background.role="status" line announces Updating results, Results updated only when the list changed, and Could not refresh, showing saved results on failure.The pattern ships with a Testing Library test (async-query-cache-swr.test.tsx) that covers a cold search, an instant cached answer, the refresh replacing the list and a failed refresh keeping the cache.