@tanstack/table-core 8.0.0-alpha.80 → 8.0.0-alpha.84

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 (110) hide show
  1. package/build/cjs/core/cell.js +38 -0
  2. package/build/cjs/core/cell.js.map +1 -0
  3. package/build/cjs/core/column.js +88 -0
  4. package/build/cjs/core/column.js.map +1 -0
  5. package/build/cjs/{features/Headers.js → core/headers.js} +54 -66
  6. package/build/cjs/core/headers.js.map +1 -0
  7. package/build/cjs/core/instance.js +255 -0
  8. package/build/cjs/core/instance.js.map +1 -0
  9. package/build/cjs/core/row.js +77 -0
  10. package/build/cjs/core/row.js.map +1 -0
  11. package/build/cjs/createTable.js +4 -2
  12. package/build/cjs/createTable.js.map +1 -1
  13. package/build/cjs/features/ColumnSizing.js +5 -5
  14. package/build/cjs/features/ColumnSizing.js.map +1 -1
  15. package/build/cjs/features/Expanding.js.map +1 -1
  16. package/build/cjs/features/Filters.js +12 -7
  17. package/build/cjs/features/Filters.js.map +1 -1
  18. package/build/cjs/features/Grouping.js +5 -5
  19. package/build/cjs/features/Grouping.js.map +1 -1
  20. package/build/cjs/features/Ordering.js.map +1 -1
  21. package/build/cjs/features/Pagination.js.map +1 -1
  22. package/build/cjs/features/Pinning.js +17 -11
  23. package/build/cjs/features/Pinning.js.map +1 -1
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +9 -9
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +3 -3
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/index.js +17 -5
  30. package/build/cjs/index.js.map +1 -1
  31. package/build/cjs/utils/filterRowsUtils.js +23 -21
  32. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  33. package/build/cjs/utils/getCoreRowModel.js +9 -8
  34. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  35. package/build/cjs/utils/getFacetedRowModel.js +1 -1
  36. package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
  37. package/build/cjs/utils/getFilteredRowModel.js +20 -9
  38. package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
  39. package/build/cjs/utils/getGroupedRowModel.js +14 -13
  40. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  41. package/build/cjs/utils/getSortedRowModel.js +2 -2
  42. package/build/cjs/utils/getSortedRowModel.js.map +1 -1
  43. package/build/esm/index.js +731 -810
  44. package/build/esm/index.js.map +1 -1
  45. package/build/stats-html.html +1 -1
  46. package/build/stats-react.json +418 -377
  47. package/build/types/core/cell.d.ts +9 -0
  48. package/build/types/{features/Columns.d.ts → core/column.d.ts} +3 -17
  49. package/build/types/{features/Headers.d.ts → core/headers.d.ts} +26 -11
  50. package/build/types/core/instance.d.ts +57 -0
  51. package/build/types/core/row.d.ts +15 -0
  52. package/build/types/createTable.d.ts +8 -5
  53. package/build/types/features/ColumnSizing.d.ts +2 -1
  54. package/build/types/features/Expanding.d.ts +2 -1
  55. package/build/types/features/Filters.d.ts +5 -3
  56. package/build/types/features/Grouping.d.ts +3 -2
  57. package/build/types/features/Ordering.d.ts +2 -1
  58. package/build/types/features/Pagination.d.ts +2 -1
  59. package/build/types/features/Pinning.d.ts +3 -2
  60. package/build/types/features/RowSelection.d.ts +2 -1
  61. package/build/types/features/Sorting.d.ts +2 -1
  62. package/build/types/features/Visibility.d.ts +2 -1
  63. package/build/types/index.d.ts +7 -2
  64. package/build/types/sortingFns.d.ts +4 -4
  65. package/build/types/types.d.ts +13 -53
  66. package/build/umd/index.development.js +738 -806
  67. package/build/umd/index.development.js.map +1 -1
  68. package/build/umd/index.production.js +1 -1
  69. package/build/umd/index.production.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/core/cell.ts +47 -0
  72. package/src/core/column.ts +148 -0
  73. package/src/{features/Headers.ts → core/headers.ts} +98 -99
  74. package/src/core/instance.ts +361 -0
  75. package/src/core/row.ts +85 -0
  76. package/src/createTable.ts +14 -7
  77. package/src/features/ColumnSizing.ts +6 -6
  78. package/src/features/Expanding.ts +1 -2
  79. package/src/features/Filters.ts +20 -8
  80. package/src/features/Grouping.ts +7 -6
  81. package/src/features/Ordering.ts +1 -1
  82. package/src/features/Pagination.ts +1 -1
  83. package/src/features/Pinning.ts +18 -9
  84. package/src/features/RowSelection.ts +1 -1
  85. package/src/features/Sorting.ts +11 -11
  86. package/src/features/Visibility.ts +3 -3
  87. package/src/index.ts +7 -8
  88. package/src/types.ts +17 -64
  89. package/src/utils/filterRowsUtils.ts +5 -3
  90. package/src/utils/getCoreRowModel.ts +4 -2
  91. package/src/utils/getFacetedRowModel.ts +1 -1
  92. package/src/utils/getFilteredRowModel.ts +24 -13
  93. package/src/utils/getGroupedRowModel.ts +9 -8
  94. package/src/utils/getSortedRowModel.ts +2 -2
  95. package/build/cjs/core.js +0 -168
  96. package/build/cjs/core.js.map +0 -1
  97. package/build/cjs/features/Cells.js +0 -101
  98. package/build/cjs/features/Cells.js.map +0 -1
  99. package/build/cjs/features/Columns.js +0 -189
  100. package/build/cjs/features/Columns.js.map +0 -1
  101. package/build/cjs/features/Headers.js.map +0 -1
  102. package/build/cjs/features/Rows.js +0 -94
  103. package/build/cjs/features/Rows.js.map +0 -1
  104. package/build/types/core.d.ts +0 -30
  105. package/build/types/features/Cells.d.ts +0 -13
  106. package/build/types/features/Rows.d.ts +0 -28
  107. package/src/core.ts +0 -246
  108. package/src/features/Cells.ts +0 -128
  109. package/src/features/Columns.ts +0 -289
  110. package/src/features/Rows.ts +0 -142
@@ -0,0 +1,38 @@
1
+ /**
2
+ * table-core
3
+ *
4
+ * Copyright (c) TanStack
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ 'use strict';
12
+
13
+ Object.defineProperty(exports, '__esModule', { value: true });
14
+
15
+ function createCell(instance, row, column, columnId) {
16
+ const cell = {
17
+ id: row.id + "_" + column.id,
18
+ row,
19
+ column,
20
+ getValue: () => row.getValue(columnId),
21
+ renderCell: () => column.columnDef.cell ? instance._render(column.columnDef.cell, {
22
+ instance,
23
+ column,
24
+ row,
25
+ cell: cell,
26
+ getValue: cell.getValue
27
+ }) : null
28
+ };
29
+
30
+ instance._features.forEach(feature => {
31
+ Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, instance));
32
+ }, {});
33
+
34
+ return cell;
35
+ }
36
+
37
+ exports.createCell = createCell;
38
+ //# sourceMappingURL=cell.js.map
@@ -0,0 +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 cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderCell: () =>\n column.columnDef.cell\n ? instance._render(column.columnDef.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n getValue: cell.getValue,\n })\n : null,\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","cell","id","getValue","renderCell","columnDef","_render","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;AAUO,SAASA,UAAT,CACLC,QADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;AACA,EAAA,MAAMC,IAAyB,GAAG;AAChCC,IAAAA,EAAE,EAAKJ,GAAG,CAACI,EAAT,GAAeH,GAAAA,GAAAA,MAAM,CAACG,EADQ;AAEhCJ,IAAAA,GAFgC;AAGhCC,IAAAA,MAHgC;AAIhCI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAJ,CAAaH,QAAb,CAJgB;AAKhCI,IAAAA,UAAU,EAAE,MACVL,MAAM,CAACM,SAAP,CAAiBJ,IAAjB,GACIJ,QAAQ,CAACS,OAAT,CAAiBP,MAAM,CAACM,SAAP,CAAiBJ,IAAlC,EAAwC;AACtCJ,MAAAA,QADsC;AAEtCE,MAAAA,MAFsC;AAGtCD,MAAAA,GAHsC;AAItCG,MAAAA,IAAI,EAAEA,IAJgC;AAKtCE,MAAAA,QAAQ,EAAEF,IAAI,CAACE,QAAAA;AALuB,KAAxC,CADJ,GAQI,IAAA;AAd0B,GAAlC,CAAA;;AAiBAN,EAAAA,QAAQ,CAACU,SAAT,CAAmBC,OAAnB,CAA2BC,OAAO,IAAI;AACpCC,IAAAA,MAAM,CAACC,MAAP,CACEV,IADF,EAEEQ,OAAO,CAACb,UAFV,IAAA,IAAA,GAAA,KAAA,CAAA,GAEEa,OAAO,CAACb,UAAR,CACEK,IADF,EAEEF,MAFF,EAGED,GAHF,EAIED,QAJF,CAFF,CAAA,CAAA;AASD,GAVD,EAUG,EAVH,CAAA,CAAA;;AAYA,EAAA,OAAOI,IAAP,CAAA;AACD;;;;"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * table-core
3
+ *
4
+ * Copyright (c) TanStack
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ 'use strict';
12
+
13
+ Object.defineProperty(exports, '__esModule', { value: true });
14
+
15
+ var utils = require('../utils.js');
16
+
17
+ function createColumn(instance, columnDef, depth, parent) {
18
+ var _ref, _columnDef$id;
19
+
20
+ const defaultColumn = instance._getDefaultColumnDef();
21
+
22
+ columnDef = { ...defaultColumn,
23
+ ...columnDef
24
+ };
25
+ let id = (_ref = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref : typeof columnDef.header === 'string' ? columnDef.header : undefined;
26
+ let accessorFn;
27
+
28
+ if (columnDef.accessorFn) {
29
+ accessorFn = columnDef.accessorFn;
30
+ } else if (columnDef.accessorKey) {
31
+ accessorFn = originalRow => originalRow[columnDef.accessorKey];
32
+ }
33
+
34
+ if (!id) {
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");
37
+ }
38
+
39
+ throw new Error();
40
+ }
41
+
42
+ let column = { ...columnDef,
43
+ id: "" + id,
44
+ accessorFn,
45
+ parent: parent,
46
+ depth,
47
+ columnDef,
48
+ columnDefType: columnDef.columnDefType,
49
+ columns: [],
50
+ getFlatColumns: utils.memo(() => [true], () => {
51
+ var _column$columns;
52
+
53
+ return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
54
+ }, {
55
+ key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
56
+ debug: () => {
57
+ var _instance$options$deb;
58
+
59
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
60
+ }
61
+ }),
62
+ getLeafColumns: utils.memo(() => [instance._getOrderColumnsFn()], orderColumns => {
63
+ var _column$columns2;
64
+
65
+ if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
66
+ let leafColumns = column.columns.flatMap(column => column.getLeafColumns());
67
+ return orderColumns(leafColumns);
68
+ }
69
+
70
+ return [column];
71
+ }, {
72
+ key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
73
+ debug: () => {
74
+ var _instance$options$deb2;
75
+
76
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
77
+ }
78
+ })
79
+ };
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.
83
+
84
+ return column;
85
+ }
86
+
87
+ exports.createColumn = createColumn;
88
+ //# sourceMappingURL=column.js.map
@@ -0,0 +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 ...columnDef,\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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"}
@@ -15,56 +15,57 @@ Object.defineProperty(exports, '__esModule', { value: true });
15
15
  var utils = require('../utils.js');
16
16
 
17
17
  //
18
+ function createHeader(instance, column, options) {
19
+ var _options$id;
20
+
21
+ const id = (_options$id = options.id) != null ? _options$id : column.id;
22
+ let header = {
23
+ id,
24
+ column,
25
+ index: options.index,
26
+ isPlaceholder: !!options.isPlaceholder,
27
+ placeholderId: options.placeholderId,
28
+ depth: options.depth,
29
+ subHeaders: [],
30
+ colSpan: 0,
31
+ rowSpan: 0,
32
+ headerGroup: null,
33
+ getLeafHeaders: () => {
34
+ const leafHeaders = [];
35
+
36
+ const recurseHeader = h => {
37
+ if (h.subHeaders && h.subHeaders.length) {
38
+ h.subHeaders.map(recurseHeader);
39
+ }
40
+
41
+ leafHeaders.push(h);
42
+ };
43
+
44
+ recurseHeader(header);
45
+ return leafHeaders;
46
+ },
47
+ renderHeader: () => column.columnDef.header ? instance._render(column.columnDef.header, {
48
+ instance,
49
+ header: header,
50
+ column
51
+ }) : null,
52
+ renderFooter: () => column.columnDef.footer ? instance._render(column.columnDef.footer, {
53
+ instance,
54
+ header: header,
55
+ column
56
+ }) : null
57
+ };
58
+
59
+ instance._features.forEach(feature => {
60
+ Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, instance));
61
+ });
62
+
63
+ return header;
64
+ }
65
+
18
66
  const Headers = {
19
67
  createInstance: instance => {
20
68
  return {
21
- createHeader: (column, options) => {
22
- var _options$id;
23
-
24
- const id = (_options$id = options.id) != null ? _options$id : column.id;
25
- let header = {
26
- id,
27
- column,
28
- index: options.index,
29
- isPlaceholder: options.isPlaceholder,
30
- placeholderId: options.placeholderId,
31
- depth: options.depth,
32
- subHeaders: [],
33
- colSpan: 0,
34
- rowSpan: 0,
35
- headerGroup: null,
36
- getLeafHeaders: () => {
37
- const leafHeaders = [];
38
-
39
- const recurseHeader = h => {
40
- if (h.subHeaders && h.subHeaders.length) {
41
- h.subHeaders.map(recurseHeader);
42
- }
43
-
44
- leafHeaders.push(h);
45
- };
46
-
47
- recurseHeader(header);
48
- return leafHeaders;
49
- },
50
- renderHeader: () => column.header ? instance._render(column.header, {
51
- instance,
52
- header: header,
53
- column
54
- }) : null,
55
- renderFooter: () => column.footer ? instance._render(column.footer, {
56
- instance,
57
- header: header,
58
- column
59
- }) : null
60
- };
61
-
62
- instance._features.forEach(feature => {
63
- Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, instance));
64
- });
65
-
66
- return header;
67
- },
68
69
  // Header Groups
69
70
  getHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
70
71
  var _left$map$filter, _right$map$filter;
@@ -265,20 +266,7 @@ const Headers = {
265
266
 
266
267
  return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
267
268
  }
268
- }),
269
- getHeader: id => {
270
- const header = [...instance.getFlatHeaders(), ...instance.getCenterFlatHeaders(), ...instance.getLeftFlatHeaders(), ...instance.getRightFlatHeaders()].find(d => d.id === id);
271
-
272
- if (!header) {
273
- if (process.env.NODE_ENV !== 'production') {
274
- console.warn("Could not find header with id: " + id);
275
- }
276
-
277
- throw new Error();
278
- }
279
-
280
- return header;
281
- }
269
+ })
282
270
  };
283
271
  }
284
272
  };
@@ -341,7 +329,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
341
329
  latestPendingParentHeader.subHeaders.push(headerToGroup);
342
330
  } else {
343
331
  // This is a new header. Let's create it
344
- const header = instance.createHeader(column, {
332
+ const header = createHeader(instance, column, {
345
333
  id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
346
334
  isPlaceholder,
347
335
  placeholderId: isPlaceholder ? "" + pendingParentHeaders.filter(d => d.column === column).length : undefined,
@@ -365,7 +353,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
365
353
  }
366
354
  };
367
355
 
368
- const bottomHeaders = columnsToGroup.map((column, index) => instance.createHeader(column, {
356
+ const bottomHeaders = columnsToGroup.map((column, index) => createHeader(instance, column, {
369
357
  depth: maxDepth,
370
358
  index
371
359
  }));
@@ -397,8 +385,8 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
397
385
 
398
386
  const minChildRowSpan = Math.min(...childRowSpans);
399
387
  rowSpan = rowSpan + minChildRowSpan;
400
- header.colSpan = colSpan > 0 ? colSpan : undefined;
401
- header.rowSpan = rowSpan > 0 ? rowSpan : undefined;
388
+ header.colSpan = colSpan;
389
+ header.rowSpan = rowSpan;
402
390
  return {
403
391
  colSpan,
404
392
  rowSpan
@@ -412,4 +400,4 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
412
400
 
413
401
  exports.Headers = Headers;
414
402
  exports.buildHeaderGroups = buildHeaderGroups;
415
- //# sourceMappingURL=Headers.js.map
403
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import {\n Column,\n Header,\n HeaderGroup,\n TableGenerics,\n TableInstance,\n} from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './instance'\n\nexport type CoreHeaderGroup<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n headers: Header<TGenerics>[]\n}\n\nexport type CoreHeader<TGenerics extends TableGenerics> = {\n id: string\n index: number\n depth: number\n column: Column<TGenerics>\n headerGroup: HeaderGroup<TGenerics>\n subHeaders: Header<TGenerics>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TGenerics>[]\n isPlaceholder: boolean\n placeholderId?: string\n renderHeader: (options?: {\n renderPlaceholder?: boolean\n }) => string | null | TGenerics['Rendered']\n renderFooter: (options?: {\n renderPlaceholder?: boolean\n }) => string | null | TGenerics['Rendered']\n}\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n}\n\n//\n\nfunction createHeader<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n) {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n renderHeader: () =>\n column.columnDef.header\n ? instance._render(column.columnDef.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.columnDef.footer\n ? instance._render(column.columnDef.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n}\n\nexport const Headers: TableFeature = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n instance,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n instance,\n 'right'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(instance, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(instance, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TGenerics>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","instance","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","renderHeader","columnDef","_render","renderFooter","footer","_features","forEach","feature","Object","assign","Headers","createInstance","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","orderedLeafColumns","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * table-core
3
+ *
4
+ * Copyright (c) TanStack
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ 'use strict';
12
+
13
+ Object.defineProperty(exports, '__esModule', { value: true });
14
+
15
+ var utils = require('../utils.js');
16
+ var column = require('./column.js');
17
+ var headers = require('./headers.js');
18
+ var ColumnSizing = require('../features/ColumnSizing.js');
19
+ var Expanding = require('../features/Expanding.js');
20
+ var Filters = require('../features/Filters.js');
21
+ var Grouping = require('../features/Grouping.js');
22
+ var Ordering = require('../features/Ordering.js');
23
+ var Pagination = require('../features/Pagination.js');
24
+ var Pinning = require('../features/Pinning.js');
25
+ var RowSelection = require('../features/RowSelection.js');
26
+ var Sorting = require('../features/Sorting.js');
27
+ var Visibility = require('../features/Visibility.js');
28
+
29
+ const features = [headers.Headers, Visibility.Visibility, Ordering.Ordering, Pinning.Pinning, Filters.Filters, Sorting.Sorting, Grouping.Grouping, Expanding.Expanding, Pagination.Pagination, RowSelection.RowSelection, ColumnSizing.ColumnSizing]; //
30
+
31
+ function createTableInstance(options) {
32
+ var _options$initialState;
33
+
34
+ if (options.debugAll || options.debugTable) {
35
+ console.info('Creating Table Instance...');
36
+ }
37
+
38
+ let instance = {
39
+ _features: features
40
+ };
41
+
42
+ const defaultOptions = instance._features.reduce((obj, feature) => {
43
+ return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(instance));
44
+ }, {});
45
+
46
+ const mergeOptions = options => {
47
+ if (instance.options.mergeOptions) {
48
+ return instance.options.mergeOptions(defaultOptions, options);
49
+ }
50
+
51
+ return { ...defaultOptions,
52
+ ...options
53
+ };
54
+ };
55
+
56
+ const coreInitialState = {};
57
+ let initialState = { ...coreInitialState,
58
+ ...((_options$initialState = options.initialState) != null ? _options$initialState : {})
59
+ };
60
+
61
+ instance._features.forEach(feature => {
62
+ var _feature$getInitialSt;
63
+
64
+ initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
65
+ });
66
+
67
+ const queued = [];
68
+ let queuedTimeout = false;
69
+ const coreInstance = {
70
+ _features: features,
71
+ options: { ...defaultOptions,
72
+ ...options
73
+ },
74
+ initialState,
75
+ _queue: cb => {
76
+ queued.push(cb);
77
+
78
+ if (!queuedTimeout) {
79
+ queuedTimeout = true; // Schedule a microtask to run the queued callbacks after
80
+ // the current call stack (render, etc) has finished.
81
+
82
+ Promise.resolve().then(() => {
83
+ while (queued.length) {
84
+ queued.shift()();
85
+ }
86
+
87
+ queuedTimeout = false;
88
+ }).catch(error => setTimeout(() => {
89
+ throw error;
90
+ }));
91
+ }
92
+ },
93
+ reset: () => {
94
+ instance.setState(instance.initialState);
95
+ },
96
+ setOptions: updater => {
97
+ const newOptions = utils.functionalUpdate(updater, instance.options);
98
+ instance.options = mergeOptions(newOptions);
99
+ },
100
+ _render: (template, props) => {
101
+ if (typeof instance.options.render === 'function') {
102
+ return instance.options.render(template, props);
103
+ }
104
+
105
+ if (typeof template === 'function') {
106
+ return template(props);
107
+ }
108
+
109
+ return template;
110
+ },
111
+ getState: () => {
112
+ return instance.options.state;
113
+ },
114
+ setState: updater => {
115
+ instance.options.onStateChange == null ? void 0 : instance.options.onStateChange(updater);
116
+ },
117
+ _getRowId: (row, index, parent) => {
118
+ var _instance$options$get;
119
+
120
+ return (_instance$options$get = instance.options.getRowId == null ? void 0 : instance.options.getRowId(row, index, parent)) != null ? _instance$options$get : "" + (parent ? [parent.id, index].join('.') : index);
121
+ },
122
+ getCoreRowModel: () => {
123
+ if (!instance._getCoreRowModel) {
124
+ instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
125
+ }
126
+
127
+ return instance._getCoreRowModel();
128
+ },
129
+ // The final calls start at the bottom of the model,
130
+ // expanded rows, which then work their way up
131
+ getRowModel: () => {
132
+ return instance.getPaginationRowModel();
133
+ },
134
+ getRow: id => {
135
+ const row = instance.getRowModel().rowsById[id];
136
+
137
+ if (!row) {
138
+ if (process.env.NODE_ENV !== 'production') {
139
+ throw new Error("getRow expected an ID, but got " + id);
140
+ }
141
+
142
+ throw new Error();
143
+ }
144
+
145
+ return row;
146
+ },
147
+ _getDefaultColumnDef: utils.memo(() => [instance.options.defaultColumn], defaultColumn => {
148
+ var _defaultColumn;
149
+
150
+ defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
151
+ return {
152
+ header: props => props.header.column.id,
153
+ footer: props => props.header.column.id,
154
+ cell: props => {
155
+ var _props$getValue$toStr, _props$getValue$toStr2, _props$getValue;
156
+
157
+ return (_props$getValue$toStr = (_props$getValue$toStr2 = (_props$getValue = props.getValue()).toString) == null ? void 0 : _props$getValue$toStr2.call(_props$getValue)) != null ? _props$getValue$toStr : null;
158
+ },
159
+ ...instance._features.reduce((obj, feature) => {
160
+ return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
161
+ }, {}),
162
+ ...defaultColumn
163
+ };
164
+ }, {
165
+ debug: () => {
166
+ var _instance$options$deb;
167
+
168
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
169
+ },
170
+ key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef'
171
+ }),
172
+ _getColumnDefs: () => instance.options.columns,
173
+ getAllColumns: utils.memo(() => [instance._getColumnDefs()], columnDefs => {
174
+ const recurseColumns = function (columnDefs, parent, depth) {
175
+ if (depth === void 0) {
176
+ depth = 0;
177
+ }
178
+
179
+ return columnDefs.map(columnDef => {
180
+ const column$1 = column.createColumn(instance, columnDef, depth, parent);
181
+ column$1.columns = columnDef.columns ? recurseColumns(columnDef.columns, column$1, depth + 1) : [];
182
+ return column$1;
183
+ });
184
+ };
185
+
186
+ return recurseColumns(columnDefs);
187
+ }, {
188
+ key: process.env.NODE_ENV === 'development' && 'getAllColumns',
189
+ debug: () => {
190
+ var _instance$options$deb2;
191
+
192
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
193
+ }
194
+ }),
195
+ getAllFlatColumns: utils.memo(() => [instance.getAllColumns()], allColumns => {
196
+ return allColumns.flatMap(column => {
197
+ return column.getFlatColumns();
198
+ });
199
+ }, {
200
+ key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',
201
+ debug: () => {
202
+ var _instance$options$deb3;
203
+
204
+ return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
205
+ }
206
+ }),
207
+ _getAllFlatColumnsById: utils.memo(() => [instance.getAllFlatColumns()], flatColumns => {
208
+ return flatColumns.reduce((acc, column) => {
209
+ acc[column.id] = column;
210
+ return acc;
211
+ }, {});
212
+ }, {
213
+ key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',
214
+ debug: () => {
215
+ var _instance$options$deb4;
216
+
217
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
218
+ }
219
+ }),
220
+ getAllLeafColumns: utils.memo(() => [instance.getAllColumns(), instance._getOrderColumnsFn()], (allColumns, orderColumns) => {
221
+ let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
222
+ return orderColumns(leafColumns);
223
+ }, {
224
+ key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',
225
+ debug: () => {
226
+ var _instance$options$deb5;
227
+
228
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
229
+ }
230
+ }),
231
+ getColumn: columnId => {
232
+ const column = instance._getAllFlatColumnsById()[columnId];
233
+
234
+ if (!column) {
235
+ if (process.env.NODE_ENV !== 'production') {
236
+ console.warn("[Table] Column with id " + columnId + " does not exist.");
237
+ }
238
+
239
+ throw new Error();
240
+ }
241
+
242
+ return column;
243
+ }
244
+ };
245
+ Object.assign(instance, coreInstance);
246
+
247
+ instance._features.forEach(feature => {
248
+ return Object.assign(instance, feature.createInstance == null ? void 0 : feature.createInstance(instance));
249
+ });
250
+
251
+ return instance;
252
+ }
253
+
254
+ exports.createTableInstance = createTableInstance;
255
+ //# sourceMappingURL=instance.js.map