{
"type": "object",
"properties": {
"type": {
"const": "DataTable",
"default": "DataTable",
"type": "string"
},
"id": {
"type": [
"string",
"null"
],
"default": null,
"description": "HTML id attribute for CSS targeting. Applied to the outermost element."
},
"cssClass": {
"type": [
"string",
"null"
],
"default": null,
"description": "CSS/Tailwind classes for styling. Accepts a Responsive() for breakpoint-aware classes."
},
"columns": {
"description": "Column definitions",
"items": {
"$ref": "DataTableColumn"
},
"type": "array"
},
"rows": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "string"
}
],
"description": "Row data, `{{ interpolation }}` reference, or DataFrame"
},
"search": {
"default": false,
"description": "Show search input",
"type": "boolean"
},
"paginated": {
"default": false,
"description": "Show pagination controls",
"type": "boolean"
},
"pageSize": {
"default": 10,
"description": "Rows per page when paginated",
"type": "integer"
},
"onRowClick": {
"$ref": "Action",
"description": "Action(s) when a row is clicked. $event is the row data dict.",
"default": null
}
},
"required": [
"type",
"columns"
]
}