@tanstack/table-core 8.5.15 → 8.5.16

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 (70) hide show
  1. package/build/cjs/aggregationFns.js +0 -15
  2. package/build/cjs/aggregationFns.js.map +1 -1
  3. package/build/cjs/columnHelper.js +10 -2
  4. package/build/cjs/columnHelper.js.map +1 -1
  5. package/build/cjs/core/cell.js +0 -3
  6. package/build/cjs/core/cell.js.map +1 -1
  7. package/build/cjs/core/column.js +4 -12
  8. package/build/cjs/core/column.js.map +1 -1
  9. package/build/cjs/core/headers.js +18 -30
  10. package/build/cjs/core/headers.js.map +1 -1
  11. package/build/cjs/core/row.js +0 -5
  12. package/build/cjs/core/row.js.map +1 -1
  13. package/build/cjs/core/table.js +13 -30
  14. package/build/cjs/core/table.js.map +1 -1
  15. package/build/cjs/features/ColumnSizing.js +33 -32
  16. package/build/cjs/features/ColumnSizing.js.map +1 -1
  17. package/build/cjs/features/Expanding.js +9 -19
  18. package/build/cjs/features/Expanding.js.map +1 -1
  19. package/build/cjs/features/Filters.js +6 -34
  20. package/build/cjs/features/Filters.js.map +1 -1
  21. package/build/cjs/features/Grouping.js +1 -16
  22. package/build/cjs/features/Grouping.js.map +1 -1
  23. package/build/cjs/features/Ordering.js +13 -10
  24. package/build/cjs/features/Ordering.js.map +1 -1
  25. package/build/cjs/features/Pagination.js +11 -22
  26. package/build/cjs/features/Pagination.js.map +1 -1
  27. package/build/cjs/features/Pinning.js +5 -11
  28. package/build/cjs/features/Pinning.js.map +1 -1
  29. package/build/cjs/features/RowSelection.js +35 -39
  30. package/build/cjs/features/RowSelection.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +14 -29
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +5 -5
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +3 -28
  36. package/build/cjs/filterFns.js.map +1 -1
  37. package/build/cjs/sortingFns.js +24 -31
  38. package/build/cjs/sortingFns.js.map +1 -1
  39. package/build/cjs/utils/filterRowsUtils.js +7 -19
  40. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  41. package/build/cjs/utils/getCoreRowModel.js +11 -13
  42. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  43. package/build/cjs/utils/getExpandedRowModel.js +0 -6
  44. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  45. package/build/cjs/utils/getFacetedMinMaxValues.js +0 -6
  46. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
  47. package/build/cjs/utils/getFacetedRowModel.js +0 -4
  48. package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
  49. package/build/cjs/utils/getFacetedUniqueValues.js +0 -4
  50. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
  51. package/build/cjs/utils/getFilteredRowModel.js +8 -20
  52. package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
  53. package/build/cjs/utils/getGroupedRowModel.js +21 -25
  54. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  55. package/build/cjs/utils/getPaginationRowModel.js +0 -6
  56. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  57. package/build/cjs/utils/getSortedRowModel.js +6 -15
  58. package/build/cjs/utils/getSortedRowModel.js.map +1 -1
  59. package/build/cjs/utils.js +7 -13
  60. package/build/cjs/utils.js.map +1 -1
  61. package/build/esm/index.js +264 -504
  62. package/build/esm/index.js.map +1 -1
  63. package/build/stats-html.html +51 -41
  64. package/build/stats-react.json +369 -369
  65. package/build/umd/index.development.js +264 -502
  66. package/build/umd/index.development.js.map +1 -1
  67. package/build/umd/index.production.js +1 -1
  68. package/build/umd/index.production.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/features/ColumnSizing.ts +11 -1
@@ -20,37 +20,31 @@ const sum = (columnId, _leafRows, childRows) => {
20
20
  return sum + (typeof nextValue === 'number' ? nextValue : 0);
21
21
  }, 0);
22
22
  };
23
-
24
23
  const min = (columnId, _leafRows, childRows) => {
25
24
  let min;
26
25
  childRows.forEach(row => {
27
26
  const value = row.getValue(columnId);
28
-
29
27
  if (value != null && (min > value || min === undefined && value >= value)) {
30
28
  min = value;
31
29
  }
32
30
  });
33
31
  return min;
34
32
  };
35
-
36
33
  const max = (columnId, _leafRows, childRows) => {
37
34
  let max;
38
35
  childRows.forEach(row => {
39
36
  const value = row.getValue(columnId);
40
-
41
37
  if (value != null && (max < value || max === undefined && value >= value)) {
42
38
  max = value;
43
39
  }
44
40
  });
45
41
  return max;
46
42
  };
47
-
48
43
  const extent = (columnId, _leafRows, childRows) => {
49
44
  let min;
50
45
  let max;
51
46
  childRows.forEach(row => {
52
47
  const value = row.getValue(columnId);
53
-
54
48
  if (value != null) {
55
49
  if (min === undefined) {
56
50
  if (value >= value) min = max = value;
@@ -62,13 +56,11 @@ const extent = (columnId, _leafRows, childRows) => {
62
56
  });
63
57
  return [min, max];
64
58
  };
65
-
66
59
  const mean = (columnId, leafRows) => {
67
60
  let count = 0;
68
61
  let sum = 0;
69
62
  leafRows.forEach(row => {
70
63
  let value = row.getValue(columnId);
71
-
72
64
  if (value != null && (value = +value) >= value) {
73
65
  ++count, sum += value;
74
66
  }
@@ -76,17 +68,14 @@ const mean = (columnId, leafRows) => {
76
68
  if (count) return sum / count;
77
69
  return;
78
70
  };
79
-
80
71
  const median = (columnId, leafRows) => {
81
72
  if (!leafRows.length) {
82
73
  return;
83
74
  }
84
-
85
75
  let min = 0;
86
76
  let max = 0;
87
77
  leafRows.forEach(row => {
88
78
  let value = row.getValue(columnId);
89
-
90
79
  if (typeof value === 'number') {
91
80
  min = Math.min(min, value);
92
81
  max = Math.max(max, value);
@@ -94,19 +83,15 @@ const median = (columnId, leafRows) => {
94
83
  });
95
84
  return (min + max) / 2;
96
85
  };
97
-
98
86
  const unique = (columnId, leafRows) => {
99
87
  return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());
100
88
  };
101
-
102
89
  const uniqueCount = (columnId, leafRows) => {
103
90
  return new Set(leafRows.map(d => d.getValue(columnId))).size;
104
91
  };
105
-
106
92
  const count = (_columnId, leafRows) => {
107
93
  return leafRows.length;
108
94
  };
109
-
110
95
  const aggregationFns = {
111
96
  sum,
112
97
  min,
@@ -1 +1 @@
1
- {"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/Grouping'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n let min = 0\n let max = 0\n\n leafRows.forEach(row => {\n let value = row.getValue(columnId)\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return (min + max) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","columnId","_leafRows","childRows","reduce","next","nextValue","getValue","min","forEach","row","value","undefined","max","extent","mean","leafRows","count","median","length","Math","unique","Array","from","Set","map","d","values","uniqueCount","size","_columnId","aggregationFns"],"mappings":"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"}
1
+ {"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/Grouping'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n let min = 0\n let max = 0\n\n leafRows.forEach(row => {\n let value = row.getValue(columnId)\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return (min + max) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","columnId","_leafRows","childRows","reduce","next","nextValue","getValue","min","forEach","row","value","undefined","max","extent","mean","leafRows","count","median","length","Math","unique","Array","from","Set","map","d","values","uniqueCount","size","_columnId","aggregationFns"],"mappings":"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"}
@@ -35,24 +35,32 @@ Object.defineProperty(exports, '__esModule', { value: true });
35
35
  // }
36
36
  // }
37
37
  // }
38
+
38
39
  // const test: DeepKeys<Person> = 'nested.foo.0.bar'
39
40
  // const test2: DeepKeys<Person> = 'nested.bar'
41
+
40
42
  // const helper = createColumnHelper<Person>()
43
+
41
44
  // helper.accessor('nested.foo', {
42
45
  // cell: info => info.getValue(),
43
46
  // })
47
+
44
48
  // helper.accessor('nested.foo.0.bar', {
45
49
  // cell: info => info.getValue(),
46
50
  // })
51
+
47
52
  // helper.accessor('nested.bar', {
48
53
  // cell: info => info.getValue(),
49
54
  // })
55
+
50
56
  function createColumnHelper() {
51
57
  return {
52
58
  accessor: (accessor, column) => {
53
- return typeof accessor === 'function' ? { ...column,
59
+ return typeof accessor === 'function' ? {
60
+ ...column,
54
61
  accessorFn: accessor
55
- } : { ...column,
62
+ } : {
63
+ ...column,
56
64
  accessorKey: accessor
57
65
  };
58
66
  },
@@ -1 +1 @@
1
- {"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import {\n AccessorFn,\n ColumnDef,\n DisplayColumnDef,\n GroupColumnDef,\n IdentifiedColumnDef,\n RowData,\n} from './types'\nimport { DeepKeys, DeepValue, RequiredKeys } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: TAccessor extends AccessorFn<TData>\n ? DisplayColumnDef<TData, TValue>\n : IdentifiedColumnDef<TData, TValue>\n ) => ColumnDef<TData, TValue>\n display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>\n group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column as ColumnDef<TData, unknown>,\n group: column => column as ColumnDef<TData, unknown>,\n }\n}\n"],"names":["createColumnHelper","accessor","column","accessorFn","accessorKey","display","group"],"mappings":";;;;;;;;;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAoBO,SAASA,kBAAT,GAEkB;EACvB,OAAO;AACLC,IAAAA,QAAQ,EAAE,CAACA,QAAD,EAAWC,MAAX,KAAsB;AAC9B,MAAA,OAAO,OAAOD,QAAP,KAAoB,UAApB,GACF,EACC,GAAGC,MADJ;AAECC,QAAAA,UAAU,EAAEF,QAAAA;OAHX,GAKH,EACE,GAAGC,MADL;AAEEE,QAAAA,WAAW,EAAEH,QAAAA;OAPnB,CAAA;KAFG;IAYLI,OAAO,EAAEH,MAAM,IAAIA,MAZd;IAaLI,KAAK,EAAEJ,MAAM,IAAIA,MAAAA;GAbnB,CAAA;AAeD;;;;"}
1
+ {"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import {\n AccessorFn,\n ColumnDef,\n DisplayColumnDef,\n GroupColumnDef,\n IdentifiedColumnDef,\n RowData,\n} from './types'\nimport { DeepKeys, DeepValue, RequiredKeys } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: TAccessor extends AccessorFn<TData>\n ? DisplayColumnDef<TData, TValue>\n : IdentifiedColumnDef<TData, TValue>\n ) => ColumnDef<TData, TValue>\n display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>\n group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column as ColumnDef<TData, unknown>,\n group: column => column as ColumnDef<TData, unknown>,\n }\n}\n"],"names":["createColumnHelper","accessor","column","accessorFn","accessorKey","display","group"],"mappings":";;;;;;;;;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAoBO,SAASA,kBAAkB,GAET;EACvB,OAAO;AACLC,IAAAA,QAAQ,EAAE,CAACA,QAAQ,EAAEC,MAAM,KAAK;AAC9B,MAAA,OAAO,OAAOD,QAAQ,KAAK,UAAU,GAChC;AACC,QAAA,GAAGC,MAAM;AACTC,QAAAA,UAAU,EAAEF,QAAAA;AACd,OAAC,GACD;AACE,QAAA,GAAGC,MAAM;AACTE,QAAAA,WAAW,EAAEH,QAAAA;OACd,CAAA;KACN;IACDI,OAAO,EAAEH,MAAM,IAAIA,MAAmC;IACtDI,KAAK,EAAEJ,MAAM,IAAIA,MAAAA;GAClB,CAAA;AACH;;;;"}
@@ -16,7 +16,6 @@ var utils = require('../utils.js');
16
16
 
17
17
  function createCell(table, row, column, columnId) {
18
18
  const getRenderValue = () => cell.getValue() ?? table.options.renderFallbackValue;
19
-
20
19
  const cell = {
21
20
  id: `${row.id}_${column.id}`,
22
21
  row,
@@ -35,11 +34,9 @@ function createCell(table, row, column, columnId) {
35
34
  debug: () => table.options.debugAll
36
35
  })
37
36
  };
38
-
39
37
  table._features.forEach(feature => {
40
38
  Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, table));
41
39
  }, {});
42
-
43
40
  return cell;
44
41
  }
45
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport type CellContext<TData extends RowData, TValue> = {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport type CoreCell<TData extends RowData, TValue> = {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n) {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAT,CACLC,KADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;EACA,MAAMC,cAAc,GAAG,MACrBC,IAAI,CAACC,QAAL,EAAA,IAAmBN,KAAK,CAACO,OAAN,CAAcC,mBADnC,CAAA;;AAGA,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAER,GAAG,CAACQ,EAAG,CAAGP,CAAAA,EAAAA,MAAM,CAACO,EAAG,CADS,CAAA;IAEpCR,GAFoC;IAGpCC,MAHoC;AAIpCI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAJ,CAAaH,QAAb,CAJoB;AAKpCO,IAAAA,WAAW,EAAEN,cALuB;IAMpCO,UAAU,EAAEC,UAAI,CACd,MAAM,CAACZ,KAAD,EAAQE,MAAR,EAAgBD,GAAhB,EAAqBI,IAArB,CADQ,EAEd,CAACL,KAAD,EAAQE,MAAR,EAAgBD,GAAhB,EAAqBI,IAArB,MAA+B;MAC7BL,KAD6B;MAE7BE,MAF6B;MAG7BD,GAH6B;AAI7BI,MAAAA,IAAI,EAAEA,IAJuB;MAK7BC,QAAQ,EAAED,IAAI,CAACC,QALc;MAM7BI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AANW,KAA/B,CAFc,EAUd;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,iBADjD;AAEEC,MAAAA,KAAK,EAAE,MAAMjB,KAAK,CAACO,OAAN,CAAcW,QAAAA;KAZf,CAAA;GANlB,CAAA;;AAuBAlB,EAAAA,KAAK,CAACmB,SAAN,CAAgBC,OAAhB,CAAwBC,OAAO,IAAI;IACjCC,MAAM,CAACC,MAAP,CACElB,IADF,EAEEgB,OAAO,CAACtB,UAFV,IAEEsB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACtB,UAAR,CACEM,IADF,EAEEH,MAFF,EAGED,GAHF,EAIED,KAJF,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'\nimport { Getter, memo } from '../utils'\n\nexport type CellContext<TData extends RowData, TValue> = {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport type CoreCell<TData extends RowData, TValue> = {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n) {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAU,CACxBC,KAAmB,EACnBC,GAAe,EACfC,MAA6B,EAC7BC,QAAgB,EAChB;AACA,EAAA,MAAMC,cAAc,GAAG,MACrBC,IAAI,CAACC,QAAQ,EAAE,IAAIN,KAAK,CAACO,OAAO,CAACC,mBAAmB,CAAA;AAEtD,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAER,GAAG,CAACQ,EAAG,CAAGP,CAAAA,EAAAA,MAAM,CAACO,EAAG,CAAC,CAAA;IAC5BR,GAAG;IACHC,MAAM;AACNI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAQ,CAACH,QAAQ,CAAC;AACtCO,IAAAA,WAAW,EAAEN,cAAc;IAC3BO,UAAU,EAAEC,UAAI,CACd,MAAM,CAACZ,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEI,IAAI,CAAC,EAChC,CAACL,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEI,IAAI,MAAM;MAC7BL,KAAK;MACLE,MAAM;MACND,GAAG;AACHI,MAAAA,IAAI,EAAEA,IAA2B;MACjCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MACvBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AACpB,KAAC,CAAC,EACF;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,MAAAA,KAAK,EAAE,MAAMjB,KAAK,CAACO,OAAO,CAACW,QAAAA;KAC5B,CAAA;GAEJ,CAAA;AAEDlB,EAAAA,KAAK,CAACmB,SAAS,CAACC,OAAO,CAACC,OAAO,IAAI;IACjCC,MAAM,CAACC,MAAM,CACXlB,IAAI,EACJgB,OAAO,CAACtB,UAAU,IAAlBsB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACtB,UAAU,CAChBM,IAAI,EACJH,MAAM,EACND,GAAG,EACHD,KAAK,CACN,CACF,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOK,IAAI,CAAA;AACb;;;;"}
@@ -16,14 +16,13 @@ var utils = require('../utils.js');
16
16
 
17
17
  function createColumn(table, columnDef, depth, parent) {
18
18
  const defaultColumn = table._getDefaultColumnDef();
19
-
20
- const resolvedColumnDef = { ...defaultColumn,
19
+ const resolvedColumnDef = {
20
+ ...defaultColumn,
21
21
  ...columnDef
22
22
  };
23
23
  const accessorKey = resolvedColumnDef.accessorKey;
24
24
  let id = resolvedColumnDef.id ?? (accessorKey ? accessorKey.replace('.', '_') : undefined) ?? (typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined);
25
25
  let accessorFn;
26
-
27
26
  if (resolvedColumnDef.accessorFn) {
28
27
  accessorFn = resolvedColumnDef.accessorFn;
29
28
  } else if (accessorKey) {
@@ -31,26 +30,21 @@ function createColumn(table, columnDef, depth, parent) {
31
30
  if (accessorKey.includes('.')) {
32
31
  accessorFn = originalRow => {
33
32
  let result = originalRow;
34
-
35
33
  for (const key of accessorKey.split('.')) {
36
34
  result = result[key];
37
35
  }
38
-
39
36
  return result;
40
37
  };
41
38
  } else {
42
39
  accessorFn = originalRow => originalRow[resolvedColumnDef.accessorKey];
43
40
  }
44
41
  }
45
-
46
42
  if (!id) {
47
43
  if (process.env.NODE_ENV !== 'production') {
48
44
  throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`);
49
45
  }
50
-
51
46
  throw new Error();
52
47
  }
53
-
54
48
  let column = {
55
49
  id: `${String(id)}`,
56
50
  accessorFn,
@@ -60,7 +54,6 @@ function createColumn(table, columnDef, depth, parent) {
60
54
  columns: [],
61
55
  getFlatColumns: utils.memo(() => [true], () => {
62
56
  var _column$columns;
63
-
64
57
  return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
65
58
  }, {
66
59
  key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
@@ -68,12 +61,10 @@ function createColumn(table, columnDef, depth, parent) {
68
61
  }),
69
62
  getLeafColumns: utils.memo(() => [table._getOrderColumnsFn()], orderColumns => {
70
63
  var _column$columns2;
71
-
72
64
  if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
73
65
  let leafColumns = column.columns.flatMap(column => column.getLeafColumns());
74
66
  return orderColumns(leafColumns);
75
67
  }
76
-
77
68
  return [column];
78
69
  }, {
79
70
  key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
@@ -82,8 +73,9 @@ function createColumn(table, columnDef, depth, parent) {
82
73
  };
83
74
  column = table._features.reduce((obj, feature) => {
84
75
  return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, table));
85
- }, column); // Yes, we have to convert table to uknown, because we know more than the compiler here.
76
+ }, column);
86
77
 
78
+ // Yes, we have to convert table to uknown, because we know more than the compiler here.
87
79
  return column;
88
80
  }
89
81
 
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import { TaggedTemplateExpression } from '@babel/types'\nimport {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n ColumnDefTemplate,\n RowData,\n ColumnMeta,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumn<TData extends RowData, TValue> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => Column<TData, TValue>[]\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n) {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\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 (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result[key]\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\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, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\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, TValue>]\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, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","process","env","NODE_ENV","Error","column","String","columns","getFlatColumns","memo","flatMap","d","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAwBO,SAASA,YAAT,CACLC,KADK,EAELC,SAFK,EAGLC,KAHK,EAILC,MAJK,EAKL;AACA,EAAA,MAAMC,aAAa,GAAGJ,KAAK,CAACK,oBAAN,EAAtB,CAAA;;AAEA,EAAA,MAAMC,iBAAiB,GAAG,EACxB,GAAGF,aADqB;IAExB,GAAGH,SAAAA;GAFL,CAAA;AAKA,EAAA,MAAMM,WAAW,GAAGD,iBAAiB,CAACC,WAAtC,CAAA;AAEA,EAAA,IAAIC,EAAE,GACJF,iBAAiB,CAACE,EAAlB,KACCD,WAAW,GAAGA,WAAW,CAACE,OAAZ,CAAoB,GAApB,EAAyB,GAAzB,CAAH,GAAmCC,SAD/C,CAAA,KAEC,OAAOJ,iBAAiB,CAACK,MAAzB,KAAoC,QAApC,GACGL,iBAAiB,CAACK,MADrB,GAEGD,SAJJ,CADF,CAAA;AAOA,EAAA,IAAIE,UAAJ,CAAA;;EAEA,IAAIN,iBAAiB,CAACM,UAAtB,EAAkC;IAChCA,UAAU,GAAGN,iBAAiB,CAACM,UAA/B,CAAA;GADF,MAEO,IAAIL,WAAJ,EAAiB;AACtB;AACA,IAAA,IAAIA,WAAW,CAACM,QAAZ,CAAqB,GAArB,CAAJ,EAA+B;MAC7BD,UAAU,GAAIE,WAAD,IAAwB;QACnC,IAAIC,MAAM,GAAGD,WAAb,CAAA;;QAEA,KAAK,MAAME,GAAX,IAAkBT,WAAW,CAACU,KAAZ,CAAkB,GAAlB,CAAlB,EAA0C;AACxCF,UAAAA,MAAM,GAAGA,MAAM,CAACC,GAAD,CAAf,CAAA;AACD,SAAA;;AAED,QAAA,OAAOD,MAAP,CAAA;OAPF,CAAA;AASD,KAVD,MAUO;MACLH,UAAU,GAAIE,WAAD,IACVA,WAAD,CAAqBR,iBAAiB,CAACC,WAAvC,CADF,CAAA;AAED,KAAA;AACF,GAAA;;EAED,IAAI,CAACC,EAAL,EAAS;AACP,IAAA,IAAIU,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;MACzC,MAAM,IAAIC,KAAJ,CACJf,iBAAiB,CAACM,UAAlB,GACK,CAAA,8CAAA,CADL,GAEK,CAAA,oDAAA,CAHD,CAAN,CAAA;AAKD,KAAA;;IACD,MAAM,IAAIS,KAAJ,EAAN,CAAA;AACD,GAAA;;AAED,EAAA,IAAIC,MAA8B,GAAG;AACnCd,IAAAA,EAAE,EAAG,CAAEe,EAAAA,MAAM,CAACf,EAAD,CAAK,CADiB,CAAA;IAEnCI,UAFmC;AAGnCT,IAAAA,MAAM,EAAEA,MAH2B;IAInCD,KAJmC;AAKnCD,IAAAA,SAAS,EAAEK,iBALwB;AAMnCkB,IAAAA,OAAO,EAAE,EAN0B;IAOnCC,cAAc,EAAEC,UAAI,CAClB,MAAM,CAAC,IAAD,CADY,EAElB,MAAM;AAAA,MAAA,IAAA,eAAA,CAAA;;AACJ,MAAA,OAAO,CACLJ,MADK,EAEL,uBAAGA,MAAM,CAACE,OAAV,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAgBG,OAAhB,CAAwBC,CAAC,IAAIA,CAAC,CAACH,cAAF,EAA7B,CAAH,CAFK,CAAP,CAAA;AAID,KAPiB,EAQlB;MACET,GAAG,EAAEE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC,uBADhD;MAEES,KAAK,EAAE,MAAM7B,KAAK,CAAC8B,OAAN,CAAcC,QAAd,IAA0B/B,KAAK,CAAC8B,OAAN,CAAcE,YAAAA;AAFvD,KARkB,CAPe;AAoBnCC,IAAAA,cAAc,EAAEP,UAAI,CAClB,MAAM,CAAC1B,KAAK,CAACkC,kBAAN,EAAD,CADY,EAElBC,YAAY,IAAI;AAAA,MAAA,IAAA,gBAAA,CAAA;;AACd,MAAA,IAAA,CAAA,gBAAA,GAAIb,MAAM,CAACE,OAAX,KAAI,IAAA,IAAA,gBAAA,CAAgBY,MAApB,EAA4B;AAC1B,QAAA,IAAIC,WAAW,GAAGf,MAAM,CAACE,OAAP,CAAeG,OAAf,CAAuBL,MAAM,IAC7CA,MAAM,CAACW,cAAP,EADgB,CAAlB,CAAA;QAIA,OAAOE,YAAY,CAACE,WAAD,CAAnB,CAAA;AACD,OAAA;;MAED,OAAO,CAACf,MAAD,CAAP,CAAA;AACD,KAZiB,EAalB;MACEN,GAAG,EAAEE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC,uBADhD;MAEES,KAAK,EAAE,MAAM7B,KAAK,CAAC8B,OAAN,CAAcC,QAAd,IAA0B/B,KAAK,CAAC8B,OAAN,CAAcE,YAAAA;KAfrC,CAAA;GApBtB,CAAA;EAwCAV,MAAM,GAAGtB,KAAK,CAACsC,SAAN,CAAgBC,MAAhB,CAAuB,CAACC,GAAD,EAAMC,OAAN,KAAkB;AAChD,IAAA,OAAOC,MAAM,CAACC,MAAP,CAAcH,GAAd,EAAmBC,OAAO,CAAC1C,YAA3B,IAAmB0C,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAC1C,YAAR,CAAuBuB,MAAvB,EAA+BtB,KAA/B,CAAnB,CAAP,CAAA;AACD,GAFQ,EAENsB,MAFM,CAAT,CA1FA;;AA+FA,EAAA,OAAOA,MAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import { TaggedTemplateExpression } from '@babel/types'\nimport {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n ColumnDefTemplate,\n RowData,\n ColumnMeta,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumn<TData extends RowData, TValue> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => Column<TData, TValue>[]\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n) {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\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 (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result[key]\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\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, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\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, TValue>]\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, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","process","env","NODE_ENV","Error","column","String","columns","getFlatColumns","memo","flatMap","d","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":"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"}
@@ -15,6 +15,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
15
15
  var utils = require('../utils.js');
16
16
 
17
17
  //
18
+
18
19
  function createHeader(table, column, options) {
19
20
  const id = options.id ?? column.id;
20
21
  let header = {
@@ -30,15 +31,12 @@ function createHeader(table, column, options) {
30
31
  headerGroup: null,
31
32
  getLeafHeaders: () => {
32
33
  const leafHeaders = [];
33
-
34
34
  const recurseHeader = h => {
35
35
  if (h.subHeaders && h.subHeaders.length) {
36
36
  h.subHeaders.map(recurseHeader);
37
37
  }
38
-
39
38
  leafHeaders.push(h);
40
39
  };
41
-
42
40
  recurseHeader(header);
43
41
  return leafHeaders;
44
42
  },
@@ -48,18 +46,16 @@ function createHeader(table, column, options) {
48
46
  column
49
47
  })
50
48
  };
51
-
52
49
  table._features.forEach(feature => {
53
50
  Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, table));
54
51
  });
55
-
56
52
  return header;
57
53
  }
58
-
59
54
  const Headers = {
60
55
  createTable: table => {
61
56
  return {
62
57
  // Header Groups
58
+
63
59
  getHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
64
60
  const leftColumns = (left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) ?? [];
65
61
  const rightColumns = (right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) ?? [];
@@ -92,6 +88,7 @@ const Headers = {
92
88
  debug: () => table.options.debugAll ?? table.options.debugHeaders
93
89
  }),
94
90
  // Footer Groups
91
+
95
92
  getFooterGroups: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
96
93
  return [...headerGroups].reverse();
97
94
  }, {
@@ -117,6 +114,7 @@ const Headers = {
117
114
  debug: () => table.options.debugAll ?? table.options.debugHeaders
118
115
  }),
119
116
  // Flat Headers
117
+
120
118
  getFlatHeaders: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
121
119
  return headerGroups.map(headerGroup => {
122
120
  return headerGroup.headers;
@@ -150,10 +148,10 @@ const Headers = {
150
148
  debug: () => table.options.debugAll ?? table.options.debugHeaders
151
149
  }),
152
150
  // Leaf Headers
151
+
153
152
  getCenterLeafHeaders: utils.memo(() => [table.getCenterFlatHeaders()], flatHeaders => {
154
153
  return flatHeaders.filter(header => {
155
154
  var _header$subHeaders;
156
-
157
155
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
158
156
  });
159
157
  }, {
@@ -163,7 +161,6 @@ const Headers = {
163
161
  getLeftLeafHeaders: utils.memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
164
162
  return flatHeaders.filter(header => {
165
163
  var _header$subHeaders2;
166
-
167
164
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
168
165
  });
169
166
  }, {
@@ -173,7 +170,6 @@ const Headers = {
173
170
  getRightLeafHeaders: utils.memo(() => [table.getRightFlatHeaders()], flatHeaders => {
174
171
  return flatHeaders.filter(header => {
175
172
  var _header$subHeaders3;
176
-
177
173
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
178
174
  });
179
175
  }, {
@@ -182,7 +178,6 @@ const Headers = {
182
178
  }),
183
179
  getLeafHeaders: utils.memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
184
180
  var _left$, _center$, _right$;
185
-
186
181
  return [...(((_left$ = left[0]) == null ? void 0 : _left$.headers) ?? []), ...(((_center$ = center[0]) == null ? void 0 : _center$.headers) ?? []), ...(((_right$ = right[0]) == null ? void 0 : _right$.headers) ?? [])].map(header => {
187
182
  return header.getLeafHeaders();
188
183
  }).flat();
@@ -195,49 +190,46 @@ const Headers = {
195
190
  };
196
191
  function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
197
192
  var _headerGroups$;
198
-
199
193
  // Find the max depth of the columns:
200
194
  // build the leaf column row
201
195
  // build each buffer row going up
202
196
  // placeholder for non-existent level
203
197
  // real column for existing level
204
- let maxDepth = 0;
205
198
 
199
+ let maxDepth = 0;
206
200
  const findMaxDepth = function (columns, depth) {
207
201
  if (depth === void 0) {
208
202
  depth = 1;
209
203
  }
210
-
211
204
  maxDepth = Math.max(maxDepth, depth);
212
205
  columns.filter(column => column.getIsVisible()).forEach(column => {
213
206
  var _column$columns;
214
-
215
207
  if ((_column$columns = column.columns) != null && _column$columns.length) {
216
208
  findMaxDepth(column.columns, depth + 1);
217
209
  }
218
210
  }, 0);
219
211
  };
220
-
221
212
  findMaxDepth(allColumns);
222
213
  let headerGroups = [];
223
-
224
214
  const createHeaderGroup = (headersToGroup, depth) => {
225
215
  // The header group we are creating
226
216
  const headerGroup = {
227
217
  depth,
228
218
  id: [headerFamily, `${depth}`].filter(Boolean).join('_'),
229
219
  headers: []
230
- }; // The parent columns we're going to scan next
220
+ };
231
221
 
232
- const pendingParentHeaders = []; // Scan each column for parents
222
+ // The parent columns we're going to scan next
223
+ const pendingParentHeaders = [];
233
224
 
225
+ // Scan each column for parents
234
226
  headersToGroup.forEach(headerToGroup => {
235
227
  // What is the latest (last) parent column?
228
+
236
229
  const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];
237
230
  const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
238
231
  let column;
239
232
  let isPlaceholder = false;
240
-
241
233
  if (isLeafHeader && headerToGroup.column.parent) {
242
234
  // The parent header is new
243
235
  column = headerToGroup.column.parent;
@@ -246,7 +238,6 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
246
238
  column = headerToGroup.column;
247
239
  isPlaceholder = true;
248
240
  }
249
-
250
241
  if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {
251
242
  // This column is repeated. Add it as a sub header to the next batch
252
243
  latestPendingParentHeader.subHeaders.push(headerToGroup);
@@ -258,30 +249,30 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
258
249
  placeholderId: isPlaceholder ? `${pendingParentHeaders.filter(d => d.column === column).length}` : undefined,
259
250
  depth,
260
251
  index: pendingParentHeaders.length
261
- }); // Add the headerToGroup as a subHeader of the new header
252
+ });
262
253
 
263
- header.subHeaders.push(headerToGroup); // Add the new header to the pendingParentHeaders to get grouped
254
+ // Add the headerToGroup as a subHeader of the new header
255
+ header.subHeaders.push(headerToGroup);
256
+ // Add the new header to the pendingParentHeaders to get grouped
264
257
  // in the next batch
265
-
266
258
  pendingParentHeaders.push(header);
267
259
  }
268
-
269
260
  headerGroup.headers.push(headerToGroup);
270
261
  headerToGroup.headerGroup = headerGroup;
271
262
  });
272
263
  headerGroups.push(headerGroup);
273
-
274
264
  if (depth > 0) {
275
265
  createHeaderGroup(pendingParentHeaders, depth - 1);
276
266
  }
277
267
  };
278
-
279
268
  const bottomHeaders = columnsToGroup.map((column, index) => createHeader(table, column, {
280
269
  depth: maxDepth,
281
270
  index
282
271
  }));
283
272
  createHeaderGroup(bottomHeaders, maxDepth - 1);
284
- headerGroups.reverse(); // headerGroups = headerGroups.filter(headerGroup => {
273
+ headerGroups.reverse();
274
+
275
+ // headerGroups = headerGroups.filter(headerGroup => {
285
276
  // return !headerGroup.headers.every(header => header.isPlaceholder)
286
277
  // })
287
278
 
@@ -291,7 +282,6 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
291
282
  let colSpan = 0;
292
283
  let rowSpan = 0;
293
284
  let childRowSpans = [0];
294
-
295
285
  if (header.subHeaders && header.subHeaders.length) {
296
286
  childRowSpans = [];
297
287
  recurseHeadersForSpans(header.subHeaders).forEach(_ref => {
@@ -305,7 +295,6 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
305
295
  } else {
306
296
  colSpan = 1;
307
297
  }
308
-
309
298
  const minChildRowSpan = Math.min(...childRowSpans);
310
299
  rowSpan = rowSpan + minChildRowSpan;
311
300
  header.colSpan = colSpan;
@@ -316,7 +305,6 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
316
305
  };
317
306
  });
318
307
  };
319
-
320
308
  recurseHeadersForSpans(((_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) ?? []);
321
309
  return headerGroups;
322
310
  }