Table Config
Type: FluiKitTableConfig.
Properties
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
enabled | boolean | No | true | Enables table rendering. |
mode | "static" | "server" | No | root mode, falling back to "server" if neither mode nor dataMode is set at the root | Table data mode. |
engine | "tanstack-table" | No | "tanstack-table" | Table engine. |
dataPath | string | No | - | Path to rows inside response. |
totalPath | string | No | - | Path to total count inside response. |
minWidth | string | number | No | - | Horizontal scroll/min width. |
columns | FluiKitTableColumnInput[] | No | normalized | Column definitions. |
search | FluiKitSearchConfig | No | - | Search config. |
filters | FluiKitFilterConfig[] | No | - | Filter config. |
sort | FluiKitSortConfig | No | - | Sorting config. |
pagination | FluiKitPaginationConfig | No | - | Pagination config. |
rowSelection | boolean | FluiKitRowSelectionConfig | No | - | Row selection config. |
rowNumber | boolean | FluiKitRowNumberConfig | No | normalized | Row number column config. |
actionGrouping | boolean | No | true | Groups row actions when applicable. |
actionIcon | FluiKitTableActionIconConfig | No | - | Row action icon hover config. |
columnVisibility | boolean | Record<string, boolean> | No | - | Initial/controlled column visibility metadata. |
export | boolean | FluiKitTableExportConfig | No | enabled (Copy, CSV, XLS, Columns menu) unless false | Export controls config. |
states | FluiKitTableStatesConfig | No | default texts | Loading, empty, error text. |
className | string | No | - | Table class name. |
Column object
Type: FluiKitTableColumn (or a bare string, normalized into { key: string }).
| Property | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Row value path and TanStack column id. |
label | string | No | Header text. Defaults from key. |
type | FluiKitTableColumnType | No | Display hint (text, number, date, datetime, boolean, badge, email, custom, computed). |
width | string | number | No | Column width for fixed table layout. |
sortable | boolean | No | Enables header sorting. |
searchable | boolean | No | Includes the column in global search. |
filterable | boolean | No | Metadata flag for filterable columns. |
hidden | boolean | No | Hides the column from rendering. |
visibleWhen | FluiKitCondition | No | Column-level visibility condition. Not evaluated per row. |
renderer | string | No | Registry renderer key. |
compute / computed | string | No | Registry computed resolver key (compute is the runtime alias for computed). |
className | string | No | Schema metadata only — not applied by the core table renderer. |
headerClassName | string | No | Applied by the core table renderer to the column's <th>. |
cellClassName | string | No | Applied by the core table renderer to the column's <td>, merged with the tableCell theme slot. |
classNameWhen | FluiKitClassNameCondition[] | No | Schema metadata only at the column level — use theme.classNameWhen/theme.classNameResolver for active conditional styling. |
Example
TS
table: {
columns: [
{ key: "name", label: "Name", searchable: true, sortable: true },
{ key: "email", label: "Email", type: "email" },
{ key: "status", label: "Status", renderer: "StatusBadge" }
],
search: { enabled: true },
pagination: { enabled: true, pageSize: 10 }
}