Skip to content

docs: fix all 158 broken links #5972

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api/core/cell.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Cell APIs
---

These are **core** options and API properties for all cells. More options and API properties are available for other [table features](../../../guide/features).
These are **core** options and API properties for all cells. More options and API properties are available for other [table features](../guide/features).

## Cell API

Expand Down
2 changes: 1 addition & 1 deletion docs/api/core/column.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Column APIs
---

These are **core** options and API properties for all columns. More options and API properties are available for other [table features](../../../guide/features).
These are **core** options and API properties for all columns. More options and API properties are available for other [table features](../guide/features).

## Column API

Expand Down
4 changes: 2 additions & 2 deletions docs/api/core/header-group.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: HeaderGroup APIs
---

These are **core** options and API properties for all header groups. More options and API properties may be available for other [table features](../../../guide/features).
These are **core** options and API properties for all header groups. More options and API properties may be available for other [table features](../guide/features).

## Header Group API

Expand Down Expand Up @@ -30,4 +30,4 @@ The depth of the header group, zero-indexed based.
type headers = Header<TData>[]
```
An array of [Header](../header) objects that belong to this header group
An array of [Header](../api/core/header) objects that belong to this header group
6 changes: 3 additions & 3 deletions docs/api/core/header.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Header APIs
---

These are **core** options and API properties for all headers. More options and API properties may be available for other [table features](../../../guide/features).
These are **core** options and API properties for all headers. More options and API properties may be available for other [table features](../guide/features).

## Header API

Expand Down Expand Up @@ -38,15 +38,15 @@ The depth of the header, zero-indexed based.
column: Column<TData>
```

The header's associated [Column](../column) object
The header's associated [Column](../api/core/column) object

### `headerGroup`

```tsx
headerGroup: HeaderGroup<TData>
```

The header's associated [HeaderGroup](../header-group) object
The header's associated [HeaderGroup](../api/core/header-group) object

### `subHeaders`

Expand Down
4 changes: 2 additions & 2 deletions docs/api/core/row.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Row APIs
---

These are **core** options and API properties for all rows. More options and API properties are available for other [table features](../../../guide/features).
These are **core** options and API properties for all rows. More options and API properties are available for other [table features](../guide/features).

## Row API

Expand Down Expand Up @@ -120,4 +120,4 @@ An array of the original subRows as returned by the `options.getSubRows` option.
type getAllCells = () => Cell<TData>[]
```

Returns all of the [Cells](../cell) for the row.
Returns all of the [Cells](../api/core/cell) for the row.
4 changes: 2 additions & 2 deletions docs/api/core/table.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ These functions are used to create a table. Which one you use depends on which f

## Options

These are **core** options and API properties for the table. More options and API properties are available for other [table features](../../../guide/features).
These are **core** options and API properties for the table. More options and API properties are available for other [table features](../guide/features).

### `data`

Expand Down Expand Up @@ -89,7 +89,7 @@ declare module '@tanstack/table-core' {
}
```

> 🧠 Think of this option as an arbitrary "context" for your table. This is a great way to pass arbitrary data or functions to your table without having to pass it to every thing the table touches. A good example is passing a locale object to your table to use for formatting dates, numbers, etc or even a function that can be used to update editable data like in the [editable-data example](../../../framework/react/examples/editable-data).
> 🧠 Think of this option as an arbitrary "context" for your table. This is a great way to pass arbitrary data or functions to your table without having to pass it to every thing the table touches. A good example is passing a locale object to your table to use for formatting dates, numbers, etc or even a function that can be used to update editable data like in the [editable-data example](../framework/react/examples/editable-data).

### `state`

Expand Down
8 changes: 4 additions & 4 deletions docs/api/features/filters.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ id: filters

The Filtering API docs are now split into multiple API doc pages:

- [Column Faceting](../column-faceting)
- [Global Faceting](../global-faceting)
- [Column Filtering](../column-filtering)
- [Global Filtering](../global-filtering)
- [Column Faceting](../api/features/column-faceting)
- [Global Faceting](../api/features/global-faceting)
- [Column Filtering](../api/features/column-filtering)
- [Global Filtering](../api/features/global-filtering)
2 changes: 1 addition & 1 deletion docs/api/features/global-filtering.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export interface GlobalFilterTableState {

## Filter Functions

You can use the same filter functions that are available for column filtering for global filtering. See the [Column Filtering APIs](../column-filtering) to learn more about filter functions.
You can use the same filter functions that are available for column filtering for global filtering. See the [Column Filtering APIs](../api/features/column-filtering) to learn more about filter functions.

#### Using Filter Functions

Expand Down
4 changes: 2 additions & 2 deletions docs/api/features/pinning.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ id: pinning

The pinning apis are now split into multiple api pages:

- [Column Pinning](../column-pinning)
- [Row Pinning](../row-pinning)
- [Column Pinning](../api/features/column-pinning)
- [Row Pinning](../api/features/row-pinning)
2 changes: 1 addition & 1 deletion docs/api/features/row-selection.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export type RowSelectionTableState = {
}
```

By default, the row selection state uses the index of each row as the row identifiers. Row selection state can instead be tracked with a custom unique row id by passing in a custom [getRowId](../../../api/core/table.md#getrowid) function to the the table.
By default, the row selection state uses the index of each row as the row identifiers. Row selection state can instead be tracked with a custom unique row id by passing in a custom [getRowId](../core/table.md#getrowid) function to the the table.

## Table Options

Expand Down
4 changes: 2 additions & 2 deletions docs/framework/react/guide/table-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ title: Table State (React) Guide

Want to skip to the implementation? Check out these examples:

- [kitchen sink](../../examples/kitchen-sink)
- [fully controlled](../../examples/fully-controlled)
- [kitchen sink](../examples/kitchen-sink)
- [fully controlled](../examples/fully-controlled)

## Table State (React) Guide

Expand Down
8 changes: 4 additions & 4 deletions docs/guide/cells.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ title: Cells Guide

## API

[Cell API](../../api/core/cell)
[Cell API](../api/core/cell)

## Cells Guide

This quick guide will discuss the different ways you can retrieve and interact with `cell` objects in TanStack Table.

### Where to Get Cells From

Cells come from [Rows](../rows). Enough said, right?
Cells come from [Rows](../guide/rows). Enough said, right?

There are multiple `row` instance APIs you can use to retrieve the appropriate cells from a row depending on which features you are using. Most commonly, you will use the `row.getAllCells` or `row.getVisibleCells` APIs (if you are using column visibility features), but there are a handful of other similar APIs that you can use.

Expand All @@ -32,7 +32,7 @@ During grouping or aggregation features, the `cell.id` will have additional stri

#### Cell Parent Objects

Every cell stores a reference to its parent [row](../rows) and [column](../columns) objects.
Every cell stores a reference to its parent [row](../guide/rows) and [column](../guide/columns) objects.

#### Access Cell Values

Expand Down Expand Up @@ -82,4 +82,4 @@ const columns = [
{row.getVisibleCells().map(cell => {
return <td key={cell.id}>{flexRender(cell.column.columnDef.cell, cell.getContext())}</td>
})}
</tr>
</tr>
8 changes: 4 additions & 4 deletions docs/guide/column-defs.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ title: Columns Definitions Guide

## API

[Column Def](../../api/core/column-def)
[Column Def](../api/core/column-def)

## Column Definitions Guide

> Note: This guide is about setting up column definitions for your table and NOT about the actual [`column`](../columns) objects that are generated within the table instance.
> Note: This guide is about setting up column definitions for your table and NOT about the actual [`column`](../guide/columns) objects that are generated within the table instance.

Column defs are the single most important part of building a table. They are responsible for:

- Building the underlying data model that will be used for everything including sorting, filtering, grouping, etc.
- Formatting the data model into what will be displayed in the table
- Creating [header groups](../../../api/core/header-group), [headers](../../../api/core/header) and [footers](../../../api/core/column-def#footer)
- Creating [header groups](../api/core/header-group), [headers](../api/core/header) and [footers](../api/core/column-def#footer)
- Creating columns for display-only purposes, eg. action buttons, checkboxes, expanders, sparklines, etc.

## Column Def Types
Expand Down Expand Up @@ -276,7 +276,7 @@ columnHelper.accessor('firstName', {

## Aggregated Cell Formatting

For more info on aggregated cells, see [grouping](../grouping).
For more info on aggregated cells, see [grouping](../guide/grouping).

## Header & Footer Formatting

Expand Down
6 changes: 3 additions & 3 deletions docs/guide/column-faceting.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ title: Column Faceting Guide

Want to skip to the implementation? Check out these examples:

- [filters-faceted](../../framework/react/examples/filters-faceted)
- [filters-faceted](../framework/react/examples/filters-faceted)

## API

[Column Faceting API](../../api/features/column-faceting)
[Column Faceting API](../api/features/column-faceting)

## Column Faceting Guide

Expand Down Expand Up @@ -86,4 +86,4 @@ const table = useReactTable({
})
```

Alternatively, you don't have to put any of your faceting logic through the TanStack Table APIs at all. Just fetch your lists and pass them to your filter components directly.
Alternatively, you don't have to put any of your faceting logic through the TanStack Table APIs at all. Just fetch your lists and pass them to your filter components directly.
20 changes: 10 additions & 10 deletions docs/guide/column-filtering.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ title: Column Filtering Guide

Want to skip to the implementation? Check out these examples:

- [Column Filters](../../framework/react/examples/filters)
- [Faceted Filters](../../framework/react/examples/filters-faceted) (Autocomplete and Range filters)
- [Fuzzy Search](../../framework/react/examples/filters-fuzzy) (Match Sorter)
- [Editable Data](../../framework/react/examples/editable-data)
- [Expanding](../../framework/react/examples/expanding) (Filtering from Sub-Rows)
- [Grouping](../../framework/react/examples/grouping)
- [Pagination](../../framework/react/examples/pagination)
- [Row Selection](../../framework/react/examples/row-selection)
- [Column Filters](../framework/react/examples/filters)
- [Faceted Filters](../framework/react/examples/filters-faceted) (Autocomplete and Range filters)
- [Fuzzy Search](../framework/react/examples/filters-fuzzy) (Match Sorter)
- [Editable Data](../framework/react/examples/editable-data)
- [Expanding](../framework/react/examples/expanding) (Filtering from Sub-Rows)
- [Grouping](../framework/react/examples/grouping)
- [Pagination](../framework/react/examples/pagination)
- [Row Selection](../framework/react/examples/row-selection)

## API

[Column Filtering API](../../api/features/column-filtering)
[Column Filtering API](../api/features/column-filtering)

## Column Filtering Guide

Expand All @@ -31,7 +31,7 @@ TanStack table supports both client-side and manual server-side filtering. This

If you have a large dataset, you may not want to load all of that data into the client's browser in order to filter it. In this case, you will most likely want to implement server-side filtering, sorting, pagination, etc.

However, as also discussed in the [Pagination Guide](../pagination#should-you-use-client-side-pagination), a lot of developers underestimate how many rows can be loaded client-side without a performance hit. The TanStack table examples are often tested to handle up to 100,000 rows or more with decent performance for client-side filtering, sorting, pagination, and grouping. This doesn't necessarily mean that your app will be able to handle that many rows, but if your table is only going to have a few thousand rows at most, you might be able to take advantage of the client-side filtering, sorting, pagination, and grouping that TanStack table provides.
However, as also discussed in the [Pagination Guide](../guide/pagination#should-you-use-client-side-pagination), a lot of developers underestimate how many rows can be loaded client-side without a performance hit. The TanStack table examples are often tested to handle up to 100,000 rows or more with decent performance for client-side filtering, sorting, pagination, and grouping. This doesn't necessarily mean that your app will be able to handle that many rows, but if your table is only going to have a few thousand rows at most, you might be able to take advantage of the client-side filtering, sorting, pagination, and grouping that TanStack table provides.

> TanStack Table can handle thousands of client-side rows with good performance. Don't rule out client-side filtering, pagination, sorting, etc. without some thought first.

Expand Down
14 changes: 7 additions & 7 deletions docs/guide/column-ordering.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ title: Column Ordering Guide

Want to skip to the implementation? Check out these examples:

- [column-ordering](../../framework/react/examples/column-ordering)
- [column-dnd](../../framework/react/examples/column-dnd)
- [column-ordering](../framework/react/examples/column-ordering)
- [column-dnd](../framework/react/examples/column-dnd)

## API

[Column Ordering API](../../api/features/column-ordering)
[Column Ordering API](../api/features/column-ordering)

## Column Ordering Guide

Expand All @@ -21,9 +21,9 @@ By default, columns are ordered in the order they are defined in the `columns` a

There are 3 table features that can reorder columns, which happen in the following order:

1. [Column Pinning](../column-pinning) - If pinning, columns are split into left, center (unpinned), and right pinned columns.
1. [Column Pinning](../guide/column-pinning) - If pinning, columns are split into left, center (unpinned), and right pinned columns.
2. Manual **Column Ordering** - A manually specified column order is applied.
3. [Grouping](../grouping) - If grouping is enabled, a grouping state is active, and `tableOptions.groupedColumnMode` is set to `'reorder' | 'remove'`, then the grouped columns are reordered to the start of the column flow.
3. [Grouping](../guide/grouping) - If grouping is enabled, a grouping state is active, and `tableOptions.groupedColumnMode` is set to `'reorder' | 'remove'`, then the grouped columns are reordered to the start of the column flow.

> **Note:** `columnOrder` state will only affect unpinned columns if used in conjunction with column pinning.

Expand Down Expand Up @@ -104,8 +104,8 @@ There are undoubtedly many ways to implement drag and drop features along-side T

1. Do NOT try to use [`"react-dnd"`](https://react-dnd.github.io/react-dnd/docs/overview) _if you are using React 18 or newer_. React DnD was an important library for its time, but it now does not get updated very often, and it has incompatibilities with React 18, especially in React Strict Mode. It is still possible to get it to work, but there are newer alternatives that have better compatibility and are more actively maintained. React DnD's Provider may also interfere and conflict with any other DnD solutions you may want to try in your app.

2. Use [`"@dnd-kit/core"`](https://dndkit.com/). DnD Kit is a modern, modular and lightweight drag and drop library that is highly compatible with the modern React ecosystem, and it works well with semantic `<table>` markup. Both of the official TanStack DnD examples, [Column DnD](../../framework/react/examples/column-dnd) and [Row DnD](../../framework/react/examples/row-dnd), now use DnD Kit.
2. Use [`"@dnd-kit/core"`](https://dndkit.com/). DnD Kit is a modern, modular and lightweight drag and drop library that is highly compatible with the modern React ecosystem, and it works well with semantic `<table>` markup. Both of the official TanStack DnD examples, [Column DnD](../framework/react/examples/column-dnd) and [Row DnD](../framework/react/examples/row-dnd), now use DnD Kit.

3. Consider other DnD libraries like [`"react-beautiful-dnd"`](https://github.com/atlassian/react-beautiful-dnd), but be aware of their potentially large bundle sizes, maintenance status, and compatibility with `<table>` markup.

4. Consider using native browser events and state management to implement lightweight drag and drop features. However, be aware that this approach may not be best for mobile users if you do not go the extra mile to implement proper touch events. [Material React Table V2](https://www.material-react-table.com/docs/examples/column-ordering) is an example of a library that implements TanStack Table with only browser drag and drop events such as `onDragStart`, `onDragEnd`, `onDragEnter` and no other dependencies. Browse its source code to see how it is done.
4. Consider using native browser events and state management to implement lightweight drag and drop features. However, be aware that this approach may not be best for mobile users if you do not go the extra mile to implement proper touch events. [Material React Table V2](https://www.material-react-table.com/docs/examples/column-ordering) is an example of a library that implements TanStack Table with only browser drag and drop events such as `onDragStart`, `onDragEnd`, `onDragEnter` and no other dependencies. Browse its source code to see how it is done.
Loading