NEURALNG
DATABETA

Table

A native-table data engine for sorting, filtering, selection, editing, grouping, column layout, remote requests and versioned enterprise state.

Native semanticsTyped templatesRemote ready

GET STARTED

Import

Import NeuralTable and only the template directives used by the standalone consumer.

app.ts TypeScript
import { Component } from '@angular/core';
import { NeuralButton } from '@neural-ng/core/button';
import { NeuralCheckbox } from '@neural-ng/core/checkbox';
import { NeuralInput } from '@neural-ng/core/input';
import { NeuralInputNumber } from '@neural-ng/core/input-number';
import { NeuralPaginator } from '@neural-ng/core/paginator';
import { NeuralSelect } from '@neural-ng/core/select';
import {
  NeuralTable,
  NeuralTableCellDirective,
  NeuralTableEditorDirective,
  NeuralTableFilterDirective,
  NeuralTableExpansionDirective,
  NeuralTableFooterDirective,
  NeuralTableGroupFooterDirective,
  NeuralTableGroupHeaderDirective,
  NeuralTableHeaderDirective,
  NeuralTableHeaderGroupDirective,
  NeuralTableLoadingDirective,
  type NeuralTableColumn,
} from '@neural-ng/core/table';

@Component({
  imports: [
    NeuralButton,
    NeuralCheckbox,
    NeuralInput,
    NeuralInputNumber,
    NeuralPaginator,
    NeuralSelect,
    NeuralTable,
    NeuralTableCellDirective,
    NeuralTableEditorDirective,
    NeuralTableFilterDirective,
    NeuralTableExpansionDirective,
    NeuralTableFooterDirective,
    NeuralTableGroupFooterDirective,
    NeuralTableGroupHeaderDirective,
    NeuralTableHeaderDirective,
    NeuralTableHeaderGroupDirective,
    NeuralTableLoadingDirective,
  ],
})
export class InventoryPage {}

Basic table

A Table needs only a typed row collection and column model. It renders a native table, keeps the source array immutable and requires no module or wrapper markup.

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549
NN-1004 Neural Speaker Audio $249

Typed column model

Column definitions carry field access, alignment and formatting without hiding the row type from TypeScript.

inventory.ts TypeScript
interface Product {
  readonly id: number;
  readonly code: string;
  readonly name: string;
  readonly category: string;
  readonly price: number;
}

readonly columns: readonly NeuralTableColumn<Product>[] = [
  { id: 'code', header: 'Code', field: 'code' },
  { id: 'name', header: 'Product', field: 'name' },
  { id: 'category', header: 'Category', field: 'category' },
  {
    id: 'price',
    header: 'Price',
    field: 'price',
    align: 'end',
    formatter: (value) => `$${Number(value).toLocaleString('en-US')}`,
  },
];

Formatting and pipes

Cell templates accept Angular's built-in and standalone custom pipes. Formatting stays in the presentation layer, while Table continues to sort and filter the original price, date and inventory values.

inventory.page.ts TypeScript
import { CurrencyPipe, DatePipe, DecimalPipe } from '@angular/common';
import { Component, Pipe, type PipeTransform } from '@angular/core';
import { NeuralTable, NeuralTableCellDirective } from '@neural-ng/core/table';

@Pipe({ name: 'availabilityLabel', standalone: true })
export class AvailabilityLabelPipe implements PipeTransform {
  transform(value: Product['status']): string {
    if (value === 'In stock') return 'Available now';
    if (value === 'Low stock') return 'Limited availability';
    return 'Unavailable';
  }
}

@Component({
  imports: [
    NeuralTable,
    NeuralTableCellDirective,
    CurrencyPipe,
    DatePipe,
    DecimalPipe,
    AvailabilityLabelPipe,
  ],
})
export class InventoryPage {}
Signal Desk $899.00 24 units Aug 4, 2026 Available now
Hydration Lamp $129.00 7 units Jul 21, 2026 Limited availability
Standalone Chair $549.00 0 units Jun 12, 2026 Unavailable
Neural Speaker $249.00 18 units May 30, 2026 Available now

Type note: Angular cannot infer a property type from the runtime column id on a projected template. $any(row) is therefore limited to the binding boundary; the Table value and column definitions remain typed as Product.

Interactive inventory

The same client-side rows are globally filtered, filtered per column, sorted and expanded without mutating the input array.

Row expansion Status
NN-1001 Signal Desk Office $899 24 In stock
NN-1002 Hydration Lamp Lighting $129 7 Low stock
NN-1003 Standalone Chair Office $549 0 Out of stock
NN-1004 Neural Speaker Audio $249 18 In stock
NN-1005 Token Shelf Storage $319 4 Low stock
NN-1006 Headless Clock Accessories $89 31 In stock

Density and visual variants

Density controls spacing independently from striped rows, hover feedback and gridlines. Every combination still resolves through Table tokens.

Compact · striped · gridlines

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549

Spacious · quiet rows

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549

Paginator integration

Table owns client slicing while NeuralPaginator owns navigation, its localized report and the NeuralSelect page-size control. Both components bind the same Signal models.

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549

Advanced selection

Checkbox and radio controls, row clicks, Shift ranges, Ctrl/Meta toggles, disabled-row callbacks and page/filtered/all scopes share one key-safe model.

No table interaction yet.

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549
NN-1004 Neural Speaker Audio $249
NN-1005 Token Shelf Storage $319
NN-1006 Headless Clock Accessories $89

Single radio selection

No active product
NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549
NN-1004 Neural Speaker Audio $249

Expandable rows

Stable row keys control disclosure state. The typed expansion template receives the full row without replacing native table semantics or keyboard behavior.

Row expansion
NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549
NN-1004 Neural Speaker Audio $249

Cell and row editing

Editable columns open typed drafts. Enter saves, Escape cancels and Tab validates before moving. Row mode shares one draft and supports asynchronous validation.

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549
NN-1004 Neural Speaker Audio $249

Click or press Enter on a product name. Enter saves; Escape cancels.

Row editing with Neural controls

No edit interaction yet.
Featured Actions
NN-1001 Signal Desk Office $899 Yes
NN-1002 Hydration Lamp Lighting $129 No
NN-1003 Standalone Chair Office $549 Yes
NN-1004 Neural Speaker Audio $249 No
NN-1005 Token Shelf Storage $319 Yes
NN-1006 Headless Clock Accessories $89 No

Scroll and column layout

Sticky edges, constrained scrolling, fit/expand resizing, visibility and pointer/keyboard reordering remain controlled models.

Status
NN-1001 Signal Desk Office $899 24 In stock
NN-1002 Hydration Lamp Lighting $129 7 Low stock
NN-1003 Standalone Chair Office $549 0 Out of stock
NN-1004 Neural Speaker Audio $249 18 In stock
NN-1005 Token Shelf Storage $319 4 Low stock
NN-1006 Headless Clock Accessories $89 31 In stock

Grouped headers and summaries

Nested definitions resolve native colspan and rowspan from visible leaf columns. Header/footer templates can replace any resolved group.

Product information Operations
Status
NN-1001 Signal Desk Office $899 24 In stock
NN-1002 Hydration Lamp Lighting $129 7 Low stock
NN-1003 Standalone Chair Office $549 0 Out of stock
NN-1004 Neural Speaker Audio $249 18 In stock

Footer summaries

Typed footer templates receive the processed rows, so totals, averages, minimums and maximums stay aligned with the active filter and can remain frozen with the table footer.

Status
NN-1001 Signal Desk Office $899 24 In stock
NN-1002 Hydration Lamp Lighting $129 7 Low stock
NN-1003 Standalone Chair Office $549 0 Out of stock
NN-1004 Neural Speaker Audio $249 18 In stock
NN-1005 Token Shelf Storage $319 4 Low stock
NN-1006 Headless Clock Accessories $89 31 In stock

Row grouping and aggregation

Subheader and rowspan modes accept nested paths or callbacks. Typed group contexts expose rows plus sum, average, minimum and maximum helpers.

NN-1001 Signal Desk Office $899
NN-1003 Standalone Chair Office $549
NN-1002 Hydration Lamp Lighting $129
NN-1004 Neural Speaker Audio $249
NN-1005 Token Shelf Storage $319
NN-1006 Headless Clock Accessories $89

Rowspan mode

NN-1001 Signal Desk Office $899
NN-1003 Standalone Chair $549
NN-1002 Hydration Lamp Lighting $129
NN-1004 Neural Speaker Audio $249
NN-1005 Token Shelf Storage $319
NN-1006 Headless Clock Accessories $89

Remote data and enterprise state

Remote mode never transforms supplied rows. Every request carries a monotonic requestId; state can be serialized to URL parameters or persisted through local, session or custom adapters.

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549

No remote request yet.

table-state.ts TypeScript
// Browser storage: restores after hydration.
<neural-table
  #table
  stateKey="inventory-table"
  stateStorage="session"
  [value]="products"
  [columns]="columns"
/>

// URL/router integration remains application-owned and JSON-safe.
const queryValue = table.serializeState();
table.restoreState(queryValue);

// Replace browser storage when enterprise persistence is required.
readonly stateAdapter: NeuralTableStateAdapter = {
  load: (key) => this.preferences.load(key),
  save: (key, state) => this.preferences.save(key, state),
  remove: (key) => this.preferences.remove(key),
};

Loading, empty and error

Message or skeleton loading, empty results and errors preserve table geometry and each accepts a typed replacement template.

Loading data
No products match the current filters.
Inventory service is temporarily unavailable.
Loading data
Loading data

Unstyled and typed slots

Native table markup, state hooks and interaction remain while Tailwind owns every visible layer.

NN-1001 Signal Desk Office $899
NN-1002 Hydration Lamp Lighting $129
NN-1003 Standalone Chair Office $549

Beta boundaries

Table owns data presentation and interaction, not API transport or virtualization. Bind VirtualScroller for very large flat collections and keep remote fetching in application state.