@tanstack/table-core 9.0.0-beta.54 → 9.0.0-beta.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/core/cells/constructCell.d.ts +2 -2
  2. package/dist/core/cells/constructCell.js +2 -0
  3. package/dist/core/cells/coreCellsFeature.types.d.ts +2 -2
  4. package/dist/core/cells/coreCellsFeature.utils.d.ts +2 -2
  5. package/dist/core/columns/constructColumn.js +5 -4
  6. package/dist/core/headers/buildHeaderGroups.js +2 -0
  7. package/dist/core/headers/constructHeader.js +2 -0
  8. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +4 -4
  9. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +1 -1
  10. package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
  11. package/dist/core/rows/constructRow.d.ts +1 -1
  12. package/dist/core/rows/constructRow.js +2 -2
  13. package/dist/core/rows/coreRowsFeature.types.d.ts +2 -2
  14. package/dist/core/rows/coreRowsFeature.utils.d.ts +4 -4
  15. package/dist/core/rows/coreRowsFeature.utils.js +4 -3
  16. package/dist/core/table/constructTable.js +19 -1
  17. package/dist/core/table/coreTablesFeature.types.d.ts +21 -1
  18. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
  19. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  20. package/dist/features/column-faceting/createFacetedRowModel.js +3 -2
  21. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +1 -1
  22. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -1
  23. package/dist/features/column-filtering/columnFilteringFeature.utils.js +9 -2
  24. package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -1
  25. package/dist/features/column-filtering/createFilteredRowModel.js +3 -2
  26. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +3 -3
  27. package/dist/features/column-grouping/createGroupedRowModel.d.ts +1 -1
  28. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +1 -1
  29. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +3 -3
  30. package/dist/features/column-resizing/columnResizingFeature.utils.js +1 -2
  31. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +1 -1
  32. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +1 -1
  33. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +3 -3
  34. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +1 -1
  35. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +1 -1
  36. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +2 -2
  37. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +2 -2
  38. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  39. package/dist/features/row-expanding/createExpandedRowModel.js +3 -2
  40. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +2 -5
  41. package/dist/features/row-expanding/rowExpandingFeature.utils.js +1 -5
  42. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  43. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -1
  44. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +2 -3
  45. package/dist/features/row-selection/rowSelectionFeature.utils.js +1 -3
  46. package/dist/features/row-sorting/createSortedRowModel.d.ts +1 -1
  47. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +2 -3
  48. package/dist/features/row-sorting/rowSortingFeature.utils.js +2 -4
  49. package/dist/index.d.ts +20 -20
  50. package/dist/types/Cell.d.ts +1 -1
  51. package/dist/types/Column.d.ts +7 -7
  52. package/dist/types/ColumnDef.d.ts +5 -5
  53. package/dist/types/Header.d.ts +1 -1
  54. package/dist/types/Row.d.ts +4 -4
  55. package/dist/types/RowModel.d.ts +4 -4
  56. package/dist/types/Table.d.ts +12 -12
  57. package/dist/types/TableFeatures.d.ts +40 -5
  58. package/dist/types/TableOptions.d.ts +12 -12
  59. package/dist/types/TableState.d.ts +8 -8
  60. package/dist/types/type-utils.d.ts +1 -1
  61. package/dist/worker/createWorkerRowModel.d.ts +1 -1
  62. package/dist/worker/initTableWorker.js +1 -1
  63. package/package.json +1 -1
  64. package/skills/aggregation/SKILL.md +1 -1
  65. package/skills/api-not-found/SKILL.md +1 -1
  66. package/skills/client-vs-server/SKILL.md +1 -1
  67. package/skills/column-faceting/SKILL.md +1 -1
  68. package/skills/column-filtering/SKILL.md +1 -1
  69. package/skills/column-ordering/SKILL.md +1 -1
  70. package/skills/column-pinning/SKILL.md +1 -1
  71. package/skills/column-resizing/SKILL.md +1 -1
  72. package/skills/column-sizing/SKILL.md +1 -1
  73. package/skills/column-visibility/SKILL.md +1 -1
  74. package/skills/core/SKILL.md +1 -1
  75. package/skills/custom-features/SKILL.md +1 -1
  76. package/skills/expanding/SKILL.md +1 -1
  77. package/skills/global-filtering/SKILL.md +1 -1
  78. package/skills/grouping/SKILL.md +1 -1
  79. package/skills/migrate-v8-to-v9/SKILL.md +1 -1
  80. package/skills/pagination/SKILL.md +1 -1
  81. package/skills/row-pinning/SKILL.md +1 -1
  82. package/skills/row-selection/SKILL.md +1 -1
  83. package/skills/sorting/SKILL.md +1 -1
  84. package/skills/table-features/SKILL.md +1 -1
  85. package/skills/typescript/SKILL.md +1 -1
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
3
2
  import { Table } from "../../types/Table.js";
3
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
4
4
  import { TableFeatures } from "../../types/TableFeatures.js";
5
5
 
6
6
  //#region src/features/row-pagination/createPaginatedRowModel.d.ts
@@ -1,7 +1,7 @@
1
1
  import { RowData, Updater } from "../../types/type-utils.js";
2
2
  import { RowPinningPosition, RowPinningState } from "./rowPinningFeature.types.js";
3
- import { Row } from "../../types/Row.js";
4
3
  import { Table } from "../../types/Table.js";
4
+ import { Row } from "../../types/Row.js";
5
5
  import { TableFeatures } from "../../types/TableFeatures.js";
6
6
 
7
7
  //#region src/features/row-pinning/rowPinningFeature.utils.d.ts
@@ -1,8 +1,8 @@
1
1
  import { RowData, Updater } from "../../types/type-utils.js";
2
2
  import { RowSelectionState, ToggleSelectedOptions } from "./rowSelectionFeature.types.js";
3
+ import { Table } from "../../types/Table.js";
3
4
  import { Row } from "../../types/Row.js";
4
5
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
5
- import { Table } from "../../types/Table.js";
6
6
  import { TableFeatures } from "../../types/TableFeatures.js";
7
7
 
8
8
  //#region src/features/row-selection/rowSelectionFeature.utils.d.ts
@@ -298,8 +298,7 @@ declare function row_getCanMultiSelect<TFeatures extends TableFeatures, TData ex
298
298
  *
299
299
  * The handler is a no-op when the row cannot be selected and reads
300
300
  * `event.target.checked`. Shift events select or deselect the inclusive range
301
- * from the most recent selectable row handled by this table. The event's
302
- * optional `persist()` method is called before it is read. Pass
301
+ * from the most recent selectable row handled by this table. Pass
303
302
  * `selectChildren: false` to limit changes to rows explicitly present in the
304
303
  * display-order interval.
305
304
  *
@@ -390,8 +390,7 @@ function row_getCanMultiSelect(row) {
390
390
  *
391
391
  * The handler is a no-op when the row cannot be selected and reads
392
392
  * `event.target.checked`. Shift events select or deselect the inclusive range
393
- * from the most recent selectable row handled by this table. The event's
394
- * optional `persist()` method is called before it is read. Pass
393
+ * from the most recent selectable row handled by this table. Pass
395
394
  * `selectChildren: false` to limit changes to rows explicitly present in the
396
395
  * display-order interval.
397
396
  *
@@ -405,7 +404,6 @@ function row_getToggleSelectedHandler(row, opts) {
405
404
  return (e) => {
406
405
  if (!canSelect) return;
407
406
  const event = e;
408
- event.persist?.();
409
407
  const table = row.table;
410
408
  const checked = event.target.checked;
411
409
  const anchorId = table._lastSelectedRowId;
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
3
2
  import { Table } from "../../types/Table.js";
3
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
4
4
  import { TableFeatures } from "../../types/TableFeatures.js";
5
5
 
6
6
  //#region src/features/row-sorting/createSortedRowModel.d.ts
@@ -178,9 +178,8 @@ declare function column_clearSorting<TFeatures extends TableFeatures, TData exte
178
178
  /**
179
179
  * Creates a header event handler that toggles this column's sorting.
180
180
  *
181
- * The handler ignores events when the column cannot sort, persists React-style
182
- * synthetic events when present, and asks `options.isMultiSortEvent` whether
183
- * the event should add to a multi-sort.
181
+ * The handler ignores events when the column cannot sort, and asks
182
+ * `options.isMultiSortEvent` whether the event should add to a multi-sort.
184
183
  *
185
184
  * @example
186
185
  * ```ts
@@ -279,9 +279,8 @@ function column_clearSorting(column) {
279
279
  /**
280
280
  * Creates a header event handler that toggles this column's sorting.
281
281
  *
282
- * The handler ignores events when the column cannot sort, persists React-style
283
- * synthetic events when present, and asks `options.isMultiSortEvent` whether
284
- * the event should add to a multi-sort.
282
+ * The handler ignores events when the column cannot sort, and asks
283
+ * `options.isMultiSortEvent` whether the event should add to a multi-sort.
285
284
  *
286
285
  * @example
287
286
  * ```ts
@@ -292,7 +291,6 @@ function column_getToggleSortingHandler(column) {
292
291
  const canSort = column_getCanSort(column);
293
292
  return (e) => {
294
293
  if (!canSort) return;
295
- e.persist?.();
296
294
  column_toggleSorting(column, void 0, column_getCanMultiSort(column) ? column.table.options.isMultiSortEvent?.(e) : false);
297
295
  };
298
296
  }
package/dist/index.d.ts CHANGED
@@ -6,41 +6,41 @@ import { coreRowModelsFeature } from "./core/row-models/coreRowModelsFeature.js"
6
6
  import { coreRowsFeature } from "./core/rows/coreRowsFeature.js";
7
7
  import { coreTablesFeature } from "./core/table/coreTablesFeature.js";
8
8
  import { CoreFeatures, coreFeatures } from "./core/coreFeatures.js";
9
+ import { CachedRowModel_Faceted, Column_ColumnFaceting, Table_ColumnFaceting, Table_RowModels_Faceted } from "./features/column-faceting/columnFacetingFeature.types.js";
9
10
  import { BuiltInFilterFn, constructFilterFn, filterFn_arrHas, filterFn_arrIncludes, filterFn_arrIncludesAll, filterFn_arrIncludesSome, filterFn_between, filterFn_betweenInclusive, filterFn_empty, filterFn_endsWith, filterFn_equals, filterFn_equalsString, filterFn_equalsStringSensitive, filterFn_greaterThan, filterFn_greaterThanOrEqualTo, filterFn_inDateRange, filterFn_inNumberRange, filterFn_includesString, filterFn_includesStringSensitive, filterFn_lessThan, filterFn_lessThanOrEqualTo, filterFn_notEmpty, filterFn_startsWith, filterFn_weakEquals, filterFns } from "./features/column-filtering/filterFns.js";
10
- import { CachedRowModel_Grouped, Cell_ColumnGrouping, ColumnDef_ColumnGrouping, ColumnDefaultOptions, Column_ColumnGrouping, GroupingColumnMode, GroupingState, Row_ColumnGrouping, TableOptions_ColumnGrouping, TableState_ColumnGrouping, Table_ColumnGrouping, Table_RowModels_Grouped } from "./features/column-grouping/columnGroupingFeature.types.js";
11
- import { BuiltInAggregationFn, aggregationFn_count, aggregationFn_extent, aggregationFn_first, aggregationFn_last, aggregationFn_max, aggregationFn_mean, aggregationFn_median, aggregationFn_min, aggregationFn_sum, aggregationFn_unique, aggregationFn_uniqueCount, aggregationFns } from "./features/row-aggregation/aggregationFns.js";
12
- import { CellContext, Cell_Cell, Cell_CoreProperties, TableOptions_Cell } from "./core/cells/coreCellsFeature.types.js";
13
- import { HeaderGroup, HeaderGroup_Core } from "./types/HeaderGroup.js";
14
- import { ColumnDef_ColumnPinning, ColumnPinningDefaultOptions, ColumnPinningPosition, ColumnPinningState, Column_ColumnPinning, Row_ColumnPinning, TableOptions_ColumnPinning, TableState_ColumnPinning, Table_ColumnPinning } from "./features/column-pinning/columnPinningFeature.types.js";
15
- import { ColumnDef_ColumnSizing, ColumnOffsets, ColumnOffsetsByPosition, ColumnSizingDefaultOptions, ColumnSizingState, Column_ColumnSizing, Header_ColumnSizing, TableOptions_ColumnSizing, TableState_ColumnSizing, Table_ColumnSizing } from "./features/column-sizing/columnSizingFeature.types.js";
16
11
  import { ColumnDef_ColumnResizing, ColumnResizeDirection, ColumnResizeMode, ColumnResizingDefaultOptions, Column_ColumnResizing, Header_ColumnResizing, TableOptions_ColumnResizing, TableState_ColumnResizing, Table_ColumnResizing, columnResizingState } from "./features/column-resizing/columnResizingFeature.types.js";
17
- import { Header, Header_Core, Header_FeatureMap } from "./types/Header.js";
12
+ import { ColumnDef_ColumnSizing, ColumnOffsets, ColumnOffsetsByPosition, ColumnSizingDefaultOptions, ColumnSizingState, Column_ColumnSizing, Header_ColumnSizing, TableOptions_ColumnSizing, TableState_ColumnSizing, Table_ColumnSizing } from "./features/column-sizing/columnSizingFeature.types.js";
13
+ import { HeaderGroup, HeaderGroup_Core } from "./types/HeaderGroup.js";
18
14
  import { HeaderContext, HeaderGroup_Header, Header_CoreProperties, Header_Header, Table_Headers } from "./core/headers/coreHeadersFeature.types.js";
15
+ import { Header, Header_Core, Header_FeatureMap } from "./types/Header.js";
16
+ import { ColumnDef_ColumnPinning, ColumnPinningDefaultOptions, ColumnPinningPosition, ColumnPinningState, Column_ColumnPinning, Row_ColumnPinning, TableOptions_ColumnPinning, TableState_ColumnPinning, Table_ColumnPinning } from "./features/column-pinning/columnPinningFeature.types.js";
17
+ import { ColumnIndexes, ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering } from "./features/column-ordering/columnOrderingFeature.types.js";
18
+ import { RowPinningDefaultOptions, RowPinningPosition, RowPinningState, Row_RowPinning, TableOptions_RowPinning, TableState_RowPinning, Table_RowPinning } from "./features/row-pinning/rowPinningFeature.types.js";
19
19
  import { ColumnDef_GlobalFiltering, Column_GlobalFiltering, TableOptions_GlobalFiltering, TableState_GlobalFiltering, Table_GlobalFiltering } from "./features/global-filtering/globalFilteringFeature.types.js";
20
+ import { CachedRowModel_Expanded, ExpandedState, ExpandedStateList, Row_RowExpanding, TableOptions_RowExpanding, TableState_RowExpanding, Table_RowExpanding, Table_RowModels_Expanded } from "./features/row-expanding/rowExpandingFeature.types.js";
21
+ import { CachedRowModel_Paginated, PaginationDefaultOptions, PaginationState, TableOptions_RowPagination, TableState_RowPagination, Table_RowModels_Paginated, Table_RowPagination } from "./features/row-pagination/rowPaginationFeature.types.js";
22
+ import { RowSelectionState, Row_RowSelection, TableOptions_RowSelection, TableState_RowSelection, Table_RowSelection, ToggleSelectedOptions } from "./features/row-selection/rowSelectionFeature.types.js";
20
23
  import { BuiltInSortFn, constructSortFn, reSplitAlphaNumeric, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, sortFns } from "./features/row-sorting/sortFns.js";
21
24
  import { CachedRowModel_Sorted, ColumnDef_RowSorting, ColumnSort, Column_RowSorting, CreatedSortFn, CustomSortFns, ExtractSortFnKeys, RowModelFns_RowSorting, SortDirection, SortFn, SortFnDef, SortFnOption, SortFns, SortingState, TableOptions_RowSorting, TableState_RowSorting, Table_RowModels_Sorted, Table_RowSorting } from "./features/row-sorting/rowSortingFeature.types.js";
25
+ import { CachedRowModel_All, CachedRowModels, CachedRowModels_FeatureMap } from "./types/RowModel.js";
26
+ import { BuiltInAggregationFn, aggregationFn_count, aggregationFn_extent, aggregationFn_first, aggregationFn_last, aggregationFn_max, aggregationFn_mean, aggregationFn_median, aggregationFn_min, aggregationFn_sum, aggregationFn_unique, aggregationFn_uniqueCount, aggregationFns } from "./features/row-aggregation/aggregationFns.js";
27
+ import { CellContext, Cell_Cell, Cell_CoreProperties, TableOptions_Cell } from "./core/cells/coreCellsFeature.types.js";
22
28
  import { AccessorColumnDef, AccessorFn, AccessorFnColumnDef, AccessorFnColumnDefBase, AccessorKeyColumnDef, AccessorKeyColumnDefBase, ColumnDef, ColumnDefBase, ColumnDefBase_All, ColumnDefResolved, ColumnDefTemplate, ColumnDef_FeatureMap, ColumnMeta, DisplayColumnDef, ExtractColumnMeta, GroupColumnDef, IdIdentifier, IdentifiedColumnDef, StringHeaderIdentifier, StringOrTemplateHeader } from "./types/ColumnDef.js";
23
29
  import { AggregationContext, AggregationFnDef, AggregationFnDescriptor, AggregationFnListItem, AggregationFnOption, AggregationFnRef, AggregationFns, AggregationMergeContext, AggregationResult, AggregationResultOf, AggregationValueContext, AggregationValueOptions, AggregationValueResult, Cell_Aggregation, ColumnAggregationValue, ColumnDef_Aggregation, Column_Aggregation, CustomAggregationFns, ExtractAggregationFnKeys, ResolvedAggregationFn, RowModelFns_Aggregation, Row_Aggregation, TableOptions_Aggregation, constructAggregationFn } from "./features/row-aggregation/rowAggregationFeature.types.js";
24
- import { Cell, Cell_Core, Cell_FeatureMap } from "./types/Cell.js";
25
- import { ColumnDef_ColumnVisibility, ColumnVisibilityState, Column_ColumnVisibility, Row_ColumnVisibility, TableOptions_ColumnVisibility, TableState_ColumnVisibility, Table_ColumnVisibility, VisibilityDefaultOptions } from "./features/column-visibility/columnVisibilityFeature.types.js";
26
- import { CachedRowModel_Expanded, ExpandedState, ExpandedStateList, Row_RowExpanding, TableOptions_RowExpanding, TableState_RowExpanding, Table_RowExpanding, Table_RowModels_Expanded } from "./features/row-expanding/rowExpandingFeature.types.js";
27
- import { RowPinningDefaultOptions, RowPinningPosition, RowPinningState, Row_RowPinning, TableOptions_RowPinning, TableState_RowPinning, Table_RowPinning } from "./features/row-pinning/rowPinningFeature.types.js";
28
- import { RowSelectionState, Row_RowSelection, TableOptions_RowSelection, TableState_RowSelection, Table_RowSelection, ToggleSelectedOptions } from "./features/row-selection/rowSelectionFeature.types.js";
29
- import { Row_CoreProperties, Row_Row, TableOptions_Rows, Table_Rows } from "./core/rows/coreRowsFeature.types.js";
30
- import { Row, Row_Core, Row_FeatureMap } from "./types/Row.js";
31
- import { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CreatedFilterFn, CustomFilterFns, ExtractFilterFnKeys, ExtractFilterMeta, FilterFn, FilterFnDef, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn } from "./features/column-filtering/columnFilteringFeature.types.js";
32
- import { CachedRowModel_Paginated, PaginationDefaultOptions, PaginationState, TableOptions_RowPagination, TableState_RowPagination, Table_RowModels_Paginated, Table_RowPagination } from "./features/row-pagination/rowPaginationFeature.types.js";
33
- import { CachedRowModel_Core, RowModel, Table_RowModels, Table_RowModels_Core } from "./core/row-models/coreRowModelsFeature.types.js";
34
- import { CachedRowModel_Faceted, Column_ColumnFaceting, Table_ColumnFaceting, Table_RowModels_Faceted } from "./features/column-faceting/columnFacetingFeature.types.js";
35
- import { ColumnIndexes, ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering } from "./features/column-ordering/columnOrderingFeature.types.js";
36
- import { CachedRowModel_All, CachedRowModels, CachedRowModels_FeatureMap } from "./types/RowModel.js";
37
30
  import { RowModelFns, RowModelFns_All, RowModelFns_Core, RowModelFns_FeatureMap } from "./types/RowModelFns.js";
38
31
  import { TableState, TableState_All, TableState_FeatureMap } from "./types/TableState.js";
39
32
  import { Column_Column, Column_CoreProperties, TableOptions_Columns, Table_Columns } from "./core/columns/coreColumnsFeature.types.js";
33
+ import { Row_CoreProperties, Row_Row, TableOptions_Rows, Table_Rows } from "./core/rows/coreRowsFeature.types.js";
40
34
  import { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_FeatureMap } from "./types/TableOptions.js";
41
35
  import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms, ExternalAtoms_All, ExtractTableMeta, TableMeta, TableOptions_Table, Table_CoreProperties, Table_Table } from "./core/table/coreTablesFeature.types.js";
42
36
  import { Table, Table_Core, Table_FeatureMap } from "./types/Table.js";
43
37
  import { Column, Column_Core, Column_FeatureMap } from "./types/Column.js";
38
+ import { ColumnDef_ColumnVisibility, ColumnVisibilityState, Column_ColumnVisibility, Row_ColumnVisibility, TableOptions_ColumnVisibility, TableState_ColumnVisibility, Table_ColumnVisibility, VisibilityDefaultOptions } from "./features/column-visibility/columnVisibilityFeature.types.js";
39
+ import { Row, Row_Core, Row_FeatureMap } from "./types/Row.js";
40
+ import { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CreatedFilterFn, CustomFilterFns, ExtractFilterFnKeys, ExtractFilterMeta, FilterFn, FilterFnDef, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn } from "./features/column-filtering/columnFilteringFeature.types.js";
41
+ import { CachedRowModel_Core, RowModel, Table_RowModels, Table_RowModels_Core } from "./core/row-models/coreRowModelsFeature.types.js";
42
+ import { CachedRowModel_Grouped, Cell_ColumnGrouping, ColumnDef_ColumnGrouping, ColumnDefaultOptions, Column_ColumnGrouping, GroupingColumnMode, GroupingState, Row_ColumnGrouping, TableOptions_ColumnGrouping, TableState_ColumnGrouping, Table_ColumnGrouping, Table_RowModels_Grouped } from "./features/column-grouping/columnGroupingFeature.types.js";
43
+ import { Cell, Cell_Core, Cell_FeatureMap } from "./types/Cell.js";
44
44
  import { columnFacetingFeature } from "./features/column-faceting/columnFacetingFeature.js";
45
45
  import { rowAggregationFeature } from "./features/row-aggregation/rowAggregationFeature.js";
46
46
  import { columnFilteringFeature } from "./features/column-filtering/columnFilteringFeature.js";
@@ -1,7 +1,7 @@
1
1
  import { CellData, RowData } from "./type-utils.js";
2
- import { Cell_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
3
2
  import { Cell_Cell } from "../core/cells/coreCellsFeature.types.js";
4
3
  import { Cell_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
4
+ import { Cell_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
5
5
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
6
6
 
7
7
  //#region src/types/Cell.d.ts
@@ -1,18 +1,18 @@
1
1
  import { RowData } from "./type-utils.js";
2
- import { Column_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
3
- import { Column_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
4
- import { Column_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
2
+ import { Column_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
5
3
  import { Column_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
4
+ import { Column_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
5
+ import { Column_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
6
+ import { Column_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
6
7
  import { Column_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
7
8
  import { Column_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
8
9
  import { ColumnDefBase_All } from "./ColumnDef.js";
9
10
  import { Column_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
10
- import { Column_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
11
- import { Column_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
12
- import { Column_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
13
- import { Column_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
14
11
  import { Column_Column } from "../core/columns/coreColumnsFeature.types.js";
15
12
  import { Table } from "./Table.js";
13
+ import { Column_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
14
+ import { Column_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
15
+ import { Column_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
16
16
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
17
17
 
18
18
  //#region src/types/Column.d.ts
@@ -1,15 +1,15 @@
1
1
  import { CellData, RowData, UnionToIntersection } from "./type-utils.js";
2
- import { ColumnDef_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
3
- import { CellContext } from "../core/cells/coreCellsFeature.types.js";
4
- import { ColumnDef_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
5
- import { ColumnDef_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
6
2
  import { ColumnDef_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
3
+ import { ColumnDef_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
7
4
  import { HeaderContext } from "../core/headers/coreHeadersFeature.types.js";
5
+ import { ColumnDef_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
8
6
  import { ColumnDef_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
9
7
  import { ColumnDef_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
8
+ import { CellContext } from "../core/cells/coreCellsFeature.types.js";
10
9
  import { ColumnDef_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
11
10
  import { ColumnDef_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
12
11
  import { ColumnDef_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
12
+ import { ColumnDef_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
13
13
  import { ExtractFeatureMapTypes, IsAny, TableFeatures } from "./TableFeatures.js";
14
14
 
15
15
  //#region src/types/ColumnDef.d.ts
@@ -118,7 +118,7 @@ type AccessorKeyColumnDef<TFeatures extends TableFeatures, TData extends RowData
118
118
  type AccessorColumnDef<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = AccessorKeyColumnDef<TFeatures, TData, TValue> | AccessorFnColumnDef<TFeatures, TData, TValue>;
119
119
  type ColumnDef<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = DisplayColumnDef<TFeatures, TData, TValue> | GroupColumnDef<TFeatures, TData, TValue> | AccessorColumnDef<TFeatures, TData, TValue>;
120
120
  type ColumnDefResolved<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = Partial<UnionToIntersection<ColumnDef<TFeatures, TData, TValue>>> & {
121
- accessorKey?: string;
121
+ accessorKey?: (string & {}) | keyof TData;
122
122
  };
123
123
  //#endregion
124
124
  export { AccessorColumnDef, AccessorFn, AccessorFnColumnDef, AccessorFnColumnDefBase, AccessorKeyColumnDef, AccessorKeyColumnDefBase, ColumnDef, ColumnDefBase, ColumnDefBase_All, ColumnDefResolved, ColumnDefTemplate, ColumnDef_FeatureMap, ColumnMeta, DisplayColumnDef, ExtractColumnMeta, GroupColumnDef, IdIdentifier, IdentifiedColumnDef, StringHeaderIdentifier, StringOrTemplateHeader };
@@ -1,6 +1,6 @@
1
1
  import { CellData, RowData } from "./type-utils.js";
2
- import { Header_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
3
2
  import { Header_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
3
+ import { Header_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
4
4
  import { Header_Header } from "../core/headers/coreHeadersFeature.types.js";
5
5
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
6
6
 
@@ -1,13 +1,13 @@
1
1
  import { RowData } from "./type-utils.js";
2
- import { Row_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
3
2
  import { Row_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
4
- import { Row_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
5
- import { Row_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
6
- import { Row_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
7
3
  import { Row_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
4
+ import { Row_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
8
5
  import { Row_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
6
+ import { Row_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
9
7
  import { Row_Row } from "../core/rows/coreRowsFeature.types.js";
8
+ import { Row_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
10
9
  import { Row_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
10
+ import { Row_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
11
11
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
12
12
 
13
13
  //#region src/types/Row.d.ts
@@ -1,11 +1,11 @@
1
1
  import { RowData } from "./type-utils.js";
2
- import { CachedRowModel_Grouped } from "../features/column-grouping/columnGroupingFeature.types.js";
3
- import { CachedRowModel_Sorted } from "../features/row-sorting/rowSortingFeature.types.js";
2
+ import { CachedRowModel_Faceted } from "../features/column-faceting/columnFacetingFeature.types.js";
4
3
  import { CachedRowModel_Expanded } from "../features/row-expanding/rowExpandingFeature.types.js";
5
- import { CachedRowModel_Filtered } from "../features/column-filtering/columnFilteringFeature.types.js";
6
4
  import { CachedRowModel_Paginated } from "../features/row-pagination/rowPaginationFeature.types.js";
5
+ import { CachedRowModel_Sorted } from "../features/row-sorting/rowSortingFeature.types.js";
6
+ import { CachedRowModel_Filtered } from "../features/column-filtering/columnFilteringFeature.types.js";
7
7
  import { CachedRowModel_Core } from "../core/row-models/coreRowModelsFeature.types.js";
8
- import { CachedRowModel_Faceted } from "../features/column-faceting/columnFacetingFeature.types.js";
8
+ import { CachedRowModel_Grouped } from "../features/column-grouping/columnGroupingFeature.types.js";
9
9
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
10
10
 
11
11
  //#region src/types/RowModel.d.ts
@@ -1,27 +1,27 @@
1
1
  import { RowData } from "./type-utils.js";
2
- import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
3
- import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
4
- import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
2
+ import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
5
3
  import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
4
+ import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
6
5
  import { Table_Headers } from "../core/headers/coreHeadersFeature.types.js";
6
+ import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
7
+ import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
8
+ import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
7
9
  import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
8
- import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
9
- import { Table_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
10
10
  import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
11
- import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
12
- import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
13
- import { Table_Rows } from "../core/rows/coreRowsFeature.types.js";
14
- import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
15
11
  import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
16
- import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.js";
17
- import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
18
- import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
12
+ import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
13
+ import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
19
14
  import { CachedRowModel_All } from "./RowModel.js";
20
15
  import { RowModelFns_All } from "./RowModelFns.js";
21
16
  import { TableState, TableState_All } from "./TableState.js";
22
17
  import { Table_Columns } from "../core/columns/coreColumnsFeature.types.js";
18
+ import { Table_Rows } from "../core/rows/coreRowsFeature.types.js";
23
19
  import { DebugOptions, TableOptions_All } from "./TableOptions.js";
24
20
  import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.js";
21
+ import { Table_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
22
+ import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
23
+ import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.js";
24
+ import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
25
25
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
26
26
  import { ReadonlyStore } from "@tanstack/store";
27
27
 
@@ -1,15 +1,18 @@
1
1
  import { CellData, RowData, UnionToIntersection } from "./type-utils.js";
2
2
  import { CoreFeatures } from "../core/coreFeatures.js";
3
+ import { HeaderGroup } from "./HeaderGroup.js";
4
+ import { Header } from "./Header.js";
3
5
  import { SortFn } from "../features/row-sorting/rowSortingFeature.types.js";
4
6
  import { ColumnDefBase_All } from "./ColumnDef.js";
5
7
  import { AggregationFnDef } from "../features/row-aggregation/rowAggregationFeature.types.js";
6
- import { Row } from "./Row.js";
7
- import { FilterFn } from "../features/column-filtering/columnFilteringFeature.types.js";
8
- import { RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
9
8
  import { TableState_All } from "./TableState.js";
10
9
  import { TableOptions_All } from "./TableOptions.js";
11
10
  import { Table } from "./Table.js";
12
11
  import { Column } from "./Column.js";
12
+ import { Row } from "./Row.js";
13
+ import { FilterFn } from "../features/column-filtering/columnFilteringFeature.types.js";
14
+ import { RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
15
+ import { Cell } from "./Cell.js";
13
16
  import { StockFeatures } from "../features/stockFeatures.js";
14
17
 
15
18
  //#region src/types/TableFeatures.d.ts
@@ -262,8 +265,8 @@ interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, P
262
265
  *
263
266
  * Feature objects are registered in the table's `features` option. They can
264
267
  * contribute default state/options, default column definitions, table APIs,
265
- * shared prototype APIs for rows/columns/headers/cells, and per-instance row
266
- * or column data.
268
+ * shared prototype APIs for rows/columns/headers/cells, and per-instance data
269
+ * for tables, columns, rows, headers, header groups, and cells.
267
270
  */
268
271
  interface TableFeature {
269
272
  /**
@@ -349,6 +352,16 @@ interface TableFeature {
349
352
  * `resetTableInstanceData` to clear transient instance data instead.
350
353
  */
351
354
  initTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
355
+ /**
356
+ * Initializes instance-specific data on each cell.
357
+ *
358
+ * This runs for every constructed cell after core cell fields such as `id`,
359
+ * `column`, and `row` have been assigned. Cells are constructed lazily on
360
+ * first access per row/column pair and cached, so this runs once per cell
361
+ * instance. Use this for per-cell mutable data, caches, or annotations.
362
+ * Shared methods should be assigned via `assignCellPrototype` instead.
363
+ */
364
+ initCellInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>) => void;
352
365
  /**
353
366
  * Initializes instance-specific data on each column.
354
367
  *
@@ -358,6 +371,28 @@ interface TableFeature {
358
371
  * methods should be assigned via `assignColumnPrototype` instead.
359
372
  */
360
373
  initColumnInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>) => void;
374
+ /**
375
+ * Initializes instance-specific data on each header group.
376
+ *
377
+ * This runs for every constructed header group after `depth`, `id`, and the
378
+ * fully populated `headers` array have been assigned. Header groups have no
379
+ * shared prototype, so this is their only per-instance extension point.
380
+ * Header groups are reconstructed whenever they recompute (e.g. column
381
+ * visibility, order, or pinning changes), so this reruns on every rebuild.
382
+ */
383
+ initHeaderGroupInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(headerGroup: HeaderGroup<TFeatures, TData>) => void;
384
+ /**
385
+ * Initializes instance-specific data on each header.
386
+ *
387
+ * This runs for every constructed header after core header fields such as
388
+ * `id`, `column`, `depth`, `index`, and `isPlaceholder` have been assigned,
389
+ * but before `subHeaders` are populated and before `headerGroup` is linked.
390
+ * Headers are reconstructed on every header group rebuild, so this reruns
391
+ * on every rebuild. Use this for per-header mutable data, caches, or
392
+ * annotations. Shared methods should be assigned via `assignHeaderPrototype`
393
+ * instead.
394
+ */
395
+ initHeaderInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(header: Header<TFeatures, TData, TValue>) => void;
361
396
  /**
362
397
  * Initializes instance-specific data on each row.
363
398
  *
@@ -1,23 +1,23 @@
1
1
  import { RowData, UnionToIntersection } from "./type-utils.js";
2
2
  import { CoreFeatures } from "../core/coreFeatures.js";
3
- import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
4
- import { TableOptions_Cell } from "../core/cells/coreCellsFeature.types.js";
5
- import { TableOptions_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
6
- import { TableOptions_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
7
3
  import { TableOptions_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
4
+ import { TableOptions_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
5
+ import { TableOptions_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
6
+ import { TableOptions_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
7
+ import { TableOptions_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
8
8
  import { TableOptions_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
9
- import { TableOptions_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
10
- import { TableOptions_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
11
- import { TableOptions_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
12
9
  import { TableOptions_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
13
- import { TableOptions_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
14
- import { TableOptions_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
15
- import { TableOptions_Rows } from "../core/rows/coreRowsFeature.types.js";
16
- import { TableOptions_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
17
10
  import { TableOptions_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
18
- import { TableOptions_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
11
+ import { TableOptions_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
12
+ import { TableOptions_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
13
+ import { TableOptions_Cell } from "../core/cells/coreCellsFeature.types.js";
14
+ import { TableOptions_Aggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
19
15
  import { TableOptions_Columns } from "../core/columns/coreColumnsFeature.types.js";
16
+ import { TableOptions_Rows } from "../core/rows/coreRowsFeature.types.js";
20
17
  import { TableOptions_Table } from "../core/table/coreTablesFeature.types.js";
18
+ import { TableOptions_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
19
+ import { TableOptions_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
20
+ import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
21
21
  import { ExtractFeatureMapTypes, NonFeatureKeys, TableFeatures } from "./TableFeatures.js";
22
22
 
23
23
  //#region src/types/TableOptions.d.ts
@@ -1,16 +1,16 @@
1
- import { TableState_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
2
- import { TableState_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
3
- import { TableState_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
4
1
  import { TableState_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
2
+ import { TableState_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
3
+ import { TableState_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
4
+ import { TableState_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
5
+ import { TableState_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
5
6
  import { TableState_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
6
- import { TableState_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
7
- import { TableState_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
8
7
  import { TableState_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
9
- import { TableState_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
8
+ import { TableState_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
10
9
  import { TableState_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
10
+ import { TableState_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
11
+ import { TableState_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
11
12
  import { TableState_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
12
- import { TableState_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
13
- import { TableState_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
13
+ import { TableState_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
14
14
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
15
15
 
16
16
  //#region src/types/TableState.d.ts
@@ -21,7 +21,7 @@ type IsTuple<T> = T extends ReadonlyArray<any> & {
21
21
  type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends number = never> = Tuple extends readonly [] ? Keys : Tuple extends readonly [infer _, ...infer Tail] ? AllowedIndexes<Tail, Keys | Tail['length']> : Keys;
22
22
  type DeepKeys<T, TDepth extends Array<any> = []> = TDepth['length'] extends 5 ? never : unknown extends T ? string : T extends ReadonlyArray<any> & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth> : T extends Array<any> ? DeepKeys<T[number], [...TDepth, any]> : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth> : never;
23
23
  type DeepKeysPrefix<T, TPrefix, TDepth extends Array<any>> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}` : never;
24
- type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
24
+ type DeepValue<T, TProp> = T extends null | undefined ? undefined : T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & keyof T] : never;
25
25
  type NoInfer<T> = [T][T extends any ? 0 : never];
26
26
  type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
27
27
  type Prettify<T> = { [K in keyof T]: T[K] } & unknown;
@@ -1,7 +1,7 @@
1
1
  import { RowData } from "../types/type-utils.js";
2
2
  import { TableWorkerStage } from "./tableWorkerProtocol.js";
3
- import { RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
4
3
  import { Table } from "../types/Table.js";
4
+ import { RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
5
5
  import { TableFeatures } from "../types/TableFeatures.js";
6
6
  import { TableWorker } from "./createTableWorker.js";
7
7
 
@@ -54,7 +54,7 @@ function initTableWorker(config) {
54
54
  },
55
55
  data: message.data
56
56
  });
57
- aggregateColumnIds = flattenColumnDefs(config.columns).filter((def) => def.aggregationFn != null || def.aggregatedCell != null).map((def) => def.id ?? (typeof def.accessorKey === "string" ? def.accessorKey.replaceAll(".", "_") : void 0)).filter((id) => id != null);
57
+ aggregateColumnIds = flattenColumnDefs(config.columns).filter((def) => def.aggregationFn != null || def.aggregatedCell != null).map((def) => def.id ?? (def.accessorKey === void 0 ? void 0 : String(def.accessorKey).replaceAll(".", "_"))).filter((id) => id != null);
58
58
  } else table.setOptions((prev) => ({
59
59
  ...prev,
60
60
  data: message.data
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/table-core",
3
- "version": "9.0.0-beta.54",
3
+ "version": "9.0.0-beta.56",
4
4
  "description": "Headless UI for building powerful tables & datagrids for TS/JS.",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.54',
9
+ library_version: '9.0.0-beta.56',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: sub-skill
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.54'
8
+ library_version: '9.0.0-beta.56'
9
9
  requires: ['core', 'table-features']
10
10
  sources:
11
11
  - 'TanStack/table:packages/table-core/src/index.ts'
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: sub-skill
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.54'
8
+ library_version: '9.0.0-beta.56'
9
9
  requires: ['core', 'table-features']
10
10
  sources:
11
11
  - 'TanStack/table:docs/guide/row-models.md'
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.54',
9
+ library_version: '9.0.0-beta.56',
10
10
  }
11
11
  requires: ['core', 'table-features', 'column-filtering']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.54',
9
+ library_version: '9.0.0-beta.56',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.54',
9
+ library_version: '9.0.0-beta.56',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.54',
9
+ library_version: '9.0.0-beta.56',
10
10
  }
11
11
  requires: ['core', 'table-features', 'column-sizing']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.54',
9
+ library_version: '9.0.0-beta.56',
10
10
  }
11
11
  requires: ['core', 'table-features', 'column-sizing']
12
12
  sources: