WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 419bec9

Browse files
authored
Merge branch 'main' into main
2 parents 0e7ca5d + 02c203a commit 419bec9

File tree

348 files changed

+11202
-1407
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

348 files changed

+11202
-1407
lines changed

.changeset/config.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
3+
"changelog": [
4+
"@svitejs/changesets-changelog-github-compact",
5+
{ "repo": "TanStack/table" }
6+
],
7+
"commit": false,
8+
"access": "public",
9+
"baseBranch": "main",
10+
"updateInternalDependencies": "patch",
11+
"fixed": [],
12+
"linked": [],
13+
"ignore": []
14+
}

.github/pull_request_template.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
## 🎯 Changes
2+
3+
<!-- What changes are made in this PR? Describe the change and its motivation. -->
4+
5+
## ✅ Checklist
6+
7+
- [ ] I have followed the steps in the [Contributing guide](https://github.com/TanStack/table/blob/main/CONTRIBUTING.md).
8+
- [ ] I have tested this code locally with `pnpm test:pr`.
9+
10+
## 🚀 Release Impact
11+
12+
- [ ] This change affects published code, and I have generated a [changeset](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
13+
- [ ] This change is docs/CI/dev-only (no release).

.github/workflows/autofix.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Checkout
21-
uses: actions/checkout@v4
21+
uses: actions/[email protected]
22+
with:
23+
fetch-depth: 0
2224
- name: Setup Tools
2325
uses: tanstack/config/.github/setup@main
2426
- name: Fix formatting

.github/workflows/pr.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: pr
1+
name: PR
22

33
on:
44
pull_request:
@@ -23,15 +23,15 @@ jobs:
2323
runs-on: ubuntu-latest
2424
steps:
2525
- name: Checkout
26-
uses: actions/checkout@v4
26+
uses: actions/checkout@v5.0.0
2727
with:
2828
fetch-depth: 0
2929
- name: Start Nx Agents
3030
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
3131
- name: Setup Tools
3232
uses: tanstack/config/.github/setup@main
3333
- name: Get base and head commits for `nx affected`
34-
uses: nrwl/nx-set-shas@v4
34+
uses: nrwl/nx-set-shas@v4.3.3
3535
with:
3636
main-branch-name: main
3737
- name: Run Checks
@@ -44,7 +44,7 @@ jobs:
4444
runs-on: ubuntu-latest
4545
steps:
4646
- name: Checkout
47-
uses: actions/checkout@v4
47+
uses: actions/checkout@v5.0.0
4848
with:
4949
fetch-depth: 0
5050
- name: Setup Tools
Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
name: ci
22

33
on:
4-
workflow_dispatch:
5-
inputs:
6-
tag:
7-
description: override release tag
8-
required: false
94
push:
105
branches: [main, alpha, beta, rc]
116

@@ -19,15 +14,16 @@ env:
1914
permissions:
2015
contents: write
2116
id-token: write
17+
pull-requests: write
2218

2319
jobs:
24-
test-and-publish:
25-
name: Test & Publish
26-
if: github.repository == 'TanStack/table'
20+
release:
21+
name: Release
22+
if: github.repository_owner == 'TanStack'
2723
runs-on: ubuntu-latest
2824
steps:
2925
- name: Checkout
30-
uses: actions/checkout@v4
26+
uses: actions/checkout@v5.0.0
3127
with:
3228
fetch-depth: 0
3329
- name: Start Nx Agents
@@ -39,13 +35,13 @@ jobs:
3935
- name: Stop Nx Agents
4036
if: ${{ always() }}
4137
run: npx nx-cloud stop-all-agents
42-
- name: Publish
43-
run: |
44-
git config --global user.name 'Tanner Linsley'
45-
git config --global user.email '[email protected]'
46-
npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
47-
pnpm run cipublish
38+
- name: Run Changesets (version or publish)
39+
uses: changesets/[email protected]
40+
with:
41+
version: pnpm run changeset:version
42+
publish: pnpm run changeset:publish
43+
commit: 'ci: Version Packages'
44+
title: 'ci: Version Packages'
4845
env:
49-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5047
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
51-
TAG: ${{ inputs.tag }}

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.15.1
1+
24.8.0

README.md

Lines changed: 107 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,118 @@
1-
![TanStack Table Header](https://github.com/tanstack/table/raw/main/media/repo-header.png)
1+
<div align="center">
2+
<img src="./media/header_table.png" alt="TanStack Table">
3+
</div>
24

3-
# [TanStack](https://tanstack.com) Table v8
5+
<br />
46

5-
Headless UI for building **powerful tables & datagrids** for **React, Solid, Vue, Svelte, Qwik and TS/JS**.
6-
7-
<a href="https://twitter.com/intent/tweet?button_hashtag=TanStack" target="\_parent">
8-
<img alt="#TanStack" src="https://img.shields.io/twitter/url?color=%2308a0e9&label=%23TanStack&style=social&url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Fbutton_hashtag%3DTanStack" />
9-
</a>
10-
<a href="https://github.com/tanstack/table/actions?table=workflow%3A%22react-table+tests%22">
11-
<img src="https://github.com/tanstack/table/workflows/react-table%20tests/badge.svg" />
12-
</a>
7+
<div align="center">
138
<a href="https://npmjs.com/package/@tanstack/react-table" target="\_parent">
14-
<img alt="" src="https://img.shields.io/npm/dm/@tanstack/react-table.svg" />
9+
<img alt="npm downloads" src="https://img.shields.io/npm/dm/@tanstack/react-table.svg" />
10+
</a>
11+
<a href="https://github.com/tanstack/table" target="\_parent">
12+
<img alt="github stars" src="https://img.shields.io/github/stars/tanstack/react-table.svg?style=social&label=Star" />
1513
</a>
1614
<a href="https://bundlephobia.com/result?p=@tanstack/react-table@latest" target="\_parent">
17-
<img alt="" src="https://badgen.net/bundlephobia/minzip/@tanstack/react-table@latest" />
15+
<img alt="bundle size" src="https://badgen.net/bundlephobia/minzip/@tanstack/react-table@latest" />
1816
</a>
17+
</div>
18+
19+
<div align="center">
1920
<a href="#badge">
2021
<img alt="semantic-release" src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg">
2122
</a>
22-
<a href="https://github.com/tanstack/table/discussions">
23-
<img alt="Join the discussion on Github" src="https://img.shields.io/badge/Github%20Discussions%20%26%20Support-Chat%20now!-blue" />
24-
</a>
25-
<a href="https://github.com/tanstack/table" target="\_parent">
26-
<img alt="" src="https://img.shields.io/github/stars/tanstack/react-table.svg?style=social&label=Star" />
27-
</a>
28-
<a href="https://twitter.com/tannerlinsley" target="\_parent">
29-
<img alt="" src="https://img.shields.io/twitter/follow/tannerlinsley.svg?style=social&label=Follow" />
30-
</a>
31-
32-
> [Looking for version 7 of `react-table`? Click here!](https://github.com/tanstack/table/tree/v7)
33-
34-
## Enjoy this library?
35-
36-
Try other [TanStack](https://tanstack.com) libraries:
37-
38-
- [TanStack Query](https://github.com/TanStack/query) <img alt="" src="https://img.shields.io/github/stars/tanstack/query.svg" />
39-
- [TanStack Table](https://github.com/TanStack/table) <img alt="" src="https://img.shields.io/github/stars/tanstack/table.svg" />
40-
- [TanStack Router](https://github.com/TanStack/router) <img alt="" src="https://img.shields.io/github/stars/tanstack/router.svg" />
41-
- [TanStack Virtual](https://github.com/TanStack/virtual) <img alt="" src="https://img.shields.io/github/stars/tanstack/virtual.svg" />
42-
- [TanStack Form](https://github.com/TanStack/form) <img alt="" src="https://img.shields.io/github/stars/tanstack/form.svg" />
43-
- [TanStack Ranger](https://github.com/TanStack/ranger) <img alt="" src="https://img.shields.io/github/stars/tanstack/ranger.svg" />
44-
45-
## Visit [tanstack.com/table](https://tanstack.com/table) for docs, guides, API and more!
46-
47-
You may know **TanStack Table** by our adapter names, too!
48-
49-
- [Angular Table](https://tanstack.com/table/v8/docs/framework/angular/angular-table)
50-
- [Lit Table](https://tanstack.com/table/v8/docs/framework/lit/lit-table)
51-
- [Qwik Table](https://tanstack.com/table/v8/docs/framework/qwik/qwik-table)
52-
- [**React Table**](https://tanstack.com/table/v8/docs/framework/react/react-table)
53-
- [Solid Table](https://tanstack.com/table/v8/docs/framework/solid/solid-table)
54-
- [Svelte Table](https://tanstack.com/table/v8/docs/framework/svelte/svelte-table)
55-
- [Vue Table](https://tanstack.com/table/v8/docs/framework/vue/vue-table)
56-
57-
## Summary
58-
59-
TanStack Table is a **headless** table library, which means it does not ship with components, markup or styles. This means that you have **full control** over markup and styles (CSS, CSS-in-JS, UI Component Libraries, etc) and this is also what gives it its portable nature. You can even use it in React Native!
60-
61-
If you want a **lightweight table with full control over markup and implementation**, then you should consider using **TanStack Table, a headless table library**.
62-
63-
If you want a **ready-to-use component-based table with more power but more constraints around markup/styles/implementation**, you should consider using [AG Grid](https://ag-grid.com/react-data-grid/?utm_source=reacttable&utm_campaign=githubreacttable), a component-based table library from our OSS partner [AG Grid](https://ag-grid.com).
64-
65-
TanStack Table and AG Grid are respectfully the
66-
**best table/datagrid libraries around**. Instead
67-
of competing, we're working together to ensure the highest
68-
quality table/datagrid options are available for the entire
69-
JS/TS ecosystem and every use-case.
70-
71-
## Quick Features
72-
73-
- Agnostic core (JS/TS)
74-
- 1st-class framework bindings for React, Vue, Solid
75-
- ~15kb or less (with tree-shaking)
76-
- 100% TypeScript (but not required)
77-
- Headless (100% customizable, Bring-your-own-UI)
78-
- Auto out of the box, opt-in controllable state
79-
- Filters (column and global)
80-
- Sorting (multi-column, multi-directional)
81-
- Grouping & Aggregation
82-
- Pivoting (coming soon!)
83-
- Row Selection
84-
- Row Expansion
85-
- Column Visibility/Ordering/Pinning/Resizing
86-
- Table Splitting
87-
- Animatable
88-
- Virtualizable
89-
- Server-side/external data model support
90-
91-
# Migrating from React Table v7
92-
93-
## Notable Changes
94-
95-
- Full rewrite to TypeScript with types included in the base package
96-
- Removal of plugin system to favor more inversion of control
97-
- Vastly larger and improved API (and new features like pinning)
98-
- Better controlled state management
99-
- Better support for server-side operations
100-
- Complete (but optional) data pipeline control
101-
- Agnostic core with framework adapters for React, Solid, Svelte, Vue, and potentially more in the future
102-
- New Dev Tools
103-
104-
## Migration
105-
106-
There are a fair amount of breaking changes (they're worth it, trust us!):
107-
108-
- Turns out that TypeScript makes your code **a lot** better/safer, but also usually requires breaking changes to architecture.
109-
- Plugin system has been removed so plugins must be rewritten to wrap/compose the new functional API. Contact us if you need help!
110-
- Column configuration options have changed, but only slightly.
111-
- Table options are mostly the same, with some larger changes around optional state management/control and data pipeline control
112-
- The `table` instance while similar in spirit to v7 has been reconfigured to be much faster.
113-
114-
## Installation
115-
116-
Install one of the following packages based on your framework of choice:
117-
118-
```bash
119-
# Npm
120-
npm install @tanstack/angular-table
121-
npm install @tanstack/lit-table
122-
npm install @tanstack/qwik-table
123-
npm install @tanstack/react-table
124-
npm install @tanstack/solid-table
125-
npm install @tanstack/svelte-table
126-
npm install @tanstack/vue-table
127-
npm install @tanstack/table-core #vanilla js that can work with any framework
128-
```
129-
130-
## How to help?
131-
132-
- Try out the already-migrated examples
133-
- Try it out in your own projects.
134-
- Introspect the types! Even without the docs finished, the library ships with 100% typescript to help you explore its capabilities.
135-
- [Read the contribution guidelines](https://github.com/tanstack/table/tree/main/CONTRIBUTING.md)
136-
- Write some docs! Start with the [API docs](https://github.com/TanStack/react-table/tree/main/docs/api) and try adding some information about one or more of the features. The types do a decent job of showing what's supported and the capabilities of the library.
137-
- **Using a plugin?** Try rewriting your plugin (v8 doesn't have a plugin system any more) as a functional wrapper that uses TanStack Table internally. The new API is much more powerful and easier to compose. If you find something you can't figure out, let us know and we'll add it to the API.
138-
139-
### [Become a Sponsor](https://github.com/sponsors/tannerlinsley/)
23+
<a href="https://bestofjs.org/projects/tanstack-table"><img alt="Best of JS" src="https://img.shields.io/endpoint?url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=TanStack%2Ftable%26since=daily" /></a>
24+
<a href="https://twitter.com/tan_stack"><img src="https://img.shields.io/twitter/follow/tan_stack.svg?style=social" alt="Follow @TanStack"/></a>
25+
</div>
26+
27+
### [Become a Sponsor!](https://github.com/sponsors/tannerlinsley/)
28+
29+
</div>
30+
31+
# TanStack Table
32+
33+
> [!NOTE]
34+
> You may know TanStack Table by the adapter names:
35+
>
36+
> - [Angular Table](https://tanstack.com/table/v8/docs/framework/angular/angular-table)
37+
> - [Lit Table](https://tanstack.com/table/v8/docs/framework/lit/lit-table)
38+
> - [Qwik Table](https://tanstack.com/table/v8/docs/framework/qwik/qwik-table)
39+
> - [React Table](https://tanstack.com/table/v8/docs/framework/react/react-table)
40+
> - [Solid Table](https://tanstack.com/table/v8/docs/framework/solid/solid-table)
41+
> - [Svelte Table](https://tanstack.com/table/v8/docs/framework/svelte/svelte-table)
42+
> - [Vue Table](https://tanstack.com/table/v8/docs/framework/vue/vue-table)
43+
44+
A headless table library for building powerful datagrids with full control over markup, styles, and behavior.
45+
46+
- Framework‑agnostic core with bindings for React, Vue & Solid
47+
- 100% customizable — bring your own UI, components, and styles
48+
- Sorting, filtering, grouping, aggregation & row selection
49+
- Lightweight, virtualizable & server‑side friendly
50+
51+
### <a href="https://tanstack.com/table">Read the Docs →</a>
52+
53+
## Get Involved
54+
55+
- We welcome issues and pull requests!
56+
- Participate in [GitHub discussions](https://github.com/TanStack/table/discussions)
57+
- Chat with the community on [Discord](https://discord.com/invite/WrRKjPJ)
58+
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup instructions
59+
60+
## Partners
61+
62+
<table align="center">
63+
<tr>
64+
<td>
65+
<a href="https://www.coderabbit.ai/?via=tanstack&dub_id=aCcEEdAOqqutX6OS">
66+
<picture>
67+
<source media="(prefers-color-scheme: dark)" srcset="https://tanstack.com/assets/coderabbit-dark-CMcuvjEy.svg" height="40" />
68+
<source media="(prefers-color-scheme: light)" srcset="https://tanstack.com/assets/coderabbit-light-DVMJ2jHi.svg" height="40" />
69+
<img src="https://tanstack.com/assets/coderabbit-light-DVMJ2jHi.svg" height="40" alt="CodeRabbit" />
70+
</picture>
71+
</a>
72+
</td>
73+
<td padding="20">
74+
<a href="https://www.cloudflare.com?utm_source=tanstack">
75+
<picture>
76+
<source media="(prefers-color-scheme: dark)" srcset="https://tanstack.com/assets/cloudflare-white-DQDB7UaL.svg" height="60" />
77+
<source media="(prefers-color-scheme: light)" srcset="https://tanstack.com/assets/cloudflare-black-CPufaW0B.svg" height="60" />
78+
<img src="https://tanstack.com/assets/cloudflare-black-CPufaW0B.svg" height="60" alt="Cloudflare" />
79+
</picture>
80+
</a>
81+
</td>
82+
<td>
83+
<a href="https://ag-grid.com/react-data-grid/?utm_source=reacttable&utm_campaign=githubreacttable" style="display: flex; align-items: center; border: none;">
84+
<picture>
85+
<source media="(prefers-color-scheme: dark)" srcset="./media/ag-grid-dark.svg" height="40" />
86+
<source media="(prefers-color-scheme: light)" srcset="./media/ag-grid-light.svg" height="40" />
87+
<img src="https://raw.githubusercontent.com/tannerlinsley/files/master/partners/ag-grid.svg" height="60" alt="AG Grid" />
88+
</picture>
89+
</a>
90+
</td>
91+
</tr>
92+
</table>
93+
94+
<div align="center">
95+
<img src="./media/partner_logo.svg" alt="Table & you?" height="65">
96+
<p>
97+
We're looking for TanStack Table Partners to join our mission! Partner with us to push the boundaries of TanStack Table and build amazing things together.
98+
</p>
99+
<a href="mailto:[email protected]?subject=TanStack Table Partnership"><b>LET'S CHAT</b></a>
100+
</div>
101+
102+
## Explore the TanStack Ecosystem
103+
104+
- <a href="https://github.com/tanstack/config"><b>TanStack Config</b></a> – Tooling for JS/TS packages
105+
- <a href="https://github.com/tanstack/db"><b>TanStack DB</b></a> – Reactive sync client store
106+
- <a href="https://github.com/tanstack/devtools"><b>TanStack DevTools</b></a> – Unified devtools panel
107+
- <a href="https://github.com/tanstack/form"><b>TanStack Form</b></a> – Type‑safe form state
108+
- <a href="https://github.com/tanstack/pacer"><b>TanStack Pacer</b></a> – Debouncing, throttling, batching <br/>
109+
- <a href="https://github.com/tanstack/query"><b>TanStack Query</b></a> – Async state & caching
110+
- <a href="https://github.com/tanstack/ranger"><b>TanStack Ranger</b></a> – Range & slider primitives
111+
- <a href="https://github.com/tanstack/router"><b>TanStack Router</b></a> – Type‑safe routing, caching & URL state
112+
- <a href="https://github.com/tanstack/router"><b>TanStack Start</b></a> – Full‑stack SSR & streaming
113+
- <a href="https://github.com/tanstack/store"><b>TanStack Store</b></a> – Reactive data store
114+
- <a href="https://github.com/tanstack/virtual"><b>TanStack Virtual</b></a> – Virtualized rendering
115+
116+
… and more at <a href="https://tanstack.com"><b>TanStack.com »</b></a>
140117

141118
<!-- USE THE FORCE LUKE -->

docs/api/core/cell.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Cell APIs
33
---
44

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

77
## Cell API
88

docs/api/core/column.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Column APIs
33
---
44

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

77
## Column API
88

0 commit comments

Comments
 (0)