28 October 2026
Section titled “28 October 2026”Added
- First version:
DataTable, built on TanStack Table v9; it uses the Table parts andtableStyles.createDataTableColumnHelperandDataTable.ColumnToggleare exported. - Sorting (
sorting,defaultSorting,manualSorting): a button in the header,aria-sorton theth, a direction icon and a polite live region announcement. - Selection (
selectionMode,rowSelection): a select-all checkbox with a mixed state; row checkboxes are named throughgetRowLabel. - Column visibility and the column panel (
columnToggle). - Built-in states (
status): loading (skeleton,aria-busy), empty, filtered-empty and error;onClearFilters,onRetryandmessages. rowActions,onRowOpen,footer,toolbarandtotalRowCount.virtualize: visible rows with TanStack Virtual,aria-rowcountandaria-rowindex.ui.data-table.*library strings (TR and EN).- Pinned columns:
meta.pin(start,end) in a column definition. - Expandable rows:
renderExpanded,getRowCanExpand,expanded,defaultExpanded,onExpandedChange; theui.data-table.expandandui.data-table.expand-columnstrings.
Changed
- The same header and row heights as Table; the default virtualisation row height is 32, 40 and 48 px.
- Pinned header cells take the page surface fill, so scrolling columns do not show under them; the pinned column edge takes the table rule colour (
table-border). - The expand button’s focus is a solid 2 px outline; the expanded detail row sits on
surface-layer-1. - The column panel uses the shared popup surface (
border-overlay,shadow-popup, 10 px corners).