@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.70

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 (667) hide show
  1. package/README.md +5 -1
  2. package/dist/core/cells/constructCell.d.ts +4 -6
  3. package/dist/core/cells/constructCell.js +4 -6
  4. package/dist/core/cells/coreCellsFeature.d.ts +1 -3
  5. package/dist/core/cells/coreCellsFeature.js +1 -2
  6. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
  7. package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
  8. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  9. package/dist/core/columns/constructColumn.d.ts +4 -6
  10. package/dist/core/columns/constructColumn.js +8 -9
  11. package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
  12. package/dist/core/columns/coreColumnsFeature.js +13 -20
  13. package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
  14. package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
  15. package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
  16. package/dist/core/coreFeatures.d.ts +3 -3
  17. package/dist/core/coreFeatures.js +1 -2
  18. package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
  19. package/dist/core/headers/buildHeaderGroups.js +99 -85
  20. package/dist/core/headers/constructHeader.d.ts +3 -5
  21. package/dist/core/headers/constructHeader.js +4 -6
  22. package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
  23. package/dist/core/headers/coreHeadersFeature.js +9 -13
  24. package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
  25. package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
  26. package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
  27. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
  28. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
  29. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  30. package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
  31. package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
  32. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
  33. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  34. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
  35. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
  36. package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
  37. package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
  38. package/dist/core/row-models/createCoreRowModel.js +25 -24
  39. package/dist/core/rows/constructRow.d.ts +3 -5
  40. package/dist/core/rows/constructRow.js +9 -13
  41. package/dist/core/rows/coreRowsFeature.d.ts +1 -3
  42. package/dist/core/rows/coreRowsFeature.js +20 -5
  43. package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
  44. package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
  45. package/dist/core/rows/coreRowsFeature.utils.js +65 -14
  46. package/dist/core/table/constructTable.d.ts +2 -4
  47. package/dist/core/table/constructTable.js +52 -23
  48. package/dist/core/table/coreTablesFeature.d.ts +1 -3
  49. package/dist/core/table/coreTablesFeature.js +1 -2
  50. package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +69 -24
  53. package/dist/experimental-worker-plugin.d.ts +5 -0
  54. package/dist/experimental-worker-plugin.js +6 -0
  55. package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
  56. package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
  57. package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
  58. package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
  59. package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
  60. package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
  61. package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
  62. package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
  63. package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
  64. package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
  65. package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
  66. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
  68. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
  69. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
  70. package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
  71. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
  72. package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
  73. package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
  74. package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
  75. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
  76. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
  77. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
  78. package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
  79. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
  84. package/dist/features/column-filtering/filterFns.d.ts +208 -0
  85. package/dist/features/column-filtering/filterFns.js +374 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +4 -4
  87. package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
  88. package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
  89. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
  90. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
  91. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
  92. package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
  93. package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
  94. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
  95. package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
  96. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
  97. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
  98. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
  99. package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
  100. package/dist/features/column-pinning/columnPinningFeature.js +126 -146
  101. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
  102. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
  103. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
  104. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
  105. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  106. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
  107. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
  108. package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
  109. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
  110. package/dist/features/column-sizing/columnSizingFeature.js +35 -70
  111. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
  112. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
  113. package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
  114. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
  115. package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
  116. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
  117. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
  119. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
  120. package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
  121. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
  122. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
  123. package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
  124. package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
  125. package/dist/features/row-aggregation/aggregationFns.js +279 -0
  126. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
  127. package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
  128. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
  129. package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
  130. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
  131. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
  132. package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
  133. package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
  134. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
  135. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  136. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
  141. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
  142. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  143. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
  144. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
  145. package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
  146. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
  147. package/dist/features/row-pinning/rowPinningFeature.js +5 -18
  148. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
  149. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
  150. package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +68 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +71 -53
  158. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
  159. package/dist/features/row-sorting/rowSortingFeature.js +1 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -25
  163. package/dist/features/row-sorting/sortFns.d.ts +96 -0
  164. package/dist/features/row-sorting/sortFns.js +216 -0
  165. package/dist/features/stockFeatures.d.ts +7 -3
  166. package/dist/features/stockFeatures.js +7 -2
  167. package/dist/flex-render.d.ts +2 -4
  168. package/dist/flex-render.js +10 -3
  169. package/dist/helpers/columnHelper.d.ts +3 -5
  170. package/dist/helpers/columnHelper.js +1 -2
  171. package/dist/helpers/metaHelper.d.ts +25 -0
  172. package/dist/helpers/metaHelper.js +28 -0
  173. package/dist/helpers/tableFeatures.d.ts +35 -8
  174. package/dist/helpers/tableFeatures.js +33 -5
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +34 -27
  178. package/dist/index.js +10 -5
  179. package/dist/reactivity.d.ts +2 -1
  180. package/dist/reactivity.js +2 -1
  181. package/dist/static-functions.d.ts +11 -8
  182. package/dist/static-functions.js +11 -8
  183. package/dist/store-reactivity-bindings.d.ts +2 -4
  184. package/dist/store-reactivity-bindings.js +4 -5
  185. package/dist/types/Cell.d.ts +9 -5
  186. package/dist/types/Column.d.ts +13 -15
  187. package/dist/types/ColumnDef.d.ts +39 -21
  188. package/dist/types/Header.d.ts +3 -5
  189. package/dist/types/HeaderGroup.d.ts +3 -5
  190. package/dist/types/Row.d.ts +7 -7
  191. package/dist/types/RowModel.d.ts +11 -25
  192. package/dist/types/RowModelFns.d.ts +5 -7
  193. package/dist/types/Table.d.ts +29 -32
  194. package/dist/types/TableFeatures.d.ts +388 -24
  195. package/dist/types/TableOptions.d.ts +24 -14
  196. package/dist/types/TableState.d.ts +8 -8
  197. package/dist/types/type-utils.d.ts +10 -4
  198. package/dist/utils.d.ts +32 -26
  199. package/dist/utils.js +52 -32
  200. package/dist/worker/createTableWorker.d.ts +100 -0
  201. package/dist/worker/createTableWorker.js +185 -0
  202. package/dist/worker/createWorkerRowModel.d.ts +40 -0
  203. package/dist/worker/createWorkerRowModel.js +77 -0
  204. package/dist/worker/initTableWorker.d.ts +31 -0
  205. package/dist/worker/initTableWorker.js +99 -0
  206. package/dist/worker/rebuildRowModel.d.ts +11 -0
  207. package/dist/worker/rebuildRowModel.js +71 -0
  208. package/dist/worker/serializeRowModel.js +51 -0
  209. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  210. package/dist/worker/tableWorkerProtocol.js +26 -0
  211. package/package.json +12 -28
  212. package/skills/aggregation/SKILL.md +141 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +204 -0
  215. package/skills/cell-spanning/SKILL.md +162 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +97 -0
  218. package/skills/column-filtering/SKILL.md +87 -0
  219. package/skills/column-ordering/SKILL.md +75 -0
  220. package/skills/column-pinning/SKILL.md +89 -0
  221. package/skills/column-resizing/SKILL.md +91 -0
  222. package/skills/column-sizing/SKILL.md +72 -0
  223. package/skills/column-visibility/SKILL.md +75 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +80 -0
  227. package/skills/global-filtering/SKILL.md +84 -0
  228. package/skills/grouping/SKILL.md +51 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +37 -344
  231. package/skills/row-pinning/SKILL.md +47 -234
  232. package/skills/row-selection/SKILL.md +75 -302
  233. package/skills/sorting/SKILL.md +45 -303
  234. package/skills/table-features/SKILL.md +159 -0
  235. package/skills/typescript/SKILL.md +126 -0
  236. package/dist/core/cells/constructCell.cjs +0 -34
  237. package/dist/core/cells/constructCell.cjs.map +0 -1
  238. package/dist/core/cells/constructCell.d.cts +0 -17
  239. package/dist/core/cells/constructCell.js.map +0 -1
  240. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  241. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  242. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  243. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  244. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  245. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  246. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  247. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  248. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  249. package/dist/core/columns/constructColumn.cjs +0 -61
  250. package/dist/core/columns/constructColumn.cjs.map +0 -1
  251. package/dist/core/columns/constructColumn.d.cts +0 -16
  252. package/dist/core/columns/constructColumn.js.map +0 -1
  253. package/dist/core/columns/coreColumnsFeature.cjs +0 -70
  254. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  255. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  256. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  257. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  258. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
  259. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  260. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  261. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  262. package/dist/core/coreFeatures.cjs +0 -25
  263. package/dist/core/coreFeatures.cjs.map +0 -1
  264. package/dist/core/coreFeatures.d.cts +0 -26
  265. package/dist/core/coreFeatures.js.map +0 -1
  266. package/dist/core/headers/buildHeaderGroups.cjs +0 -103
  267. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  268. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  269. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  270. package/dist/core/headers/constructHeader.cjs +0 -41
  271. package/dist/core/headers/constructHeader.cjs.map +0 -1
  272. package/dist/core/headers/constructHeader.d.cts +0 -22
  273. package/dist/core/headers/constructHeader.js.map +0 -1
  274. package/dist/core/headers/coreHeadersFeature.cjs +0 -55
  275. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  276. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  277. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  278. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  279. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
  280. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  281. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  282. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  283. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  284. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  285. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  286. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  287. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  288. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  289. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  290. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  291. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  292. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
  293. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
  294. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  295. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  296. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  297. package/dist/core/row-models/createCoreRowModel.cjs +0 -52
  298. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  299. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  300. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  301. package/dist/core/rows/constructRow.cjs +0 -44
  302. package/dist/core/rows/constructRow.cjs.map +0 -1
  303. package/dist/core/rows/constructRow.d.cts +0 -15
  304. package/dist/core/rows/constructRow.js.map +0 -1
  305. package/dist/core/rows/coreRowsFeature.cjs +0 -37
  306. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  307. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  308. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  309. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
  310. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
  311. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  312. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
  313. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  314. package/dist/core/table/constructTable.cjs +0 -118
  315. package/dist/core/table/constructTable.cjs.map +0 -1
  316. package/dist/core/table/constructTable.d.cts +0 -22
  317. package/dist/core/table/constructTable.js.map +0 -1
  318. package/dist/core/table/coreTablesFeature.cjs +0 -17
  319. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  320. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  321. package/dist/core/table/coreTablesFeature.js.map +0 -1
  322. package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
  323. package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
  324. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  325. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
  326. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  327. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
  328. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  329. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  330. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  331. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
  332. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
  333. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  334. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  335. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  336. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
  337. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  338. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  339. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  340. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
  341. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  342. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  343. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  344. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
  345. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  346. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  347. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  348. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  349. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  350. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  351. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  352. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
  353. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
  354. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
  356. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  357. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
  358. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  359. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
  360. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  361. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
  362. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  363. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  364. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
  365. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  366. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  367. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  368. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
  369. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
  370. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  371. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
  372. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  373. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
  374. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  375. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
  376. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  377. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
  378. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  379. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  380. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  381. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
  382. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
  383. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  384. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
  385. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  386. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
  387. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  388. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
  389. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  390. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
  391. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
  392. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  393. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
  394. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  395. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  396. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  397. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  398. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  399. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
  400. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
  401. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  402. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  403. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  404. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
  405. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  406. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  407. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  408. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
  409. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
  410. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  411. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
  412. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  413. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
  414. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  415. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  416. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  417. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  418. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
  419. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  420. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  421. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  422. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
  423. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  424. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  425. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  426. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  427. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  428. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  429. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
  430. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
  432. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  433. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  434. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  436. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  438. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  439. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  442. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  443. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
  445. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  446. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  447. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  449. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  451. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  452. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  455. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  456. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
  458. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  460. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  461. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  462. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
  463. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  464. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  465. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
  467. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  469. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  470. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
  478. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  480. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  482. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  483. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
  485. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  486. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  487. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  488. package/dist/features/stockFeatures.cjs +0 -41
  489. package/dist/features/stockFeatures.cjs.map +0 -1
  490. package/dist/features/stockFeatures.d.cts +0 -41
  491. package/dist/features/stockFeatures.js.map +0 -1
  492. package/dist/flex-render.cjs +0 -29
  493. package/dist/flex-render.cjs.map +0 -1
  494. package/dist/flex-render.d.cts +0 -34
  495. package/dist/flex-render.js.map +0 -1
  496. package/dist/fns/aggregationFns.cjs +0 -161
  497. package/dist/fns/aggregationFns.cjs.map +0 -1
  498. package/dist/fns/aggregationFns.d.cts +0 -85
  499. package/dist/fns/aggregationFns.d.ts +0 -85
  500. package/dist/fns/aggregationFns.js +0 -151
  501. package/dist/fns/aggregationFns.js.map +0 -1
  502. package/dist/fns/filterFns.cjs +0 -201
  503. package/dist/fns/filterFns.cjs.map +0 -1
  504. package/dist/fns/filterFns.d.cts +0 -167
  505. package/dist/fns/filterFns.d.ts +0 -167
  506. package/dist/fns/filterFns.js +0 -185
  507. package/dist/fns/filterFns.js.map +0 -1
  508. package/dist/fns/sortFns.cjs +0 -130
  509. package/dist/fns/sortFns.cjs.map +0 -1
  510. package/dist/fns/sortFns.d.cts +0 -65
  511. package/dist/fns/sortFns.d.ts +0 -65
  512. package/dist/fns/sortFns.js +0 -122
  513. package/dist/fns/sortFns.js.map +0 -1
  514. package/dist/helpers/columnHelper.cjs +0 -41
  515. package/dist/helpers/columnHelper.cjs.map +0 -1
  516. package/dist/helpers/columnHelper.d.cts +0 -71
  517. package/dist/helpers/columnHelper.js.map +0 -1
  518. package/dist/helpers/tableFeatures.cjs +0 -20
  519. package/dist/helpers/tableFeatures.cjs.map +0 -1
  520. package/dist/helpers/tableFeatures.d.cts +0 -18
  521. package/dist/helpers/tableFeatures.js.map +0 -1
  522. package/dist/helpers/tableOptions.cjs +0 -15
  523. package/dist/helpers/tableOptions.cjs.map +0 -1
  524. package/dist/helpers/tableOptions.d.cts +0 -57
  525. package/dist/helpers/tableOptions.js.map +0 -1
  526. package/dist/index.cjs +0 -133
  527. package/dist/index.d.cts +0 -78
  528. package/dist/reactivity.cjs +0 -4
  529. package/dist/reactivity.d.cts +0 -3
  530. package/dist/static-functions.cjs +0 -263
  531. package/dist/static-functions.d.cts +0 -21
  532. package/dist/store-reactivity-bindings.cjs +0 -44
  533. package/dist/store-reactivity-bindings.cjs.map +0 -1
  534. package/dist/store-reactivity-bindings.d.cts +0 -22
  535. package/dist/store-reactivity-bindings.js.map +0 -1
  536. package/dist/types/Cell.d.cts +0 -14
  537. package/dist/types/Column.d.cts +0 -36
  538. package/dist/types/ColumnDef.d.cts +0 -109
  539. package/dist/types/Header.d.cts +0 -16
  540. package/dist/types/HeaderGroup.d.cts +0 -10
  541. package/dist/types/Row.d.cts +0 -26
  542. package/dist/types/RowModel.d.cts +0 -36
  543. package/dist/types/RowModelFns.d.cts +0 -18
  544. package/dist/types/Table.d.cts +0 -70
  545. package/dist/types/TableFeatures.d.cts +0 -53
  546. package/dist/types/TableOptions.d.cts +0 -69
  547. package/dist/types/TableState.d.cts +0 -48
  548. package/dist/types/type-utils.d.cts +0 -23
  549. package/dist/utils.cjs +0 -243
  550. package/dist/utils.cjs.map +0 -1
  551. package/dist/utils.d.cts +0 -114
  552. package/dist/utils.js.map +0 -1
  553. package/skills/column-definitions/SKILL.md +0 -333
  554. package/skills/column-layout/SKILL.md +0 -328
  555. package/skills/column-layout/references/subsystems.md +0 -220
  556. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  557. package/skills/filtering/SKILL.md +0 -357
  558. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  559. package/skills/row-expanding/SKILL.md +0 -348
  560. package/skills/setup/SKILL.md +0 -400
  561. package/skills/state-management/SKILL.md +0 -388
  562. package/src/core/cells/constructCell.ts +0 -55
  563. package/src/core/cells/coreCellsFeature.ts +0 -27
  564. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  565. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  566. package/src/core/columns/constructColumn.ts +0 -119
  567. package/src/core/columns/coreColumnsFeature.ts +0 -73
  568. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  569. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  570. package/src/core/coreFeatures.ts +0 -31
  571. package/src/core/headers/buildHeaderGroups.ts +0 -182
  572. package/src/core/headers/constructHeader.ts +0 -67
  573. package/src/core/headers/coreHeadersFeature.ts +0 -56
  574. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  575. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  576. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  577. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  578. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  579. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  580. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  581. package/src/core/row-models/createCoreRowModel.ts +0 -93
  582. package/src/core/rows/constructRow.ts +0 -66
  583. package/src/core/rows/coreRowsFeature.ts +0 -62
  584. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  585. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  586. package/src/core/table/constructTable.ts +0 -172
  587. package/src/core/table/coreTablesFeature.ts +0 -19
  588. package/src/core/table/coreTablesFeature.types.ts +0 -216
  589. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  590. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  591. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  592. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  593. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  594. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  595. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  596. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  597. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  598. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  599. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  600. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  601. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  602. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  603. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  604. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  605. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  606. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  607. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  608. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  609. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  610. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  611. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  612. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  613. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  614. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  615. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  616. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  617. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  618. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  619. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  620. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  621. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  622. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  623. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  624. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  625. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  626. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  627. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  628. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  629. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  630. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  631. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  632. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  633. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  634. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  635. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  636. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
  637. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  638. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  639. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  640. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  641. package/src/features/stockFeatures.ts +0 -53
  642. package/src/flex-render.ts +0 -70
  643. package/src/fns/aggregationFns.ts +0 -245
  644. package/src/fns/filterFns.ts +0 -382
  645. package/src/fns/sortFns.ts +0 -240
  646. package/src/helpers/columnHelper.ts +0 -122
  647. package/src/helpers/tableFeatures.ts +0 -24
  648. package/src/helpers/tableOptions.ts +0 -117
  649. package/src/index.ts +0 -138
  650. package/src/process-env.d.ts +0 -6
  651. package/src/reactivity.ts +0 -2
  652. package/src/static-functions.ts +0 -31
  653. package/src/store-reactivity-bindings.ts +0 -47
  654. package/src/types/Cell.ts +0 -21
  655. package/src/types/Column.ts +0 -51
  656. package/src/types/ColumnDef.ts +0 -228
  657. package/src/types/Header.ts +0 -23
  658. package/src/types/HeaderGroup.ts +0 -13
  659. package/src/types/Row.ts +0 -34
  660. package/src/types/RowModel.ts +0 -98
  661. package/src/types/RowModelFns.ts +0 -32
  662. package/src/types/Table.ts +0 -91
  663. package/src/types/TableFeatures.ts +0 -101
  664. package/src/types/TableOptions.ts +0 -101
  665. package/src/types/TableState.ts +0 -47
  666. package/src/types/type-utils.ts +0 -84
  667. package/src/utils.ts +0 -441
@@ -1,331 +0,0 @@
1
- import { cloneState, functionalUpdate, isFunction } from '../../utils'
2
- import type { CellData, RowData, Updater } from '../../types/type-utils'
3
- import type { TableFeatures } from '../../types/TableFeatures'
4
- import type { Table_Internal } from '../../types/Table'
5
- import type { Column_Internal } from '../../types/Column'
6
- import type {
7
- ColumnFiltersState,
8
- FilterFn,
9
- } from './columnFilteringFeature.types'
10
-
11
- /**
12
- * Creates the default column filter state.
13
- *
14
- * The feature default is an empty array, meaning no column filters are active.
15
- * Reset APIs use this value when `defaultState` is `true`.
16
- *
17
- * @example
18
- * ```ts
19
- * const filters = getDefaultColumnFiltersState()
20
- * ```
21
- */
22
- export function getDefaultColumnFiltersState(): ColumnFiltersState {
23
- return []
24
- }
25
-
26
- /**
27
- * Chooses a built-in filter function from the column's first core row value.
28
- *
29
- * Strings use `includesString`, numbers use `inNumberRange`, booleans and
30
- * objects use `equals`, arrays use `arrIncludes`, and unknown values fall back
31
- * to `weakEquals`.
32
- *
33
- * @example
34
- * ```ts
35
- * const filterFn = column_getAutoFilterFn(column)
36
- * ```
37
- */
38
- export function column_getAutoFilterFn<
39
- TFeatures extends TableFeatures,
40
- TData extends RowData,
41
- TValue extends CellData = CellData,
42
- >(column: Column_Internal<TFeatures, TData, TValue>) {
43
- const filterFns: Record<string, FilterFn<TFeatures, RowData>> | undefined =
44
- column.table._rowModelFns.filterFns
45
-
46
- const firstRow = column.table.getCoreRowModel().flatRows[0]
47
-
48
- const value = firstRow ? firstRow.getValue(column.id) : undefined
49
-
50
- if (typeof value === 'string') {
51
- return filterFns?.includesString
52
- }
53
-
54
- if (typeof value === 'number') {
55
- return filterFns?.inNumberRange
56
- }
57
-
58
- if (typeof value === 'boolean') {
59
- return filterFns?.equals
60
- }
61
-
62
- if (value !== null && typeof value === 'object') {
63
- return filterFns?.equals
64
- }
65
-
66
- if (Array.isArray(value)) {
67
- return filterFns?.arrIncludes
68
- }
69
-
70
- return filterFns?.weakEquals
71
- }
72
-
73
- /**
74
- * Resolves the filter function configured for a column.
75
- *
76
- * Function-valued `columnDef.filterFn` is returned directly, `'auto'` delegates
77
- * to `column_getAutoFilterFn`, and string values are looked up in the table's
78
- * filter function registry.
79
- *
80
- * @example
81
- * ```ts
82
- * const filterFn = column_getFilterFn(column)
83
- * ```
84
- */
85
- export function column_getFilterFn<
86
- TFeatures extends TableFeatures,
87
- TData extends RowData,
88
- TValue extends CellData = CellData,
89
- >(
90
- column: Column_Internal<TFeatures, TData, TValue>,
91
- ): FilterFn<TFeatures, TData> | undefined {
92
- let filterFn = null
93
- const filterFns: Record<string, FilterFn<TFeatures, RowData>> | undefined =
94
- column.table._rowModelFns.filterFns
95
- filterFn = isFunction(column.columnDef.filterFn)
96
- ? column.columnDef.filterFn
97
- : column.columnDef.filterFn === 'auto'
98
- ? column_getAutoFilterFn(column)
99
- : filterFns?.[column.columnDef.filterFn as string]
100
-
101
- if (process.env.NODE_ENV === 'development' && !filterFn) {
102
- console.warn(
103
- `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,
104
- )
105
- }
106
-
107
- return filterFn as FilterFn<TFeatures, TData> | undefined
108
- }
109
-
110
- /**
111
- * Checks whether column filtering is enabled for this accessor column.
112
- *
113
- * The column must have an accessor and filtering must be enabled by the column
114
- * definition, `enableColumnFilters`, and the table-wide `enableFilters` option.
115
- *
116
- * @example
117
- * ```ts
118
- * const canFilter = column_getCanFilter(column)
119
- * ```
120
- */
121
- export function column_getCanFilter<
122
- TFeatures extends TableFeatures,
123
- TData extends RowData,
124
- TValue extends CellData = CellData,
125
- >(column: Column_Internal<TFeatures, TData, TValue>) {
126
- return (
127
- (column.columnDef.enableColumnFilter ?? true) &&
128
- (column.table.options.enableColumnFilters ?? true) &&
129
- (column.table.options.enableFilters ?? true) &&
130
- !!column.accessorFn
131
- )
132
- }
133
-
134
- /**
135
- * Checks whether this column currently has an entry in `state.columnFilters`.
136
- *
137
- * This only reflects filter state presence; it does not indicate whether the
138
- * filter removes any rows.
139
- *
140
- * @example
141
- * ```ts
142
- * const isFiltered = column_getIsFiltered(column)
143
- * ```
144
- */
145
- export function column_getIsFiltered<
146
- TFeatures extends TableFeatures,
147
- TData extends RowData,
148
- TValue extends CellData = CellData,
149
- >(column: Column_Internal<TFeatures, TData, TValue>) {
150
- return column_getFilterIndex(column) > -1
151
- }
152
-
153
- /**
154
- * Reads this column's current filter value from `state.columnFilters`.
155
- *
156
- * Missing filter entries return `undefined`.
157
- *
158
- * @example
159
- * ```ts
160
- * const value = column_getFilterValue(column)
161
- * ```
162
- */
163
- export function column_getFilterValue<
164
- TFeatures extends TableFeatures,
165
- TData extends RowData,
166
- TValue extends CellData = CellData,
167
- >(column: Column_Internal<TFeatures, TData, TValue>) {
168
- return column.table.atoms.columnFilters
169
- ?.get()
170
- ?.find((d) => d.id === column.id)?.value
171
- }
172
-
173
- /**
174
- * Finds this column's position in the ordered `state.columnFilters` array.
175
- *
176
- * The result is `-1` when the column has no active filter.
177
- *
178
- * @example
179
- * ```ts
180
- * const index = column_getFilterIndex(column)
181
- * ```
182
- */
183
- export function column_getFilterIndex<
184
- TFeatures extends TableFeatures,
185
- TData extends RowData,
186
- TValue extends CellData = CellData,
187
- >(column: Column_Internal<TFeatures, TData, TValue>): number {
188
- return (
189
- column.table.atoms.columnFilters
190
- ?.get()
191
- ?.findIndex((d) => d.id === column.id) ?? -1
192
- )
193
- }
194
-
195
- /**
196
- * Adds, updates, or removes this column's filter value.
197
- *
198
- * The incoming value may be an updater. After resolution, `autoRemove` rules
199
- * decide whether the filter should be removed instead of stored.
200
- *
201
- * @example
202
- * ```ts
203
- * column_setFilterValue(column, (old) => String(old ?? '').trim())
204
- * ```
205
- */
206
- export function column_setFilterValue<
207
- TFeatures extends TableFeatures,
208
- TData extends RowData,
209
- TValue extends CellData = CellData,
210
- >(column: Column_Internal<TFeatures, TData, TValue>, value: any) {
211
- table_setColumnFilters(column.table, (old) => {
212
- const filterFn = column_getFilterFn(column)
213
- const previousFilter = old.find((d) => d.id === column.id)
214
-
215
- const newFilter = functionalUpdate(
216
- value,
217
- previousFilter ? previousFilter.value : undefined,
218
- )
219
-
220
- if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {
221
- return old.filter((d) => d.id !== column.id)
222
- }
223
-
224
- const newFilterObj = { id: column.id, value: newFilter }
225
-
226
- if (previousFilter) {
227
- return old.map((d) => {
228
- if (d.id === column.id) {
229
- return newFilterObj
230
- }
231
- return d
232
- })
233
- }
234
-
235
- if (old.length) {
236
- return [...old, newFilterObj]
237
- }
238
-
239
- return [newFilterObj]
240
- })
241
- }
242
-
243
- /**
244
- * Routes a column filter updater through the table's filter change handler.
245
- *
246
- * The resolved filters are cleaned before they are emitted: filters for known
247
- * columns are removed when their filter function says the value should be
248
- * auto-removed.
249
- *
250
- * @example
251
- * ```ts
252
- * table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))
253
- * ```
254
- */
255
- export function table_setColumnFilters<
256
- TFeatures extends TableFeatures,
257
- TData extends RowData,
258
- >(
259
- table: Table_Internal<TFeatures, TData>,
260
- updater: Updater<ColumnFiltersState>,
261
- ) {
262
- const leafColumnsById = table.getAllLeafColumnsById()
263
-
264
- const updateFn = (old: ColumnFiltersState) => {
265
- return functionalUpdate(updater, old).filter((filter) => {
266
- const column = leafColumnsById[filter.id]
267
-
268
- if (column) {
269
- const filterFn = column_getFilterFn(column)
270
-
271
- if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
272
- return false
273
- }
274
- }
275
-
276
- return true
277
- })
278
- }
279
-
280
- table.options.onColumnFiltersChange?.(updateFn)
281
- }
282
-
283
- /**
284
- * Resets `columnFilters` to the configured initial state or feature default.
285
- *
286
- * With no argument, the reset clones `table.initialState.columnFilters` when it
287
- * exists. Passing `true` ignores initial state and resets to `[]`.
288
- *
289
- * @example
290
- * ```ts
291
- * table_resetColumnFilters(table)
292
- * table_resetColumnFilters(table, true)
293
- * ```
294
- */
295
- export function table_resetColumnFilters<
296
- TFeatures extends TableFeatures,
297
- TData extends RowData,
298
- >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
299
- table_setColumnFilters(
300
- table,
301
- defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),
302
- )
303
- }
304
-
305
- /**
306
- * Returns whether a filter value should be removed from filter state.
307
- *
308
- * This checks the filter function's `autoRemove` hook and built-in empty-value rules.
309
- *
310
- * @example
311
- * ```ts
312
- * const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)
313
- * ```
314
- */
315
- export function shouldAutoRemoveFilter<
316
- TFeatures extends TableFeatures,
317
- TData extends RowData,
318
- TValue extends CellData = CellData,
319
- >(
320
- filterFn?: FilterFn<TFeatures, TData>,
321
- value?: any,
322
- column?: Column_Internal<TFeatures, TData, TValue>,
323
- ) {
324
- return (
325
- (filterFn && filterFn.autoRemove
326
- ? filterFn.autoRemove(value, column as Column_Internal<TFeatures, TData>)
327
- : false) ||
328
- typeof value === 'undefined' ||
329
- (typeof value === 'string' && !value)
330
- )
331
- }
@@ -1,183 +0,0 @@
1
- import { tableMemo } from '../../utils'
2
- import { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'
3
- import {
4
- column_getCanGlobalFilter,
5
- table_getGlobalFilterFn,
6
- } from '../global-filtering/globalFilteringFeature.utils'
7
- import { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'
8
- import { filterRows } from './filterRowsUtils'
9
- import { column_getFilterFn } from './columnFilteringFeature.utils'
10
- import type { RowData } from '../../types/type-utils'
11
- import type { TableFeatures } from '../../types/TableFeatures'
12
- import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
13
- import type { Table, Table_Internal } from '../../types/Table'
14
- import type { Row } from '../../types/Row'
15
- import type {
16
- FilterFn,
17
- FilterFns,
18
- ResolvedColumnFilter,
19
- Row_ColumnFiltering,
20
- } from './columnFilteringFeature.types'
21
-
22
- /**
23
- * Creates a memoized filtered row model factory.
24
- *
25
- * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
26
- */
27
- export function createFilteredRowModel<
28
- TFeatures extends TableFeatures,
29
- TData extends RowData = any,
30
- >(
31
- filterFns: Record<keyof FilterFns, FilterFn<TFeatures, RowData>>,
32
- ): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
33
- return (_table) => {
34
- const table = _table as unknown as Table_Internal<TFeatures, TData>
35
- if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns
36
- return tableMemo({
37
- feature: 'columnFilteringFeature',
38
- table,
39
- fnName: 'table.getFilteredRowModel',
40
- memoDeps: () => [
41
- table.getPreFilteredRowModel(),
42
- table.atoms.columnFilters?.get(),
43
- table.atoms.globalFilter?.get(),
44
- ],
45
- fn: () => _createFilteredRowModel(table),
46
- onAfterUpdate: () => table_autoResetPageIndex(table),
47
- })
48
- }
49
- }
50
-
51
- function _createFilteredRowModel<
52
- TFeatures extends TableFeatures,
53
- TData extends RowData = any,
54
- >(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
55
- const rowModel = table.getPreFilteredRowModel()
56
- const columnFilters = table.atoms.columnFilters?.get()
57
- const globalFilter = table.atoms.globalFilter?.get()
58
-
59
- if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {
60
- const flatRows = rowModel.flatRows as Array<
61
- Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
62
- >
63
- for (let i = 0; i < flatRows.length; i++) {
64
- const row = flatRows[i]!
65
- row.columnFilters = {}
66
- row.columnFiltersMeta = {}
67
- }
68
- return rowModel
69
- }
70
-
71
- const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =
72
- []
73
- const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =
74
- []
75
-
76
- columnFilters?.forEach((columnFilter) => {
77
- const column = table_getColumn(table, columnFilter.id)
78
-
79
- if (!column) {
80
- return
81
- }
82
-
83
- const filterFn = column_getFilterFn(column)!
84
-
85
- resolvedColumnFilters.push({
86
- id: columnFilter.id,
87
- filterFn,
88
- resolvedValue:
89
- filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,
90
- })
91
- })
92
-
93
- const filterableIds = columnFilters?.map((d) => d.id) ?? []
94
-
95
- const globalFilterFn = table_getGlobalFilterFn(table)
96
-
97
- const globallyFilterableColumns = table
98
- .getAllLeafColumns()
99
- .filter((column) => column_getCanGlobalFilter(column))
100
-
101
- if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
102
- filterableIds.push('__global__')
103
-
104
- globallyFilterableColumns.forEach((column) => {
105
- resolvedGlobalFilters.push({
106
- id: column.id,
107
- filterFn: globalFilterFn,
108
- resolvedValue:
109
- globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,
110
- })
111
- })
112
- }
113
-
114
- // Flag the pre-filtered row model with each filter state
115
- const flatRows = rowModel.flatRows as Array<
116
- Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
117
- >
118
- for (let i = 0; i < flatRows.length; i++) {
119
- const row = flatRows[i]!
120
- row.columnFilters = {}
121
-
122
- if (resolvedColumnFilters.length) {
123
- for (let j = 0; j < resolvedColumnFilters.length; j++) {
124
- const currentColumnFilter = resolvedColumnFilters[j]!
125
- const id = currentColumnFilter.id
126
-
127
- // Tag the row with the column filter state
128
- row.columnFilters[id] = currentColumnFilter.filterFn(
129
- row,
130
- id,
131
- currentColumnFilter.resolvedValue,
132
- (filterMeta) => {
133
- !row.columnFiltersMeta
134
- ? (row.columnFiltersMeta = {})
135
- : (row.columnFiltersMeta[id] = filterMeta)
136
- },
137
- )
138
- }
139
- }
140
-
141
- if (resolvedGlobalFilters.length) {
142
- for (let j = 0; j < resolvedGlobalFilters.length; j++) {
143
- const currentGlobalFilter = resolvedGlobalFilters[j]!
144
- const id = currentGlobalFilter.id
145
- // Tag the row with the first truthy global filter state
146
- if (
147
- currentGlobalFilter.filterFn(
148
- row,
149
- id,
150
- currentGlobalFilter.resolvedValue,
151
- (filterMeta) => {
152
- !row.columnFiltersMeta
153
- ? (row.columnFiltersMeta = {})
154
- : (row.columnFiltersMeta[id] = filterMeta)
155
- },
156
- )
157
- ) {
158
- row.columnFilters.__global__ = true
159
- break
160
- }
161
- }
162
-
163
- if (row.columnFilters.__global__ !== true) {
164
- row.columnFilters.__global__ = false
165
- }
166
- }
167
- }
168
-
169
- const filterRowsImpl = (
170
- row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,
171
- ) => {
172
- // Horizontally filter rows through each column
173
- for (let i = 0; i < filterableIds.length; i++) {
174
- if (row.columnFilters[filterableIds[i]!] === false) {
175
- return false
176
- }
177
- }
178
- return true
179
- }
180
-
181
- // Filter final rows using all of the active filters
182
- return filterRows(rowModel.rows, filterRowsImpl as any, table)
183
- }
@@ -1,157 +0,0 @@
1
- import { constructRow } from '../../core/rows/constructRow'
2
- import type { Row_ColumnFiltering } from './columnFilteringFeature.types'
3
- import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
4
- import type { Row } from '../../types/Row'
5
- import type { Table_Internal } from '../../types/Table'
6
- import type { TableFeatures } from '../../types/TableFeatures'
7
- import type { RowData } from '../../types/type-utils'
8
-
9
- /**
10
- * Filters a row model with the supplied row predicate.
11
- *
12
- * The helper supports both filtering from leaf rows upward and filtering parents before descendants, depending on table options.
13
- */
14
- export function filterRows<
15
- TFeatures extends TableFeatures,
16
- TData extends RowData,
17
- >(
18
- rows: Array<Row<TFeatures, TData>>,
19
- filterRowImpl: (row: Row<TFeatures, TData>) => any,
20
- table: Table_Internal<TFeatures, TData>,
21
- ) {
22
- if (table.options.filterFromLeafRows) {
23
- return filterRowModelFromLeafs(rows, filterRowImpl, table)
24
- }
25
-
26
- return filterRowModelFromRoot(rows, filterRowImpl, table)
27
- }
28
-
29
- function filterRowModelFromLeafs<
30
- TFeatures extends TableFeatures,
31
- TData extends RowData,
32
- >(
33
- rowsToFilter: Array<Row<TFeatures, TData>>,
34
- filterRow: (
35
- row: Row<TFeatures, TData>,
36
- ) => Array<Row<TFeatures, TData>> | undefined,
37
- table: Table_Internal<TFeatures, TData>,
38
- ): RowModel<TFeatures, TData> {
39
- const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []
40
- const newFilteredRowsById: Record<string, Row<TFeatures, TData>> = {}
41
- const maxDepth = table.options.maxLeafRowFilterDepth ?? 100
42
-
43
- const recurseFilterRows = (
44
- rowsToFilter: Array<
45
- Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
46
- >,
47
- depth = 0,
48
- ) => {
49
- const filteredRows: Array<Row<TFeatures, TData>> &
50
- Partial<Row_ColumnFiltering<TFeatures, TData>> = []
51
-
52
- // Filter from children up first
53
- for (let row of rowsToFilter) {
54
- const newRow = constructRow(
55
- table,
56
- row.id,
57
- row.original,
58
- row.index,
59
- row.depth,
60
- undefined,
61
- row.parentId,
62
- ) as Row<TFeatures, TData> &
63
- Partial<Row_ColumnFiltering<TFeatures, TData>>
64
- newRow.columnFilters = row.columnFilters
65
-
66
- if (row.subRows.length && depth < maxDepth) {
67
- newRow.subRows = recurseFilterRows(row.subRows, depth + 1)
68
- row = newRow
69
-
70
- if (filterRow(row) && !newRow.subRows.length) {
71
- filteredRows.push(row)
72
- newFilteredRowsById[row.id] = row
73
- newFilteredFlatRows.push(row)
74
- continue
75
- }
76
-
77
- if (filterRow(row) || newRow.subRows.length) {
78
- filteredRows.push(row)
79
- newFilteredRowsById[row.id] = row
80
- newFilteredFlatRows.push(row)
81
- continue
82
- }
83
- } else {
84
- row = newRow
85
- if (filterRow(row)) {
86
- filteredRows.push(row)
87
- newFilteredRowsById[row.id] = row
88
- newFilteredFlatRows.push(row)
89
- }
90
- }
91
- }
92
-
93
- return filteredRows
94
- }
95
-
96
- return {
97
- rows: recurseFilterRows(rowsToFilter),
98
- flatRows: newFilteredFlatRows,
99
- rowsById: newFilteredRowsById,
100
- }
101
- }
102
-
103
- function filterRowModelFromRoot<
104
- TFeatures extends TableFeatures,
105
- TData extends RowData,
106
- >(
107
- rowsToFilter: Array<Row<TFeatures, TData>>,
108
- filterRow: (row: Row<TFeatures, TData>) => any,
109
- table: Table_Internal<TFeatures, TData>,
110
- ): RowModel<TFeatures, TData> {
111
- const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []
112
- const newFilteredRowsById: Record<string, Row<TFeatures, TData>> = {}
113
- const maxDepth = table.options.maxLeafRowFilterDepth ?? 100
114
-
115
- // Filters top level and nested rows
116
- const recurseFilterRows = (
117
- rowsToFilter: Array<Row<TFeatures, TData>>,
118
- depth = 0,
119
- ) => {
120
- // Filter from parents downward first
121
-
122
- const filteredRows: Array<Row<TFeatures, TData>> = []
123
-
124
- // Apply the filter to any subRows
125
- for (let row of rowsToFilter) {
126
- const pass = filterRow(row)
127
-
128
- if (pass) {
129
- if (row.subRows.length && depth < maxDepth) {
130
- const newRow = constructRow(
131
- table,
132
- row.id,
133
- row.original,
134
- row.index,
135
- row.depth,
136
- undefined,
137
- row.parentId,
138
- )
139
- newRow.subRows = recurseFilterRows(row.subRows, depth + 1)
140
- row = newRow
141
- }
142
-
143
- filteredRows.push(row)
144
- newFilteredFlatRows.push(row)
145
- newFilteredRowsById[row.id] = row
146
- }
147
- }
148
-
149
- return filteredRows
150
- }
151
-
152
- return {
153
- rows: recurseFilterRows(rowsToFilter),
154
- flatRows: newFilteredFlatRows,
155
- rowsById: newFilteredRowsById,
156
- }
157
- }