@tanstack/table-core 8.0.13 → 8.1.1

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 (96) hide show
  1. package/build/cjs/core/cell.js +13 -13
  2. package/build/cjs/core/cell.js.map +1 -1
  3. package/build/cjs/core/column.js +20 -21
  4. package/build/cjs/core/column.js.map +1 -1
  5. package/build/cjs/core/headers.js +63 -68
  6. package/build/cjs/core/headers.js.map +1 -1
  7. package/build/cjs/core/row.js +16 -11
  8. package/build/cjs/core/row.js.map +1 -1
  9. package/build/cjs/core/{instance.js → table.js} +46 -57
  10. package/build/cjs/core/table.js.map +1 -0
  11. package/build/cjs/features/ColumnSizing.js +36 -36
  12. package/build/cjs/features/ColumnSizing.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +34 -34
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +46 -52
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +24 -49
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Ordering.js +8 -8
  20. package/build/cjs/features/Ordering.js.map +1 -1
  21. package/build/cjs/features/Pagination.js +37 -37
  22. package/build/cjs/features/Pagination.js.map +1 -1
  23. package/build/cjs/features/Pinning.js +33 -33
  24. package/build/cjs/features/Pinning.js.map +1 -1
  25. package/build/cjs/features/RowSelection.js +86 -74
  26. package/build/cjs/features/RowSelection.js.map +1 -1
  27. package/build/cjs/features/Sorting.js +36 -40
  28. package/build/cjs/features/Sorting.js.map +1 -1
  29. package/build/cjs/features/Visibility.js +30 -30
  30. package/build/cjs/features/Visibility.js.map +1 -1
  31. package/build/cjs/index.js +3 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +8 -8
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModel.js +8 -8
  36. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  37. package/build/cjs/utils/getExpandedRowModel.js +4 -4
  38. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  39. package/build/cjs/utils/getFacetedMinMaxValues.js +3 -3
  40. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
  41. package/build/cjs/utils/getFacetedRowModel.js +4 -4
  42. package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
  43. package/build/cjs/utils/getFacetedUniqueValues.js +3 -3
  44. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
  45. package/build/cjs/utils/getFilteredRowModel.js +8 -8
  46. package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
  47. package/build/cjs/utils/getGroupedRowModel.js +9 -9
  48. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  49. package/build/cjs/utils/getPaginationRowModel.js +4 -4
  50. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  51. package/build/cjs/utils/getSortedRowModel.js +7 -7
  52. package/build/cjs/utils/getSortedRowModel.js.map +1 -1
  53. package/build/cjs/utils.js +2 -2
  54. package/build/cjs/utils.js.map +1 -1
  55. package/build/esm/index.js +585 -677
  56. package/build/esm/index.js.map +1 -1
  57. package/build/stats-html.html +1 -1
  58. package/build/stats-react.json +352 -377
  59. package/build/types/index.d.ts +286 -360
  60. package/build/umd/index.development.js +586 -678
  61. package/build/umd/index.development.js.map +1 -1
  62. package/build/umd/index.production.js +1 -1
  63. package/build/umd/index.production.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/core/cell.ts +34 -28
  66. package/src/core/column.ts +83 -72
  67. package/src/core/headers.ts +118 -149
  68. package/src/core/row.ts +31 -25
  69. package/src/core/{instance.ts → table.ts} +85 -116
  70. package/src/features/ColumnSizing.ts +45 -47
  71. package/src/features/Expanding.ts +53 -59
  72. package/src/features/Filters.ts +112 -132
  73. package/src/features/Grouping.ts +63 -112
  74. package/src/features/Ordering.ts +19 -21
  75. package/src/features/Pagination.ts +54 -55
  76. package/src/features/Pinning.ts +49 -61
  77. package/src/features/RowSelection.ts +115 -114
  78. package/src/features/Sorting.ts +57 -72
  79. package/src/features/Visibility.ts +48 -48
  80. package/src/index.ts +1 -2
  81. package/src/types.ts +64 -69
  82. package/src/utils/filterRowsUtils.ts +33 -28
  83. package/src/utils/getCoreRowModel.ts +22 -22
  84. package/src/utils/getExpandedRowModel.ts +15 -15
  85. package/src/utils/getFacetedMinMaxValues.ts +6 -6
  86. package/src/utils/getFacetedRowModel.ts +12 -12
  87. package/src/utils/getFacetedUniqueValues.ts +6 -6
  88. package/src/utils/getFilteredRowModel.ts +17 -17
  89. package/src/utils/getGroupedRowModel.ts +18 -21
  90. package/src/utils/getPaginationRowModel.ts +10 -13
  91. package/src/utils/getSortedRowModel.ts +14 -14
  92. package/src/utils.ts +8 -2
  93. package/build/cjs/core/instance.js.map +0 -1
  94. package/build/cjs/createTable.js +0 -72
  95. package/build/cjs/createTable.js.map +0 -1
  96. package/src/createTable.ts +0 -188
@@ -12,11 +12,11 @@
12
12
 
13
13
  Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
- function createCell(instance, row, column, columnId) {
15
+ function createCell(table, row, column, columnId) {
16
16
  const getRenderValue = () => {
17
17
  var _cell$getValue;
18
18
 
19
- return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : instance.options.renderFallbackValue;
19
+ return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;
20
20
  };
21
21
 
22
22
  const cell = {
@@ -24,19 +24,19 @@ function createCell(instance, row, column, columnId) {
24
24
  row,
25
25
  column,
26
26
  getValue: () => row.getValue(columnId),
27
- renderCell: () => {
28
- return column.columnDef.cell ? instance._render(column.columnDef.cell, {
29
- instance,
30
- column,
31
- row,
32
- cell: cell,
33
- getValue: getRenderValue
34
- }) : null;
35
- }
27
+ renderValue: getRenderValue,
28
+ getContext: () => ({
29
+ table,
30
+ column,
31
+ row,
32
+ cell: cell,
33
+ getValue: cell.getValue,
34
+ renderValue: cell.renderValue
35
+ })
36
36
  };
37
37
 
38
- instance._features.forEach(feature => {
39
- Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, instance));
38
+ table._features.forEach(feature => {
39
+ Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, table));
40
40
  }, {});
41
41
 
42
42
  return cell;
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { Cell, Column, Row, TableGenerics, TableInstance } from '../types'\n\nexport type CoreCell<TGenerics extends TableGenerics> = {\n id: string\n getValue: () => TGenerics['Value']\n row: Row<TGenerics>\n column: Column<TGenerics>\n renderCell: () => string | null | TGenerics['Rendered']\n}\n\nexport function createCell<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n columnId: string\n) {\n const getRenderValue = () =>\n cell.getValue() ?? instance.options.renderFallbackValue\n\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderCell: () => {\n return column.columnDef.cell\n ? instance._render(column.columnDef.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n getValue: getRenderValue,\n })\n : null\n },\n }\n\n instance._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TGenerics>,\n column,\n row as Row<TGenerics>,\n instance\n )\n )\n }, {})\n\n return cell as Cell<TGenerics>\n}\n"],"names":["createCell","instance","row","column","columnId","getRenderValue","cell","getValue","options","renderFallbackValue","id","renderCell","columnDef","_render","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;AAUO,SAASA,UAAT,CACLC,QADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;AACA,EAAA,MAAMC,cAAc,GAAG,MAAA;AAAA,IAAA,IAAA,cAAA,CAAA;;IAAA,OACrBC,CAAAA,cAAAA,GAAAA,IAAI,CAACC,QAAL,EADqB,6BACFN,QAAQ,CAACO,OAAT,CAAiBC,mBADf,CAAA;GAAvB,CAAA;;AAGA,EAAA,MAAMH,IAAyB,GAAG;AAChCI,IAAAA,EAAE,EAAKR,GAAG,CAACQ,EAAT,GAAeP,GAAAA,GAAAA,MAAM,CAACO,EADQ;IAEhCR,GAFgC;IAGhCC,MAHgC;AAIhCI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAJ,CAAaH,QAAb,CAJgB;AAKhCO,IAAAA,UAAU,EAAE,MAAM;AAChB,MAAA,OAAOR,MAAM,CAACS,SAAP,CAAiBN,IAAjB,GACHL,QAAQ,CAACY,OAAT,CAAiBV,MAAM,CAACS,SAAP,CAAiBN,IAAlC,EAAwC;QACtCL,QADsC;QAEtCE,MAFsC;QAGtCD,GAHsC;AAItCI,QAAAA,IAAI,EAAEA,IAJgC;AAKtCC,QAAAA,QAAQ,EAAEF,cAAAA;OALZ,CADG,GAQH,IARJ,CAAA;AASD,KAAA;GAfH,CAAA;;AAkBAJ,EAAAA,QAAQ,CAACa,SAAT,CAAmBC,OAAnB,CAA2BC,OAAO,IAAI;IACpCC,MAAM,CAACC,MAAP,CACEZ,IADF,EAEEU,OAAO,CAAChB,UAFV,IAEEgB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAChB,UAAR,CACEM,IADF,EAEEH,MAFF,EAGED,GAHF,EAIED,QAJF,CAFF,CAAA,CAAA;AASD,GAVD,EAUG,EAVH,CAAA,CAAA;;AAYA,EAAA,OAAOK,IAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\n\nexport type CoreCell<TData extends RowData> = {\n id: string\n getValue: () => any\n renderValue: () => unknown\n row: Row<TData>\n column: Column<TData>\n getContext: () => {\n table: Table<TData>\n column: Column<TData>\n row: Row<TData>\n cell: Cell<TData>\n getValue: () => any\n renderValue: () => any\n }\n}\n\nexport function createCell<TData extends RowData>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData>,\n columnId: string\n) {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: () => ({\n table,\n column,\n row,\n cell: cell as Cell<TData>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;AAkBO,SAASA,UAAT,CACLC,KADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;AACA,EAAA,MAAMC,cAAc,GAAG,MAAA;AAAA,IAAA,IAAA,cAAA,CAAA;;IAAA,OACrBC,CAAAA,cAAAA,GAAAA,IAAI,CAACC,QAAL,EADqB,6BACFN,KAAK,CAACO,OAAN,CAAcC,mBADZ,CAAA;GAAvB,CAAA;;AAGA,EAAA,MAAMH,IAAqB,GAAG;AAC5BI,IAAAA,EAAE,EAAKR,GAAG,CAACQ,EAAT,GAAeP,GAAAA,GAAAA,MAAM,CAACO,EADI;IAE5BR,GAF4B;IAG5BC,MAH4B;AAI5BI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAJ,CAAaH,QAAb,CAJY;AAK5BO,IAAAA,WAAW,EAAEN,cALe;AAM5BO,IAAAA,UAAU,EAAE,OAAO;MACjBX,KADiB;MAEjBE,MAFiB;MAGjBD,GAHiB;AAIjBI,MAAAA,IAAI,EAAEA,IAJW;MAKjBC,QAAQ,EAAED,IAAI,CAACC,QALE;MAMjBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;KANR,CAAA;GANd,CAAA;;AAgBAV,EAAAA,KAAK,CAACY,SAAN,CAAgBC,OAAhB,CAAwBC,OAAO,IAAI;IACjCC,MAAM,CAACC,MAAP,CACEX,IADF,EAEES,OAAO,CAACf,UAFV,IAEEe,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACf,UAAR,CACEM,IADF,EAEEH,MAFF,EAGED,GAHF,EAIED,KAJF,CAFF,CAAA,CAAA;AASD,GAVD,EAUG,EAVH,CAAA,CAAA;;AAYA,EAAA,OAAOK,IAAP,CAAA;AACD;;;;"}
@@ -14,38 +14,37 @@ Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
15
  var utils = require('../utils.js');
16
16
 
17
- function createColumn(instance, columnDef, depth, parent) {
18
- var _ref, _columnDef$id;
17
+ function createColumn(table, columnDef, depth, parent) {
18
+ var _ref, _resolvedColumnDef$id;
19
19
 
20
- const defaultColumn = instance._getDefaultColumnDef();
20
+ const defaultColumn = table._getDefaultColumnDef();
21
21
 
22
- columnDef = { ...defaultColumn,
22
+ const resolvedColumnDef = { ...defaultColumn,
23
23
  ...columnDef
24
24
  };
25
- let id = (_ref = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref : typeof columnDef.header === 'string' ? columnDef.header : undefined;
25
+ let id = (_ref = (_resolvedColumnDef$id = resolvedColumnDef.id) != null ? _resolvedColumnDef$id : resolvedColumnDef.accessorKey) != null ? _ref : typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined;
26
26
  let accessorFn;
27
27
 
28
- if (columnDef.accessorFn) {
29
- accessorFn = columnDef.accessorFn;
30
- } else if (columnDef.accessorKey) {
31
- accessorFn = originalRow => originalRow[columnDef.accessorKey];
28
+ if (resolvedColumnDef.accessorFn) {
29
+ accessorFn = resolvedColumnDef.accessorFn;
30
+ } else if (resolvedColumnDef.accessorKey) {
31
+ accessorFn = originalRow => originalRow[resolvedColumnDef.accessorKey];
32
32
  }
33
33
 
34
34
  if (!id) {
35
35
  if (process.env.NODE_ENV !== 'production') {
36
- throw new Error(columnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
36
+ throw new Error(resolvedColumnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
37
37
  }
38
38
 
39
39
  throw new Error();
40
40
  }
41
41
 
42
42
  let column = {
43
- id: "" + id,
43
+ id: "" + String(id),
44
44
  accessorFn,
45
45
  parent: parent,
46
46
  depth,
47
- columnDef,
48
- columnDefType: columnDef.columnDefType,
47
+ columnDef: resolvedColumnDef,
49
48
  columns: [],
50
49
  getFlatColumns: utils.memo(() => [true], () => {
51
50
  var _column$columns;
@@ -54,12 +53,12 @@ function createColumn(instance, columnDef, depth, parent) {
54
53
  }, {
55
54
  key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
56
55
  debug: () => {
57
- var _instance$options$deb;
56
+ var _table$options$debugA;
58
57
 
59
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
58
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugColumns;
60
59
  }
61
60
  }),
62
- getLeafColumns: utils.memo(() => [instance._getOrderColumnsFn()], orderColumns => {
61
+ getLeafColumns: utils.memo(() => [table._getOrderColumnsFn()], orderColumns => {
63
62
  var _column$columns2;
64
63
 
65
64
  if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
@@ -71,15 +70,15 @@ function createColumn(instance, columnDef, depth, parent) {
71
70
  }, {
72
71
  key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
73
72
  debug: () => {
74
- var _instance$options$deb2;
73
+ var _table$options$debugA2;
75
74
 
76
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
75
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugColumns;
77
76
  }
78
77
  })
79
78
  };
80
- column = instance._features.reduce((obj, feature) => {
81
- return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, instance));
82
- }, column); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
79
+ column = table._features.reduce((obj, feature) => {
80
+ return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, table));
81
+ }, column); // Yes, we have to convert table to uknown, because we know more than the compiler here.
83
82
 
84
83
  return column;
85
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Header,\n TableGenerics,\n TableInstance,\n Row,\n AccessorFn,\n ColumnDef,\n Renderable,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumnDefType = 'data' | 'display' | 'group'\n\nexport type CoreColumnDef<TGenerics extends TableGenerics> = {\n id: string\n accessorKey?: string & keyof TGenerics['Row']\n accessorFn?: AccessorFn<TGenerics['Row']>\n columns?: ColumnDef<TGenerics>[]\n header?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n footer?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n cell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n getValue: () => TGenerics['Value']\n }\n >\n meta?: TGenerics['ColumnMeta']\n}\n\nexport type CoreColumn<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TGenerics['Row']>\n columnDef: ColumnDef<TGenerics>\n columnDefType: CoreColumnDefType\n columns: Column<TGenerics>[]\n parent?: Column<TGenerics>\n getFlatColumns: () => Column<TGenerics>[]\n getLeafColumns: () => Column<TGenerics>[]\n}\n\nexport function createColumn<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n columnDef: ColumnDef<TGenerics> & { columnDefType?: CoreColumnDefType },\n depth: number,\n parent?: Column<TGenerics>\n) {\n const defaultColumn = instance._getDefaultColumnDef()\n\n columnDef = {\n ...defaultColumn,\n ...columnDef,\n }\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TGenerics['Row']> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TGenerics['Row']) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TGenerics> = {\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columnDefType: columnDef.columnDefType as CoreColumnDefType,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TGenerics>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [instance._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TGenerics>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n\n column = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, instance))\n }, column)\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<TGenerics>\n}\n"],"names":["createColumn","instance","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","id","accessorKey","header","undefined","accessorFn","originalRow","process","env","NODE_ENV","Error","column","columnDefType","columns","getFlatColumns","memo","flatMap","d","key","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":"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"}
1
+ {"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Header,\n TableGenerics,\n Table,\n Row,\n AccessorFn,\n ColumnDef,\n ColumnDefTemplate,\n RowData,\n} from '../types'\nimport { memo, UnionToIntersection } from '../utils'\nimport { CoreCell } from './cell'\nimport { CoreHeader } from './headers'\n\nexport type CoreColumnDefType = 'data' | 'display' | 'group'\n\ntype CoreColumnDefBase<TData extends RowData> = {\n columns?: ColumnDef<TData>[]\n header?: ColumnDefTemplate<ReturnType<CoreHeader<TData>['getContext']>>\n footer?: ColumnDefTemplate<ReturnType<CoreHeader<TData>['getContext']>>\n cell?: ColumnDefTemplate<ReturnType<CoreCell<TData>['getContext']>>\n meta?: unknown\n}\n\ntype CoreColumnDefDisplay<TData extends RowData> = CoreColumnDefBase<TData> & {\n id: string\n}\n\ntype CoreColumnDefDisplayWithStringHeader<TData extends RowData> =\n CoreColumnDefBase<TData> & {\n header: string\n id?: string\n }\n\ntype CoreColumnDefAccessorFn<TData extends RowData> =\n CoreColumnDefBase<TData> & {\n accessorFn: AccessorFn<TData>\n id: string\n // accessorKey?: never\n }\n\ntype CoreColumnDefAccessorKey<TData extends RowData> =\n CoreColumnDefBase<TData> & {\n accessorKey: keyof TData\n id?: string\n // accessorFn?: never\n }\n\nexport type CoreColumnDef<TData extends RowData> =\n | CoreColumnDefDisplay<TData>\n | CoreColumnDefDisplayWithStringHeader<TData>\n | CoreColumnDefAccessorFn<TData>\n | CoreColumnDefAccessorKey<TData>\n\nexport type CoreColumnDefResolved<TData extends RowData> = Partial<\n UnionToIntersection<CoreColumnDef<TData>>\n>\n\nexport type CoreColumn<TData extends RowData> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData>\n columnDef: ColumnDef<TData>\n columns: Column<TData>[]\n parent?: Column<TData>\n getFlatColumns: () => Column<TData>[]\n getLeafColumns: () => Column<TData>[]\n}\n\nexport function createColumn<TData extends RowData>(\n table: Table<TData>,\n columnDef: ColumnDef<TData>,\n depth: number,\n parent?: Column<TData>\n) {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as CoreColumnDefResolved<TData>\n\n let id =\n resolvedColumnDef.id ??\n resolvedColumnDef.accessorKey ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (resolvedColumnDef.accessorKey) {\n accessorFn = (originalRow?: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n column = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, table))\n }, column)\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","id","accessorKey","header","undefined","accessorFn","originalRow","process","env","NODE_ENV","Error","column","String","columns","getFlatColumns","memo","flatMap","d","key","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":"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"}
@@ -15,7 +15,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
15
15
  var utils = require('../utils.js');
16
16
 
17
17
  //
18
- function createHeader(instance, column, options) {
18
+ function createHeader(table, column, options) {
19
19
  var _options$id;
20
20
 
21
21
  const id = (_options$id = options.id) != null ? _options$id : column.id;
@@ -44,174 +44,169 @@ function createHeader(instance, column, options) {
44
44
  recurseHeader(header);
45
45
  return leafHeaders;
46
46
  },
47
- renderHeader: () => column.columnDef.header ? instance._render(column.columnDef.header, {
48
- instance,
47
+ getContext: () => ({
48
+ table,
49
49
  header: header,
50
50
  column
51
- }) : null,
52
- renderFooter: () => column.columnDef.footer ? instance._render(column.columnDef.footer, {
53
- instance,
54
- header: header,
55
- column
56
- }) : null
51
+ })
57
52
  };
58
53
 
59
- instance._features.forEach(feature => {
60
- Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, instance));
54
+ table._features.forEach(feature => {
55
+ Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, table));
61
56
  });
62
57
 
63
58
  return header;
64
59
  }
65
60
 
66
61
  const Headers = {
67
- createInstance: instance => {
62
+ createTable: table => {
68
63
  return {
69
64
  // Header Groups
70
- getHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
65
+ getHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
71
66
  var _left$map$filter, _right$map$filter;
72
67
 
73
68
  const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];
74
69
  const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];
75
70
  const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
76
- const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], instance);
71
+ const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);
77
72
  return headerGroups;
78
73
  }, {
79
74
  key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
80
75
  debug: () => {
81
- var _instance$options$deb;
76
+ var _table$options$debugA;
82
77
 
83
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugHeaders;
78
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugHeaders;
84
79
  }
85
80
  }),
86
- getCenterHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
81
+ getCenterHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
87
82
  leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
88
- return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
83
+ return buildHeaderGroups(allColumns, leafColumns, table, 'center');
89
84
  }, {
90
85
  key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
91
86
  debug: () => {
92
- var _instance$options$deb2;
87
+ var _table$options$debugA2;
93
88
 
94
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugHeaders;
89
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugHeaders;
95
90
  }
96
91
  }),
97
- getLeftHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left], (allColumns, leafColumns, left) => {
92
+ getLeftHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {
98
93
  var _left$map$filter2;
99
94
 
100
95
  const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];
101
- return buildHeaderGroups(allColumns, orderedLeafColumns, instance, 'left');
96
+ return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');
102
97
  }, {
103
98
  key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
104
99
  debug: () => {
105
- var _instance$options$deb3;
100
+ var _table$options$debugA3;
106
101
 
107
- return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugHeaders;
102
+ return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugHeaders;
108
103
  }
109
104
  }),
110
- getRightHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.right], (allColumns, leafColumns, right) => {
105
+ getRightHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {
111
106
  var _right$map$filter2;
112
107
 
113
108
  const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];
114
- return buildHeaderGroups(allColumns, orderedLeafColumns, instance, 'right');
109
+ return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');
115
110
  }, {
116
111
  key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
117
112
  debug: () => {
118
- var _instance$options$deb4;
113
+ var _table$options$debugA4;
119
114
 
120
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugHeaders;
115
+ return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugHeaders;
121
116
  }
122
117
  }),
123
118
  // Footer Groups
124
- getFooterGroups: utils.memo(() => [instance.getHeaderGroups()], headerGroups => {
119
+ getFooterGroups: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
125
120
  return [...headerGroups].reverse();
126
121
  }, {
127
122
  key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
128
123
  debug: () => {
129
- var _instance$options$deb5;
124
+ var _table$options$debugA5;
130
125
 
131
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugHeaders;
126
+ return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugHeaders;
132
127
  }
133
128
  }),
134
- getLeftFooterGroups: utils.memo(() => [instance.getLeftHeaderGroups()], headerGroups => {
129
+ getLeftFooterGroups: utils.memo(() => [table.getLeftHeaderGroups()], headerGroups => {
135
130
  return [...headerGroups].reverse();
136
131
  }, {
137
132
  key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
138
133
  debug: () => {
139
- var _instance$options$deb6;
134
+ var _table$options$debugA6;
140
135
 
141
- return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugHeaders;
136
+ return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugHeaders;
142
137
  }
143
138
  }),
144
- getCenterFooterGroups: utils.memo(() => [instance.getCenterHeaderGroups()], headerGroups => {
139
+ getCenterFooterGroups: utils.memo(() => [table.getCenterHeaderGroups()], headerGroups => {
145
140
  return [...headerGroups].reverse();
146
141
  }, {
147
142
  key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
148
143
  debug: () => {
149
- var _instance$options$deb7;
144
+ var _table$options$debugA7;
150
145
 
151
- return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugHeaders;
146
+ return (_table$options$debugA7 = table.options.debugAll) != null ? _table$options$debugA7 : table.options.debugHeaders;
152
147
  }
153
148
  }),
154
- getRightFooterGroups: utils.memo(() => [instance.getRightHeaderGroups()], headerGroups => {
149
+ getRightFooterGroups: utils.memo(() => [table.getRightHeaderGroups()], headerGroups => {
155
150
  return [...headerGroups].reverse();
156
151
  }, {
157
152
  key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
158
153
  debug: () => {
159
- var _instance$options$deb8;
154
+ var _table$options$debugA8;
160
155
 
161
- return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugHeaders;
156
+ return (_table$options$debugA8 = table.options.debugAll) != null ? _table$options$debugA8 : table.options.debugHeaders;
162
157
  }
163
158
  }),
164
159
  // Flat Headers
165
- getFlatHeaders: utils.memo(() => [instance.getHeaderGroups()], headerGroups => {
160
+ getFlatHeaders: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
166
161
  return headerGroups.map(headerGroup => {
167
162
  return headerGroup.headers;
168
163
  }).flat();
169
164
  }, {
170
165
  key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
171
166
  debug: () => {
172
- var _instance$options$deb9;
167
+ var _table$options$debugA9;
173
168
 
174
- return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugHeaders;
169
+ return (_table$options$debugA9 = table.options.debugAll) != null ? _table$options$debugA9 : table.options.debugHeaders;
175
170
  }
176
171
  }),
177
- getLeftFlatHeaders: utils.memo(() => [instance.getLeftHeaderGroups()], left => {
172
+ getLeftFlatHeaders: utils.memo(() => [table.getLeftHeaderGroups()], left => {
178
173
  return left.map(headerGroup => {
179
174
  return headerGroup.headers;
180
175
  }).flat();
181
176
  }, {
182
177
  key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
183
178
  debug: () => {
184
- var _instance$options$deb10;
179
+ var _table$options$debugA10;
185
180
 
186
- return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugHeaders;
181
+ return (_table$options$debugA10 = table.options.debugAll) != null ? _table$options$debugA10 : table.options.debugHeaders;
187
182
  }
188
183
  }),
189
- getCenterFlatHeaders: utils.memo(() => [instance.getCenterHeaderGroups()], left => {
184
+ getCenterFlatHeaders: utils.memo(() => [table.getCenterHeaderGroups()], left => {
190
185
  return left.map(headerGroup => {
191
186
  return headerGroup.headers;
192
187
  }).flat();
193
188
  }, {
194
189
  key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
195
190
  debug: () => {
196
- var _instance$options$deb11;
191
+ var _table$options$debugA11;
197
192
 
198
- return (_instance$options$deb11 = instance.options.debugAll) != null ? _instance$options$deb11 : instance.options.debugHeaders;
193
+ return (_table$options$debugA11 = table.options.debugAll) != null ? _table$options$debugA11 : table.options.debugHeaders;
199
194
  }
200
195
  }),
201
- getRightFlatHeaders: utils.memo(() => [instance.getRightHeaderGroups()], left => {
196
+ getRightFlatHeaders: utils.memo(() => [table.getRightHeaderGroups()], left => {
202
197
  return left.map(headerGroup => {
203
198
  return headerGroup.headers;
204
199
  }).flat();
205
200
  }, {
206
201
  key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
207
202
  debug: () => {
208
- var _instance$options$deb12;
203
+ var _table$options$debugA12;
209
204
 
210
- return (_instance$options$deb12 = instance.options.debugAll) != null ? _instance$options$deb12 : instance.options.debugHeaders;
205
+ return (_table$options$debugA12 = table.options.debugAll) != null ? _table$options$debugA12 : table.options.debugHeaders;
211
206
  }
212
207
  }),
213
208
  // Leaf Headers
214
- getCenterLeafHeaders: utils.memo(() => [instance.getCenterFlatHeaders()], flatHeaders => {
209
+ getCenterLeafHeaders: utils.memo(() => [table.getCenterFlatHeaders()], flatHeaders => {
215
210
  return flatHeaders.filter(header => {
216
211
  var _header$subHeaders;
217
212
 
@@ -220,12 +215,12 @@ const Headers = {
220
215
  }, {
221
216
  key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
222
217
  debug: () => {
223
- var _instance$options$deb13;
218
+ var _table$options$debugA13;
224
219
 
225
- return (_instance$options$deb13 = instance.options.debugAll) != null ? _instance$options$deb13 : instance.options.debugHeaders;
220
+ return (_table$options$debugA13 = table.options.debugAll) != null ? _table$options$debugA13 : table.options.debugHeaders;
226
221
  }
227
222
  }),
228
- getLeftLeafHeaders: utils.memo(() => [instance.getLeftFlatHeaders()], flatHeaders => {
223
+ getLeftLeafHeaders: utils.memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
229
224
  return flatHeaders.filter(header => {
230
225
  var _header$subHeaders2;
231
226
 
@@ -234,12 +229,12 @@ const Headers = {
234
229
  }, {
235
230
  key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
236
231
  debug: () => {
237
- var _instance$options$deb14;
232
+ var _table$options$debugA14;
238
233
 
239
- return (_instance$options$deb14 = instance.options.debugAll) != null ? _instance$options$deb14 : instance.options.debugHeaders;
234
+ return (_table$options$debugA14 = table.options.debugAll) != null ? _table$options$debugA14 : table.options.debugHeaders;
240
235
  }
241
236
  }),
242
- getRightLeafHeaders: utils.memo(() => [instance.getRightFlatHeaders()], flatHeaders => {
237
+ getRightLeafHeaders: utils.memo(() => [table.getRightFlatHeaders()], flatHeaders => {
243
238
  return flatHeaders.filter(header => {
244
239
  var _header$subHeaders3;
245
240
 
@@ -248,12 +243,12 @@ const Headers = {
248
243
  }, {
249
244
  key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
250
245
  debug: () => {
251
- var _instance$options$deb15;
246
+ var _table$options$debugA15;
252
247
 
253
- return (_instance$options$deb15 = instance.options.debugAll) != null ? _instance$options$deb15 : instance.options.debugHeaders;
248
+ return (_table$options$debugA15 = table.options.debugAll) != null ? _table$options$debugA15 : table.options.debugHeaders;
254
249
  }
255
250
  }),
256
- getLeafHeaders: utils.memo(() => [instance.getLeftHeaderGroups(), instance.getCenterHeaderGroups(), instance.getRightHeaderGroups()], (left, center, right) => {
251
+ getLeafHeaders: utils.memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
257
252
  var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;
258
253
 
259
254
  return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {
@@ -262,15 +257,15 @@ const Headers = {
262
257
  }, {
263
258
  key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
264
259
  debug: () => {
265
- var _instance$options$deb16;
260
+ var _table$options$debugA16;
266
261
 
267
- return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
262
+ return (_table$options$debugA16 = table.options.debugAll) != null ? _table$options$debugA16 : table.options.debugHeaders;
268
263
  }
269
264
  })
270
265
  };
271
266
  }
272
267
  };
273
- function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
268
+ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
274
269
  var _headerGroups$0$heade, _headerGroups$;
275
270
 
276
271
  // Find the max depth of the columns:
@@ -324,12 +319,12 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
324
319
  isPlaceholder = true;
325
320
  }
326
321
 
327
- if ((latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {
322
+ if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {
328
323
  // This column is repeated. Add it as a sub header to the next batch
329
324
  latestPendingParentHeader.subHeaders.push(headerToGroup);
330
325
  } else {
331
326
  // This is a new header. Let's create it
332
- const header = createHeader(instance, column, {
327
+ const header = createHeader(table, column, {
333
328
  id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
334
329
  isPlaceholder,
335
330
  placeholderId: isPlaceholder ? "" + pendingParentHeaders.filter(d => d.column === column).length : undefined,
@@ -353,7 +348,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
353
348
  }
354
349
  };
355
350
 
356
- const bottomHeaders = columnsToGroup.map((column, index) => createHeader(instance, column, {
351
+ const bottomHeaders = columnsToGroup.map((column, index) => createHeader(table, column, {
357
352
  depth: maxDepth,
358
353
  index
359
354
  }));