Loads pages on demand — skeleton rows on first load, then infinite scroll via onEndReached as the virtualized list nears the bottom.
npx shadcn@latest add @beui/table-async
table-async