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

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
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ function getExpandedRowModel() {
5
+ return (table) => utils.memo(
6
+ () => [
7
+ table.getState().expanded,
8
+ table.getPreExpandedRowModel(),
9
+ table.options.paginateExpandedRows
10
+ ],
11
+ (expanded, rowModel, paginateExpandedRows) => {
12
+ if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded ?? {}).length) {
13
+ return rowModel;
14
+ }
15
+ if (!paginateExpandedRows) {
16
+ return rowModel;
17
+ }
18
+ return expandRows(rowModel);
19
+ },
20
+ utils.getMemoOptions(table.options, "debugTable", "getExpandedRowModel")
21
+ );
22
+ }
23
+ function expandRows(rowModel) {
24
+ const expandedRows = [];
25
+ const handleRow = (row) => {
26
+ var _a;
27
+ expandedRows.push(row);
28
+ if (((_a = row.subRows) == null ? void 0 : _a.length) && row.getIsExpanded()) {
29
+ row.subRows.forEach(handleRow);
30
+ }
31
+ };
32
+ rowModel.rows.forEach(handleRow);
33
+ return {
34
+ rows: expandedRows,
35
+ flatRows: rowModel.flatRows,
36
+ rowsById: rowModel.rowsById
37
+ };
38
+ }
39
+ exports.expandRows = expandRows;
40
+ exports.getExpandedRowModel = getExpandedRowModel;
41
+ //# sourceMappingURL=getExpandedRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExpandedRowModel.cjs","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { Table, Row, RowModel, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getExpandedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().expanded,\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n },\n getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel')\n )\n}\n\nexport function expandRows<TData extends RowData>(rowModel: RowModel<TData>) {\n const expandedRows: Row<TData>[] = []\n\n const handleRow = (row: Row<TData>) => {\n expandedRows.push(row)\n\n if (row.subRows?.length && row.getIsExpanded()) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["memo","getMemoOptions"],"mappings":";;;AAGO,SAAS,sBAEW;AACzB,SAAO,CACL,UAAAA,MAAA;AAAA,IACE,MAAM;AAAA,MACJ,MAAM,WAAW;AAAA,MACjB,MAAM,uBAAuB;AAAA,MAC7B,MAAM,QAAQ;AAAA,IAChB;AAAA,IACA,CAAC,UAAU,UAAU,yBAAyB;AAC5C,UACE,CAAC,SAAS,KAAK,UACd,aAAa,QAAQ,CAAC,OAAO,KAAK,YAAY,CAAE,CAAA,EAAE,QACnD;AACO,eAAA;AAAA,MACT;AAEA,UAAI,CAAC,sBAAsB;AAElB,eAAA;AAAA,MACT;AAEA,aAAO,WAAW,QAAQ;AAAA,IAC5B;AAAA,IACAC,MAAAA,eAAe,MAAM,SAAS,cAAc,qBAAqB;AAAA,EAAA;AAEvE;AAEO,SAAS,WAAkC,UAA2B;AAC3E,QAAM,eAA6B,CAAA;AAE7B,QAAA,YAAY,CAAC,QAAoB;;AACrC,iBAAa,KAAK,GAAG;AAErB,UAAI,SAAI,YAAJ,mBAAa,WAAU,IAAI,iBAAiB;AAC1C,UAAA,QAAQ,QAAQ,SAAS;AAAA,IAC/B;AAAA,EAAA;AAGO,WAAA,KAAK,QAAQ,SAAS;AAExB,SAAA;AAAA,IACL,MAAM;AAAA,IACN,UAAU,SAAS;AAAA,IACnB,UAAU,SAAS;AAAA,EAAA;AAEvB;;;"}
@@ -0,0 +1,8 @@
1
+ import { Table, Row, RowModel, RowData } from '../types';
2
+
3
+ export declare function getExpandedRowModel<TData extends RowData>(): (table: Table<TData>) => () => RowModel<TData>;
4
+ export declare function expandRows<TData extends RowData>(rowModel: RowModel<TData>): {
5
+ rows: Row<TData>[];
6
+ flatRows: Row<TData>[];
7
+ rowsById: Record<string, Row<TData>>;
8
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ function getFacetedMinMaxValues() {
5
+ return (table, columnId) => utils.memo(
6
+ () => {
7
+ var _a;
8
+ return [(_a = table.getColumn(columnId)) == null ? void 0 : _a.getFacetedRowModel()];
9
+ },
10
+ (facetedRowModel) => {
11
+ var _a;
12
+ if (!facetedRowModel)
13
+ return void 0;
14
+ const firstValue = (_a = facetedRowModel.flatRows[0]) == null ? void 0 : _a.getUniqueValues(columnId);
15
+ if (typeof firstValue === "undefined") {
16
+ return void 0;
17
+ }
18
+ let facetedMinMaxValues = [firstValue, firstValue];
19
+ for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
20
+ const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
21
+ for (let j = 0; j < values.length; j++) {
22
+ const value = values[j];
23
+ if (value < facetedMinMaxValues[0]) {
24
+ facetedMinMaxValues[0] = value;
25
+ } else if (value > facetedMinMaxValues[1]) {
26
+ facetedMinMaxValues[1] = value;
27
+ }
28
+ }
29
+ }
30
+ return facetedMinMaxValues;
31
+ },
32
+ utils.getMemoOptions(table.options, "debugTable", "getFacetedMinMaxValues")
33
+ );
34
+ }
35
+ exports.getFacetedMinMaxValues = getFacetedMinMaxValues;
36
+ //# sourceMappingURL=getFacetedMinMaxValues.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFacetedMinMaxValues.cjs","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId)?.getFacetedRowModel()],\n facetedRowModel => {\n if (!facetedRowModel) return undefined\n\n const firstValue =\n facetedRowModel.flatRows[0]?.getUniqueValues(columnId)\n\n if (typeof firstValue === 'undefined') {\n return undefined\n }\n\n let facetedMinMaxValues: [any, any] = [firstValue, firstValue]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n }\n\n return facetedMinMaxValues\n },\n getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues')\n )\n}\n"],"names":["memo","getMemoOptions"],"mappings":";;;AAGO,SAAS,yBAGwB;AAC/B,SAAA,CAAC,OAAO,aACbA,MAAA;AAAA,IACE,MAAA;;AAAM,eAAC,WAAM,UAAU,QAAQ,MAAxB,mBAA2B,oBAAoB;AAAA;AAAA,IACtD,CAAmB,oBAAA;;AACjB,UAAI,CAAC;AAAwB,eAAA;AAE7B,YAAM,cACJ,qBAAgB,SAAS,CAAC,MAA1B,mBAA6B,gBAAgB;AAE3C,UAAA,OAAO,eAAe,aAAa;AAC9B,eAAA;AAAA,MACT;AAEI,UAAA,sBAAkC,CAAC,YAAY,UAAU;AAE7D,eAAS,IAAI,GAAG,IAAI,gBAAgB,SAAS,QAAQ,KAAK;AACxD,cAAM,SACJ,gBAAgB,SAAS,CAAC,EAAG,gBAAwB,QAAQ;AAE/D,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,gBAAA,QAAQ,OAAO,CAAC;AAElB,cAAA,QAAQ,oBAAoB,CAAC,GAAG;AAClC,gCAAoB,CAAC,IAAI;AAAA,UAChB,WAAA,QAAQ,oBAAoB,CAAC,GAAG;AACzC,gCAAoB,CAAC,IAAI;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,IACAC,MAAAA,eAAe,MAAM,SAAS,cAAc,wBAAwB;AAAA,EAAA;AAE1E;;"}
@@ -0,0 +1,3 @@
1
+ import { Table, RowData } from '../types';
2
+
3
+ export declare function getFacetedMinMaxValues<TData extends RowData>(): (table: Table<TData>, columnId: string) => () => undefined | [number, number];
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ const filterRowsUtils = require("./filterRowsUtils.cjs");
5
+ function getFacetedRowModel() {
6
+ return (table, columnId) => utils.memo(
7
+ () => [
8
+ table.getPreFilteredRowModel(),
9
+ table.getState().columnFilters,
10
+ table.getState().globalFilter,
11
+ table.getFilteredRowModel()
12
+ ],
13
+ (preRowModel, columnFilters, globalFilter) => {
14
+ if (!preRowModel.rows.length || !(columnFilters == null ? void 0 : columnFilters.length) && !globalFilter) {
15
+ return preRowModel;
16
+ }
17
+ const filterableIds = [
18
+ ...columnFilters.map((d) => d.id).filter((d) => d !== columnId),
19
+ globalFilter ? "__global__" : void 0
20
+ ].filter(Boolean);
21
+ const filterRowsImpl = (row) => {
22
+ for (let i = 0; i < filterableIds.length; i++) {
23
+ if (row.columnFilters[filterableIds[i]] === false) {
24
+ return false;
25
+ }
26
+ }
27
+ return true;
28
+ };
29
+ return filterRowsUtils.filterRows(preRowModel.rows, filterRowsImpl, table);
30
+ },
31
+ utils.getMemoOptions(table.options, "debugTable", "getFacetedRowModel")
32
+ );
33
+ }
34
+ exports.getFacetedRowModel = getFacetedRowModel;
35
+ //# sourceMappingURL=getFacetedRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFacetedRowModel.cjs","sources":["../../../src/utils/getFacetedRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFacetedRowModel<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => RowModel<TData> {\n return (table, columnId) =>\n memo(\n () => [\n table.getPreFilteredRowModel(),\n table.getState().columnFilters,\n table.getState().globalFilter,\n table.getFilteredRowModel(),\n ],\n (preRowModel, columnFilters, globalFilter) => {\n if (\n !preRowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return preRowModel\n }\n\n const filterableIds = [\n ...columnFilters.map(d => d.id).filter(d => d !== columnId),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as string[]\n\n const filterRowsImpl = (row: Row<TData>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n },\n getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel')\n )\n}\n"],"names":["memo","filterRows","getMemoOptions"],"mappings":";;;;AAIO,SAAS,qBAGW;AAClB,SAAA,CAAC,OAAO,aACbA,MAAA;AAAA,IACE,MAAM;AAAA,MACJ,MAAM,uBAAuB;AAAA,MAC7B,MAAM,WAAW;AAAA,MACjB,MAAM,WAAW;AAAA,MACjB,MAAM,oBAAoB;AAAA,IAC5B;AAAA,IACA,CAAC,aAAa,eAAe,iBAAiB;AAE1C,UAAA,CAAC,YAAY,KAAK,UACjB,EAAC,+CAAe,WAAU,CAAC,cAC5B;AACO,eAAA;AAAA,MACT;AAEA,YAAM,gBAAgB;AAAA,QACpB,GAAG,cAAc,IAAI,CAAK,MAAA,EAAE,EAAE,EAAE,OAAO,CAAK,MAAA,MAAM,QAAQ;AAAA,QAC1D,eAAe,eAAe;AAAA,MAAA,EAC9B,OAAO,OAAO;AAEV,YAAA,iBAAiB,CAAC,QAAoB;AAE1C,iBAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC7C,cAAI,IAAI,cAAc,cAAc,CAAC,CAAE,MAAM,OAAO;AAC3C,mBAAA;AAAA,UACT;AAAA,QACF;AACO,eAAA;AAAA,MAAA;AAGT,aAAOC,gBAAW,WAAA,YAAY,MAAM,gBAAgB,KAAK;AAAA,IAC3D;AAAA,IACAC,MAAAA,eAAe,MAAM,SAAS,cAAc,oBAAoB;AAAA,EAAA;AAEtE;;"}
@@ -0,0 +1,3 @@
1
+ import { Table, RowModel, RowData } from '../types';
2
+
3
+ export declare function getFacetedRowModel<TData extends RowData>(): (table: Table<TData>, columnId: string) => () => RowModel<TData>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ function getFacetedUniqueValues() {
5
+ return (table, columnId) => utils.memo(
6
+ () => {
7
+ var _a;
8
+ return [(_a = table.getColumn(columnId)) == null ? void 0 : _a.getFacetedRowModel()];
9
+ },
10
+ (facetedRowModel) => {
11
+ if (!facetedRowModel)
12
+ return /* @__PURE__ */ new Map();
13
+ let facetedUniqueValues = /* @__PURE__ */ new Map();
14
+ for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
15
+ const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
16
+ for (let j = 0; j < values.length; j++) {
17
+ const value = values[j];
18
+ if (facetedUniqueValues.has(value)) {
19
+ facetedUniqueValues.set(
20
+ value,
21
+ (facetedUniqueValues.get(value) ?? 0) + 1
22
+ );
23
+ } else {
24
+ facetedUniqueValues.set(value, 1);
25
+ }
26
+ }
27
+ }
28
+ return facetedUniqueValues;
29
+ },
30
+ utils.getMemoOptions(
31
+ table.options,
32
+ "debugTable",
33
+ `getFacetedUniqueValues_${columnId}`
34
+ )
35
+ );
36
+ }
37
+ exports.getFacetedUniqueValues = getFacetedUniqueValues;
38
+ //# sourceMappingURL=getFacetedUniqueValues.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFacetedUniqueValues.cjs","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId)?.getFacetedRowModel()],\n facetedRowModel => {\n if (!facetedRowModel) return new Map()\n\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n },\n getMemoOptions(\n table.options,\n 'debugTable',\n `getFacetedUniqueValues_${columnId}`\n )\n )\n}\n"],"names":["memo","getMemoOptions"],"mappings":";;;AAGO,SAAS,yBAGY;AACnB,SAAA,CAAC,OAAO,aACbA,MAAA;AAAA,IACE,MAAA;;AAAM,eAAC,WAAM,UAAU,QAAQ,MAAxB,mBAA2B,oBAAoB;AAAA;AAAA,IACtD,CAAmB,oBAAA;AACjB,UAAI,CAAC;AAAiB,mCAAW,IAAI;AAEjC,UAAA,0CAA0B;AAE9B,eAAS,IAAI,GAAG,IAAI,gBAAgB,SAAS,QAAQ,KAAK;AACxD,cAAM,SACJ,gBAAgB,SAAS,CAAC,EAAG,gBAAwB,QAAQ;AAE/D,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,gBAAA,QAAQ,OAAO,CAAC;AAElB,cAAA,oBAAoB,IAAI,KAAK,GAAG;AACd,gCAAA;AAAA,cAClB;AAAA,eACC,oBAAoB,IAAI,KAAK,KAAK,KAAK;AAAA,YAAA;AAAA,UAC1C,OACK;AACe,gCAAA,IAAI,OAAO,CAAC;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,IACAC,MAAA;AAAA,MACE,MAAM;AAAA,MACN;AAAA,MACA,0BAA0B,QAAQ;AAAA,IACpC;AAAA,EAAA;AAEN;;"}
@@ -0,0 +1,3 @@
1
+ import { Table, RowData } from '../types';
2
+
3
+ export declare function getFacetedUniqueValues<TData extends RowData>(): (table: Table<TData>, columnId: string) => () => Map<any, number>;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ const filterRowsUtils = require("./filterRowsUtils.cjs");
5
+ function getFilteredRowModel() {
6
+ return (table) => utils.memo(
7
+ () => [
8
+ table.getPreFilteredRowModel(),
9
+ table.getState().columnFilters,
10
+ table.getState().globalFilter
11
+ ],
12
+ (rowModel, columnFilters, globalFilter) => {
13
+ if (!rowModel.rows.length || !(columnFilters == null ? void 0 : columnFilters.length) && !globalFilter) {
14
+ for (let i = 0; i < rowModel.flatRows.length; i++) {
15
+ rowModel.flatRows[i].columnFilters = {};
16
+ rowModel.flatRows[i].columnFiltersMeta = {};
17
+ }
18
+ return rowModel;
19
+ }
20
+ const resolvedColumnFilters = [];
21
+ const resolvedGlobalFilters = [];
22
+ (columnFilters ?? []).forEach((d) => {
23
+ var _a;
24
+ const column = table.getColumn(d.id);
25
+ if (!column) {
26
+ return;
27
+ }
28
+ const filterFn = column.getFilterFn();
29
+ if (!filterFn) {
30
+ if (process.env.NODE_ENV !== "production") {
31
+ console.warn(
32
+ `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`
33
+ );
34
+ }
35
+ return;
36
+ }
37
+ resolvedColumnFilters.push({
38
+ id: d.id,
39
+ filterFn,
40
+ resolvedValue: ((_a = filterFn.resolveFilterValue) == null ? void 0 : _a.call(filterFn, d.value)) ?? d.value
41
+ });
42
+ });
43
+ const filterableIds = (columnFilters ?? []).map((d) => d.id);
44
+ const globalFilterFn = table.getGlobalFilterFn();
45
+ const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => column.getCanGlobalFilter());
46
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
47
+ filterableIds.push("__global__");
48
+ globallyFilterableColumns.forEach((column) => {
49
+ var _a;
50
+ resolvedGlobalFilters.push({
51
+ id: column.id,
52
+ filterFn: globalFilterFn,
53
+ resolvedValue: ((_a = globalFilterFn.resolveFilterValue) == null ? void 0 : _a.call(globalFilterFn, globalFilter)) ?? globalFilter
54
+ });
55
+ });
56
+ }
57
+ let currentColumnFilter;
58
+ let currentGlobalFilter;
59
+ for (let j = 0; j < rowModel.flatRows.length; j++) {
60
+ const row = rowModel.flatRows[j];
61
+ row.columnFilters = {};
62
+ if (resolvedColumnFilters.length) {
63
+ for (let i = 0; i < resolvedColumnFilters.length; i++) {
64
+ currentColumnFilter = resolvedColumnFilters[i];
65
+ const id = currentColumnFilter.id;
66
+ row.columnFilters[id] = currentColumnFilter.filterFn(
67
+ row,
68
+ id,
69
+ currentColumnFilter.resolvedValue,
70
+ (filterMeta) => {
71
+ row.columnFiltersMeta[id] = filterMeta;
72
+ }
73
+ );
74
+ }
75
+ }
76
+ if (resolvedGlobalFilters.length) {
77
+ for (let i = 0; i < resolvedGlobalFilters.length; i++) {
78
+ currentGlobalFilter = resolvedGlobalFilters[i];
79
+ const id = currentGlobalFilter.id;
80
+ if (currentGlobalFilter.filterFn(
81
+ row,
82
+ id,
83
+ currentGlobalFilter.resolvedValue,
84
+ (filterMeta) => {
85
+ row.columnFiltersMeta[id] = filterMeta;
86
+ }
87
+ )) {
88
+ row.columnFilters.__global__ = true;
89
+ break;
90
+ }
91
+ }
92
+ if (row.columnFilters.__global__ !== true) {
93
+ row.columnFilters.__global__ = false;
94
+ }
95
+ }
96
+ }
97
+ const filterRowsImpl = (row) => {
98
+ for (let i = 0; i < filterableIds.length; i++) {
99
+ if (row.columnFilters[filterableIds[i]] === false) {
100
+ return false;
101
+ }
102
+ }
103
+ return true;
104
+ };
105
+ return filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
106
+ },
107
+ utils.getMemoOptions(
108
+ table.options,
109
+ "debugTable",
110
+ "getFilteredRowModel",
111
+ () => table._autoResetPageIndex()
112
+ )
113
+ );
114
+ }
115
+ exports.getFilteredRowModel = getFilteredRowModel;
116
+ //# sourceMappingURL=getFilteredRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFilteredRowModel.cjs","sources":["../../../src/utils/getFilteredRowModel.ts"],"sourcesContent":["import { ResolvedColumnFilter } from '../features/ColumnFiltering'\nimport { Table, RowModel, Row, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFilteredRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getPreFilteredRowModel(),\n table.getState().columnFilters,\n table.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n rowModel.flatRows[i]!.columnFilters = {}\n rowModel.flatRows[i]!.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TData>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TData>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = table.getColumn(d.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column.getFilterFn()\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`\n )\n }\n return\n }\n\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: filterFn.resolveFilterValue?.(d.value) ?? d.value,\n })\n })\n\n const filterableIds = (columnFilters ?? []).map(d => d.id)\n\n const globalFilterFn = table.getGlobalFilterFn()\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n if (\n globalFilter &&\n globalFilterFn &&\n globallyFilterableColumns.length\n ) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach(column => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ??\n globalFilter,\n })\n })\n }\n\n let currentColumnFilter\n let currentGlobalFilter\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j]!\n\n row.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i]!\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n filterMeta => {\n row.columnFiltersMeta[id] = filterMeta\n }\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i]!\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n filterMeta => {\n row.columnFiltersMeta[id] = filterMeta\n }\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (row: Row<TData>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl, table)\n },\n getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":["memo","filterRows","getMemoOptions"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Table, RowModel, RowData } from '../types';
2
+
3
+ export declare function getFilteredRowModel<TData extends RowData>(): (table: Table<TData>) => () => RowModel<TData>;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const row = require("../core/row.cjs");
4
+ const utils = require("../utils.cjs");
5
+ function getGroupedRowModel() {
6
+ return (table) => utils.memo(
7
+ () => [table.getState().grouping, table.getPreGroupedRowModel()],
8
+ (grouping, rowModel) => {
9
+ if (!rowModel.rows.length || !grouping.length) {
10
+ return rowModel;
11
+ }
12
+ const existingGrouping = grouping.filter(
13
+ (columnId) => table.getColumn(columnId)
14
+ );
15
+ const groupedFlatRows = [];
16
+ const groupedRowsById = {};
17
+ const groupUpRecursively = (rows, depth = 0, parentId) => {
18
+ if (depth >= existingGrouping.length) {
19
+ return rows.map((row2) => {
20
+ row2.depth = depth;
21
+ groupedFlatRows.push(row2);
22
+ groupedRowsById[row2.id] = row2;
23
+ if (row2.subRows) {
24
+ row2.subRows = groupUpRecursively(row2.subRows, depth + 1, row2.id);
25
+ }
26
+ return row2;
27
+ });
28
+ }
29
+ const columnId = existingGrouping[depth];
30
+ const rowGroupsMap = groupBy(rows, columnId);
31
+ const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(
32
+ ([groupingValue, groupedRows2], index) => {
33
+ let id = `${columnId}:${groupingValue}`;
34
+ id = parentId ? `${parentId}>${id}` : id;
35
+ const subRows = groupUpRecursively(groupedRows2, depth + 1, id);
36
+ const leafRows = depth ? utils.flattenBy(groupedRows2, (row2) => row2.subRows) : groupedRows2;
37
+ const row$1 = row.createRow(
38
+ table,
39
+ id,
40
+ leafRows[0].original,
41
+ index,
42
+ depth,
43
+ void 0,
44
+ parentId
45
+ );
46
+ Object.assign(row$1, {
47
+ groupingColumnId: columnId,
48
+ groupingValue,
49
+ subRows,
50
+ leafRows,
51
+ getValue: (columnId2) => {
52
+ if (existingGrouping.includes(columnId2)) {
53
+ if (row$1._valuesCache.hasOwnProperty(columnId2)) {
54
+ return row$1._valuesCache[columnId2];
55
+ }
56
+ if (groupedRows2[0]) {
57
+ row$1._valuesCache[columnId2] = groupedRows2[0].getValue(columnId2) ?? void 0;
58
+ }
59
+ return row$1._valuesCache[columnId2];
60
+ }
61
+ if (row$1._groupingValuesCache.hasOwnProperty(columnId2)) {
62
+ return row$1._groupingValuesCache[columnId2];
63
+ }
64
+ const column = table.getColumn(columnId2);
65
+ const aggregateFn = column == null ? void 0 : column.getAggregationFn();
66
+ if (aggregateFn) {
67
+ row$1._groupingValuesCache[columnId2] = aggregateFn(
68
+ columnId2,
69
+ leafRows,
70
+ groupedRows2
71
+ );
72
+ return row$1._groupingValuesCache[columnId2];
73
+ }
74
+ }
75
+ });
76
+ subRows.forEach((subRow) => {
77
+ groupedFlatRows.push(subRow);
78
+ groupedRowsById[subRow.id] = subRow;
79
+ });
80
+ return row$1;
81
+ }
82
+ );
83
+ return aggregatedGroupedRows;
84
+ };
85
+ const groupedRows = groupUpRecursively(rowModel.rows, 0);
86
+ groupedRows.forEach((subRow) => {
87
+ groupedFlatRows.push(subRow);
88
+ groupedRowsById[subRow.id] = subRow;
89
+ });
90
+ return {
91
+ rows: groupedRows,
92
+ flatRows: groupedFlatRows,
93
+ rowsById: groupedRowsById
94
+ };
95
+ },
96
+ utils.getMemoOptions(table.options, "debugTable", "getGroupedRowModel", () => {
97
+ table._queue(() => {
98
+ table._autoResetExpanded();
99
+ table._autoResetPageIndex();
100
+ });
101
+ })
102
+ );
103
+ }
104
+ function groupBy(rows, columnId) {
105
+ const groupMap = /* @__PURE__ */ new Map();
106
+ return rows.reduce((map, row2) => {
107
+ const resKey = `${row2.getGroupingValue(columnId)}`;
108
+ const previous = map.get(resKey);
109
+ if (!previous) {
110
+ map.set(resKey, [row2]);
111
+ } else {
112
+ previous.push(row2);
113
+ }
114
+ return map;
115
+ }, groupMap);
116
+ }
117
+ exports.getGroupedRowModel = getGroupedRowModel;
118
+ //# sourceMappingURL=getGroupedRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGroupedRowModel.cjs","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { flattenBy, getMemoOptions, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId?: string\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId: string = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column?.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n })\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"names":["memo","row","groupedRows","flattenBy","createRow","columnId","getMemoOptions"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Table, RowModel, RowData } from '../types';
2
+
3
+ export declare function getGroupedRowModel<TData extends RowData>(): (table: Table<TData>) => () => RowModel<TData>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ const getExpandedRowModel = require("./getExpandedRowModel.cjs");
5
+ function getPaginationRowModel(opts) {
6
+ return (table) => utils.memo(
7
+ () => [
8
+ table.getState().pagination,
9
+ table.getPrePaginationRowModel(),
10
+ table.options.paginateExpandedRows ? void 0 : table.getState().expanded
11
+ ],
12
+ (pagination, rowModel) => {
13
+ if (!rowModel.rows.length) {
14
+ return rowModel;
15
+ }
16
+ const { pageSize, pageIndex } = pagination;
17
+ let { rows, flatRows, rowsById } = rowModel;
18
+ const pageStart = pageSize * pageIndex;
19
+ const pageEnd = pageStart + pageSize;
20
+ rows = rows.slice(pageStart, pageEnd);
21
+ let paginatedRowModel;
22
+ if (!table.options.paginateExpandedRows) {
23
+ paginatedRowModel = getExpandedRowModel.expandRows({
24
+ rows,
25
+ flatRows,
26
+ rowsById
27
+ });
28
+ } else {
29
+ paginatedRowModel = {
30
+ rows,
31
+ flatRows,
32
+ rowsById
33
+ };
34
+ }
35
+ paginatedRowModel.flatRows = [];
36
+ const handleRow = (row) => {
37
+ paginatedRowModel.flatRows.push(row);
38
+ if (row.subRows.length) {
39
+ row.subRows.forEach(handleRow);
40
+ }
41
+ };
42
+ paginatedRowModel.rows.forEach(handleRow);
43
+ return paginatedRowModel;
44
+ },
45
+ utils.getMemoOptions(table.options, "debugTable", "getPaginationRowModel")
46
+ );
47
+ }
48
+ exports.getPaginationRowModel = getPaginationRowModel;
49
+ //# sourceMappingURL=getPaginationRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPaginationRowModel.cjs","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TData extends RowData>(opts?: {\n initialSync: boolean\n}): (table: Table<TData>) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().pagination,\n table.getPrePaginationRowModel(),\n table.options.paginateExpandedRows\n ? undefined\n : table.getState().expanded,\n ],\n (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel\n }\n\n const { pageSize, pageIndex } = pagination\n let { rows, flatRows, rowsById } = rowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n rows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n },\n getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel')\n )\n}\n"],"names":["memo","expandRows","getMemoOptions"],"mappings":";;;;AAIO,SAAS,sBAA6C,MAEV;AACjD,SAAO,CACL,UAAAA,MAAA;AAAA,IACE,MAAM;AAAA,MACJ,MAAM,WAAW;AAAA,MACjB,MAAM,yBAAyB;AAAA,MAC/B,MAAM,QAAQ,uBACV,SACA,MAAM,WAAW;AAAA,IACvB;AAAA,IACA,CAAC,YAAY,aAAa;AACpB,UAAA,CAAC,SAAS,KAAK,QAAQ;AAClB,eAAA;AAAA,MACT;AAEM,YAAA,EAAE,UAAU,UAAc,IAAA;AAChC,UAAI,EAAE,MAAM,UAAU,SAAA,IAAa;AACnC,YAAM,YAAY,WAAW;AAC7B,YAAM,UAAU,YAAY;AAErB,aAAA,KAAK,MAAM,WAAW,OAAO;AAEhC,UAAA;AAEA,UAAA,CAAC,MAAM,QAAQ,sBAAsB;AACvC,4BAAoBC,oBAAAA,WAAW;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MAAA,OACI;AACe,4BAAA;AAAA,UAClB;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAEA,wBAAkB,WAAW;AAEvB,YAAA,YAAY,CAAC,QAAoB;AACnB,0BAAA,SAAS,KAAK,GAAG;AAC/B,YAAA,IAAI,QAAQ,QAAQ;AAClB,cAAA,QAAQ,QAAQ,SAAS;AAAA,QAC/B;AAAA,MAAA;AAGgB,wBAAA,KAAK,QAAQ,SAAS;AAEjC,aAAA;AAAA,IACT;AAAA,IACAC,MAAAA,eAAe,MAAM,SAAS,cAAc,uBAAuB;AAAA,EAAA;AAEzE;;"}
@@ -0,0 +1,5 @@
1
+ import { Table, RowModel, RowData } from '../types';
2
+
3
+ export declare function getPaginationRowModel<TData extends RowData>(opts?: {
4
+ initialSync: boolean;
5
+ }): (table: Table<TData>) => () => RowModel<TData>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("../utils.cjs");
4
+ function getSortedRowModel() {
5
+ return (table) => utils.memo(
6
+ () => [table.getState().sorting, table.getPreSortedRowModel()],
7
+ (sorting, rowModel) => {
8
+ if (!rowModel.rows.length || !(sorting == null ? void 0 : sorting.length)) {
9
+ return rowModel;
10
+ }
11
+ const sortingState = table.getState().sorting;
12
+ const sortedFlatRows = [];
13
+ const availableSorting = sortingState.filter(
14
+ (sort) => {
15
+ var _a;
16
+ return (_a = table.getColumn(sort.id)) == null ? void 0 : _a.getCanSort();
17
+ }
18
+ );
19
+ const columnInfoById = {};
20
+ availableSorting.forEach((sortEntry) => {
21
+ const column = table.getColumn(sortEntry.id);
22
+ if (!column)
23
+ return;
24
+ columnInfoById[sortEntry.id] = {
25
+ sortUndefined: column.columnDef.sortUndefined,
26
+ invertSorting: column.columnDef.invertSorting,
27
+ sortingFn: column.getSortingFn()
28
+ };
29
+ });
30
+ const sortData = (rows) => {
31
+ const sortedData = rows.map((row) => ({ ...row }));
32
+ sortedData.sort((rowA, rowB) => {
33
+ for (let i = 0; i < availableSorting.length; i += 1) {
34
+ const sortEntry = availableSorting[i];
35
+ const columnInfo = columnInfoById[sortEntry.id];
36
+ const sortUndefined = columnInfo.sortUndefined;
37
+ const isDesc = (sortEntry == null ? void 0 : sortEntry.desc) ?? false;
38
+ let sortInt = 0;
39
+ if (sortUndefined) {
40
+ const aValue = rowA.getValue(sortEntry.id);
41
+ const bValue = rowB.getValue(sortEntry.id);
42
+ const aUndefined = aValue === void 0;
43
+ const bUndefined = bValue === void 0;
44
+ if (aUndefined || bUndefined) {
45
+ if (sortUndefined === "first")
46
+ return aUndefined ? -1 : 1;
47
+ if (sortUndefined === "last")
48
+ return aUndefined ? 1 : -1;
49
+ sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
50
+ }
51
+ }
52
+ if (sortInt === 0) {
53
+ sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
54
+ }
55
+ if (sortInt !== 0) {
56
+ if (isDesc) {
57
+ sortInt *= -1;
58
+ }
59
+ if (columnInfo.invertSorting) {
60
+ sortInt *= -1;
61
+ }
62
+ return sortInt;
63
+ }
64
+ }
65
+ return rowA.index - rowB.index;
66
+ });
67
+ sortedData.forEach((row) => {
68
+ var _a;
69
+ sortedFlatRows.push(row);
70
+ if ((_a = row.subRows) == null ? void 0 : _a.length) {
71
+ row.subRows = sortData(row.subRows);
72
+ }
73
+ });
74
+ return sortedData;
75
+ };
76
+ return {
77
+ rows: sortData(rowModel.rows),
78
+ flatRows: sortedFlatRows,
79
+ rowsById: rowModel.rowsById
80
+ };
81
+ },
82
+ utils.getMemoOptions(
83
+ table.options,
84
+ "debugTable",
85
+ "getSortedRowModel",
86
+ () => table._autoResetPageIndex()
87
+ )
88
+ );
89
+ }
90
+ exports.getSortedRowModel = getSortedRowModel;
91
+ //# sourceMappingURL=getSortedRowModel.cjs.map