label | string | Data table | Accessible region label for the enhanced table surface. |
page | number | 1 | Current backend-confirmed page. |
page-size | number | 25 | Rows per page. Changes emit datatable-request with reason="page-size". |
total-rows | number | 0 | Total backend-confirmed row count used to sync the nested pagination control. |
sort | Array<{ id, desc }> | [] | Controlled sort model. Header clicks cycle asc → desc → none; Shift+click appends multi-sort entries. |
filters | object | {} | Controlled filter payload keyed by data-datatable-filter. |
selected-ids | string[] | [] | Controlled selected row ids. The component computes proposals but does not commit them locally. |
loading | boolean | false | Truthful pending state. Use Datastar data-indicator to bind this prop during requests. |
selection | none | single | multiple | multiple | Selection mode for row and visible-page controls. |
filter-debounce | number | 300 | Debounce duration in milliseconds for input-driven filters. |
sticky-header | boolean | true | Makes the table header sticky inside the internal overflow viewport. |