Logo FS-Skia-UI

Controls Gallery — Data & Collections Page Spec

Inherits the shell, palette, pointer contract, keyboard contract, and determinism rules from 00-controls-gallery-overview.md.

Goal

Demonstrate the bounded-range data controls — a virtualized list view, a hierarchical tree, and a sortable, selectable data grid — driven by pointer selection, header-click sorting, expand/collapse, and wheel scrolling over large datasets.

Controls Demonstrated

Control

Module

Required

Events

Demonstrates

list-view

Collections

items

onSelected

Bounded visible-range virtual list

tree-view

Collections

items

onSelected

Hierarchical expand/collapse

data-grid

DataGrid

columns, rows

onSelected, onFocusChanged, onSortChanged

Rows, columns, sort, focus, selection

User Experience

The page splits into three panes. A large ListView scrolls smoothly over thousands of generated items rendering only its visible range. A TreeView shows a nested structure the user expands and collapses by clicking disclosure triangles. A DataGrid of ~1000 rows supports clicking a header to sort, clicking a row to select, moving the focused cell, and wheel-scrolling — all without resizing.

Layout

Mouse & Pointer Interactions

Keyboard

Core Behaviors

Data Model

Visual / Palette Requirements

App State

Track: list items and selection; tree structure, expanded set, and selection; grid columns, rows, visible range, selection, focused cell, and sort; hovered ids; scroll offsets; seed.

Determinism and Evidence

Acceptance Criteria

Out of Scope

Type something to start searching.