← ui-lab

Virtual Grid

A virtualized grid: only a bounded band of rows is in the DOM at any time, yet aria-rowcount advertises the full size and every cell carries its true 1-based aria-rowindex/aria-colindex. Focus stays on the container (aria-activedescendant); scrolling and arrow keys recycle the window while every row stays reachable.

Preview

R1C1
R1C2
R1C3
R2C1
R2C2
R2C3
R3C1
R3C2
R3C3
R4C1
R4C2
R4C3
R5C1
R5C2
R5C3
R6C1
R6C2
R6C3
R7C1
R7C2
R7C3
R8C1
R8C2
R8C3
R9C1
R9C2
R9C3
R10C1
R10C2
R10C3
R11C1
R11C2
R11C3
R12C1
R12C2
R12C3
R13C1
R13C2
R13C3
R14C1
R14C2
R14C3
R15C1
R15C2
R15C3
R16C1
R16C2
R16C3

Installation

npx shadcn@latest add https://ui.publictheta.com/r/virtual-grid.json

Conformance

This component conforms to the @publictheta/ui-spec virtual-grid specification. Run the suite against any implementation with pnpm conformance.