@tanstack/table-core 8.0.0-alpha.83 → 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 (93) 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/features/ColumnSizing.js.map +1 -1
  12. package/build/cjs/features/Expanding.js.map +1 -1
  13. package/build/cjs/features/Filters.js +1 -1
  14. package/build/cjs/features/Filters.js.map +1 -1
  15. package/build/cjs/features/Grouping.js.map +1 -1
  16. package/build/cjs/features/Ordering.js.map +1 -1
  17. package/build/cjs/features/Pagination.js.map +1 -1
  18. package/build/cjs/features/Pinning.js +3 -3
  19. package/build/cjs/features/Pinning.js.map +1 -1
  20. package/build/cjs/features/RowSelection.js.map +1 -1
  21. package/build/cjs/features/Sorting.js.map +1 -1
  22. package/build/cjs/features/Visibility.js.map +1 -1
  23. package/build/cjs/index.js +9 -5
  24. package/build/cjs/index.js.map +1 -1
  25. package/build/cjs/utils/filterRowsUtils.js +23 -21
  26. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  27. package/build/cjs/utils/getCoreRowModel.js +9 -8
  28. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  29. package/build/cjs/utils/getGroupedRowModel.js +12 -11
  30. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  31. package/build/esm/index.js +656 -761
  32. package/build/esm/index.js.map +1 -1
  33. package/build/stats-html.html +1 -1
  34. package/build/stats-react.json +391 -368
  35. package/build/types/core/cell.d.ts +9 -0
  36. package/build/types/{features/Columns.d.ts → core/column.d.ts} +3 -17
  37. package/build/types/{features/Headers.d.ts → core/headers.d.ts} +26 -11
  38. package/build/types/core/instance.d.ts +57 -0
  39. package/build/types/core/row.d.ts +15 -0
  40. package/build/types/features/ColumnSizing.d.ts +2 -1
  41. package/build/types/features/Expanding.d.ts +2 -1
  42. package/build/types/features/Filters.d.ts +2 -1
  43. package/build/types/features/Grouping.d.ts +2 -1
  44. package/build/types/features/Ordering.d.ts +2 -1
  45. package/build/types/features/Pagination.d.ts +2 -1
  46. package/build/types/features/Pinning.d.ts +2 -1
  47. package/build/types/features/RowSelection.d.ts +2 -1
  48. package/build/types/features/Sorting.d.ts +2 -1
  49. package/build/types/features/Visibility.d.ts +2 -1
  50. package/build/types/index.d.ts +4 -2
  51. package/build/types/sortingFns.d.ts +4 -4
  52. package/build/types/types.d.ts +10 -53
  53. package/build/umd/index.development.js +660 -759
  54. package/build/umd/index.development.js.map +1 -1
  55. package/build/umd/index.production.js +1 -1
  56. package/build/umd/index.production.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/core/cell.ts +47 -0
  59. package/src/core/column.ts +148 -0
  60. package/src/{features/Headers.ts → core/headers.ts} +98 -99
  61. package/src/core/instance.ts +361 -0
  62. package/src/core/row.ts +85 -0
  63. package/src/features/ColumnSizing.ts +1 -1
  64. package/src/features/Expanding.ts +1 -2
  65. package/src/features/Filters.ts +2 -2
  66. package/src/features/Grouping.ts +1 -1
  67. package/src/features/Ordering.ts +1 -1
  68. package/src/features/Pagination.ts +1 -1
  69. package/src/features/Pinning.ts +8 -4
  70. package/src/features/RowSelection.ts +1 -1
  71. package/src/features/Sorting.ts +1 -1
  72. package/src/features/Visibility.ts +1 -1
  73. package/src/index.ts +4 -8
  74. package/src/types.ts +9 -61
  75. package/src/utils/filterRowsUtils.ts +4 -2
  76. package/src/utils/getCoreRowModel.ts +4 -2
  77. package/src/utils/getGroupedRowModel.ts +6 -6
  78. package/build/cjs/core.js +0 -168
  79. package/build/cjs/core.js.map +0 -1
  80. package/build/cjs/features/Cells.js +0 -101
  81. package/build/cjs/features/Cells.js.map +0 -1
  82. package/build/cjs/features/Columns.js +0 -191
  83. package/build/cjs/features/Columns.js.map +0 -1
  84. package/build/cjs/features/Headers.js.map +0 -1
  85. package/build/cjs/features/Rows.js +0 -94
  86. package/build/cjs/features/Rows.js.map +0 -1
  87. package/build/types/core.d.ts +0 -30
  88. package/build/types/features/Cells.d.ts +0 -13
  89. package/build/types/features/Rows.d.ts +0 -28
  90. package/src/core.ts +0 -246
  91. package/src/features/Cells.ts +0 -128
  92. package/src/features/Columns.ts +0 -293
  93. 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.columnDef.header ? instance._render(column.columnDef.header, {
51
- instance,
52
- header: header,
53
- column
54
- }) : null,
55
- renderFooter: () => column.columnDef.footer ? instance._render(column.columnDef.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