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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +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 +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
@@ -0,0 +1,210 @@
1
+ import { RowData } from "../../types/type-utils.js";
2
+ import { CreatedFilterFn, FilterFnDef } from "./columnFilteringFeature.types.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
4
+ //#region src/features/column-filtering/filterFns.d.ts
5
+ /**
6
+ * Builds a `FilterFn` from a value-level comparator plus optional resolvers.
7
+ *
8
+ * The `filter` comparator receives the row's data value (already passed
9
+ * through `resolveDataValue` when one is defined) and the filter value
10
+ * (already passed through `resolveFilterValue` by the table). Keeping
11
+ * normalization in the resolvers means a variant of an existing filter
12
+ * function only has to swap the resolvers, not re-implement the comparison.
13
+ *
14
+ * The definition is attached to the returned function, so a variant can be
15
+ * created by spreading a built-in filter function and overriding what differs:
16
+ *
17
+ * ```ts
18
+ * const normalize = (value: unknown) =>
19
+ * String(value ?? '')
20
+ * .toLowerCase()
21
+ * .normalize('NFD')
22
+ * .replace(/\p{Diacritic}/gu, '')
23
+ *
24
+ * const includesStringIgnoreDiacritics = constructFilterFn({
25
+ * ...filterFn_includesString,
26
+ * resolveFilterValue: normalize,
27
+ * resolveDataValue: normalize,
28
+ * })
29
+ * ```
30
+ *
31
+ * Note: the table applies `resolveFilterValue` once per filter before any rows
32
+ * are tested. When calling a filter function directly (outside of a table),
33
+ * apply it yourself: `fn(row, columnId, fn.resolveFilterValue?.(value) ?? value)`.
34
+ */
35
+ declare function constructFilterFn<TFeatures extends TableFeatures = any, TData extends RowData = any>(def: FilterFnDef<TFeatures, TData>): CreatedFilterFn<TFeatures, TData>;
36
+ /**
37
+ * Keeps rows whose column value is strictly equal to the filter value.
38
+ *
39
+ * Uses JavaScript `===` comparison and auto-removes empty filter values.
40
+ */
41
+ declare const filterFn_equals: CreatedFilterFn<any, any>;
42
+ /**
43
+ * Keeps rows whose column value is loosely equal to the filter value.
44
+ *
45
+ * Uses JavaScript `==` comparison and auto-removes empty filter values. This is
46
+ * useful for matching string input against numeric row values.
47
+ */
48
+ declare const filterFn_weakEquals: CreatedFilterFn<any, any>;
49
+ /**
50
+ * Keeps rows whose stringified column value includes the filter text.
51
+ *
52
+ * Matching is case-sensitive and empty filter values are auto-removed.
53
+ */
54
+ declare const filterFn_includesStringSensitive: CreatedFilterFn<any, any>;
55
+ /**
56
+ * Keeps rows whose stringified column value includes the filter text.
57
+ *
58
+ * Both values are lowercased before comparison, and empty filter values are
59
+ * auto-removed.
60
+ */
61
+ declare const filterFn_includesString: CreatedFilterFn<any, any>;
62
+ /**
63
+ * Keeps rows whose stringified column value equals the filter text.
64
+ *
65
+ * Both values are lowercased before comparison, and empty filter values are
66
+ * auto-removed.
67
+ */
68
+ declare const filterFn_equalsString: CreatedFilterFn<any, any>;
69
+ /**
70
+ * Keeps rows whose stringified column value exactly equals the filter text.
71
+ *
72
+ * Matching is case-sensitive and empty filter values are auto-removed.
73
+ */
74
+ declare const filterFn_equalsStringSensitive: CreatedFilterFn<any, any>;
75
+ /**
76
+ * Keeps rows whose stringified column value starts with the filter text.
77
+ *
78
+ * Both values are lowercased before comparison, and empty filter values are
79
+ * auto-removed.
80
+ */
81
+ declare const filterFn_startsWith: CreatedFilterFn<any, any>;
82
+ /**
83
+ * Keeps rows whose stringified column value ends with the filter text.
84
+ *
85
+ * Both values are lowercased before comparison, and empty filter values are
86
+ * auto-removed.
87
+ */
88
+ declare const filterFn_endsWith: CreatedFilterFn<any, any>;
89
+ /**
90
+ * Keeps rows whose column value is empty.
91
+ *
92
+ * A value is empty when it is nullish or stringifies to whitespace only. The
93
+ * filter value acts as an on/off flag: `false` and blank values are
94
+ * auto-removed.
95
+ */
96
+ declare const filterFn_empty: CreatedFilterFn<any, any>;
97
+ /**
98
+ * Keeps rows whose column value is not empty.
99
+ *
100
+ * A value is empty when it is nullish or stringifies to whitespace only. The
101
+ * filter value acts as an on/off flag: `false` and blank values are
102
+ * auto-removed.
103
+ */
104
+ declare const filterFn_notEmpty: CreatedFilterFn<any, any>;
105
+ /**
106
+ * Keeps rows whose value is greater than the filter value.
107
+ *
108
+ * Numeric values are compared numerically when both sides can be coerced to
109
+ * numbers; otherwise normalized strings are compared.
110
+ */
111
+ declare const filterFn_greaterThan: CreatedFilterFn<any, any>;
112
+ /**
113
+ * Keeps rows whose value is greater than or equal to the filter value.
114
+ *
115
+ * Delegates to the built-in greater-than and strict-equality comparisons.
116
+ */
117
+ declare const filterFn_greaterThanOrEqualTo: CreatedFilterFn<any, any>;
118
+ /**
119
+ * Keeps rows whose value is less than the filter value.
120
+ *
121
+ * This is implemented as the inverse of greater-than-or-equal comparison.
122
+ */
123
+ declare const filterFn_lessThan: CreatedFilterFn<any, any>;
124
+ /**
125
+ * Keeps rows whose value is less than or equal to the filter value.
126
+ *
127
+ * This is implemented as the inverse of greater-than comparison.
128
+ */
129
+ declare const filterFn_lessThanOrEqualTo: CreatedFilterFn<any, any>;
130
+ /**
131
+ * Keeps rows whose value falls between an exclusive min/max pair.
132
+ *
133
+ * Blank range endpoints are treated as open-ended.
134
+ */
135
+ declare const filterFn_between: CreatedFilterFn<any, any>;
136
+ /**
137
+ * Keeps rows whose value falls between an inclusive min/max pair.
138
+ *
139
+ * Blank range endpoints are treated as open-ended.
140
+ */
141
+ declare const filterFn_betweenInclusive: CreatedFilterFn<any, any>;
142
+ /**
143
+ * Keeps rows whose numeric value is inside an inclusive `[min, max]` range.
144
+ *
145
+ * Filter values are normalized so blank endpoints become open-ended and
146
+ * reversed endpoints are swapped. Only real numbers can fall inside the
147
+ * range: non-numeric row values (`null`, `undefined`, strings, booleans)
148
+ * never match.
149
+ */
150
+ declare const filterFn_inNumberRange: CreatedFilterFn<any, any>;
151
+ /**
152
+ * Keeps rows whose date value is inside an inclusive `[min, max]` date range.
153
+ *
154
+ * Row values and range endpoints may be `Date` objects, timestamps, or
155
+ * parseable date strings. Blank or invalid endpoints become open-ended and
156
+ * reversed endpoints are swapped. Rows without a valid date never match.
157
+ */
158
+ declare const filterFn_inDateRange: CreatedFilterFn<any, any>;
159
+ /**
160
+ * Keeps rows whose scalar column value equals at least one filter value.
161
+ */
162
+ declare const filterFn_arrHas: CreatedFilterFn<any, any>;
163
+ /**
164
+ * Keeps rows whose array or string column value includes at least one filter value.
165
+ */
166
+ declare const filterFn_arrIncludes: CreatedFilterFn<any, any>;
167
+ /**
168
+ * Keeps rows whose array column value includes every filter value.
169
+ */
170
+ declare const filterFn_arrIncludesAll: CreatedFilterFn<any, any>;
171
+ /**
172
+ * Keeps rows whose array column value includes at least one filter value.
173
+ */
174
+ declare const filterFn_arrIncludesSome: CreatedFilterFn<any, any>;
175
+ /**
176
+ * The built-in filter function registry.
177
+ *
178
+ * Registering this full object opts out of tree-shaking: every built-in
179
+ * filter function ends up in your bundle. Prefer importing the `filterFn_*`
180
+ * functions you actually use and registering just those in the `filterFns`
181
+ * slot, or passing them directly to the `filterFn` column option.
182
+ *
183
+ * @deprecated Import individual `filterFn_*` functions instead for a smaller
184
+ * bundle. This export still works and is not going away in v9, but built-in
185
+ * name resolution (including `filterFn: 'auto'`) only finds functions you
186
+ * register yourself.
187
+ */
188
+ declare const filterFns: {
189
+ arrIncludes: CreatedFilterFn<any, any>;
190
+ arrIncludesAll: CreatedFilterFn<any, any>;
191
+ arrHas: CreatedFilterFn<any, any>;
192
+ arrIncludesSome: CreatedFilterFn<any, any>;
193
+ between: CreatedFilterFn<any, any>;
194
+ betweenInclusive: CreatedFilterFn<any, any>;
195
+ empty: CreatedFilterFn<any, any>;
196
+ endsWith: CreatedFilterFn<any, any>;
197
+ equals: CreatedFilterFn<any, any>;
198
+ equalsString: CreatedFilterFn<any, any>;
199
+ equalsStringSensitive: CreatedFilterFn<any, any>;
200
+ inDateRange: CreatedFilterFn<any, any>;
201
+ inNumberRange: CreatedFilterFn<any, any>;
202
+ includesString: CreatedFilterFn<any, any>;
203
+ includesStringSensitive: CreatedFilterFn<any, any>;
204
+ notEmpty: CreatedFilterFn<any, any>;
205
+ startsWith: CreatedFilterFn<any, any>;
206
+ weakEquals: CreatedFilterFn<any, any>;
207
+ };
208
+ type BuiltInFilterFn = keyof typeof filterFns;
209
+ //#endregion
210
+ export { BuiltInFilterFn, constructFilterFn, filterFn_arrHas, filterFn_arrIncludes, filterFn_arrIncludesAll, filterFn_arrIncludesSome, filterFn_between, filterFn_betweenInclusive, filterFn_empty, filterFn_endsWith, filterFn_equals, filterFn_equalsString, filterFn_equalsStringSensitive, filterFn_greaterThan, filterFn_greaterThanOrEqualTo, filterFn_inDateRange, filterFn_inNumberRange, filterFn_includesString, filterFn_includesStringSensitive, filterFn_lessThan, filterFn_lessThanOrEqualTo, filterFn_notEmpty, filterFn_startsWith, filterFn_weakEquals, filterFns };
@@ -0,0 +1,377 @@
1
+ //#region src/features/column-filtering/filterFns.ts
2
+ /**
3
+ * Builds a `FilterFn` from a value-level comparator plus optional resolvers.
4
+ *
5
+ * The `filter` comparator receives the row's data value (already passed
6
+ * through `resolveDataValue` when one is defined) and the filter value
7
+ * (already passed through `resolveFilterValue` by the table). Keeping
8
+ * normalization in the resolvers means a variant of an existing filter
9
+ * function only has to swap the resolvers, not re-implement the comparison.
10
+ *
11
+ * The definition is attached to the returned function, so a variant can be
12
+ * created by spreading a built-in filter function and overriding what differs:
13
+ *
14
+ * ```ts
15
+ * const normalize = (value: unknown) =>
16
+ * String(value ?? '')
17
+ * .toLowerCase()
18
+ * .normalize('NFD')
19
+ * .replace(/\p{Diacritic}/gu, '')
20
+ *
21
+ * const includesStringIgnoreDiacritics = constructFilterFn({
22
+ * ...filterFn_includesString,
23
+ * resolveFilterValue: normalize,
24
+ * resolveDataValue: normalize,
25
+ * })
26
+ * ```
27
+ *
28
+ * Note: the table applies `resolveFilterValue` once per filter before any rows
29
+ * are tested. When calling a filter function directly (outside of a table),
30
+ * apply it yourself: `fn(row, columnId, fn.resolveFilterValue?.(value) ?? value)`.
31
+ */
32
+ function constructFilterFn(def) {
33
+ const filterFn = Object.assign((row, columnId, filterValue, addMeta) => {
34
+ const rawValue = row.getValue(columnId);
35
+ const dataValue = filterFn.resolveDataValue ? filterFn.resolveDataValue(rawValue) : rawValue;
36
+ return filterFn.filter(dataValue, filterValue, row, columnId, addMeta);
37
+ }, def);
38
+ return filterFn;
39
+ }
40
+ /**
41
+ * Keeps rows whose column value is strictly equal to the filter value.
42
+ *
43
+ * Uses JavaScript `===` comparison and auto-removes empty filter values.
44
+ */
45
+ const filterFn_equals = constructFilterFn({
46
+ filter: (dataValue, filterValue) => dataValue === filterValue,
47
+ autoRemove: (val) => testFalsy(val)
48
+ });
49
+ /**
50
+ * Keeps rows whose column value is loosely equal to the filter value.
51
+ *
52
+ * Uses JavaScript `==` comparison and auto-removes empty filter values. This is
53
+ * useful for matching string input against numeric row values.
54
+ */
55
+ const filterFn_weakEquals = constructFilterFn({
56
+ filter: (dataValue, filterValue) => dataValue == filterValue,
57
+ autoRemove: (val) => testFalsy(val)
58
+ });
59
+ /**
60
+ * Keeps rows whose stringified column value includes the filter text.
61
+ *
62
+ * Matching is case-sensitive and empty filter values are auto-removed.
63
+ */
64
+ const filterFn_includesStringSensitive = constructFilterFn({
65
+ filter: (dataValue, filterValue) => Boolean(dataValue?.includes(filterValue)),
66
+ autoRemove: (val) => testFalsy(val),
67
+ resolveFilterValue: (val) => String(val),
68
+ resolveDataValue: (val) => val == null ? void 0 : String(val)
69
+ });
70
+ /**
71
+ * Keeps rows whose stringified column value includes the filter text.
72
+ *
73
+ * Both values are lowercased before comparison, and empty filter values are
74
+ * auto-removed.
75
+ */
76
+ const filterFn_includesString = constructFilterFn({
77
+ filter: (dataValue, filterValue) => Boolean(dataValue?.includes(filterValue)),
78
+ autoRemove: (val) => testFalsy(val),
79
+ resolveFilterValue: (val) => String(val).toLowerCase(),
80
+ resolveDataValue: (val) => val == null ? void 0 : String(val).toLowerCase()
81
+ });
82
+ /**
83
+ * Keeps rows whose stringified column value equals the filter text.
84
+ *
85
+ * Both values are lowercased before comparison, and empty filter values are
86
+ * auto-removed.
87
+ */
88
+ const filterFn_equalsString = constructFilterFn({
89
+ filter: (dataValue, filterValue) => dataValue === filterValue,
90
+ autoRemove: (val) => testFalsy(val),
91
+ resolveFilterValue: (val) => String(val).toLowerCase(),
92
+ resolveDataValue: (val) => val == null ? void 0 : String(val).toLowerCase()
93
+ });
94
+ /**
95
+ * Keeps rows whose stringified column value exactly equals the filter text.
96
+ *
97
+ * Matching is case-sensitive and empty filter values are auto-removed.
98
+ */
99
+ const filterFn_equalsStringSensitive = constructFilterFn({
100
+ filter: (dataValue, filterValue) => dataValue === filterValue,
101
+ autoRemove: (val) => testFalsy(val),
102
+ resolveFilterValue: (val) => String(val),
103
+ resolveDataValue: (val) => val == null ? void 0 : String(val)
104
+ });
105
+ /**
106
+ * Keeps rows whose stringified column value starts with the filter text.
107
+ *
108
+ * Both values are lowercased before comparison, and empty filter values are
109
+ * auto-removed.
110
+ */
111
+ const filterFn_startsWith = constructFilterFn({
112
+ filter: (dataValue, filterValue) => Boolean(dataValue?.startsWith(filterValue)),
113
+ autoRemove: (val) => testFalsy(val),
114
+ resolveFilterValue: (val) => String(val).toLowerCase(),
115
+ resolveDataValue: (val) => val == null ? void 0 : String(val).toLowerCase()
116
+ });
117
+ /**
118
+ * Keeps rows whose stringified column value ends with the filter text.
119
+ *
120
+ * Both values are lowercased before comparison, and empty filter values are
121
+ * auto-removed.
122
+ */
123
+ const filterFn_endsWith = constructFilterFn({
124
+ filter: (dataValue, filterValue) => Boolean(dataValue?.endsWith(filterValue)),
125
+ autoRemove: (val) => testFalsy(val),
126
+ resolveFilterValue: (val) => String(val).toLowerCase(),
127
+ resolveDataValue: (val) => val == null ? void 0 : String(val).toLowerCase()
128
+ });
129
+ /**
130
+ * Keeps rows whose column value is empty.
131
+ *
132
+ * A value is empty when it is nullish or stringifies to whitespace only. The
133
+ * filter value acts as an on/off flag: `false` and blank values are
134
+ * auto-removed.
135
+ */
136
+ const filterFn_empty = constructFilterFn({
137
+ filter: (dataValue) => testValueEmpty(dataValue),
138
+ autoRemove: (val) => testFalsy(val) || val === false
139
+ });
140
+ /**
141
+ * Keeps rows whose column value is not empty.
142
+ *
143
+ * A value is empty when it is nullish or stringifies to whitespace only. The
144
+ * filter value acts as an on/off flag: `false` and blank values are
145
+ * auto-removed.
146
+ */
147
+ const filterFn_notEmpty = constructFilterFn({
148
+ filter: (dataValue) => !testValueEmpty(dataValue),
149
+ autoRemove: (val) => testFalsy(val) || val === false
150
+ });
151
+ /**
152
+ * Keeps rows whose value is greater than the filter value.
153
+ *
154
+ * Numeric values are compared numerically when both sides can be coerced to
155
+ * numbers; otherwise normalized strings are compared.
156
+ */
157
+ const filterFn_greaterThan = constructFilterFn({
158
+ filter: (dataValue, filterValue) => compareGreaterThan(dataValue, filterValue),
159
+ autoRemove: (val) => testFalsy(val)
160
+ });
161
+ /**
162
+ * Keeps rows whose value is greater than or equal to the filter value.
163
+ *
164
+ * Delegates to the built-in greater-than and strict-equality comparisons.
165
+ */
166
+ const filterFn_greaterThanOrEqualTo = constructFilterFn({
167
+ filter: (dataValue, filterValue) => compareGreaterThanOrEqualTo(dataValue, filterValue),
168
+ autoRemove: (val) => testFalsy(val)
169
+ });
170
+ /**
171
+ * Keeps rows whose value is less than the filter value.
172
+ *
173
+ * This is implemented as the inverse of greater-than-or-equal comparison.
174
+ */
175
+ const filterFn_lessThan = constructFilterFn({
176
+ filter: (dataValue, filterValue) => !compareGreaterThanOrEqualTo(dataValue, filterValue),
177
+ autoRemove: (val) => testFalsy(val)
178
+ });
179
+ /**
180
+ * Keeps rows whose value is less than or equal to the filter value.
181
+ *
182
+ * This is implemented as the inverse of greater-than comparison.
183
+ */
184
+ const filterFn_lessThanOrEqualTo = constructFilterFn({
185
+ filter: (dataValue, filterValue) => !compareGreaterThan(dataValue, filterValue),
186
+ autoRemove: (val) => testFalsy(val)
187
+ });
188
+ /**
189
+ * Keeps rows whose value falls between an exclusive min/max pair.
190
+ *
191
+ * Blank range endpoints are treated as open-ended.
192
+ */
193
+ const filterFn_between = constructFilterFn({
194
+ filter: (dataValue, filterValues) => compareBetween(dataValue, filterValues, false),
195
+ autoRemove: (val) => testFalsy(val) || Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])
196
+ });
197
+ /**
198
+ * Keeps rows whose value falls between an inclusive min/max pair.
199
+ *
200
+ * Blank range endpoints are treated as open-ended.
201
+ */
202
+ const filterFn_betweenInclusive = constructFilterFn({
203
+ filter: (dataValue, filterValues) => compareBetween(dataValue, filterValues, true),
204
+ autoRemove: (val) => testFalsy(val) || Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])
205
+ });
206
+ /**
207
+ * Keeps rows whose numeric value is inside an inclusive `[min, max]` range.
208
+ *
209
+ * Filter values are normalized so blank endpoints become open-ended and
210
+ * reversed endpoints are swapped. Only real numbers can fall inside the
211
+ * range: non-numeric row values (`null`, `undefined`, strings, booleans)
212
+ * never match.
213
+ */
214
+ const filterFn_inNumberRange = constructFilterFn({
215
+ filter: (dataValue, filterValue) => {
216
+ if (typeof dataValue !== "number" || Number.isNaN(dataValue)) return false;
217
+ const [min, max] = filterValue;
218
+ return dataValue >= min && dataValue <= max;
219
+ },
220
+ resolveFilterValue: (val) => {
221
+ const [unsafeMin, unsafeMax] = val;
222
+ const parsedMin = typeof unsafeMin !== "number" ? parseFloat(unsafeMin) : unsafeMin;
223
+ const parsedMax = typeof unsafeMax !== "number" ? parseFloat(unsafeMax) : unsafeMax;
224
+ let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
225
+ let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
226
+ if (min > max) {
227
+ const temp = min;
228
+ min = max;
229
+ max = temp;
230
+ }
231
+ return [min, max];
232
+ },
233
+ autoRemove: (val) => testFalsy(val) || Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])
234
+ });
235
+ /**
236
+ * Keeps rows whose date value is inside an inclusive `[min, max]` date range.
237
+ *
238
+ * Row values and range endpoints may be `Date` objects, timestamps, or
239
+ * parseable date strings. Blank or invalid endpoints become open-ended and
240
+ * reversed endpoints are swapped. Rows without a valid date never match.
241
+ */
242
+ const filterFn_inDateRange = constructFilterFn({
243
+ filter: (dataValue, filterValue) => {
244
+ const [min, max] = filterValue;
245
+ return dataValue >= min && dataValue <= max;
246
+ },
247
+ resolveFilterValue: (val) => {
248
+ const [unsafeMin, unsafeMax] = val;
249
+ const parsedMin = toDateTimestamp(unsafeMin);
250
+ const parsedMax = toDateTimestamp(unsafeMax);
251
+ let min = Number.isNaN(parsedMin) ? -Infinity : parsedMin;
252
+ let max = Number.isNaN(parsedMax) ? Infinity : parsedMax;
253
+ if (min > max) {
254
+ const temp = min;
255
+ min = max;
256
+ max = temp;
257
+ }
258
+ return [min, max];
259
+ },
260
+ resolveDataValue: (val) => toDateTimestamp(val),
261
+ autoRemove: (val) => testFalsy(val) || Array.isArray(val) && testFalsy(val[0]) && testFalsy(val[1])
262
+ });
263
+ /**
264
+ * Keeps rows whose scalar column value equals at least one filter value.
265
+ */
266
+ const filterFn_arrHas = constructFilterFn({
267
+ filter: (dataValue, filterValue) => {
268
+ for (let i = 0; i < filterValue.length; i++) if (dataValue === filterValue[i]) return true;
269
+ return false;
270
+ },
271
+ autoRemove: (val) => testFalsy(val) || !val?.length
272
+ });
273
+ /**
274
+ * Keeps rows whose array or string column value includes at least one filter value.
275
+ */
276
+ const filterFn_arrIncludes = constructFilterFn({
277
+ filter: (dataValue, filterValue) => {
278
+ if (typeof dataValue !== "string" && !Array.isArray(dataValue)) return false;
279
+ for (let i = 0; i < filterValue.length; i++) if (dataValue.includes(filterValue[i])) return true;
280
+ return false;
281
+ },
282
+ autoRemove: (val) => testFalsy(val) || !val?.length
283
+ });
284
+ /**
285
+ * Keeps rows whose array column value includes every filter value.
286
+ */
287
+ const filterFn_arrIncludesAll = constructFilterFn({
288
+ filter: (dataValue, filterValue) => {
289
+ if (!Array.isArray(dataValue)) return false;
290
+ for (let i = 0; i < filterValue.length; i++) if (!dataValue.includes(filterValue[i])) return false;
291
+ return true;
292
+ },
293
+ autoRemove: (val) => testFalsy(val) || !val?.length
294
+ });
295
+ /**
296
+ * Keeps rows whose array column value includes at least one filter value.
297
+ */
298
+ const filterFn_arrIncludesSome = constructFilterFn({
299
+ filter: (dataValue, filterValue) => {
300
+ if (!Array.isArray(dataValue)) return false;
301
+ for (let i = 0; i < filterValue.length; i++) if (dataValue.includes(filterValue[i])) return true;
302
+ return false;
303
+ },
304
+ autoRemove: (val) => testFalsy(val) || !val?.length
305
+ });
306
+ /**
307
+ * The built-in filter function registry.
308
+ *
309
+ * Registering this full object opts out of tree-shaking: every built-in
310
+ * filter function ends up in your bundle. Prefer importing the `filterFn_*`
311
+ * functions you actually use and registering just those in the `filterFns`
312
+ * slot, or passing them directly to the `filterFn` column option.
313
+ *
314
+ * @deprecated Import individual `filterFn_*` functions instead for a smaller
315
+ * bundle. This export still works and is not going away in v9, but built-in
316
+ * name resolution (including `filterFn: 'auto'`) only finds functions you
317
+ * register yourself.
318
+ */
319
+ const filterFns = {
320
+ arrIncludes: filterFn_arrIncludes,
321
+ arrIncludesAll: filterFn_arrIncludesAll,
322
+ arrHas: filterFn_arrHas,
323
+ arrIncludesSome: filterFn_arrIncludesSome,
324
+ between: filterFn_between,
325
+ betweenInclusive: filterFn_betweenInclusive,
326
+ empty: filterFn_empty,
327
+ endsWith: filterFn_endsWith,
328
+ equals: filterFn_equals,
329
+ equalsString: filterFn_equalsString,
330
+ equalsStringSensitive: filterFn_equalsStringSensitive,
331
+ inDateRange: filterFn_inDateRange,
332
+ inNumberRange: filterFn_inNumberRange,
333
+ includesString: filterFn_includesString,
334
+ includesStringSensitive: filterFn_includesStringSensitive,
335
+ notEmpty: filterFn_notEmpty,
336
+ startsWith: filterFn_startsWith,
337
+ weakEquals: filterFn_weakEquals
338
+ };
339
+ function testFalsy(val) {
340
+ return val === void 0 || val === null || val === "";
341
+ }
342
+ function testValueEmpty(dataValue) {
343
+ return dataValue == null || String(dataValue).trim() === "";
344
+ }
345
+ function toDateTimestamp(value) {
346
+ if (value instanceof Date) return value.getTime();
347
+ if (typeof value === "number") return value;
348
+ if (value == null || value === "") return NaN;
349
+ return new Date(value).getTime();
350
+ }
351
+ function compareGreaterThan(dataValue, filterValue) {
352
+ const numericDataValue = dataValue == null ? 0 : +dataValue;
353
+ const numericFilterValue = Number(filterValue);
354
+ if (!isNaN(numericFilterValue) && !isNaN(numericDataValue)) return numericDataValue > numericFilterValue;
355
+ return String(dataValue ?? "").toLowerCase().trim() > String(filterValue).toLowerCase().trim();
356
+ }
357
+ function compareGreaterThanOrEqualTo(dataValue, filterValue) {
358
+ return dataValue === filterValue || compareGreaterThan(dataValue, filterValue);
359
+ }
360
+ function compareBetween(dataValue, filterValues, inclusive) {
361
+ const min = filterValues[0];
362
+ const hasMin = min !== "" && min !== void 0;
363
+ if (hasMin) {
364
+ if (!(inclusive ? compareGreaterThanOrEqualTo(dataValue, min) : compareGreaterThan(dataValue, min))) return false;
365
+ }
366
+ const max = filterValues[1];
367
+ if (max === "" || max === void 0) return true;
368
+ if (hasMin) {
369
+ const numericMin = Number(min);
370
+ const numericMax = Number(max);
371
+ if (!isNaN(numericMin) && !isNaN(numericMax) && numericMin > numericMax) return true;
372
+ }
373
+ return inclusive ? !compareGreaterThan(dataValue, max) : !compareGreaterThanOrEqualTo(dataValue, max);
374
+ }
375
+
376
+ //#endregion
377
+ export { constructFilterFn, filterFn_arrHas, filterFn_arrIncludes, filterFn_arrIncludesAll, filterFn_arrIncludesSome, filterFn_between, filterFn_betweenInclusive, filterFn_empty, filterFn_endsWith, filterFn_equals, filterFn_equalsString, filterFn_equalsStringSensitive, filterFn_greaterThan, filterFn_greaterThanOrEqualTo, filterFn_inDateRange, filterFn_inNumberRange, filterFn_includesString, filterFn_includesStringSensitive, filterFn_lessThan, filterFn_lessThanOrEqualTo, filterFn_notEmpty, filterFn_startsWith, filterFn_weakEquals, filterFns };
@@ -1,3 +1,4 @@
1
+ import { makeObjectMap } from "../../utils.js";
1
2
  import { constructRow } from "../../core/rows/constructRow.js";
2
3
 
3
4
  //#region src/features/column-filtering/filterRowsUtils.ts
@@ -12,7 +13,7 @@ function filterRows(rows, filterRowImpl, table) {
12
13
  }
13
14
  function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
14
15
  const newFilteredFlatRows = [];
15
- const newFilteredRowsById = {};
16
+ const newFilteredRowsById = makeObjectMap();
16
17
  const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
17
18
  const recurseFilterRows = (rowsToFilter, depth = 0) => {
18
19
  const filteredRows = [];
@@ -53,7 +54,7 @@ function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
53
54
  }
54
55
  function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
55
56
  const newFilteredFlatRows = [];
56
- const newFilteredRowsById = {};
57
+ const newFilteredRowsById = makeObjectMap();
57
58
  const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
58
59
  const recurseFilterRows = (rowsToFilter, depth = 0) => {
59
60
  const filteredRows = [];
@@ -66,6 +67,7 @@ function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
66
67
  filteredRows.push(row);
67
68
  newFilteredFlatRows.push(row);
68
69
  newFilteredRowsById[row.id] = row;
70
+ if (row.subRows.length && depth >= maxDepth) addSubRowsToFlatArrays(row.subRows, newFilteredFlatRows, newFilteredRowsById);
69
71
  }
70
72
  return filteredRows;
71
73
  };
@@ -75,7 +77,13 @@ function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
75
77
  rowsById: newFilteredRowsById
76
78
  };
77
79
  }
80
+ function addSubRowsToFlatArrays(subRows, flatRows, rowsById) {
81
+ for (const subRow of subRows) {
82
+ flatRows.push(subRow);
83
+ rowsById[subRow.id] = subRow;
84
+ if (subRow.subRows.length) addSubRowsToFlatArrays(subRow.subRows, flatRows, rowsById);
85
+ }
86
+ }
78
87
 
79
88
  //#endregion
80
- export { filterRows };
81
- //# sourceMappingURL=filterRowsUtils.js.map
89
+ export { filterRows };
@@ -1,10 +1,8 @@
1
1
  import { TableFeature } from "../../types/TableFeatures.js";
2
-
3
2
  //#region src/features/column-grouping/columnGroupingFeature.d.ts
4
3
  /**
5
- * Feature that adds column grouping state, aggregation defaults, and grouped row APIs.
4
+ * Feature that adds column grouping state and grouped row APIs.
6
5
  */
7
6
  declare const columnGroupingFeature: TableFeature;
8
7
  //#endregion
9
- export { columnGroupingFeature };
10
- //# sourceMappingURL=columnGroupingFeature.d.ts.map
8
+ export { columnGroupingFeature };