CodeVetter · Repo Unpack · Feature catalog
TanStack/table
Features are developer-facing APIs that applications turn into controls and rendered grids. The stock registry includes table transformations, column management, row interaction, and spreadsheet-style cell behavior. Examined examples add virtualization, asynchronous query ownership, and worker processing around those APIs. This catalog describes the inspected feature families and examples; the supplied inventory and this investigation are bounded.
- Sorting supports click toggles, Shift-based multi-sort, removal, maximum multi-sort columns, custom comparator functions, named comparator registries, undefined placement, and inverted ordering.
- Column filtering, global filtering, and column faceting are independently exported capabilities; faceting supplies row models, unique-value counts, and min/max factories, while filtered processing is replaceable or bypassable.
- Grouping and aggregation are separate features. The worker example demonstrates custom grouping values, sum/mean aggregations, and multiple named aggregate results such as median plus extent rendered by aggregatedCell.
- The stock registry exposes column ordering, visibility, start/end pinning, sizing, and resizing, alongside row expansion, pagination, pinning, and selection. columnResizingFeature requires columnSizingFeature at the typed registration boundary.
- Cell selection provides selected IDs, range-value grids, counts, and data-change resets; cell spanning integrates with selection so a range clipping a merged cell expands to enclose it.
- React offers selector-based useTable subscriptions, table.Subscribe, bound FlexRender, and reusable createTableHook contexts/components. The spreadsheet example adds keyboard navigation, editing/undo commands, and both row and column virtualization through separate integrations.
- The Query example demonstrates offset and cursor pagination over simulated asynchronous data, with sorting/filtering performed outside the table. The worker example replaces filtering/grouping/sorting factories while retaining expansion, pagination, and selection on the main thread.
- Devtools let users select among registered tables and inspect features, state, options, rows, and columns. Registration requires a table key; adapters support conditional registration and explicit production entrypoints.