@tanstack/table-core 9.0.0-beta.8 → 9.0.0-beta.80

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 +21 -3
  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 +55 -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 +56 -25
  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 +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 +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 +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 +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 +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 +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 +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 +83 -296
  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 -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/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 -750
  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,13 +1,22 @@
1
- import { CellData, OnChangeFn, RowData, Updater } from "../../types/type-utils.js";
2
- import { BuiltInFilterFn } from "../../fns/filterFns.js";
1
+ import { CellData, OnChangeFn, RowData, TransformDataValueFn, Updater } from "../../types/type-utils.js";
2
+ import { BuiltInFilterFn } from "./filterFns.js";
3
3
  import { Column } from "../../types/Column.js";
4
4
  import { Row } from "../../types/Row.js";
5
- import { TableFeatures } from "../../types/TableFeatures.js";
6
- import { Table } from "../../types/Table.js";
7
5
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
8
-
6
+ import { IsAny, TableFeatures } from "../../types/TableFeatures.js";
9
7
  //#region src/features/column-filtering/columnFilteringFeature.types.d.ts
10
8
  interface FilterMeta {}
9
+ /**
10
+ * Resolves the type of the filter meta attached to rows for a feature set.
11
+ *
12
+ * When the features object declares a `filterMeta` type-only slot
13
+ * (`tableFeatures({ ..., filterMeta: {} as MyFilterMeta })`), that type wins.
14
+ * Otherwise this falls back to the global declaration-merged `FilterMeta`
15
+ * interface.
16
+ */
17
+ type ExtractFilterMeta<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? FilterMeta : TFeatures extends {
18
+ filterMeta: infer TFilterMeta extends object;
19
+ } ? TFilterMeta : FilterMeta;
11
20
  interface FilterFns {}
12
21
  interface TableState_ColumnFiltering {
13
22
  columnFilters: ColumnFiltersState;
@@ -17,24 +26,82 @@ interface ColumnFilter {
17
26
  id: string;
18
27
  value: unknown;
19
28
  }
20
- interface ResolvedColumnFilter<TFeatures extends TableFeatures, TData extends RowData> {
29
+ interface ResolvedColumnFilter<in out TFeatures extends TableFeatures, in out TData extends RowData> {
21
30
  filterFn: FilterFn<TFeatures, TData>;
22
31
  id: string;
23
32
  resolvedValue: unknown;
24
33
  }
25
- interface RowModelFns_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
26
- filterFns: Record<keyof FilterFns, FilterFn<TFeatures, RowData>>;
34
+ interface RowModelFns_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
35
+ filterFns: Record<string, FilterFn<TFeatures, TData>>;
27
36
  }
28
- interface FilterFn<TFeatures extends TableFeatures, TData extends RowData> {
29
- (row: Row<TFeatures, TData>, columnId: string, filterValue: any, addMeta?: (meta: FilterMeta) => void): boolean;
37
+ interface FilterFn<in out TFeatures extends TableFeatures, in out TData extends RowData> {
38
+ (row: Row<TFeatures, TData>, columnId: string, filterValue: any, addMeta?: (meta: ExtractFilterMeta<TFeatures>) => void): boolean;
39
+ /**
40
+ * Removes the filter from `state.columnFilters` when the filter value fails
41
+ * this test (e.g. empty strings for text filters).
42
+ *
43
+ * When provided, this test is authoritative: values it keeps stay in filter
44
+ * state even when they are empty strings, which the default heuristic would
45
+ * otherwise remove. An `undefined` filter value always clears the filter
46
+ * regardless.
47
+ */
30
48
  autoRemove?: ColumnFilterAutoRemoveTestFn<TFeatures, TData>;
49
+ /**
50
+ * Normalizes the filter value before filtering runs.
51
+ *
52
+ * The table applies this once per filter (not per row) and passes the
53
+ * resolved value to the filter function as `filterValue`.
54
+ */
31
55
  resolveFilterValue?: TransformFilterValueFn<TFeatures, TData>;
56
+ /**
57
+ * Normalizes each row's value before it is compared against the filter
58
+ * value. Only honored by filter functions built with `constructFilterFn`
59
+ * (including all built-in filter functions).
60
+ */
61
+ resolveDataValue?: TransformDataValueFn;
62
+ }
63
+ /**
64
+ * The definition object accepted by `constructFilterFn`.
65
+ *
66
+ * `filter` is a value-level comparator: it receives the row's (resolved) data
67
+ * value and the (resolved) filter value instead of the whole row, so
68
+ * normalization concerns stay in `resolveDataValue`/`resolveFilterValue`.
69
+ */
70
+ interface FilterFnDef<in out TFeatures extends TableFeatures, in out TData extends RowData> {
71
+ filter: (dataValue: any, filterValue: any, row: Row<TFeatures, TData>, columnId: string, addMeta?: (meta: ExtractFilterMeta<TFeatures>) => void) => boolean;
72
+ autoRemove?: (filterValue: any) => boolean;
73
+ resolveFilterValue?: (filterValue: any) => any;
74
+ resolveDataValue?: TransformDataValueFn;
75
+ }
76
+ /**
77
+ * The shape returned by `constructFilterFn`: a `FilterFn` with its definition
78
+ * attached, so variants can be built by spreading it into another
79
+ * `constructFilterFn` call.
80
+ *
81
+ * The call signature is generic so a created filter function can be used with
82
+ * any table's rows, regardless of the feature set it was defined against.
83
+ */
84
+ interface CreatedFilterFn<in out TFeatures extends TableFeatures, in out TData extends RowData> extends FilterFnDef<TFeatures, TData> {
85
+ <TRowFeatures extends TableFeatures, TRowData extends RowData>(row: Row<TRowFeatures, TRowData>, columnId: string, filterValue: any, addMeta?: (meta: ExtractFilterMeta<TRowFeatures>) => void): boolean;
32
86
  }
33
87
  type TransformFilterValueFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = (value: any, column?: Column<TFeatures, TData, TValue>) => TValue;
34
88
  type ColumnFilterAutoRemoveTestFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = (value: any, column?: Column<TFeatures, TData, TValue>) => boolean;
35
- type CustomFilterFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, FilterFn<TFeatures, RowData>>;
36
- type FilterFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | BuiltInFilterFn | keyof FilterFns | FilterFn<TFeatures, RowData>;
37
- interface ColumnDef_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
89
+ type CustomFilterFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, FilterFn<TFeatures, TData>>;
90
+ /**
91
+ * Resolves the valid string names for `columnDef.filterFn` and
92
+ * `options.globalFilterFn` for a feature set.
93
+ *
94
+ * When the features object declares a `filterFns` registry
95
+ * (`tableFeatures({ ..., filterFns })`), its keys are the only valid names; a
96
+ * name is only assignable if a filter function is actually registered for it.
97
+ * Otherwise this falls back to the global declaration-merged `FilterFns`
98
+ * interface.
99
+ */
100
+ type ExtractFilterFnKeys<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? keyof FilterFns | BuiltInFilterFn : TFeatures extends {
101
+ filterFns: infer TFilterFns extends object;
102
+ } ? Extract<keyof TFilterFns, string> : keyof FilterFns;
103
+ type FilterFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | ExtractFilterFnKeys<TFeatures> | FilterFn<TFeatures, TData>;
104
+ interface ColumnDef_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
38
105
  /**
39
106
  * Enables this column to participate in column-specific filtering.
40
107
  *
@@ -47,7 +114,7 @@ interface ColumnDef_ColumnFiltering<TFeatures extends TableFeatures, TData exten
47
114
  */
48
115
  filterFn?: FilterFnOption<TFeatures, TData>;
49
116
  }
50
- interface Column_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
117
+ interface Column_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
51
118
  /**
52
119
  * Returns an automatically calculated filter function for the column based off of the columns first known value.
53
120
  */
@@ -80,7 +147,7 @@ interface Column_ColumnFiltering<TFeatures extends TableFeatures, TData extends
80
147
  */
81
148
  setFilterValue: (updater: Updater<any>) => void;
82
149
  }
83
- interface Row_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
150
+ interface Row_ColumnFiltering<in out TFeatures extends TableFeatures, in out _TData extends RowData> {
84
151
  /**
85
152
  * The column filters map for the row. This object tracks whether a row is passing/failing specific filters by their column ID.
86
153
  */
@@ -88,9 +155,9 @@ interface Row_ColumnFiltering<TFeatures extends TableFeatures, TData extends Row
88
155
  /**
89
156
  * The column filters meta map for the row. This object tracks any filter meta for a row as optionally provided during the filtering process.
90
157
  */
91
- columnFiltersMeta: Record<string, FilterMeta>;
158
+ columnFiltersMeta: Record<string, ExtractFilterMeta<TFeatures>>;
92
159
  }
93
- interface TableOptions_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
160
+ interface TableOptions_ColumnFiltering<in out _TFeatures extends TableFeatures, in out _TData extends RowData> {
94
161
  /**
95
162
  * Enables column-specific filtering for all columns that also allow it.
96
163
  */
@@ -110,9 +177,9 @@ interface TableOptions_ColumnFiltering<TFeatures extends TableFeatures, TData ex
110
177
  */
111
178
  manualFiltering?: boolean;
112
179
  /**
113
- * By default, filtering is done for all rows (max depth of 100), no matter if they are root level parent rows or the child leaf rows of a parent row. Setting this option to `0` will cause filtering to only be applied to the root level parent rows, with all sub-rows remaining unfiltered. Similarly, setting this option to `1` will cause filtering to only be applied to child leaf rows 1 level deep, and so on.
114
- * This is useful for situations where you want a row's entire child hierarchy to be visible regardless of the applied filter.
115
- */
180
+ * By default, filtering is done for all rows (max depth of 100), no matter if they are root level parent rows or the child leaf rows of a parent row. Setting this option to `0` will cause filtering to only be applied to the root level parent rows, with all sub-rows remaining unfiltered. Similarly, setting this option to `1` will cause filtering to only be applied to child leaf rows 1 level deep, and so on.
181
+ * This is useful for situations where you want a row's entire child hierarchy to be visible regardless of the applied filter.
182
+ */
116
183
  maxLeafRowFilterDepth?: number;
117
184
  /**
118
185
  * Called with an updater when column filter state changes. Pair this with
@@ -133,7 +200,7 @@ interface Table_ColumnFiltering {
133
200
  */
134
201
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
135
202
  }
136
- interface Table_RowModels_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
203
+ interface Table_RowModels_Filtered<in out TFeatures extends TableFeatures, in out TData extends RowData> {
137
204
  /**
138
205
  * Resolves the row model after column and global filters have been applied.
139
206
  */
@@ -143,18 +210,8 @@ interface Table_RowModels_Filtered<TFeatures extends TableFeatures, TData extend
143
210
  */
144
211
  getPreFilteredRowModel: () => RowModel<TFeatures, TData>;
145
212
  }
146
- interface CreateRowModel_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
147
- /**
148
- * If provided, this factory is called once per table and should return a
149
- * function that calculates the filtered row model.
150
- * - For server-side filtering, this function is unnecessary and can be ignored since the server should already return the filtered row model.
151
- * - For client-side filtering, pass the exported `createFilteredRowModel()` or implement your own factory.
152
- */
153
- filteredRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
154
- }
155
- interface CachedRowModel_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
213
+ interface CachedRowModel_Filtered<in out TFeatures extends TableFeatures, in out TData extends RowData> {
156
214
  filteredRowModel: () => RowModel<TFeatures, TData>;
157
215
  }
158
216
  //#endregion
159
- export { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CreateRowModel_Filtered, CustomFilterFns, FilterFn, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn };
160
- //# sourceMappingURL=columnFilteringFeature.types.d.ts.map
217
+ export { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CreatedFilterFn, CustomFilterFns, ExtractFilterFnKeys, ExtractFilterMeta, FilterFn, FilterFnDef, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn };
@@ -1,9 +1,8 @@
1
1
  import { CellData, RowData, Updater } from "../../types/type-utils.js";
2
+ import { Column } from "../../types/Column.js";
2
3
  import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.js";
3
- import { Column_Internal } from "../../types/Column.js";
4
+ import { Table } from "../../types/Table.js";
4
5
  import { TableFeatures } from "../../types/TableFeatures.js";
5
- import { Table_Internal } from "../../types/Table.js";
6
-
7
6
  //#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
8
7
  /**
9
8
  * Creates the default column filter state.
@@ -21,15 +20,19 @@ declare function getDefaultColumnFiltersState(): ColumnFiltersState;
21
20
  * Chooses a built-in filter function from the column's first core row value.
22
21
  *
23
22
  * Strings use `includesString`, numbers use `inNumberRange`, booleans and
24
- * objects use `equals`, arrays use `arrIncludes`, and unknown values fall back
25
- * to `weakEquals`.
23
+ * objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,
24
+ * and unknown values fall back to `weakEquals`.
25
+ *
26
+ * The chosen filter function is looked up in the table's `filterFns`
27
+ * registry. When it is not registered there, this returns `undefined` and
28
+ * warns in development instead of substituting a different filter function.
26
29
  *
27
30
  * @example
28
31
  * ```ts
29
32
  * const filterFn = column_getAutoFilterFn(column)
30
33
  * ```
31
34
  */
32
- declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, RowData> | undefined;
35
+ declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
33
36
  /**
34
37
  * Resolves the filter function configured for a column.
35
38
  *
@@ -42,7 +45,7 @@ declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData e
42
45
  * const filterFn = column_getFilterFn(column)
43
46
  * ```
44
47
  */
45
- declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
48
+ declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
46
49
  /**
47
50
  * Checks whether column filtering is enabled for this accessor column.
48
51
  *
@@ -54,7 +57,7 @@ declare function column_getFilterFn<TFeatures extends TableFeatures, TData exten
54
57
  * const canFilter = column_getCanFilter(column)
55
58
  * ```
56
59
  */
57
- declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
60
+ declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
58
61
  /**
59
62
  * Checks whether this column currently has an entry in `state.columnFilters`.
60
63
  *
@@ -66,7 +69,7 @@ declare function column_getCanFilter<TFeatures extends TableFeatures, TData exte
66
69
  * const isFiltered = column_getIsFiltered(column)
67
70
  * ```
68
71
  */
69
- declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
72
+ declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
70
73
  /**
71
74
  * Reads this column's current filter value from `state.columnFilters`.
72
75
  *
@@ -77,7 +80,7 @@ declare function column_getIsFiltered<TFeatures extends TableFeatures, TData ext
77
80
  * const value = column_getFilterValue(column)
78
81
  * ```
79
82
  */
80
- declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): unknown;
83
+ declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): unknown;
81
84
  /**
82
85
  * Finds this column's position in the ordered `state.columnFilters` array.
83
86
  *
@@ -88,7 +91,7 @@ declare function column_getFilterValue<TFeatures extends TableFeatures, TData ex
88
91
  * const index = column_getFilterIndex(column)
89
92
  * ```
90
93
  */
91
- declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
94
+ declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
92
95
  /**
93
96
  * Adds, updates, or removes this column's filter value.
94
97
  *
@@ -100,7 +103,7 @@ declare function column_getFilterIndex<TFeatures extends TableFeatures, TData ex
100
103
  * column_setFilterValue(column, (old) => String(old ?? '').trim())
101
104
  * ```
102
105
  */
103
- declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, value: any): void;
106
+ declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, value: any): void;
104
107
  /**
105
108
  * Routes a column filter updater through the table's filter change handler.
106
109
  *
@@ -113,7 +116,7 @@ declare function column_setFilterValue<TFeatures extends TableFeatures, TData ex
113
116
  * table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))
114
117
  * ```
115
118
  */
116
- declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
119
+ declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
117
120
  /**
118
121
  * Resets `columnFilters` to the configured initial state or feature default.
119
122
  *
@@ -126,18 +129,22 @@ declare function table_setColumnFilters<TFeatures extends TableFeatures, TData e
126
129
  * table_resetColumnFilters(table, true)
127
130
  * ```
128
131
  */
129
- declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
132
+ declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
130
133
  /**
131
134
  * Returns whether a filter value should be removed from filter state.
132
135
  *
133
- * This checks the filter function's `autoRemove` hook and built-in empty-value rules.
136
+ * `undefined` always removes: it is the universal "clear this filter"
137
+ * sentinel used by `setFilterValue(undefined)` and functional updaters. For
138
+ * any other value, a filter function's `autoRemove` hook is authoritative
139
+ * when provided, so custom filter functions can keep values (such as empty
140
+ * strings) that the default heuristic would drop. Without an `autoRemove`
141
+ * hook, empty strings are removed.
134
142
  *
135
143
  * @example
136
144
  * ```ts
137
145
  * const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)
138
146
  * ```
139
147
  */
140
- declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column_Internal<TFeatures, TData, TValue>): boolean;
148
+ declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column<TFeatures, TData, TValue>): boolean;
141
149
  //#endregion
142
- export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
143
- //# sourceMappingURL=columnFilteringFeature.utils.d.ts.map
150
+ export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
@@ -19,8 +19,12 @@ function getDefaultColumnFiltersState() {
19
19
  * Chooses a built-in filter function from the column's first core row value.
20
20
  *
21
21
  * Strings use `includesString`, numbers use `inNumberRange`, booleans and
22
- * objects use `equals`, arrays use `arrIncludes`, and unknown values fall back
23
- * to `weakEquals`.
22
+ * objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,
23
+ * and unknown values fall back to `weakEquals`.
24
+ *
25
+ * The chosen filter function is looked up in the table's `filterFns`
26
+ * registry. When it is not registered there, this returns `undefined` and
27
+ * warns in development instead of substituting a different filter function.
24
28
  *
25
29
  * @example
26
30
  * ```ts
@@ -29,14 +33,26 @@ function getDefaultColumnFiltersState() {
29
33
  */
30
34
  function column_getAutoFilterFn(column) {
31
35
  const filterFns = column.table._rowModelFns.filterFns;
32
- const firstRow = column.table.getCoreRowModel().flatRows[0];
33
- const value = firstRow ? firstRow.getValue(column.id) : void 0;
34
- if (typeof value === "string") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.includesString;
35
- if (typeof value === "number") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.inNumberRange;
36
- if (typeof value === "boolean") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
37
- if (value !== null && typeof value === "object") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
38
- if (Array.isArray(value)) return filterFns === null || filterFns === void 0 ? void 0 : filterFns.arrIncludes;
39
- return filterFns === null || filterFns === void 0 ? void 0 : filterFns.weakEquals;
36
+ const rows = column.table.getCoreRowModel().flatRows;
37
+ let value;
38
+ for (let i = 0; i < rows.length; i++) {
39
+ const rowValue = rows[i].getValue(column.id);
40
+ if (rowValue !== null && rowValue !== void 0) {
41
+ value = rowValue;
42
+ break;
43
+ }
44
+ }
45
+ let filterFnName;
46
+ if (typeof value === "string") filterFnName = "includesString";
47
+ else if (typeof value === "number") filterFnName = "inNumberRange";
48
+ else if (typeof value === "boolean") filterFnName = "equals";
49
+ else if (Array.isArray(value)) filterFnName = "arrIncludes";
50
+ else if (Object.prototype.toString.call(value) === "[object Date]") filterFnName = "inDateRange";
51
+ else if (value !== null && typeof value === "object") filterFnName = "equals";
52
+ else filterFnName = "weakEquals";
53
+ const filterFn = filterFns?.[filterFnName];
54
+ if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`filterFn '${filterFnName}' (auto) for column '${column.id}' is not registered`);
55
+ return filterFn;
40
56
  }
41
57
  /**
42
58
  * Resolves the filter function configured for a column.
@@ -53,9 +69,9 @@ function column_getAutoFilterFn(column) {
53
69
  function column_getFilterFn(column) {
54
70
  let filterFn = null;
55
71
  const filterFns = column.table._rowModelFns.filterFns;
56
- filterFn = isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns === null || filterFns === void 0 ? void 0 : filterFns[column.columnDef.filterFn];
57
- if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
58
- return filterFn;
72
+ filterFn = isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns?.[column.columnDef.filterFn];
73
+ if (process.env.NODE_ENV === "development" && !filterFn && column.columnDef.filterFn !== "auto") console.warn(`filterFn '${String(column.columnDef.filterFn)}' for column '${column.id}' is not registered`);
74
+ return filterFn ?? void 0;
59
75
  }
60
76
  /**
61
77
  * Checks whether column filtering is enabled for this accessor column.
@@ -96,8 +112,7 @@ function column_getIsFiltered(column) {
96
112
  * ```
97
113
  */
98
114
  function column_getFilterValue(column) {
99
- var _column$table$atoms$c;
100
- return (_column$table$atoms$c = column.table.atoms.columnFilters) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.find((d) => d.id === column.id)) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.value;
115
+ return column.table.atoms.columnFilters?.get()?.find((d) => d.id === column.id)?.value;
101
116
  }
102
117
  /**
103
118
  * Finds this column's position in the ordered `state.columnFilters` array.
@@ -110,8 +125,7 @@ function column_getFilterValue(column) {
110
125
  * ```
111
126
  */
112
127
  function column_getFilterIndex(column) {
113
- var _column$table$atoms$c2;
114
- return ((_column$table$atoms$c2 = column.table.atoms.columnFilters) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.findIndex((d) => d.id === column.id)) ?? -1;
128
+ return column.table.atoms.columnFilters?.get()?.findIndex((d) => d.id === column.id) ?? -1;
115
129
  }
116
130
  /**
117
131
  * Adds, updates, or removes this column's filter value.
@@ -155,7 +169,6 @@ function column_setFilterValue(column, value) {
155
169
  * ```
156
170
  */
157
171
  function table_setColumnFilters(table, updater) {
158
- var _table$options$onColu, _table$options;
159
172
  const leafColumnsById = table.getAllLeafColumnsById();
160
173
  const updateFn = (old) => {
161
174
  return functionalUpdate(updater, old).filter((filter) => {
@@ -166,7 +179,7 @@ function table_setColumnFilters(table, updater) {
166
179
  return true;
167
180
  });
168
181
  };
169
- (_table$options$onColu = (_table$options = table.options).onColumnFiltersChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updateFn);
182
+ table.options.onColumnFiltersChange?.(updateFn);
170
183
  }
171
184
  /**
172
185
  * Resets `columnFilters` to the configured initial state or feature default.
@@ -186,7 +199,12 @@ function table_resetColumnFilters(table, defaultState) {
186
199
  /**
187
200
  * Returns whether a filter value should be removed from filter state.
188
201
  *
189
- * This checks the filter function's `autoRemove` hook and built-in empty-value rules.
202
+ * `undefined` always removes: it is the universal "clear this filter"
203
+ * sentinel used by `setFilterValue(undefined)` and functional updaters. For
204
+ * any other value, a filter function's `autoRemove` hook is authoritative
205
+ * when provided, so custom filter functions can keep values (such as empty
206
+ * strings) that the default heuristic would drop. Without an `autoRemove`
207
+ * hook, empty strings are removed.
190
208
  *
191
209
  * @example
192
210
  * ```ts
@@ -194,9 +212,10 @@ function table_resetColumnFilters(table, defaultState) {
194
212
  * ```
195
213
  */
196
214
  function shouldAutoRemoveFilter(filterFn, value, column) {
197
- return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === "undefined" || typeof value === "string" && !value;
215
+ if (typeof value === "undefined") return true;
216
+ if (filterFn?.autoRemove) return !!filterFn.autoRemove(value, column);
217
+ return typeof value === "string" && !value;
198
218
  }
199
219
 
200
220
  //#endregion
201
- export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
202
- //# sourceMappingURL=columnFilteringFeature.utils.js.map
221
+ export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
@@ -1,16 +1,20 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { FilterFn, FilterFns } from "./columnFilteringFeature.types.js";
3
- import { TableFeatures } from "../../types/TableFeatures.js";
4
- import { Table } from "../../types/Table.js";
5
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
6
-
3
+ import { Table } from "../../types/Table.js";
4
+ import { TableFeatures } from "../../types/TableFeatures.js";
7
5
  //#region src/features/column-filtering/createFilteredRowModel.d.ts
8
6
  /**
9
7
  * Creates a memoized filtered row model factory.
10
8
  *
11
9
  * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
10
+ *
11
+ * Register the filter functions you use with the `filterFns` slot on the
12
+ * `features` option:
13
+ * `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.
14
+ * Importing individual `filterFn_*` functions keeps unused built-ins out of
15
+ * your bundle; filter functions passed directly to the `filterFn` column
16
+ * option need no registration at all.
12
17
  */
13
- declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(filterFns: Record<keyof FilterFns, FilterFn<TFeatures, RowData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
18
+ declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
14
19
  //#endregion
15
- export { createFilteredRowModel };
16
- //# sourceMappingURL=createFilteredRowModel.d.ts.map
20
+ export { createFilteredRowModel };
@@ -1,4 +1,4 @@
1
- import { tableMemo } from "../../utils.js";
1
+ import { makeObjectMap, skipFirstRun, tableMemo } from "../../utils.js";
2
2
  import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
3
3
  import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
4
4
  import { column_getFilterFn } from "./columnFilteringFeature.utils.js";
@@ -10,78 +10,82 @@ import { filterRows } from "./filterRowsUtils.js";
10
10
  * Creates a memoized filtered row model factory.
11
11
  *
12
12
  * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
13
+ *
14
+ * Register the filter functions you use with the `filterFns` slot on the
15
+ * `features` option:
16
+ * `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.
17
+ * Importing individual `filterFn_*` functions keeps unused built-ins out of
18
+ * your bundle; filter functions passed directly to the `filterFn` column
19
+ * option need no registration at all.
13
20
  */
14
- function createFilteredRowModel(filterFns) {
21
+ function createFilteredRowModel() {
15
22
  return (_table) => {
16
23
  const table = _table;
17
- if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns;
18
24
  return tableMemo({
19
25
  feature: "columnFilteringFeature",
20
26
  table,
21
27
  fnName: "table.getFilteredRowModel",
22
- memoDeps: () => {
23
- var _table$atoms$columnFi, _table$atoms$globalFi;
24
- return [
25
- table.getPreFilteredRowModel(),
26
- (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
27
- (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get()
28
- ];
29
- },
28
+ memoDeps: () => [
29
+ table.getPreFilteredRowModel(),
30
+ table.atoms.columnFilters?.get(),
31
+ table.atoms.globalFilter?.get()
32
+ ],
30
33
  fn: () => _createFilteredRowModel(table),
31
- onAfterUpdate: () => table_autoResetPageIndex(table)
34
+ onAfterUpdate: skipFirstRun(() => table_autoResetPageIndex(table))
32
35
  });
33
36
  };
34
37
  }
35
38
  function _createFilteredRowModel(table) {
36
- var _table$atoms$columnFi2, _table$atoms$globalFi2;
37
39
  const rowModel = table.getPreFilteredRowModel();
38
- const columnFilters = (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get();
39
- const globalFilter = (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get();
40
- if (!rowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) {
40
+ const columnFilters = table.atoms.columnFilters?.get();
41
+ const globalFilter = table.atoms.globalFilter?.get();
42
+ const hasGlobalFilter = globalFilter !== void 0 && globalFilter !== null && globalFilter !== "";
43
+ if (!rowModel.rows.length || !columnFilters?.length && !hasGlobalFilter) {
41
44
  const flatRows = rowModel.flatRows;
42
45
  for (let i = 0; i < flatRows.length; i++) {
43
46
  const row = flatRows[i];
44
- row.columnFilters = {};
45
- row.columnFiltersMeta = {};
47
+ row.columnFilters = makeObjectMap();
48
+ row.columnFiltersMeta = makeObjectMap();
46
49
  }
47
50
  return rowModel;
48
51
  }
49
52
  const resolvedColumnFilters = [];
50
53
  const resolvedGlobalFilters = [];
51
- columnFilters === null || columnFilters === void 0 || columnFilters.forEach((columnFilter) => {
52
- var _filterFn$resolveFilt;
54
+ columnFilters?.forEach((columnFilter) => {
53
55
  const column = table_getColumn(table, columnFilter.id);
54
56
  if (!column) return;
55
57
  const filterFn = column_getFilterFn(column);
58
+ if (!filterFn) return;
56
59
  resolvedColumnFilters.push({
57
60
  id: columnFilter.id,
58
61
  filterFn,
59
- resolvedValue: ((_filterFn$resolveFilt = filterFn.resolveFilterValue) === null || _filterFn$resolveFilt === void 0 ? void 0 : _filterFn$resolveFilt.call(filterFn, columnFilter.value)) ?? columnFilter.value
62
+ resolvedValue: filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value
60
63
  });
61
64
  });
62
- const filterableIds = (columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id)) ?? [];
65
+ const filterableIds = columnFilters?.map((d) => d.id) ?? [];
63
66
  const globalFilterFn = table_getGlobalFilterFn(table);
64
67
  const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => column_getCanGlobalFilter(column));
65
- if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
68
+ if (hasGlobalFilter && globalFilterFn && globallyFilterableColumns.length) {
66
69
  filterableIds.push("__global__");
67
70
  globallyFilterableColumns.forEach((column) => {
68
- var _globalFilterFn$resol;
69
71
  resolvedGlobalFilters.push({
70
72
  id: column.id,
71
73
  filterFn: globalFilterFn,
72
- resolvedValue: ((_globalFilterFn$resol = globalFilterFn.resolveFilterValue) === null || _globalFilterFn$resol === void 0 ? void 0 : _globalFilterFn$resol.call(globalFilterFn, globalFilter)) ?? globalFilter
74
+ resolvedValue: globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter
73
75
  });
74
76
  });
75
77
  }
76
78
  const flatRows = rowModel.flatRows;
77
79
  for (let i = 0; i < flatRows.length; i++) {
78
80
  const row = flatRows[i];
79
- row.columnFilters = {};
81
+ row.columnFilters = makeObjectMap();
82
+ row.columnFiltersMeta = makeObjectMap();
80
83
  if (resolvedColumnFilters.length) for (let j = 0; j < resolvedColumnFilters.length; j++) {
81
84
  const currentColumnFilter = resolvedColumnFilters[j];
82
85
  const id = currentColumnFilter.id;
83
86
  row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
84
- !row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
87
+ if (!row.columnFiltersMeta) row.columnFiltersMeta = makeObjectMap();
88
+ row.columnFiltersMeta[id] = filterMeta;
85
89
  });
86
90
  }
87
91
  if (resolvedGlobalFilters.length) {
@@ -89,7 +93,8 @@ function _createFilteredRowModel(table) {
89
93
  const currentGlobalFilter = resolvedGlobalFilters[j];
90
94
  const id = currentGlobalFilter.id;
91
95
  if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
92
- !row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
96
+ if (!row.columnFiltersMeta) row.columnFiltersMeta = makeObjectMap();
97
+ row.columnFiltersMeta[id] = filterMeta;
93
98
  })) {
94
99
  row.columnFilters.__global__ = true;
95
100
  break;
@@ -106,5 +111,4 @@ function _createFilteredRowModel(table) {
106
111
  }
107
112
 
108
113
  //#endregion
109
- export { createFilteredRowModel };
110
- //# sourceMappingURL=createFilteredRowModel.js.map
114
+ export { createFilteredRowModel };