{"version":"1.0","type":"rich","title":"Material Dynamic Table Angular component - typescript part","description":"This Angular component builds a dynamic Material Design table by registering column, row, header, and footer definitions from projected content. It accepts `displayedColumns`, `displayColumnDefs`, and `dataList` inputs, and emits a `rowSelected` event on click. The code uses Angular Material’s `MatTableDataSource`, `MatTable`, `SelectionModel`, and content queries (`@ContentChildren`) to wire up table parts, while `ngOnChanges` rebuilds the data source when the input list changes. The `showFooter` input controls footer row registration, and `highlightRowIndex` is provided for styling but not handled in this TypeScript portion.","provider_name":"VizHub AI Studio","provider_url":"https://next.vizhub.com","html":"<iframe src=\"https://next.vizhub.com/viz/gist-f40960e06cfca8beabf37c826c7230b9?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"1\"></iframe>","width":960,"height":500,"cache_age":3600}