Virtual List
Scrollable list using CSS content-visibility:auto for zero-JS viewport culling. Browser skips layout/paint for off-screen rows.
data virtual-list
Usage
// import "mljr-web/ui/data"
items := make([]g.Node, 500)
for i := range items {
items[i] = data.VirtualListRow(data.VirtualListItemProps{
Title: fmt.Sprintf("Row %d", i+1),
Subtitle: "Subtitle text here",
Meta: "12:34",
})
}
data.VirtualList(data.VirtualListProps{
Height: "400px",
EstimatedItemHeight: "56px",
}, items...)