@tanstack/table-core 9.0.0-alpha.43 → 9.0.0-alpha.47

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 (528) hide show
  1. package/dist/core/cells/constructCell.cjs +9 -3
  2. package/dist/core/cells/constructCell.cjs.map +1 -1
  3. package/dist/core/cells/constructCell.d.cts +5 -0
  4. package/dist/core/cells/constructCell.d.ts +5 -0
  5. package/dist/core/cells/constructCell.js +9 -3
  6. package/dist/core/cells/constructCell.js.map +1 -1
  7. package/dist/core/cells/coreCellsFeature.cjs +5 -0
  8. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.d.cts +5 -0
  10. package/dist/core/cells/coreCellsFeature.d.ts +5 -0
  11. package/dist/core/cells/coreCellsFeature.js +5 -0
  12. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  13. package/dist/core/cells/coreCellsFeature.utils.cjs +30 -0
  14. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  15. package/dist/core/cells/coreCellsFeature.utils.d.cts +30 -0
  16. package/dist/core/cells/coreCellsFeature.utils.d.ts +30 -0
  17. package/dist/core/cells/coreCellsFeature.utils.js +30 -0
  18. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  19. package/dist/core/columns/constructColumn.cjs +21 -12
  20. package/dist/core/columns/constructColumn.cjs.map +1 -1
  21. package/dist/core/columns/constructColumn.d.cts +5 -0
  22. package/dist/core/columns/constructColumn.d.ts +5 -0
  23. package/dist/core/columns/constructColumn.js +21 -12
  24. package/dist/core/columns/constructColumn.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.cjs +9 -0
  26. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  27. package/dist/core/columns/coreColumnsFeature.d.cts +5 -0
  28. package/dist/core/columns/coreColumnsFeature.d.ts +5 -0
  29. package/dist/core/columns/coreColumnsFeature.js +10 -1
  30. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  31. package/dist/core/columns/coreColumnsFeature.types.d.cts +4 -0
  32. package/dist/core/columns/coreColumnsFeature.types.d.ts +4 -0
  33. package/dist/core/columns/coreColumnsFeature.utils.cjs +107 -4
  34. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  35. package/dist/core/columns/coreColumnsFeature.utils.d.cts +92 -1
  36. package/dist/core/columns/coreColumnsFeature.utils.d.ts +92 -1
  37. package/dist/core/columns/coreColumnsFeature.utils.js +107 -5
  38. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  39. package/dist/core/coreFeatures.cjs +5 -0
  40. package/dist/core/coreFeatures.cjs.map +1 -1
  41. package/dist/core/coreFeatures.d.cts +5 -0
  42. package/dist/core/coreFeatures.d.ts +5 -0
  43. package/dist/core/coreFeatures.js +5 -0
  44. package/dist/core/coreFeatures.js.map +1 -1
  45. package/dist/core/headers/buildHeaderGroups.cjs +33 -20
  46. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  47. package/dist/core/headers/buildHeaderGroups.d.cts +5 -0
  48. package/dist/core/headers/buildHeaderGroups.d.ts +5 -0
  49. package/dist/core/headers/buildHeaderGroups.js +33 -20
  50. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  51. package/dist/core/headers/constructHeader.cjs +9 -3
  52. package/dist/core/headers/constructHeader.cjs.map +1 -1
  53. package/dist/core/headers/constructHeader.d.cts +5 -0
  54. package/dist/core/headers/constructHeader.d.ts +5 -0
  55. package/dist/core/headers/constructHeader.js +9 -3
  56. package/dist/core/headers/constructHeader.js.map +1 -1
  57. package/dist/core/headers/coreHeadersFeature.cjs +6 -6
  58. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  59. package/dist/core/headers/coreHeadersFeature.d.cts +5 -0
  60. package/dist/core/headers/coreHeadersFeature.d.ts +5 -0
  61. package/dist/core/headers/coreHeadersFeature.js +7 -7
  62. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  63. package/dist/core/headers/coreHeadersFeature.utils.cjs +87 -16
  64. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  65. package/dist/core/headers/coreHeadersFeature.utils.d.cts +61 -1
  66. package/dist/core/headers/coreHeadersFeature.utils.d.ts +61 -1
  67. package/dist/core/headers/coreHeadersFeature.utils.js +89 -18
  68. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  69. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
  70. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
  71. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +5 -0
  72. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -1
  73. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +10 -0
  74. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +10 -0
  75. package/dist/core/reactivity/coreReactivityFeature.utils.js +5 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -1
  77. package/dist/core/row-models/coreRowModelsFeature.cjs +5 -0
  78. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  79. package/dist/core/row-models/coreRowModelsFeature.d.cts +5 -0
  80. package/dist/core/row-models/coreRowModelsFeature.d.ts +5 -0
  81. package/dist/core/row-models/coreRowModelsFeature.js +5 -0
  82. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  83. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +2 -1
  84. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +2 -1
  85. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +120 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  87. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +120 -0
  88. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +120 -0
  89. package/dist/core/row-models/coreRowModelsFeature.utils.js +120 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  91. package/dist/core/row-models/createCoreRowModel.cjs +5 -0
  92. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  93. package/dist/core/row-models/createCoreRowModel.d.cts +5 -0
  94. package/dist/core/row-models/createCoreRowModel.d.ts +5 -0
  95. package/dist/core/row-models/createCoreRowModel.js +5 -0
  96. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  97. package/dist/core/rows/constructRow.cjs +13 -6
  98. package/dist/core/rows/constructRow.cjs.map +1 -1
  99. package/dist/core/rows/constructRow.d.cts +5 -0
  100. package/dist/core/rows/constructRow.d.ts +5 -0
  101. package/dist/core/rows/constructRow.js +13 -6
  102. package/dist/core/rows/constructRow.js.map +1 -1
  103. package/dist/core/rows/coreRowsFeature.cjs +5 -0
  104. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  105. package/dist/core/rows/coreRowsFeature.d.cts +5 -0
  106. package/dist/core/rows/coreRowsFeature.d.ts +5 -0
  107. package/dist/core/rows/coreRowsFeature.js +5 -0
  108. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  109. package/dist/core/rows/coreRowsFeature.types.d.cts +3 -0
  110. package/dist/core/rows/coreRowsFeature.types.d.ts +3 -0
  111. package/dist/core/rows/coreRowsFeature.utils.cjs +112 -7
  112. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  113. package/dist/core/rows/coreRowsFeature.utils.d.cts +101 -0
  114. package/dist/core/rows/coreRowsFeature.utils.d.ts +101 -0
  115. package/dist/core/rows/coreRowsFeature.utils.js +112 -7
  116. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  117. package/dist/core/table/constructTable.cjs +19 -5
  118. package/dist/core/table/constructTable.cjs.map +1 -1
  119. package/dist/core/table/constructTable.d.cts +10 -0
  120. package/dist/core/table/constructTable.d.ts +10 -0
  121. package/dist/core/table/constructTable.js +19 -5
  122. package/dist/core/table/constructTable.js.map +1 -1
  123. package/dist/core/table/coreTablesFeature.cjs +5 -0
  124. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  125. package/dist/core/table/coreTablesFeature.d.cts +5 -0
  126. package/dist/core/table/coreTablesFeature.d.ts +5 -0
  127. package/dist/core/table/coreTablesFeature.js +5 -0
  128. package/dist/core/table/coreTablesFeature.js.map +1 -1
  129. package/dist/core/table/coreTablesFeature.types.d.cts +22 -12
  130. package/dist/core/table/coreTablesFeature.types.d.ts +22 -12
  131. package/dist/core/table/coreTablesFeature.utils.cjs +49 -1
  132. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  133. package/dist/core/table/coreTablesFeature.utils.d.cts +44 -0
  134. package/dist/core/table/coreTablesFeature.utils.d.ts +44 -0
  135. package/dist/core/table/coreTablesFeature.utils.js +49 -1
  136. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  137. package/dist/features/column-faceting/columnFacetingFeature.cjs +9 -1
  138. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  139. package/dist/features/column-faceting/columnFacetingFeature.d.cts +9 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.d.ts +9 -1
  141. package/dist/features/column-faceting/columnFacetingFeature.js +9 -1
  142. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  143. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +12 -6
  144. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +12 -6
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +60 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +60 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +60 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.utils.js +60 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +13 -5
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +5 -0
  154. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +5 -0
  155. package/dist/features/column-faceting/createFacetedMinMaxValues.js +13 -5
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  157. package/dist/features/column-faceting/createFacetedRowModel.cjs +13 -3
  158. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  159. package/dist/features/column-faceting/createFacetedRowModel.d.cts +5 -0
  160. package/dist/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  161. package/dist/features/column-faceting/createFacetedRowModel.js +13 -3
  162. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  163. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +12 -4
  164. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  165. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +5 -0
  166. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +5 -0
  167. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -4
  168. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  169. package/dist/features/column-filtering/columnFilteringFeature.cjs +10 -2
  170. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  171. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -2
  172. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -2
  173. package/dist/features/column-filtering/columnFilteringFeature.js +10 -2
  174. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  175. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +7 -4
  176. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +7 -4
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +113 -2
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +111 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +111 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.utils.js +113 -2
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  183. package/dist/features/column-filtering/createFilteredRowModel.cjs +16 -5
  184. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  185. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -0
  186. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -0
  187. package/dist/features/column-filtering/createFilteredRowModel.js +16 -5
  188. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  189. package/dist/features/column-filtering/filterRowsUtils.cjs +5 -0
  190. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  191. package/dist/features/column-filtering/filterRowsUtils.js +5 -0
  192. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.cjs +9 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  195. package/dist/features/column-grouping/columnGroupingFeature.d.cts +9 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.d.ts +9 -1
  197. package/dist/features/column-grouping/columnGroupingFeature.js +9 -1
  198. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  199. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +7 -3
  200. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +7 -3
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +151 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +151 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +151 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.utils.js +151 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  207. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  209. package/dist/features/column-grouping/createGroupedRowModel.d.cts +5 -0
  210. package/dist/features/column-grouping/createGroupedRowModel.d.ts +5 -0
  211. package/dist/features/column-grouping/createGroupedRowModel.js +5 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  213. package/dist/features/column-ordering/columnOrderingFeature.cjs +12 -3
  214. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  215. package/dist/features/column-ordering/columnOrderingFeature.d.cts +9 -1
  216. package/dist/features/column-ordering/columnOrderingFeature.d.ts +9 -1
  217. package/dist/features/column-ordering/columnOrderingFeature.js +12 -3
  218. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  219. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +4 -2
  220. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +4 -2
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +108 -8
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +81 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +81 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.utils.js +108 -8
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  227. package/dist/features/column-pinning/columnPinningFeature.cjs +17 -30
  228. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  229. package/dist/features/column-pinning/columnPinningFeature.d.cts +9 -1
  230. package/dist/features/column-pinning/columnPinningFeature.d.ts +9 -1
  231. package/dist/features/column-pinning/columnPinningFeature.js +17 -30
  232. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  233. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +6 -2
  234. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +6 -2
  235. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +387 -27
  236. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  237. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +318 -6
  238. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +318 -6
  239. package/dist/features/column-pinning/columnPinningFeature.utils.js +388 -28
  240. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  241. package/dist/features/column-resizing/columnResizingFeature.cjs +9 -2
  242. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  243. package/dist/features/column-resizing/columnResizingFeature.d.cts +9 -2
  244. package/dist/features/column-resizing/columnResizingFeature.d.ts +9 -2
  245. package/dist/features/column-resizing/columnResizingFeature.js +9 -2
  246. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  247. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +14 -6
  248. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +14 -6
  249. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +81 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  251. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +81 -0
  252. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.utils.js +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  255. package/dist/features/column-sizing/columnSizingFeature.cjs +78 -16
  256. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  257. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -2
  258. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -2
  259. package/dist/features/column-sizing/columnSizingFeature.js +79 -17
  260. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  261. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +6 -3
  262. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +6 -3
  263. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +151 -3
  264. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  265. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +141 -0
  266. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +141 -0
  267. package/dist/features/column-sizing/columnSizingFeature.utils.js +151 -3
  268. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  269. package/dist/features/column-visibility/columnVisibilityFeature.cjs +30 -20
  270. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  271. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +9 -1
  272. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +9 -1
  273. package/dist/features/column-visibility/columnVisibilityFeature.js +31 -21
  274. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  275. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +8 -3
  276. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +8 -3
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +199 -12
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +154 -3
  280. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +154 -3
  281. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +199 -12
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  283. package/dist/features/global-filtering/globalFilteringFeature.cjs +9 -2
  284. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  285. package/dist/features/global-filtering/globalFilteringFeature.d.cts +9 -2
  286. package/dist/features/global-filtering/globalFilteringFeature.d.ts +9 -2
  287. package/dist/features/global-filtering/globalFilteringFeature.js +9 -2
  288. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  289. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +4 -2
  290. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -2
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +51 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +51 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +51 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.utils.js +51 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  297. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  299. package/dist/features/row-expanding/createExpandedRowModel.d.cts +10 -0
  300. package/dist/features/row-expanding/createExpandedRowModel.d.ts +10 -0
  301. package/dist/features/row-expanding/createExpandedRowModel.js +10 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  303. package/dist/features/row-expanding/rowExpandingFeature.cjs +9 -1
  304. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  305. package/dist/features/row-expanding/rowExpandingFeature.d.cts +9 -1
  306. package/dist/features/row-expanding/rowExpandingFeature.d.ts +9 -1
  307. package/dist/features/row-expanding/rowExpandingFeature.js +9 -1
  308. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  309. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +10 -5
  310. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +10 -5
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +153 -2
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +151 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +151 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.utils.js +153 -2
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  317. package/dist/features/row-pagination/createPaginatedRowModel.cjs +5 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  319. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +5 -0
  320. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  321. package/dist/features/row-pagination/createPaginatedRowModel.js +5 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  323. package/dist/features/row-pagination/rowPaginationFeature.cjs +9 -1
  324. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  325. package/dist/features/row-pagination/rowPaginationFeature.d.cts +9 -1
  326. package/dist/features/row-pagination/rowPaginationFeature.d.ts +9 -1
  327. package/dist/features/row-pagination/rowPaginationFeature.js +9 -1
  328. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  329. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +11 -7
  330. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +11 -7
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +175 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +175 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +175 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.utils.js +175 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  337. package/dist/features/row-pinning/rowPinningFeature.cjs +9 -1
  338. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  339. package/dist/features/row-pinning/rowPinningFeature.d.cts +9 -1
  340. package/dist/features/row-pinning/rowPinningFeature.d.ts +9 -1
  341. package/dist/features/row-pinning/rowPinningFeature.js +9 -1
  342. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  343. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +4 -2
  344. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +4 -2
  345. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +125 -7
  346. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  347. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +112 -0
  348. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +112 -0
  349. package/dist/features/row-pinning/rowPinningFeature.utils.js +125 -7
  350. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  351. package/dist/features/row-selection/rowSelectionFeature.cjs +9 -1
  352. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  353. package/dist/features/row-selection/rowSelectionFeature.d.cts +9 -1
  354. package/dist/features/row-selection/rowSelectionFeature.d.ts +9 -1
  355. package/dist/features/row-selection/rowSelectionFeature.js +9 -1
  356. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  357. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +4 -2
  358. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +4 -2
  359. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +265 -3
  360. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  361. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +259 -0
  362. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +259 -0
  363. package/dist/features/row-selection/rowSelectionFeature.utils.js +265 -3
  364. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  365. package/dist/features/row-sorting/createSortedRowModel.cjs +18 -8
  366. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  367. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -0
  368. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -0
  369. package/dist/features/row-sorting/createSortedRowModel.js +18 -8
  370. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  371. package/dist/features/row-sorting/rowSortingFeature.cjs +11 -3
  372. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  373. package/dist/features/row-sorting/rowSortingFeature.d.cts +9 -1
  374. package/dist/features/row-sorting/rowSortingFeature.d.ts +9 -1
  375. package/dist/features/row-sorting/rowSortingFeature.js +11 -3
  376. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  377. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +7 -3
  378. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +7 -3
  379. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +153 -2
  380. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  381. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +151 -0
  382. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +151 -0
  383. package/dist/features/row-sorting/rowSortingFeature.utils.js +153 -2
  384. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  385. package/dist/features/stockFeatures.cjs +5 -0
  386. package/dist/features/stockFeatures.cjs.map +1 -1
  387. package/dist/features/stockFeatures.d.cts +5 -0
  388. package/dist/features/stockFeatures.d.ts +5 -0
  389. package/dist/features/stockFeatures.js +5 -0
  390. package/dist/features/stockFeatures.js.map +1 -1
  391. package/dist/flex-render.cjs +10 -0
  392. package/dist/flex-render.cjs.map +1 -1
  393. package/dist/flex-render.d.cts +10 -0
  394. package/dist/flex-render.d.ts +10 -0
  395. package/dist/flex-render.js +10 -0
  396. package/dist/flex-render.js.map +1 -1
  397. package/dist/fns/aggregationFns.cjs +19 -7
  398. package/dist/fns/aggregationFns.cjs.map +1 -1
  399. package/dist/fns/aggregationFns.d.cts +5 -0
  400. package/dist/fns/aggregationFns.d.ts +5 -0
  401. package/dist/fns/aggregationFns.js +19 -8
  402. package/dist/fns/aggregationFns.js.map +1 -1
  403. package/dist/fns/filterFns.cjs +5 -0
  404. package/dist/fns/filterFns.cjs.map +1 -1
  405. package/dist/fns/filterFns.d.cts +5 -0
  406. package/dist/fns/filterFns.d.ts +5 -0
  407. package/dist/fns/filterFns.js +5 -0
  408. package/dist/fns/filterFns.js.map +1 -1
  409. package/dist/fns/sortFns.cjs +49 -4
  410. package/dist/fns/sortFns.cjs.map +1 -1
  411. package/dist/fns/sortFns.d.cts +41 -0
  412. package/dist/fns/sortFns.d.ts +41 -0
  413. package/dist/fns/sortFns.js +49 -4
  414. package/dist/fns/sortFns.js.map +1 -1
  415. package/dist/helpers/columnHelper.cjs.map +1 -1
  416. package/dist/helpers/columnHelper.js.map +1 -1
  417. package/dist/helpers/tableFeatures.cjs.map +1 -1
  418. package/dist/helpers/tableFeatures.js.map +1 -1
  419. package/dist/helpers/tableOptions.cjs +6 -0
  420. package/dist/helpers/tableOptions.cjs.map +1 -1
  421. package/dist/helpers/tableOptions.d.cts +26 -0
  422. package/dist/helpers/tableOptions.d.ts +26 -0
  423. package/dist/helpers/tableOptions.js +6 -0
  424. package/dist/helpers/tableOptions.js.map +1 -1
  425. package/dist/index.cjs +0 -4
  426. package/dist/index.d.cts +2 -2
  427. package/dist/index.d.ts +2 -2
  428. package/dist/index.js +2 -2
  429. package/dist/static-functions.cjs +2 -1
  430. package/dist/static-functions.d.cts +3 -3
  431. package/dist/static-functions.d.ts +3 -3
  432. package/dist/static-functions.js +3 -3
  433. package/dist/store-reactivity-bindings.cjs +1 -0
  434. package/dist/store-reactivity-bindings.cjs.map +1 -1
  435. package/dist/store-reactivity-bindings.js +1 -0
  436. package/dist/store-reactivity-bindings.js.map +1 -1
  437. package/dist/utils.cjs +49 -25
  438. package/dist/utils.cjs.map +1 -1
  439. package/dist/utils.d.cts +33 -10
  440. package/dist/utils.d.ts +33 -10
  441. package/dist/utils.js +50 -22
  442. package/dist/utils.js.map +1 -1
  443. package/package.json +1 -1
  444. package/src/core/cells/constructCell.ts +8 -2
  445. package/src/core/cells/coreCellsFeature.ts +5 -0
  446. package/src/core/cells/coreCellsFeature.utils.ts +30 -0
  447. package/src/core/columns/constructColumn.ts +11 -3
  448. package/src/core/columns/coreColumnsFeature.ts +10 -0
  449. package/src/core/columns/coreColumnsFeature.types.ts +4 -0
  450. package/src/core/columns/coreColumnsFeature.utils.ts +113 -8
  451. package/src/core/coreFeatures.ts +5 -0
  452. package/src/core/headers/buildHeaderGroups.ts +36 -31
  453. package/src/core/headers/constructHeader.ts +8 -2
  454. package/src/core/headers/coreHeadersFeature.ts +7 -27
  455. package/src/core/headers/coreHeadersFeature.utils.ts +110 -46
  456. package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
  457. package/src/core/reactivity/coreReactivityFeature.utils.ts +15 -0
  458. package/src/core/row-models/coreRowModelsFeature.ts +5 -0
  459. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -1
  460. package/src/core/row-models/coreRowModelsFeature.utils.ts +120 -0
  461. package/src/core/row-models/createCoreRowModel.ts +5 -0
  462. package/src/core/rows/constructRow.ts +11 -4
  463. package/src/core/rows/coreRowsFeature.ts +5 -0
  464. package/src/core/rows/coreRowsFeature.types.ts +3 -0
  465. package/src/core/rows/coreRowsFeature.utils.ts +116 -10
  466. package/src/core/table/constructTable.ts +16 -4
  467. package/src/core/table/coreTablesFeature.ts +5 -0
  468. package/src/core/table/coreTablesFeature.types.ts +22 -12
  469. package/src/core/table/coreTablesFeature.utils.ts +47 -1
  470. package/src/features/column-faceting/columnFacetingFeature.ts +9 -1
  471. package/src/features/column-faceting/columnFacetingFeature.types.ts +12 -6
  472. package/src/features/column-faceting/columnFacetingFeature.utils.ts +60 -0
  473. package/src/features/column-faceting/createFacetedMinMaxValues.ts +13 -10
  474. package/src/features/column-faceting/createFacetedRowModel.ts +15 -6
  475. package/src/features/column-faceting/createFacetedUniqueValues.ts +9 -3
  476. package/src/features/column-filtering/columnFilteringFeature.ts +10 -2
  477. package/src/features/column-filtering/columnFilteringFeature.types.ts +7 -4
  478. package/src/features/column-filtering/columnFilteringFeature.utils.ts +113 -2
  479. package/src/features/column-filtering/createFilteredRowModel.ts +19 -8
  480. package/src/features/column-filtering/filterRowsUtils.ts +5 -0
  481. package/src/features/column-grouping/columnGroupingFeature.ts +9 -1
  482. package/src/features/column-grouping/columnGroupingFeature.types.ts +7 -3
  483. package/src/features/column-grouping/columnGroupingFeature.utils.ts +151 -0
  484. package/src/features/column-grouping/createGroupedRowModel.ts +5 -0
  485. package/src/features/column-ordering/columnOrderingFeature.ts +10 -1
  486. package/src/features/column-ordering/columnOrderingFeature.types.ts +4 -2
  487. package/src/features/column-ordering/columnOrderingFeature.utils.ts +117 -17
  488. package/src/features/column-pinning/columnPinningFeature.ts +11 -12
  489. package/src/features/column-pinning/columnPinningFeature.types.ts +6 -2
  490. package/src/features/column-pinning/columnPinningFeature.utils.ts +425 -76
  491. package/src/features/column-resizing/columnResizingFeature.ts +9 -2
  492. package/src/features/column-resizing/columnResizingFeature.types.ts +14 -6
  493. package/src/features/column-resizing/columnResizingFeature.utils.ts +81 -0
  494. package/src/features/column-sizing/columnSizingFeature.ts +54 -18
  495. package/src/features/column-sizing/columnSizingFeature.types.ts +6 -3
  496. package/src/features/column-sizing/columnSizingFeature.utils.ts +168 -9
  497. package/src/features/column-visibility/columnVisibilityFeature.ts +20 -18
  498. package/src/features/column-visibility/columnVisibilityFeature.types.ts +11 -3
  499. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +213 -24
  500. package/src/features/global-filtering/globalFilteringFeature.ts +9 -2
  501. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -2
  502. package/src/features/global-filtering/globalFilteringFeature.utils.ts +51 -0
  503. package/src/features/row-expanding/createExpandedRowModel.ts +10 -0
  504. package/src/features/row-expanding/rowExpandingFeature.ts +9 -1
  505. package/src/features/row-expanding/rowExpandingFeature.types.ts +10 -5
  506. package/src/features/row-expanding/rowExpandingFeature.utils.ts +153 -2
  507. package/src/features/row-pagination/createPaginatedRowModel.ts +5 -0
  508. package/src/features/row-pagination/rowPaginationFeature.ts +9 -1
  509. package/src/features/row-pagination/rowPaginationFeature.types.ts +11 -7
  510. package/src/features/row-pagination/rowPaginationFeature.utils.ts +175 -0
  511. package/src/features/row-pinning/rowPinningFeature.ts +9 -1
  512. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -2
  513. package/src/features/row-pinning/rowPinningFeature.utils.ts +132 -18
  514. package/src/features/row-selection/rowSelectionFeature.ts +9 -1
  515. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -2
  516. package/src/features/row-selection/rowSelectionFeature.utils.ts +279 -19
  517. package/src/features/row-sorting/createSortedRowModel.ts +21 -13
  518. package/src/features/row-sorting/rowSortingFeature.ts +11 -3
  519. package/src/features/row-sorting/rowSortingFeature.types.ts +7 -3
  520. package/src/features/row-sorting/rowSortingFeature.utils.ts +153 -2
  521. package/src/features/stockFeatures.ts +5 -0
  522. package/src/flex-render.ts +10 -0
  523. package/src/fns/aggregationFns.ts +25 -8
  524. package/src/fns/filterFns.ts +5 -0
  525. package/src/fns/sortFns.ts +50 -5
  526. package/src/helpers/tableOptions.ts +32 -0
  527. package/src/store-reactivity-bindings.ts +1 -0
  528. package/src/utils.ts +52 -34
@@ -6,6 +6,16 @@ import type { TableFeatures } from '../../types/TableFeatures'
6
6
  import type { Row } from '../../types/Row'
7
7
  import type { Cell } from '../../types/Cell'
8
8
 
9
+ /**
10
+ * Returns value for a row.
11
+ *
12
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const value = row_getValue(row)
17
+ * ```
18
+ */
9
19
  export function row_getValue<
10
20
  TFeatures extends TableFeatures,
11
21
  TData extends RowData,
@@ -25,6 +35,16 @@ export function row_getValue<
25
35
  return row._valuesCache[columnId]
26
36
  }
27
37
 
38
+ /**
39
+ * Returns unique values for a row.
40
+ *
41
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const value = row_getUniqueValues(row)
46
+ * ```
47
+ */
28
48
  export function row_getUniqueValues<
29
49
  TFeatures extends TableFeatures,
30
50
  TData extends RowData,
@@ -52,6 +72,17 @@ export function row_getUniqueValues<
52
72
  return row._uniqueValuesCache[columnId]
53
73
  }
54
74
 
75
+ /**
76
+ * Returns a renderable row value for a column.
77
+ *
78
+ * If the accessor value is nullish, the table's `renderFallbackValue` is used
79
+ * instead.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const value = row_renderValue(row)
84
+ * ```
85
+ */
55
86
  export function row_renderValue<
56
87
  TFeatures extends TableFeatures,
57
88
  TData extends RowData,
@@ -59,6 +90,16 @@ export function row_renderValue<
59
90
  return row.getValue(columnId) ?? row.table.options.renderFallbackValue
60
91
  }
61
92
 
93
+ /**
94
+ * Returns leaf rows for a row.
95
+ *
96
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * const value = row_getLeafRows(row)
101
+ * ```
102
+ */
62
103
  export function row_getLeafRows<
63
104
  TFeatures extends TableFeatures,
64
105
  TData extends RowData,
@@ -66,6 +107,16 @@ export function row_getLeafRows<
66
107
  return flattenBy(row.subRows, (d) => d.subRows)
67
108
  }
68
109
 
110
+ /**
111
+ * Returns parent row for a row.
112
+ *
113
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * const value = row_getParentRow(row)
118
+ * ```
119
+ */
69
120
  export function row_getParentRow<
70
121
  TFeatures extends TableFeatures,
71
122
  TData extends RowData,
@@ -73,6 +124,16 @@ export function row_getParentRow<
73
124
  return row.parentId ? row.table.getRow(row.parentId, true) : undefined
74
125
  }
75
126
 
127
+ /**
128
+ * Returns parent rows for a row.
129
+ *
130
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * const value = row_getParentRows(row)
135
+ * ```
136
+ */
76
137
  export function row_getParentRows<
77
138
  TFeatures extends TableFeatures,
78
139
  TData extends RowData,
@@ -89,28 +150,63 @@ export function row_getParentRows<
89
150
  return parentRows.reverse()
90
151
  }
91
152
 
153
+ /**
154
+ * Returns all cells for a row.
155
+ *
156
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
157
+ *
158
+ * @example
159
+ * ```ts
160
+ * const value = row_getAllCells(row)
161
+ * ```
162
+ */
92
163
  export function row_getAllCells<
93
164
  TFeatures extends TableFeatures,
94
165
  TData extends RowData,
95
166
  >(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>> {
96
- return row.table.getAllLeafColumns().map((column) => {
97
- return constructCell(column, row, row.table)
98
- })
167
+ const columns = row.table.getAllLeafColumns()
168
+ const cells: Array<Cell<TFeatures, TData, unknown>> = new Array(
169
+ columns.length,
170
+ )
171
+ for (let i = 0; i < columns.length; i++) {
172
+ cells[i] = constructCell(columns[i]!, row, row.table)
173
+ }
174
+ return cells
99
175
  }
100
176
 
177
+ /**
178
+ * Returns all cells by column id for a row.
179
+ *
180
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
181
+ *
182
+ * @example
183
+ * ```ts
184
+ * const value = row_getAllCellsByColumnId(row)
185
+ * ```
186
+ */
101
187
  export function row_getAllCellsByColumnId<
102
188
  TFeatures extends TableFeatures,
103
189
  TData extends RowData,
104
190
  >(row: Row<TFeatures, TData>) {
105
- return row.getAllCells().reduce(
106
- (acc, cell) => {
107
- acc[cell.column.id] = cell
108
- return acc
109
- },
110
- {} as Record<string, Cell<TFeatures, TData, unknown>>,
111
- )
191
+ const result: Record<string, Cell<TFeatures, TData, unknown>> = {}
192
+ const cells = row.getAllCells()
193
+ for (let i = 0; i < cells.length; i++) {
194
+ const cell = cells[i]!
195
+ result[cell.column.id] = cell
196
+ }
197
+ return result
112
198
  }
113
199
 
200
+ /**
201
+ * Returns row id for the table.
202
+ *
203
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * const value = table_getRowId(table)
208
+ * ```
209
+ */
114
210
  export function table_getRowId<
115
211
  TFeatures extends TableFeatures,
116
212
  TData extends RowData,
@@ -126,6 +222,16 @@ export function table_getRowId<
126
222
  )
127
223
  }
128
224
 
225
+ /**
226
+ * Returns row for the table.
227
+ *
228
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * const value = table_getRow(table)
233
+ * ```
234
+ */
129
235
  export function table_getRow<
130
236
  TFeatures extends TableFeatures,
131
237
  TData extends RowData,
@@ -8,6 +8,11 @@ import type { Table, Table_Internal } from '../../types/Table'
8
8
  import type { TableOptions } from '../../types/TableOptions'
9
9
  import type { TableState } from '../../types/TableState'
10
10
 
11
+ /**
12
+ * Builds the initial table state from registered features and user initial state.
13
+ *
14
+ * Each feature contributes its default state before user-provided `initialState` values are merged in.
15
+ */
11
16
  export function getInitialTableState<TFeatures extends TableFeatures>(
12
17
  features: TFeatures,
13
18
  initialState: Partial<TableState<TFeatures>> | undefined = {},
@@ -18,6 +23,11 @@ export function getInitialTableState<TFeatures extends TableFeatures>(
18
23
  return cloneState(initialState) as TableState<TFeatures>
19
24
  }
20
25
 
26
+ /**
27
+ * Constructs a table instance from normalized table internals.
28
+ *
29
+ * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
30
+ */
21
31
  export function constructTable<
22
32
  TFeatures extends TableFeatures,
23
33
  TData extends RowData,
@@ -69,7 +79,8 @@ export function constructTable<
69
79
  string & keyof TableState<TFeatures>
70
80
  >
71
81
 
72
- for (const key of stateKeys) {
82
+ for (let i = 0; i < stateKeys.length; i++) {
83
+ const key = stateKeys[i]!
73
84
  // create writable base atom
74
85
  table.baseAtoms[key] = _reactivity.createWritableAtom(
75
86
  table.initialState[key],
@@ -97,7 +108,8 @@ export function constructTable<
97
108
  _reactivity.createReadonlyAtom(
98
109
  () => {
99
110
  const snapshot = {} as TableState<TFeatures>
100
- for (const key of stateKeys) {
111
+ for (let i = 0; i < stateKeys.length; i++) {
112
+ const key = stateKeys[i]!
101
113
  snapshot[key] = table.atoms[key].get()
102
114
  }
103
115
  return snapshot
@@ -126,8 +138,8 @@ export function constructTable<
126
138
  )
127
139
  }
128
140
 
129
- for (const feature of featuresList) {
130
- feature.constructTableAPIs?.(table)
141
+ for (let i = 0; i < featuresList.length; i++) {
142
+ featuresList[i]!.constructTableAPIs?.(table)
131
143
  }
132
144
 
133
145
  return table
@@ -12,6 +12,11 @@ export interface CoreTablesFeatureConstructors<
12
12
  // TableOptions: TableOptions_Table<TFeatures, TData>
13
13
  }
14
14
 
15
+ /**
16
+ * Creates the stock core tables feature.
17
+ *
18
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
19
+ */
15
20
  export function constructCoreTablesFeature<
16
21
  TFeatures extends TableFeatures,
17
22
  TData extends RowData,
@@ -76,9 +76,9 @@ export interface TableOptions_Table<
76
76
  /**
77
77
  * Optionally, provide your own external writable atoms for individual state slices.
78
78
  * When an atom is provided for a given slice, it takes precedence over `options.state[key]`
79
- * and the internal base atom for that slice. Writes originating from the library are
80
- * still routed through the internal base atom; consumers are responsible for
81
- * mirroring changes back to their external atom via the corresponding `onXChange` callback.
79
+ * and the internal base atom for that slice. Feature state update APIs write through
80
+ * the corresponding atom updater, so external atoms are the preferred v9 ownership
81
+ * model for app-managed table state slices.
82
82
  */
83
83
  readonly atoms?: ExternalAtoms<TFeatures>
84
84
  /**
@@ -90,8 +90,10 @@ export interface TableOptions_Table<
90
90
  */
91
91
  readonly data: ReadonlyArray<TData>
92
92
  /**
93
- * Use this option to optionally pass initial state to the table. This state will be used when resetting various table states either automatically by the table (eg. `options.autoResetPageIndex`) or via functions like `table.resetRowSelection()`. Most reset function allow you optionally pass a flag to reset to a blank/default state instead of the initial state.
94
- * Table state will not be reset when this object changes, which also means that the initial state object does not need to be stable.
93
+ * Optionally provide starting values for registered table state slices.
94
+ * Feature reset APIs use this value by default, and many reset APIs accept
95
+ * `true` to reset to that feature's blank/default state instead. Changing this
96
+ * object later does not reset table state, so it does not need to be stable.
95
97
  */
96
98
  readonly initialState?: Partial<TableState<TFeatures>>
97
99
  /**
@@ -106,7 +108,11 @@ export interface TableOptions_Table<
106
108
  */
107
109
  readonly meta?: TableMeta<TFeatures, TData>
108
110
  /**
109
- * Pass in individual self-managed state to the table.
111
+ * Optionally provide externally managed values for individual state slices.
112
+ *
113
+ * Pair each slice with its matching `on[State]Change` callback so table state
114
+ * updates can be persisted outside the table. External atoms take precedence
115
+ * over this option when both are provided for the same slice.
110
116
  */
111
117
  readonly state?: Partial<TableState<TFeatures>>
112
118
  }
@@ -167,10 +173,9 @@ export interface Table_CoreProperties<
167
173
  */
168
174
  readonly options: TableOptions<TFeatures, TData>
169
175
  /**
170
- * Writable atom for table options. Only created when `createOptionsStore` is true
171
- * on `coreReativityFeature` (e.g. Lit, Vue, Solid). React/Preact use `createOptionsStore: false`:
172
- * options are held as plain data with a lightweight revision + subscribe source; there is
173
- * no writable atom backing the full options object. Use {@link getTableOptionsStore} to subscribe.
176
+ * Writable atom for table options. Only created when `createOptionsStore` is
177
+ * true on the active core reactivity bindings. Adapters that opt out keep
178
+ * options as plain resolved data instead of backing them with an atom.
174
179
  */
175
180
  readonly optionsStore?: Atom<TableOptions<TFeatures, TData>> | undefined
176
181
  /**
@@ -185,11 +190,16 @@ export interface Table_Table<
185
190
  TData extends RowData,
186
191
  > extends Table_CoreProperties<TFeatures, TData> {
187
192
  /**
188
- * Call this function to reset the table state to the initial state.
193
+ * Resets the table's internal base atoms to `table.initialState`.
194
+ *
195
+ * Prefer feature-specific reset APIs, such as `resetPagination`, when a state
196
+ * slice may be owned by an external atom or needs that feature's blank/default
197
+ * reset behavior.
189
198
  */
190
199
  reset: () => void
191
200
  /**
192
- * This function can be used to update the table options.
201
+ * Updates the table options by applying a value or updater to the current
202
+ * resolved options and then merging them through `options.mergeOptions`.
193
203
  */
194
204
  setOptions: (newOptions: Updater<TableOptions<TFeatures, TData>>) => void
195
205
  }
@@ -4,6 +4,17 @@ import type { TableFeatures } from '../../types/TableFeatures'
4
4
  import type { Table_Internal } from '../../types/Table'
5
5
  import type { TableOptions } from '../../types/TableOptions'
6
6
 
7
+ /**
8
+ * Synchronizes externally controlled state slices into the table's base atoms.
9
+ *
10
+ * This keeps legacy `options.state` values reflected in the atom graph so
11
+ * derived atoms, stores, and table APIs read a consistent snapshot.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const value = table_syncExternalStateToBaseAtoms(table)
16
+ * ```
17
+ */
7
18
  export function table_syncExternalStateToBaseAtoms<
8
19
  TFeatures extends TableFeatures,
9
20
  TData extends RowData,
@@ -28,18 +39,42 @@ export function table_syncExternalStateToBaseAtoms<
28
39
  })
29
40
  }
30
41
 
42
+ /**
43
+ * Resets all internal table base atoms to `table.initialState`.
44
+ *
45
+ * This resets internally owned state slices in a single reactivity batch. Use
46
+ * feature-specific reset APIs when a slice may be externally owned.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * table_reset(table)
51
+ * ```
52
+ */
31
53
  export function table_reset<
32
54
  TFeatures extends TableFeatures,
33
55
  TData extends RowData,
34
56
  >(table: Table_Internal<TFeatures, TData>): void {
35
57
  const snap = cloneState(table.initialState)
36
58
  table._reactivity.batch(() => {
37
- for (const key of Object.keys(snap) as Array<keyof typeof snap>) {
59
+ const keys = Object.keys(snap) as Array<keyof typeof snap>
60
+ for (let i = 0; i < keys.length; i++) {
61
+ const key = keys[i]!
38
62
  ;(table.baseAtoms as any)[key].set(snap[key] as any)
39
63
  }
40
64
  })
41
65
  }
42
66
 
67
+ /**
68
+ * Merges new table options with the current resolved options.
69
+ *
70
+ * If `options.mergeOptions` is provided, it owns the merge behavior; otherwise
71
+ * options are shallow-merged.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * const value = table_mergeOptions(table)
76
+ * ```
77
+ */
43
78
  export function table_mergeOptions<
44
79
  TFeatures extends TableFeatures,
45
80
  TData extends RowData,
@@ -57,6 +92,17 @@ export function table_mergeOptions<
57
92
  }
58
93
  }
59
94
 
95
+ /**
96
+ * Updates the table options object.
97
+ *
98
+ * The updater receives the current resolved options and the merged result is
99
+ * immediately assigned to the table instance.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * table_setOptions(table, (old) => old)
104
+ * ```
105
+ */
60
106
  export function table_setOptions<
61
107
  TFeatures extends TableFeatures,
62
108
  TData extends RowData,
@@ -29,6 +29,11 @@ export interface ColumnFacetingFeatureConstructors<
29
29
  // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>
30
30
  }
31
31
 
32
+ /**
33
+ * Creates the stock column faceting feature.
34
+ *
35
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
36
+ */
32
37
  export function constructColumnFacetingFeature<
33
38
  TFeatures extends TableFeatures,
34
39
  TData extends RowData,
@@ -107,6 +112,9 @@ export function constructColumnFacetingFeature<
107
112
  }
108
113
 
109
114
  /**
110
- * The Column Faceting feature adds column faceting APIs to the column objects.
115
+ * The stock column faceting feature.
116
+ *
117
+ * Register this feature to add faceted row model, unique value, and min/max
118
+ * helpers for column and global filter UIs.
111
119
  */
112
120
  export const columnFacetingFeature = constructColumnFacetingFeature()
@@ -27,17 +27,17 @@ export interface Table_RowModels_Faceted<
27
27
  > {
28
28
  /**
29
29
  * A function that **computes and returns** a min/max tuple derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
30
- * > ⚠️ Requires that you pass a valid `getFacetedMinMaxValues` function to `options.getFacetedMinMaxValues`. A default implementation is provided via the exported `getFacetedMinMaxValues` function.
30
+ * > Requires that you pass a valid `facetedMinMaxValues` row model factory in `_rowModels`. A default implementation is provided via the exported `createFacetedMinMaxValues` function.
31
31
  */
32
32
  getFacetedMinMaxValues: () => undefined | [number, number]
33
33
  /**
34
34
  * Returns the row model with all other column filters applied, excluding its own filter. Useful for displaying faceted result counts.
35
- * > ⚠️ Requires that you pass a valid `getFacetedRowModel` function to `options.facetedRowModel`. A default implementation is provided via the exported `getFacetedRowModel` function.
35
+ * > Requires that you pass a valid `facetedRowModel` row model factory in `_rowModels`. A default implementation is provided via the exported `createFacetedRowModel` function.
36
36
  */
37
37
  getFacetedRowModel: () => RowModel<TFeatures, TData>
38
38
  /**
39
39
  * A function that **computes and returns** a `Map` of unique values and their occurrences derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
40
- * > ⚠️ Requires that you pass a valid `getFacetedUniqueValues` function to `options.getFacetedUniqueValues`. A default implementation is provided via the exported `getFacetedUniqueValues` function.
40
+ * > Requires that you pass a valid `facetedUniqueValues` row model factory in `_rowModels`. A default implementation is provided via the exported `createFacetedUniqueValues` function.
41
41
  */
42
42
  getFacetedUniqueValues: () => Map<any, number>
43
43
  }
@@ -47,21 +47,27 @@ export interface CreateRowModel_Faceted<
47
47
  TData extends RowData,
48
48
  > {
49
49
  /**
50
- * This function is used to retrieve the faceted min/max values. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedMinMaxValues()` from your adapter to your table or implement your own.
50
+ * Factory used to retrieve faceted min/max values. If using server-side
51
+ * faceting, this is not required. To use client-side faceting, pass
52
+ * `createFacetedMinMaxValues()` or implement your own factory.
51
53
  */
52
54
  facetedMinMaxValues?: (
53
55
  table: Table<TFeatures, TData>,
54
56
  columnId: string,
55
57
  ) => () => [number, number] | undefined
56
58
  /**
57
- * This function is used to retrieve the faceted row model. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedRowModel()` from your adapter to your table or implement your own.
59
+ * Factory used to retrieve the faceted row model. If using server-side
60
+ * faceting, this is not required. To use client-side faceting, pass
61
+ * `createFacetedRowModel()` or implement your own factory.
58
62
  */
59
63
  facetedRowModel?: (
60
64
  table: Table<TFeatures, TData>,
61
65
  columnId: string,
62
66
  ) => () => RowModel<TFeatures, TData>
63
67
  /**
64
- * This function is used to retrieve the faceted unique values. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedUniqueValues()` from your adapter to your table or implement your own.
68
+ * Factory used to retrieve faceted unique values. If using server-side
69
+ * faceting, this is not required. To use client-side faceting, pass
70
+ * `createFacetedUniqueValues()` or implement your own factory.
65
71
  */
66
72
  facetedUniqueValues?: (
67
73
  table: Table<TFeatures, TData>,
@@ -4,6 +4,16 @@ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
4
4
  import type { Table_Internal } from '../../types/Table'
5
5
  import type { Column_Internal } from '../../types/Column'
6
6
 
7
+ /**
8
+ * Returns faceted min max values for a column.
9
+ *
10
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const value = column_getFacetedMinMaxValues(column)
15
+ * ```
16
+ */
7
17
  export function column_getFacetedMinMaxValues<
8
18
  TFeatures extends TableFeatures,
9
19
  TData extends RowData,
@@ -18,6 +28,16 @@ export function column_getFacetedMinMaxValues<
18
28
  return facetedMinMaxValuesFn()
19
29
  }
20
30
 
31
+ /**
32
+ * Returns faceted row model for a column.
33
+ *
34
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const value = column_getFacetedRowModel(column)
39
+ * ```
40
+ */
21
41
  export function column_getFacetedRowModel<
22
42
  TFeatures extends TableFeatures,
23
43
  TData extends RowData,
@@ -32,6 +52,16 @@ export function column_getFacetedRowModel<
32
52
  return facetedRowModelFn()
33
53
  }
34
54
 
55
+ /**
56
+ * Returns faceted unique values for a column.
57
+ *
58
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * const value = column_getFacetedUniqueValues(column)
63
+ * ```
64
+ */
35
65
  export function column_getFacetedUniqueValues<
36
66
  TFeatures extends TableFeatures,
37
67
  TData extends RowData,
@@ -46,6 +76,16 @@ export function column_getFacetedUniqueValues<
46
76
  return facetedUniqueValuesFn()
47
77
  }
48
78
 
79
+ /**
80
+ * Returns global faceted min max values for the table.
81
+ *
82
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const value = table_getGlobalFacetedMinMaxValues(table)
87
+ * ```
88
+ */
49
89
  export function table_getGlobalFacetedMinMaxValues<
50
90
  TFeatures extends TableFeatures,
51
91
  TData extends RowData,
@@ -56,6 +96,16 @@ export function table_getGlobalFacetedMinMaxValues<
56
96
  return facetedMinMaxValuesFn()
57
97
  }
58
98
 
99
+ /**
100
+ * Returns global faceted row model for the table.
101
+ *
102
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const value = table_getGlobalFacetedRowModel(table)
107
+ * ```
108
+ */
59
109
  export function table_getGlobalFacetedRowModel<
60
110
  TFeatures extends TableFeatures,
61
111
  TData extends RowData,
@@ -66,6 +116,16 @@ export function table_getGlobalFacetedRowModel<
66
116
  return facetedRowModelFn()
67
117
  }
68
118
 
119
+ /**
120
+ * Returns global faceted unique values for the table.
121
+ *
122
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
123
+ *
124
+ * @example
125
+ * ```ts
126
+ * const value = table_getGlobalFacetedUniqueValues(table)
127
+ * ```
128
+ */
69
129
  export function table_getGlobalFacetedUniqueValues<
70
130
  TFeatures extends TableFeatures,
71
131
  TData extends RowData,
@@ -5,6 +5,11 @@ import type { Table, Table_Internal } from '../../types/Table'
5
5
  import type { TableFeatures } from '../../types/TableFeatures'
6
6
  import type { RowData } from '../../types/type-utils'
7
7
 
8
+ /**
9
+ * Creates a memoized faceted min max values helper for faceted filtering.
10
+ *
11
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
12
+ */
8
13
  export function createFacetedMinMaxValues<
9
14
  TFeatures extends TableFeatures,
10
15
  TData extends RowData = any,
@@ -44,20 +49,18 @@ function _createFacetedMinMaxValues<
44
49
  ): undefined | [number, number] {
45
50
  if (!flatRows.length) return undefined
46
51
 
47
- const numericValues = flatRows
48
- .map((flatRow) => flatRow.getValue(columnId))
49
- .map(Number)
50
- .filter((value) => !Number.isNaN(value))
52
+ let facetedMinValue = Number.POSITIVE_INFINITY
53
+ let facetedMaxValue = Number.NEGATIVE_INFINITY
54
+ let foundAny = false
51
55
 
52
- if (!numericValues.length) return undefined
53
-
54
- let facetedMinValue = numericValues[0]!
55
- let facetedMaxValue = numericValues[0]!
56
-
57
- for (const value of numericValues) {
56
+ for (let i = 0; i < flatRows.length; i++) {
57
+ const value = Number(flatRows[i]!.getValue(columnId))
58
+ if (Number.isNaN(value)) continue
59
+ foundAny = true
58
60
  if (value < facetedMinValue) facetedMinValue = value
59
61
  if (value > facetedMaxValue) facetedMaxValue = value
60
62
  }
61
63
 
64
+ if (!foundAny) return undefined
62
65
  return [facetedMinValue, facetedMaxValue]
63
66
  }
@@ -10,6 +10,11 @@ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
10
10
  import type { Row } from '../../types/Row'
11
11
  import type { RowData } from '../../types/type-utils'
12
12
 
13
+ /**
14
+ * Creates a memoized faceted row model factory.
15
+ *
16
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
17
+ */
13
18
  export function createFacetedRowModel<
14
19
  TFeatures extends TableFeatures,
15
20
  TData extends RowData = any,
@@ -55,17 +60,21 @@ function _createFacetedRowModel<
55
60
  return preRowModel
56
61
  }
57
62
 
58
- const filterableIds = [
59
- ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),
60
- globalFilter ? '__global__' : undefined,
61
- ].filter(Boolean) as Array<string>
63
+ const filterableIds: Array<string> = []
64
+ if (columnFilters) {
65
+ for (let i = 0; i < columnFilters.length; i++) {
66
+ const id = columnFilters[i]!.id
67
+ if (id !== columnId) filterableIds.push(id)
68
+ }
69
+ }
70
+ if (globalFilter) filterableIds.push('__global__')
62
71
 
63
72
  const filterRowsImpl = (
64
73
  row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,
65
74
  ) => {
66
75
  // Horizontally filter rows through each column
67
- for (const colId of filterableIds) {
68
- if (row.columnFilters?.[colId] === false) {
76
+ for (let i = 0; i < filterableIds.length; i++) {
77
+ if (row.columnFilters?.[filterableIds[i]!] === false) {
69
78
  return false
70
79
  }
71
80
  }