columns * | readonly DataTableColumn<Row>[] | - | Typed column definitions. Use createDataTableColumns<Row>() for best DX. |
rows * | readonly Row[] | - | Typed row data with primitive or rich cell values. |
title | string | - | Optional table title. |
caption | string | - | Muted supporting copy. |
selectable | boolean | false | Adds a checkbox selection column. |
selectedRowIds | readonly string[] | [] | Controlled selected row ids. |
sort | DataTableSort | - | Controlled sort state. |
filters | readonly DataTableFilter[] | [] | Compact toolbar filter controls. |
searchValue | string | '' | Controlled search query. |
searchPlaceholder | string | Search rows | Search input placeholder. |
pagination | DataTablePagination | - | Optional page status and controls. |
toolbarActions | readonly DataTableToolbarAction[] | - | Right-side table toolbar actions. |
getRowId | (row: Row, rowIndex: number) => string | - | Custom stable row id resolver. |
onSortChange | (sort: DataTableSort | null) => void | - | Receives local sort changes. |
onFilterChange | (filterId: string, value: string) => void | - | Receives filter selection changes. |
onPageChange | (page: number, pageSize: number) => void | - | Receives pagination clicks. |
onRowSelectionChange | (selectedRowIds: readonly string[]) => void | - | Receives row selection changes. |
onToolbarAction | (actionId: string, selectedRowIds: readonly string[]) => void | - | Receives table toolbar action clicks. |