diff --git a/_artifacts/domain_map.yaml b/_artifacts/domain_map.yaml index 7b659bae50..bb1f3898c1 100644 --- a/_artifacts/domain_map.yaml +++ b/_artifacts/domain_map.yaml @@ -1,6 +1,6 @@ library: name: '@tanstack/table' - version: '9.0.0-beta.49' + version: '9.0.0-beta.50' repository: 'https://github.com/TanStack/table' homepage: 'https://tanstack.com/table' description: 'Headless, framework-agnostic data-grid state and row-processing primitives with tree-shakeable v9 features and framework adapters.' diff --git a/_artifacts/skill_tree.yaml b/_artifacts/skill_tree.yaml index a501870a18..4b0110decd 100644 --- a/_artifacts/skill_tree.yaml +++ b/_artifacts/skill_tree.yaml @@ -1,6 +1,6 @@ library: name: '@tanstack/table' - version: '9.0.0-beta.49' + version: '9.0.0-beta.50' repository: 'https://github.com/TanStack/table' description: 'Headless data-grid state and row processing with tree-shakeable v9 features and framework adapters.' package_version_overrides: diff --git a/docs/framework/alpine/guide/aggregation.md b/docs/framework/alpine/guide/aggregation.md index 304d5cbdec..19f43db173 100644 --- a/docs/framework/alpine/guide/aggregation.md +++ b/docs/framework/alpine/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/angular/guide/aggregation.md b/docs/framework/angular/guide/aggregation.md index 2c54c0e9fd..21f33f4b42 100644 --- a/docs/framework/angular/guide/aggregation.md +++ b/docs/framework/angular/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/angular/guide/migrating.md b/docs/framework/angular/guide/migrating.md index 346fbf55ed..22ec2fc7c2 100644 --- a/docs/framework/angular/guide/migrating.md +++ b/docs/framework/angular/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (Angular) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -217,6 +217,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/framework/ember/guide/aggregation.md b/docs/framework/ember/guide/aggregation.md index 2035f35b66..8198571c6c 100644 --- a/docs/framework/ember/guide/aggregation.md +++ b/docs/framework/ember/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/lit/guide/aggregation.md b/docs/framework/lit/guide/aggregation.md index 33d859c052..e6faab5f57 100644 --- a/docs/framework/lit/guide/aggregation.md +++ b/docs/framework/lit/guide/aggregation.md @@ -81,19 +81,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -122,9 +127,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/lit/guide/migrating.md b/docs/framework/lit/guide/migrating.md index 40d7b330df..eb97e776f1 100644 --- a/docs/framework/lit/guide/migrating.md +++ b/docs/framework/lit/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (Lit) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -228,6 +228,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/framework/preact/guide/aggregation.md b/docs/framework/preact/guide/aggregation.md index cd9123e514..0e51c2f7bd 100644 --- a/docs/framework/preact/guide/aggregation.md +++ b/docs/framework/preact/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```tsx -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/preact/guide/migrating.md b/docs/framework/preact/guide/migrating.md index c1b2ec2599..91ac868be0 100644 --- a/docs/framework/preact/guide/migrating.md +++ b/docs/framework/preact/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (Preact) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -214,6 +214,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/framework/react/guide/aggregation.md b/docs/framework/react/guide/aggregation.md index 19ebaa603e..dcb39b563a 100644 --- a/docs/framework/react/guide/aggregation.md +++ b/docs/framework/react/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```tsx -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/react/guide/migrating.md b/docs/framework/react/guide/migrating.md index 12a6c2c148..a9348650a5 100644 --- a/docs/framework/react/guide/migrating.md +++ b/docs/framework/react/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (React) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -234,6 +234,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/framework/solid/guide/aggregation.md b/docs/framework/solid/guide/aggregation.md index 6a60db29fe..31fb2535ab 100644 --- a/docs/framework/solid/guide/aggregation.md +++ b/docs/framework/solid/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```tsx -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/solid/guide/migrating.md b/docs/framework/solid/guide/migrating.md index 025893c834..f807c57102 100644 --- a/docs/framework/solid/guide/migrating.md +++ b/docs/framework/solid/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (Solid) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -214,6 +214,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/framework/svelte/guide/aggregation.md b/docs/framework/svelte/guide/aggregation.md index fb17db4237..81e09dfe39 100644 --- a/docs/framework/svelte/guide/aggregation.md +++ b/docs/framework/svelte/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/svelte/guide/migrating.md b/docs/framework/svelte/guide/migrating.md index c8ba15c4f7..48c9fb769d 100644 --- a/docs/framework/svelte/guide/migrating.md +++ b/docs/framework/svelte/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (Svelte) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -225,6 +225,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/framework/vanilla/guide/aggregation.md b/docs/framework/vanilla/guide/aggregation.md index 22fb259daa..c6ed345704 100644 --- a/docs/framework/vanilla/guide/aggregation.md +++ b/docs/framework/vanilla/guide/aggregation.md @@ -78,19 +78,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -119,9 +124,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/vue/guide/aggregation.md b/docs/framework/vue/guide/aggregation.md index 10e3d5727f..da20bc3686 100644 --- a/docs/framework/vue/guide/aggregation.md +++ b/docs/framework/vue/guide/aggregation.md @@ -79,19 +79,24 @@ pagination do not change that default total. footer: ({ column }) => column.getAggregationValue().toLocaleString() ``` -Pass rows from any row model to choose a different set explicitly: +Pass one options object with rows from any row model to choose a different set: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // visible page/pipeline -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(table.getCoreRowModel().rows.slice(0, 3)) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) +column.getAggregationValue({ rows: table.getRowModel().rows }) +column.getAggregationValue({ rows: table.getFilteredSelectedRowModel().rows }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows.slice(0, 3) }) +column.getAggregationValue({ rows: table.getCoreRowModel().rows, maxDepth: 1 }) ``` -There is no separate scope option. The row array is the complete override. -Column option `getAggregationValue(context)` can provide an external or -server-computed value; return `undefined` to fall back to the configured -aggregation function. +Depth is relative to the supplied row array. `0` selects those roots, `1` +selects their direct sub-rows, and `Infinity` selects terminal rows. Configure +`maxAggregationDepth` on the column for cached default calls, or pass +`maxDepth` in the options object as an explicit override. +`table.getMaxSubRowDepth()` returns +the deepest structural depth in the core row model. Column option +`getAggregationValue(context)` can provide an external or server-computed +value; return `undefined` to fall back to the configured aggregation function. ## Grouped Aggregation @@ -120,9 +125,11 @@ rendering uses the adapter's normal footer renderer. ## Custom Aggregation Definitions Use `constructAggregationFn({ aggregate, merge? })` for custom definitions. -The aggregate context includes terminal `rows`, `getValue`, `column`, -`table`, and an optional `groupingRow`. A `merge` implementation can make -nested grouped aggregation more efficient. +The aggregate context includes depth-selected `rows`, `maxDepth`, `getValue`, +`column`, and `table`. Every aggregation configured on a column receives the +same row frontier. Grouped calls also include `groupingRow` and immediate +`subRows` for custom structural behavior. A `merge` implementation can more +efficiently combine already-computed sub-row results. See [Custom Aggregation Definitions](../../../guide/aggregation#custom-aggregation-definitions) for the full contract, return typing, caching behavior, and worker limitations. diff --git a/docs/framework/vue/guide/migrating.md b/docs/framework/vue/guide/migrating.md index 104251c445..cc5956966e 100644 --- a/docs/framework/vue/guide/migrating.md +++ b/docs/framework/vue/guide/migrating.md @@ -3,7 +3,7 @@ title: Migrating to TanStack Table V9 (Vue) --- > [!IMPORTANT] -> `v9.0.0-beta.48` introduces a breaking feature split: `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. See the [Grouping Guide](./grouping) and [Aggregation Guide](./aggregation). +> `v9.0.0-beta.48` and `v9.0.0-beta.49` introduces breaking aggregation changes. `columnGroupingFeature` no longer provides aggregation options or APIs. Tables that group rows and calculate aggregate values must now register both `columnGroupingFeature` and `aggregationFeature`. Grouping-only tables can register only `columnGroupingFeature`, while grand totals or other aggregation without grouping can register only `aggregationFeature`. `stockFeatures` already contains both. If you use an explicit feature list, add `aggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation definitions, row-depth selection, and the `getAggregationValue` signature also changed; see [Aggregation Feature Split](#aggregation-feature-split), the [Grouping Guide](./grouping), and the [Aggregation Guide](./aggregation). > [!NOTE] > `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology. These are logical positions: in LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. If you migrated on an earlier beta, update `columnPinning.left` to `columnPinning.start`, `columnPinning.right` to `columnPinning.end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*` / `getRight*` table and row APIs to `getStart*` / `getEnd*`. See the [Column Pinning](#column-pinning) section below for the full mapping. @@ -208,6 +208,38 @@ const total = constructAggregationFn({ }) ``` +Aggregation row selection is now depth-based and shared by every definition on +a column. `maxAggregationDepth` defaults to `0` (the supplied root rows); use +`1` for direct sub-rows or `Infinity` for terminal rows. An explicit +`column.getAggregationValue({ rows, maxDepth })` call can override the column +default. + +`getAggregationValue` now has one options-object signature. Calls without +arguments are unchanged, but positional row and depth arguments must be moved +into the object: + +```ts +// Table V8/earlier V9 betas +column.getAggregationValue(rows, maxDepth) + +// Current V9 +column.getAggregationValue({ rows, maxDepth }) +``` + +All built-in definitions on a column now consume the same depth-selected +`context.rows` frontier. This replaces the old per-function choice between +`childRows` and `leafRows`. The default depth `0` preserves direct-child +grouped aggregation; set `maxAggregationDepth: Infinity` to aggregate terminal +rows. Custom definitions can still inspect grouped `context.subRows`, and +`merge` receives matching `subRowResults` for nested groups. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core +row model. For example, use `Math.max(0, table.getMaxSubRowDepth() - 1)` as +`maxDepth` to target one level before the maximum structural depth; shorter +branches still contribute their deepest available row. Default no-row calls +are cached; calls with `options.rows` are recomputed because the caller owns +that array. + `column.getAggregationFn()` is now `column.getAggregationFns()` because a column can run multiple definitions. A single `aggregationFn` still returns a scalar; an array returns an object keyed by function name or descriptor `id`. The old callable `AggregationFn` and `CreatedAggregationFn` types are replaced by `AggregationFnDef`. ### Available Features diff --git a/docs/guide/aggregation.md b/docs/guide/aggregation.md index f39548a098..0aa5539024 100644 --- a/docs/guide/aggregation.md +++ b/docs/guide/aggregation.md @@ -58,24 +58,53 @@ const amountColumn = columnHelper.accessor('amount', { }) ``` -With no row argument, `column.getAggregationValue()` aggregates the table's +With no options argument, `column.getAggregationValue()` aggregates the table's pre-grouped row model. In the normal client pipeline this includes filtering, -but precedes grouping, sorting, expansion, and pagination. +but precedes grouping, sorting, expansion, and pagination. It uses the column's +`maxAggregationDepth` (`0` by default). ## Choosing Which Rows To Aggregate -Pass any row array to override the default: +Pass rows in the options object to override the default: ```ts -column.getAggregationValue(table.getCoreRowModel().rows) // all core rows -column.getAggregationValue(table.getRowModel().rows) // currently rendered model -column.getAggregationValue(table.getFilteredSelectedRowModel().rows) -column.getAggregationValue(customRows) +column.getAggregationValue({ rows: table.getCoreRowModel().rows }) // all core rows +column.getAggregationValue({ rows: table.getRowModel().rows }) // rendered model +column.getAggregationValue({ + rows: table.getFilteredSelectedRowModel().rows, +}) +column.getAggregationValue({ rows: customRows }) +column.getAggregationValue({ rows: customRows, maxDepth: 1 }) +``` + +Depth is relative to the supplied row array. `0` selects those root rows, `1` +selects their direct sub-rows, and so on. Selection returns a unique frontier: +a branch that ends before the maximum depth contributes its deepest available +row. `Infinity` selects terminal rows. + +Set the cached default depth on the column: + +```ts +const amountColumn = columnHelper.accessor('amount', { + aggregationFn: ['sum', 'mean', 'count'], + maxAggregationDepth: 0, +}) ``` -Hierarchical inputs are normalized to unique terminal leaves. Explicit row -calls are recomputed each time; the default call is cached against its row -model, registry, and column aggregation option. +Every aggregation configured on the column receives the same selected rows. +Explicit-row calls are recomputed each time; the default call is cached against +its row model, depth, registry, and column aggregation option. + +`table.getMaxSubRowDepth()` returns the deepest structural depth in the core row +model. To stop one level before the deepest sub-row frontier: + +```ts +const maxDepth = Math.max(0, table.getMaxSubRowDepth() - 1) +column.getAggregationValue({ + rows: table.getCoreRowModel().rows, + maxDepth, +}) +``` ## Multiple Aggregations Per Column @@ -104,8 +133,9 @@ an `undefined` value. ## Custom Aggregation Definitions -Custom aggregations are context-based definitions. `rows` contains normalized -terminal rows and `getValue(row)` reads the current column's value. +Custom aggregations are context-based definitions. `rows` contains the unique +frontier selected at `maxDepth`, and `getValue(row)` reads the current column's +value. ```ts const joined = constructAggregationFn({ @@ -117,12 +147,28 @@ const joined = constructAggregationFn({ }) ``` -The context also includes `column`, `columnId`, and `table`. During grouped -aggregation it includes `groupingRow`; root and caller-supplied-row aggregation -omit that property. The grouping depth is `groupingRow.depth`. +The context also includes `column`, `columnId`, `maxDepth`, and `table`. During grouped +aggregation it includes `groupingRow` and `subRows`; root and +caller-supplied-row aggregation omit those properties. The grouping depth is +`groupingRow.depth`. `subRows` contains the immediate rows at that grouping +level, so an aggregation can explicitly choose immediate sub-rows instead of +the depth-selected `rows`: + +```ts +const subRowCount = constructAggregationFn({ + aggregate: ({ subRows, rows }) => (subRows ?? rows).length, +}) +``` + +At the terminal grouping level, `subRows` contains direct data rows. At a +nested level, it contains the immediate synthetic sub-row groups. -For a result that can be combined efficiently across nested groups, provide a -`merge` function: +All built-in aggregation definitions consume the same depth-selected `rows`. +`subRows` remains available when a custom definition intentionally needs the +grouping row's immediate structural children. + +For a result that can be combined more efficiently from already-computed +sub-row results, provide a `merge` function: ```ts const sum = constructAggregationFn({ @@ -131,14 +177,18 @@ const sum = constructAggregationFn({ const value = getValue(row) return total + (typeof value === 'number' ? value : 0) }, 0), - merge: ({ childResults }) => - childResults.reduce((total, value) => total + value, 0), + merge: ({ subRowResults }) => + subRowResults.reduce((total, value) => total + value, 0), }) ``` -Without `merge`, nested grouping calls `aggregate` over the group's terminal -rows. This replaces the previous callable aggregation signature and its -`fromRows` and `resolveDataValue` properties. +For `merge`, `subRowResults[i]` is the aggregation result previously computed +for `subRows[i]`. + +Without `merge`, nested grouping calls `aggregate` with both the group's +depth-selected `rows` and its immediate `subRows`. This replaces the previous +callable aggregation signature and its `fromRows` and `resolveDataValue` +properties while preserving the ability to choose either row set. ## Grouped Cell Rendering diff --git a/docs/guide/row-models.md b/docs/guide/row-models.md index 8b3e077eef..abc0c5c5b0 100644 --- a/docs/guide/row-models.md +++ b/docs/guide/row-models.md @@ -139,7 +139,7 @@ For normal rendering use cases, you will probably only need to use the `table.ge - `getPreFilteredRowModel` - returns a row model before column filtering and global filtering are applied. - `getGroupedRowModel` - returns a row model that applies grouping and creates sub-rows. When `aggregationFeature` is also registered, configured aggregate values are computed for those grouped rows. -- `getPreGroupedRowModel` - returns the row model before grouping. It is also the default row set used by `column.getAggregationValue()` for grand totals. +- `getPreGroupedRowModel` - returns the row model before grouping. Its root rows are the default row set used by `column.getAggregationValue()` for grand totals; `maxAggregationDepth` can select a deeper frontier. - `getSortedRowModel` - returns a row model that has had sorting applied to it. - `getPreSortedRowModel` - returns a row model before sorting is applied (rows are in original order). diff --git a/docs/guide/rows.md b/docs/guide/rows.md index f65768f8f6..7791d3304e 100644 --- a/docs/guide/rows.md +++ b/docs/guide/rows.md @@ -103,6 +103,7 @@ If you are using either grouping or expanding features, your rows may contain su - `row.depth`: The depth of the row (if nested or grouped) relative to the root row array. 0 for root level rows, 1 for child rows, 2 for grandchild rows, etc. - `row.parentId`: The unique ID of the parent row for the row (The row that contains this row in its subRows array). - `row.getParentRow`: Returns the parent row for the row, if it exists. +- `table.getMaxSubRowDepth()`: Returns the deepest structural depth in the core row model. The result is memoized until the core row model changes. ## More Row APIs diff --git a/docs/guide/worker-row-models.md b/docs/guide/worker-row-models.md index 4a7e418a08..9d01557a47 100644 --- a/docs/guide/worker-row-models.md +++ b/docs/guide/worker-row-models.md @@ -108,7 +108,7 @@ Offloaded stages must form a contiguous prefix of the pipeline (filtered, then g - **Table options that affect processing** (a custom `globalFilterFn`, for example) must be passed to `initTableWorker` in the shared config, not just to your table hook. - **Grouping aggregates** require both `aggregationFeature` and `columnGroupingFeature` in the shared feature set. They are computed eagerly in the worker, but only for columns with an explicit `aggregationFn` or `aggregatedCell`; group-row `getValue()` for other columns returns `undefined`. - **Multiple aggregation results** are transferred as keyed objects. Custom aggregation results must be supported by the browser's structured-clone algorithm. -- **Grand totals and caller-selected row totals** from `column.getAggregationValue(rows?)` run on the main thread. The worker currently offloads row-model stages, not arbitrary aggregation requests. +- **Grand totals and caller-selected row totals** from `column.getAggregationValue(options?)` run on the main thread. The worker currently offloads row-model stages, not arbitrary aggregation requests. - **SSR** works out of the box: on the server (no `Worker` global) the table renders unprocessed rows, and the client takes over after hydration. - **If the worker fails** to load or throws, the plugin logs an error, keeps the last results on screen, and stops updating; un-resulted stages fall back to their pre-stage models. - **Nothing terminates the worker automatically** yet. `tableWorker.terminate()` exists as a manual escape hatch and self-heals on the next read. diff --git a/docs/reference/index/functions/constructAggregationFn.md b/docs/reference/index/functions/constructAggregationFn.md index db6fb7823a..ce349904f8 100644 --- a/docs/reference/index/functions/constructAggregationFn.md +++ b/docs/reference/index/functions/constructAggregationFn.md @@ -9,7 +9,7 @@ title: constructAggregationFn function constructAggregationFn(definition): AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:75](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L75) +Defined in: [features/aggregation/aggregationFeature.types.ts:83](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L83) Creates a typed context-based aggregation definition for a column or aggregation-function registry. diff --git a/docs/reference/index/functions/createFacetedMinMaxValues.md b/docs/reference/index/functions/createFacetedMinMaxValues.md index 8460fb348f..045b11b632 100644 --- a/docs/reference/index/functions/createFacetedMinMaxValues.md +++ b/docs/reference/index/functions/createFacetedMinMaxValues.md @@ -9,7 +9,7 @@ title: createFacetedMinMaxValues function createFacetedMinMaxValues(): (table, columnId) => () => [number, number] | undefined; ``` -Defined in: [features/column-faceting/createFacetedMinMaxValues.ts:13](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-faceting/createFacetedMinMaxValues.ts#L13) +Defined in: [features/column-faceting/createFacetedMinMaxValues.ts:17](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-faceting/createFacetedMinMaxValues.ts#L17) Creates a memoized faceted min max values helper for faceted filtering. diff --git a/docs/reference/index/functions/createFacetedUniqueValues.md b/docs/reference/index/functions/createFacetedUniqueValues.md index b57c386c31..88346a3b88 100644 --- a/docs/reference/index/functions/createFacetedUniqueValues.md +++ b/docs/reference/index/functions/createFacetedUniqueValues.md @@ -9,7 +9,7 @@ title: createFacetedUniqueValues function createFacetedUniqueValues(): (table, columnId) => () => Map; ``` -Defined in: [features/column-faceting/createFacetedUniqueValues.ts:13](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-faceting/createFacetedUniqueValues.ts#L13) +Defined in: [features/column-faceting/createFacetedUniqueValues.ts:17](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-faceting/createFacetedUniqueValues.ts#L17) Creates a memoized faceted unique values helper for faceted filtering. diff --git a/docs/reference/index/index.md b/docs/reference/index/index.md index 11393af8fc..d330a9a3b5 100644 --- a/docs/reference/index/index.md +++ b/docs/reference/index/index.md @@ -13,6 +13,7 @@ title: index - [AggregationFns](interfaces/AggregationFns.md) - [AggregationMergeContext](interfaces/AggregationMergeContext.md) - [AggregationValueContext](interfaces/AggregationValueContext.md) +- [AggregationValueOptions](interfaces/AggregationValueOptions.md) - [AggregationValueResult](interfaces/AggregationValueResult.md) - [API](interfaces/API.md) - [CachedRowModel\_All](interfaces/CachedRowModel_All.md) diff --git a/docs/reference/index/interfaces/AggregationContext.md b/docs/reference/index/interfaces/AggregationContext.md index 53cd0d1c92..46010c52a6 100644 --- a/docs/reference/index/interfaces/AggregationContext.md +++ b/docs/reference/index/interfaces/AggregationContext.md @@ -59,7 +59,7 @@ Convenience alias for `column.id`. getValue: (row) => TValue; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:24](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L24) +Defined in: [features/aggregation/aggregationFeature.types.ts:32](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L32) Reads this column's value from one of `rows`. @@ -81,7 +81,7 @@ Reads this column's value from one of `rows`. optional groupingRow: Row; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:30](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L30) +Defined in: [features/aggregation/aggregationFeature.types.ts:38](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L38) The synthetic grouped row receiving this result. This property is omitted for root or caller-supplied-row aggregation. Its `depth` identifies the @@ -89,16 +89,42 @@ grouping level when grouped aggregation needs that distinction. *** +### maxDepth + +```ts +maxDepth: number; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:24](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L24) + +Maximum relative sub-row depth used to select `rows`. + +*** + ### rows ```ts rows: readonly Row[]; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:35](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L35) +Defined in: [features/aggregation/aggregationFeature.types.ts:43](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L43) + +Unique rows selected at `maxDepth`. Branches that end before `maxDepth` +contribute their deepest available row. + +*** + +### subRows? + +```ts +optional subRows: readonly Row[]; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:30](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L30) -Terminal leaf rows included in this aggregation. The executor normalizes -hierarchical and duplicate row inputs before invoking the definition. +Immediate sub-rows for grouped aggregation. This property is omitted +for root or caller-supplied-row aggregation. At a terminal grouping level +these are the direct data rows; at a nested level they are sub-row groups. *** @@ -108,6 +134,6 @@ hierarchical and duplicate row inputs before invoking the definition. table: Table; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:37](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L37) +Defined in: [features/aggregation/aggregationFeature.types.ts:45](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L45) The table that owns the column and rows. diff --git a/docs/reference/index/interfaces/AggregationFnDef.md b/docs/reference/index/interfaces/AggregationFnDef.md index 580b19edc3..4d711adab2 100644 --- a/docs/reference/index/interfaces/AggregationFnDef.md +++ b/docs/reference/index/interfaces/AggregationFnDef.md @@ -5,7 +5,7 @@ title: AggregationFnDef # Interface: AggregationFnDef\ -Defined in: [features/aggregation/aggregationFeature.types.ts:54](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L54) +Defined in: [features/aggregation/aggregationFeature.types.ts:62](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L62) A context-based aggregation definition and optional grouped-result merge. @@ -35,9 +35,9 @@ A context-based aggregation definition and optional grouped-result merge. aggregate: (context) => TResult; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:61](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L61) +Defined in: [features/aggregation/aggregationFeature.types.ts:69](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L69) -Computes a result directly from normalized terminal rows. +Computes a result directly from the selected `rows`. #### Parameters @@ -57,10 +57,10 @@ Computes a result directly from normalized terminal rows. optional merge: (context) => TResult; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:66](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L66) +Defined in: [features/aggregation/aggregationFeature.types.ts:74](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L74) -Combines already-computed immediate child-group results. When omitted, -nested grouping falls back to `aggregate` over the group's terminal rows. +Combines already-computed immediate sub-row results. When omitted, +nested grouping falls back to `aggregate` over the group's selected rows. #### Parameters diff --git a/docs/reference/index/interfaces/AggregationFnDescriptor.md b/docs/reference/index/interfaces/AggregationFnDescriptor.md index ab8b9981d0..194bc8a340 100644 --- a/docs/reference/index/interfaces/AggregationFnDescriptor.md +++ b/docs/reference/index/interfaces/AggregationFnDescriptor.md @@ -5,7 +5,7 @@ title: AggregationFnDescriptor # Interface: AggregationFnDescriptor\ -Defined in: [features/aggregation/aggregationFeature.types.ts:120](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L120) +Defined in: [features/aggregation/aggregationFeature.types.ts:128](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L128) Gives an aggregation reference a stable key in a multiple result. @@ -35,7 +35,7 @@ Gives an aggregation reference a stable key in a multiple result. aggregationFn: AggregationFnRef; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:127](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L127) +Defined in: [features/aggregation/aggregationFeature.types.ts:135](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L135) The named, automatic, or inline definition to execute. @@ -47,6 +47,6 @@ The named, automatic, or inline definition to execute. id: string; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:129](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L129) +Defined in: [features/aggregation/aggregationFeature.types.ts:137](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L137) Stable key used in the object returned by a multiple aggregation. diff --git a/docs/reference/index/interfaces/AggregationMergeContext.md b/docs/reference/index/interfaces/AggregationMergeContext.md index 3ed2dde8b9..b4f39cdb99 100644 --- a/docs/reference/index/interfaces/AggregationMergeContext.md +++ b/docs/reference/index/interfaces/AggregationMergeContext.md @@ -5,7 +5,7 @@ title: AggregationMergeContext # Interface: AggregationMergeContext\ -Defined in: [features/aggregation/aggregationFeature.types.ts:41](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L41) +Defined in: [features/aggregation/aggregationFeature.types.ts:49](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L49) Additional values available when merging nested grouped results. @@ -33,30 +33,6 @@ Additional values available when merging nested grouped results. ## Properties -### childResults - -```ts -childResults: readonly TResult[]; -``` - -Defined in: [features/aggregation/aggregationFeature.types.ts:48](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L48) - -Results produced for each immediate child group, in child-row order. - -*** - -### childRows - -```ts -childRows: readonly Row[]; -``` - -Defined in: [features/aggregation/aggregationFeature.types.ts:50](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L50) - -Immediate child group rows corresponding to `childResults`. - -*** - ### column ```ts @@ -95,7 +71,7 @@ Convenience alias for `column.id`. getValue: (row) => TValue; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:24](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L24) +Defined in: [features/aggregation/aggregationFeature.types.ts:32](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L32) Reads this column's value from one of `rows`. @@ -121,7 +97,7 @@ Reads this column's value from one of `rows`. optional groupingRow: Row; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:30](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L30) +Defined in: [features/aggregation/aggregationFeature.types.ts:38](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L38) The synthetic grouped row receiving this result. This property is omitted for root or caller-supplied-row aggregation. Its `depth` identifies the @@ -133,16 +109,32 @@ grouping level when grouped aggregation needs that distinction. *** +### maxDepth + +```ts +maxDepth: number; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:24](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L24) + +Maximum relative sub-row depth used to select `rows`. + +#### Inherited from + +[`AggregationContext`](AggregationContext.md).[`maxDepth`](AggregationContext.md#maxdepth) + +*** + ### rows ```ts rows: readonly Row[]; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:35](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L35) +Defined in: [features/aggregation/aggregationFeature.types.ts:43](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L43) -Terminal leaf rows included in this aggregation. The executor normalizes -hierarchical and duplicate row inputs before invoking the definition. +Unique rows selected at `maxDepth`. Branches that end before `maxDepth` +contribute their deepest available row. #### Inherited from @@ -150,13 +142,41 @@ hierarchical and duplicate row inputs before invoking the definition. *** +### subRowResults + +```ts +subRowResults: readonly TResult[]; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:56](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L56) + +Results produced for each immediate sub-row group, in sub-row order. + +*** + +### subRows + +```ts +subRows: readonly Row[]; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:58](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L58) + +Immediate sub-row groups corresponding to `subRowResults`. + +#### Overrides + +[`AggregationContext`](AggregationContext.md).[`subRows`](AggregationContext.md#subrows) + +*** + ### table ```ts table: Table; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:37](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L37) +Defined in: [features/aggregation/aggregationFeature.types.ts:45](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L45) The table that owns the column and rows. diff --git a/docs/reference/index/interfaces/AggregationValueContext.md b/docs/reference/index/interfaces/AggregationValueContext.md index 5e07ccef91..1d6d069fb8 100644 --- a/docs/reference/index/interfaces/AggregationValueContext.md +++ b/docs/reference/index/interfaces/AggregationValueContext.md @@ -5,7 +5,7 @@ title: AggregationValueContext # Interface: AggregationValueContext\ -Defined in: [features/aggregation/aggregationFeature.types.ts:285](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L285) +Defined in: [features/aggregation/aggregationFeature.types.ts:310](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L310) Values passed to a column-level aggregation-value provider. @@ -31,19 +31,31 @@ Values passed to a column-level aggregation-value provider. column: Column; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:291](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L291) +Defined in: [features/aggregation/aggregationFeature.types.ts:316](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L316) The column whose value was requested. *** +### maxDepth + +```ts +maxDepth: number; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:318](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L318) + +Maximum relative sub-row depth used for the request. + +*** + ### rows? ```ts optional rows: readonly Row[]; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:293](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L293) +Defined in: [features/aggregation/aggregationFeature.types.ts:320](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L320) Caller-provided rows, or `undefined` for the default row model. @@ -55,6 +67,6 @@ Caller-provided rows, or `undefined` for the default row model. table: Table; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:295](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L295) +Defined in: [features/aggregation/aggregationFeature.types.ts:322](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L322) The table that owns the column. diff --git a/docs/reference/index/interfaces/AggregationValueOptions.md b/docs/reference/index/interfaces/AggregationValueOptions.md new file mode 100644 index 0000000000..42214e47c9 --- /dev/null +++ b/docs/reference/index/interfaces/AggregationValueOptions.md @@ -0,0 +1,44 @@ +--- +id: AggregationValueOptions +title: AggregationValueOptions +--- + +# Interface: AggregationValueOptions\ + +Defined in: [features/aggregation/aggregationFeature.types.ts:287](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L287) + +Options for a caller-requested column aggregation value. + +## Type Parameters + +### TFeatures + +`TFeatures` *extends* [`TableFeatures`](TableFeatures.md) + +### TData + +`TData` *extends* [`RowData`](../type-aliases/RowData.md) + +## Properties + +### maxDepth? + +```ts +optional maxDepth: number; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:292](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L292) + +Overrides the column's `maxAggregationDepth` for this request. + +*** + +### rows? + +```ts +optional rows: readonly Row[]; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:294](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L294) + +Rows to aggregate instead of the default pre-grouped row model. diff --git a/docs/reference/index/interfaces/AggregationValueResult.md b/docs/reference/index/interfaces/AggregationValueResult.md index 1e13229a44..0b56c9aff7 100644 --- a/docs/reference/index/interfaces/AggregationValueResult.md +++ b/docs/reference/index/interfaces/AggregationValueResult.md @@ -5,7 +5,7 @@ title: AggregationValueResult # Interface: AggregationValueResult\ -Defined in: [features/aggregation/aggregationFeature.types.ts:299](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L299) +Defined in: [features/aggregation/aggregationFeature.types.ts:326](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L326) Marks an aggregation-value override as handled. @@ -23,6 +23,6 @@ Marks an aggregation-value override as handled. value: TResult; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:301](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L301) +Defined in: [features/aggregation/aggregationFeature.types.ts:328](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L328) The supplied value. `undefined` is still a handled result. diff --git a/docs/reference/index/interfaces/Cell_Aggregation.md b/docs/reference/index/interfaces/Cell_Aggregation.md index 1579b3c135..18b399208c 100644 --- a/docs/reference/index/interfaces/Cell_Aggregation.md +++ b/docs/reference/index/interfaces/Cell_Aggregation.md @@ -5,7 +5,7 @@ title: Cell_Aggregation # Interface: Cell\_Aggregation -Defined in: [features/aggregation/aggregationFeature.types.ts:273](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L273) +Defined in: [features/aggregation/aggregationFeature.types.ts:298](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L298) Cell instance APIs installed by `aggregationFeature`. @@ -17,7 +17,7 @@ Cell instance APIs installed by `aggregationFeature`. getIsAggregated: () => boolean; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:275](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L275) +Defined in: [features/aggregation/aggregationFeature.types.ts:300](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L300) Whether this cell displays an aggregate on a synthetic grouped row. diff --git a/docs/reference/index/interfaces/ColumnDef_Aggregation.md b/docs/reference/index/interfaces/ColumnDef_Aggregation.md index edc8edd442..e60a36caca 100644 --- a/docs/reference/index/interfaces/ColumnDef_Aggregation.md +++ b/docs/reference/index/interfaces/ColumnDef_Aggregation.md @@ -5,7 +5,7 @@ title: ColumnDef_Aggregation # Interface: ColumnDef\_Aggregation\ -Defined in: [features/aggregation/aggregationFeature.types.ts:225](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L225) +Defined in: [features/aggregation/aggregationFeature.types.ts:233](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L233) Column-definition options installed by `aggregationFeature`. @@ -31,7 +31,7 @@ Column-definition options installed by `aggregationFeature`. optional aggregatedCell: ColumnDefTemplate["getContext"]>>; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:231](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L231) +Defined in: [features/aggregation/aggregationFeature.types.ts:239](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L239) Renderer used for a grouped row's aggregated cell. @@ -43,7 +43,7 @@ Renderer used for a grouped row's aggregated cell. optional aggregationFn: AggregationFnOption; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:238](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L238) +Defined in: [features/aggregation/aggregationFeature.types.ts:246](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L246) One aggregation reference for a scalar result, or an array for a keyed result object. Inline definitions in an array require an explicit `id`. @@ -58,7 +58,7 @@ optional getAggregationValue: (context) => | undefined; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:244](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L244) +Defined in: [features/aggregation/aggregationFeature.types.ts:258](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L258) Optionally supplies a precomputed aggregation value for this column. Return `{ value }` to handle the request, including `{ value: undefined }`; @@ -74,3 +74,17 @@ return `undefined` to use the local aggregation fallback. \| [`AggregationValueResult`](AggregationValueResult.md)\<`unknown`\> \| `undefined` + +*** + +### maxAggregationDepth? + +```ts +optional maxAggregationDepth: number; +``` + +Defined in: [features/aggregation/aggregationFeature.types.ts:252](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L252) + +Maximum relative sub-row depth used for grouped aggregation and cached +default totals. `0` selects the supplied root rows, `1` their direct +sub-rows, and so on. Defaults to `0`. diff --git a/docs/reference/index/interfaces/Column_Aggregation.md b/docs/reference/index/interfaces/Column_Aggregation.md index 8fb868302f..7d7eace791 100644 --- a/docs/reference/index/interfaces/Column_Aggregation.md +++ b/docs/reference/index/interfaces/Column_Aggregation.md @@ -5,7 +5,7 @@ title: Column_Aggregation # Interface: Column\_Aggregation\ -Defined in: [features/aggregation/aggregationFeature.types.ts:250](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L250) +Defined in: [features/aggregation/aggregationFeature.types.ts:264](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L264) Column instance APIs installed by `aggregationFeature`. @@ -27,7 +27,7 @@ Column instance APIs installed by `aggregationFeature`. getAggregationFns: () => readonly ResolvedAggregationFn[]; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:255](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L255) +Defined in: [features/aggregation/aggregationFeature.types.ts:269](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L269) Resolves the configured scalar or multiple aggregation definitions. @@ -40,14 +40,14 @@ readonly [`ResolvedAggregationFn`](ResolvedAggregationFn.md)\<`TFeatures`, `TDat ### getAggregationValue() ```ts -getAggregationValue: (rows?) => TResult; +getAggregationValue: (options?) => TResult; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:263](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L263) +Defined in: [features/aggregation/aggregationFeature.types.ts:277](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L277) Aggregates this column over the default pre-grouped row model, or over a -caller-provided array of rows. Explicit rows are normalized to unique -terminal leaves and are intentionally not cached. +caller-provided array of rows. `options.maxDepth` overrides the column's +`maxAggregationDepth`. Explicit-row calls are intentionally not cached. #### Type Parameters @@ -57,9 +57,9 @@ terminal leaves and are intentionally not cached. #### Parameters -##### rows? +##### options? -readonly [`Row`](../type-aliases/Row.md)\<`TFeatures`, `TData`\>[] +[`AggregationValueOptions`](AggregationValueOptions.md)\<`TFeatures`, `TData`\> #### Returns @@ -75,7 +75,7 @@ getAutoAggregationFn: () => | undefined; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:267](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L267) +Defined in: [features/aggregation/aggregationFeature.types.ts:281](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L281) Infers `sum` for a numeric first row and `extent` for a Date first row. diff --git a/docs/reference/index/interfaces/ResolvedAggregationFn.md b/docs/reference/index/interfaces/ResolvedAggregationFn.md index 0552faae69..5041d01e95 100644 --- a/docs/reference/index/interfaces/ResolvedAggregationFn.md +++ b/docs/reference/index/interfaces/ResolvedAggregationFn.md @@ -5,7 +5,7 @@ title: ResolvedAggregationFn # Interface: ResolvedAggregationFn\ -Defined in: [features/aggregation/aggregationFeature.types.ts:214](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L214) +Defined in: [features/aggregation/aggregationFeature.types.ts:222](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L222) A validated aggregation entry returned by `column.getAggregationFns()`. @@ -29,7 +29,7 @@ aggregationFn: | undefined; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:219](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L219) +Defined in: [features/aggregation/aggregationFeature.types.ts:227](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L227) Resolved definition, or `undefined` when configuration is invalid. @@ -41,6 +41,6 @@ Resolved definition, or `undefined` when configuration is invalid. id: string | undefined; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:221](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L221) +Defined in: [features/aggregation/aggregationFeature.types.ts:229](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L229) Key used for a multiple result; scalar inline definitions have no id. diff --git a/docs/reference/index/interfaces/RowModelFns_Aggregation.md b/docs/reference/index/interfaces/RowModelFns_Aggregation.md index 84f365407d..7f0a3d8c6d 100644 --- a/docs/reference/index/interfaces/RowModelFns_Aggregation.md +++ b/docs/reference/index/interfaces/RowModelFns_Aggregation.md @@ -5,7 +5,7 @@ title: RowModelFns_Aggregation # Interface: RowModelFns\_Aggregation\ -Defined in: [features/aggregation/aggregationFeature.types.ts:87](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L87) +Defined in: [features/aggregation/aggregationFeature.types.ts:95](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L95) Aggregation-definition registry carried by a table feature set. @@ -27,4 +27,4 @@ Aggregation-definition registry carried by a table feature set. aggregationFns: Record>; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:91](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L91) +Defined in: [features/aggregation/aggregationFeature.types.ts:99](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L99) diff --git a/docs/reference/index/interfaces/RowModelFns_All.md b/docs/reference/index/interfaces/RowModelFns_All.md index 03db547701..5789ff99d0 100644 --- a/docs/reference/index/interfaces/RowModelFns_All.md +++ b/docs/reference/index/interfaces/RowModelFns_All.md @@ -29,7 +29,7 @@ Defined in: [types/RowModelFns.ts:25](https://github.com/TanStack/table/blob/mai optional aggregationFns: Record>; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:91](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L91) +Defined in: [features/aggregation/aggregationFeature.types.ts:99](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L99) #### Inherited from diff --git a/docs/reference/index/interfaces/Row_Aggregation.md b/docs/reference/index/interfaces/Row_Aggregation.md index 7a0af02a70..8344e345c3 100644 --- a/docs/reference/index/interfaces/Row_Aggregation.md +++ b/docs/reference/index/interfaces/Row_Aggregation.md @@ -5,7 +5,7 @@ title: Row_Aggregation # Interface: Row\_Aggregation -Defined in: [features/aggregation/aggregationFeature.types.ts:279](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L279) +Defined in: [features/aggregation/aggregationFeature.types.ts:304](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L304) Internal per-row cache used while grouped aggregates are evaluated. @@ -17,6 +17,6 @@ Internal per-row cache used while grouped aggregates are evaluated. _aggregationValuesCache: Record; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:281](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L281) +Defined in: [features/aggregation/aggregationFeature.types.ts:306](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L306) Cached aggregate results keyed by column id. diff --git a/docs/reference/index/interfaces/TableOptions_Aggregation.md b/docs/reference/index/interfaces/TableOptions_Aggregation.md index 0e43b9f6ea..5658150dbe 100644 --- a/docs/reference/index/interfaces/TableOptions_Aggregation.md +++ b/docs/reference/index/interfaces/TableOptions_Aggregation.md @@ -5,7 +5,7 @@ title: TableOptions_Aggregation # Interface: TableOptions\_Aggregation -Defined in: [features/aggregation/aggregationFeature.types.ts:305](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L305) +Defined in: [features/aggregation/aggregationFeature.types.ts:332](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L332) Table options installed by `aggregationFeature`. @@ -17,7 +17,7 @@ Table options installed by `aggregationFeature`. optional manualAggregation: boolean; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:311](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L311) +Defined in: [features/aggregation/aggregationFeature.types.ts:338](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L338) Disables local `column.getAggregationValue()` calculation when a column override does not handle the request. Group values supplied by manually diff --git a/docs/reference/index/interfaces/Table_Core.md b/docs/reference/index/interfaces/Table_Core.md index d01de49646..72a2e66a88 100644 --- a/docs/reference/index/interfaces/Table_Core.md +++ b/docs/reference/index/interfaces/Table_Core.md @@ -580,6 +580,27 @@ Collects only leaf headers, excluding parent/group headers. *** +### getMaxSubRowDepth() + +```ts +getMaxSubRowDepth: () => number; +``` + +Defined in: [core/rows/coreRowsFeature.types.ts:138](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L138) + +Returns the deepest structural row depth in the core row model. +Root rows are depth `0`, direct sub-rows are depth `1`, and so on. + +#### Returns + +`number` + +#### Inherited from + +[`Table_Rows`](Table_Rows.md).[`getMaxSubRowDepth`](Table_Rows.md#getmaxsubrowdepth) + +*** + ### getPaginatedRowModel() ```ts @@ -718,7 +739,7 @@ Table_RowModels.getPreSortedRowModel getRow: (id, searchAll?) => Row; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:145](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L145) +Defined in: [core/rows/coreRowsFeature.types.ts:153](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L153) Returns the row with the given ID. @@ -748,7 +769,9 @@ Returns the row with the given ID. getRowId: (_, index, parent?) => string; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:141](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L141) +Defined in: [core/rows/coreRowsFeature.types.ts:149](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L149) + +Returns the row id for a given row. #### Parameters @@ -802,7 +825,7 @@ Table_RowModels.getRowModel getRowsInDisplayOrder: () => Row[]; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:140](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L140) +Defined in: [core/rows/coreRowsFeature.types.ts:145](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L145) Returns the rows in the current display order and assigns their display indexes. When expanded rows bypass pagination, expanded descendants are diff --git a/docs/reference/index/interfaces/Table_Internal.md b/docs/reference/index/interfaces/Table_Internal.md index ea45b6dca1..1e9f33a695 100644 --- a/docs/reference/index/interfaces/Table_Internal.md +++ b/docs/reference/index/interfaces/Table_Internal.md @@ -573,6 +573,27 @@ Collects only leaf headers, excluding parent/group headers. *** +### getMaxSubRowDepth() + +```ts +getMaxSubRowDepth: () => number; +``` + +Defined in: [core/rows/coreRowsFeature.types.ts:138](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L138) + +Returns the deepest structural row depth in the core row model. +Root rows are depth `0`, direct sub-rows are depth `1`, and so on. + +#### Returns + +`number` + +#### Inherited from + +[`Table_Rows`](Table_Rows.md).[`getMaxSubRowDepth`](Table_Rows.md#getmaxsubrowdepth) + +*** + ### getPaginatedRowModel() ```ts @@ -711,7 +732,7 @@ Table_RowModels.getPreSortedRowModel getRow: (id, searchAll?) => Row; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:145](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L145) +Defined in: [core/rows/coreRowsFeature.types.ts:153](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L153) Returns the row with the given ID. @@ -741,7 +762,9 @@ Returns the row with the given ID. getRowId: (_, index, parent?) => string; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:141](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L141) +Defined in: [core/rows/coreRowsFeature.types.ts:149](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L149) + +Returns the row id for a given row. #### Parameters @@ -795,7 +818,7 @@ Table_RowModels.getRowModel getRowsInDisplayOrder: () => Row[]; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:140](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L140) +Defined in: [core/rows/coreRowsFeature.types.ts:145](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L145) Returns the rows in the current display order and assigns their display indexes. When expanded rows bypass pagination, expanded descendants are diff --git a/docs/reference/index/interfaces/Table_Rows.md b/docs/reference/index/interfaces/Table_Rows.md index a2b117bba4..2f0fde147c 100644 --- a/docs/reference/index/interfaces/Table_Rows.md +++ b/docs/reference/index/interfaces/Table_Rows.md @@ -24,13 +24,30 @@ Defined in: [core/rows/coreRowsFeature.types.ts:130](https://github.com/TanStack ## Properties +### getMaxSubRowDepth() + +```ts +getMaxSubRowDepth: () => number; +``` + +Defined in: [core/rows/coreRowsFeature.types.ts:138](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L138) + +Returns the deepest structural row depth in the core row model. +Root rows are depth `0`, direct sub-rows are depth `1`, and so on. + +#### Returns + +`number` + +*** + ### getRow() ```ts getRow: (id, searchAll?) => Row; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:145](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L145) +Defined in: [core/rows/coreRowsFeature.types.ts:153](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L153) Returns the row with the given ID. @@ -56,7 +73,9 @@ Returns the row with the given ID. getRowId: (_, index, parent?) => string; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:141](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L141) +Defined in: [core/rows/coreRowsFeature.types.ts:149](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L149) + +Returns the row id for a given row. #### Parameters @@ -84,7 +103,7 @@ Defined in: [core/rows/coreRowsFeature.types.ts:141](https://github.com/TanStack getRowsInDisplayOrder: () => Row[]; ``` -Defined in: [core/rows/coreRowsFeature.types.ts:140](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L140) +Defined in: [core/rows/coreRowsFeature.types.ts:145](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.types.ts#L145) Returns the rows in the current display order and assigns their display indexes. When expanded rows bypass pagination, expanded descendants are diff --git a/docs/reference/index/type-aliases/AggregationFnListItem.md b/docs/reference/index/type-aliases/AggregationFnListItem.md index d9646f338b..ef6d040c9f 100644 --- a/docs/reference/index/type-aliases/AggregationFnListItem.md +++ b/docs/reference/index/type-aliases/AggregationFnListItem.md @@ -12,7 +12,7 @@ type AggregationFnListItem = | AggregationFnDescriptor; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:133](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L133) +Defined in: [features/aggregation/aggregationFeature.types.ts:141](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L141) One named or explicitly keyed entry in a multiple aggregation option. diff --git a/docs/reference/index/type-aliases/AggregationFnOption.md b/docs/reference/index/type-aliases/AggregationFnOption.md index 2b469a3a62..136aa9fc24 100644 --- a/docs/reference/index/type-aliases/AggregationFnOption.md +++ b/docs/reference/index/type-aliases/AggregationFnOption.md @@ -11,7 +11,7 @@ type AggregationFnOption = | ReadonlyArray>; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:143](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L143) +Defined in: [features/aggregation/aggregationFeature.types.ts:151](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L151) A scalar aggregation reference or a list that produces a keyed object. diff --git a/docs/reference/index/type-aliases/AggregationFnRef.md b/docs/reference/index/type-aliases/AggregationFnRef.md index 45e7769558..e19012a8c1 100644 --- a/docs/reference/index/type-aliases/AggregationFnRef.md +++ b/docs/reference/index/type-aliases/AggregationFnRef.md @@ -12,7 +12,7 @@ type AggregationFnRef = | AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:109](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L109) +Defined in: [features/aggregation/aggregationFeature.types.ts:117](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L117) A registered name, automatic inference, or inline aggregation definition. diff --git a/docs/reference/index/type-aliases/AggregationResult.md b/docs/reference/index/type-aliases/AggregationResult.md index 436d3e0a0c..8e68acda85 100644 --- a/docs/reference/index/type-aliases/AggregationResult.md +++ b/docs/reference/index/type-aliases/AggregationResult.md @@ -9,7 +9,7 @@ title: AggregationResult type AggregationResult = TOption extends ReadonlyArray ? { [TKey in AggregationEntryId]: AggregationResultOfRef>, TFeatures> } : AggregationResultOfRef; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:190](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L190) +Defined in: [features/aggregation/aggregationFeature.types.ts:198](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L198) Infers the scalar or keyed result produced by an aggregation option. diff --git a/docs/reference/index/type-aliases/AggregationResultOf.md b/docs/reference/index/type-aliases/AggregationResultOf.md index 984b05164d..0507d848bd 100644 --- a/docs/reference/index/type-aliases/AggregationResultOf.md +++ b/docs/reference/index/type-aliases/AggregationResultOf.md @@ -9,7 +9,7 @@ title: AggregationResultOf type AggregationResultOf = TDefinition extends AggregationFnDef ? TResult : unknown; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:152](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L152) +Defined in: [features/aggregation/aggregationFeature.types.ts:160](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L160) Extracts the result type produced by an aggregation definition. diff --git a/docs/reference/index/type-aliases/BuiltInAggregationFn.md b/docs/reference/index/type-aliases/BuiltInAggregationFn.md index 66ecc6de69..26e2913ad5 100644 --- a/docs/reference/index/type-aliases/BuiltInAggregationFn.md +++ b/docs/reference/index/type-aliases/BuiltInAggregationFn.md @@ -9,4 +9,4 @@ title: BuiltInAggregationFn type BuiltInAggregationFn = keyof typeof aggregationFns; ``` -Defined in: [features/aggregation/aggregationFns.ts:336](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L336) +Defined in: [features/aggregation/aggregationFns.ts:345](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L345) diff --git a/docs/reference/index/type-aliases/ColumnAggregationValue.md b/docs/reference/index/type-aliases/ColumnAggregationValue.md index ef8b3d4120..b4e5ff782b 100644 --- a/docs/reference/index/type-aliases/ColumnAggregationValue.md +++ b/docs/reference/index/type-aliases/ColumnAggregationValue.md @@ -12,7 +12,7 @@ type ColumnAggregationValue = | undefined; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:208](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L208) +Defined in: [features/aggregation/aggregationFeature.types.ts:216](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L216) Default public result union when a column's precise option is not known. diff --git a/docs/reference/index/type-aliases/CustomAggregationFns.md b/docs/reference/index/type-aliases/CustomAggregationFns.md index d4d26a9c2e..43a58215d1 100644 --- a/docs/reference/index/type-aliases/CustomAggregationFns.md +++ b/docs/reference/index/type-aliases/CustomAggregationFns.md @@ -9,7 +9,7 @@ title: CustomAggregationFns type CustomAggregationFns = Record>; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:95](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L95) +Defined in: [features/aggregation/aggregationFeature.types.ts:103](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L103) Named context-based aggregation definitions registered on a feature set. diff --git a/docs/reference/index/type-aliases/ExtractAggregationFnKeys.md b/docs/reference/index/type-aliases/ExtractAggregationFnKeys.md index 8ad4888d6d..0607e96b14 100644 --- a/docs/reference/index/type-aliases/ExtractAggregationFnKeys.md +++ b/docs/reference/index/type-aliases/ExtractAggregationFnKeys.md @@ -11,7 +11,7 @@ type ExtractAggregationFnKeys = IsAny extends true ? | BuiltInAggregationFn : TFeatures extends object ? Extract : keyof AggregationFns; ``` -Defined in: [features/aggregation/aggregationFeature.types.ts:101](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L101) +Defined in: [features/aggregation/aggregationFeature.types.ts:109](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.types.ts#L109) String names available from a feature set's aggregation registry. diff --git a/docs/reference/index/variables/aggregationFn_count.md b/docs/reference/index/variables/aggregationFn_count.md index 4c5314a293..23fc4545a8 100644 --- a/docs/reference/index/variables/aggregationFn_count.md +++ b/docs/reference/index/variables/aggregationFn_count.md @@ -9,6 +9,6 @@ title: aggregationFn_count const aggregationFn_count: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:273](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L273) +Defined in: [features/aggregation/aggregationFns.ts:282](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L282) Counts rows, independently of the column's values. diff --git a/docs/reference/index/variables/aggregationFn_extent.md b/docs/reference/index/variables/aggregationFn_extent.md index e5dd1acb68..67235c6968 100644 --- a/docs/reference/index/variables/aggregationFn_extent.md +++ b/docs/reference/index/variables/aggregationFn_extent.md @@ -9,7 +9,8 @@ title: aggregationFn_extent const aggregationFn_extent: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:143](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L143) +Defined in: [features/aggregation/aggregationFns.ts:146](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L146) -Finds the minimum and maximum numeric or Date values. Empty inputs return +Finds the minimum and maximum numeric or Date values from the selected rows. +Empty inputs return `[undefined, undefined]`, preserving the previous built-in result shape. diff --git a/docs/reference/index/variables/aggregationFn_first.md b/docs/reference/index/variables/aggregationFn_first.md index 1da1cbfa2e..62dae0f6fe 100644 --- a/docs/reference/index/variables/aggregationFn_first.md +++ b/docs/reference/index/variables/aggregationFn_first.md @@ -9,6 +9,6 @@ title: aggregationFn_first const aggregationFn_first: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:291](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L291) +Defined in: [features/aggregation/aggregationFns.ts:300](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L300) Returns the first row's value, including a nullish value. diff --git a/docs/reference/index/variables/aggregationFn_last.md b/docs/reference/index/variables/aggregationFn_last.md index 746e6138f3..e611677421 100644 --- a/docs/reference/index/variables/aggregationFn_last.md +++ b/docs/reference/index/variables/aggregationFn_last.md @@ -9,6 +9,6 @@ title: aggregationFn_last const aggregationFn_last: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:303](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L303) +Defined in: [features/aggregation/aggregationFns.ts:312](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L312) Returns the last row's value, including a nullish value. diff --git a/docs/reference/index/variables/aggregationFn_max.md b/docs/reference/index/variables/aggregationFn_max.md index fa92a6c7c0..50f3977729 100644 --- a/docs/reference/index/variables/aggregationFn_max.md +++ b/docs/reference/index/variables/aggregationFn_max.md @@ -9,7 +9,7 @@ title: aggregationFn_max const aggregationFn_max: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:108](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L108) +Defined in: [features/aggregation/aggregationFns.ts:109](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L109) -Finds the maximum numeric or Date value. Invalid value types are ignored; -`NaN` preserves the legacy numeric seeding behavior. +Finds the maximum numeric or Date value from the selected rows. Invalid value +types are ignored; `NaN` preserves the legacy numeric seeding behavior. diff --git a/docs/reference/index/variables/aggregationFn_mean.md b/docs/reference/index/variables/aggregationFn_mean.md index adb036cbdb..81b3a77462 100644 --- a/docs/reference/index/variables/aggregationFn_mean.md +++ b/docs/reference/index/variables/aggregationFn_mean.md @@ -9,7 +9,7 @@ title: aggregationFn_mean const aggregationFn_mean: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:192](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L192) +Defined in: [features/aggregation/aggregationFns.ts:201](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L201) Averages number and number-like row values. Nullish and non-numeric values are ignored; other values retain the legacy unary-plus coercion behavior. diff --git a/docs/reference/index/variables/aggregationFn_median.md b/docs/reference/index/variables/aggregationFn_median.md index 126213feca..7aa9261c8b 100644 --- a/docs/reference/index/variables/aggregationFn_median.md +++ b/docs/reference/index/variables/aggregationFn_median.md @@ -9,7 +9,7 @@ title: aggregationFn_median const aggregationFn_median: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:218](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L218) +Defined in: [features/aggregation/aggregationFns.ts:227](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L227) Computes the median when every row value is a number. Returns `undefined` for empty inputs or when any value is non-numeric. diff --git a/docs/reference/index/variables/aggregationFn_min.md b/docs/reference/index/variables/aggregationFn_min.md index 11dad0586b..5faac44990 100644 --- a/docs/reference/index/variables/aggregationFn_min.md +++ b/docs/reference/index/variables/aggregationFn_min.md @@ -11,5 +11,5 @@ const aggregationFn_min: AggregationFnDef; Defined in: [features/aggregation/aggregationFns.ts:45](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L45) -Sums numeric row values. Non-number values contribute zero. As in the -previous API, `NaN` is a number and therefore propagates through the sum. +Sums numeric selected-row values. Non-number values contribute zero. As in +the previous API, `NaN` is a number and therefore propagates through the sum. diff --git a/docs/reference/index/variables/aggregationFn_unique.md b/docs/reference/index/variables/aggregationFn_unique.md index 6db3b38bd9..0f2a44a317 100644 --- a/docs/reference/index/variables/aggregationFn_unique.md +++ b/docs/reference/index/variables/aggregationFn_unique.md @@ -9,6 +9,6 @@ title: aggregationFn_unique const aggregationFn_unique: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:241](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L241) +Defined in: [features/aggregation/aggregationFns.ts:250](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L250) Collects distinct row values using JavaScript `Set` semantics. diff --git a/docs/reference/index/variables/aggregationFn_uniqueCount.md b/docs/reference/index/variables/aggregationFn_uniqueCount.md index b290fa7b12..84feb77f1c 100644 --- a/docs/reference/index/variables/aggregationFn_uniqueCount.md +++ b/docs/reference/index/variables/aggregationFn_uniqueCount.md @@ -9,6 +9,6 @@ title: aggregationFn_uniqueCount const aggregationFn_uniqueCount: AggregationFnDef; ``` -Defined in: [features/aggregation/aggregationFns.ts:257](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L257) +Defined in: [features/aggregation/aggregationFns.ts:266](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L266) Counts distinct row values using JavaScript `Set` semantics. diff --git a/docs/reference/index/variables/aggregationFns.md b/docs/reference/index/variables/aggregationFns.md index 607abc59b5..3a6af75044 100644 --- a/docs/reference/index/variables/aggregationFns.md +++ b/docs/reference/index/variables/aggregationFns.md @@ -9,7 +9,7 @@ title: aggregationFns const aggregationFns: object; ``` -Defined in: [features/aggregation/aggregationFns.ts:322](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L322) +Defined in: [features/aggregation/aggregationFns.ts:331](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFns.ts#L331) Full built-in registry. Register individual definitions for tree-shaking. diff --git a/docs/reference/index/variables/coreRowsFeature.md b/docs/reference/index/variables/coreRowsFeature.md index d582ba459b..9bf5d3e362 100644 --- a/docs/reference/index/variables/coreRowsFeature.md +++ b/docs/reference/index/variables/coreRowsFeature.md @@ -9,6 +9,6 @@ title: coreRowsFeature const coreRowsFeature: TableFeature; ``` -Defined in: [core/rows/coreRowsFeature.ts:21](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.ts#L21) +Defined in: [core/rows/coreRowsFeature.ts:22](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.ts#L22) Core feature that creates row APIs for values, cells, and tree traversal. diff --git a/docs/reference/static-functions/functions/aggregateColumnValue.md b/docs/reference/static-functions/functions/aggregateColumnValue.md index f6da9a4580..73a835d98f 100644 --- a/docs/reference/static-functions/functions/aggregateColumnValue.md +++ b/docs/reference/static-functions/functions/aggregateColumnValue.md @@ -9,9 +9,9 @@ title: aggregateColumnValue function aggregateColumnValue(args): unknown; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:248](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L248) +Defined in: [features/aggregation/aggregationFeature.utils.ts:261](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L261) -Executes every configured aggregation for a column over normalized rows. +Executes every configured aggregation over a depth-selected row frontier. ## Type Parameters @@ -27,10 +27,6 @@ Executes every configured aggregation for a column over normalized rows. ### args -#### childRows? - -readonly [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] - #### column [`Column`](../../index/type-aliases/Column.md)\<`TFeatures`, `TData`, `unknown`\> @@ -39,10 +35,18 @@ readonly [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\> +#### maxDepth? + +`number` + #### rows readonly [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] +#### subRows? + +readonly [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] + ## Returns `unknown` diff --git a/docs/reference/static-functions/functions/cell_getIsAggregated.md b/docs/reference/static-functions/functions/cell_getIsAggregated.md index 809a2fabee..e7cb3e1ab2 100644 --- a/docs/reference/static-functions/functions/cell_getIsAggregated.md +++ b/docs/reference/static-functions/functions/cell_getIsAggregated.md @@ -9,7 +9,7 @@ title: cell_getIsAggregated function cell_getIsAggregated(cell): boolean; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:364](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L364) +Defined in: [features/aggregation/aggregationFeature.utils.ts:393](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L393) Implements `cell.getIsAggregated()` for synthetic grouped rows. diff --git a/docs/reference/static-functions/functions/column_getAggregationFns.md b/docs/reference/static-functions/functions/column_getAggregationFns.md index eba6cf7164..f8d136f0a7 100644 --- a/docs/reference/static-functions/functions/column_getAggregationFns.md +++ b/docs/reference/static-functions/functions/column_getAggregationFns.md @@ -9,7 +9,7 @@ title: column_getAggregationFns function column_getAggregationFns(column): readonly ResolvedAggregationFn[]; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:142](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L142) +Defined in: [features/aggregation/aggregationFeature.utils.ts:155](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L155) Resolves and validates a column's scalar or multiple aggregation option. diff --git a/docs/reference/static-functions/functions/column_getAggregationValue.md b/docs/reference/static-functions/functions/column_getAggregationValue.md index a2b7572d97..3beed6b69b 100644 --- a/docs/reference/static-functions/functions/column_getAggregationValue.md +++ b/docs/reference/static-functions/functions/column_getAggregationValue.md @@ -6,12 +6,12 @@ title: column_getAggregationValue # Function: column\_getAggregationValue() ```ts -function column_getAggregationValue(column, rows?): ColumnAggregationValue; +function column_getAggregationValue(column, options?): ColumnAggregationValue; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:310](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L310) +Defined in: [features/aggregation/aggregationFeature.utils.ts:330](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L330) -Implements `column.getAggregationValue(rows?)` and its default-value cache. +Implements `column.getAggregationValue(options?)` and its default cache. ## Type Parameters @@ -33,9 +33,9 @@ Implements `column.getAggregationValue(rows?)` and its default-value cache. [`Column_Internal`](../../index/interfaces/Column_Internal.md)\<`TFeatures`, `TData`, `TValue`\> -### rows? +### options? -readonly [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] +[`AggregationValueOptions`](../../index/interfaces/AggregationValueOptions.md)\<`TFeatures`, `TData`\> ## Returns diff --git a/docs/reference/static-functions/functions/column_getAutoAggregationFn.md b/docs/reference/static-functions/functions/column_getAutoAggregationFn.md index 3da3045d12..9ddd8bccc0 100644 --- a/docs/reference/static-functions/functions/column_getAutoAggregationFn.md +++ b/docs/reference/static-functions/functions/column_getAutoAggregationFn.md @@ -11,7 +11,7 @@ function column_getAutoAggregationFn(column): | undefined; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:100](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L100) +Defined in: [features/aggregation/aggregationFeature.utils.ts:113](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L113) Resolves the `sum` or `extent` definition inferred from the first core row. diff --git a/docs/reference/static-functions/functions/formatAggregatedCellValue.md b/docs/reference/static-functions/functions/formatAggregatedCellValue.md index a7dd338d93..5a815296f4 100644 --- a/docs/reference/static-functions/functions/formatAggregatedCellValue.md +++ b/docs/reference/static-functions/functions/formatAggregatedCellValue.md @@ -9,7 +9,7 @@ title: formatAggregatedCellValue function formatAggregatedCellValue(value, option): string | null; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:385](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L385) +Defined in: [features/aggregation/aggregationFeature.utils.ts:414](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L414) Formats the default scalar or keyed aggregated-cell representation. diff --git a/docs/reference/static-functions/functions/normalizeAggregationRows.md b/docs/reference/static-functions/functions/normalizeAggregationRows.md index 90a3933284..9d0b4520fd 100644 --- a/docs/reference/static-functions/functions/normalizeAggregationRows.md +++ b/docs/reference/static-functions/functions/normalizeAggregationRows.md @@ -6,13 +6,13 @@ title: normalizeAggregationRows # Function: normalizeAggregationRows() ```ts -function normalizeAggregationRows(rows): Row[]; +function normalizeAggregationRows(rows, maxDepth): Row[]; ``` -Defined in: [features/aggregation/aggregationFeature.utils.ts:57](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L57) +Defined in: [features/aggregation/aggregationFeature.utils.ts:66](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts#L66) -Flattens hierarchical row inputs to unique terminal leaves in encounter -order. This is the normalization used by public aggregation-value calls. +Selects unique rows at a maximum relative depth in encounter order. +Branches that end before the requested depth contribute their deepest row. ## Type Parameters @@ -30,6 +30,10 @@ order. This is the normalization used by public aggregation-value calls. readonly [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] +### maxDepth + +`number` = `0` + ## Returns [`Row`](../../index/type-aliases/Row.md)\<`TFeatures`, `TData`\>[] diff --git a/docs/reference/static-functions/functions/row_getAllCells.md b/docs/reference/static-functions/functions/row_getAllCells.md index 880be52dcb..5ace4e5f69 100644 --- a/docs/reference/static-functions/functions/row_getAllCells.md +++ b/docs/reference/static-functions/functions/row_getAllCells.md @@ -9,7 +9,7 @@ title: row_getAllCells function row_getAllCells(row): Cell[]; ``` -Defined in: [core/rows/coreRowsFeature.utils.ts:225](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L225) +Defined in: [core/rows/coreRowsFeature.utils.ts:243](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L243) Constructs one cell for each leaf column in this row. diff --git a/docs/reference/static-functions/functions/row_getAllCellsByColumnId.md b/docs/reference/static-functions/functions/row_getAllCellsByColumnId.md index f9fd6b4237..fb963d2efc 100644 --- a/docs/reference/static-functions/functions/row_getAllCellsByColumnId.md +++ b/docs/reference/static-functions/functions/row_getAllCellsByColumnId.md @@ -9,7 +9,7 @@ title: row_getAllCellsByColumnId function row_getAllCellsByColumnId(row): Record>; ``` -Defined in: [core/rows/coreRowsFeature.utils.ts:261](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L261) +Defined in: [core/rows/coreRowsFeature.utils.ts:279](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L279) Builds a lookup map of this row's cells keyed by column id. diff --git a/docs/reference/static-functions/functions/row_getParentRow.md b/docs/reference/static-functions/functions/row_getParentRow.md index b5c9301fd9..c72a0c5ddf 100644 --- a/docs/reference/static-functions/functions/row_getParentRow.md +++ b/docs/reference/static-functions/functions/row_getParentRow.md @@ -11,7 +11,7 @@ function row_getParentRow(row): | undefined; ``` -Defined in: [core/rows/coreRowsFeature.utils.ts:181](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L181) +Defined in: [core/rows/coreRowsFeature.utils.ts:199](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L199) Looks up this row's direct parent, if it has one. diff --git a/docs/reference/static-functions/functions/row_getParentRows.md b/docs/reference/static-functions/functions/row_getParentRows.md index 365e585f53..02a23f54ba 100644 --- a/docs/reference/static-functions/functions/row_getParentRows.md +++ b/docs/reference/static-functions/functions/row_getParentRows.md @@ -9,7 +9,7 @@ title: row_getParentRows function row_getParentRows(row): Row[]; ``` -Defined in: [core/rows/coreRowsFeature.utils.ts:198](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L198) +Defined in: [core/rows/coreRowsFeature.utils.ts:216](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L216) Collects this row's ancestor chain from root to direct parent. diff --git a/docs/reference/static-functions/functions/table_getMaxSubRowDepth.md b/docs/reference/static-functions/functions/table_getMaxSubRowDepth.md new file mode 100644 index 0000000000..33294beb28 --- /dev/null +++ b/docs/reference/static-functions/functions/table_getMaxSubRowDepth.md @@ -0,0 +1,35 @@ +--- +id: table_getMaxSubRowDepth +title: table_getMaxSubRowDepth +--- + +# Function: table\_getMaxSubRowDepth() + +```ts +function table_getMaxSubRowDepth(table): number; +``` + +Defined in: [core/rows/coreRowsFeature.utils.ts:174](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L174) + +Returns the deepest structural row depth in the core row model. +Root rows are depth `0`, their direct sub-rows are depth `1`, and so on. + +## Type Parameters + +### TFeatures + +`TFeatures` *extends* [`TableFeatures`](../../index/interfaces/TableFeatures.md) + +### TData + +`TData` *extends* [`RowData`](../../index/type-aliases/RowData.md) + +## Parameters + +### table + +[`Table_Internal`](../../index/interfaces/Table_Internal.md)\<`TFeatures`, `TData`\> + +## Returns + +`number` diff --git a/docs/reference/static-functions/functions/table_getRow.md b/docs/reference/static-functions/functions/table_getRow.md index 9bc9b608b6..35ef0c743f 100644 --- a/docs/reference/static-functions/functions/table_getRow.md +++ b/docs/reference/static-functions/functions/table_getRow.md @@ -12,7 +12,7 @@ function table_getRow( searchAll?): Row; ``` -Defined in: [core/rows/coreRowsFeature.utils.ts:311](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L311) +Defined in: [core/rows/coreRowsFeature.utils.ts:329](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L329) Looks up a row by id from the current or full row model. diff --git a/docs/reference/static-functions/functions/table_getRowId.md b/docs/reference/static-functions/functions/table_getRowId.md index 3f67eda1dd..aba1bf2648 100644 --- a/docs/reference/static-functions/functions/table_getRowId.md +++ b/docs/reference/static-functions/functions/table_getRowId.md @@ -13,7 +13,7 @@ function table_getRowId( parent?): string; ``` -Defined in: [core/rows/coreRowsFeature.utils.ts:285](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L285) +Defined in: [core/rows/coreRowsFeature.utils.ts:303](https://github.com/TanStack/table/blob/main/packages/table-core/src/core/rows/coreRowsFeature.utils.ts#L303) Resolves the stable id for a row. diff --git a/docs/reference/static-functions/index.md b/docs/reference/static-functions/index.md index 6dc6bb20fc..834e880057 100644 --- a/docs/reference/static-functions/index.md +++ b/docs/reference/static-functions/index.md @@ -181,6 +181,7 @@ title: static-functions - [table\_getIsSomeRowsPinned](functions/table_getIsSomeRowsPinned.md) - [table\_getIsSomeRowsSelected](functions/table_getIsSomeRowsSelected.md) - [table\_getLeafHeaders](functions/table_getLeafHeaders.md) +- [table\_getMaxSubRowDepth](functions/table_getMaxSubRowDepth.md) - [table\_getOrderColumnsFn](functions/table_getOrderColumnsFn.md) - [table\_getPageCount](functions/table_getPageCount.md) - [table\_getPageOptions](functions/table_getPageOptions.md) diff --git a/examples/alpine/aggregation/package.json b/examples/alpine/aggregation/package.json index 4c436e86b6..6a4e6d6e03 100644 --- a/examples/alpine/aggregation/package.json +++ b/examples/alpine/aggregation/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/aggregation/src/main.ts b/examples/alpine/aggregation/src/main.ts index 1a334cd948..e8491233d7 100644 --- a/examples/alpine/aggregation/src/main.ts +++ b/examples/alpine/aggregation/src/main.ts @@ -74,13 +74,17 @@ const columns = columnHelper.columns([ aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), columnHelper.accessor('score', { header: 'Score', aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), ]) diff --git a/examples/alpine/basic-app-table/package.json b/examples/alpine/basic-app-table/package.json index e7f3fc1c49..0336a97c77 100644 --- a/examples/alpine/basic-app-table/package.json +++ b/examples/alpine/basic-app-table/package.json @@ -11,7 +11,7 @@ "test:e2e": "PLAYWRIGHT_TEST_DIR=$PWD/tests/e2e playwright test --config ../../../playwright.config.ts" }, "dependencies": { - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/basic-create-table/package.json b/examples/alpine/basic-create-table/package.json index 4f5fcd4443..2b04afe344 100644 --- a/examples/alpine/basic-create-table/package.json +++ b/examples/alpine/basic-create-table/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/basic-dynamic-columns/package.json b/examples/alpine/basic-dynamic-columns/package.json index 67c8e08f6b..2930ec0c41 100644 --- a/examples/alpine/basic-dynamic-columns/package.json +++ b/examples/alpine/basic-dynamic-columns/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/basic-external-atoms/package.json b/examples/alpine/basic-external-atoms/package.json index 33716323b4..7027c19644 100644 --- a/examples/alpine/basic-external-atoms/package.json +++ b/examples/alpine/basic-external-atoms/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "@tanstack/store": "^0.11.0", "alpinejs": "^3.15.12" }, diff --git a/examples/alpine/basic-external-state/package.json b/examples/alpine/basic-external-state/package.json index ea69d2c584..c11ddfe67f 100644 --- a/examples/alpine/basic-external-state/package.json +++ b/examples/alpine/basic-external-state/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-ordering/package.json b/examples/alpine/column-ordering/package.json index 161decdb9c..ac70de3d64 100644 --- a/examples/alpine/column-ordering/package.json +++ b/examples/alpine/column-ordering/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-pinning-split/package.json b/examples/alpine/column-pinning-split/package.json index d04dec6074..7a1d041ccb 100644 --- a/examples/alpine/column-pinning-split/package.json +++ b/examples/alpine/column-pinning-split/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-pinning-sticky/package.json b/examples/alpine/column-pinning-sticky/package.json index 7ffe6c4a68..423780a6f4 100644 --- a/examples/alpine/column-pinning-sticky/package.json +++ b/examples/alpine/column-pinning-sticky/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-pinning/package.json b/examples/alpine/column-pinning/package.json index e04df1f127..eff63fce65 100644 --- a/examples/alpine/column-pinning/package.json +++ b/examples/alpine/column-pinning/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-resizing-performant/package.json b/examples/alpine/column-resizing-performant/package.json index c818864869..da361a7af8 100644 --- a/examples/alpine/column-resizing-performant/package.json +++ b/examples/alpine/column-resizing-performant/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-resizing/package.json b/examples/alpine/column-resizing/package.json index 12ef476a4e..e3be698c99 100644 --- a/examples/alpine/column-resizing/package.json +++ b/examples/alpine/column-resizing/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-sizing/package.json b/examples/alpine/column-sizing/package.json index 75d04953d9..56b4d1ecce 100644 --- a/examples/alpine/column-sizing/package.json +++ b/examples/alpine/column-sizing/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/column-visibility/package.json b/examples/alpine/column-visibility/package.json index faf3612cce..00f07b5914 100644 --- a/examples/alpine/column-visibility/package.json +++ b/examples/alpine/column-visibility/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/custom-plugin/package.json b/examples/alpine/custom-plugin/package.json index d8ba0b25ce..37b6e0c5a4 100644 --- a/examples/alpine/custom-plugin/package.json +++ b/examples/alpine/custom-plugin/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/expanding/package.json b/examples/alpine/expanding/package.json index a339afa9dc..231e325f27 100644 --- a/examples/alpine/expanding/package.json +++ b/examples/alpine/expanding/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/filters-faceted/package.json b/examples/alpine/filters-faceted/package.json index f74a573383..087d72bf81 100644 --- a/examples/alpine/filters-faceted/package.json +++ b/examples/alpine/filters-faceted/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/filters/package.json b/examples/alpine/filters/package.json index 7ae9f09148..e80a265bd7 100644 --- a/examples/alpine/filters/package.json +++ b/examples/alpine/filters/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/grouped-aggregation/package.json b/examples/alpine/grouped-aggregation/package.json index ead3dfe123..c6a1706bcd 100644 --- a/examples/alpine/grouped-aggregation/package.json +++ b/examples/alpine/grouped-aggregation/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/grouping/package.json b/examples/alpine/grouping/package.json index 3153542441..5fc72ef2d6 100644 --- a/examples/alpine/grouping/package.json +++ b/examples/alpine/grouping/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/header-groups/package.json b/examples/alpine/header-groups/package.json index adcd98fa34..0bfaddb254 100644 --- a/examples/alpine/header-groups/package.json +++ b/examples/alpine/header-groups/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/pagination/package.json b/examples/alpine/pagination/package.json index 777547574b..8e6553b9a4 100644 --- a/examples/alpine/pagination/package.json +++ b/examples/alpine/pagination/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/row-pinning/package.json b/examples/alpine/row-pinning/package.json index a777785bff..1548a14b58 100644 --- a/examples/alpine/row-pinning/package.json +++ b/examples/alpine/row-pinning/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/row-selection/package.json b/examples/alpine/row-selection/package.json index 8385eca62a..221ee27240 100644 --- a/examples/alpine/row-selection/package.json +++ b/examples/alpine/row-selection/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/sorting-dynamic-data/package.json b/examples/alpine/sorting-dynamic-data/package.json index d2344bebb4..5832c2354d 100644 --- a/examples/alpine/sorting-dynamic-data/package.json +++ b/examples/alpine/sorting-dynamic-data/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/sorting/package.json b/examples/alpine/sorting/package.json index c9ee80d5fa..ef8222aa95 100644 --- a/examples/alpine/sorting/package.json +++ b/examples/alpine/sorting/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/alpine/sub-components/package.json b/examples/alpine/sub-components/package.json index 69620082e3..061fcf5ee0 100644 --- a/examples/alpine/sub-components/package.json +++ b/examples/alpine/sub-components/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/alpine-table": "^9.0.0-beta.49", + "@tanstack/alpine-table": "^9.0.0-beta.50", "alpinejs": "^3.15.12" }, "devDependencies": { diff --git a/examples/angular/aggregation/package.json b/examples/angular/aggregation/package.json index d4ed972afe..4c3b8a4297 100644 --- a/examples/angular/aggregation/package.json +++ b/examples/angular/aggregation/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/aggregation/src/app/app.ts b/examples/angular/aggregation/src/app/app.ts index 4bf2e85d4a..1637dda3bd 100644 --- a/examples/angular/aggregation/src/app/app.ts +++ b/examples/angular/aggregation/src/app/app.ts @@ -70,14 +70,18 @@ const columns: Array> = [ aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }, { accessorKey: 'score', header: 'Score', aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }, ] diff --git a/examples/angular/basic-app-table/package.json b/examples/angular/basic-app-table/package.json index 2269ae66d8..16e0ff31f3 100644 --- a/examples/angular/basic-app-table/package.json +++ b/examples/angular/basic-app-table/package.json @@ -20,8 +20,8 @@ "@angular/platform-browser": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/basic-dynamic-columns/package.json b/examples/angular/basic-dynamic-columns/package.json index 4a0814b58a..6600f6442f 100644 --- a/examples/angular/basic-dynamic-columns/package.json +++ b/examples/angular/basic-dynamic-columns/package.json @@ -21,7 +21,7 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-pacer": "^0.23.1", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/basic-external-atoms/package.json b/examples/angular/basic-external-atoms/package.json index 29b83b7ff8..b9715f78bb 100644 --- a/examples/angular/basic-external-atoms/package.json +++ b/examples/angular/basic-external-atoms/package.json @@ -21,8 +21,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", "@tanstack/angular-store": "^0.11.0", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/basic-external-state/package.json b/examples/angular/basic-external-state/package.json index 487b159b5c..8714d8464c 100644 --- a/examples/angular/basic-external-state/package.json +++ b/examples/angular/basic-external-state/package.json @@ -21,8 +21,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", "@tanstack/angular-store": "^0.11.0", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/basic-inject-table/package.json b/examples/angular/basic-inject-table/package.json index ee680f0a7d..d71e890ded 100644 --- a/examples/angular/basic-inject-table/package.json +++ b/examples/angular/basic-inject-table/package.json @@ -21,8 +21,8 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-ordering/package.json b/examples/angular/column-ordering/package.json index c1b7694984..c71bb39010 100644 --- a/examples/angular/column-ordering/package.json +++ b/examples/angular/column-ordering/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-pinning-split/package.json b/examples/angular/column-pinning-split/package.json index 1381a5e607..711ed6c52b 100644 --- a/examples/angular/column-pinning-split/package.json +++ b/examples/angular/column-pinning-split/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-pinning-sticky/package.json b/examples/angular/column-pinning-sticky/package.json index 726cfa4855..a0adbfa956 100644 --- a/examples/angular/column-pinning-sticky/package.json +++ b/examples/angular/column-pinning-sticky/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-pinning/package.json b/examples/angular/column-pinning/package.json index 4a0ef0779c..fdba299cd3 100644 --- a/examples/angular/column-pinning/package.json +++ b/examples/angular/column-pinning/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-resizing-performant/package.json b/examples/angular/column-resizing-performant/package.json index fe09fc0f77..00fbbc02ac 100644 --- a/examples/angular/column-resizing-performant/package.json +++ b/examples/angular/column-resizing-performant/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-resizing/package.json b/examples/angular/column-resizing/package.json index 3dd3c0be9f..424c6854cd 100644 --- a/examples/angular/column-resizing/package.json +++ b/examples/angular/column-resizing/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-sizing/package.json b/examples/angular/column-sizing/package.json index 2899cb163b..4574159c61 100644 --- a/examples/angular/column-sizing/package.json +++ b/examples/angular/column-sizing/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/column-visibility/package.json b/examples/angular/column-visibility/package.json index debfda9c52..8f65dea6c4 100644 --- a/examples/angular/column-visibility/package.json +++ b/examples/angular/column-visibility/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/composable-tables/package.json b/examples/angular/composable-tables/package.json index 94e6c93296..0b80736e71 100644 --- a/examples/angular/composable-tables/package.json +++ b/examples/angular/composable-tables/package.json @@ -21,8 +21,8 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/custom-plugin/package.json b/examples/angular/custom-plugin/package.json index c37423771e..d8d0c06416 100644 --- a/examples/angular/custom-plugin/package.json +++ b/examples/angular/custom-plugin/package.json @@ -19,7 +19,7 @@ "@angular/forms": "^22.0.2", "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/editable/package.json b/examples/angular/editable/package.json index 2e9c6a4363..2c070c145e 100644 --- a/examples/angular/editable/package.json +++ b/examples/angular/editable/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/expanding/package.json b/examples/angular/expanding/package.json index d771645c07..a660c9e9ab 100644 --- a/examples/angular/expanding/package.json +++ b/examples/angular/expanding/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/filters-faceted/package.json b/examples/angular/filters-faceted/package.json index 7391799c20..6349fdf5d3 100644 --- a/examples/angular/filters-faceted/package.json +++ b/examples/angular/filters-faceted/package.json @@ -21,7 +21,7 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-pacer": "^0.23.1", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/filters-fuzzy/package.json b/examples/angular/filters-fuzzy/package.json index 2544cbaff8..3877a5ffb1 100644 --- a/examples/angular/filters-fuzzy/package.json +++ b/examples/angular/filters-fuzzy/package.json @@ -21,7 +21,7 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-pacer": "^0.23.1", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "rxjs": "~7.8.2", "tslib": "^2.8.1" diff --git a/examples/angular/filters/package.json b/examples/angular/filters/package.json index e690e368cb..723112c416 100644 --- a/examples/angular/filters/package.json +++ b/examples/angular/filters/package.json @@ -21,7 +21,7 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-pacer": "^0.23.1", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/grouped-aggregation/package.json b/examples/angular/grouped-aggregation/package.json index ff60752a7c..0f6399eb74 100644 --- a/examples/angular/grouped-aggregation/package.json +++ b/examples/angular/grouped-aggregation/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/grouping/package.json b/examples/angular/grouping/package.json index 2874a46917..253ed2eb1d 100644 --- a/examples/angular/grouping/package.json +++ b/examples/angular/grouping/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/header-groups/package.json b/examples/angular/header-groups/package.json index d5d6fffa82..39e329027d 100644 --- a/examples/angular/header-groups/package.json +++ b/examples/angular/header-groups/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/kitchen-sink/package.json b/examples/angular/kitchen-sink/package.json index e825727edf..d4c126f8e9 100644 --- a/examples/angular/kitchen-sink/package.json +++ b/examples/angular/kitchen-sink/package.json @@ -21,8 +21,8 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "rxjs": "~7.8.2", "tslib": "^2.8.1" diff --git a/examples/angular/pagination/package.json b/examples/angular/pagination/package.json index acada566a9..fd4460ab8e 100644 --- a/examples/angular/pagination/package.json +++ b/examples/angular/pagination/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/remote-data/package.json b/examples/angular/remote-data/package.json index b9cb6dfc4b..dd9fed7e24 100644 --- a/examples/angular/remote-data/package.json +++ b/examples/angular/remote-data/package.json @@ -25,7 +25,7 @@ "@angular/platform-server": "^22.0.2", "@angular/router": "^22.0.2", "@angular/ssr": "^22.0.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "express": "^5.2.1", "rxjs": "~7.8.2" }, diff --git a/examples/angular/row-dnd/package.json b/examples/angular/row-dnd/package.json index 06c6230384..3744380525 100644 --- a/examples/angular/row-dnd/package.json +++ b/examples/angular/row-dnd/package.json @@ -21,7 +21,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/row-pinning/package.json b/examples/angular/row-pinning/package.json index a506dca737..0ef4105428 100644 --- a/examples/angular/row-pinning/package.json +++ b/examples/angular/row-pinning/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/row-selection-signal/package.json b/examples/angular/row-selection-signal/package.json index 3638b39221..ae5fd72eef 100644 --- a/examples/angular/row-selection-signal/package.json +++ b/examples/angular/row-selection-signal/package.json @@ -23,8 +23,8 @@ "@angular/platform-browser-dynamic": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/row-selection/package.json b/examples/angular/row-selection/package.json index 86040abd67..5231b5afe4 100644 --- a/examples/angular/row-selection/package.json +++ b/examples/angular/row-selection/package.json @@ -22,8 +22,8 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/signal-input/package.json b/examples/angular/signal-input/package.json index 37de2b921b..cd14780818 100644 --- a/examples/angular/signal-input/package.json +++ b/examples/angular/signal-input/package.json @@ -21,7 +21,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/sorting/package.json b/examples/angular/sorting/package.json index 5bcb36e1a6..f508134372 100644 --- a/examples/angular/sorting/package.json +++ b/examples/angular/sorting/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/sub-components/package.json b/examples/angular/sub-components/package.json index 95bcbde0c1..81e16f5d6e 100644 --- a/examples/angular/sub-components/package.json +++ b/examples/angular/sub-components/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/angular/virtualized-columns/package.json b/examples/angular/virtualized-columns/package.json index bd85dce530..c3bbcd22b7 100644 --- a/examples/angular/virtualized-columns/package.json +++ b/examples/angular/virtualized-columns/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "@tanstack/angular-virtual": "^5.0.7", "rxjs": "~7.8.2", "tslib": "^2.8.1" diff --git a/examples/angular/virtualized-infinite-scrolling/package.json b/examples/angular/virtualized-infinite-scrolling/package.json index 43d61ec840..0cb7868e5d 100644 --- a/examples/angular/virtualized-infinite-scrolling/package.json +++ b/examples/angular/virtualized-infinite-scrolling/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "@tanstack/angular-virtual": "^5.0.7", "rxjs": "~7.8.2", "tslib": "^2.8.1" diff --git a/examples/angular/virtualized-rows/package.json b/examples/angular/virtualized-rows/package.json index a8ada60a29..50557e15b9 100644 --- a/examples/angular/virtualized-rows/package.json +++ b/examples/angular/virtualized-rows/package.json @@ -20,7 +20,7 @@ "@angular/platform-browser": "^22.0.2", "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "@tanstack/angular-virtual": "^5.0.7", "rxjs": "~7.8.2", "tslib": "^2.8.1" diff --git a/examples/angular/with-tanstack-form/package.json b/examples/angular/with-tanstack-form/package.json index f289ad662d..aacc5fedfd 100644 --- a/examples/angular/with-tanstack-form/package.json +++ b/examples/angular/with-tanstack-form/package.json @@ -22,8 +22,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/angular-devtools": "^0.0.7", "@tanstack/angular-form": "^1.33.1", - "@tanstack/angular-table": "^9.0.0-beta.49", - "@tanstack/angular-table-devtools": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", + "@tanstack/angular-table-devtools": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1", "zod": "^4.4.3" diff --git a/examples/angular/with-tanstack-query/package.json b/examples/angular/with-tanstack-query/package.json index f32798f185..b00e2d30f0 100644 --- a/examples/angular/with-tanstack-query/package.json +++ b/examples/angular/with-tanstack-query/package.json @@ -21,7 +21,7 @@ "@angular/router": "^22.0.2", "@faker-js/faker": "^10.5.0", "@tanstack/angular-query-experimental": "^5.101.2", - "@tanstack/angular-table": "^9.0.0-beta.49", + "@tanstack/angular-table": "^9.0.0-beta.50", "rxjs": "~7.8.2", "tslib": "^2.8.1" }, diff --git a/examples/ember/aggregation/app/templates/application.gts b/examples/ember/aggregation/app/templates/application.gts index e8d4ad805e..de485240e5 100644 --- a/examples/ember/aggregation/app/templates/application.gts +++ b/examples/ember/aggregation/app/templates/application.gts @@ -85,7 +85,7 @@ const columns = columnHelper.columns([ cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => formatAggregationValue( - column.getAggregationValue(getAggregationRows(table)), + column.getAggregationValue({ rows: getAggregationRows(table) }), ), }), columnHelper.accessor('score', { @@ -93,7 +93,7 @@ const columns = columnHelper.columns([ aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => formatAggregationValue( - column.getAggregationValue(getAggregationRows(table)), + column.getAggregationValue({ rows: getAggregationRows(table) }), ), }), ]) diff --git a/examples/ember/aggregation/package.json b/examples/ember/aggregation/package.json index 0befc0e07e..88299f9088 100644 --- a/examples/ember/aggregation/package.json +++ b/examples/ember/aggregation/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/basic-app-table/package.json b/examples/ember/basic-app-table/package.json index 7221bde0ce..7074f3092c 100644 --- a/examples/ember/basic-app-table/package.json +++ b/examples/ember/basic-app-table/package.json @@ -43,7 +43,7 @@ "@glint/tsserver-plugin": "2.5.17", "@nullvoxpopuli/ember-vite": "1.0.3", "@rollup/plugin-babel": "7.1.0", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "babel-plugin-ember-template-compilation": "4.0.0", "typescript": "6.0.3", "vite": "^8.1.0" diff --git a/examples/ember/basic-external-atoms/package.json b/examples/ember/basic-external-atoms/package.json index 00878e2680..9e208284e4 100644 --- a/examples/ember/basic-external-atoms/package.json +++ b/examples/ember/basic-external-atoms/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/basic-external-state/package.json b/examples/ember/basic-external-state/package.json index cedb1a3a59..b22245b079 100644 --- a/examples/ember/basic-external-state/package.json +++ b/examples/ember/basic-external-state/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/basic-table/package.json b/examples/ember/basic-table/package.json index 2cdc3da901..a1b194d2b1 100644 --- a/examples/ember/basic-table/package.json +++ b/examples/ember/basic-table/package.json @@ -43,7 +43,7 @@ "@glint/tsserver-plugin": "2.5.17", "@nullvoxpopuli/ember-vite": "1.0.3", "@rollup/plugin-babel": "7.1.0", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "babel-plugin-ember-template-compilation": "4.0.0", "typescript": "6.0.3", "vite": "^8.1.0" diff --git a/examples/ember/column-ordering/package.json b/examples/ember/column-ordering/package.json index 160d037929..159b044812 100644 --- a/examples/ember/column-ordering/package.json +++ b/examples/ember/column-ordering/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-pinning-split/package.json b/examples/ember/column-pinning-split/package.json index 7458d8ec98..ca3212e4fd 100644 --- a/examples/ember/column-pinning-split/package.json +++ b/examples/ember/column-pinning-split/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-pinning-sticky/package.json b/examples/ember/column-pinning-sticky/package.json index a4bbd348c1..9bbbca54a3 100644 --- a/examples/ember/column-pinning-sticky/package.json +++ b/examples/ember/column-pinning-sticky/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-pinning/package.json b/examples/ember/column-pinning/package.json index f76edfc347..acb126c1e9 100644 --- a/examples/ember/column-pinning/package.json +++ b/examples/ember/column-pinning/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-resizing-performant/package.json b/examples/ember/column-resizing-performant/package.json index b5e97af10d..f2df6cfc26 100644 --- a/examples/ember/column-resizing-performant/package.json +++ b/examples/ember/column-resizing-performant/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-resizing/package.json b/examples/ember/column-resizing/package.json index 951f7f6c05..dba94c2157 100644 --- a/examples/ember/column-resizing/package.json +++ b/examples/ember/column-resizing/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-sizing/package.json b/examples/ember/column-sizing/package.json index b0be26f4e5..7442af0afc 100644 --- a/examples/ember/column-sizing/package.json +++ b/examples/ember/column-sizing/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/column-visibility/package.json b/examples/ember/column-visibility/package.json index 9cff65222c..627e282ba7 100644 --- a/examples/ember/column-visibility/package.json +++ b/examples/ember/column-visibility/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/custom-plugin/package.json b/examples/ember/custom-plugin/package.json index 6a97afe3aa..c952bc2fd7 100644 --- a/examples/ember/custom-plugin/package.json +++ b/examples/ember/custom-plugin/package.json @@ -28,8 +28,8 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", - "@tanstack/table-core": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", + "@tanstack/table-core": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/editable/package.json b/examples/ember/editable/package.json index afdf2d7b30..84bd759057 100644 --- a/examples/ember/editable/package.json +++ b/examples/ember/editable/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/expanding/package.json b/examples/ember/expanding/package.json index f241787bc5..f5da254bd6 100644 --- a/examples/ember/expanding/package.json +++ b/examples/ember/expanding/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/filters-faceted/package.json b/examples/ember/filters-faceted/package.json index afaef311af..7bb648ee64 100644 --- a/examples/ember/filters-faceted/package.json +++ b/examples/ember/filters-faceted/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/filters-fuzzy/package.json b/examples/ember/filters-fuzzy/package.json index 7d4a0096e5..b2a0cfd16a 100644 --- a/examples/ember/filters-fuzzy/package.json +++ b/examples/ember/filters-fuzzy/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", diff --git a/examples/ember/filters/package.json b/examples/ember/filters/package.json index ad84cea0a5..44f6ba89ca 100644 --- a/examples/ember/filters/package.json +++ b/examples/ember/filters/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/grouped-aggregation/package.json b/examples/ember/grouped-aggregation/package.json index 60325e0922..77308edcc9 100644 --- a/examples/ember/grouped-aggregation/package.json +++ b/examples/ember/grouped-aggregation/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/grouping/package.json b/examples/ember/grouping/package.json index 306b43247a..5d5ca2243f 100644 --- a/examples/ember/grouping/package.json +++ b/examples/ember/grouping/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/header-groups/package.json b/examples/ember/header-groups/package.json index f3b66f8342..ed0da7930d 100644 --- a/examples/ember/header-groups/package.json +++ b/examples/ember/header-groups/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/kitchen-sink/package.json b/examples/ember/kitchen-sink/package.json index 46936556e1..082e0f45a7 100644 --- a/examples/ember/kitchen-sink/package.json +++ b/examples/ember/kitchen-sink/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", diff --git a/examples/ember/pagination/package.json b/examples/ember/pagination/package.json index b54cd39c18..e85f001d8f 100644 --- a/examples/ember/pagination/package.json +++ b/examples/ember/pagination/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/remote-data/package.json b/examples/ember/remote-data/package.json index 7c83d28bc4..c70675b9fc 100644 --- a/examples/ember/remote-data/package.json +++ b/examples/ember/remote-data/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/row-dnd/package.json b/examples/ember/row-dnd/package.json index 40c320e352..4663694c77 100644 --- a/examples/ember/row-dnd/package.json +++ b/examples/ember/row-dnd/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/row-pinning/package.json b/examples/ember/row-pinning/package.json index ac242e3e77..98463b2f0d 100644 --- a/examples/ember/row-pinning/package.json +++ b/examples/ember/row-pinning/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/row-selection/package.json b/examples/ember/row-selection/package.json index b0df01572a..86f7fa4556 100644 --- a/examples/ember/row-selection/package.json +++ b/examples/ember/row-selection/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/sorting/package.json b/examples/ember/sorting/package.json index c4fe0965d1..202be30621 100644 --- a/examples/ember/sorting/package.json +++ b/examples/ember/sorting/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/ember/sub-components/package.json b/examples/ember/sub-components/package.json index 9b4eb7ba11..e97d530f57 100644 --- a/examples/ember/sub-components/package.json +++ b/examples/ember/sub-components/package.json @@ -28,7 +28,7 @@ "@embroider/router": "3.0.6", "@faker-js/faker": "^10.5.0", "@glimmer/component": "2.1.1", - "@tanstack/ember-table": "^9.0.0-beta.49", + "@tanstack/ember-table": "^9.0.0-beta.50", "decorator-transforms": "2.4.0", "ember-source": "7.0.0", "ember-strict-application-resolver": "0.1.1" diff --git a/examples/lit/aggregation/package.json b/examples/lit/aggregation/package.json index 2f01ff15d2..221974c50f 100644 --- a/examples/lit/aggregation/package.json +++ b/examples/lit/aggregation/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/aggregation/src/main.ts b/examples/lit/aggregation/src/main.ts index 2704b569bd..3dee2691da 100644 --- a/examples/lit/aggregation/src/main.ts +++ b/examples/lit/aggregation/src/main.ts @@ -82,7 +82,7 @@ const columns = columnHelper.columns([ cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => formatAggregationValue( - column.getAggregationValue(getAggregationRows(table)), + column.getAggregationValue({ rows: getAggregationRows(table) }), ), }), columnHelper.accessor('score', { @@ -90,7 +90,7 @@ const columns = columnHelper.columns([ aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => formatAggregationValue( - column.getAggregationValue(getAggregationRows(table)), + column.getAggregationValue({ rows: getAggregationRows(table) }), ), }), ]) diff --git a/examples/lit/basic-app-table/package.json b/examples/lit/basic-app-table/package.json index 845123e6c5..e30f4a86a6 100644 --- a/examples/lit/basic-app-table/package.json +++ b/examples/lit/basic-app-table/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@lit/context": "^1.1.6", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/basic-dynamic-columns/package.json b/examples/lit/basic-dynamic-columns/package.json index 44a89830e5..ebe7254e45 100644 --- a/examples/lit/basic-dynamic-columns/package.json +++ b/examples/lit/basic-dynamic-columns/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/basic-external-atoms/package.json b/examples/lit/basic-external-atoms/package.json index b5c7406a6a..082386b7f7 100644 --- a/examples/lit/basic-external-atoms/package.json +++ b/examples/lit/basic-external-atoms/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "@tanstack/store": "^0.11.0", "lit": "^3.3.3" }, diff --git a/examples/lit/basic-external-state/package.json b/examples/lit/basic-external-state/package.json index 041ddd12db..9e24e33976 100644 --- a/examples/lit/basic-external-state/package.json +++ b/examples/lit/basic-external-state/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/basic-subscribe/package.json b/examples/lit/basic-subscribe/package.json index 09e7c9d40f..8ae2995102 100644 --- a/examples/lit/basic-subscribe/package.json +++ b/examples/lit/basic-subscribe/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/lit-store": "^0.14.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/basic-table-controller/package.json b/examples/lit/basic-table-controller/package.json index 17bd239976..52754d63cd 100644 --- a/examples/lit/basic-table-controller/package.json +++ b/examples/lit/basic-table-controller/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-ordering/package.json b/examples/lit/column-ordering/package.json index 010b4f3a5d..80eb95bcd5 100644 --- a/examples/lit/column-ordering/package.json +++ b/examples/lit/column-ordering/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-pinning-split/package.json b/examples/lit/column-pinning-split/package.json index 73d67d0526..601e72afa8 100644 --- a/examples/lit/column-pinning-split/package.json +++ b/examples/lit/column-pinning-split/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-pinning-sticky/package.json b/examples/lit/column-pinning-sticky/package.json index c89d960bed..13bc12e0b4 100644 --- a/examples/lit/column-pinning-sticky/package.json +++ b/examples/lit/column-pinning-sticky/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-pinning/package.json b/examples/lit/column-pinning/package.json index c9ffcbfb4b..86baf9a99d 100644 --- a/examples/lit/column-pinning/package.json +++ b/examples/lit/column-pinning/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-resizing-performant/package.json b/examples/lit/column-resizing-performant/package.json index 39c2a04097..a5a45aca18 100644 --- a/examples/lit/column-resizing-performant/package.json +++ b/examples/lit/column-resizing-performant/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-resizing/package.json b/examples/lit/column-resizing/package.json index 3127f25ee8..3e6559bd2f 100644 --- a/examples/lit/column-resizing/package.json +++ b/examples/lit/column-resizing/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-sizing/package.json b/examples/lit/column-sizing/package.json index 9bf0227440..524a66fee0 100644 --- a/examples/lit/column-sizing/package.json +++ b/examples/lit/column-sizing/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/column-visibility/package.json b/examples/lit/column-visibility/package.json index d036f083cf..697575f4bc 100644 --- a/examples/lit/column-visibility/package.json +++ b/examples/lit/column-visibility/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/composable-tables/package.json b/examples/lit/composable-tables/package.json index 403cafb1e6..c2122d4226 100644 --- a/examples/lit/composable-tables/package.json +++ b/examples/lit/composable-tables/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@lit/context": "^1.1.6", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/expanding/package.json b/examples/lit/expanding/package.json index 8924b3f7f3..a7094e5e25 100644 --- a/examples/lit/expanding/package.json +++ b/examples/lit/expanding/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/filters-faceted/package.json b/examples/lit/filters-faceted/package.json index cc4baeb7da..3ed8ab14f7 100644 --- a/examples/lit/filters-faceted/package.json +++ b/examples/lit/filters-faceted/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/filters-fuzzy/package.json b/examples/lit/filters-fuzzy/package.json index 3dae0f757d..dc1d614419 100644 --- a/examples/lit/filters-fuzzy/package.json +++ b/examples/lit/filters-fuzzy/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "lit": "^3.3.3" }, diff --git a/examples/lit/filters/package.json b/examples/lit/filters/package.json index da60cd818d..94d5118441 100644 --- a/examples/lit/filters/package.json +++ b/examples/lit/filters/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/grouped-aggregation/package.json b/examples/lit/grouped-aggregation/package.json index 01a9e3a726..0aade89fd1 100644 --- a/examples/lit/grouped-aggregation/package.json +++ b/examples/lit/grouped-aggregation/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/grouping/package.json b/examples/lit/grouping/package.json index 147d1f467c..363b680e84 100644 --- a/examples/lit/grouping/package.json +++ b/examples/lit/grouping/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/header-groups/package.json b/examples/lit/header-groups/package.json index 3f65a1fd58..258c777ee0 100644 --- a/examples/lit/header-groups/package.json +++ b/examples/lit/header-groups/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/kitchen-sink/package.json b/examples/lit/kitchen-sink/package.json index 6aeddbbed8..0f8338a838 100644 --- a/examples/lit/kitchen-sink/package.json +++ b/examples/lit/kitchen-sink/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "lit": "^3.3.3" }, diff --git a/examples/lit/pagination/package.json b/examples/lit/pagination/package.json index 24b4faf40c..01ffcd0325 100644 --- a/examples/lit/pagination/package.json +++ b/examples/lit/pagination/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/row-pinning/package.json b/examples/lit/row-pinning/package.json index 09a6ae3c90..dcf0ce141e 100644 --- a/examples/lit/row-pinning/package.json +++ b/examples/lit/row-pinning/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/row-selection/package.json b/examples/lit/row-selection/package.json index 9ff14bf8c8..f6823fd43a 100644 --- a/examples/lit/row-selection/package.json +++ b/examples/lit/row-selection/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/sorting-dynamic-data/package.json b/examples/lit/sorting-dynamic-data/package.json index c7d096ecb4..f9c3673515 100644 --- a/examples/lit/sorting-dynamic-data/package.json +++ b/examples/lit/sorting-dynamic-data/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/sorting/package.json b/examples/lit/sorting/package.json index 9089a96bfe..6ae91d1ead 100644 --- a/examples/lit/sorting/package.json +++ b/examples/lit/sorting/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/sub-components/package.json b/examples/lit/sub-components/package.json index 8b5dbda5ed..2681d4a601 100644 --- a/examples/lit/sub-components/package.json +++ b/examples/lit/sub-components/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "lit": "^3.3.3" }, "devDependencies": { diff --git a/examples/lit/virtualized-columns/package.json b/examples/lit/virtualized-columns/package.json index a4080202a4..5a56bd1d9c 100644 --- a/examples/lit/virtualized-columns/package.json +++ b/examples/lit/virtualized-columns/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "@tanstack/lit-virtual": "^3.13.32", "lit": "^3.3.3" }, diff --git a/examples/lit/virtualized-infinite-scrolling/package.json b/examples/lit/virtualized-infinite-scrolling/package.json index b37676564c..dd249c1e6e 100644 --- a/examples/lit/virtualized-infinite-scrolling/package.json +++ b/examples/lit/virtualized-infinite-scrolling/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "@tanstack/lit-virtual": "^3.13.32", "lit": "^3.3.3" }, diff --git a/examples/lit/virtualized-rows/package.json b/examples/lit/virtualized-rows/package.json index b89b8710ef..ece5353182 100644 --- a/examples/lit/virtualized-rows/package.json +++ b/examples/lit/virtualized-rows/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/lit-table": "^9.0.0-beta.49", + "@tanstack/lit-table": "^9.0.0-beta.50", "@tanstack/lit-virtual": "^3.13.32", "lit": "^3.3.3" }, diff --git a/examples/preact/aggregation/package.json b/examples/preact/aggregation/package.json index db94523ea4..9637dbdd4e 100644 --- a/examples/preact/aggregation/package.json +++ b/examples/preact/aggregation/package.json @@ -14,7 +14,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/aggregation/src/main.tsx b/examples/preact/aggregation/src/main.tsx index 673d14fdd5..6cc952f6bb 100644 --- a/examples/preact/aggregation/src/main.tsx +++ b/examples/preact/aggregation/src/main.tsx @@ -101,7 +101,9 @@ function App() { aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), columnHelper.accessor('score', { header: 'Score', @@ -111,7 +113,9 @@ function App() { { id: 'range', aggregationFn: 'extent' }, ], footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), ]), [], diff --git a/examples/preact/basic-dynamic-columns/package.json b/examples/preact/basic-dynamic-columns/package.json index c152417d12..0ebfab06a3 100644 --- a/examples/preact/basic-dynamic-columns/package.json +++ b/examples/preact/basic-dynamic-columns/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-pacer": "^0.22.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/basic-external-atoms/package.json b/examples/preact/basic-external-atoms/package.json index 787bdb8ffd..f99b7a5c04 100644 --- a/examples/preact/basic-external-atoms/package.json +++ b/examples/preact/basic-external-atoms/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/basic-external-state/package.json b/examples/preact/basic-external-state/package.json index 656fce4ca5..e4a97869d5 100644 --- a/examples/preact/basic-external-state/package.json +++ b/examples/preact/basic-external-state/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/basic-subscribe/package.json b/examples/preact/basic-subscribe/package.json index 7190604863..78d0346597 100644 --- a/examples/preact/basic-subscribe/package.json +++ b/examples/preact/basic-subscribe/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/basic-use-app-table/package.json b/examples/preact/basic-use-app-table/package.json index 86fc5d60d4..cb8f0a6b6c 100644 --- a/examples/preact/basic-use-app-table/package.json +++ b/examples/preact/basic-use-app-table/package.json @@ -13,8 +13,8 @@ }, "dependencies": { "@tanstack/preact-devtools": "^0.10.8", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/basic-use-table/package.json b/examples/preact/basic-use-table/package.json index d00e7d6be3..4cfe00a0f8 100644 --- a/examples/preact/basic-use-table/package.json +++ b/examples/preact/basic-use-table/package.json @@ -13,8 +13,8 @@ }, "dependencies": { "@tanstack/preact-devtools": "^0.10.8", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-ordering/package.json b/examples/preact/column-ordering/package.json index c48869297d..8093cdaf86 100644 --- a/examples/preact/column-ordering/package.json +++ b/examples/preact/column-ordering/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-pinning-split/package.json b/examples/preact/column-pinning-split/package.json index 79919ac4f7..38c799fded 100644 --- a/examples/preact/column-pinning-split/package.json +++ b/examples/preact/column-pinning-split/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-pinning-sticky/package.json b/examples/preact/column-pinning-sticky/package.json index c08241f5ef..f0822c2919 100644 --- a/examples/preact/column-pinning-sticky/package.json +++ b/examples/preact/column-pinning-sticky/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-pinning/package.json b/examples/preact/column-pinning/package.json index b083ee6f06..0b8734e917 100644 --- a/examples/preact/column-pinning/package.json +++ b/examples/preact/column-pinning/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-resizing-performant/package.json b/examples/preact/column-resizing-performant/package.json index f88d0c65d3..7e1f6f7d93 100644 --- a/examples/preact/column-resizing-performant/package.json +++ b/examples/preact/column-resizing-performant/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-resizing/package.json b/examples/preact/column-resizing/package.json index dbae6dd86f..60fda4ff95 100644 --- a/examples/preact/column-resizing/package.json +++ b/examples/preact/column-resizing/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-sizing/package.json b/examples/preact/column-sizing/package.json index fa29e17086..54337bbe9f 100644 --- a/examples/preact/column-sizing/package.json +++ b/examples/preact/column-sizing/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/column-visibility/package.json b/examples/preact/column-visibility/package.json index 91af54603c..7b4ea4eb0d 100644 --- a/examples/preact/column-visibility/package.json +++ b/examples/preact/column-visibility/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/composable-tables/package.json b/examples/preact/composable-tables/package.json index 4b16d8060f..1cef9d98ae 100644 --- a/examples/preact/composable-tables/package.json +++ b/examples/preact/composable-tables/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/custom-plugin/package.json b/examples/preact/custom-plugin/package.json index 10b985f4bf..18617a8507 100644 --- a/examples/preact/custom-plugin/package.json +++ b/examples/preact/custom-plugin/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/expanding/package.json b/examples/preact/expanding/package.json index f389e194db..1a26947d3b 100644 --- a/examples/preact/expanding/package.json +++ b/examples/preact/expanding/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/filters-faceted/package.json b/examples/preact/filters-faceted/package.json index 927f3db699..21c7a891a5 100644 --- a/examples/preact/filters-faceted/package.json +++ b/examples/preact/filters-faceted/package.json @@ -15,7 +15,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/preact-pacer": "^0.22.1", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/filters-fuzzy/package.json b/examples/preact/filters-fuzzy/package.json index 7607188425..c6678df5aa 100644 --- a/examples/preact/filters-fuzzy/package.json +++ b/examples/preact/filters-fuzzy/package.json @@ -15,7 +15,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/preact-pacer": "^0.22.1", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/filters/package.json b/examples/preact/filters/package.json index 72dd94c31b..f298666c48 100644 --- a/examples/preact/filters/package.json +++ b/examples/preact/filters/package.json @@ -15,7 +15,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/preact-pacer": "^0.22.1", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/grouped-aggregation/package.json b/examples/preact/grouped-aggregation/package.json index ca4d5a9b41..5116ac0006 100644 --- a/examples/preact/grouped-aggregation/package.json +++ b/examples/preact/grouped-aggregation/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/grouping/package.json b/examples/preact/grouping/package.json index dd3edfc23c..c97e255fdc 100644 --- a/examples/preact/grouping/package.json +++ b/examples/preact/grouping/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/header-groups/package.json b/examples/preact/header-groups/package.json index 0a5d06fb2d..b0d2a85d90 100644 --- a/examples/preact/header-groups/package.json +++ b/examples/preact/header-groups/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/kitchen-sink/package.json b/examples/preact/kitchen-sink/package.json index cb75a8d61d..883c394a21 100644 --- a/examples/preact/kitchen-sink/package.json +++ b/examples/preact/kitchen-sink/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/preact-devtools": "^0.10.8", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/pagination/package.json b/examples/preact/pagination/package.json index 7935b25cb2..20c8c193a5 100644 --- a/examples/preact/pagination/package.json +++ b/examples/preact/pagination/package.json @@ -14,7 +14,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/row-pinning/package.json b/examples/preact/row-pinning/package.json index ea55e6ba93..393b5c6547 100644 --- a/examples/preact/row-pinning/package.json +++ b/examples/preact/row-pinning/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/row-selection/package.json b/examples/preact/row-selection/package.json index 441555daa8..6616fda0bf 100644 --- a/examples/preact/row-selection/package.json +++ b/examples/preact/row-selection/package.json @@ -15,8 +15,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/sorting/package.json b/examples/preact/sorting/package.json index 479ae919f5..46ef2c3f79 100644 --- a/examples/preact/sorting/package.json +++ b/examples/preact/sorting/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/sub-components/package.json b/examples/preact/sub-components/package.json index ee3e3871f6..668ea753da 100644 --- a/examples/preact/sub-components/package.json +++ b/examples/preact/sub-components/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/preact/with-tanstack-form/package.json b/examples/preact/with-tanstack-form/package.json index a09ec4b176..43d2e32297 100644 --- a/examples/preact/with-tanstack-form/package.json +++ b/examples/preact/with-tanstack-form/package.json @@ -16,8 +16,8 @@ "@tanstack/preact-devtools": "^0.10.8", "@tanstack/preact-form": "^1.30.1", "@tanstack/preact-pacer": "^0.22.1", - "@tanstack/preact-table": "^9.0.0-beta.49", - "@tanstack/preact-table-devtools": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", + "@tanstack/preact-table-devtools": "^9.0.0-beta.50", "@tanstack/react-form-devtools": "^0.2.30", "preact": "^10.29.2", "zod": "^4.4.3" diff --git a/examples/preact/with-tanstack-query/package.json b/examples/preact/with-tanstack-query/package.json index 565a6ccb70..d20ccbf6dd 100644 --- a/examples/preact/with-tanstack-query/package.json +++ b/examples/preact/with-tanstack-query/package.json @@ -15,7 +15,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/preact-query": "^5.101.2", "@tanstack/preact-store": "^0.13.1", - "@tanstack/preact-table": "^9.0.0-beta.49", + "@tanstack/preact-table": "^9.0.0-beta.50", "preact": "^10.29.2" }, "devDependencies": { diff --git a/examples/react/aggregation/package.json b/examples/react/aggregation/package.json index 46884bf394..c488fd1b22 100644 --- a/examples/react/aggregation/package.json +++ b/examples/react/aggregation/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/aggregation/src/main.tsx b/examples/react/aggregation/src/main.tsx index 20966700d9..ef7409a624 100644 --- a/examples/react/aggregation/src/main.tsx +++ b/examples/react/aggregation/src/main.tsx @@ -108,8 +108,12 @@ function App() { aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => - // formatValue(column.getAggregationValue()), // default - accounts for filtering - formatValue(column.getAggregationValue(getAggregationRows(table))), // or pass in whatever array of rows you want to aggregate + formatValue( + column.getAggregationValue({ + // Omit `rows` to use the filtered, pre-grouped rows by default. + rows: getAggregationRows(table), + }), + ), }), columnHelper.accessor('score', { header: 'Score', @@ -119,8 +123,12 @@ function App() { { id: 'range', aggregationFn: 'extent' }, ], footer: ({ column, table }) => - // formatValue(column.getAggregationValue()), // default - accounts for filtering - formatValue(column.getAggregationValue(getAggregationRows(table))), // or pass in whatever array of rows you want to aggregate + formatValue( + column.getAggregationValue({ + // Any row model or custom subset can define the total's roots. + rows: getAggregationRows(table), + }), + ), }), ]), [], diff --git a/examples/react/basic-dynamic-columns/package.json b/examples/react/basic-dynamic-columns/package.json index 7c2820a697..33b43473f6 100644 --- a/examples/react/basic-dynamic-columns/package.json +++ b/examples/react/basic-dynamic-columns/package.json @@ -14,8 +14,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/basic-external-atoms/package.json b/examples/react/basic-external-atoms/package.json index 31907de223..d1cad2c775 100644 --- a/examples/react/basic-external-atoms/package.json +++ b/examples/react/basic-external-atoms/package.json @@ -14,8 +14,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/basic-external-state/package.json b/examples/react/basic-external-state/package.json index fa5d52f661..c4c8b80444 100644 --- a/examples/react/basic-external-state/package.json +++ b/examples/react/basic-external-state/package.json @@ -14,8 +14,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/basic-subscribe/package.json b/examples/react/basic-subscribe/package.json index 37775afa14..128ec62828 100644 --- a/examples/react/basic-subscribe/package.json +++ b/examples/react/basic-subscribe/package.json @@ -15,8 +15,8 @@ "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/basic-use-app-table/package.json b/examples/react/basic-use-app-table/package.json index 52bb785c64..b96a83e629 100644 --- a/examples/react/basic-use-app-table/package.json +++ b/examples/react/basic-use-app-table/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@tanstack/react-devtools": "^0.10.8", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/basic-use-legacy-table/package.json b/examples/react/basic-use-legacy-table/package.json index c2c2572aef..f9dc631e4c 100644 --- a/examples/react/basic-use-legacy-table/package.json +++ b/examples/react/basic-use-legacy-table/package.json @@ -14,8 +14,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/basic-use-table/package.json b/examples/react/basic-use-table/package.json index 21c8ca6c94..c455a6d6c6 100644 --- a/examples/react/basic-use-table/package.json +++ b/examples/react/basic-use-table/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@tanstack/react-devtools": "^0.10.8", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-dnd/package.json b/examples/react/column-dnd/package.json index 570debf657..f142c58aae 100644 --- a/examples/react/column-dnd/package.json +++ b/examples/react/column-dnd/package.json @@ -16,7 +16,7 @@ "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-ordering/package.json b/examples/react/column-ordering/package.json index a4fc9e2003..f40ce7ce78 100644 --- a/examples/react/column-ordering/package.json +++ b/examples/react/column-ordering/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-pinning-split/package.json b/examples/react/column-pinning-split/package.json index 460d5ce27c..c859d714c5 100644 --- a/examples/react/column-pinning-split/package.json +++ b/examples/react/column-pinning-split/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-pinning-sticky/package.json b/examples/react/column-pinning-sticky/package.json index da64f82bc8..26aaa26403 100644 --- a/examples/react/column-pinning-sticky/package.json +++ b/examples/react/column-pinning-sticky/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-pinning/package.json b/examples/react/column-pinning/package.json index 98d7101947..03fdc768c4 100644 --- a/examples/react/column-pinning/package.json +++ b/examples/react/column-pinning/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-resizing-performant/package.json b/examples/react/column-resizing-performant/package.json index e47b8db636..e16cf5a0e0 100644 --- a/examples/react/column-resizing-performant/package.json +++ b/examples/react/column-resizing-performant/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-resizing/package.json b/examples/react/column-resizing/package.json index 106e325928..90b0596a30 100644 --- a/examples/react/column-resizing/package.json +++ b/examples/react/column-resizing/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-sizing/package.json b/examples/react/column-sizing/package.json index 913ab8d100..45dd727803 100644 --- a/examples/react/column-sizing/package.json +++ b/examples/react/column-sizing/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/column-visibility/package.json b/examples/react/column-visibility/package.json index d3311ec9c2..7a439bef45 100644 --- a/examples/react/column-visibility/package.json +++ b/examples/react/column-visibility/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/composable-tables/package.json b/examples/react/composable-tables/package.json index c30b4bb649..9a950180cd 100644 --- a/examples/react/composable-tables/package.json +++ b/examples/react/composable-tables/package.json @@ -14,8 +14,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/custom-plugin/package.json b/examples/react/custom-plugin/package.json index f33e0abb4a..060f92a0ca 100644 --- a/examples/react/custom-plugin/package.json +++ b/examples/react/custom-plugin/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/expanding/package.json b/examples/react/expanding/package.json index 2a67941006..d0ccca58bf 100644 --- a/examples/react/expanding/package.json +++ b/examples/react/expanding/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/filters-faceted/package.json b/examples/react/filters-faceted/package.json index c9f2baba6a..afd92aa810 100644 --- a/examples/react/filters-faceted/package.json +++ b/examples/react/filters-faceted/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/filters-fuzzy/package.json b/examples/react/filters-fuzzy/package.json index 7711463ad7..377be2f054 100644 --- a/examples/react/filters-fuzzy/package.json +++ b/examples/react/filters-fuzzy/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/filters/package.json b/examples/react/filters/package.json index 92140c54ba..42d7d6a794 100644 --- a/examples/react/filters/package.json +++ b/examples/react/filters/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/grouped-aggregation/package.json b/examples/react/grouped-aggregation/package.json index c5b93304e3..ad2cedee52 100644 --- a/examples/react/grouped-aggregation/package.json +++ b/examples/react/grouped-aggregation/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/grouping/package.json b/examples/react/grouping/package.json index 20caae42d7..2d9d2a6899 100644 --- a/examples/react/grouping/package.json +++ b/examples/react/grouping/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/header-groups/package.json b/examples/react/header-groups/package.json index 1bbc3ed0d2..990ec6d227 100644 --- a/examples/react/header-groups/package.json +++ b/examples/react/header-groups/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/kitchen-sink-chakra-ui/package.json b/examples/react/kitchen-sink-chakra-ui/package.json index 93f115e9d9..dd3ac3b332 100644 --- a/examples/react/kitchen-sink-chakra-ui/package.json +++ b/examples/react/kitchen-sink-chakra-ui/package.json @@ -22,8 +22,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "date-fns": "^4.4.0", "next-themes": "^0.4.6", "react": "^19.2.7", diff --git a/examples/react/kitchen-sink-hero-ui/package.json b/examples/react/kitchen-sink-hero-ui/package.json index 50c5454193..cd77fd87e8 100644 --- a/examples/react/kitchen-sink-hero-ui/package.json +++ b/examples/react/kitchen-sink-hero-ui/package.json @@ -23,8 +23,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "date-fns": "^4.4.0", "react": "^19.2.7", "react-dom": "^19.2.7", diff --git a/examples/react/kitchen-sink-mantine/package.json b/examples/react/kitchen-sink-mantine/package.json index 90e8558529..a43af1d5c7 100644 --- a/examples/react/kitchen-sink-mantine/package.json +++ b/examples/react/kitchen-sink-mantine/package.json @@ -22,8 +22,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "date-fns": "^4.4.0", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/kitchen-sink-material-ui/package.json b/examples/react/kitchen-sink-material-ui/package.json index 89d0dafe5f..03b2579953 100644 --- a/examples/react/kitchen-sink-material-ui/package.json +++ b/examples/react/kitchen-sink-material-ui/package.json @@ -23,8 +23,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "date-fns": "^4.4.0", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/kitchen-sink-react-aria/package.json b/examples/react/kitchen-sink-react-aria/package.json index a0b466204a..229247b745 100644 --- a/examples/react/kitchen-sink-react-aria/package.json +++ b/examples/react/kitchen-sink-react-aria/package.json @@ -21,8 +21,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "date-fns": "^4.4.0", "react": "^19.2.7", "react-aria-components": "^1.19.0", diff --git a/examples/react/kitchen-sink-shadcn-base/package.json b/examples/react/kitchen-sink-shadcn-base/package.json index c6ddf398fc..0e4a1c1848 100644 --- a/examples/react/kitchen-sink-shadcn-base/package.json +++ b/examples/react/kitchen-sink-shadcn-base/package.json @@ -23,8 +23,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "1.1.1", diff --git a/examples/react/kitchen-sink-shadcn-radix/package.json b/examples/react/kitchen-sink-shadcn-radix/package.json index 1391ba565e..9e3930cabb 100644 --- a/examples/react/kitchen-sink-shadcn-radix/package.json +++ b/examples/react/kitchen-sink-shadcn-radix/package.json @@ -22,8 +22,8 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "1.1.1", diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index de98f25153..caae46d593 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -23,8 +23,8 @@ "@tanstack/react-router": "^1.170.17", "@tanstack/react-start": "^1.168.27", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/lib-chakra-ui/package.json b/examples/react/lib-chakra-ui/package.json index 2b9fd0c9d6..696d810e9a 100644 --- a/examples/react/lib-chakra-ui/package.json +++ b/examples/react/lib-chakra-ui/package.json @@ -16,7 +16,7 @@ "@emotion/react": "^11.14.0", "@faker-js/faker": "^10.5.0", "@tabler/icons-react": "^3.44.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/lib-hero-ui/package.json b/examples/react/lib-hero-ui/package.json index c1563b83a0..84fc07c240 100644 --- a/examples/react/lib-hero-ui/package.json +++ b/examples/react/lib-hero-ui/package.json @@ -16,7 +16,7 @@ "@heroui/react": "^3.2.1", "@heroui/styles": "^3.2.1", "@tailwindcss/vite": "^4.3.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7", "tailwindcss": "^4.3.1" diff --git a/examples/react/lib-mantine/package.json b/examples/react/lib-mantine/package.json index a20626522c..1bb961f0ea 100644 --- a/examples/react/lib-mantine/package.json +++ b/examples/react/lib-mantine/package.json @@ -16,7 +16,7 @@ "@mantine/core": "^9.4.0", "@mantine/hooks": "^9.4.0", "@tabler/icons-react": "^3.44.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/lib-material-ui/package.json b/examples/react/lib-material-ui/package.json index 973232bd5c..d1da0cbd29 100644 --- a/examples/react/lib-material-ui/package.json +++ b/examples/react/lib-material-ui/package.json @@ -17,7 +17,7 @@ "@faker-js/faker": "^10.5.0", "@mui/icons-material": "^9.1.1", "@mui/material": "^9.1.2", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/lib-react-aria/package.json b/examples/react/lib-react-aria/package.json index 05bdb07697..18d704e7c6 100644 --- a/examples/react/lib-react-aria/package.json +++ b/examples/react/lib-react-aria/package.json @@ -14,7 +14,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tailwindcss/vite": "^4.3.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-aria-components": "^1.19.0", "react-dom": "^19.2.7", diff --git a/examples/react/lib-shadcn-base/package.json b/examples/react/lib-shadcn-base/package.json index 85aaff9bb3..28481094e5 100644 --- a/examples/react/lib-shadcn-base/package.json +++ b/examples/react/lib-shadcn-base/package.json @@ -16,7 +16,7 @@ "@faker-js/faker": "^10.5.0", "@tailwindcss/vite": "^4.3.1", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^1.21.0", diff --git a/examples/react/lib-shadcn-radix/package.json b/examples/react/lib-shadcn-radix/package.json index 93b93e22e4..64358343a9 100644 --- a/examples/react/lib-shadcn-radix/package.json +++ b/examples/react/lib-shadcn-radix/package.json @@ -15,7 +15,7 @@ "@faker-js/faker": "^10.5.0", "@tailwindcss/vite": "^4.3.1", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^1.21.0", diff --git a/examples/react/mantine-react-table/package.json b/examples/react/mantine-react-table/package.json index cf58117647..b38e3b2c11 100644 --- a/examples/react/mantine-react-table/package.json +++ b/examples/react/mantine-react-table/package.json @@ -18,7 +18,7 @@ "@tabler/icons-react": "^3.44.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "clsx": "^2.1.1", "dayjs": "^1.11.21", diff --git a/examples/react/material-react-table/package.json b/examples/react/material-react-table/package.json index 2d58bdb51a..71e097aca6 100644 --- a/examples/react/material-react-table/package.json +++ b/examples/react/material-react-table/package.json @@ -21,7 +21,7 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/react-pacer": "^0.22.1", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "highlight-words": "^2.0.0", "react": "^19.2.7", diff --git a/examples/react/pagination/package.json b/examples/react/pagination/package.json index 1f4393e953..6c42ca6027 100644 --- a/examples/react/pagination/package.json +++ b/examples/react/pagination/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/row-dnd/package.json b/examples/react/row-dnd/package.json index 619a91b05c..2121370416 100644 --- a/examples/react/row-dnd/package.json +++ b/examples/react/row-dnd/package.json @@ -16,7 +16,7 @@ "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/row-pinning/package.json b/examples/react/row-pinning/package.json index d748bafc41..d5a68a7acc 100644 --- a/examples/react/row-pinning/package.json +++ b/examples/react/row-pinning/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/row-selection/package.json b/examples/react/row-selection/package.json index f5fdc39450..a128ee8eb5 100644 --- a/examples/react/row-selection/package.json +++ b/examples/react/row-selection/package.json @@ -15,8 +15,8 @@ "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-pacer": "^0.22.1", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/sorting/package.json b/examples/react/sorting/package.json index a2d25e3080..4dd1153491 100644 --- a/examples/react/sorting/package.json +++ b/examples/react/sorting/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/sub-components/package.json b/examples/react/sub-components/package.json index 6de1ed2d16..d6fe75d904 100644 --- a/examples/react/sub-components/package.json +++ b/examples/react/sub-components/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/virtualized-columns-experimental/package.json b/examples/react/virtualized-columns-experimental/package.json index 579aa3d085..daa2bbfe31 100644 --- a/examples/react/virtualized-columns-experimental/package.json +++ b/examples/react/virtualized-columns-experimental/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/virtualized-columns/package.json b/examples/react/virtualized-columns/package.json index 4a495f5ee4..7308d7a652 100644 --- a/examples/react/virtualized-columns/package.json +++ b/examples/react/virtualized-columns/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/virtualized-infinite-scrolling/package.json b/examples/react/virtualized-infinite-scrolling/package.json index 7d238b3cfe..86eb37c0c6 100644 --- a/examples/react/virtualized-infinite-scrolling/package.json +++ b/examples/react/virtualized-infinite-scrolling/package.json @@ -13,7 +13,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/react-query": "^5.101.2", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/virtualized-rows-experimental/package.json b/examples/react/virtualized-rows-experimental/package.json index 7b3f78bb45..4ed0ea2032 100644 --- a/examples/react/virtualized-rows-experimental/package.json +++ b/examples/react/virtualized-rows-experimental/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/virtualized-rows/package.json b/examples/react/virtualized-rows/package.json index 8345ed84c4..d6d6cf5308 100644 --- a/examples/react/virtualized-rows/package.json +++ b/examples/react/virtualized-rows/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "@tanstack/react-virtual": "^3.14.5", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/web-worker-row-models/package.json b/examples/react/web-worker-row-models/package.json index 6ce3c4bdb2..23222a95ca 100644 --- a/examples/react/web-worker-row-models/package.json +++ b/examples/react/web-worker-row-models/package.json @@ -17,8 +17,8 @@ "@tanstack/react-router": "^1.170.17", "@tanstack/react-start": "^1.168.27", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/with-tanstack-form/package.json b/examples/react/with-tanstack-form/package.json index 291231ca4e..24f6f6b1cd 100644 --- a/examples/react/with-tanstack-form/package.json +++ b/examples/react/with-tanstack-form/package.json @@ -16,8 +16,8 @@ "@tanstack/react-form": "^1.33.1", "@tanstack/react-form-devtools": "^0.2.30", "@tanstack/react-pacer": "^0.22.1", - "@tanstack/react-table": "^9.0.0-beta.49", - "@tanstack/react-table-devtools": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", + "@tanstack/react-table-devtools": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7", "zod": "^4.4.3" diff --git a/examples/react/with-tanstack-query/package.json b/examples/react/with-tanstack-query/package.json index e0d47cc172..3f0737aa4d 100644 --- a/examples/react/with-tanstack-query/package.json +++ b/examples/react/with-tanstack-query/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@tanstack/react-query": "^5.101.2", "@tanstack/react-store": "^0.11.0", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/with-tanstack-router/package.json b/examples/react/with-tanstack-router/package.json index 8d95c8b7b4..69e998e0df 100644 --- a/examples/react/with-tanstack-router/package.json +++ b/examples/react/with-tanstack-router/package.json @@ -14,7 +14,7 @@ "@tanstack/react-pacer": "^0.22.1", "@tanstack/react-query": "^5.101.2", "@tanstack/react-router": "^1.170.17", - "@tanstack/react-table": "^9.0.0-beta.49", + "@tanstack/react-table": "^9.0.0-beta.50", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/solid/aggregation/package.json b/examples/solid/aggregation/package.json index 23473a4b00..6a5a278907 100644 --- a/examples/solid/aggregation/package.json +++ b/examples/solid/aggregation/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/aggregation/src/App.tsx b/examples/solid/aggregation/src/App.tsx index 8902d01187..88a23979e6 100644 --- a/examples/solid/aggregation/src/App.tsx +++ b/examples/solid/aggregation/src/App.tsx @@ -95,7 +95,9 @@ function App() { cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => formatValue( - column.getAggregationValue(getAggregationRows(table, rowSource())), + column.getAggregationValue({ + rows: getAggregationRows(table, rowSource()), + }), ), }), columnHelper.accessor('score', { @@ -107,7 +109,9 @@ function App() { ], footer: ({ column, table }) => formatValue( - column.getAggregationValue(getAggregationRows(table, rowSource())), + column.getAggregationValue({ + rows: getAggregationRows(table, rowSource()), + }), ), }), ]) @@ -232,9 +236,9 @@ function App() { ) : header.column.id === 'amount' || header.column.id === 'score' ? ( formatValue( - header.column.getAggregationValue( - getAggregationRows(table, rowSource()), - ), + header.column.getAggregationValue({ + rows: getAggregationRows(table, rowSource()), + }), ) ) : ( diff --git a/examples/solid/basic-app-table/package.json b/examples/solid/basic-app-table/package.json index 728f421a3f..f32c5fd3b5 100644 --- a/examples/solid/basic-app-table/package.json +++ b/examples/solid/basic-app-table/package.json @@ -19,8 +19,8 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/solid-devtools": "^0.8.8", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/basic-dynamic-columns/package.json b/examples/solid/basic-dynamic-columns/package.json index 2a0271f2d3..f6b4140380 100644 --- a/examples/solid/basic-dynamic-columns/package.json +++ b/examples/solid/basic-dynamic-columns/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@tanstack/solid-pacer": "^0.21.1", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/basic-external-atoms/package.json b/examples/solid/basic-external-atoms/package.json index 1bc23adb7c..e4338ed647 100644 --- a/examples/solid/basic-external-atoms/package.json +++ b/examples/solid/basic-external-atoms/package.json @@ -20,8 +20,8 @@ "dependencies": { "@tanstack/solid-devtools": "^0.8.8", "@tanstack/solid-store": "^0.11.0", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/basic-external-state/package.json b/examples/solid/basic-external-state/package.json index 67a91b07e1..0536511d45 100644 --- a/examples/solid/basic-external-state/package.json +++ b/examples/solid/basic-external-state/package.json @@ -19,8 +19,8 @@ }, "dependencies": { "@tanstack/solid-devtools": "^0.8.8", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/basic-use-table/package.json b/examples/solid/basic-use-table/package.json index ddd2038365..7ea044248f 100644 --- a/examples/solid/basic-use-table/package.json +++ b/examples/solid/basic-use-table/package.json @@ -18,8 +18,8 @@ }, "dependencies": { "@tanstack/solid-devtools": "^0.8.8", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-ordering/package.json b/examples/solid/column-ordering/package.json index e8daf11e46..d8f242a6e5 100644 --- a/examples/solid/column-ordering/package.json +++ b/examples/solid/column-ordering/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-pinning-split/package.json b/examples/solid/column-pinning-split/package.json index a68f29c5e6..90ede07ee4 100644 --- a/examples/solid/column-pinning-split/package.json +++ b/examples/solid/column-pinning-split/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-pinning-sticky/package.json b/examples/solid/column-pinning-sticky/package.json index be6c926ff6..3594d9410d 100644 --- a/examples/solid/column-pinning-sticky/package.json +++ b/examples/solid/column-pinning-sticky/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-pinning/package.json b/examples/solid/column-pinning/package.json index 1b7a2ccd5d..1479badd4f 100644 --- a/examples/solid/column-pinning/package.json +++ b/examples/solid/column-pinning/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-resizing-performant/package.json b/examples/solid/column-resizing-performant/package.json index 74889aa153..1a5719980f 100644 --- a/examples/solid/column-resizing-performant/package.json +++ b/examples/solid/column-resizing-performant/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-resizing/package.json b/examples/solid/column-resizing/package.json index 3342198388..dce92636b3 100644 --- a/examples/solid/column-resizing/package.json +++ b/examples/solid/column-resizing/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-sizing/package.json b/examples/solid/column-sizing/package.json index d2eca17c6b..da0d2e3cfd 100644 --- a/examples/solid/column-sizing/package.json +++ b/examples/solid/column-sizing/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/column-visibility/package.json b/examples/solid/column-visibility/package.json index 9d0a141fd4..87b2936212 100644 --- a/examples/solid/column-visibility/package.json +++ b/examples/solid/column-visibility/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/composable-tables/package.json b/examples/solid/composable-tables/package.json index 80153ad94d..c47feb5fc8 100644 --- a/examples/solid/composable-tables/package.json +++ b/examples/solid/composable-tables/package.json @@ -18,8 +18,8 @@ }, "dependencies": { "@tanstack/solid-devtools": "^0.8.8", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/expanding/package.json b/examples/solid/expanding/package.json index d67c60e1f6..365f1c3886 100644 --- a/examples/solid/expanding/package.json +++ b/examples/solid/expanding/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/filters-faceted/package.json b/examples/solid/filters-faceted/package.json index 18615a62fa..c0b89a58e7 100644 --- a/examples/solid/filters-faceted/package.json +++ b/examples/solid/filters-faceted/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@tanstack/solid-pacer": "^0.21.1", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/filters-fuzzy/package.json b/examples/solid/filters-fuzzy/package.json index 72db5c32db..68555bf072 100644 --- a/examples/solid/filters-fuzzy/package.json +++ b/examples/solid/filters-fuzzy/package.json @@ -20,7 +20,7 @@ "dependencies": { "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/solid-pacer": "^0.21.1", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/filters/package.json b/examples/solid/filters/package.json index 1da705cb5f..b2f26d67d5 100644 --- a/examples/solid/filters/package.json +++ b/examples/solid/filters/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@tanstack/solid-pacer": "^0.21.1", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/grouped-aggregation/package.json b/examples/solid/grouped-aggregation/package.json index 7a181c4584..cf819a2211 100644 --- a/examples/solid/grouped-aggregation/package.json +++ b/examples/solid/grouped-aggregation/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/grouping/package.json b/examples/solid/grouping/package.json index b0d31d128c..a3aa67c20f 100644 --- a/examples/solid/grouping/package.json +++ b/examples/solid/grouping/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/header-groups/package.json b/examples/solid/header-groups/package.json index 9d98d95f1e..8ce12fd954 100644 --- a/examples/solid/header-groups/package.json +++ b/examples/solid/header-groups/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/kitchen-sink/package.json b/examples/solid/kitchen-sink/package.json index c4371cda85..a5a2ad8b29 100644 --- a/examples/solid/kitchen-sink/package.json +++ b/examples/solid/kitchen-sink/package.json @@ -20,8 +20,8 @@ "dependencies": { "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/solid-devtools": "^0.8.8", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/pagination/package.json b/examples/solid/pagination/package.json index dc08b93fc6..1de8d06631 100644 --- a/examples/solid/pagination/package.json +++ b/examples/solid/pagination/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/row-pinning/package.json b/examples/solid/row-pinning/package.json index 7fe5f092c8..49c8f4d33b 100644 --- a/examples/solid/row-pinning/package.json +++ b/examples/solid/row-pinning/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/row-selection/package.json b/examples/solid/row-selection/package.json index 4c401bc356..33b7bf2d1c 100644 --- a/examples/solid/row-selection/package.json +++ b/examples/solid/row-selection/package.json @@ -19,8 +19,8 @@ }, "dependencies": { "@tanstack/solid-devtools": "^0.8.8", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/sorting/package.json b/examples/solid/sorting/package.json index fa0522b99f..c0557af121 100644 --- a/examples/solid/sorting/package.json +++ b/examples/solid/sorting/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/sub-components/package.json b/examples/solid/sub-components/package.json index a68f613512..7bbbf8af3a 100644 --- a/examples/solid/sub-components/package.json +++ b/examples/solid/sub-components/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/virtualized-columns/package.json b/examples/solid/virtualized-columns/package.json index 0bd36ee788..bfaf1d093f 100644 --- a/examples/solid/virtualized-columns/package.json +++ b/examples/solid/virtualized-columns/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "@tanstack/solid-virtual": "^3.13.32", "solid-js": "^1.9.13" } diff --git a/examples/solid/virtualized-infinite-scrolling/package.json b/examples/solid/virtualized-infinite-scrolling/package.json index dbe9797727..35e5a8f7e3 100644 --- a/examples/solid/virtualized-infinite-scrolling/package.json +++ b/examples/solid/virtualized-infinite-scrolling/package.json @@ -20,7 +20,7 @@ "dependencies": { "@tanstack/solid-query": "^5.101.2", "@tanstack/solid-store": "^0.11.0", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "@tanstack/solid-virtual": "^3.13.32", "solid-js": "^1.9.13" } diff --git a/examples/solid/virtualized-rows/package.json b/examples/solid/virtualized-rows/package.json index e5f5d9d8a4..928036fc6f 100644 --- a/examples/solid/virtualized-rows/package.json +++ b/examples/solid/virtualized-rows/package.json @@ -18,7 +18,7 @@ "vite-plugin-solid": "^2.11.12" }, "dependencies": { - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "@tanstack/solid-virtual": "^3.13.32", "solid-js": "^1.9.13" } diff --git a/examples/solid/with-tanstack-form/package.json b/examples/solid/with-tanstack-form/package.json index cdae268675..2aacbe55cc 100644 --- a/examples/solid/with-tanstack-form/package.json +++ b/examples/solid/with-tanstack-form/package.json @@ -21,8 +21,8 @@ "@tanstack/solid-devtools": "^0.8.8", "@tanstack/solid-form": "^1.33.1", "@tanstack/solid-form-devtools": "^0.2.30", - "@tanstack/solid-table": "^9.0.0-beta.49", - "@tanstack/solid-table-devtools": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", + "@tanstack/solid-table-devtools": "^9.0.0-beta.50", "solid-js": "^1.9.13", "zod": "^4.4.3" } diff --git a/examples/solid/with-tanstack-query/package.json b/examples/solid/with-tanstack-query/package.json index 8d1e9db452..a288b36876 100644 --- a/examples/solid/with-tanstack-query/package.json +++ b/examples/solid/with-tanstack-query/package.json @@ -20,7 +20,7 @@ "dependencies": { "@tanstack/solid-query": "^5.101.2", "@tanstack/solid-store": "^0.11.0", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/solid/with-tanstack-router/package.json b/examples/solid/with-tanstack-router/package.json index c5516f931e..e65a3b06a8 100644 --- a/examples/solid/with-tanstack-router/package.json +++ b/examples/solid/with-tanstack-router/package.json @@ -22,7 +22,7 @@ "@tanstack/solid-pacer": "^0.21.1", "@tanstack/solid-query": "^5.101.2", "@tanstack/solid-router": "^1.170.17", - "@tanstack/solid-table": "^9.0.0-beta.49", + "@tanstack/solid-table": "^9.0.0-beta.50", "solid-js": "^1.9.13" } } diff --git a/examples/svelte/aggregation/package.json b/examples/svelte/aggregation/package.json index 7fb0ad9887..71337ef7f4 100644 --- a/examples/svelte/aggregation/package.json +++ b/examples/svelte/aggregation/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/aggregation/src/App.svelte b/examples/svelte/aggregation/src/App.svelte index 8d55707e4e..9dd9a358a5 100644 --- a/examples/svelte/aggregation/src/App.svelte +++ b/examples/svelte/aggregation/src/App.svelte @@ -34,8 +34,8 @@ columnHelper.display({ id: 'select' }), columnHelper.accessor('category', { header: 'Category', filterFn: 'includesString' }), columnHelper.accessor('item', { header: 'Item', footer: ({ table }) => `${table.options.meta?.rowSource} total` }), - columnHelper.accessor('amount', { header: 'Amount', aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => formatValue(column.getAggregationValue(getAggregationRows(table))) }), - columnHelper.accessor('score', { header: 'Score', aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => formatValue(column.getAggregationValue(getAggregationRows(table))) }), + columnHelper.accessor('amount', { header: 'Amount', aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => formatValue(column.getAggregationValue({ rows: getAggregationRows(table) })) }), + columnHelper.accessor('score', { header: 'Score', aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => formatValue(column.getAggregationValue({ rows: getAggregationRows(table) })) }), ]) const table = createTable({ features, columns, diff --git a/examples/svelte/basic-app-table/package.json b/examples/svelte/basic-app-table/package.json index 0b8a1fe855..ca6d66098c 100644 --- a/examples/svelte/basic-app-table/package.json +++ b/examples/svelte/basic-app-table/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/basic-create-table/package.json b/examples/svelte/basic-create-table/package.json index 6ee1fe4a39..a9070b0a4c 100644 --- a/examples/svelte/basic-create-table/package.json +++ b/examples/svelte/basic-create-table/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/basic-dynamic-columns/package.json b/examples/svelte/basic-dynamic-columns/package.json index 9503a27147..3553f7321a 100644 --- a/examples/svelte/basic-dynamic-columns/package.json +++ b/examples/svelte/basic-dynamic-columns/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/basic-external-atoms/package.json b/examples/svelte/basic-external-atoms/package.json index e8ccf0fe70..19b798276d 100644 --- a/examples/svelte/basic-external-atoms/package.json +++ b/examples/svelte/basic-external-atoms/package.json @@ -17,7 +17,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/basic-external-state/package.json b/examples/svelte/basic-external-state/package.json index f21a99f6b5..2ac64bbbd6 100644 --- a/examples/svelte/basic-external-state/package.json +++ b/examples/svelte/basic-external-state/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/basic-snippets/package.json b/examples/svelte/basic-snippets/package.json index 12ea759deb..08fbe291e0 100644 --- a/examples/svelte/basic-snippets/package.json +++ b/examples/svelte/basic-snippets/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-ordering/package.json b/examples/svelte/column-ordering/package.json index 269a470622..c5593d0168 100644 --- a/examples/svelte/column-ordering/package.json +++ b/examples/svelte/column-ordering/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-pinning-split/package.json b/examples/svelte/column-pinning-split/package.json index cf31ca57f9..393a7ec11c 100644 --- a/examples/svelte/column-pinning-split/package.json +++ b/examples/svelte/column-pinning-split/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-pinning-sticky/package.json b/examples/svelte/column-pinning-sticky/package.json index 8350f2eba3..d3a3fb38cf 100644 --- a/examples/svelte/column-pinning-sticky/package.json +++ b/examples/svelte/column-pinning-sticky/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-pinning/package.json b/examples/svelte/column-pinning/package.json index 1ea17ef1c6..d4ffd9282b 100644 --- a/examples/svelte/column-pinning/package.json +++ b/examples/svelte/column-pinning/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-resizing-performant/package.json b/examples/svelte/column-resizing-performant/package.json index d4b432b373..0f8dadb328 100644 --- a/examples/svelte/column-resizing-performant/package.json +++ b/examples/svelte/column-resizing-performant/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-resizing/package.json b/examples/svelte/column-resizing/package.json index 1e223c00fe..4f8ac9296b 100644 --- a/examples/svelte/column-resizing/package.json +++ b/examples/svelte/column-resizing/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-sizing/package.json b/examples/svelte/column-sizing/package.json index ace5ae7b11..5b905719dc 100644 --- a/examples/svelte/column-sizing/package.json +++ b/examples/svelte/column-sizing/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/column-visibility/package.json b/examples/svelte/column-visibility/package.json index 632ab99eb5..bd4a156a41 100644 --- a/examples/svelte/column-visibility/package.json +++ b/examples/svelte/column-visibility/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/composable-tables/package.json b/examples/svelte/composable-tables/package.json index e8f28793e6..1413b53132 100644 --- a/examples/svelte/composable-tables/package.json +++ b/examples/svelte/composable-tables/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/expanding/package.json b/examples/svelte/expanding/package.json index e231983dda..ec688c9818 100644 --- a/examples/svelte/expanding/package.json +++ b/examples/svelte/expanding/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/filtering/package.json b/examples/svelte/filtering/package.json index e9caf71ff1..9f8c71b73f 100644 --- a/examples/svelte/filtering/package.json +++ b/examples/svelte/filtering/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/filters-faceted/package.json b/examples/svelte/filters-faceted/package.json index c189bc82a9..b48afac2fe 100644 --- a/examples/svelte/filters-faceted/package.json +++ b/examples/svelte/filters-faceted/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/filters-fuzzy/package.json b/examples/svelte/filters-fuzzy/package.json index 2cb42b0bdc..8617530444 100644 --- a/examples/svelte/filters-fuzzy/package.json +++ b/examples/svelte/filters-fuzzy/package.json @@ -15,7 +15,7 @@ "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/grouped-aggregation/package.json b/examples/svelte/grouped-aggregation/package.json index dfb2f53e58..c423898124 100644 --- a/examples/svelte/grouped-aggregation/package.json +++ b/examples/svelte/grouped-aggregation/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/grouping/package.json b/examples/svelte/grouping/package.json index 3caba366d8..5bac7c197e 100644 --- a/examples/svelte/grouping/package.json +++ b/examples/svelte/grouping/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/header-groups/package.json b/examples/svelte/header-groups/package.json index 73f0015c0e..070b448dd0 100644 --- a/examples/svelte/header-groups/package.json +++ b/examples/svelte/header-groups/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/kitchen-sink/package.json b/examples/svelte/kitchen-sink/package.json index ec3e48f31e..62c28a785c 100644 --- a/examples/svelte/kitchen-sink/package.json +++ b/examples/svelte/kitchen-sink/package.json @@ -15,7 +15,7 @@ "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/pagination/package.json b/examples/svelte/pagination/package.json index 43e215f466..19f4546f51 100644 --- a/examples/svelte/pagination/package.json +++ b/examples/svelte/pagination/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/row-pinning/package.json b/examples/svelte/row-pinning/package.json index 62d23b9698..f260440ab8 100644 --- a/examples/svelte/row-pinning/package.json +++ b/examples/svelte/row-pinning/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/row-selection/package.json b/examples/svelte/row-selection/package.json index 231ea12200..6727aebbe8 100644 --- a/examples/svelte/row-selection/package.json +++ b/examples/svelte/row-selection/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/sorting/package.json b/examples/svelte/sorting/package.json index 84edfe8939..0aae0b6f8e 100644 --- a/examples/svelte/sorting/package.json +++ b/examples/svelte/sorting/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/sub-components/package.json b/examples/svelte/sub-components/package.json index 27fdb3400c..7da5243fa1 100644 --- a/examples/svelte/sub-components/package.json +++ b/examples/svelte/sub-components/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", "svelte-check": "^4.6.0", diff --git a/examples/svelte/virtualized-columns/package.json b/examples/svelte/virtualized-columns/package.json index 71b05b2c59..848ff2e458 100644 --- a/examples/svelte/virtualized-columns/package.json +++ b/examples/svelte/virtualized-columns/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tanstack/svelte-virtual": "^3.13.31", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", diff --git a/examples/svelte/virtualized-infinite-scrolling/package.json b/examples/svelte/virtualized-infinite-scrolling/package.json index ca8cf71465..fc31054823 100644 --- a/examples/svelte/virtualized-infinite-scrolling/package.json +++ b/examples/svelte/virtualized-infinite-scrolling/package.json @@ -15,7 +15,7 @@ "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", "@tanstack/svelte-query": "^6.1.36", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tanstack/svelte-virtual": "^3.13.31", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", diff --git a/examples/svelte/virtualized-rows/package.json b/examples/svelte/virtualized-rows/package.json index 5905854f4b..8f029f898b 100644 --- a/examples/svelte/virtualized-rows/package.json +++ b/examples/svelte/virtualized-rows/package.json @@ -14,7 +14,7 @@ "@faker-js/faker": "^10.5.0", "@rollup/plugin-replace": "^6.0.3", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "@tanstack/svelte-virtual": "^3.13.31", "@tsconfig/svelte": "^5.0.8", "svelte": "^5.56.2", diff --git a/examples/svelte/with-tanstack-form/package.json b/examples/svelte/with-tanstack-form/package.json index f0935969a7..2d53dda127 100644 --- a/examples/svelte/with-tanstack-form/package.json +++ b/examples/svelte/with-tanstack-form/package.json @@ -23,7 +23,7 @@ "dependencies": { "@tanstack/form-core": "^1.33.1", "@tanstack/svelte-form": "^1.33.1", - "@tanstack/svelte-table": "^9.0.0-beta.49", + "@tanstack/svelte-table": "^9.0.0-beta.50", "zod": "^4.4.3" } } diff --git a/examples/svelte/with-tanstack-query/package.json b/examples/svelte/with-tanstack-query/package.json index a4c2e1781c..a6e318bce9 100644 --- a/examples/svelte/with-tanstack-query/package.json +++ b/examples/svelte/with-tanstack-query/package.json @@ -22,6 +22,6 @@ }, "dependencies": { "@tanstack/svelte-query": "^6.1.36", - "@tanstack/svelte-table": "^9.0.0-beta.49" + "@tanstack/svelte-table": "^9.0.0-beta.50" } } diff --git a/examples/vanilla/aggregation/package.json b/examples/vanilla/aggregation/package.json index 02d1479d50..5d21b28c60 100644 --- a/examples/vanilla/aggregation/package.json +++ b/examples/vanilla/aggregation/package.json @@ -17,6 +17,6 @@ "vite": "^8.1.0" }, "dependencies": { - "@tanstack/table-core": "^9.0.0-beta.49" + "@tanstack/table-core": "^9.0.0-beta.50" } } diff --git a/examples/vanilla/aggregation/src/main.ts b/examples/vanilla/aggregation/src/main.ts index efbc02546e..e7e5e7cd09 100644 --- a/examples/vanilla/aggregation/src/main.ts +++ b/examples/vanilla/aggregation/src/main.ts @@ -77,13 +77,17 @@ const columns = columnHelper.columns([ aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), columnHelper.accessor('score', { header: 'Score', aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), ]) const el = (tag: K, text?: string) => { diff --git a/examples/vanilla/basic/package.json b/examples/vanilla/basic/package.json index aa87f05e0b..48be7397d5 100644 --- a/examples/vanilla/basic/package.json +++ b/examples/vanilla/basic/package.json @@ -17,6 +17,6 @@ "vite": "^8.1.0" }, "dependencies": { - "@tanstack/table-core": "^9.0.0-beta.49" + "@tanstack/table-core": "^9.0.0-beta.50" } } diff --git a/examples/vanilla/pagination/package.json b/examples/vanilla/pagination/package.json index 1e820a1fc5..0008d7c411 100644 --- a/examples/vanilla/pagination/package.json +++ b/examples/vanilla/pagination/package.json @@ -17,6 +17,6 @@ "vite": "^8.1.0" }, "dependencies": { - "@tanstack/table-core": "^9.0.0-beta.49" + "@tanstack/table-core": "^9.0.0-beta.50" } } diff --git a/examples/vanilla/sorting/package.json b/examples/vanilla/sorting/package.json index 4e6acc4aec..fbe802a58d 100644 --- a/examples/vanilla/sorting/package.json +++ b/examples/vanilla/sorting/package.json @@ -17,6 +17,6 @@ "vite": "^8.1.0" }, "dependencies": { - "@tanstack/table-core": "^9.0.0-beta.49" + "@tanstack/table-core": "^9.0.0-beta.50" } } diff --git a/examples/vue/aggregation/package.json b/examples/vue/aggregation/package.json index a59d12f79e..ed7c0b52f0 100644 --- a/examples/vue/aggregation/package.json +++ b/examples/vue/aggregation/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/aggregation/src/App.vue b/examples/vue/aggregation/src/App.vue index a7aab75107..e37f58e482 100644 --- a/examples/vue/aggregation/src/App.vue +++ b/examples/vue/aggregation/src/App.vue @@ -76,13 +76,17 @@ const columns = columnHelper.columns([ aggregationFn: 'sum', cell: ({ getValue }) => getValue().toLocaleString(), footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), columnHelper.accessor('score', { header: 'Score', aggregationFn: ['count', 'mean', { id: 'range', aggregationFn: 'extent' }], footer: ({ column, table }) => - formatValue(column.getAggregationValue(getAggregationRows(table))), + formatValue( + column.getAggregationValue({ rows: getAggregationRows(table) }), + ), }), ]) const table = useTable({ diff --git a/examples/vue/basic-dynamic-columns/package.json b/examples/vue/basic-dynamic-columns/package.json index 2fed01450c..4d25b65c34 100644 --- a/examples/vue/basic-dynamic-columns/package.json +++ b/examples/vue/basic-dynamic-columns/package.json @@ -12,8 +12,8 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/vue-devtools": "^0.2.22", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/basic-external-atoms/package.json b/examples/vue/basic-external-atoms/package.json index f777ac4148..edf477910b 100644 --- a/examples/vue/basic-external-atoms/package.json +++ b/examples/vue/basic-external-atoms/package.json @@ -13,8 +13,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/vue-devtools": "^0.2.22", "@tanstack/vue-store": "^0.11.0", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/basic-external-state/package.json b/examples/vue/basic-external-state/package.json index fb2da1c132..f2c7690c28 100644 --- a/examples/vue/basic-external-state/package.json +++ b/examples/vue/basic-external-state/package.json @@ -12,8 +12,8 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/vue-devtools": "^0.2.22", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/basic-use-app-table/package.json b/examples/vue/basic-use-app-table/package.json index 912ed8d066..f00d17c7ff 100644 --- a/examples/vue/basic-use-app-table/package.json +++ b/examples/vue/basic-use-app-table/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "@tanstack/vue-devtools": "^0.2.22", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/basic-use-table/package.json b/examples/vue/basic-use-table/package.json index d3c8b33149..35ed60c9a9 100644 --- a/examples/vue/basic-use-table/package.json +++ b/examples/vue/basic-use-table/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "@tanstack/vue-devtools": "^0.2.22", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-ordering/package.json b/examples/vue/column-ordering/package.json index 7dd4b8eba3..635d837133 100644 --- a/examples/vue/column-ordering/package.json +++ b/examples/vue/column-ordering/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-pinning-split/package.json b/examples/vue/column-pinning-split/package.json index 4a0e99e7b1..dab023113a 100644 --- a/examples/vue/column-pinning-split/package.json +++ b/examples/vue/column-pinning-split/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-pinning-sticky/package.json b/examples/vue/column-pinning-sticky/package.json index b362e2e7d8..a937d95f8e 100644 --- a/examples/vue/column-pinning-sticky/package.json +++ b/examples/vue/column-pinning-sticky/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-pinning/package.json b/examples/vue/column-pinning/package.json index 0b5848b742..483f3fb788 100644 --- a/examples/vue/column-pinning/package.json +++ b/examples/vue/column-pinning/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-resizing-performant/package.json b/examples/vue/column-resizing-performant/package.json index e58b754bba..b6879d7148 100644 --- a/examples/vue/column-resizing-performant/package.json +++ b/examples/vue/column-resizing-performant/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-resizing/package.json b/examples/vue/column-resizing/package.json index b4ad4332ec..16cbc286e2 100644 --- a/examples/vue/column-resizing/package.json +++ b/examples/vue/column-resizing/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-sizing/package.json b/examples/vue/column-sizing/package.json index c8432fc8cb..8fe771f893 100644 --- a/examples/vue/column-sizing/package.json +++ b/examples/vue/column-sizing/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/column-visibility/package.json b/examples/vue/column-visibility/package.json index 68bcfb3506..d9c3c37977 100644 --- a/examples/vue/column-visibility/package.json +++ b/examples/vue/column-visibility/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/composable-tables/package.json b/examples/vue/composable-tables/package.json index ee46b15388..387d2a1009 100644 --- a/examples/vue/composable-tables/package.json +++ b/examples/vue/composable-tables/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tanstack/vue-devtools": "^0.2.22", "@tanstack/vue-store": "^0.11.0", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/expanding/package.json b/examples/vue/expanding/package.json index 992d4b9e38..adda305cd9 100644 --- a/examples/vue/expanding/package.json +++ b/examples/vue/expanding/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/filters-faceted/package.json b/examples/vue/filters-faceted/package.json index 2ac4c7c19f..59f23aeefb 100644 --- a/examples/vue/filters-faceted/package.json +++ b/examples/vue/filters-faceted/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/filters-fuzzy/package.json b/examples/vue/filters-fuzzy/package.json index defe52196b..6d6199c2ac 100644 --- a/examples/vue/filters-fuzzy/package.json +++ b/examples/vue/filters-fuzzy/package.json @@ -12,7 +12,7 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/filters/package.json b/examples/vue/filters/package.json index 865c5b058a..a32abe767d 100644 --- a/examples/vue/filters/package.json +++ b/examples/vue/filters/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/grouped-aggregation/package.json b/examples/vue/grouped-aggregation/package.json index bdd79ba60a..91189af9b3 100644 --- a/examples/vue/grouped-aggregation/package.json +++ b/examples/vue/grouped-aggregation/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/grouping/package.json b/examples/vue/grouping/package.json index cb34da141b..6ee29ff6ea 100644 --- a/examples/vue/grouping/package.json +++ b/examples/vue/grouping/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/header-groups/package.json b/examples/vue/header-groups/package.json index f70fb6a8ec..728bd41112 100644 --- a/examples/vue/header-groups/package.json +++ b/examples/vue/header-groups/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/kitchen-sink/package.json b/examples/vue/kitchen-sink/package.json index a2978c486d..30253a192f 100644 --- a/examples/vue/kitchen-sink/package.json +++ b/examples/vue/kitchen-sink/package.json @@ -13,8 +13,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/vue-devtools": "^0.2.22", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/pagination/package.json b/examples/vue/pagination/package.json index 9aaf0a496a..dd2d2f49ff 100644 --- a/examples/vue/pagination/package.json +++ b/examples/vue/pagination/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/row-pinning/package.json b/examples/vue/row-pinning/package.json index a37de0cfd2..9bbf983b33 100644 --- a/examples/vue/row-pinning/package.json +++ b/examples/vue/row-pinning/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/row-selection/package.json b/examples/vue/row-selection/package.json index de123180d0..ded1ff15dd 100644 --- a/examples/vue/row-selection/package.json +++ b/examples/vue/row-selection/package.json @@ -12,8 +12,8 @@ "dependencies": { "@faker-js/faker": "^10.5.0", "@tanstack/vue-devtools": "^0.2.22", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/sorting/package.json b/examples/vue/sorting/package.json index b58acae61a..c2eb60ebad 100644 --- a/examples/vue/sorting/package.json +++ b/examples/vue/sorting/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/sub-components/package.json b/examples/vue/sub-components/package.json index 770f640a3f..e55ccb1d56 100644 --- a/examples/vue/sub-components/package.json +++ b/examples/vue/sub-components/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/examples/vue/virtualized-columns/package.json b/examples/vue/virtualized-columns/package.json index e9ef1bdca3..387312bf1c 100644 --- a/examples/vue/virtualized-columns/package.json +++ b/examples/vue/virtualized-columns/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "@tanstack/vue-virtual": "^3.13.31", "vue": "^3.5.38" }, diff --git a/examples/vue/virtualized-infinite-scrolling/package.json b/examples/vue/virtualized-infinite-scrolling/package.json index 1f98e465ee..61baa581c3 100644 --- a/examples/vue/virtualized-infinite-scrolling/package.json +++ b/examples/vue/virtualized-infinite-scrolling/package.json @@ -14,7 +14,7 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/vue-query": "^5.101.2", "@tanstack/vue-store": "^0.11.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "@tanstack/vue-virtual": "^3.13.31", "vue": "^3.5.38" }, diff --git a/examples/vue/virtualized-rows/package.json b/examples/vue/virtualized-rows/package.json index 58cca0b796..436f903933 100644 --- a/examples/vue/virtualized-rows/package.json +++ b/examples/vue/virtualized-rows/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@faker-js/faker": "^10.5.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "@tanstack/vue-virtual": "^3.13.31", "vue": "^3.5.38" }, diff --git a/examples/vue/with-tanstack-form/package.json b/examples/vue/with-tanstack-form/package.json index fad403c72c..b923bf6d9e 100644 --- a/examples/vue/with-tanstack-form/package.json +++ b/examples/vue/with-tanstack-form/package.json @@ -13,8 +13,8 @@ "@faker-js/faker": "^10.5.0", "@tanstack/vue-devtools": "^0.2.22", "@tanstack/vue-form": "^1.33.1", - "@tanstack/vue-table": "^9.0.0-beta.49", - "@tanstack/vue-table-devtools": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", + "@tanstack/vue-table-devtools": "^9.0.0-beta.50", "vue": "^3.5.38", "zod": "^4.4.3" }, diff --git a/examples/vue/with-tanstack-query/package.json b/examples/vue/with-tanstack-query/package.json index 3011431829..33a85d51a5 100644 --- a/examples/vue/with-tanstack-query/package.json +++ b/examples/vue/with-tanstack-query/package.json @@ -14,7 +14,7 @@ "@tanstack/match-sorter-utils": "^9.0.0-beta.41", "@tanstack/vue-query": "^5.101.2", "@tanstack/vue-store": "^0.11.0", - "@tanstack/vue-table": "^9.0.0-beta.49", + "@tanstack/vue-table": "^9.0.0-beta.50", "vue": "^3.5.38" }, "devDependencies": { diff --git a/packages/alpine-table/package.json b/packages/alpine-table/package.json index 4f8b337ed9..1b9d0a2efd 100644 --- a/packages/alpine-table/package.json +++ b/packages/alpine-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/alpine-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Alpine.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/alpine-table/skills/create-table-hook/SKILL.md b/packages/alpine-table/skills/create-table-hook/SKILL.md index 4f4ea7bcaa..36bd6e4cd0 100644 --- a/packages/alpine-table/skills/create-table-hook/SKILL.md +++ b/packages/alpine-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/alpine-table' framework: alpine - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/alpine-table/skills/getting-started/SKILL.md b/packages/alpine-table/skills/getting-started/SKILL.md index d4b34568f8..344dac0a90 100644 --- a/packages/alpine-table/skills/getting-started/SKILL.md +++ b/packages/alpine-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/alpine-table' framework: alpine - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-core#table-features' diff --git a/packages/alpine-table/skills/table-state/SKILL.md b/packages/alpine-table/skills/table-state/SKILL.md index 459c02d4fd..d4ebc743f9 100644 --- a/packages/alpine-table/skills/table-state/SKILL.md +++ b/packages/alpine-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/alpine-table' framework: alpine - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/angular-table-devtools/package.json b/packages/angular-table-devtools/package.json index 77d986b78f..a62b34dbb5 100644 --- a/packages/angular-table-devtools/package.json +++ b/packages/angular-table-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-table-devtools", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Angular devtools for TanStack Table.", "license": "MIT", "repository": { diff --git a/packages/angular-table-devtools/skills/devtools/SKILL.md b/packages/angular-table-devtools/skills/devtools/SKILL.md index bc4ce20d9f..48137aea0c 100644 --- a/packages/angular-table-devtools/skills/devtools/SKILL.md +++ b/packages/angular-table-devtools/skills/devtools/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/angular-table-devtools' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-devtools#devtools' diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index a8c7ee7c83..aeac7d5509 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Angular.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/angular-table/skills/create-table-hook/SKILL.md b/packages/angular-table/skills/create-table-hook/SKILL.md index 8945b12f7d..e49670f7f0 100644 --- a/packages/angular-table/skills/create-table-hook/SKILL.md +++ b/packages/angular-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/angular-table' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/angular-table/skills/getting-started/SKILL.md b/packages/angular-table/skills/getting-started/SKILL.md index 323230ba21..cdb54fd4db 100644 --- a/packages/angular-table/skills/getting-started/SKILL.md +++ b/packages/angular-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/angular-table' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-core#table-features' diff --git a/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md b/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md index 30bb7224ef..4cf843b89b 100644 --- a/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md @@ -6,7 +6,7 @@ metadata: type: lifecycle library: '@tanstack/angular-table' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#migrate-v8-to-v9' - getting-started diff --git a/packages/angular-table/skills/table-state/SKILL.md b/packages/angular-table/skills/table-state/SKILL.md index f7f3198c14..ffb3e5f8ae 100644 --- a/packages/angular-table/skills/table-state/SKILL.md +++ b/packages/angular-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/angular-table' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/angular-table/skills/with-tanstack-query/SKILL.md b/packages/angular-table/skills/with-tanstack-query/SKILL.md index 7c796291d5..7db3503a63 100644 --- a/packages/angular-table/skills/with-tanstack-query/SKILL.md +++ b/packages/angular-table/skills/with-tanstack-query/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/angular-table' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#client-vs-server' - getting-started diff --git a/packages/angular-table/skills/with-tanstack-virtual/SKILL.md b/packages/angular-table/skills/with-tanstack-virtual/SKILL.md index d9a0f5f3f0..5c17f93034 100644 --- a/packages/angular-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/angular-table/skills/with-tanstack-virtual/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/angular-table' framework: angular - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/ember-table/package.json b/packages/ember-table/package.json index 88563a6688..40af052f8a 100644 --- a/packages/ember-table/package.json +++ b/packages/ember-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ember-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Ember.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ember-table/skills/create-table-hook/SKILL.md b/packages/ember-table/skills/create-table-hook/SKILL.md index fd2890ed67..d691aa5ead 100644 --- a/packages/ember-table/skills/create-table-hook/SKILL.md +++ b/packages/ember-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/ember-table' framework: ember - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/ember-table/skills/getting-started/SKILL.md b/packages/ember-table/skills/getting-started/SKILL.md index ac3a966a2c..86d1685ea8 100644 --- a/packages/ember-table/skills/getting-started/SKILL.md +++ b/packages/ember-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/ember-table' framework: ember - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-core#table-features' diff --git a/packages/ember-table/skills/table-state/SKILL.md b/packages/ember-table/skills/table-state/SKILL.md index f36380acd9..dc39e327c5 100644 --- a/packages/ember-table/skills/table-state/SKILL.md +++ b/packages/ember-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/ember-table' framework: ember - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/lit-table/package.json b/packages/lit-table/package.json index 5c7fbc7965..2a736622f5 100644 --- a/packages/lit-table/package.json +++ b/packages/lit-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/lit-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Lit.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/lit-table/skills/create-table-hook/SKILL.md b/packages/lit-table/skills/create-table-hook/SKILL.md index b7edd0c26f..7f5cd64783 100644 --- a/packages/lit-table/skills/create-table-hook/SKILL.md +++ b/packages/lit-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/lit-table' framework: lit - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/lit-table/skills/getting-started/SKILL.md b/packages/lit-table/skills/getting-started/SKILL.md index a8e086a2bd..663537c387 100644 --- a/packages/lit-table/skills/getting-started/SKILL.md +++ b/packages/lit-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/lit-table' framework: lit - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-core#table-features' diff --git a/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md b/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md index 0eeb20cea0..1546dcc651 100644 --- a/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md @@ -6,7 +6,7 @@ metadata: type: lifecycle library: '@tanstack/lit-table' framework: lit - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#migrate-v8-to-v9' - getting-started diff --git a/packages/lit-table/skills/table-state/SKILL.md b/packages/lit-table/skills/table-state/SKILL.md index e72f805090..45ed19d948 100644 --- a/packages/lit-table/skills/table-state/SKILL.md +++ b/packages/lit-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/lit-table' framework: lit - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/lit-table/skills/with-tanstack-virtual/SKILL.md b/packages/lit-table/skills/with-tanstack-virtual/SKILL.md index e854c52f42..a79c351881 100644 --- a/packages/lit-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/lit-table/skills/with-tanstack-virtual/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/lit-table' framework: lit - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/preact-table-devtools/package.json b/packages/preact-table-devtools/package.json index 9efedf5840..43e3002457 100644 --- a/packages/preact-table-devtools/package.json +++ b/packages/preact-table-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/preact-table-devtools", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Preact devtools for TanStack Table.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/preact-table-devtools/skills/devtools/SKILL.md b/packages/preact-table-devtools/skills/devtools/SKILL.md index dd3e840cdc..00df2bbc96 100644 --- a/packages/preact-table-devtools/skills/devtools/SKILL.md +++ b/packages/preact-table-devtools/skills/devtools/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/preact-table-devtools' framework: preact - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-devtools#devtools' diff --git a/packages/preact-table/package.json b/packages/preact-table/package.json index 915ffb0d37..735fc6e848 100644 --- a/packages/preact-table/package.json +++ b/packages/preact-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/preact-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Preact.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/preact-table/skills/create-table-hook/SKILL.md b/packages/preact-table/skills/create-table-hook/SKILL.md index 88834b7409..e9e45dd5e5 100644 --- a/packages/preact-table/skills/create-table-hook/SKILL.md +++ b/packages/preact-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: framework, library: '@tanstack/preact-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: preact, } requires: ['@tanstack/table-core#core', getting-started, table-state] diff --git a/packages/preact-table/skills/getting-started/SKILL.md b/packages/preact-table/skills/getting-started/SKILL.md index 83b4e21361..37cd5a6e2b 100644 --- a/packages/preact-table/skills/getting-started/SKILL.md +++ b/packages/preact-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: framework, library: '@tanstack/preact-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: preact, } requires: ['@tanstack/table-core#core', '@tanstack/table-core#table-features'] diff --git a/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md b/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md index ebd6508a9f..a8d9243f74 100644 --- a/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: lifecycle library: '@tanstack/preact-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: preact requires: - '@tanstack/table-core#migrate-v8-to-v9' diff --git a/packages/preact-table/skills/table-state/SKILL.md b/packages/preact-table/skills/table-state/SKILL.md index 2b3c9bc385..52b8e23615 100644 --- a/packages/preact-table/skills/table-state/SKILL.md +++ b/packages/preact-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: framework, library: '@tanstack/preact-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: preact, } requires: ['@tanstack/table-core#core', getting-started] diff --git a/packages/preact-table/skills/with-tanstack-query/SKILL.md b/packages/preact-table/skills/with-tanstack-query/SKILL.md index 0813da48b0..7b9501486b 100644 --- a/packages/preact-table/skills/with-tanstack-query/SKILL.md +++ b/packages/preact-table/skills/with-tanstack-query/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: composition, library: '@tanstack/preact-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: preact, } requires: diff --git a/packages/preact-table/skills/with-tanstack-virtual/SKILL.md b/packages/preact-table/skills/with-tanstack-virtual/SKILL.md index cafd14daa9..bf0f60a1b8 100644 --- a/packages/preact-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/preact-table/skills/with-tanstack-virtual/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: composition, library: '@tanstack/preact-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: preact, } requires: ['@tanstack/table-core#core', getting-started, table-state] diff --git a/packages/react-table-devtools/package.json b/packages/react-table-devtools/package.json index 9a0bc59824..b410037ff6 100644 --- a/packages/react-table-devtools/package.json +++ b/packages/react-table-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-table-devtools", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "React devtools for TanStack Table.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-table-devtools/skills/devtools/SKILL.md b/packages/react-table-devtools/skills/devtools/SKILL.md index 52eecc6462..7494079f29 100644 --- a/packages/react-table-devtools/skills/devtools/SKILL.md +++ b/packages/react-table-devtools/skills/devtools/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/react-table-devtools' framework: react - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-devtools#devtools' diff --git a/packages/react-table/package.json b/packages/react-table/package.json index 299eab22df..391aa1758a 100644 --- a/packages/react-table/package.json +++ b/packages/react-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for React.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-table/skills/create-table-hook/SKILL.md b/packages/react-table/skills/create-table-hook/SKILL.md index 12e449c890..0935ead908 100644 --- a/packages/react-table/skills/create-table-hook/SKILL.md +++ b/packages/react-table/skills/create-table-hook/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: framework library: '@tanstack/react-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: react requires: - '@tanstack/table-core#core' diff --git a/packages/react-table/skills/getting-started/SKILL.md b/packages/react-table/skills/getting-started/SKILL.md index b9113c88d0..2f187e43cc 100644 --- a/packages/react-table/skills/getting-started/SKILL.md +++ b/packages/react-table/skills/getting-started/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: framework library: '@tanstack/react-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: react requires: - '@tanstack/table-core#core' diff --git a/packages/react-table/skills/migrate-v8-to-v9/SKILL.md b/packages/react-table/skills/migrate-v8-to-v9/SKILL.md index 1d8469bd82..4d0a871864 100644 --- a/packages/react-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/react-table/skills/migrate-v8-to-v9/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: lifecycle library: '@tanstack/react-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: react requires: - '@tanstack/table-core#migrate-v8-to-v9' diff --git a/packages/react-table/skills/table-state/SKILL.md b/packages/react-table/skills/table-state/SKILL.md index ed25e893d9..939df6a4b9 100644 --- a/packages/react-table/skills/table-state/SKILL.md +++ b/packages/react-table/skills/table-state/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: framework library: '@tanstack/react-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: react requires: - '@tanstack/table-core#core' diff --git a/packages/react-table/skills/with-tanstack-query/SKILL.md b/packages/react-table/skills/with-tanstack-query/SKILL.md index 5713d4d7d7..0e03ece9db 100644 --- a/packages/react-table/skills/with-tanstack-query/SKILL.md +++ b/packages/react-table/skills/with-tanstack-query/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: composition library: '@tanstack/react-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: react requires: - '@tanstack/table-core#client-vs-server' diff --git a/packages/react-table/skills/with-tanstack-virtual/SKILL.md b/packages/react-table/skills/with-tanstack-virtual/SKILL.md index 326b36ef2f..9e51041f09 100644 --- a/packages/react-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/react-table/skills/with-tanstack-virtual/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: composition library: '@tanstack/react-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: react requires: - '@tanstack/table-core#core' diff --git a/packages/solid-table-devtools/package.json b/packages/solid-table-devtools/package.json index 2994acacf0..942a57fc32 100644 --- a/packages/solid-table-devtools/package.json +++ b/packages/solid-table-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-table-devtools", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Solid devtools for TanStack Table.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-table-devtools/skills/devtools/SKILL.md b/packages/solid-table-devtools/skills/devtools/SKILL.md index 3af0262e2e..676c59fc2d 100644 --- a/packages/solid-table-devtools/skills/devtools/SKILL.md +++ b/packages/solid-table-devtools/skills/devtools/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/solid-table-devtools' framework: solid - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-devtools#devtools' diff --git a/packages/solid-table/package.json b/packages/solid-table/package.json index 666589b55c..9960e607dd 100644 --- a/packages/solid-table/package.json +++ b/packages/solid-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Solid.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-table/skills/create-table-hook/SKILL.md b/packages/solid-table/skills/create-table-hook/SKILL.md index 52fc18b464..25cdad5556 100644 --- a/packages/solid-table/skills/create-table-hook/SKILL.md +++ b/packages/solid-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: framework, library: '@tanstack/solid-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: solid, } requires: ['@tanstack/table-core#core', getting-started, table-state] diff --git a/packages/solid-table/skills/getting-started/SKILL.md b/packages/solid-table/skills/getting-started/SKILL.md index 7dde2d177f..5054603576 100644 --- a/packages/solid-table/skills/getting-started/SKILL.md +++ b/packages/solid-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: framework, library: '@tanstack/solid-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: solid, } requires: ['@tanstack/table-core#core', '@tanstack/table-core#table-features'] diff --git a/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md b/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md index 52ef3948ed..0d653907c4 100644 --- a/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: lifecycle library: '@tanstack/solid-table' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' framework: solid requires: - '@tanstack/table-core#migrate-v8-to-v9' diff --git a/packages/solid-table/skills/table-state/SKILL.md b/packages/solid-table/skills/table-state/SKILL.md index 7cfbfb2c6f..926a5ca6b7 100644 --- a/packages/solid-table/skills/table-state/SKILL.md +++ b/packages/solid-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: framework, library: '@tanstack/solid-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: solid, } requires: ['@tanstack/table-core#core', getting-started] diff --git a/packages/solid-table/skills/with-tanstack-query/SKILL.md b/packages/solid-table/skills/with-tanstack-query/SKILL.md index 918153674e..717f63fb93 100644 --- a/packages/solid-table/skills/with-tanstack-query/SKILL.md +++ b/packages/solid-table/skills/with-tanstack-query/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: composition, library: '@tanstack/solid-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: solid, } requires: diff --git a/packages/solid-table/skills/with-tanstack-virtual/SKILL.md b/packages/solid-table/skills/with-tanstack-virtual/SKILL.md index 15781182f1..61bf2d4a2b 100644 --- a/packages/solid-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/solid-table/skills/with-tanstack-virtual/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: composition, library: '@tanstack/solid-table', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', framework: solid, } requires: ['@tanstack/table-core#core', getting-started, table-state] diff --git a/packages/svelte-table/package.json b/packages/svelte-table/package.json index c15b96aab8..50b0f6d50d 100644 --- a/packages/svelte-table/package.json +++ b/packages/svelte-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/svelte-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Svelte.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/svelte-table/skills/create-table-hook/SKILL.md b/packages/svelte-table/skills/create-table-hook/SKILL.md index f12bc49913..b6d80cbd5f 100644 --- a/packages/svelte-table/skills/create-table-hook/SKILL.md +++ b/packages/svelte-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/svelte-table' framework: svelte - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/svelte-table/skills/getting-started/SKILL.md b/packages/svelte-table/skills/getting-started/SKILL.md index 548e776bd5..a4543ecdaf 100644 --- a/packages/svelte-table/skills/getting-started/SKILL.md +++ b/packages/svelte-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/svelte-table' framework: svelte - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-core#table-features' diff --git a/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md b/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md index 5ec7416d44..85572557c3 100644 --- a/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md @@ -6,7 +6,7 @@ metadata: type: lifecycle library: '@tanstack/svelte-table' framework: svelte - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#migrate-v8-to-v9' - getting-started diff --git a/packages/svelte-table/skills/table-state/SKILL.md b/packages/svelte-table/skills/table-state/SKILL.md index 59e7bc2cac..2e8d8ee895 100644 --- a/packages/svelte-table/skills/table-state/SKILL.md +++ b/packages/svelte-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/svelte-table' framework: svelte - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/svelte-table/skills/with-tanstack-query/SKILL.md b/packages/svelte-table/skills/with-tanstack-query/SKILL.md index b41707836f..0d24d83c86 100644 --- a/packages/svelte-table/skills/with-tanstack-query/SKILL.md +++ b/packages/svelte-table/skills/with-tanstack-query/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/svelte-table' framework: svelte - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#client-vs-server' - getting-started diff --git a/packages/svelte-table/skills/with-tanstack-virtual/SKILL.md b/packages/svelte-table/skills/with-tanstack-virtual/SKILL.md index 58824ef97c..e17863f398 100644 --- a/packages/svelte-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/svelte-table/skills/with-tanstack-virtual/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/svelte-table' framework: svelte - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/table-core/package.json b/packages/table-core/package.json index 1e9433c047..7eeaf9c994 100644 --- a/packages/table-core/package.json +++ b/packages/table-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/table-core", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for TS/JS.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/table-core/skills/aggregation/SKILL.md b/packages/table-core/skills/aggregation/SKILL.md index 788491e13b..73b686bad8 100644 --- a/packages/table-core/skills/aggregation/SKILL.md +++ b/packages/table-core/skills/aggregation/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features'] sources: @@ -48,15 +48,22 @@ export const features = tableFeatures({ ```ts const grandTotal = salaryColumn.getAggregationValue() -const filteredTotal = salaryColumn.getAggregationValue( - table.getFilteredRowModel().rows, -) +const filteredTotal = salaryColumn.getAggregationValue({ + rows: table.getFilteredRowModel().rows, +}) +const childTotal = salaryColumn.getAggregationValue({ + rows: table.getCoreRowModel().rows, + maxDepth: 1, +}) ``` The default uses the pre-grouped row model. Explicit rows can come from any row -model or caller-selected subset. Hierarchical inputs are normalized to unique -terminal rows. Default calls are cached; explicit-row calls intentionally are -not because array identity and contents are caller-owned. +model or caller-selected subset. `maxAggregationDepth` defaults to `0`, which +selects the supplied roots; `1` selects direct sub-rows, and `Infinity` selects +terminal rows. Branches that end early contribute their deepest available row. +Default calls are cached; explicit-row calls intentionally are not because array +identity and contents are caller-owned. `table.getMaxSubRowDepth()` returns the +deepest structural depth in the core row model. ### Multiple aggregations @@ -86,10 +93,12 @@ const weightedMean = constructAggregationFn({ }) ``` -The context provides `rows`, `getValue`, `column`, `columnId`, `table`, and an -optional `groupingRow`. Add `merge({ childResults, childRows, ...context })` -when nested groups can efficiently combine child results; otherwise the engine -re-runs `aggregate` over normalized terminal rows. +The context provides depth-selected `rows`, `maxDepth`, `getValue`, `column`, +`columnId`, `table`, and optional grouped-only `groupingRow` and `subRows`. +Every aggregation configured on a column receives the same row frontier. Add +`merge({ subRowResults, subRows, ...context })` when nested groups can more +efficiently combine already-computed sub-row results; otherwise the engine calls +`aggregate` with both row sets. `subRowResults[i]` corresponds to `subRows[i]`. ### Manual or remote values @@ -109,19 +118,20 @@ Correct: register `aggregationFeature` and call ### [HIGH] Passing a scope label and rows -There is no scope option. Call `getAggregationValue()` for the default or pass -the exact rows from the desired row model. +There is no scope option. Call `getAggregationValue()` for the cached default, +or pass a single options object containing rows from the desired row model and +`maxDepth` when the desired frontier is below those rows. ### [HIGH] Reusing the legacy callable signature Wrong: `(columnId, leafRows, childRows) => result`. -Correct: `constructAggregationFn({ aggregate: ({ rows, getValue }) => result })`. +Correct: `constructAggregationFn({ aggregate: ({ rows, subRows, getValue }) => result })`. ### [MEDIUM] Assuming arbitrary totals run in the worker The experimental worker computes grouped row-model aggregates. Public -`getAggregationValue(rows?)` totals execute on the main thread, and custom +`getAggregationValue(options?)` totals execute on the main thread, and custom grouped results sent by the worker must be structured-cloneable. ## API Discovery diff --git a/packages/table-core/skills/api-not-found/SKILL.md b/packages/table-core/skills/api-not-found/SKILL.md index 6d36aeec6c..8c8392912d 100644 --- a/packages/table-core/skills/api-not-found/SKILL.md +++ b/packages/table-core/skills/api-not-found/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: sub-skill library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: ['core', 'table-features'] sources: - 'TanStack/table:packages/table-core/src/index.ts' diff --git a/packages/table-core/skills/client-vs-server/SKILL.md b/packages/table-core/skills/client-vs-server/SKILL.md index 10851a598b..94c1ca44bc 100644 --- a/packages/table-core/skills/client-vs-server/SKILL.md +++ b/packages/table-core/skills/client-vs-server/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: sub-skill library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: ['core', 'table-features'] sources: - 'TanStack/table:docs/guide/row-models.md' diff --git a/packages/table-core/skills/column-faceting/SKILL.md b/packages/table-core/skills/column-faceting/SKILL.md index c65a224efb..76ec454416 100644 --- a/packages/table-core/skills/column-faceting/SKILL.md +++ b/packages/table-core/skills/column-faceting/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'column-filtering'] sources: diff --git a/packages/table-core/skills/column-filtering/SKILL.md b/packages/table-core/skills/column-filtering/SKILL.md index 04781064ba..a7f8d71f75 100644 --- a/packages/table-core/skills/column-filtering/SKILL.md +++ b/packages/table-core/skills/column-filtering/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'client-vs-server'] sources: diff --git a/packages/table-core/skills/column-ordering/SKILL.md b/packages/table-core/skills/column-ordering/SKILL.md index e15b79626a..a37506285e 100644 --- a/packages/table-core/skills/column-ordering/SKILL.md +++ b/packages/table-core/skills/column-ordering/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features'] sources: diff --git a/packages/table-core/skills/column-pinning/SKILL.md b/packages/table-core/skills/column-pinning/SKILL.md index 9d13ee58dd..31e2ef1fc3 100644 --- a/packages/table-core/skills/column-pinning/SKILL.md +++ b/packages/table-core/skills/column-pinning/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'column-sizing'] sources: diff --git a/packages/table-core/skills/column-resizing/SKILL.md b/packages/table-core/skills/column-resizing/SKILL.md index 4e077a4840..e487b23ac3 100644 --- a/packages/table-core/skills/column-resizing/SKILL.md +++ b/packages/table-core/skills/column-resizing/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'column-sizing'] sources: diff --git a/packages/table-core/skills/column-sizing/SKILL.md b/packages/table-core/skills/column-sizing/SKILL.md index 49389a17a9..dab557ba77 100644 --- a/packages/table-core/skills/column-sizing/SKILL.md +++ b/packages/table-core/skills/column-sizing/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features'] sources: diff --git a/packages/table-core/skills/column-visibility/SKILL.md b/packages/table-core/skills/column-visibility/SKILL.md index 831ba1f832..279b2ea027 100644 --- a/packages/table-core/skills/column-visibility/SKILL.md +++ b/packages/table-core/skills/column-visibility/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features'] sources: diff --git a/packages/table-core/skills/core/SKILL.md b/packages/table-core/skills/core/SKILL.md index a2605c8753..9b824e7a76 100644 --- a/packages/table-core/skills/core/SKILL.md +++ b/packages/table-core/skills/core/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: core library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' sources: - 'TanStack/table:docs/overview.md' - 'TanStack/table:docs/guide/tables.md' diff --git a/packages/table-core/skills/custom-features/SKILL.md b/packages/table-core/skills/custom-features/SKILL.md index 24af5653f6..5352e04d98 100644 --- a/packages/table-core/skills/custom-features/SKILL.md +++ b/packages/table-core/skills/custom-features/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: sub-skill library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: ['core', 'table-features', 'typescript'] sources: - 'TanStack/table:docs/framework/react/guide/custom-features.md' diff --git a/packages/table-core/skills/expanding/SKILL.md b/packages/table-core/skills/expanding/SKILL.md index 100b22bbe5..d2b2756840 100644 --- a/packages/table-core/skills/expanding/SKILL.md +++ b/packages/table-core/skills/expanding/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'client-vs-server'] sources: diff --git a/packages/table-core/skills/global-filtering/SKILL.md b/packages/table-core/skills/global-filtering/SKILL.md index 371abafc62..dc7d0634a4 100644 --- a/packages/table-core/skills/global-filtering/SKILL.md +++ b/packages/table-core/skills/global-filtering/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'client-vs-server', 'column-filtering'] sources: diff --git a/packages/table-core/skills/grouping/SKILL.md b/packages/table-core/skills/grouping/SKILL.md index cff11b65a0..70bd2aaa93 100644 --- a/packages/table-core/skills/grouping/SKILL.md +++ b/packages/table-core/skills/grouping/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'client-vs-server'] sources: diff --git a/packages/table-core/skills/migrate-v8-to-v9/SKILL.md b/packages/table-core/skills/migrate-v8-to-v9/SKILL.md index 1a3ebdd052..3f7b9ee7b8 100644 --- a/packages/table-core/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/table-core/skills/migrate-v8-to-v9/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: lifecycle library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: ['core', 'table-features', 'typescript'] sources: - 'TanStack/table:docs/framework/react/guide/migrating.md' @@ -123,14 +123,22 @@ Move registries from table options or factory arguments into these feature slots Register only the built-ins the table references by string name, importing each individually (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) alongside any custom functions. The full registry objects (`filterFns`, `sortFns`, `aggregationFns` exports) still work but bundle every built-in. A slot's keys become the valid string names in column definitions, and `'auto'` resolves only registered functions. Aggregation is independent from grouping. Add `aggregationFeature` for -`aggregationFn`, `aggregatedCell`, `column.getAggregationValue(rows?)`, and +`aggregationFn`, `aggregatedCell`, `column.getAggregationValue(options?)`, and `cell.getIsAggregated`. A root total does not require grouping. Convert legacy custom callables `(columnId, leafRows, childRows) => result` to `constructAggregationFn({ aggregate: (context) => result, merge? })` definitions. Replace `column.getAggregationFn()` with `column.getAggregationFns()`; arrays in `aggregationFn` return keyed objects. Replace the old `AggregationFn` and `CreatedAggregationFn` types with -`AggregationFnDef`. +`AggregationFnDef`. Aggregation row selection is shared across every definition +on a column: `maxAggregationDepth` defaults to `0`, while `1` selects direct +sub-rows and `Infinity` selects terminal rows. Explicit totals can override it +with the single object signature +`column.getAggregationValue({ rows, maxDepth })`; positional row and depth +arguments are not supported. All built-ins consume the same selected `rows`. +Custom definitions can inspect grouped `subRows`, and `merge` receives matching +`subRowResults`. Use `table.getMaxSubRowDepth()` when a depth should derive from +the deepest structural row in the core model. ### 3. Migrate state reads and whole-state observation diff --git a/packages/table-core/skills/pagination/SKILL.md b/packages/table-core/skills/pagination/SKILL.md index 5b2c4adec0..3f359494f3 100644 --- a/packages/table-core/skills/pagination/SKILL.md +++ b/packages/table-core/skills/pagination/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'client-vs-server'] sources: diff --git a/packages/table-core/skills/row-pinning/SKILL.md b/packages/table-core/skills/row-pinning/SKILL.md index d938632d4a..7a39d89e0d 100644 --- a/packages/table-core/skills/row-pinning/SKILL.md +++ b/packages/table-core/skills/row-pinning/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features'] sources: diff --git a/packages/table-core/skills/row-selection/SKILL.md b/packages/table-core/skills/row-selection/SKILL.md index 228c2d9ee0..ee028ffc27 100644 --- a/packages/table-core/skills/row-selection/SKILL.md +++ b/packages/table-core/skills/row-selection/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features'] sources: diff --git a/packages/table-core/skills/sorting/SKILL.md b/packages/table-core/skills/sorting/SKILL.md index 115ac453c2..c81e0b208b 100644 --- a/packages/table-core/skills/sorting/SKILL.md +++ b/packages/table-core/skills/sorting/SKILL.md @@ -6,7 +6,7 @@ metadata: { type: sub-skill, library: '@tanstack/table-core', - library_version: '9.0.0-beta.49', + library_version: '9.0.0-beta.50', } requires: ['core', 'table-features', 'client-vs-server'] sources: diff --git a/packages/table-core/skills/table-features/SKILL.md b/packages/table-core/skills/table-features/SKILL.md index d7b666e5be..5447e3f584 100644 --- a/packages/table-core/skills/table-features/SKILL.md +++ b/packages/table-core/skills/table-features/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: sub-skill library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: ['core'] sources: - 'TanStack/table:docs/guide/row-models.md' diff --git a/packages/table-core/skills/typescript/SKILL.md b/packages/table-core/skills/typescript/SKILL.md index ba726a66bc..c98ff0de95 100644 --- a/packages/table-core/skills/typescript/SKILL.md +++ b/packages/table-core/skills/typescript/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: sub-skill library: '@tanstack/table-core' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: ['core', 'table-features'] sources: - 'TanStack/table:docs/guide/helpers.md' diff --git a/packages/table-core/src/core/rows/coreRowsFeature.ts b/packages/table-core/src/core/rows/coreRowsFeature.ts index 01701f876a..5c96a05522 100644 --- a/packages/table-core/src/core/rows/coreRowsFeature.ts +++ b/packages/table-core/src/core/rows/coreRowsFeature.ts @@ -9,6 +9,7 @@ import { row_getUniqueValues, row_getValue, row_renderValue, + table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder, @@ -73,6 +74,10 @@ export const coreRowsFeature: TableFeature = { fn: (id: string, searchAll?: boolean) => table_getRow(table, id, searchAll), }, + table_getMaxSubRowDepth: { + fn: () => table_getMaxSubRowDepth(table), + memoDeps: () => [table.getCoreRowModel()], + }, }) }, } diff --git a/packages/table-core/src/core/rows/coreRowsFeature.types.ts b/packages/table-core/src/core/rows/coreRowsFeature.types.ts index a060861b50..fd9956c683 100644 --- a/packages/table-core/src/core/rows/coreRowsFeature.types.ts +++ b/packages/table-core/src/core/rows/coreRowsFeature.types.ts @@ -131,6 +131,11 @@ export interface Table_Rows< in out TFeatures extends TableFeatures, in out TData extends RowData, > { + /** + * Returns the deepest structural row depth in the core row model. + * Root rows are depth `0`, direct sub-rows are depth `1`, and so on. + */ + getMaxSubRowDepth: () => number /** * Returns the rows in the current display order and assigns their display * indexes. When expanded rows bypass pagination, expanded descendants are @@ -138,6 +143,9 @@ export interface Table_Rows< * `row.getDisplayIndex()`. */ getRowsInDisplayOrder: () => Array> + /** + * Returns the row id for a given row. + */ getRowId: (_: TData, index: number, parent?: Row) => string /** * Returns the row with the given ID. diff --git a/packages/table-core/src/core/rows/coreRowsFeature.utils.ts b/packages/table-core/src/core/rows/coreRowsFeature.utils.ts index 06b8f0ad6c..cf41cf7d67 100644 --- a/packages/table-core/src/core/rows/coreRowsFeature.utils.ts +++ b/packages/table-core/src/core/rows/coreRowsFeature.utils.ts @@ -167,6 +167,24 @@ export function row_getLeafRows< return flattenBy(row.subRows, (d) => d.subRows) } +/** + * Returns the deepest structural row depth in the core row model. + * Root rows are depth `0`, their direct sub-rows are depth `1`, and so on. + */ +export function table_getMaxSubRowDepth< + TFeatures extends TableFeatures, + TData extends RowData, +>(table: Table_Internal): number { + const rows = table.getCoreRowModel().flatRows + let maxDepth = 0 + + for (let i = 0; i < rows.length; i++) { + maxDepth = Math.max(maxDepth, rows[i]!.depth) + } + + return maxDepth +} + /** * Looks up this row's direct parent, if it has one. * diff --git a/packages/table-core/src/features/aggregation/aggregationFeature.ts b/packages/table-core/src/features/aggregation/aggregationFeature.ts index c14f1330cf..6ead164c66 100644 --- a/packages/table-core/src/features/aggregation/aggregationFeature.ts +++ b/packages/table-core/src/features/aggregation/aggregationFeature.ts @@ -16,6 +16,7 @@ export const aggregationFeature: TableFeature = { aggregatedCell: ({ column, getValue }: any) => formatAggregatedCellValue(getValue(), column.columnDef.aggregationFn), aggregationFn: 'auto', + maxAggregationDepth: 0, }), getDefaultTableOptions: () => ({ @@ -36,7 +37,7 @@ export const aggregationFeature: TableFeature = { fn: (column) => column_getAggregationFns(column), }, column_getAggregationValue: { - fn: (column, rows) => column_getAggregationValue(column, rows), + fn: (column, options) => column_getAggregationValue(column, options), }, column_getAutoAggregationFn: { fn: (column) => column_getAutoAggregationFn(column), diff --git a/packages/table-core/src/features/aggregation/aggregationFeature.types.ts b/packages/table-core/src/features/aggregation/aggregationFeature.types.ts index 4bc56ace0e..f739257a4d 100644 --- a/packages/table-core/src/features/aggregation/aggregationFeature.types.ts +++ b/packages/table-core/src/features/aggregation/aggregationFeature.types.ts @@ -20,6 +20,14 @@ export interface AggregationContext< column: Column /** Convenience alias for `column.id`. */ columnId: string + /** Maximum relative sub-row depth used to select `rows`. */ + maxDepth: number + /** + * Immediate sub-rows for grouped aggregation. This property is omitted + * for root or caller-supplied-row aggregation. At a terminal grouping level + * these are the direct data rows; at a nested level they are sub-row groups. + */ + subRows?: ReadonlyArray> /** Reads this column's value from one of `rows`. */ getValue: (row: Row) => TValue /** @@ -29,8 +37,8 @@ export interface AggregationContext< */ groupingRow?: Row /** - * Terminal leaf rows included in this aggregation. The executor normalizes - * hierarchical and duplicate row inputs before invoking the definition. + * Unique rows selected at `maxDepth`. Branches that end before `maxDepth` + * contribute their deepest available row. */ rows: ReadonlyArray> /** The table that owns the column and rows. */ @@ -44,10 +52,10 @@ export interface AggregationMergeContext< TValue, TResult, > extends AggregationContext { - /** Results produced for each immediate child group, in child-row order. */ - childResults: ReadonlyArray - /** Immediate child group rows corresponding to `childResults`. */ - childRows: ReadonlyArray> + /** Results produced for each immediate sub-row group, in sub-row order. */ + subRowResults: ReadonlyArray + /** Immediate sub-row groups corresponding to `subRowResults`. */ + subRows: ReadonlyArray> } /** A context-based aggregation definition and optional grouped-result merge. */ @@ -57,11 +65,11 @@ export interface AggregationFnDef< TValue = unknown, TResult = unknown, > { - /** Computes a result directly from normalized terminal rows. */ + /** Computes a result directly from the selected `rows`. */ aggregate: (context: AggregationContext) => TResult /** - * Combines already-computed immediate child-group results. When omitted, - * nested grouping falls back to `aggregate` over the group's terminal rows. + * Combines already-computed immediate sub-row results. When omitted, + * nested grouping falls back to `aggregate` over the group's selected rows. */ merge?: ( context: AggregationMergeContext, @@ -236,6 +244,12 @@ export interface ColumnDef_Aggregation< * result object. Inline definitions in an array require an explicit `id`. */ aggregationFn?: AggregationFnOption + /** + * Maximum relative sub-row depth used for grouped aggregation and cached + * default totals. `0` selects the supplied root rows, `1` their direct + * sub-rows, and so on. Defaults to `0`. + */ + maxAggregationDepth?: number /** * Optionally supplies a precomputed aggregation value for this column. * Return `{ value }` to handle the request, including `{ value: undefined }`; @@ -257,11 +271,11 @@ export interface Column_Aggregation< > /** * Aggregates this column over the default pre-grouped row model, or over a - * caller-provided array of rows. Explicit rows are normalized to unique - * terminal leaves and are intentionally not cached. + * caller-provided array of rows. `options.maxDepth` overrides the column's + * `maxAggregationDepth`. Explicit-row calls are intentionally not cached. */ getAggregationValue: >( - rows?: ReadonlyArray>, + options?: AggregationValueOptions, ) => TResult /** Infers `sum` for a numeric first row and `extent` for a Date first row. */ getAutoAggregationFn: () => @@ -269,6 +283,17 @@ export interface Column_Aggregation< | undefined } +/** Options for a caller-requested column aggregation value. */ +export interface AggregationValueOptions< + in out TFeatures extends TableFeatures, + in out TData extends RowData, +> { + /** Overrides the column's `maxAggregationDepth` for this request. */ + maxDepth?: number + /** Rows to aggregate instead of the default pre-grouped row model. */ + rows?: ReadonlyArray> +} + /** Cell instance APIs installed by `aggregationFeature`. */ export interface Cell_Aggregation { /** Whether this cell displays an aggregate on a synthetic grouped row. */ @@ -289,6 +314,8 @@ export interface AggregationValueContext< > { /** The column whose value was requested. */ column: Column + /** Maximum relative sub-row depth used for the request. */ + maxDepth: number /** Caller-provided rows, or `undefined` for the default row model. */ rows?: ReadonlyArray> /** The table that owns the column. */ diff --git a/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts b/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts index 8c85a053ac..78c142f82c 100644 --- a/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts +++ b/packages/table-core/src/features/aggregation/aggregationFeature.utils.ts @@ -5,9 +5,11 @@ import type { Row } from '../../types/Row' import type { TableFeatures } from '../../types/TableFeatures' import type { CellData, RowData } from '../../types/type-utils' import type { + AggregationContext, AggregationFnDef, AggregationFnDescriptor, AggregationFnRef, + AggregationValueOptions, ColumnAggregationValue, ResolvedAggregationFn, } from './aggregationFeature.types' @@ -15,6 +17,7 @@ import type { interface AggregationCacheEntry { aggregationFnOption: unknown dependency: unknown + maxDepth: number registry: unknown value: unknown } @@ -50,21 +53,31 @@ function warn(message: string) { } } +function resolveMaxAggregationDepth(maxDepth: number | undefined) { + return maxDepth === undefined || Number.isNaN(maxDepth) + ? 0 + : Math.max(0, Math.floor(maxDepth)) +} + /** - * Flattens hierarchical row inputs to unique terminal leaves in encounter - * order. This is the normalization used by public aggregation-value calls. + * Selects unique rows at a maximum relative depth in encounter order. + * Branches that end before the requested depth contribute their deepest row. */ export function normalizeAggregationRows< TFeatures extends TableFeatures, TData extends RowData, ->(rows: ReadonlyArray>): Array> { +>( + rows: ReadonlyArray>, + maxDepth = 0, +): Array> { const result: Array> = [] const seen = new Set() + const normalizedMaxDepth = resolveMaxAggregationDepth(maxDepth) - const visit = (row: Row) => { - if (row.subRows.length) { + const visit = (row: Row, depth: number) => { + if (row.subRows.length && depth < normalizedMaxDepth) { for (let i = 0; i < row.subRows.length; i++) { - visit(row.subRows[i]!) + visit(row.subRows[i]!, depth + 1) } return } @@ -76,7 +89,7 @@ export function normalizeAggregationRows< } for (let i = 0; i < rows.length; i++) { - visit(rows[i]!) + visit(rows[i]!, 0) } return result @@ -232,35 +245,40 @@ export function column_getAggregationFns< return finish(resolved) } -function getChildResult( - childValue: unknown, +function getSubRowResult( + subRowValue: unknown, isMultiple: boolean, id: string | undefined, ) { - if (!isMultiple) return childValue - if (!id || !childValue || typeof childValue !== 'object') return undefined - return hasOwn(childValue, id) - ? (childValue as Record)[id] + if (!isMultiple) return subRowValue + if (!id || !subRowValue || typeof subRowValue !== 'object') return undefined + return hasOwn(subRowValue, id) + ? (subRowValue as Record)[id] : undefined } -/** Executes every configured aggregation for a column over normalized rows. */ +/** Executes every configured aggregation over a depth-selected row frontier. */ export function aggregateColumnValue< TFeatures extends TableFeatures, TData extends RowData, >(args: { - childRows?: ReadonlyArray> + maxDepth?: number + subRows?: ReadonlyArray> column: Column groupingRow?: Row rows: ReadonlyArray> }): unknown { - const { childRows, column, groupingRow, rows } = args + const { subRows, column, groupingRow, rows } = args const internalColumn = column as Column_Internal + const maxDepth = resolveMaxAggregationDepth( + args.maxDepth ?? internalColumn.columnDef.maxAggregationDepth, + ) + const aggregationRows = normalizeAggregationRows(rows, maxDepth) const entries = column_getAggregationFns(internalColumn) const isMultiple = Array.isArray(internalColumn.columnDef.aggregationFn) const canMerge = - !!childRows?.length && - childRows.every( + !!subRows?.length && + subRows.every( (row) => !!(row as any).groupingColumnId && (row as any).groupingColumnId !== column.id, @@ -270,22 +288,24 @@ export function aggregateColumnValue< const definition = entry.aggregationFn if (!definition) return undefined - const context = { + const context: AggregationContext = { + ...(subRows ? { subRows } : {}), column, columnId: column.id, getValue: (row: Row) => row.getValue(column.id), ...(groupingRow ? { groupingRow } : {}), - rows, + maxDepth, + rows: aggregationRows, table: column.table as any, } if (canMerge && definition.merge) { return definition.merge({ ...context, - childResults: childRows.map((row) => - getChildResult(row.getValue(column.id), isMultiple, entry.id), + subRowResults: subRows.map((row) => + getSubRowResult(row.getValue(column.id), isMultiple, entry.id), ), - childRows: childRows, + subRows, }) } @@ -306,17 +326,22 @@ export function aggregateColumnValue< return result } -/** Implements `column.getAggregationValue(rows?)` and its default-value cache. */ +/** Implements `column.getAggregationValue(options?)` and its default cache. */ export function column_getAggregationValue< TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData, >( column: Column_Internal, - rows?: ReadonlyArray>, + options?: AggregationValueOptions, ): ColumnAggregationValue { + const rows = options?.rows + const resolvedMaxDepth = resolveMaxAggregationDepth( + options?.maxDepth ?? column.columnDef.maxAggregationDepth, + ) const providedResult = column.columnDef.getAggregationValue?.({ column: column as any, + maxDepth: resolvedMaxDepth, rows, table: column.table as any, }) @@ -327,7 +352,8 @@ export function column_getAggregationValue< if (rows !== undefined) { return aggregateColumnValue({ column: column as any, - rows: normalizeAggregationRows(rows), + maxDepth: resolvedMaxDepth, + rows, }) as any } @@ -341,6 +367,7 @@ export function column_getAggregationValue< if ( previous && previous.dependency === model && + previous.maxDepth === resolvedMaxDepth && previous.registry === registry && previous.aggregationFnOption === aggregationFnOption ) { @@ -349,11 +376,13 @@ export function column_getAggregationValue< const value = aggregateColumnValue({ column: column as any, - rows: normalizeAggregationRows(model.rows), + maxDepth: resolvedMaxDepth, + rows: model.rows, }) ;(column as any)._aggregationValueCache = { aggregationFnOption, dependency: model, + maxDepth: resolvedMaxDepth, registry, value, } satisfies AggregationCacheEntry diff --git a/packages/table-core/src/features/aggregation/aggregationFns.ts b/packages/table-core/src/features/aggregation/aggregationFns.ts index 84f34f97eb..207db8903a 100755 --- a/packages/table-core/src/features/aggregation/aggregationFns.ts +++ b/packages/table-core/src/features/aggregation/aggregationFns.ts @@ -39,8 +39,8 @@ function collectRangeValues(context: AggregationContext) { } /** - * Sums numeric row values. Non-number values contribute zero. As in the - * previous API, `NaN` is a number and therefore propagates through the sum. + * Sums numeric selected-row values. Non-number values contribute zero. As in + * the previous API, `NaN` is a number and therefore propagates through the sum. */ export const aggregationFn_sum = constructAggregationFn< any, @@ -56,10 +56,10 @@ export const aggregationFn_sum = constructAggregationFn< } return sum }, - merge: ({ childResults }) => { + merge: ({ subRowResults }) => { let sum = 0 - for (let i = 0; i < childResults.length; i++) { - const value = childResults[i] + for (let i = 0; i < subRowResults.length; i++) { + const value = subRowResults[i] if (isNumber(value)) sum += value } return sum @@ -67,8 +67,8 @@ export const aggregationFn_sum = constructAggregationFn< }) /** - * Finds the minimum numeric or Date value. Invalid value types are ignored; - * `NaN` preserves the legacy numeric seeding behavior. + * Finds the minimum numeric or Date value from the selected rows. Invalid value + * types are ignored; `NaN` preserves the legacy numeric seeding behavior. */ export const aggregationFn_min = constructAggregationFn< any, @@ -84,16 +84,17 @@ export const aggregationFn_min = constructAggregationFn< } return result }, - merge: ({ childResults }) => { + merge: ({ subRowResults }) => { let result: RangeValue | undefined let kind: 'date' | 'number' | undefined - for (let i = 0; i < childResults.length; i++) { - const value = childResults[i] + for (let i = 0; i < subRowResults.length; i++) { + const value = subRowResults[i] const valueKind = getRangeKind(value) if (!valueKind) continue + if (value === undefined) continue kind ??= valueKind if (kind !== valueKind) continue - if (result === undefined || compareRangeValues(value!, result) < 0) { + if (result === undefined || compareRangeValues(value, result) < 0) { result = value } } @@ -102,8 +103,8 @@ export const aggregationFn_min = constructAggregationFn< }) /** - * Finds the maximum numeric or Date value. Invalid value types are ignored; - * `NaN` preserves the legacy numeric seeding behavior. + * Finds the maximum numeric or Date value from the selected rows. Invalid value + * types are ignored; `NaN` preserves the legacy numeric seeding behavior. */ export const aggregationFn_max = constructAggregationFn< any, @@ -119,16 +120,17 @@ export const aggregationFn_max = constructAggregationFn< } return result }, - merge: ({ childResults }) => { + merge: ({ subRowResults }) => { let result: RangeValue | undefined let kind: 'date' | 'number' | undefined - for (let i = 0; i < childResults.length; i++) { - const value = childResults[i] + for (let i = 0; i < subRowResults.length; i++) { + const value = subRowResults[i] const valueKind = getRangeKind(value) if (!valueKind) continue + if (value === undefined) continue kind ??= valueKind if (kind !== valueKind) continue - if (result === undefined || compareRangeValues(value!, result) > 0) { + if (result === undefined || compareRangeValues(value, result) > 0) { result = value } } @@ -137,7 +139,8 @@ export const aggregationFn_max = constructAggregationFn< }) /** - * Finds the minimum and maximum numeric or Date values. Empty inputs return + * Finds the minimum and maximum numeric or Date values from the selected rows. + * Empty inputs return * `[undefined, undefined]`, preserving the previous built-in result shape. */ export const aggregationFn_extent = constructAggregationFn< @@ -158,26 +161,32 @@ export const aggregationFn_extent = constructAggregationFn< } return [min, max] }, - merge: ({ childResults }) => { + merge: ({ subRowResults }) => { let result: [RangeValue | undefined, RangeValue | undefined] = [ undefined, undefined, ] let kind: 'date' | 'number' | undefined - for (let i = 0; i < childResults.length; i++) { - const extent = childResults[i]! - const valueKind = getRangeKind(extent[0]) - if (!valueKind) continue + for (let i = 0; i < subRowResults.length; i++) { + const extent = subRowResults[i]! + const min = extent[0] + const max = extent[1] + const valueKind = getRangeKind(min) + if (!valueKind || min === undefined || max === undefined) continue kind ??= valueKind if (kind !== valueKind) continue if (result[0] === undefined) { - result = [extent[0], extent[1]] + result = [min, max] } else { - if (compareRangeValues(extent[0]!, result[0]) < 0) { - result[0] = extent[0] + if (compareRangeValues(min, result[0]) < 0) { + result[0] = min } - if (compareRangeValues(extent[1]!, result[1]!) > 0) { - result[1] = extent[1] + const currentMax = result[1] + if ( + currentMax === undefined || + compareRangeValues(max, currentMax) > 0 + ) { + result[1] = max } } } @@ -277,10 +286,10 @@ export const aggregationFn_count = constructAggregationFn< number >({ aggregate: ({ rows }) => rows.length, - merge: ({ childResults }) => { + merge: ({ subRowResults }) => { let count = 0 - for (let i = 0; i < childResults.length; i++) { - const value = childResults[i] + for (let i = 0; i < subRowResults.length; i++) { + const value = subRowResults[i] if (isNumber(value)) count += value } return count @@ -296,7 +305,7 @@ export const aggregationFn_first = constructAggregationFn< >({ aggregate: (context) => context.rows[0] ? context.getValue(context.rows[0]) : undefined, - merge: ({ childResults }) => childResults[0], + merge: ({ subRowResults }) => subRowResults[0], }) /** Returns the last row's value, including a nullish value. */ @@ -310,7 +319,7 @@ export const aggregationFn_last = constructAggregationFn< const row = context.rows[context.rows.length - 1] return row ? context.getValue(row) : undefined }, - merge: ({ childResults }) => childResults[childResults.length - 1], + merge: ({ subRowResults }) => subRowResults[subRowResults.length - 1], }) /** diff --git a/packages/table-core/src/features/column-grouping/createGroupedRowModel.ts b/packages/table-core/src/features/column-grouping/createGroupedRowModel.ts index ebf7241ba8..033e36dab5 100644 --- a/packages/table-core/src/features/column-grouping/createGroupedRowModel.ts +++ b/packages/table-core/src/features/column-grouping/createGroupedRowModel.ts @@ -118,7 +118,7 @@ function _createGroupedRowModel< subRow.parentId = id }) - const leafRows = normalizeAggregationRows(groupedRows) + const leafRows = normalizeAggregationRows(groupedRows, Infinity) const row = constructRow( table, @@ -167,10 +167,10 @@ function _createGroupedRowModel< const cache = ((row as any)._aggregationValuesCache ??= makeObjectMap()) cache[colId] = aggregateColumnValue({ - childRows: subRows, + subRows, column, groupingRow: row, - rows: leafRows, + rows: groupedRows, }) return cache[colId] }, diff --git a/packages/table-core/tests/implementation/features/aggregation/aggregationFeature.test.ts b/packages/table-core/tests/implementation/features/aggregation/aggregationFeature.test.ts index 74fe2bde73..f226301cb4 100644 --- a/packages/table-core/tests/implementation/features/aggregation/aggregationFeature.test.ts +++ b/packages/table-core/tests/implementation/features/aggregation/aggregationFeature.test.ts @@ -45,7 +45,7 @@ describe('aggregationFeature', () => { const table = constructTable({ features, data, columns }) expect(table.getColumn('scalar')!.getAggregationValue()).toBe(30) - expect(table.getColumn('scalar')!.getAggregationValue([])).toBe(0) + expect(table.getColumn('scalar')!.getAggregationValue({ rows: [] })).toBe(0) expect(table.getColumn('multiple')!.getAggregationValue()).toEqual({ count: 3, mean: 15, @@ -107,8 +107,8 @@ describe('aggregationFeature', () => { expect(aggregate).toHaveBeenCalledTimes(1) const rows = table.getCoreRowModel().rows - expect(column.getAggregationValue(rows)).toBe(2) - expect(column.getAggregationValue(rows)).toBe(2) + expect(column.getAggregationValue({ rows })).toBe(2) + expect(column.getAggregationValue({ rows })).toBe(2) expect(aggregate).toHaveBeenCalledTimes(3) table.setOptions((old) => ({ ...old, data: [...old.data, { value: 3 }] })) @@ -116,6 +116,36 @@ describe('aggregationFeature', () => { expect(aggregate).toHaveBeenCalledTimes(4) }) + it('includes aggregation depth in the default-row cache key', () => { + type Node = { value: number; subRows?: Array } + const aggregate = vi.fn(({ rows }) => rows.length) + const sized = constructAggregationFn({ + aggregate, + }) + const features = testFeatures({ + aggregationFeature, + aggregationFns: { sized }, + }) + const table = constructTable({ + features, + data: [{ value: 10, subRows: [{ value: 1 }, { value: 2 }] }], + columns: [{ accessorKey: 'value', aggregationFn: 'sized' }], + getSubRows: (row: Node) => row.subRows, + }) + const column = table.getColumn('value')! + + expect(column.getAggregationValue()).toBe(1) + expect(column.getAggregationValue()).toBe(1) + expect(aggregate).toHaveBeenCalledTimes(1) + + expect(column.getAggregationValue({ maxDepth: 1 })).toBe(2) + expect(column.getAggregationValue({ maxDepth: 1 })).toBe(2) + expect(aggregate).toHaveBeenCalledTimes(2) + + expect(column.getAggregationValue()).toBe(1) + expect(aggregate).toHaveBeenCalledTimes(3) + }) + it('accepts rows from any row model or custom selection', () => { const features = testFeatures({ aggregationFeature, @@ -152,17 +182,25 @@ describe('aggregationFeature', () => { const column = table.getColumn('amount')! expect(column.getAggregationValue()).toBe(11) - expect(column.getAggregationValue(table.getCoreRowModel().rows)).toBe(15) - expect(column.getAggregationValue(table.getRowModel().rows)).toBe(3) expect( - column.getAggregationValue(table.getFilteredSelectedRowModel().rows), - ).toBe(2) - expect(column.getAggregationValue([table.getCoreRowModel().rows[2]!])).toBe( - 4, + column.getAggregationValue({ rows: table.getCoreRowModel().rows }), + ).toBe(15) + expect(column.getAggregationValue({ rows: table.getRowModel().rows })).toBe( + 3, ) + expect( + column.getAggregationValue({ + rows: table.getFilteredSelectedRowModel().rows, + }), + ).toBe(2) + expect( + column.getAggregationValue({ + rows: [table.getCoreRowModel().rows[2]!], + }), + ).toBe(4) }) - it('normalizes hierarchical and duplicate explicit rows to terminal leaves', () => { + it('selects a unique depth frontier and keeps shorter ragged branches', () => { type Node = { amount: number; subRows?: Array } const features = testFeatures({ aggregationFeature, aggregationFns }) const data: Array = [ @@ -170,6 +208,7 @@ describe('aggregationFeature', () => { amount: 100, subRows: [{ amount: 2 }, { amount: 3 }], }, + { amount: 200 }, ] const table = constructTable({ features, @@ -177,14 +216,20 @@ describe('aggregationFeature', () => { columns: [{ accessorKey: 'amount', aggregationFn: 'sum' }], getSubRows: (row) => row.subRows, }) - const parent = table.getCoreRowModel().rows[0]! + const rows = table.getCoreRowModel().rows + const parent = rows[0]! + const column = table.getColumn('amount')! - expect(table.getColumn('amount')!.getAggregationValue()).toBe(5) + expect(column.getAggregationValue()).toBe(300) + expect(column.getAggregationValue({ maxDepth: 1 })).toBe(205) + expect(column.getAggregationValue({ maxDepth: Infinity })).toBe(205) expect( - table - .getColumn('amount')! - .getAggregationValue([parent, parent.subRows[0]!]), + column.getAggregationValue({ + maxDepth: 1, + rows: [parent, parent.subRows[0]!], + }), ).toBe(5) + expect(table.getMaxSubRowDepth()).toBe(1) }) it('uses handled column values and configurable local fallback', () => { @@ -205,7 +250,9 @@ describe('aggregationFeature', () => { }) const column = table.getColumn('amount')! - expect(column.getAggregationValue(table.getCoreRowModel().rows)).toBe(99) + expect( + column.getAggregationValue({ rows: table.getCoreRowModel().rows }), + ).toBe(99) expect(column.getAggregationValue()).toBe(3) table.setOptions((old) => ({ ...old, manualAggregation: true })) @@ -293,17 +340,145 @@ describe('aggregation and grouping integration', () => { expect(column.getAggregationValue()).toBe(2) const rootContext = aggregate.mock.calls[0]![0] + expect(rootContext).not.toHaveProperty('subRows') expect(rootContext).not.toHaveProperty('groupingRow') expect(rootContext).not.toHaveProperty('source') const groupingRow = table.getGroupedRowModel().rows[0]! expect(groupingRow.getValue('amount')).toBe(2) const groupedContext = aggregate.mock.calls[1]![0] + expect(groupedContext.subRows).toBe(groupingRow.subRows) expect(groupedContext.groupingRow).toBe(groupingRow) expect(groupedContext.groupingRow!.depth).toBe(0) expect(groupedContext).not.toHaveProperty('source') }) + it('lets aggregate choose immediate sub-rows instead of terminal rows', () => { + const aggregate = vi.fn(({ subRows, rows }) => + subRows ? subRows.length : rows.length, + ) + const childCount = constructAggregationFn({ + aggregate, + }) + const features = testFeatures({ + aggregationFeature, + aggregationFns: { childCount }, + columnGroupingFeature, + groupedRowModel: createGroupedRowModel(), + }) + const table = constructTable({ + features, + data: [ + { region: 'a', team: 'x', amount: 1 }, + { region: 'a', team: 'x', amount: 2 }, + { region: 'a', team: 'y', amount: 3 }, + ], + columns: [ + { accessorKey: 'region' }, + { accessorKey: 'team' }, + { accessorKey: 'amount', aggregationFn: 'childCount' }, + ], + initialState: { grouping: ['region', 'team'] }, + }) + + const region = table.getGroupedRowModel().rows[0]! + const team = region.subRows[0]! + + expect(team.getValue('amount')).toBe(2) + expect(region.getValue('amount')).toBe(2) + + const terminalContext = aggregate.mock.calls[0]![0] + expect(terminalContext.subRows).toBe(team.subRows) + expect(terminalContext.rows).toHaveLength(2) + + const nestedContext = aggregate.mock.calls[1]![0] + expect(nestedContext.subRows).toBe(region.subRows) + expect(nestedContext.subRows).toHaveLength(2) + expect(nestedContext.rows).toHaveLength(3) + }) + + it('preserves direct sub-row semantics for reaggregatable built-ins', () => { + type Node = { + amount: number + region?: string + subRows?: Array + team?: string + } + const features = testFeatures({ + aggregationFeature, + aggregationFns, + columnGroupingFeature, + groupedRowModel: createGroupedRowModel(), + }) + const data: Array = [ + { + amount: 100, + region: 'a', + team: 'x', + subRows: [{ amount: 1 }, { amount: 2 }], + }, + { + amount: 200, + region: 'a', + team: 'y', + subRows: [{ amount: 3 }, { amount: 4 }], + }, + ] + const table = constructTable({ + features, + data, + columns: [ + { accessorKey: 'region' }, + { accessorKey: 'team' }, + { accessorFn: (row) => row.amount, id: 'sum', aggregationFn: 'sum' }, + { accessorFn: (row) => row.amount, id: 'min', aggregationFn: 'min' }, + { accessorFn: (row) => row.amount, id: 'max', aggregationFn: 'max' }, + { + accessorFn: (row) => row.amount, + id: 'extent', + aggregationFn: 'extent', + }, + { + accessorFn: (row) => row.amount, + id: 'stats', + aggregationFn: ['sum', 'mean', 'count'], + }, + { + accessorFn: (row) => row.amount, + id: 'subRowStats', + aggregationFn: ['sum', 'mean', 'count'], + maxAggregationDepth: 1, + }, + ], + getSubRows: (row) => row.subRows, + initialState: { grouping: ['region', 'team'] }, + }) + + const region = table.getGroupedRowModel().rows[0]! + const teams = region.subRows + + expect(teams.map((row) => row.getValue('sum'))).toEqual([100, 200]) + expect(region.getValue('sum')).toBe(300) + expect(region.getValue('min')).toBe(100) + expect(region.getValue('max')).toBe(200) + expect(region.getValue('extent')).toEqual([100, 200]) + expect(region.getValue('stats')).toEqual({ + count: 2, + mean: 150, + sum: 300, + }) + expect(region.getValue('subRowStats')).toEqual({ + count: 4, + mean: 2.5, + sum: 10, + }) + + expect(table.getColumn('sum')!.getAggregationValue()).toBe(300) + expect(table.getColumn('sum')!.getAggregationValue({ maxDepth: 1 })).toBe( + 10, + ) + }) + it('keeps grouping structural when aggregationFeature is absent', () => { const features = testFeatures({ columnGroupingFeature, @@ -390,11 +565,15 @@ describe('aggregation and grouping integration', () => { ).toBe(false) }) - it('caches grouped values and merges child results without rescanning parent leaves', () => { + it('caches grouped values and merges sub-row results without rescanning parent leaves', () => { const aggregate = vi.fn(({ rows }) => rows.length) const merge = vi.fn( - ({ childResults }: { childResults: ReadonlyArray }) => - childResults.reduce((total, value) => total + value, 0), + ({ + subRowResults, + }: { + subRowResults: ReadonlyArray + subRows: ReadonlyArray + }) => subRowResults.reduce((total, value) => total + value, 0), ) const sized = constructAggregationFn({ aggregate, @@ -426,6 +605,8 @@ describe('aggregation and grouping integration', () => { expect(region.getValue('amount')).toBe(3) expect(aggregate).toHaveBeenCalledTimes(2) expect(merge).toHaveBeenCalledTimes(1) + expect(merge.mock.calls[0]![0].subRows).toBe(region.subRows) + expect(merge.mock.calls[0]![0].subRowResults).toEqual([2, 1]) }) it('rebuilds grouped aggregation values when column definitions change', () => { @@ -460,7 +641,7 @@ describe('aggregation and grouping integration', () => { expect(countedGroup.getValue('amount')).toBe(2) }) - it('treats supplied hierarchical rows as terminal-leaf subtrees', () => { + it('applies depth selection to supplied grouped and expanded rows', () => { const features = testFeatures({ aggregationFeature, aggregationFns, @@ -483,8 +664,18 @@ describe('aggregation and grouping integration', () => { }) const column = table.getColumn('amount')! - expect(column.getAggregationValue(table.getRowModel().rows)).toBe(3) + expect(column.getAggregationValue({ rows: table.getRowModel().rows })).toBe( + 3, + ) table.setExpanded(true) - expect(column.getAggregationValue(table.getRowModel().rows)).toBe(3) + expect(column.getAggregationValue({ rows: table.getRowModel().rows })).toBe( + 6, + ) + expect( + column.getAggregationValue({ + maxDepth: Infinity, + rows: table.getRowModel().rows, + }), + ).toBe(3) }) }) diff --git a/packages/table-core/tests/unit/core/rows/coreRowsFeature.utils.test.ts b/packages/table-core/tests/unit/core/rows/coreRowsFeature.utils.test.ts index 6317d3bf8e..05d2971736 100644 --- a/packages/table-core/tests/unit/core/rows/coreRowsFeature.utils.test.ts +++ b/packages/table-core/tests/unit/core/rows/coreRowsFeature.utils.test.ts @@ -11,6 +11,7 @@ import { row_renderValue, table_getRow, table_getRowId, + table_getMaxSubRowDepth, } from '../../../../src/core/rows/coreRowsFeature.utils' import { testFeatures } from '../../../fixtures/features' import { generateTestColumnDefs } from '../../../fixtures/data/generateTestColumnDefs' @@ -172,6 +173,21 @@ describe('row_renderValue', () => { }) describe('row tree readers', () => { + it('memoizes the deepest structural sub-row depth on the table', () => { + const table = makeNestedTable([2, 2, 2]) + const coreRowModel = table.getCoreRowModel() + + expect(table_getMaxSubRowDepth(table as any)).toBe(2) + expect(table.getMaxSubRowDepth()).toBe(2) + expect(table.getMaxSubRowDepth()).toBe(2) + expect(table.getCoreRowModel()).toBe(coreRowModel) + }) + + it('returns zero for flat and empty row models', () => { + expect(makeTable(2).getMaxSubRowDepth()).toBe(0) + expect(makeTable(0).getMaxSubRowDepth()).toBe(0) + }) + it('row_getLeafRows should flatten all descendants', () => { const table = makeNestedTable([2, 2, 2]) const row = table.getRow('0') diff --git a/packages/table-core/tests/unit/core/table/rowModelSlots.test.ts b/packages/table-core/tests/unit/core/table/rowModelSlots.test.ts index bae3588323..e2b03d997b 100644 --- a/packages/table-core/tests/unit/core/table/rowModelSlots.test.ts +++ b/packages/table-core/tests/unit/core/table/rowModelSlots.test.ts @@ -369,14 +369,16 @@ describe('row model and fn registry feature slots', () => { }) const column = table.getColumn('age')! column.getAggregationFns() - column.getAggregationValue(table.getCoreRowModel().rows) + column.getAggregationValue({ rows: table.getCoreRowModel().rows }) if (false) { // @ts-expect-error - grouping APIs are absent without columnGroupingFeature column.getCanGroup() // @ts-expect-error - row-selection row models require rowSelectionFeature table.getFilteredSelectedRowModel() - // @ts-expect-error - aggregation values accept rows directly, not options - column.getAggregationValue({ rows: table.getCoreRowModel().rows }) + // @ts-expect-error - aggregation options use known properties + column.getAggregationValue({ scope: 'core' }) + // @ts-expect-error - rows are provided through the options object + column.getAggregationValue(table.getCoreRowModel().rows) } const selectedFeatures = tableFeatures({ @@ -389,9 +391,9 @@ describe('row model and fn registry feature slots', () => { data, columns: [{ accessorKey: 'age', aggregationFn: 'sum' }], }) - selectedTable - .getColumn('age')! - .getAggregationValue(selectedTable.getFilteredSelectedRowModel().rows) + selectedTable.getColumn('age')!.getAggregationValue({ + rows: selectedTable.getFilteredSelectedRowModel().rows, + }) const groupingFeatures = tableFeatures({ columnGroupingFeature, diff --git a/packages/table-core/tests/unit/fns/aggregationFns.test.ts b/packages/table-core/tests/unit/fns/aggregationFns.test.ts index 8a11c7bfad..fc7d58b7cb 100644 --- a/packages/table-core/tests/unit/fns/aggregationFns.test.ts +++ b/packages/table-core/tests/unit/fns/aggregationFns.test.ts @@ -36,8 +36,8 @@ describe('aggregation function definitions', () => { expect( aggregationFn_sum.merge!({ ...context([]), - childResults: [4, undefined, 6], - childRows: [], + subRowResults: [4, undefined, 6], + subRows: [], }), ).toBe(10) }) diff --git a/packages/table-devtools/package.json b/packages/table-devtools/package.json index 1cd81b02d5..0c255be1fa 100644 --- a/packages/table-devtools/package.json +++ b/packages/table-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/table-devtools", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Devtools for TanStack Table.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/table-devtools/skills/devtools/SKILL.md b/packages/table-devtools/skills/devtools/SKILL.md index 2d63d88c30..e90ea2f317 100644 --- a/packages/table-devtools/skills/devtools/SKILL.md +++ b/packages/table-devtools/skills/devtools/SKILL.md @@ -5,7 +5,7 @@ description: > metadata: type: core library: '@tanstack/table-devtools' - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' sources: diff --git a/packages/vue-table-devtools/package.json b/packages/vue-table-devtools/package.json index 2ae1770c43..6ad46fbdbf 100644 --- a/packages/vue-table-devtools/package.json +++ b/packages/vue-table-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-table-devtools", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Vue devtools for TanStack Table.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/vue-table-devtools/skills/devtools/SKILL.md b/packages/vue-table-devtools/skills/devtools/SKILL.md index 4f782f1c71..defc8d8ea6 100644 --- a/packages/vue-table-devtools/skills/devtools/SKILL.md +++ b/packages/vue-table-devtools/skills/devtools/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/vue-table-devtools' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-devtools#devtools' diff --git a/packages/vue-table/package.json b/packages/vue-table/package.json index b7276401ef..b239b9431f 100644 --- a/packages/vue-table/package.json +++ b/packages/vue-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-table", - "version": "9.0.0-beta.49", + "version": "9.0.0-beta.50", "description": "Headless UI for building powerful tables & datagrids for Vue.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/vue-table/skills/create-table-hook/SKILL.md b/packages/vue-table/skills/create-table-hook/SKILL.md index 6d1d42d1cc..726f1fa68c 100644 --- a/packages/vue-table/skills/create-table-hook/SKILL.md +++ b/packages/vue-table/skills/create-table-hook/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/vue-table' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/vue-table/skills/getting-started/SKILL.md b/packages/vue-table/skills/getting-started/SKILL.md index 2ce18deca3..9de8ee42aa 100644 --- a/packages/vue-table/skills/getting-started/SKILL.md +++ b/packages/vue-table/skills/getting-started/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/vue-table' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - '@tanstack/table-core#table-features' diff --git a/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md b/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md index 033c3c82af..2edd6dc49f 100644 --- a/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md @@ -6,7 +6,7 @@ metadata: type: lifecycle library: '@tanstack/vue-table' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#migrate-v8-to-v9' - getting-started diff --git a/packages/vue-table/skills/table-state/SKILL.md b/packages/vue-table/skills/table-state/SKILL.md index 5680f5767f..2b729e9d03 100644 --- a/packages/vue-table/skills/table-state/SKILL.md +++ b/packages/vue-table/skills/table-state/SKILL.md @@ -6,7 +6,7 @@ metadata: type: framework library: '@tanstack/vue-table' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started diff --git a/packages/vue-table/skills/with-tanstack-query/SKILL.md b/packages/vue-table/skills/with-tanstack-query/SKILL.md index 2839a378b6..f04c04b4ee 100644 --- a/packages/vue-table/skills/with-tanstack-query/SKILL.md +++ b/packages/vue-table/skills/with-tanstack-query/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/vue-table' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#client-vs-server' - getting-started diff --git a/packages/vue-table/skills/with-tanstack-virtual/SKILL.md b/packages/vue-table/skills/with-tanstack-virtual/SKILL.md index 972c29bcd7..43937c958a 100644 --- a/packages/vue-table/skills/with-tanstack-virtual/SKILL.md +++ b/packages/vue-table/skills/with-tanstack-virtual/SKILL.md @@ -6,7 +6,7 @@ metadata: type: composition library: '@tanstack/vue-table' framework: vue - library_version: '9.0.0-beta.49' + library_version: '9.0.0-beta.50' requires: - '@tanstack/table-core#core' - getting-started