@tanstack/table-core 8.19.2 → 9.0.0-alpha.10

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 (302) hide show
  1. package/dist/cjs/aggregationFns.cjs +94 -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 +92 -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 +232 -0
  20. package/dist/cjs/core/table.cjs.map +1 -0
  21. package/dist/cjs/core/table.d.cts +229 -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 +133 -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 +307 -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 +152 -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 +161 -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 +132 -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 +296 -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 +200 -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} +41 -53
  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 +35 -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 +37 -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 +88 -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} +26 -39
  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 +94 -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 +2 -1
  114. package/dist/esm/core/cell.js +38 -0
  115. package/dist/esm/core/cell.js.map +1 -0
  116. package/{build/lib → dist/esm}/core/column.d.ts +2 -1
  117. package/dist/esm/core/column.js +81 -0
  118. package/dist/esm/core/column.js.map +1 -0
  119. package/{build/lib → dist/esm}/core/headers.d.ts +1 -0
  120. package/dist/esm/core/headers.js +310 -0
  121. package/dist/esm/core/headers.js.map +1 -0
  122. package/{build/lib → dist/esm}/core/row.d.ts +2 -1
  123. package/dist/esm/core/row.js +92 -0
  124. package/dist/esm/core/row.js.map +1 -0
  125. package/{build/lib → dist/esm}/core/table.d.ts +10 -1
  126. package/dist/esm/core/table.js +232 -0
  127. package/dist/esm/core/table.js.map +1 -0
  128. package/{build/lib → dist/esm}/features/ColumnFaceting.d.ts +1 -0
  129. package/{build/lib → dist/esm}/features/ColumnFaceting.js +6 -19
  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/dist/esm/features/ColumnFiltering.js.map +1 -0
  134. package/{build/lib → dist/esm}/features/ColumnGrouping.d.ts +1 -0
  135. package/dist/esm/features/ColumnGrouping.js +133 -0
  136. package/dist/esm/features/ColumnGrouping.js.map +1 -0
  137. package/{build/lib → dist/esm}/features/ColumnOrdering.d.ts +1 -0
  138. package/dist/esm/features/ColumnOrdering.js +76 -0
  139. package/dist/esm/features/ColumnOrdering.js.map +1 -0
  140. package/{build/lib → dist/esm}/features/ColumnPinning.d.ts +1 -0
  141. package/dist/esm/features/ColumnPinning.js +145 -0
  142. package/dist/esm/features/ColumnPinning.js.map +1 -0
  143. package/{build/lib → dist/esm}/features/ColumnSizing.d.ts +2 -1
  144. package/dist/esm/features/ColumnSizing.js +307 -0
  145. package/dist/esm/features/ColumnSizing.js.map +1 -0
  146. package/{build/lib → dist/esm}/features/ColumnVisibility.d.ts +1 -0
  147. package/dist/esm/features/ColumnVisibility.js +144 -0
  148. package/dist/esm/features/ColumnVisibility.js.map +1 -0
  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/dist/esm/features/GlobalFaceting.js.map +1 -0
  152. package/{build/lib → dist/esm}/features/GlobalFiltering.d.ts +1 -0
  153. package/dist/esm/features/GlobalFiltering.js +50 -0
  154. package/dist/esm/features/GlobalFiltering.js.map +1 -0
  155. package/{build/lib → dist/esm}/features/RowExpanding.d.ts +1 -0
  156. package/{build/lib → dist/esm}/features/RowExpanding.js +37 -58
  157. package/dist/esm/features/RowExpanding.js.map +1 -0
  158. package/{build/lib → dist/esm}/features/RowPagination.d.ts +1 -0
  159. package/dist/esm/features/RowPagination.js +161 -0
  160. package/dist/esm/features/RowPagination.js.map +1 -0
  161. package/{build/lib → dist/esm}/features/RowPinning.d.ts +1 -0
  162. package/dist/esm/features/RowPinning.js +132 -0
  163. package/dist/esm/features/RowPinning.js.map +1 -0
  164. package/{build/lib → dist/esm}/features/RowSelection.d.ts +1 -0
  165. package/dist/esm/features/RowSelection.js +296 -0
  166. package/dist/esm/features/RowSelection.js.map +1 -0
  167. package/{build/lib → dist/esm}/features/RowSorting.d.ts +1 -0
  168. package/dist/esm/features/RowSorting.js +200 -0
  169. package/dist/esm/features/RowSorting.js.map +1 -0
  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 +88 -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 +29 -28
  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/dist/esm/utils/getCoreRowModel.js.map +1 -0
  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 +35 -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 +37 -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/dist/esm/utils/getGroupedRowModel.js.map +1 -0
  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 +88 -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 +98 -0
  212. package/{build/lib → dist/esm}/utils.js.map +1 -1
  213. package/package.json +14 -10
  214. package/src/core/cell.ts +2 -2
  215. package/src/core/column.ts +2 -2
  216. package/src/core/headers.ts +5 -5
  217. package/src/core/row.ts +4 -4
  218. package/src/core/table.ts +43 -7
  219. package/src/features/ColumnFaceting.ts +1 -1
  220. package/src/features/ColumnFiltering.ts +6 -6
  221. package/src/features/ColumnGrouping.ts +7 -7
  222. package/src/features/ColumnOrdering.ts +4 -4
  223. package/src/features/ColumnPinning.ts +5 -5
  224. package/src/features/ColumnSizing.ts +6 -6
  225. package/src/features/ColumnVisibility.ts +5 -5
  226. package/src/features/GlobalFaceting.ts +1 -1
  227. package/src/features/GlobalFiltering.ts +4 -4
  228. package/src/features/RowExpanding.ts +4 -4
  229. package/src/features/RowPagination.ts +3 -3
  230. package/src/features/RowPinning.ts +4 -4
  231. package/src/features/RowSelection.ts +4 -4
  232. package/src/features/RowSorting.ts +5 -5
  233. package/src/types.ts +8 -8
  234. package/src/utils/filterRowsUtils.ts +3 -3
  235. package/src/utils/getCoreRowModel.ts +2 -2
  236. package/src/utils/getGroupedRowModel.ts +2 -2
  237. package/build/lib/aggregationFns.js +0 -108
  238. package/build/lib/aggregationFns.js.map +0 -1
  239. package/build/lib/columnHelper.js +0 -71
  240. package/build/lib/core/cell.js +0 -42
  241. package/build/lib/core/cell.js.map +0 -1
  242. package/build/lib/core/column.js +0 -80
  243. package/build/lib/core/column.js.map +0 -1
  244. package/build/lib/core/headers.js +0 -270
  245. package/build/lib/core/headers.js.map +0 -1
  246. package/build/lib/core/row.js +0 -89
  247. package/build/lib/core/row.js.map +0 -1
  248. package/build/lib/core/table.js +0 -212
  249. package/build/lib/core/table.js.map +0 -1
  250. package/build/lib/features/ColumnFiltering.js +0 -151
  251. package/build/lib/features/ColumnFiltering.js.map +0 -1
  252. package/build/lib/features/ColumnGrouping.js +0 -142
  253. package/build/lib/features/ColumnGrouping.js.map +0 -1
  254. package/build/lib/features/ColumnOrdering.js +0 -84
  255. package/build/lib/features/ColumnOrdering.js.map +0 -1
  256. package/build/lib/features/ColumnPinning.js +0 -130
  257. package/build/lib/features/ColumnPinning.js.map +0 -1
  258. package/build/lib/features/ColumnSizing.js +0 -270
  259. package/build/lib/features/ColumnSizing.js.map +0 -1
  260. package/build/lib/features/ColumnVisibility.js +0 -99
  261. package/build/lib/features/ColumnVisibility.js.map +0 -1
  262. package/build/lib/features/GlobalFaceting.js.map +0 -1
  263. package/build/lib/features/GlobalFiltering.js +0 -63
  264. package/build/lib/features/GlobalFiltering.js.map +0 -1
  265. package/build/lib/features/RowExpanding.js.map +0 -1
  266. package/build/lib/features/RowPagination.js +0 -169
  267. package/build/lib/features/RowPagination.js.map +0 -1
  268. package/build/lib/features/RowPinning.js +0 -145
  269. package/build/lib/features/RowPinning.js.map +0 -1
  270. package/build/lib/features/RowSelection.js +0 -391
  271. package/build/lib/features/RowSelection.js.map +0 -1
  272. package/build/lib/features/RowSorting.js +0 -226
  273. package/build/lib/features/RowSorting.js.map +0 -1
  274. package/build/lib/filterFns.js +0 -96
  275. package/build/lib/filterFns.js.map +0 -1
  276. package/build/lib/index.d.ts +0 -34
  277. package/build/lib/index.esm.js +0 -3522
  278. package/build/lib/index.esm.js.map +0 -1
  279. package/build/lib/index.js.map +0 -1
  280. package/build/lib/index.mjs +0 -3522
  281. package/build/lib/index.mjs.map +0 -1
  282. package/build/lib/sortingFns.js.map +0 -1
  283. package/build/lib/utils/filterRowsUtils.js.map +0 -1
  284. package/build/lib/utils/getCoreRowModel.js +0 -65
  285. package/build/lib/utils/getCoreRowModel.js.map +0 -1
  286. package/build/lib/utils/getExpandedRowModel.js +0 -46
  287. package/build/lib/utils/getExpandedRowModel.js.map +0 -1
  288. package/build/lib/utils/getFacetedMinMaxValues.js +0 -43
  289. package/build/lib/utils/getFacetedMinMaxValues.js.map +0 -1
  290. package/build/lib/utils/getFacetedRowModel.js +0 -36
  291. package/build/lib/utils/getFacetedUniqueValues.js +0 -39
  292. package/build/lib/utils/getFacetedUniqueValues.js.map +0 -1
  293. package/build/lib/utils/getFilteredRowModel.js +0 -111
  294. package/build/lib/utils/getGroupedRowModel.js +0 -150
  295. package/build/lib/utils/getGroupedRowModel.js.map +0 -1
  296. package/build/lib/utils/getPaginationRowModel.js +0 -60
  297. package/build/lib/utils/getPaginationRowModel.js.map +0 -1
  298. package/build/lib/utils/getSortedRowModel.js +0 -102
  299. package/build/umd/index.development.js +0 -3578
  300. package/build/umd/index.development.js.map +0 -1
  301. package/build/umd/index.production.js +0 -12
  302. package/build/umd/index.production.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { SortingFn } from './features/RowSorting'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nconst alphanumeric: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\nconst alphanumericCaseSensitive: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst text: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst textCaseSensitive: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\nconst datetime: SortingFn<any> = (rowA, rowB, columnId) => {\n const a = rowA.getValue<Date>(columnId)\n const b = rowB.getValue<Date>(columnId)\n\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n return a > b ? 1 : a < b ? -1 : 0\n}\n\nconst basic: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// Exports\n\nexport const sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortingFn = keyof typeof sortingFns\n"],"names":["reSplitAlphaNumeric","alphanumeric","rowA","rowB","columnId","compareAlphanumeric","toString","getValue","toLowerCase","alphanumericCaseSensitive","text","compareBasic","textCaseSensitive","datetime","a","b","basic","isNaN","Infinity","String","aStr","bStr","split","filter","Boolean","length","aa","shift","bb","an","parseInt","bn","combo","sort","sortingFns"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Row, RowModel, Table, RowData } from '../types'\n\nexport function filterRows<TData extends RowData>(\n rows: Row<TData>[],\n filterRowImpl: (row: Row<TData>) => any,\n table: Table<TData>\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => Row<TData>[],\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n const rows: Row<TData>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const newRow = createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId\n )\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows?.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => any,\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n // Filter from parents downward first\n\n const rows: Row<TData>[] = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length && depth < maxDepth) {\n const newRow = createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n rows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["filterRows","rows","filterRowImpl","table","options","filterFromLeafRows","filterRowModelFromLeafs","filterRowModelFromRoot","rowsToFilter","filterRow","_table$options$maxLea","newFilteredFlatRows","newFilteredRowsById","maxDepth","maxLeafRowFilterDepth","recurseFilterRows","depth","i","length","_row$subRows","row","newRow","createRow","id","original","index","undefined","parentId","columnFilters","subRows","push","flatRows","rowsById","_table$options$maxLea2","pass","_row$subRows2"],"mappings":"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"}
@@ -1,65 +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 row = require('../core/row.js');
14
- var utils = require('../utils.js');
15
-
16
- function getCoreRowModel() {
17
- return table => utils.memo(() => [table.options.data], data => {
18
- const rowModel = {
19
- rows: [],
20
- flatRows: [],
21
- rowsById: {}
22
- };
23
- const accessRows = function (originalRows, depth, parentRow) {
24
- if (depth === void 0) {
25
- depth = 0;
26
- }
27
- const rows = [];
28
- for (let i = 0; i < originalRows.length; i++) {
29
- // This could be an expensive check at scale, so we should move it somewhere else, but where?
30
- // if (!id) {
31
- // if (process.env.NODE_ENV !== 'production') {
32
- // throw new Error(`getRowId expected an ID, but got ${id}`)
33
- // }
34
- // }
35
-
36
- // Make the row
37
- const row$1 = row.createRow(table, table._getRowId(originalRows[i], i, parentRow), originalRows[i], i, depth, undefined, parentRow == null ? void 0 : parentRow.id);
38
-
39
- // Keep track of every row in a flat array
40
- rowModel.flatRows.push(row$1);
41
- // Also keep track of every row by its ID
42
- rowModel.rowsById[row$1.id] = row$1;
43
- // Push table row into parent
44
- rows.push(row$1);
45
-
46
- // Get the original subrows
47
- if (table.options.getSubRows) {
48
- var _row$originalSubRows;
49
- row$1.originalSubRows = table.options.getSubRows(originalRows[i], i);
50
-
51
- // Then recursively access them
52
- if ((_row$originalSubRows = row$1.originalSubRows) != null && _row$originalSubRows.length) {
53
- row$1.subRows = accessRows(row$1.originalSubRows, depth + 1, row$1);
54
- }
55
- }
56
- }
57
- return rows;
58
- };
59
- rowModel.rows = accessRows(data);
60
- return rowModel;
61
- }, utils.getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));
62
- }
63
-
64
- exports.getCoreRowModel = getCoreRowModel;
65
- //# sourceMappingURL=getCoreRowModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parentRow?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\n // if (!id) {\n // if (process.env.NODE_ENV !== 'production') {\n // throw new Error(`getRowId expected an ID, but got ${id}`)\n // }\n // }\n\n // Make the row\n const row = createRow(\n table,\n table._getRowId(originalRows[i]!, i, parentRow),\n originalRows[i]!,\n i,\n depth,\n undefined,\n parentRow?.id\n )\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row\n // Push table row into parent\n rows.push(row)\n\n // Get the original subrows\n if (table.options.getSubRows) {\n row.originalSubRows = table.options.getSubRows(\n originalRows[i]!,\n i\n )\n\n // Then recursively access them\n if (row.originalSubRows?.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n\n return rows\n }\n\n rowModel.rows = accessRows(data)\n\n return rowModel\n },\n getMemoOptions(table.options, 'debugTable', 'getRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":["getCoreRowModel","table","memo","options","data","rowModel","rows","flatRows","rowsById","accessRows","originalRows","depth","parentRow","i","length","row","createRow","_getRowId","undefined","id","push","getSubRows","_row$originalSubRows","originalSubRows","subRows","getMemoOptions","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;AAIO,SAASA,eAAeA,GAEJ;AACzB,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CAACD,KAAK,CAACE,OAAO,CAACC,IAAI,CAAC,EAExBA,IAAI,IAKD;AACH,IAAA,MAAMC,QAAyB,GAAG;AAChCC,MAAAA,IAAI,EAAE,EAAE;AACRC,MAAAA,QAAQ,EAAE,EAAE;AACZC,MAAAA,QAAQ,EAAE,EAAC;KACZ,CAAA;IAED,MAAMC,UAAU,GAAG,UACjBC,YAAqB,EACrBC,KAAK,EACLC,SAAsB,EACL;AAAA,MAAA,IAFjBD,KAAK,KAAA,KAAA,CAAA,EAAA;AAALA,QAAAA,KAAK,GAAG,CAAC,CAAA;AAAA,OAAA;MAGT,MAAML,IAAI,GAAG,EAAkB,CAAA;AAE/B,MAAA,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,YAAY,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAA,MAAME,KAAG,GAAGC,aAAS,CACnBf,KAAK,EACLA,KAAK,CAACgB,SAAS,CAACP,YAAY,CAACG,CAAC,CAAC,EAAGA,CAAC,EAAED,SAAS,CAAC,EAC/CF,YAAY,CAACG,CAAC,CAAC,EACfA,CAAC,EACDF,KAAK,EACLO,SAAS,EACTN,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAEO,EACb,CAAC,CAAA;;AAED;AACAd,QAAAA,QAAQ,CAACE,QAAQ,CAACa,IAAI,CAACL,KAAG,CAAC,CAAA;AAC3B;QACAV,QAAQ,CAACG,QAAQ,CAACO,KAAG,CAACI,EAAE,CAAC,GAAGJ,KAAG,CAAA;AAC/B;AACAT,QAAAA,IAAI,CAACc,IAAI,CAACL,KAAG,CAAC,CAAA;;AAEd;AACA,QAAA,IAAId,KAAK,CAACE,OAAO,CAACkB,UAAU,EAAE;AAAA,UAAA,IAAAC,oBAAA,CAAA;AAC5BP,UAAAA,KAAG,CAACQ,eAAe,GAAGtB,KAAK,CAACE,OAAO,CAACkB,UAAU,CAC5CX,YAAY,CAACG,CAAC,CAAC,EACfA,CACF,CAAC,CAAA;;AAED;UACA,IAAAS,CAAAA,oBAAA,GAAIP,KAAG,CAACQ,eAAe,KAAnBD,IAAAA,IAAAA,oBAAA,CAAqBR,MAAM,EAAE;AAC/BC,YAAAA,KAAG,CAACS,OAAO,GAAGf,UAAU,CAACM,KAAG,CAACQ,eAAe,EAAEZ,KAAK,GAAG,CAAC,EAAEI,KAAG,CAAC,CAAA;AAC/D,WAAA;AACF,SAAA;AACF,OAAA;AAEA,MAAA,OAAOT,IAAI,CAAA;KACZ,CAAA;AAEDD,IAAAA,QAAQ,CAACC,IAAI,GAAGG,UAAU,CAACL,IAAI,CAAC,CAAA;AAEhC,IAAA,OAAOC,QAAQ,CAAA;AACjB,GAAC,EACDoB,oBAAc,CAACxB,KAAK,CAACE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MACzDF,KAAK,CAACyB,mBAAmB,EAC3B,CACF,CAAC,CAAA;AACL;;;;"}
@@ -1,46 +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
- function getExpandedRowModel() {
16
- return table => utils.memo(() => [table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {
17
- if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
18
- return rowModel;
19
- }
20
- if (!paginateExpandedRows) {
21
- // Only expand rows at this point if they are being paginated
22
- return rowModel;
23
- }
24
- return expandRows(rowModel);
25
- }, utils.getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));
26
- }
27
- function expandRows(rowModel) {
28
- const expandedRows = [];
29
- const handleRow = row => {
30
- var _row$subRows;
31
- expandedRows.push(row);
32
- if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
33
- row.subRows.forEach(handleRow);
34
- }
35
- };
36
- rowModel.rows.forEach(handleRow);
37
- return {
38
- rows: expandedRows,
39
- flatRows: rowModel.flatRows,
40
- rowsById: rowModel.rowsById
41
- };
42
- }
43
-
44
- exports.expandRows = expandRows;
45
- exports.getExpandedRowModel = getExpandedRowModel;
46
- //# sourceMappingURL=getExpandedRowModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getExpandedRowModel.js","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":["getExpandedRowModel","table","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","getMemoOptions","expandedRows","handleRow","row","_row$subRows","push","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;AAGO,SAASA,mBAAmBA,GAER;AACzB,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CACJD,KAAK,CAACE,QAAQ,EAAE,CAACC,QAAQ,EACzBH,KAAK,CAACI,sBAAsB,EAAE,EAC9BJ,KAAK,CAACK,OAAO,CAACC,oBAAoB,CACnC,EACD,CAACH,QAAQ,EAAEI,QAAQ,EAAED,oBAAoB,KAAK;IAC5C,IACE,CAACC,QAAQ,CAACC,IAAI,CAACC,MAAM,IACpBN,QAAQ,KAAK,IAAI,IAAI,CAACO,MAAM,CAACC,IAAI,CAACR,QAAQ,IAARA,IAAAA,GAAAA,QAAQ,GAAI,EAAE,CAAC,CAACM,MAAO,EAC1D;AACA,MAAA,OAAOF,QAAQ,CAAA;AACjB,KAAA;IAEA,IAAI,CAACD,oBAAoB,EAAE;AACzB;AACA,MAAA,OAAOC,QAAQ,CAAA;AACjB,KAAA;IAEA,OAAOK,UAAU,CAACL,QAAQ,CAAC,CAAA;GAC5B,EACDM,oBAAc,CAACb,KAAK,CAACK,OAAO,EAAE,YAAY,EAAE,qBAAqB,CACnE,CAAC,CAAA;AACL,CAAA;AAEO,SAASO,UAAUA,CAAwBL,QAAyB,EAAE;EAC3E,MAAMO,YAA0B,GAAG,EAAE,CAAA;EAErC,MAAMC,SAAS,GAAIC,GAAe,IAAK;AAAA,IAAA,IAAAC,YAAA,CAAA;AACrCH,IAAAA,YAAY,CAACI,IAAI,CAACF,GAAG,CAAC,CAAA;AAEtB,IAAA,IAAI,CAAAC,YAAA,GAAAD,GAAG,CAACG,OAAO,KAAXF,IAAAA,IAAAA,YAAA,CAAaR,MAAM,IAAIO,GAAG,CAACI,aAAa,EAAE,EAAE;AAC9CJ,MAAAA,GAAG,CAACG,OAAO,CAACE,OAAO,CAACN,SAAS,CAAC,CAAA;AAChC,KAAA;GACD,CAAA;AAEDR,EAAAA,QAAQ,CAACC,IAAI,CAACa,OAAO,CAACN,SAAS,CAAC,CAAA;EAEhC,OAAO;AACLP,IAAAA,IAAI,EAAEM,YAAY;IAClBQ,QAAQ,EAAEf,QAAQ,CAACe,QAAQ;IAC3BC,QAAQ,EAAEhB,QAAQ,CAACgB,QAAAA;GACpB,CAAA;AACH;;;;;"}
@@ -1,43 +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
- function getFacetedMinMaxValues() {
16
- return (table, columnId) => utils.memo(() => {
17
- var _table$getColumn;
18
- return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];
19
- }, facetedRowModel => {
20
- var _facetedRowModel$flat;
21
- if (!facetedRowModel) return undefined;
22
- const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getUniqueValues(columnId);
23
- if (typeof firstValue === 'undefined') {
24
- return undefined;
25
- }
26
- let facetedMinMaxValues = [firstValue, firstValue];
27
- for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
28
- const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
29
- for (let j = 0; j < values.length; j++) {
30
- const value = values[j];
31
- if (value < facetedMinMaxValues[0]) {
32
- facetedMinMaxValues[0] = value;
33
- } else if (value > facetedMinMaxValues[1]) {
34
- facetedMinMaxValues[1] = value;
35
- }
36
- }
37
- }
38
- return facetedMinMaxValues;
39
- }, utils.getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));
40
- }
41
-
42
- exports.getFacetedMinMaxValues = getFacetedMinMaxValues;
43
- //# sourceMappingURL=getFacetedMinMaxValues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFacetedMinMaxValues.js","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":["getFacetedMinMaxValues","table","columnId","memo","_table$getColumn","getColumn","getFacetedRowModel","facetedRowModel","_facetedRowModel$flat","undefined","firstValue","flatRows","getUniqueValues","facetedMinMaxValues","i","length","values","j","value","getMemoOptions","options"],"mappings":";;;;;;;;;;;;;;AAGO,SAASA,sBAAsBA,GAGE;AACtC,EAAA,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAA;AAAA,IAAA,IAAAC,gBAAA,CAAA;AAAA,IAAA,OAAM,CAAAA,CAAAA,gBAAA,GAACH,KAAK,CAACI,SAAS,CAACH,QAAQ,CAAC,qBAAzBE,gBAAA,CAA2BE,kBAAkB,EAAE,CAAC,CAAA;AAAA,GAAA,EACvDC,eAAe,IAAI;AAAA,IAAA,IAAAC,qBAAA,CAAA;AACjB,IAAA,IAAI,CAACD,eAAe,EAAE,OAAOE,SAAS,CAAA;AAEtC,IAAA,MAAMC,UAAU,GAAAF,CAAAA,qBAAA,GACdD,eAAe,CAACI,QAAQ,CAAC,CAAC,CAAC,qBAA3BH,qBAAA,CAA6BI,eAAe,CAACV,QAAQ,CAAC,CAAA;AAExD,IAAA,IAAI,OAAOQ,UAAU,KAAK,WAAW,EAAE;AACrC,MAAA,OAAOD,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,IAAII,mBAA+B,GAAG,CAACH,UAAU,EAAEA,UAAU,CAAC,CAAA;AAE9D,IAAA,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,eAAe,CAACI,QAAQ,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;AACxD,MAAA,MAAME,MAAM,GACVT,eAAe,CAACI,QAAQ,CAACG,CAAC,CAAC,CAAEF,eAAe,CAASV,QAAQ,CAAC,CAAA;AAEhE,MAAA,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAACD,MAAM,EAAEE,CAAC,EAAE,EAAE;AACtC,QAAA,MAAMC,KAAK,GAAGF,MAAM,CAACC,CAAC,CAAE,CAAA;AAExB,QAAA,IAAIC,KAAK,GAAGL,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAClCA,UAAAA,mBAAmB,CAAC,CAAC,CAAC,GAAGK,KAAK,CAAA;SAC/B,MAAM,IAAIA,KAAK,GAAGL,mBAAmB,CAAC,CAAC,CAAC,EAAE;AACzCA,UAAAA,mBAAmB,CAAC,CAAC,CAAC,GAAGK,KAAK,CAAA;AAChC,SAAA;AACF,OAAA;AACF,KAAA;AAEA,IAAA,OAAOL,mBAAmB,CAAA;GAC3B,EACDM,oBAAc,CAAClB,KAAK,CAACmB,OAAO,EAAE,YAAY,EAAE,wBAAwB,CACtE,CAAC,CAAA;AACL;;;;"}
@@ -1,36 +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 filterRowsUtils = require('./filterRowsUtils.js');
15
-
16
- function getFacetedRowModel() {
17
- return (table, columnId) => utils.memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {
18
- if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
19
- return preRowModel;
20
- }
21
- const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);
22
- const filterRowsImpl = row => {
23
- // Horizontally filter rows through each column
24
- for (let i = 0; i < filterableIds.length; i++) {
25
- if (row.columnFilters[filterableIds[i]] === false) {
26
- return false;
27
- }
28
- }
29
- return true;
30
- };
31
- return filterRowsUtils.filterRows(preRowModel.rows, filterRowsImpl, table);
32
- }, utils.getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));
33
- }
34
-
35
- exports.getFacetedRowModel = getFacetedRowModel;
36
- //# sourceMappingURL=getFacetedRowModel.js.map
@@ -1,39 +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
- function getFacetedUniqueValues() {
16
- return (table, columnId) => utils.memo(() => {
17
- var _table$getColumn;
18
- return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];
19
- }, facetedRowModel => {
20
- if (!facetedRowModel) return new Map();
21
- let facetedUniqueValues = new Map();
22
- for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
23
- const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
24
- for (let j = 0; j < values.length; j++) {
25
- const value = values[j];
26
- if (facetedUniqueValues.has(value)) {
27
- var _facetedUniqueValues$;
28
- facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);
29
- } else {
30
- facetedUniqueValues.set(value, 1);
31
- }
32
- }
33
- }
34
- return facetedUniqueValues;
35
- }, utils.getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));
36
- }
37
-
38
- exports.getFacetedUniqueValues = getFacetedUniqueValues;
39
- //# sourceMappingURL=getFacetedUniqueValues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFacetedUniqueValues.js","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":["getFacetedUniqueValues","table","columnId","memo","_table$getColumn","getColumn","getFacetedRowModel","facetedRowModel","Map","facetedUniqueValues","i","flatRows","length","values","getUniqueValues","j","value","has","_facetedUniqueValues$","set","get","getMemoOptions","options"],"mappings":";;;;;;;;;;;;;;AAGO,SAASA,sBAAsBA,GAGV;AAC1B,EAAA,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAA;AAAA,IAAA,IAAAC,gBAAA,CAAA;AAAA,IAAA,OAAM,CAAAA,CAAAA,gBAAA,GAACH,KAAK,CAACI,SAAS,CAACH,QAAQ,CAAC,qBAAzBE,gBAAA,CAA2BE,kBAAkB,EAAE,CAAC,CAAA;AAAA,GAAA,EACvDC,eAAe,IAAI;AACjB,IAAA,IAAI,CAACA,eAAe,EAAE,OAAO,IAAIC,GAAG,EAAE,CAAA;AAEtC,IAAA,IAAIC,mBAAmB,GAAG,IAAID,GAAG,EAAe,CAAA;AAEhD,IAAA,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,eAAe,CAACI,QAAQ,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AACxD,MAAA,MAAMG,MAAM,GACVN,eAAe,CAACI,QAAQ,CAACD,CAAC,CAAC,CAAEI,eAAe,CAASZ,QAAQ,CAAC,CAAA;AAEhE,MAAA,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACD,MAAM,EAAEG,CAAC,EAAE,EAAE;AACtC,QAAA,MAAMC,KAAK,GAAGH,MAAM,CAACE,CAAC,CAAE,CAAA;AAExB,QAAA,IAAIN,mBAAmB,CAACQ,GAAG,CAACD,KAAK,CAAC,EAAE;AAAA,UAAA,IAAAE,qBAAA,CAAA;UAClCT,mBAAmB,CAACU,GAAG,CACrBH,KAAK,EACL,CAAAE,CAAAA,qBAAA,GAACT,mBAAmB,CAACW,GAAG,CAACJ,KAAK,CAAC,KAAAE,IAAAA,GAAAA,qBAAA,GAAI,CAAC,IAAI,CAC1C,CAAC,CAAA;AACH,SAAC,MAAM;AACLT,UAAAA,mBAAmB,CAACU,GAAG,CAACH,KAAK,EAAE,CAAC,CAAC,CAAA;AACnC,SAAA;AACF,OAAA;AACF,KAAA;AAEA,IAAA,OAAOP,mBAAmB,CAAA;AAC5B,GAAC,EACDY,oBAAc,CACZpB,KAAK,CAACqB,OAAO,EACb,YAAY,EACZ,CAAA,uBAAA,EAA0BpB,QAAQ,CAAA,CACpC,CACF,CAAC,CAAA;AACL;;;;"}
@@ -1,111 +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 filterRowsUtils = require('./filterRowsUtils.js');
15
-
16
- function getFilteredRowModel() {
17
- return table => utils.memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {
18
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
19
- for (let i = 0; i < rowModel.flatRows.length; i++) {
20
- rowModel.flatRows[i].columnFilters = {};
21
- rowModel.flatRows[i].columnFiltersMeta = {};
22
- }
23
- return rowModel;
24
- }
25
- const resolvedColumnFilters = [];
26
- const resolvedGlobalFilters = [];
27
- (columnFilters != null ? columnFilters : []).forEach(d => {
28
- var _filterFn$resolveFilt;
29
- const column = table.getColumn(d.id);
30
- if (!column) {
31
- return;
32
- }
33
- const filterFn = column.getFilterFn();
34
- if (!filterFn) {
35
- if (process.env.NODE_ENV !== 'production') {
36
- console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
37
- }
38
- return;
39
- }
40
- resolvedColumnFilters.push({
41
- id: d.id,
42
- filterFn,
43
- resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
44
- });
45
- });
46
- const filterableIds = (columnFilters != null ? columnFilters : []).map(d => d.id);
47
- const globalFilterFn = table.getGlobalFilterFn();
48
- const globallyFilterableColumns = table.getAllLeafColumns().filter(column => column.getCanGlobalFilter());
49
- if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
50
- filterableIds.push('__global__');
51
- globallyFilterableColumns.forEach(column => {
52
- var _globalFilterFn$resol;
53
- resolvedGlobalFilters.push({
54
- id: column.id,
55
- filterFn: globalFilterFn,
56
- resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
57
- });
58
- });
59
- }
60
- let currentColumnFilter;
61
- let currentGlobalFilter;
62
-
63
- // Flag the prefiltered row model with each filter state
64
- for (let j = 0; j < rowModel.flatRows.length; j++) {
65
- const row = rowModel.flatRows[j];
66
- row.columnFilters = {};
67
- if (resolvedColumnFilters.length) {
68
- for (let i = 0; i < resolvedColumnFilters.length; i++) {
69
- currentColumnFilter = resolvedColumnFilters[i];
70
- const id = currentColumnFilter.id;
71
-
72
- // Tag the row with the column filter state
73
- row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {
74
- row.columnFiltersMeta[id] = filterMeta;
75
- });
76
- }
77
- }
78
- if (resolvedGlobalFilters.length) {
79
- for (let i = 0; i < resolvedGlobalFilters.length; i++) {
80
- currentGlobalFilter = resolvedGlobalFilters[i];
81
- const id = currentGlobalFilter.id;
82
- // Tag the row with the first truthy global filter state
83
- if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {
84
- row.columnFiltersMeta[id] = filterMeta;
85
- })) {
86
- row.columnFilters.__global__ = true;
87
- break;
88
- }
89
- }
90
- if (row.columnFilters.__global__ !== true) {
91
- row.columnFilters.__global__ = false;
92
- }
93
- }
94
- }
95
- const filterRowsImpl = row => {
96
- // Horizontally filter rows through each column
97
- for (let i = 0; i < filterableIds.length; i++) {
98
- if (row.columnFilters[filterableIds[i]] === false) {
99
- return false;
100
- }
101
- }
102
- return true;
103
- };
104
-
105
- // Filter final rows using all of the active filters
106
- return filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
107
- }, utils.getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));
108
- }
109
-
110
- exports.getFilteredRowModel = getFilteredRowModel;
111
- //# sourceMappingURL=getFilteredRowModel.js.map
@@ -1,150 +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 row = require('../core/row.js');
14
- var utils = require('../utils.js');
15
-
16
- function getGroupedRowModel() {
17
- return table => utils.memo(() => [table.getState().grouping, table.getPreGroupedRowModel()], (grouping, rowModel) => {
18
- if (!rowModel.rows.length || !grouping.length) {
19
- return rowModel;
20
- }
21
-
22
- // Filter the grouping list down to columns that exist
23
- const existingGrouping = grouping.filter(columnId => table.getColumn(columnId));
24
- const groupedFlatRows = [];
25
- const groupedRowsById = {};
26
- // const onlyGroupedFlatRows: Row[] = [];
27
- // const onlyGroupedRowsById: Record<RowId, Row> = {};
28
- // const nonGroupedFlatRows: Row[] = [];
29
- // const nonGroupedRowsById: Record<RowId, Row> = {};
30
-
31
- // Recursively group the data
32
- const groupUpRecursively = function (rows, depth, parentId) {
33
- if (depth === void 0) {
34
- depth = 0;
35
- }
36
- // Grouping depth has been been met
37
- // Stop grouping and simply rewrite thd depth and row relationships
38
- if (depth >= existingGrouping.length) {
39
- return rows.map(row => {
40
- row.depth = depth;
41
- groupedFlatRows.push(row);
42
- groupedRowsById[row.id] = row;
43
- if (row.subRows) {
44
- row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
45
- }
46
- return row;
47
- });
48
- }
49
- const columnId = existingGrouping[depth];
50
-
51
- // Group the rows together for this level
52
- const rowGroupsMap = groupBy(rows, columnId);
53
-
54
- // Peform aggregations for each group
55
- const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map((_ref, index) => {
56
- let [groupingValue, groupedRows] = _ref;
57
- let id = `${columnId}:${groupingValue}`;
58
- id = parentId ? `${parentId}>${id}` : id;
59
-
60
- // First, Recurse to group sub rows before aggregation
61
- const subRows = groupUpRecursively(groupedRows, depth + 1, id);
62
-
63
- // Flatten the leaf rows of the rows in this group
64
- const leafRows = depth ? utils.flattenBy(groupedRows, row => row.subRows) : groupedRows;
65
- const row$1 = row.createRow(table, id, leafRows[0].original, index, depth, undefined, parentId);
66
- Object.assign(row$1, {
67
- groupingColumnId: columnId,
68
- groupingValue,
69
- subRows,
70
- leafRows,
71
- getValue: columnId => {
72
- // Don't aggregate columns that are in the grouping
73
- if (existingGrouping.includes(columnId)) {
74
- if (row$1._valuesCache.hasOwnProperty(columnId)) {
75
- return row$1._valuesCache[columnId];
76
- }
77
- if (groupedRows[0]) {
78
- var _groupedRows$0$getVal;
79
- row$1._valuesCache[columnId] = (_groupedRows$0$getVal = groupedRows[0].getValue(columnId)) != null ? _groupedRows$0$getVal : undefined;
80
- }
81
- return row$1._valuesCache[columnId];
82
- }
83
- if (row$1._groupingValuesCache.hasOwnProperty(columnId)) {
84
- return row$1._groupingValuesCache[columnId];
85
- }
86
-
87
- // Aggregate the values
88
- const column = table.getColumn(columnId);
89
- const aggregateFn = column == null ? void 0 : column.getAggregationFn();
90
- if (aggregateFn) {
91
- row$1._groupingValuesCache[columnId] = aggregateFn(columnId, leafRows, groupedRows);
92
- return row$1._groupingValuesCache[columnId];
93
- }
94
- }
95
- });
96
- subRows.forEach(subRow => {
97
- groupedFlatRows.push(subRow);
98
- groupedRowsById[subRow.id] = subRow;
99
- // if (subRow.getIsGrouped?.()) {
100
- // onlyGroupedFlatRows.push(subRow);
101
- // onlyGroupedRowsById[subRow.id] = subRow;
102
- // } else {
103
- // nonGroupedFlatRows.push(subRow);
104
- // nonGroupedRowsById[subRow.id] = subRow;
105
- // }
106
- });
107
- return row$1;
108
- });
109
- return aggregatedGroupedRows;
110
- };
111
- const groupedRows = groupUpRecursively(rowModel.rows, 0);
112
- groupedRows.forEach(subRow => {
113
- groupedFlatRows.push(subRow);
114
- groupedRowsById[subRow.id] = subRow;
115
- // if (subRow.getIsGrouped?.()) {
116
- // onlyGroupedFlatRows.push(subRow);
117
- // onlyGroupedRowsById[subRow.id] = subRow;
118
- // } else {
119
- // nonGroupedFlatRows.push(subRow);
120
- // nonGroupedRowsById[subRow.id] = subRow;
121
- // }
122
- });
123
- return {
124
- rows: groupedRows,
125
- flatRows: groupedFlatRows,
126
- rowsById: groupedRowsById
127
- };
128
- }, utils.getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {
129
- table._queue(() => {
130
- table._autoResetExpanded();
131
- table._autoResetPageIndex();
132
- });
133
- }));
134
- }
135
- function groupBy(rows, columnId) {
136
- const groupMap = new Map();
137
- return rows.reduce((map, row) => {
138
- const resKey = `${row.getGroupingValue(columnId)}`;
139
- const previous = map.get(resKey);
140
- if (!previous) {
141
- map.set(resKey, [row]);
142
- } else {
143
- previous.push(row);
144
- }
145
- return map;
146
- }, groupMap);
147
- }
148
-
149
- exports.getGroupedRowModel = getGroupedRowModel;
150
- //# sourceMappingURL=getGroupedRowModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getGroupedRowModel.js","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":["getGroupedRowModel","table","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","map","row","push","id","subRows","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","_ref","index","groupingValue","groupedRows","leafRows","flattenBy","createRow","original","undefined","Object","assign","groupingColumnId","getValue","includes","_valuesCache","hasOwnProperty","_groupedRows$0$getVal","_groupingValuesCache","column","aggregateFn","getAggregationFn","forEach","subRow","flatRows","rowsById","getMemoOptions","options","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","getGroupingValue","previous","get","set"],"mappings":"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"}