@tanstack/table-core 8.17.3 → 9.0.0-alpha.4

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 (259) hide show
  1. package/dist/cjs/aggregationFns.cjs +98 -0
  2. package/dist/cjs/aggregationFns.cjs.map +1 -0
  3. package/dist/cjs/aggregationFns.d.cts +14 -0
  4. package/dist/cjs/columnHelper.cjs +19 -0
  5. package/dist/cjs/columnHelper.cjs.map +1 -0
  6. package/dist/cjs/columnHelper.d.cts +9 -0
  7. package/dist/cjs/core/cell.cjs +38 -0
  8. package/dist/cjs/core/cell.cjs.map +1 -0
  9. package/dist/cjs/core/cell.d.cts +50 -0
  10. package/dist/cjs/core/column.cjs +81 -0
  11. package/dist/cjs/core/column.cjs.map +1 -0
  12. package/dist/cjs/core/column.d.cts +56 -0
  13. package/dist/cjs/core/headers.cjs +310 -0
  14. package/dist/cjs/core/headers.cjs.map +1 -0
  15. package/dist/cjs/core/headers.d.cts +195 -0
  16. package/dist/cjs/core/row.cjs +93 -0
  17. package/dist/cjs/core/row.cjs.map +1 -0
  18. package/dist/cjs/core/row.d.cts +92 -0
  19. package/dist/cjs/core/table.cjs +228 -0
  20. package/dist/cjs/core/table.cjs.map +1 -0
  21. package/dist/cjs/core/table.d.cts +221 -0
  22. package/dist/cjs/features/ColumnFaceting.cjs +29 -0
  23. package/dist/cjs/features/ColumnFaceting.cjs.map +1 -0
  24. package/dist/cjs/features/ColumnFaceting.d.cts +35 -0
  25. package/dist/cjs/features/ColumnFiltering.cjs +137 -0
  26. package/dist/cjs/features/ColumnFiltering.cjs.map +1 -0
  27. package/dist/cjs/features/ColumnFiltering.d.cts +195 -0
  28. package/dist/cjs/features/ColumnGrouping.cjs +134 -0
  29. package/dist/cjs/features/ColumnGrouping.cjs.map +1 -0
  30. package/dist/cjs/features/ColumnGrouping.d.cts +202 -0
  31. package/dist/cjs/features/ColumnOrdering.cjs +76 -0
  32. package/dist/cjs/features/ColumnOrdering.cjs.map +1 -0
  33. package/dist/cjs/features/ColumnOrdering.d.cts +54 -0
  34. package/dist/cjs/features/ColumnPinning.cjs +145 -0
  35. package/dist/cjs/features/ColumnPinning.cjs.map +1 -0
  36. package/dist/cjs/features/ColumnPinning.d.cts +127 -0
  37. package/dist/cjs/features/ColumnSizing.cjs +308 -0
  38. package/dist/cjs/features/ColumnSizing.cjs.map +1 -0
  39. package/dist/cjs/features/ColumnSizing.d.cts +194 -0
  40. package/dist/cjs/features/ColumnVisibility.cjs +144 -0
  41. package/dist/cjs/features/ColumnVisibility.cjs.map +1 -0
  42. package/dist/cjs/features/ColumnVisibility.d.cts +130 -0
  43. package/dist/cjs/features/GlobalFaceting.cjs +29 -0
  44. package/dist/cjs/features/GlobalFaceting.cjs.map +1 -0
  45. package/dist/cjs/features/GlobalFaceting.d.cts +27 -0
  46. package/dist/cjs/features/GlobalFiltering.cjs +50 -0
  47. package/dist/cjs/features/GlobalFiltering.cjs.map +1 -0
  48. package/dist/cjs/features/GlobalFiltering.d.cts +80 -0
  49. package/dist/cjs/features/RowExpanding.cjs +154 -0
  50. package/dist/cjs/features/RowExpanding.cjs.map +1 -0
  51. package/dist/cjs/features/RowExpanding.d.cts +155 -0
  52. package/dist/cjs/features/RowPagination.cjs +162 -0
  53. package/dist/cjs/features/RowPagination.cjs.map +1 -0
  54. package/dist/cjs/features/RowPagination.d.cts +166 -0
  55. package/dist/cjs/features/RowPinning.cjs +133 -0
  56. package/dist/cjs/features/RowPinning.cjs.map +1 -0
  57. package/dist/cjs/features/RowPinning.d.cts +99 -0
  58. package/dist/cjs/features/RowSelection.cjs +298 -0
  59. package/dist/cjs/features/RowSelection.cjs.map +1 -0
  60. package/dist/cjs/features/RowSelection.d.cts +177 -0
  61. package/dist/cjs/features/RowSorting.cjs +201 -0
  62. package/dist/cjs/features/RowSorting.cjs.map +1 -0
  63. package/dist/cjs/features/RowSorting.d.cts +238 -0
  64. package/dist/cjs/filterFns.cjs +88 -0
  65. package/dist/cjs/filterFns.cjs.map +1 -0
  66. package/dist/cjs/filterFns.d.cts +14 -0
  67. package/{build/lib/index.js → dist/cjs/index.cjs} +36 -49
  68. package/dist/cjs/index.cjs.map +1 -0
  69. package/dist/cjs/index.d.cts +34 -0
  70. package/{build/lib/sortingFns.js → dist/cjs/sortingFns.cjs} +23 -52
  71. package/dist/cjs/sortingFns.cjs.map +1 -0
  72. package/dist/cjs/sortingFns.d.cts +12 -0
  73. package/dist/cjs/types.d.cts +120 -0
  74. package/{build/lib/utils/filterRowsUtils.js → dist/cjs/utils/filterRowsUtils.cjs} +34 -46
  75. package/dist/cjs/utils/filterRowsUtils.cjs.map +1 -0
  76. package/dist/cjs/utils/filterRowsUtils.d.cts +3 -0
  77. package/dist/cjs/utils/getCoreRowModel.cjs +54 -0
  78. package/dist/cjs/utils/getCoreRowModel.cjs.map +1 -0
  79. package/dist/cjs/utils/getCoreRowModel.d.cts +3 -0
  80. package/dist/cjs/utils/getExpandedRowModel.cjs +41 -0
  81. package/dist/cjs/utils/getExpandedRowModel.cjs.map +1 -0
  82. package/dist/cjs/utils/getExpandedRowModel.d.cts +8 -0
  83. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +36 -0
  84. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +1 -0
  85. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +3 -0
  86. package/dist/cjs/utils/getFacetedRowModel.cjs +35 -0
  87. package/dist/cjs/utils/getFacetedRowModel.cjs.map +1 -0
  88. package/dist/cjs/utils/getFacetedRowModel.d.cts +3 -0
  89. package/dist/cjs/utils/getFacetedUniqueValues.cjs +38 -0
  90. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +1 -0
  91. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +3 -0
  92. package/dist/cjs/utils/getFilteredRowModel.cjs +116 -0
  93. package/dist/cjs/utils/getFilteredRowModel.cjs.map +1 -0
  94. package/dist/cjs/utils/getFilteredRowModel.d.cts +3 -0
  95. package/dist/cjs/utils/getGroupedRowModel.cjs +118 -0
  96. package/dist/cjs/utils/getGroupedRowModel.cjs.map +1 -0
  97. package/dist/cjs/utils/getGroupedRowModel.d.cts +3 -0
  98. package/dist/cjs/utils/getPaginationRowModel.cjs +49 -0
  99. package/dist/cjs/utils/getPaginationRowModel.cjs.map +1 -0
  100. package/dist/cjs/utils/getPaginationRowModel.d.cts +5 -0
  101. package/dist/cjs/utils/getSortedRowModel.cjs +91 -0
  102. package/dist/cjs/utils/getSortedRowModel.cjs.map +1 -0
  103. package/dist/cjs/utils/getSortedRowModel.d.cts +3 -0
  104. package/{build/lib/utils.js → dist/cjs/utils.cjs} +30 -41
  105. package/dist/cjs/utils.cjs.map +1 -0
  106. package/dist/cjs/utils.d.cts +39 -0
  107. package/{build/lib → dist/esm}/aggregationFns.d.ts +2 -1
  108. package/dist/esm/aggregationFns.js +98 -0
  109. package/dist/esm/aggregationFns.js.map +1 -0
  110. package/{build/lib → dist/esm}/columnHelper.d.ts +3 -2
  111. package/dist/esm/columnHelper.js +19 -0
  112. package/{build/lib → dist/esm}/columnHelper.js.map +1 -1
  113. package/{build/lib → dist/esm}/core/cell.d.ts +1 -0
  114. package/dist/esm/core/cell.js +38 -0
  115. package/{build/lib → dist/esm}/core/cell.js.map +1 -1
  116. package/{build/lib → dist/esm}/core/column.d.ts +1 -0
  117. package/dist/esm/core/column.js +81 -0
  118. package/{build/lib → dist/esm}/core/column.js.map +1 -1
  119. package/{build/lib → dist/esm}/core/headers.d.ts +1 -0
  120. package/dist/esm/core/headers.js +310 -0
  121. package/{build/lib → dist/esm}/core/headers.js.map +1 -1
  122. package/{build/lib → dist/esm}/core/row.d.ts +1 -0
  123. package/dist/esm/core/row.js +93 -0
  124. package/{build/lib → dist/esm}/core/row.js.map +1 -1
  125. package/{build/lib → dist/esm}/core/table.d.ts +1 -0
  126. package/dist/esm/core/table.js +228 -0
  127. package/{build/lib → dist/esm}/core/table.js.map +1 -1
  128. package/{build/lib → dist/esm}/features/ColumnFaceting.d.ts +1 -0
  129. package/{build/lib → dist/esm}/features/ColumnFaceting.js +5 -18
  130. package/{build/lib → dist/esm}/features/ColumnFaceting.js.map +1 -1
  131. package/{build/lib → dist/esm}/features/ColumnFiltering.d.ts +1 -0
  132. package/dist/esm/features/ColumnFiltering.js +137 -0
  133. package/{build/lib → dist/esm}/features/ColumnFiltering.js.map +1 -1
  134. package/{build/lib → dist/esm}/features/ColumnGrouping.d.ts +1 -0
  135. package/dist/esm/features/ColumnGrouping.js +134 -0
  136. package/{build/lib → dist/esm}/features/ColumnGrouping.js.map +1 -1
  137. package/{build/lib → dist/esm}/features/ColumnOrdering.d.ts +1 -0
  138. package/dist/esm/features/ColumnOrdering.js +76 -0
  139. package/{build/lib → dist/esm}/features/ColumnOrdering.js.map +1 -1
  140. package/{build/lib → dist/esm}/features/ColumnPinning.d.ts +1 -0
  141. package/dist/esm/features/ColumnPinning.js +145 -0
  142. package/{build/lib → dist/esm}/features/ColumnPinning.js.map +1 -1
  143. package/{build/lib → dist/esm}/features/ColumnSizing.d.ts +2 -1
  144. package/dist/esm/features/ColumnSizing.js +308 -0
  145. package/{build/lib → dist/esm}/features/ColumnSizing.js.map +1 -1
  146. package/{build/lib → dist/esm}/features/ColumnVisibility.d.ts +1 -0
  147. package/dist/esm/features/ColumnVisibility.js +144 -0
  148. package/{build/lib → dist/esm}/features/ColumnVisibility.js.map +1 -1
  149. package/{build/lib → dist/esm}/features/GlobalFaceting.d.ts +1 -0
  150. package/{build/lib → dist/esm}/features/GlobalFaceting.js +8 -21
  151. package/{build/lib → dist/esm}/features/GlobalFaceting.js.map +1 -1
  152. package/{build/lib → dist/esm}/features/GlobalFiltering.d.ts +1 -0
  153. package/dist/esm/features/GlobalFiltering.js +50 -0
  154. package/{build/lib → dist/esm}/features/GlobalFiltering.js.map +1 -1
  155. package/{build/lib → dist/esm}/features/RowExpanding.d.ts +1 -0
  156. package/{build/lib → dist/esm}/features/RowExpanding.js +40 -59
  157. package/{build/lib → dist/esm}/features/RowExpanding.js.map +1 -1
  158. package/{build/lib → dist/esm}/features/RowPagination.d.ts +1 -0
  159. package/dist/esm/features/RowPagination.js +162 -0
  160. package/{build/lib → dist/esm}/features/RowPagination.js.map +1 -1
  161. package/{build/lib → dist/esm}/features/RowPinning.d.ts +1 -0
  162. package/dist/esm/features/RowPinning.js +133 -0
  163. package/{build/lib → dist/esm}/features/RowPinning.js.map +1 -1
  164. package/{build/lib → dist/esm}/features/RowSelection.d.ts +1 -0
  165. package/dist/esm/features/RowSelection.js +298 -0
  166. package/{build/lib → dist/esm}/features/RowSelection.js.map +1 -1
  167. package/{build/lib → dist/esm}/features/RowSorting.d.ts +1 -0
  168. package/dist/esm/features/RowSorting.js +201 -0
  169. package/{build/lib → dist/esm}/features/RowSorting.js.map +1 -1
  170. package/{build/lib → dist/esm}/filterFns.d.ts +2 -1
  171. package/dist/esm/filterFns.js +88 -0
  172. package/dist/esm/filterFns.js.map +1 -0
  173. package/dist/esm/index.d.ts +34 -0
  174. package/dist/esm/index.js +87 -0
  175. package/dist/esm/index.js.map +1 -0
  176. package/{build/lib → dist/esm}/sortingFns.d.ts +2 -1
  177. package/dist/esm/sortingFns.js +91 -0
  178. package/dist/esm/sortingFns.js.map +1 -0
  179. package/{build/lib → dist/esm}/types.d.ts +21 -20
  180. package/{build/lib → dist/esm}/utils/filterRowsUtils.d.ts +1 -0
  181. package/dist/esm/utils/filterRowsUtils.js +99 -0
  182. package/dist/esm/utils/filterRowsUtils.js.map +1 -0
  183. package/{build/lib → dist/esm}/utils/getCoreRowModel.d.ts +1 -0
  184. package/dist/esm/utils/getCoreRowModel.js +54 -0
  185. package/{build/lib → dist/esm}/utils/getCoreRowModel.js.map +1 -1
  186. package/{build/lib → dist/esm}/utils/getExpandedRowModel.d.ts +1 -0
  187. package/dist/esm/utils/getExpandedRowModel.js +41 -0
  188. package/dist/esm/utils/getExpandedRowModel.js.map +1 -0
  189. package/{build/lib → dist/esm}/utils/getFacetedMinMaxValues.d.ts +1 -0
  190. package/dist/esm/utils/getFacetedMinMaxValues.js +36 -0
  191. package/dist/esm/utils/getFacetedMinMaxValues.js.map +1 -0
  192. package/{build/lib → dist/esm}/utils/getFacetedRowModel.d.ts +1 -0
  193. package/dist/esm/utils/getFacetedRowModel.js +35 -0
  194. package/{build/lib → dist/esm}/utils/getFacetedRowModel.js.map +1 -1
  195. package/{build/lib → dist/esm}/utils/getFacetedUniqueValues.d.ts +1 -0
  196. package/dist/esm/utils/getFacetedUniqueValues.js +38 -0
  197. package/dist/esm/utils/getFacetedUniqueValues.js.map +1 -0
  198. package/{build/lib → dist/esm}/utils/getFilteredRowModel.d.ts +1 -0
  199. package/dist/esm/utils/getFilteredRowModel.js +116 -0
  200. package/{build/lib → dist/esm}/utils/getFilteredRowModel.js.map +1 -1
  201. package/{build/lib → dist/esm}/utils/getGroupedRowModel.d.ts +1 -0
  202. package/dist/esm/utils/getGroupedRowModel.js +118 -0
  203. package/{build/lib → dist/esm}/utils/getGroupedRowModel.js.map +1 -1
  204. package/{build/lib → dist/esm}/utils/getPaginationRowModel.d.ts +1 -0
  205. package/dist/esm/utils/getPaginationRowModel.js +49 -0
  206. package/dist/esm/utils/getPaginationRowModel.js.map +1 -0
  207. package/{build/lib → dist/esm}/utils/getSortedRowModel.d.ts +1 -0
  208. package/dist/esm/utils/getSortedRowModel.js +91 -0
  209. package/{build/lib → dist/esm}/utils/getSortedRowModel.js.map +1 -1
  210. package/{build/lib → dist/esm}/utils.d.ts +2 -1
  211. package/dist/esm/utils.js +100 -0
  212. package/{build/lib → dist/esm}/utils.js.map +1 -1
  213. package/package.json +15 -19
  214. package/build/lib/aggregationFns.js +0 -108
  215. package/build/lib/aggregationFns.js.map +0 -1
  216. package/build/lib/columnHelper.js +0 -71
  217. package/build/lib/core/cell.js +0 -42
  218. package/build/lib/core/column.js +0 -80
  219. package/build/lib/core/headers.js +0 -270
  220. package/build/lib/core/row.js +0 -89
  221. package/build/lib/core/table.js +0 -212
  222. package/build/lib/features/ColumnFiltering.js +0 -151
  223. package/build/lib/features/ColumnGrouping.js +0 -142
  224. package/build/lib/features/ColumnOrdering.js +0 -84
  225. package/build/lib/features/ColumnPinning.js +0 -130
  226. package/build/lib/features/ColumnSizing.js +0 -270
  227. package/build/lib/features/ColumnVisibility.js +0 -99
  228. package/build/lib/features/GlobalFiltering.js +0 -63
  229. package/build/lib/features/RowPagination.js +0 -169
  230. package/build/lib/features/RowPinning.js +0 -145
  231. package/build/lib/features/RowSelection.js +0 -391
  232. package/build/lib/features/RowSorting.js +0 -226
  233. package/build/lib/filterFns.js +0 -96
  234. package/build/lib/filterFns.js.map +0 -1
  235. package/build/lib/index.d.ts +0 -34
  236. package/build/lib/index.esm.js +0 -3522
  237. package/build/lib/index.esm.js.map +0 -1
  238. package/build/lib/index.js.map +0 -1
  239. package/build/lib/index.mjs +0 -3522
  240. package/build/lib/index.mjs.map +0 -1
  241. package/build/lib/sortingFns.js.map +0 -1
  242. package/build/lib/utils/filterRowsUtils.js.map +0 -1
  243. package/build/lib/utils/getCoreRowModel.js +0 -65
  244. package/build/lib/utils/getExpandedRowModel.js +0 -46
  245. package/build/lib/utils/getExpandedRowModel.js.map +0 -1
  246. package/build/lib/utils/getFacetedMinMaxValues.js +0 -43
  247. package/build/lib/utils/getFacetedMinMaxValues.js.map +0 -1
  248. package/build/lib/utils/getFacetedRowModel.js +0 -36
  249. package/build/lib/utils/getFacetedUniqueValues.js +0 -39
  250. package/build/lib/utils/getFacetedUniqueValues.js.map +0 -1
  251. package/build/lib/utils/getFilteredRowModel.js +0 -111
  252. package/build/lib/utils/getGroupedRowModel.js +0 -150
  253. package/build/lib/utils/getPaginationRowModel.js +0 -60
  254. package/build/lib/utils/getPaginationRowModel.js.map +0 -1
  255. package/build/lib/utils/getSortedRowModel.js +0 -102
  256. package/build/umd/index.development.js +0 -3578
  257. package/build/umd/index.development.js.map +0 -1
  258. package/build/umd/index.production.js +0 -12
  259. package/build/umd/index.production.js.map +0 -1
@@ -1,270 +0,0 @@
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
- var utils = require('../utils.js');
14
-
15
- const debug = 'debugHeaders';
16
- //
17
-
18
- function createHeader(table, column, options) {
19
- var _options$id;
20
- const id = (_options$id = options.id) != null ? _options$id : column.id;
21
- let header = {
22
- id,
23
- column,
24
- index: options.index,
25
- isPlaceholder: !!options.isPlaceholder,
26
- placeholderId: options.placeholderId,
27
- depth: options.depth,
28
- subHeaders: [],
29
- colSpan: 0,
30
- rowSpan: 0,
31
- headerGroup: null,
32
- getLeafHeaders: () => {
33
- const leafHeaders = [];
34
- const recurseHeader = h => {
35
- if (h.subHeaders && h.subHeaders.length) {
36
- h.subHeaders.map(recurseHeader);
37
- }
38
- leafHeaders.push(h);
39
- };
40
- recurseHeader(header);
41
- return leafHeaders;
42
- },
43
- getContext: () => ({
44
- table,
45
- header: header,
46
- column
47
- })
48
- };
49
- table._features.forEach(feature => {
50
- feature.createHeader == null || feature.createHeader(header, table);
51
- });
52
- return header;
53
- }
54
- const Headers = {
55
- createTable: table => {
56
- // Header Groups
57
-
58
- table.getHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
59
- var _left$map$filter, _right$map$filter;
60
- const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];
61
- const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];
62
- const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
63
- const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);
64
- return headerGroups;
65
- }, utils.getMemoOptions(table.options, debug, 'getHeaderGroups'));
66
- table.getCenterHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
67
- leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
68
- return buildHeaderGroups(allColumns, leafColumns, table, 'center');
69
- }, utils.getMemoOptions(table.options, debug, 'getCenterHeaderGroups'));
70
- table.getLeftHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {
71
- var _left$map$filter2;
72
- const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];
73
- return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');
74
- }, utils.getMemoOptions(table.options, debug, 'getLeftHeaderGroups'));
75
- table.getRightHeaderGroups = utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {
76
- var _right$map$filter2;
77
- const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];
78
- return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');
79
- }, utils.getMemoOptions(table.options, debug, 'getRightHeaderGroups'));
80
-
81
- // Footer Groups
82
-
83
- table.getFooterGroups = utils.memo(() => [table.getHeaderGroups()], headerGroups => {
84
- return [...headerGroups].reverse();
85
- }, utils.getMemoOptions(table.options, debug, 'getFooterGroups'));
86
- table.getLeftFooterGroups = utils.memo(() => [table.getLeftHeaderGroups()], headerGroups => {
87
- return [...headerGroups].reverse();
88
- }, utils.getMemoOptions(table.options, debug, 'getLeftFooterGroups'));
89
- table.getCenterFooterGroups = utils.memo(() => [table.getCenterHeaderGroups()], headerGroups => {
90
- return [...headerGroups].reverse();
91
- }, utils.getMemoOptions(table.options, debug, 'getCenterFooterGroups'));
92
- table.getRightFooterGroups = utils.memo(() => [table.getRightHeaderGroups()], headerGroups => {
93
- return [...headerGroups].reverse();
94
- }, utils.getMemoOptions(table.options, debug, 'getRightFooterGroups'));
95
-
96
- // Flat Headers
97
-
98
- table.getFlatHeaders = utils.memo(() => [table.getHeaderGroups()], headerGroups => {
99
- return headerGroups.map(headerGroup => {
100
- return headerGroup.headers;
101
- }).flat();
102
- }, utils.getMemoOptions(table.options, debug, 'getFlatHeaders'));
103
- table.getLeftFlatHeaders = utils.memo(() => [table.getLeftHeaderGroups()], left => {
104
- return left.map(headerGroup => {
105
- return headerGroup.headers;
106
- }).flat();
107
- }, utils.getMemoOptions(table.options, debug, 'getLeftFlatHeaders'));
108
- table.getCenterFlatHeaders = utils.memo(() => [table.getCenterHeaderGroups()], left => {
109
- return left.map(headerGroup => {
110
- return headerGroup.headers;
111
- }).flat();
112
- }, utils.getMemoOptions(table.options, debug, 'getCenterFlatHeaders'));
113
- table.getRightFlatHeaders = utils.memo(() => [table.getRightHeaderGroups()], left => {
114
- return left.map(headerGroup => {
115
- return headerGroup.headers;
116
- }).flat();
117
- }, utils.getMemoOptions(table.options, debug, 'getRightFlatHeaders'));
118
-
119
- // Leaf Headers
120
-
121
- table.getCenterLeafHeaders = utils.memo(() => [table.getCenterFlatHeaders()], flatHeaders => {
122
- return flatHeaders.filter(header => {
123
- var _header$subHeaders;
124
- return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
125
- });
126
- }, utils.getMemoOptions(table.options, debug, 'getCenterLeafHeaders'));
127
- table.getLeftLeafHeaders = utils.memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
128
- return flatHeaders.filter(header => {
129
- var _header$subHeaders2;
130
- return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
131
- });
132
- }, utils.getMemoOptions(table.options, debug, 'getLeftLeafHeaders'));
133
- table.getRightLeafHeaders = utils.memo(() => [table.getRightFlatHeaders()], flatHeaders => {
134
- return flatHeaders.filter(header => {
135
- var _header$subHeaders3;
136
- return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
137
- });
138
- }, utils.getMemoOptions(table.options, debug, 'getRightLeafHeaders'));
139
- table.getLeafHeaders = utils.memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
140
- var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;
141
- 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 => {
142
- return header.getLeafHeaders();
143
- }).flat();
144
- }, utils.getMemoOptions(table.options, debug, 'getLeafHeaders'));
145
- }
146
- };
147
- function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
148
- var _headerGroups$0$heade, _headerGroups$;
149
- // Find the max depth of the columns:
150
- // build the leaf column row
151
- // build each buffer row going up
152
- // placeholder for non-existent level
153
- // real column for existing level
154
-
155
- let maxDepth = 0;
156
- const findMaxDepth = function (columns, depth) {
157
- if (depth === void 0) {
158
- depth = 1;
159
- }
160
- maxDepth = Math.max(maxDepth, depth);
161
- columns.filter(column => column.getIsVisible()).forEach(column => {
162
- var _column$columns;
163
- if ((_column$columns = column.columns) != null && _column$columns.length) {
164
- findMaxDepth(column.columns, depth + 1);
165
- }
166
- }, 0);
167
- };
168
- findMaxDepth(allColumns);
169
- let headerGroups = [];
170
- const createHeaderGroup = (headersToGroup, depth) => {
171
- // The header group we are creating
172
- const headerGroup = {
173
- depth,
174
- id: [headerFamily, `${depth}`].filter(Boolean).join('_'),
175
- headers: []
176
- };
177
-
178
- // The parent columns we're going to scan next
179
- const pendingParentHeaders = [];
180
-
181
- // Scan each column for parents
182
- headersToGroup.forEach(headerToGroup => {
183
- // What is the latest (last) parent column?
184
-
185
- const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];
186
- const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
187
- let column;
188
- let isPlaceholder = false;
189
- if (isLeafHeader && headerToGroup.column.parent) {
190
- // The parent header is new
191
- column = headerToGroup.column.parent;
192
- } else {
193
- // The parent header is repeated
194
- column = headerToGroup.column;
195
- isPlaceholder = true;
196
- }
197
- if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {
198
- // This column is repeated. Add it as a sub header to the next batch
199
- latestPendingParentHeader.subHeaders.push(headerToGroup);
200
- } else {
201
- // This is a new header. Let's create it
202
- const header = createHeader(table, column, {
203
- id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
204
- isPlaceholder,
205
- placeholderId: isPlaceholder ? `${pendingParentHeaders.filter(d => d.column === column).length}` : undefined,
206
- depth,
207
- index: pendingParentHeaders.length
208
- });
209
-
210
- // Add the headerToGroup as a subHeader of the new header
211
- header.subHeaders.push(headerToGroup);
212
- // Add the new header to the pendingParentHeaders to get grouped
213
- // in the next batch
214
- pendingParentHeaders.push(header);
215
- }
216
- headerGroup.headers.push(headerToGroup);
217
- headerToGroup.headerGroup = headerGroup;
218
- });
219
- headerGroups.push(headerGroup);
220
- if (depth > 0) {
221
- createHeaderGroup(pendingParentHeaders, depth - 1);
222
- }
223
- };
224
- const bottomHeaders = columnsToGroup.map((column, index) => createHeader(table, column, {
225
- depth: maxDepth,
226
- index
227
- }));
228
- createHeaderGroup(bottomHeaders, maxDepth - 1);
229
- headerGroups.reverse();
230
-
231
- // headerGroups = headerGroups.filter(headerGroup => {
232
- // return !headerGroup.headers.every(header => header.isPlaceholder)
233
- // })
234
-
235
- const recurseHeadersForSpans = headers => {
236
- const filteredHeaders = headers.filter(header => header.column.getIsVisible());
237
- return filteredHeaders.map(header => {
238
- let colSpan = 0;
239
- let rowSpan = 0;
240
- let childRowSpans = [0];
241
- if (header.subHeaders && header.subHeaders.length) {
242
- childRowSpans = [];
243
- recurseHeadersForSpans(header.subHeaders).forEach(_ref => {
244
- let {
245
- colSpan: childColSpan,
246
- rowSpan: childRowSpan
247
- } = _ref;
248
- colSpan += childColSpan;
249
- childRowSpans.push(childRowSpan);
250
- });
251
- } else {
252
- colSpan = 1;
253
- }
254
- const minChildRowSpan = Math.min(...childRowSpans);
255
- rowSpan = rowSpan + minChildRowSpan;
256
- header.colSpan = colSpan;
257
- header.rowSpan = rowSpan;
258
- return {
259
- colSpan,
260
- rowSpan
261
- };
262
- });
263
- };
264
- recurseHeadersForSpans((_headerGroups$0$heade = (_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) != null ? _headerGroups$0$heade : []);
265
- return headerGroups;
266
- }
267
-
268
- exports.Headers = Headers;
269
- exports.buildHeaderGroups = buildHeaderGroups;
270
- //# sourceMappingURL=headers.js.map
@@ -1,89 +0,0 @@
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
- var utils = require('../utils.js');
14
- var cell = require('./cell.js');
15
-
16
- const createRow = (table, id, original, rowIndex, depth, subRows, parentId) => {
17
- let row = {
18
- id,
19
- index: rowIndex,
20
- original,
21
- depth,
22
- parentId,
23
- _valuesCache: {},
24
- _uniqueValuesCache: {},
25
- getValue: columnId => {
26
- if (row._valuesCache.hasOwnProperty(columnId)) {
27
- return row._valuesCache[columnId];
28
- }
29
- const column = table.getColumn(columnId);
30
- if (!(column != null && column.accessorFn)) {
31
- return undefined;
32
- }
33
- row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
34
- return row._valuesCache[columnId];
35
- },
36
- getUniqueValues: columnId => {
37
- if (row._uniqueValuesCache.hasOwnProperty(columnId)) {
38
- return row._uniqueValuesCache[columnId];
39
- }
40
- const column = table.getColumn(columnId);
41
- if (!(column != null && column.accessorFn)) {
42
- return undefined;
43
- }
44
- if (!column.columnDef.getUniqueValues) {
45
- row._uniqueValuesCache[columnId] = [row.getValue(columnId)];
46
- return row._uniqueValuesCache[columnId];
47
- }
48
- row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);
49
- return row._uniqueValuesCache[columnId];
50
- },
51
- renderValue: columnId => {
52
- var _row$getValue;
53
- return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;
54
- },
55
- subRows: subRows != null ? subRows : [],
56
- getLeafRows: () => utils.flattenBy(row.subRows, d => d.subRows),
57
- getParentRow: () => row.parentId ? table.getRow(row.parentId, true) : undefined,
58
- getParentRows: () => {
59
- let parentRows = [];
60
- let currentRow = row;
61
- while (true) {
62
- const parentRow = currentRow.getParentRow();
63
- if (!parentRow) break;
64
- parentRows.push(parentRow);
65
- currentRow = parentRow;
66
- }
67
- return parentRows.reverse();
68
- },
69
- getAllCells: utils.memo(() => [table.getAllLeafColumns()], leafColumns => {
70
- return leafColumns.map(column => {
71
- return cell.createCell(table, row, column, column.id);
72
- });
73
- }, utils.getMemoOptions(table.options, 'debugRows', 'getAllCells')),
74
- _getAllCellsByColumnId: utils.memo(() => [row.getAllCells()], allCells => {
75
- return allCells.reduce((acc, cell) => {
76
- acc[cell.column.id] = cell;
77
- return acc;
78
- }, {});
79
- }, utils.getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId'))
80
- };
81
- for (let i = 0; i < table._features.length; i++) {
82
- const feature = table._features[i];
83
- feature == null || feature.createRow == null || feature.createRow(row, table);
84
- }
85
- return row;
86
- };
87
-
88
- exports.createRow = createRow;
89
- //# sourceMappingURL=row.js.map
@@ -1,212 +0,0 @@
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
- var utils = require('../utils.js');
14
- var column = require('./column.js');
15
- var headers = require('./headers.js');
16
- var ColumnFaceting = require('../features/ColumnFaceting.js');
17
- var ColumnFiltering = require('../features/ColumnFiltering.js');
18
- var ColumnGrouping = require('../features/ColumnGrouping.js');
19
- var ColumnOrdering = require('../features/ColumnOrdering.js');
20
- var ColumnPinning = require('../features/ColumnPinning.js');
21
- var ColumnSizing = require('../features/ColumnSizing.js');
22
- var ColumnVisibility = require('../features/ColumnVisibility.js');
23
- var GlobalFaceting = require('../features/GlobalFaceting.js');
24
- var GlobalFiltering = require('../features/GlobalFiltering.js');
25
- var RowExpanding = require('../features/RowExpanding.js');
26
- var RowPagination = require('../features/RowPagination.js');
27
- var RowPinning = require('../features/RowPinning.js');
28
- var RowSelection = require('../features/RowSelection.js');
29
- var RowSorting = require('../features/RowSorting.js');
30
-
31
- const builtInFeatures = [headers.Headers, ColumnVisibility.ColumnVisibility, ColumnOrdering.ColumnOrdering, ColumnPinning.ColumnPinning, ColumnFaceting.ColumnFaceting, ColumnFiltering.ColumnFiltering, GlobalFaceting.GlobalFaceting,
32
- //depends on ColumnFaceting
33
- GlobalFiltering.GlobalFiltering,
34
- //depends on ColumnFiltering
35
- RowSorting.RowSorting, ColumnGrouping.ColumnGrouping,
36
- //depends on RowSorting
37
- RowExpanding.RowExpanding, RowPagination.RowPagination, RowPinning.RowPinning, RowSelection.RowSelection, ColumnSizing.ColumnSizing];
38
-
39
- //
40
-
41
- function createTable(options) {
42
- var _options$_features, _options$initialState;
43
- if (process.env.NODE_ENV !== 'production' && (options.debugAll || options.debugTable)) {
44
- console.info('Creating Table Instance...');
45
- }
46
- const _features = [...builtInFeatures, ...((_options$_features = options._features) != null ? _options$_features : [])];
47
- let table = {
48
- _features
49
- };
50
- const defaultOptions = table._features.reduce((obj, feature) => {
51
- return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));
52
- }, {});
53
- const mergeOptions = options => {
54
- if (table.options.mergeOptions) {
55
- return table.options.mergeOptions(defaultOptions, options);
56
- }
57
- return {
58
- ...defaultOptions,
59
- ...options
60
- };
61
- };
62
- const coreInitialState = {};
63
- let initialState = {
64
- ...coreInitialState,
65
- ...((_options$initialState = options.initialState) != null ? _options$initialState : {})
66
- };
67
- table._features.forEach(feature => {
68
- var _feature$getInitialSt;
69
- initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
70
- });
71
- const queued = [];
72
- let queuedTimeout = false;
73
- const coreInstance = {
74
- _features,
75
- options: {
76
- ...defaultOptions,
77
- ...options
78
- },
79
- initialState,
80
- _queue: cb => {
81
- queued.push(cb);
82
- if (!queuedTimeout) {
83
- queuedTimeout = true;
84
-
85
- // Schedule a microtask to run the queued callbacks after
86
- // the current call stack (render, etc) has finished.
87
- Promise.resolve().then(() => {
88
- while (queued.length) {
89
- queued.shift()();
90
- }
91
- queuedTimeout = false;
92
- }).catch(error => setTimeout(() => {
93
- throw error;
94
- }));
95
- }
96
- },
97
- reset: () => {
98
- table.setState(table.initialState);
99
- },
100
- setOptions: updater => {
101
- const newOptions = utils.functionalUpdate(updater, table.options);
102
- table.options = mergeOptions(newOptions);
103
- },
104
- getState: () => {
105
- return table.options.state;
106
- },
107
- setState: updater => {
108
- table.options.onStateChange == null || table.options.onStateChange(updater);
109
- },
110
- _getRowId: (row, index, parent) => {
111
- var _table$options$getRow;
112
- return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : `${parent ? [parent.id, index].join('.') : index}`;
113
- },
114
- getCoreRowModel: () => {
115
- if (!table._getCoreRowModel) {
116
- table._getCoreRowModel = table.options.getCoreRowModel(table);
117
- }
118
- return table._getCoreRowModel();
119
- },
120
- // The final calls start at the bottom of the model,
121
- // expanded rows, which then work their way up
122
-
123
- getRowModel: () => {
124
- return table.getPaginationRowModel();
125
- },
126
- //in next version, we should just pass in the row model as the optional 2nd arg
127
- getRow: (id, searchAll) => {
128
- let row = (searchAll ? table.getPrePaginationRowModel() : table.getRowModel()).rowsById[id];
129
- if (!row) {
130
- row = table.getCoreRowModel().rowsById[id];
131
- if (!row) {
132
- if (process.env.NODE_ENV !== 'production') {
133
- throw new Error(`getRow could not find row with ID: ${id}`);
134
- }
135
- throw new Error();
136
- }
137
- }
138
- return row;
139
- },
140
- _getDefaultColumnDef: utils.memo(() => [table.options.defaultColumn], defaultColumn => {
141
- var _defaultColumn;
142
- defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
143
- return {
144
- header: props => {
145
- const resolvedColumnDef = props.header.column.columnDef;
146
- if (resolvedColumnDef.accessorKey) {
147
- return resolvedColumnDef.accessorKey;
148
- }
149
- if (resolvedColumnDef.accessorFn) {
150
- return resolvedColumnDef.id;
151
- }
152
- return null;
153
- },
154
- // footer: props => props.header.column.id,
155
- cell: props => {
156
- var _props$renderValue$to, _props$renderValue;
157
- return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;
158
- },
159
- ...table._features.reduce((obj, feature) => {
160
- return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
161
- }, {}),
162
- ...defaultColumn
163
- };
164
- }, utils.getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),
165
- _getColumnDefs: () => table.options.columns,
166
- getAllColumns: utils.memo(() => [table._getColumnDefs()], columnDefs => {
167
- const recurseColumns = function (columnDefs, parent, depth) {
168
- if (depth === void 0) {
169
- depth = 0;
170
- }
171
- return columnDefs.map(columnDef => {
172
- const column$1 = column.createColumn(table, columnDef, depth, parent);
173
- const groupingColumnDef = columnDef;
174
- column$1.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column$1, depth + 1) : [];
175
- return column$1;
176
- });
177
- };
178
- return recurseColumns(columnDefs);
179
- }, utils.getMemoOptions(options, 'debugColumns', 'getAllColumns')),
180
- getAllFlatColumns: utils.memo(() => [table.getAllColumns()], allColumns => {
181
- return allColumns.flatMap(column => {
182
- return column.getFlatColumns();
183
- });
184
- }, utils.getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),
185
- _getAllFlatColumnsById: utils.memo(() => [table.getAllFlatColumns()], flatColumns => {
186
- return flatColumns.reduce((acc, column) => {
187
- acc[column.id] = column;
188
- return acc;
189
- }, {});
190
- }, utils.getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),
191
- getAllLeafColumns: utils.memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {
192
- let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
193
- return orderColumns(leafColumns);
194
- }, utils.getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),
195
- getColumn: columnId => {
196
- const column = table._getAllFlatColumnsById()[columnId];
197
- if (process.env.NODE_ENV !== 'production' && !column) {
198
- console.error(`[Table] Column with id '${columnId}' does not exist.`);
199
- }
200
- return column;
201
- }
202
- };
203
- Object.assign(table, coreInstance);
204
- for (let index = 0; index < table._features.length; index++) {
205
- const feature = table._features[index];
206
- feature == null || feature.createTable == null || feature.createTable(table);
207
- }
208
- return table;
209
- }
210
-
211
- exports.createTable = createTable;
212
- //# sourceMappingURL=table.js.map