@tanstack/table-core 9.0.0-beta.9 → 9.0.1

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 (672) hide show
  1. package/README.md +27 -9
  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 +2 -4
  12. package/dist/core/columns/coreColumnsFeature.js +14 -21
  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 +2 -2
  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 +22 -12
  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 +29 -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 +43 -11
  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 +54 -22
  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 +41 -24
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +71 -25
  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 +879 -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 +7 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +14 -43
  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 +29 -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 +90 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +25 -18
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +42 -23
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +34 -30
  84. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  85. package/dist/features/column-filtering/filterFns.js +377 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +12 -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 +79 -43
  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 +22 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +39 -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 +67 -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 +7 -18
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +26 -22
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +66 -45
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +10 -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 +6 -17
  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 +12 -18
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +70 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +69 -16
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +70 -38
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +229 -108
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +72 -54
  158. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
  159. package/dist/features/row-sorting/rowSortingFeature.js +2 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +74 -31
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +39 -27
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +66 -33
  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 +1 -2
  172. package/dist/helpers/metaHelper.js +1 -2
  173. package/dist/helpers/tableFeatures.d.ts +30 -13
  174. package/dist/helpers/tableFeatures.js +28 -10
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +32 -26
  178. package/dist/index.js +9 -5
  179. package/dist/reactivity.d.ts +2 -1
  180. package/dist/reactivity.js +2 -1
  181. package/dist/static-functions.d.ts +12 -9
  182. package/dist/static-functions.js +13 -10
  183. package/dist/store-reactivity-bindings.d.ts +1 -3
  184. package/dist/store-reactivity-bindings.js +3 -4
  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 +23 -19
  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 +372 -30
  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 +42 -27
  199. package/dist/utils.js +71 -33
  200. package/dist/worker/createTableWorker.d.ts +102 -0
  201. package/dist/worker/createTableWorker.js +188 -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 +137 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +200 -0
  215. package/skills/cell-spanning/SKILL.md +158 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +93 -0
  218. package/skills/column-filtering/SKILL.md +83 -0
  219. package/skills/column-ordering/SKILL.md +71 -0
  220. package/skills/column-pinning/SKILL.md +85 -0
  221. package/skills/column-resizing/SKILL.md +87 -0
  222. package/skills/column-sizing/SKILL.md +68 -0
  223. package/skills/column-visibility/SKILL.md +71 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +76 -0
  227. package/skills/global-filtering/SKILL.md +80 -0
  228. package/skills/grouping/SKILL.md +47 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +33 -344
  231. package/skills/row-pinning/SKILL.md +43 -234
  232. package/skills/row-selection/SKILL.md +79 -296
  233. package/skills/sorting/SKILL.md +41 -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 -119
  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 -200
  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 -518
  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/metaHelper.cjs +0 -30
  519. package/dist/helpers/metaHelper.cjs.map +0 -1
  520. package/dist/helpers/metaHelper.d.cts +0 -26
  521. package/dist/helpers/metaHelper.js.map +0 -1
  522. package/dist/helpers/tableFeatures.cjs +0 -30
  523. package/dist/helpers/tableFeatures.cjs.map +0 -1
  524. package/dist/helpers/tableFeatures.d.cts +0 -28
  525. package/dist/helpers/tableFeatures.js.map +0 -1
  526. package/dist/helpers/tableOptions.cjs +0 -15
  527. package/dist/helpers/tableOptions.cjs.map +0 -1
  528. package/dist/helpers/tableOptions.d.cts +0 -57
  529. package/dist/helpers/tableOptions.js.map +0 -1
  530. package/dist/index.cjs +0 -135
  531. package/dist/index.d.cts +0 -79
  532. package/dist/reactivity.cjs +0 -4
  533. package/dist/reactivity.d.cts +0 -3
  534. package/dist/static-functions.cjs +0 -263
  535. package/dist/static-functions.d.cts +0 -21
  536. package/dist/store-reactivity-bindings.cjs +0 -44
  537. package/dist/store-reactivity-bindings.cjs.map +0 -1
  538. package/dist/store-reactivity-bindings.d.cts +0 -22
  539. package/dist/store-reactivity-bindings.js.map +0 -1
  540. package/dist/types/Cell.d.cts +0 -14
  541. package/dist/types/Column.d.cts +0 -36
  542. package/dist/types/ColumnDef.d.cts +0 -123
  543. package/dist/types/Header.d.cts +0 -16
  544. package/dist/types/HeaderGroup.d.cts +0 -10
  545. package/dist/types/Row.d.cts +0 -26
  546. package/dist/types/RowModel.d.cts +0 -36
  547. package/dist/types/RowModelFns.d.cts +0 -18
  548. package/dist/types/Table.d.cts +0 -70
  549. package/dist/types/TableFeatures.d.cts +0 -75
  550. package/dist/types/TableOptions.d.cts +0 -69
  551. package/dist/types/TableState.d.cts +0 -48
  552. package/dist/types/type-utils.d.cts +0 -23
  553. package/dist/utils.cjs +0 -243
  554. package/dist/utils.cjs.map +0 -1
  555. package/dist/utils.d.cts +0 -114
  556. package/dist/utils.js.map +0 -1
  557. package/skills/column-definitions/SKILL.md +0 -333
  558. package/skills/column-layout/SKILL.md +0 -328
  559. package/skills/column-layout/references/subsystems.md +0 -220
  560. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  561. package/skills/filtering/SKILL.md +0 -357
  562. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  563. package/skills/row-expanding/SKILL.md +0 -348
  564. package/skills/setup/SKILL.md +0 -400
  565. package/skills/state-management/SKILL.md +0 -388
  566. package/src/core/cells/constructCell.ts +0 -55
  567. package/src/core/cells/coreCellsFeature.ts +0 -27
  568. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  569. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  570. package/src/core/columns/constructColumn.ts +0 -119
  571. package/src/core/columns/coreColumnsFeature.ts +0 -73
  572. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  573. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  574. package/src/core/coreFeatures.ts +0 -31
  575. package/src/core/headers/buildHeaderGroups.ts +0 -182
  576. package/src/core/headers/constructHeader.ts +0 -67
  577. package/src/core/headers/coreHeadersFeature.ts +0 -56
  578. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  579. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  580. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  581. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  582. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  583. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  584. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  585. package/src/core/row-models/createCoreRowModel.ts +0 -93
  586. package/src/core/rows/constructRow.ts +0 -66
  587. package/src/core/rows/coreRowsFeature.ts +0 -62
  588. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  589. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  590. package/src/core/table/constructTable.ts +0 -179
  591. package/src/core/table/coreTablesFeature.ts +0 -19
  592. package/src/core/table/coreTablesFeature.types.ts +0 -237
  593. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  594. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  595. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  596. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  597. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  598. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  599. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  600. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  601. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  602. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  603. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  604. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  605. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  606. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  607. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  608. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  609. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  610. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  611. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  612. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  613. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  614. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  615. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  616. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  617. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  618. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  619. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  620. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  621. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  622. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  623. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  624. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  625. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  626. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  627. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  628. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  629. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  630. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  631. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  632. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  633. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  634. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  635. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  636. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  637. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  638. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  639. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  640. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -750
  641. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  642. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  643. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  644. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  645. package/src/features/stockFeatures.ts +0 -53
  646. package/src/flex-render.ts +0 -70
  647. package/src/fns/aggregationFns.ts +0 -245
  648. package/src/fns/filterFns.ts +0 -382
  649. package/src/fns/sortFns.ts +0 -240
  650. package/src/helpers/columnHelper.ts +0 -122
  651. package/src/helpers/metaHelper.ts +0 -24
  652. package/src/helpers/tableFeatures.ts +0 -34
  653. package/src/helpers/tableOptions.ts +0 -117
  654. package/src/index.ts +0 -139
  655. package/src/process-env.d.ts +0 -6
  656. package/src/reactivity.ts +0 -2
  657. package/src/static-functions.ts +0 -31
  658. package/src/store-reactivity-bindings.ts +0 -47
  659. package/src/types/Cell.ts +0 -21
  660. package/src/types/Column.ts +0 -51
  661. package/src/types/ColumnDef.ts +0 -254
  662. package/src/types/Header.ts +0 -23
  663. package/src/types/HeaderGroup.ts +0 -13
  664. package/src/types/Row.ts +0 -34
  665. package/src/types/RowModel.ts +0 -98
  666. package/src/types/RowModelFns.ts +0 -32
  667. package/src/types/Table.ts +0 -91
  668. package/src/types/TableFeatures.ts +0 -123
  669. package/src/types/TableOptions.ts +0 -104
  670. package/src/types/TableState.ts +0 -47
  671. package/src/types/type-utils.ts +0 -84
  672. 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
- }