@tanstack/table-core 8.9.7 → 8.9.9

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 (57) hide show
  1. package/build/lib/core/cell.js +1 -1
  2. package/build/lib/core/cell.js.map +1 -1
  3. package/build/lib/core/column.js +3 -3
  4. package/build/lib/core/column.js.map +1 -1
  5. package/build/lib/core/headers.js +182 -181
  6. package/build/lib/core/headers.js.map +1 -1
  7. package/build/lib/core/row.js +1 -1
  8. package/build/lib/core/row.js.map +1 -1
  9. package/build/lib/core/table.js +4 -3
  10. package/build/lib/core/table.js.map +1 -1
  11. package/build/lib/features/ColumnSizing.js +173 -179
  12. package/build/lib/features/ColumnSizing.js.map +1 -1
  13. package/build/lib/features/Expanding.js +119 -123
  14. package/build/lib/features/Expanding.js.map +1 -1
  15. package/build/lib/features/Filters.js +157 -165
  16. package/build/lib/features/Filters.js.map +1 -1
  17. package/build/lib/features/Grouping.js +71 -79
  18. package/build/lib/features/Grouping.js.map +1 -1
  19. package/build/lib/features/Ordering.js +32 -34
  20. package/build/lib/features/Ordering.js.map +1 -1
  21. package/build/lib/features/Pagination.js +112 -114
  22. package/build/lib/features/Pagination.js.map +1 -1
  23. package/build/lib/features/Pinning.js +120 -126
  24. package/build/lib/features/Pinning.js.map +1 -1
  25. package/build/lib/features/RowSelection.js +245 -247
  26. package/build/lib/features/RowSelection.js.map +1 -1
  27. package/build/lib/features/Sorting.js +163 -167
  28. package/build/lib/features/Sorting.js.map +1 -1
  29. package/build/lib/features/Visibility.js +60 -66
  30. package/build/lib/features/Visibility.js.map +1 -1
  31. package/build/lib/index.esm.js +1469 -1515
  32. package/build/lib/index.esm.js.map +1 -1
  33. package/build/lib/index.mjs +1469 -1515
  34. package/build/lib/index.mjs.map +1 -1
  35. package/build/lib/utils.d.ts +2 -2
  36. package/build/lib/utils.js.map +1 -1
  37. package/build/umd/index.development.js +1469 -1515
  38. package/build/umd/index.development.js.map +1 -1
  39. package/build/umd/index.production.js +1 -1
  40. package/build/umd/index.production.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/core/cell.ts +5 -8
  43. package/src/core/column.ts +3 -3
  44. package/src/core/headers.ts +264 -280
  45. package/src/core/row.ts +1 -1
  46. package/src/core/table.ts +4 -3
  47. package/src/features/ColumnSizing.ts +220 -231
  48. package/src/features/Expanding.ts +132 -140
  49. package/src/features/Filters.ts +193 -206
  50. package/src/features/Grouping.ts +94 -110
  51. package/src/features/Ordering.ts +48 -51
  52. package/src/features/Pagination.ts +150 -154
  53. package/src/features/Pinning.ts +158 -178
  54. package/src/features/RowSelection.ts +280 -286
  55. package/src/features/Sorting.ts +196 -206
  56. package/src/features/Visibility.ts +98 -107
  57. package/src/utils.ts +11 -5
@@ -38,7 +38,7 @@ function createCell(table, row, column, columnId) {
38
38
  })
39
39
  };
40
40
  table._features.forEach(feature => {
41
- Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, table));
41
+ feature.createCell == null || feature.createCell(cell, column, row, table);
42
42
  }, {});
43
43
  return cell;
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport interface CellContext<TData extends RowData, TValue> {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport interface CoreCell<TData extends RowData, TValue> {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n): Cell<TData, TValue> {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAUA,CACxBC,KAAmB,EACnBC,GAAe,EACfC,MAA6B,EAC7BC,QAAgB,EACK;EACrB,MAAMC,cAAc,GAAGA,MAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;AAAA,IAAA,OAAA,CAAAA,cAAA,GACrBC,IAAI,CAACC,QAAQ,EAAE,KAAAF,IAAAA,GAAAA,cAAA,GAAIL,KAAK,CAACQ,OAAO,CAACC,mBAAmB,CAAA;AAAA,GAAA,CAAA;AAEtD,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAET,GAAG,CAACS,EAAG,CAAGR,CAAAA,EAAAA,MAAM,CAACQ,EAAG,CAAC,CAAA;IAC5BT,GAAG;IACHC,MAAM;IACNK,QAAQ,EAAEA,MAAMN,GAAG,CAACM,QAAQ,CAACJ,QAAQ,CAAC;AACtCQ,IAAAA,WAAW,EAAEP,cAAc;IAC3BQ,UAAU,EAAEC,UAAI,CACd,MAAM,CAACb,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,CAAC,EAChC,CAACN,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,MAAM;MAC7BN,KAAK;MACLE,MAAM;MACND,GAAG;AACHK,MAAAA,IAAI,EAAEA,IAA2B;MACjCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MACvBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AACpB,KAAC,CAAC,EACF;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,MAAAA,KAAK,EAAEA,MAAMlB,KAAK,CAACQ,OAAO,CAACW,QAAAA;KAE/B,CAAA;GACD,CAAA;AAEDnB,EAAAA,KAAK,CAACoB,SAAS,CAACC,OAAO,CAACC,OAAO,IAAI;IACjCC,MAAM,CAACC,MAAM,CACXlB,IAAI,EACJgB,OAAO,CAACvB,UAAU,IAAlBuB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACvB,UAAU,CAChBO,IAAI,EACJJ,MAAM,EACND,GAAG,EACHD,KACF,CACF,CAAC,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOM,IAAI,CAAA;AACb;;;;"}
1
+ {"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport interface CellContext<TData extends RowData, TValue> {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport interface CoreCell<TData extends RowData, TValue> {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n): Cell<TData, TValue> {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAUA,CACxBC,KAAmB,EACnBC,GAAe,EACfC,MAA6B,EAC7BC,QAAgB,EACK;EACrB,MAAMC,cAAc,GAAGA,MAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;AAAA,IAAA,OAAA,CAAAA,cAAA,GACrBC,IAAI,CAACC,QAAQ,EAAE,KAAAF,IAAAA,GAAAA,cAAA,GAAIL,KAAK,CAACQ,OAAO,CAACC,mBAAmB,CAAA;AAAA,GAAA,CAAA;AAEtD,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAET,GAAG,CAACS,EAAG,CAAGR,CAAAA,EAAAA,MAAM,CAACQ,EAAG,CAAC,CAAA;IAC5BT,GAAG;IACHC,MAAM;IACNK,QAAQ,EAAEA,MAAMN,GAAG,CAACM,QAAQ,CAACJ,QAAQ,CAAC;AACtCQ,IAAAA,WAAW,EAAEP,cAAc;IAC3BQ,UAAU,EAAEC,UAAI,CACd,MAAM,CAACb,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,CAAC,EAChC,CAACN,KAAK,EAAEE,MAAM,EAAED,GAAG,EAAEK,IAAI,MAAM;MAC7BN,KAAK;MACLE,MAAM;MACND,GAAG;AACHK,MAAAA,IAAI,EAAEA,IAA2B;MACjCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MACvBI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AACpB,KAAC,CAAC,EACF;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,iBAAiB;AAChEC,MAAAA,KAAK,EAAEA,MAAMlB,KAAK,CAACQ,OAAO,CAACW,QAAAA;KAE/B,CAAA;GACD,CAAA;AAEDnB,EAAAA,KAAK,CAACoB,SAAS,CAACC,OAAO,CAACC,OAAO,IAAI;AACjCA,IAAAA,OAAO,CAACvB,UAAU,IAAlBuB,IAAAA,IAAAA,OAAO,CAACvB,UAAU,CAChBO,IAAI,EACJJ,MAAM,EACND,GAAG,EACHD,KACF,CAAC,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOM,IAAI,CAAA;AACb;;;;"}
@@ -82,9 +82,9 @@ function createColumn(table, columnDef, depth, parent) {
82
82
  }
83
83
  })
84
84
  };
85
- column = table._features.reduce((obj, feature) => {
86
- return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, table));
87
- }, column);
85
+ for (const feature of table._features) {
86
+ feature.createColumn == null || feature.createColumn(column, table);
87
+ }
88
88
 
89
89
  // Yes, we have to convert table to uknown, because we know more than the compiler here.
90
90
  return column;
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n RowData,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport interface CoreColumn<TData extends RowData, TValue> {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => Column<TData, TValue>[]\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n): Column<TData, TValue> {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result?.[key]\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(\n `\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`\n )\n }\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n column = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, table))\n }, column)\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","_ref","_resolvedColumnDef$id","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","_result","process","env","NODE_ENV","console","warn","Error","column","String","columns","getFlatColumns","memo","_column$columns","flatMap","d","debug","_table$options$debugA","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","_column$columns2","length","leafColumns","_table$options$debugA2","_features","reduce","obj","feature","Object","assign"],"mappings":"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"}
1
+ {"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n RowData,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport interface CoreColumn<TData extends RowData, TValue> {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => Column<TData, TValue>[]\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n): Column<TData, TValue> {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result?.[key]\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(\n `\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`\n )\n }\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n for (const feature of table._features) {\n feature.createColumn?.(column, table)\n }\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","_ref","_resolvedColumnDef$id","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","_result","process","env","NODE_ENV","console","warn","Error","column","String","columns","getFlatColumns","memo","_column$columns","flatMap","d","debug","_table$options$debugA","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","_column$columns2","length","leafColumns","_table$options$debugA2","feature","_features"],"mappings":"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"}
@@ -48,196 +48,197 @@ function createHeader(table, column, options) {
48
48
  })
49
49
  };
50
50
  table._features.forEach(feature => {
51
- Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, table));
51
+ feature.createHeader == null || feature.createHeader(header, table);
52
52
  });
53
53
  return header;
54
54
  }
55
55
  const Headers = {
56
56
  createTable: table => {
57
- return {
58
- // Header Groups
57
+ // Header Groups
59
58
 
60
- getHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
61
- var _left$map$filter, _right$map$filter;
62
- const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];
63
- const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];
64
- const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
65
- const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);
66
- return headerGroups;
67
- }, {
68
- key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
69
- debug: () => {
70
- var _table$options$debugA;
71
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugHeaders;
72
- }
73
- }),
74
- getCenterHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
75
- leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
76
- return buildHeaderGroups(allColumns, leafColumns, table, 'center');
77
- }, {
78
- key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
79
- debug: () => {
80
- var _table$options$debugA2;
81
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugHeaders;
82
- }
83
- }),
84
- getLeftHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {
85
- var _left$map$filter2;
86
- const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];
87
- return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');
88
- }, {
89
- key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
90
- debug: () => {
91
- var _table$options$debugA3;
92
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugHeaders;
93
- }
94
- }),
95
- getRightHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {
96
- var _right$map$filter2;
97
- const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];
98
- return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');
99
- }, {
100
- key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
101
- debug: () => {
102
- var _table$options$debugA4;
103
- return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugHeaders;
104
- }
105
- }),
106
- // Footer Groups
59
+ table.getHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
60
+ var _left$map$filter, _right$map$filter;
61
+ const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];
62
+ const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];
63
+ const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
64
+ const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);
65
+ return headerGroups;
66
+ }, {
67
+ key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
68
+ debug: () => {
69
+ var _table$options$debugA;
70
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugHeaders;
71
+ }
72
+ });
73
+ table.getCenterHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
74
+ leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
75
+ return buildHeaderGroups(allColumns, leafColumns, table, 'center');
76
+ }, {
77
+ key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
78
+ debug: () => {
79
+ var _table$options$debugA2;
80
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugHeaders;
81
+ }
82
+ });
83
+ table.getLeftHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {
84
+ var _left$map$filter2;
85
+ const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];
86
+ return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');
87
+ }, {
88
+ key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
89
+ debug: () => {
90
+ var _table$options$debugA3;
91
+ return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugHeaders;
92
+ }
93
+ });
94
+ table.getRightHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {
95
+ var _right$map$filter2;
96
+ const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];
97
+ return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');
98
+ }, {
99
+ key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
100
+ debug: () => {
101
+ var _table$options$debugA4;
102
+ return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugHeaders;
103
+ }
104
+ });
107
105
 
108
- getFooterGroups: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
109
- return [...headerGroups].reverse();
110
- }, {
111
- key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
112
- debug: () => {
113
- var _table$options$debugA5;
114
- return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugHeaders;
115
- }
116
- }),
117
- getLeftFooterGroups: utils.memo(() => [table.getLeftHeaderGroups()], headerGroups => {
118
- return [...headerGroups].reverse();
119
- }, {
120
- key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
121
- debug: () => {
122
- var _table$options$debugA6;
123
- return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugHeaders;
124
- }
125
- }),
126
- getCenterFooterGroups: utils.memo(() => [table.getCenterHeaderGroups()], headerGroups => {
127
- return [...headerGroups].reverse();
128
- }, {
129
- key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
130
- debug: () => {
131
- var _table$options$debugA7;
132
- return (_table$options$debugA7 = table.options.debugAll) != null ? _table$options$debugA7 : table.options.debugHeaders;
133
- }
134
- }),
135
- getRightFooterGroups: utils.memo(() => [table.getRightHeaderGroups()], headerGroups => {
136
- return [...headerGroups].reverse();
137
- }, {
138
- key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
139
- debug: () => {
140
- var _table$options$debugA8;
141
- return (_table$options$debugA8 = table.options.debugAll) != null ? _table$options$debugA8 : table.options.debugHeaders;
142
- }
143
- }),
144
- // Flat Headers
106
+ // Footer Groups
145
107
 
146
- getFlatHeaders: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
147
- return headerGroups.map(headerGroup => {
148
- return headerGroup.headers;
149
- }).flat();
150
- }, {
151
- key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
152
- debug: () => {
153
- var _table$options$debugA9;
154
- return (_table$options$debugA9 = table.options.debugAll) != null ? _table$options$debugA9 : table.options.debugHeaders;
155
- }
156
- }),
157
- getLeftFlatHeaders: utils.memo(() => [table.getLeftHeaderGroups()], left => {
158
- return left.map(headerGroup => {
159
- return headerGroup.headers;
160
- }).flat();
161
- }, {
162
- key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
163
- debug: () => {
164
- var _table$options$debugA10;
165
- return (_table$options$debugA10 = table.options.debugAll) != null ? _table$options$debugA10 : table.options.debugHeaders;
166
- }
167
- }),
168
- getCenterFlatHeaders: utils.memo(() => [table.getCenterHeaderGroups()], left => {
169
- return left.map(headerGroup => {
170
- return headerGroup.headers;
171
- }).flat();
172
- }, {
173
- key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
174
- debug: () => {
175
- var _table$options$debugA11;
176
- return (_table$options$debugA11 = table.options.debugAll) != null ? _table$options$debugA11 : table.options.debugHeaders;
177
- }
178
- }),
179
- getRightFlatHeaders: utils.memo(() => [table.getRightHeaderGroups()], left => {
180
- return left.map(headerGroup => {
181
- return headerGroup.headers;
182
- }).flat();
183
- }, {
184
- key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
185
- debug: () => {
186
- var _table$options$debugA12;
187
- return (_table$options$debugA12 = table.options.debugAll) != null ? _table$options$debugA12 : table.options.debugHeaders;
188
- }
189
- }),
190
- // Leaf Headers
108
+ table.getFooterGroups = utils.memo(() => [table.getHeaderGroups()], headerGroups => {
109
+ return [...headerGroups].reverse();
110
+ }, {
111
+ key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
112
+ debug: () => {
113
+ var _table$options$debugA5;
114
+ return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugHeaders;
115
+ }
116
+ });
117
+ table.getLeftFooterGroups = utils.memo(() => [table.getLeftHeaderGroups()], headerGroups => {
118
+ return [...headerGroups].reverse();
119
+ }, {
120
+ key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
121
+ debug: () => {
122
+ var _table$options$debugA6;
123
+ return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugHeaders;
124
+ }
125
+ });
126
+ table.getCenterFooterGroups = utils.memo(() => [table.getCenterHeaderGroups()], headerGroups => {
127
+ return [...headerGroups].reverse();
128
+ }, {
129
+ key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
130
+ debug: () => {
131
+ var _table$options$debugA7;
132
+ return (_table$options$debugA7 = table.options.debugAll) != null ? _table$options$debugA7 : table.options.debugHeaders;
133
+ }
134
+ });
135
+ table.getRightFooterGroups = utils.memo(() => [table.getRightHeaderGroups()], headerGroups => {
136
+ return [...headerGroups].reverse();
137
+ }, {
138
+ key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
139
+ debug: () => {
140
+ var _table$options$debugA8;
141
+ return (_table$options$debugA8 = table.options.debugAll) != null ? _table$options$debugA8 : table.options.debugHeaders;
142
+ }
143
+ });
191
144
 
192
- getCenterLeafHeaders: utils.memo(() => [table.getCenterFlatHeaders()], flatHeaders => {
193
- return flatHeaders.filter(header => {
194
- var _header$subHeaders;
195
- return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
196
- });
197
- }, {
198
- key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
199
- debug: () => {
200
- var _table$options$debugA13;
201
- return (_table$options$debugA13 = table.options.debugAll) != null ? _table$options$debugA13 : table.options.debugHeaders;
202
- }
203
- }),
204
- getLeftLeafHeaders: utils.memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
205
- return flatHeaders.filter(header => {
206
- var _header$subHeaders2;
207
- return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
208
- });
209
- }, {
210
- key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
211
- debug: () => {
212
- var _table$options$debugA14;
213
- return (_table$options$debugA14 = table.options.debugAll) != null ? _table$options$debugA14 : table.options.debugHeaders;
214
- }
215
- }),
216
- getRightLeafHeaders: utils.memo(() => [table.getRightFlatHeaders()], flatHeaders => {
217
- return flatHeaders.filter(header => {
218
- var _header$subHeaders3;
219
- return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
220
- });
221
- }, {
222
- key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
223
- debug: () => {
224
- var _table$options$debugA15;
225
- return (_table$options$debugA15 = table.options.debugAll) != null ? _table$options$debugA15 : table.options.debugHeaders;
226
- }
227
- }),
228
- getLeafHeaders: utils.memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
229
- var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;
230
- return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {
231
- return header.getLeafHeaders();
232
- }).flat();
233
- }, {
234
- key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
235
- debug: () => {
236
- var _table$options$debugA16;
237
- return (_table$options$debugA16 = table.options.debugAll) != null ? _table$options$debugA16 : table.options.debugHeaders;
238
- }
239
- })
240
- };
145
+ // Flat Headers
146
+
147
+ table.getFlatHeaders = utils.memo(() => [table.getHeaderGroups()], headerGroups => {
148
+ return headerGroups.map(headerGroup => {
149
+ return headerGroup.headers;
150
+ }).flat();
151
+ }, {
152
+ key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
153
+ debug: () => {
154
+ var _table$options$debugA9;
155
+ return (_table$options$debugA9 = table.options.debugAll) != null ? _table$options$debugA9 : table.options.debugHeaders;
156
+ }
157
+ });
158
+ table.getLeftFlatHeaders = utils.memo(() => [table.getLeftHeaderGroups()], left => {
159
+ return left.map(headerGroup => {
160
+ return headerGroup.headers;
161
+ }).flat();
162
+ }, {
163
+ key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
164
+ debug: () => {
165
+ var _table$options$debugA10;
166
+ return (_table$options$debugA10 = table.options.debugAll) != null ? _table$options$debugA10 : table.options.debugHeaders;
167
+ }
168
+ });
169
+ table.getCenterFlatHeaders = utils.memo(() => [table.getCenterHeaderGroups()], left => {
170
+ return left.map(headerGroup => {
171
+ return headerGroup.headers;
172
+ }).flat();
173
+ }, {
174
+ key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
175
+ debug: () => {
176
+ var _table$options$debugA11;
177
+ return (_table$options$debugA11 = table.options.debugAll) != null ? _table$options$debugA11 : table.options.debugHeaders;
178
+ }
179
+ });
180
+ table.getRightFlatHeaders = utils.memo(() => [table.getRightHeaderGroups()], left => {
181
+ return left.map(headerGroup => {
182
+ return headerGroup.headers;
183
+ }).flat();
184
+ }, {
185
+ key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
186
+ debug: () => {
187
+ var _table$options$debugA12;
188
+ return (_table$options$debugA12 = table.options.debugAll) != null ? _table$options$debugA12 : table.options.debugHeaders;
189
+ }
190
+ });
191
+
192
+ // Leaf Headers
193
+
194
+ table.getCenterLeafHeaders = utils.memo(() => [table.getCenterFlatHeaders()], flatHeaders => {
195
+ return flatHeaders.filter(header => {
196
+ var _header$subHeaders;
197
+ return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
198
+ });
199
+ }, {
200
+ key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
201
+ debug: () => {
202
+ var _table$options$debugA13;
203
+ return (_table$options$debugA13 = table.options.debugAll) != null ? _table$options$debugA13 : table.options.debugHeaders;
204
+ }
205
+ });
206
+ table.getLeftLeafHeaders = utils.memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
207
+ return flatHeaders.filter(header => {
208
+ var _header$subHeaders2;
209
+ return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
210
+ });
211
+ }, {
212
+ key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
213
+ debug: () => {
214
+ var _table$options$debugA14;
215
+ return (_table$options$debugA14 = table.options.debugAll) != null ? _table$options$debugA14 : table.options.debugHeaders;
216
+ }
217
+ });
218
+ table.getRightLeafHeaders = utils.memo(() => [table.getRightFlatHeaders()], flatHeaders => {
219
+ return flatHeaders.filter(header => {
220
+ var _header$subHeaders3;
221
+ return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
222
+ });
223
+ }, {
224
+ key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
225
+ debug: () => {
226
+ var _table$options$debugA15;
227
+ return (_table$options$debugA15 = table.options.debugAll) != null ? _table$options$debugA15 : table.options.debugHeaders;
228
+ }
229
+ });
230
+ table.getLeafHeaders = utils.memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
231
+ var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;
232
+ return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {
233
+ return header.getLeafHeaders();
234
+ }).flat();
235
+ }, {
236
+ key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
237
+ debug: () => {
238
+ var _table$options$debugA16;
239
+ return (_table$options$debugA16 = table.options.debugAll) != null ? _table$options$debugA16 : table.options.debugHeaders;
240
+ }
241
+ });
241
242
  }
242
243
  };
243
244
  function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {