Tree Table
Hierarchical wrapper over neu-table for nested structures in columns, keeping selection, pagination and table density.
TypeScript
import { NeuTreeTableComponent, NeuTreeTableNode } from '@neural-ui/core/tree-table';
import { NeuTableColumn, NeuTableExpandDirective } from '@neural-ui/core/table';Repository map
Combine parent and child nodes with per-column metadata for technical inventories or internal explorers.
| # | Node | Owner | Status | Updated | Actions | ||
|---|---|---|---|---|---|---|---|
All | All | ||||||
| 1 | Neural workspaceroot Main monorepo | Platform | Active | 2026-05-04 | |||
| 2 | neural-admin-pro Admin application | Frontend | Active | 2026-05-02 | |||
| 3 | neural-ui-showcase Live docs and demos | DX | Beta | 2026-05-04 | |||
| 4 | Tree demo | Frontend | Active | 2026-05-04 | |||
| 5 | Tree Table demonew | Frontend | Beta | 2026-05-04 | |||
| 6 | neural-ui-workspace Component package | Design System | Active | 2026-05-04 | |||
| 7 | tree | Frontend | Active | 2026-05-04 | |||
| 8 | tree-tablenew | Frontend | Beta | 2026-05-04 | |||
| 9 | scheduler-gantt | Planning | Planned | 2026-05-06 |
Regional hierarchy
Useful for ownership, teams or multi-level catalogs where you need table density with hierarchical context.
| Node | Owner | Status | Updated | |
|---|---|---|---|---|
North America | Ops | Active | 2026-05-03 | |
United States | Sales | Active | 2026-05-04 | |
Canada | Sales | Beta | 2026-05-02 | |
Europe | Ops | Active | 2026-05-03 | |
Spain | Support | Active | 2026-05-01 | |
Germany | Support | Planned | 2026-05-07 |
Selected IDs—
Last event—
TypeScript
import { NeuTableColumn, NeuTableExpandDirective } from '@neural-ui/core/table';
import { NeuTreeTableComponent, NeuTreeTableNode } from '@neural-ui/core/tree-table';
interface RepoMeta {
owner: string;
status: string;
}
@Component({
imports: [NeuTreeTableComponent, NeuTableExpandDirective],
template: `
<neu-tree-table
[nodes]="nodes"
[columns]="columns"
[selectable]="true"
[pagination]="true"
[sortable]="true"
[multiSort]="true"
[columnChooser]="true"
[exportable]="true"
[expandable]="true"
>
<ng-template neuTableExpand let-node let-row="row">
{{ node.description }} · level {{ row.__treeLevel }}
</ng-template>
</neu-tree-table>`
})
export class MyComponent {
columns: NeuTableColumn[] = [
{ key: 'label', header: 'Node', width: '320px', sortable: true },
{ key: 'owner', header: 'Owner', filterable: true, editable: true },
{ key: 'status', header: 'Status', type: 'badge' },
];
nodes: NeuTreeTableNode<RepoMeta>[] = [
{
id: 'workspace',
label: 'Workspace',
expanded: true,
data: { owner: 'Platform', status: 'active' },
children: [{ id: 'showcase', label: 'Showcase', data: { owner: 'DX', status: 'beta' } }],
},
];
}