For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt, and this page is available as Markdown at https://wallarm.github.io/design-system/get-started/migrations/v1.md.

Migrating to v1

v1.0.0 moves Table to TanStack Table v9. There is no codemod: the changes are in types and table-instance APIs that a codemod cannot rewrite safely.

DSTableFeatures

TanStack Table v9 types are parameterized by the table's feature set. The design system exports its feature set as DSTableFeatures; pass it wherever you name TanStack types:

import type { Row } from '@tanstack/react-table';
import type { DSTableFeatures } from '@wallarm-org/design-system/Table';

interface Host {
  id: string;
  name: string;
}

type HostRow = Row<DSTableFeatures, Host>; // was Row<Host>

ColumnMeta generics

If you augment TanStack's ColumnMeta, it now takes the features as its first type parameter:

import type { RowData, TableFeatures } from '@tanstack/react-table';

declare module '@tanstack/react-table' {
  // was: interface ColumnMeta<TData extends RowData, TValue>
  interface ColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue> {
    // your fields
  }
}

table.getState() is removed

Read state from table.state instead:

const { sorting } = table.state; // was table.getState().sorting

Column pinning

onColumnPinningChange now always receives a right array, empty when nothing is pinned right: { left: ['name'], right: [] }. Update code that checks for a missing right.

Sorting

The sort order of text columns may differ from earlier versions. Check views and tests that rely on an exact order of sorted text.