@tanstack/table-core 9.0.0-alpha.46 → 9.0.0-alpha.48

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 (339) hide show
  1. package/README.md +10 -0
  2. package/dist/core/cells/constructCell.cjs +4 -3
  3. package/dist/core/cells/constructCell.cjs.map +1 -1
  4. package/dist/core/cells/constructCell.js +4 -3
  5. package/dist/core/cells/constructCell.js.map +1 -1
  6. package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
  7. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  8. package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
  9. package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
  10. package/dist/core/cells/coreCellsFeature.utils.js +11 -8
  11. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  12. package/dist/core/columns/constructColumn.cjs +6 -4
  13. package/dist/core/columns/constructColumn.cjs.map +1 -1
  14. package/dist/core/columns/constructColumn.js +6 -4
  15. package/dist/core/columns/constructColumn.js.map +1 -1
  16. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
  17. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
  18. package/dist/core/columns/coreColumnsFeature.utils.cjs +47 -29
  19. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  20. package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
  21. package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
  22. package/dist/core/columns/coreColumnsFeature.utils.js +47 -29
  23. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  24. package/dist/core/headers/buildHeaderGroups.cjs +27 -19
  25. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  26. package/dist/core/headers/buildHeaderGroups.js +27 -19
  27. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  28. package/dist/core/headers/constructHeader.cjs +4 -3
  29. package/dist/core/headers/constructHeader.cjs.map +1 -1
  30. package/dist/core/headers/constructHeader.js +4 -3
  31. package/dist/core/headers/constructHeader.js.map +1 -1
  32. package/dist/core/headers/coreHeadersFeature.cjs +1 -6
  33. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  34. package/dist/core/headers/coreHeadersFeature.js +2 -7
  35. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  36. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
  37. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
  38. package/dist/core/headers/coreHeadersFeature.utils.cjs +43 -36
  39. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  40. package/dist/core/headers/coreHeadersFeature.utils.d.cts +24 -19
  41. package/dist/core/headers/coreHeadersFeature.utils.d.ts +24 -19
  42. package/dist/core/headers/coreHeadersFeature.utils.js +44 -37
  43. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  44. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
  45. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
  46. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
  47. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  48. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
  49. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
  50. package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
  51. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  52. package/dist/core/rows/constructRow.cjs +8 -6
  53. package/dist/core/rows/constructRow.cjs.map +1 -1
  54. package/dist/core/rows/constructRow.js +8 -6
  55. package/dist/core/rows/constructRow.js.map +1 -1
  56. package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
  57. package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
  58. package/dist/core/rows/coreRowsFeature.utils.cjs +43 -32
  59. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  60. package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
  61. package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
  62. package/dist/core/rows/coreRowsFeature.utils.js +43 -32
  63. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  64. package/dist/core/table/constructTable.cjs +9 -5
  65. package/dist/core/table/constructTable.cjs.map +1 -1
  66. package/dist/core/table/constructTable.js +9 -5
  67. package/dist/core/table/constructTable.js.map +1 -1
  68. package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
  69. package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
  70. package/dist/core/table/coreTablesFeature.utils.cjs +7 -3
  71. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  72. package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
  73. package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
  74. package/dist/core/table/coreTablesFeature.utils.js +7 -3
  75. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  76. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
  77. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
  78. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
  79. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  80. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
  81. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
  82. package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
  83. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  84. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +8 -5
  85. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  86. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  87. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  88. package/dist/features/column-faceting/createFacetedRowModel.cjs +8 -3
  89. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  90. package/dist/features/column-faceting/createFacetedRowModel.js +8 -3
  91. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  92. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +7 -4
  93. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  94. package/dist/features/column-faceting/createFacetedUniqueValues.js +7 -4
  95. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  96. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
  97. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
  98. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
  99. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  100. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
  101. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
  102. package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
  103. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  104. package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -5
  105. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  106. package/dist/features/column-filtering/createFilteredRowModel.js +11 -5
  107. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  108. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
  109. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
  110. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
  111. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  112. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
  113. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
  114. package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
  115. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  116. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
  117. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
  118. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +46 -29
  119. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  120. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
  121. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
  122. package/dist/features/column-ordering/columnOrderingFeature.utils.js +46 -29
  123. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  124. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
  125. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
  126. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +152 -115
  127. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  128. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +116 -95
  129. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +116 -95
  130. package/dist/features/column-pinning/columnPinningFeature.utils.js +153 -116
  131. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  132. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
  133. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
  134. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +28 -19
  135. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  136. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
  137. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
  138. package/dist/features/column-resizing/columnResizingFeature.utils.js +28 -19
  139. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  140. package/dist/features/column-sizing/columnSizingFeature.cjs +28 -4
  141. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  142. package/dist/features/column-sizing/columnSizingFeature.js +28 -4
  143. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  144. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
  145. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
  146. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
  147. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  148. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
  149. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
  150. package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
  151. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  152. package/dist/features/column-visibility/columnVisibilityFeature.cjs +23 -14
  153. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  154. package/dist/features/column-visibility/columnVisibilityFeature.js +24 -15
  155. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  156. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +19 -12
  157. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +19 -12
  158. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +91 -52
  159. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  160. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +63 -40
  161. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +63 -40
  162. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +91 -53
  163. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  164. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
  165. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
  166. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
  167. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  168. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
  169. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
  170. package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
  171. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  172. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
  173. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
  174. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +58 -43
  175. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  176. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
  177. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
  178. package/dist/features/row-expanding/rowExpandingFeature.utils.js +58 -43
  179. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  180. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
  181. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
  182. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
  183. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  184. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
  185. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
  186. package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
  187. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  188. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
  189. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
  190. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +52 -36
  191. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  192. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
  193. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
  194. package/dist/features/row-pinning/rowPinningFeature.utils.js +52 -36
  195. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  196. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
  197. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
  198. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +95 -72
  199. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  200. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
  201. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
  202. package/dist/features/row-selection/rowSelectionFeature.utils.js +95 -72
  203. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  204. package/dist/features/row-sorting/createSortedRowModel.cjs +13 -8
  205. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  206. package/dist/features/row-sorting/createSortedRowModel.js +13 -8
  207. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  208. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
  209. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
  210. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +63 -46
  211. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  212. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
  213. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
  214. package/dist/features/row-sorting/rowSortingFeature.utils.js +63 -46
  215. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  216. package/dist/fns/aggregationFns.cjs +47 -16
  217. package/dist/fns/aggregationFns.cjs.map +1 -1
  218. package/dist/fns/aggregationFns.d.cts +33 -9
  219. package/dist/fns/aggregationFns.d.ts +33 -9
  220. package/dist/fns/aggregationFns.js +47 -17
  221. package/dist/fns/aggregationFns.js.map +1 -1
  222. package/dist/fns/filterFns.cjs +48 -17
  223. package/dist/fns/filterFns.cjs.map +1 -1
  224. package/dist/fns/filterFns.d.cts +42 -15
  225. package/dist/fns/filterFns.d.ts +42 -15
  226. package/dist/fns/filterFns.js +48 -17
  227. package/dist/fns/filterFns.js.map +1 -1
  228. package/dist/helpers/columnHelper.cjs +9 -4
  229. package/dist/helpers/columnHelper.cjs.map +1 -1
  230. package/dist/helpers/columnHelper.d.cts +9 -4
  231. package/dist/helpers/columnHelper.d.ts +9 -4
  232. package/dist/helpers/columnHelper.js +9 -4
  233. package/dist/helpers/columnHelper.js.map +1 -1
  234. package/dist/helpers/tableOptions.cjs.map +1 -1
  235. package/dist/helpers/tableOptions.d.cts +12 -9
  236. package/dist/helpers/tableOptions.d.ts +12 -9
  237. package/dist/helpers/tableOptions.js.map +1 -1
  238. package/dist/index.cjs +0 -4
  239. package/dist/index.d.cts +2 -2
  240. package/dist/index.d.ts +2 -2
  241. package/dist/index.js +2 -2
  242. package/dist/static-functions.cjs +1 -0
  243. package/dist/static-functions.d.cts +2 -2
  244. package/dist/static-functions.d.ts +2 -2
  245. package/dist/static-functions.js +2 -2
  246. package/dist/store-reactivity-bindings.cjs +1 -0
  247. package/dist/store-reactivity-bindings.cjs.map +1 -1
  248. package/dist/store-reactivity-bindings.js +1 -0
  249. package/dist/store-reactivity-bindings.js.map +1 -1
  250. package/dist/types/ColumnDef.d.cts +38 -0
  251. package/dist/types/ColumnDef.d.ts +38 -0
  252. package/dist/types/TableOptions.d.cts +15 -0
  253. package/dist/types/TableOptions.d.ts +15 -0
  254. package/dist/types/TableState.d.cts +12 -0
  255. package/dist/types/TableState.d.ts +12 -0
  256. package/dist/utils.cjs +18 -39
  257. package/dist/utils.cjs.map +1 -1
  258. package/dist/utils.d.cts +1 -23
  259. package/dist/utils.d.ts +1 -23
  260. package/dist/utils.js +19 -36
  261. package/dist/utils.js.map +1 -1
  262. package/package.json +5 -3
  263. package/skills/column-definitions/SKILL.md +333 -0
  264. package/skills/column-layout/SKILL.md +328 -0
  265. package/skills/column-layout/references/subsystems.md +220 -0
  266. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  267. package/skills/filtering/SKILL.md +357 -0
  268. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  269. package/skills/grouping/SKILL.md +448 -0
  270. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  271. package/skills/pagination/SKILL.md +385 -0
  272. package/skills/row-expanding/SKILL.md +348 -0
  273. package/skills/row-pinning/SKILL.md +269 -0
  274. package/skills/row-selection/SKILL.md +391 -0
  275. package/skills/setup/SKILL.md +400 -0
  276. package/skills/sorting/SKILL.md +344 -0
  277. package/skills/state-management/SKILL.md +388 -0
  278. package/src/core/cells/constructCell.ts +3 -2
  279. package/src/core/cells/coreCellsFeature.utils.ts +11 -8
  280. package/src/core/columns/constructColumn.ts +5 -3
  281. package/src/core/columns/coreColumnsFeature.types.ts +7 -6
  282. package/src/core/columns/coreColumnsFeature.utils.ts +43 -29
  283. package/src/core/headers/buildHeaderGroups.ts +29 -30
  284. package/src/core/headers/constructHeader.ts +3 -2
  285. package/src/core/headers/coreHeadersFeature.ts +2 -27
  286. package/src/core/headers/coreHeadersFeature.types.ts +6 -4
  287. package/src/core/headers/coreHeadersFeature.utils.ts +52 -61
  288. package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
  289. package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
  290. package/src/core/rows/constructRow.ts +6 -4
  291. package/src/core/rows/coreRowsFeature.types.ts +4 -4
  292. package/src/core/rows/coreRowsFeature.utils.ts +45 -32
  293. package/src/core/table/constructTable.ts +6 -4
  294. package/src/core/table/coreTablesFeature.types.ts +6 -2
  295. package/src/core/table/coreTablesFeature.utils.ts +5 -3
  296. package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
  297. package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
  298. package/src/features/column-faceting/createFacetedMinMaxValues.ts +8 -10
  299. package/src/features/column-faceting/createFacetedRowModel.ts +10 -6
  300. package/src/features/column-faceting/createFacetedUniqueValues.ts +4 -3
  301. package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
  302. package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
  303. package/src/features/column-filtering/createFilteredRowModel.ts +14 -8
  304. package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
  305. package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
  306. package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
  307. package/src/features/column-ordering/columnOrderingFeature.utils.ts +44 -29
  308. package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
  309. package/src/features/column-pinning/columnPinningFeature.utils.ts +164 -128
  310. package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
  311. package/src/features/column-resizing/columnResizingFeature.utils.ts +28 -19
  312. package/src/features/column-sizing/columnSizingFeature.ts +16 -0
  313. package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
  314. package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
  315. package/src/features/column-visibility/columnVisibilityFeature.ts +8 -0
  316. package/src/features/column-visibility/columnVisibilityFeature.types.ts +22 -12
  317. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +101 -56
  318. package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
  319. package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
  320. package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
  321. package/src/features/row-expanding/rowExpandingFeature.utils.ts +58 -43
  322. package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
  323. package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
  324. package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
  325. package/src/features/row-pinning/rowPinningFeature.utils.ts +59 -47
  326. package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
  327. package/src/features/row-selection/rowSelectionFeature.utils.ts +109 -88
  328. package/src/features/row-sorting/createSortedRowModel.ts +16 -13
  329. package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
  330. package/src/features/row-sorting/rowSortingFeature.utils.ts +63 -46
  331. package/src/fns/aggregationFns.ts +53 -17
  332. package/src/fns/filterFns.ts +48 -17
  333. package/src/helpers/columnHelper.ts +9 -4
  334. package/src/helpers/tableOptions.ts +12 -9
  335. package/src/store-reactivity-bindings.ts +1 -0
  336. package/src/types/ColumnDef.ts +38 -0
  337. package/src/types/TableOptions.ts +15 -0
  338. package/src/types/TableState.ts +12 -0
  339. package/src/utils.ts +19 -46
@@ -5,134 +5,146 @@ import { RowModel } from "./coreRowModelsFeature.types.js";
5
5
 
6
6
  //#region src/core/row-models/coreRowModelsFeature.utils.d.ts
7
7
  /**
8
- * Returns core row model for the table.
8
+ * Resolves the table's unmodified core row model.
9
9
  *
10
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
10
+ * The factory is created once per table, either from `options._rowModels.coreRowModel`
11
+ * or the built-in `createCoreRowModel()`, then reused for later calls.
11
12
  *
12
13
  * @example
13
14
  * ```ts
14
- * const value = table_getCoreRowModel(table)
15
+ * const coreRows = table_getCoreRowModel(table)
15
16
  * ```
16
17
  */
17
18
  declare function table_getCoreRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
18
19
  /**
19
- * Returns pre filtered row model for the table.
20
+ * Reads the row model immediately before column/global filtering.
20
21
  *
21
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
22
+ * Filtering is the first derived row-model stage, so this currently aliases
23
+ * `table.getCoreRowModel()`.
22
24
  *
23
25
  * @example
24
26
  * ```ts
25
- * const value = table_getPreFilteredRowModel(table)
27
+ * const rowsBeforeFiltering = table_getPreFilteredRowModel(table)
26
28
  * ```
27
29
  */
28
30
  declare function table_getPreFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
29
31
  /**
30
- * Returns filtered row model for the table.
32
+ * Resolves the row model after column and global filtering.
31
33
  *
32
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
34
+ * When `manualFiltering` is enabled, or no filtered row-model factory was
35
+ * registered, this returns the pre-filtered row model because filtering is
36
+ * expected to happen outside the table.
33
37
  *
34
38
  * @example
35
39
  * ```ts
36
- * const value = table_getFilteredRowModel(table)
40
+ * const filteredRows = table_getFilteredRowModel(table)
37
41
  * ```
38
42
  */
39
43
  declare function table_getFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
40
44
  /**
41
- * Returns pre grouped row model for the table.
45
+ * Reads the row model immediately before grouping.
42
46
  *
43
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
47
+ * Grouping runs after filtering, so this aliases `table.getFilteredRowModel()`.
44
48
  *
45
49
  * @example
46
50
  * ```ts
47
- * const value = table_getPreGroupedRowModel(table)
51
+ * const rowsBeforeGrouping = table_getPreGroupedRowModel(table)
48
52
  * ```
49
53
  */
50
54
  declare function table_getPreGroupedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
51
55
  /**
52
- * Returns grouped row model for the table.
56
+ * Resolves the row model after grouping has produced grouped and aggregated rows.
53
57
  *
54
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
58
+ * When `manualGrouping` is enabled, or no grouped row-model factory was
59
+ * registered, this returns the pre-grouped row model unchanged.
55
60
  *
56
61
  * @example
57
62
  * ```ts
58
- * const value = table_getGroupedRowModel(table)
63
+ * const groupedRows = table_getGroupedRowModel(table)
59
64
  * ```
60
65
  */
61
66
  declare function table_getGroupedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
62
67
  /**
63
- * Returns pre sorted row model for the table.
68
+ * Reads the row model immediately before sorting.
64
69
  *
65
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
70
+ * Sorting runs after grouping, so this aliases `table.getGroupedRowModel()`.
66
71
  *
67
72
  * @example
68
73
  * ```ts
69
- * const value = table_getPreSortedRowModel(table)
74
+ * const rowsBeforeSorting = table_getPreSortedRowModel(table)
70
75
  * ```
71
76
  */
72
77
  declare function table_getPreSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
73
78
  /**
74
- * Returns sorted row model for the table.
79
+ * Resolves the row model after sorting has been applied.
75
80
  *
76
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
81
+ * When `manualSorting` is enabled, or no sorted row-model factory was
82
+ * registered, this returns the pre-sorted row model because sorted data is
83
+ * expected to be supplied by the caller.
77
84
  *
78
85
  * @example
79
86
  * ```ts
80
- * const value = table_getSortedRowModel(table)
87
+ * const sortedRows = table_getSortedRowModel(table)
81
88
  * ```
82
89
  */
83
90
  declare function table_getSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
84
91
  /**
85
- * Returns pre expanded row model for the table.
92
+ * Reads the row model immediately before row expansion.
86
93
  *
87
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
94
+ * Expansion runs after sorting, so this aliases `table.getSortedRowModel()`.
88
95
  *
89
96
  * @example
90
97
  * ```ts
91
- * const value = table_getPreExpandedRowModel(table)
98
+ * const rowsBeforeExpansion = table_getPreExpandedRowModel(table)
92
99
  * ```
93
100
  */
94
101
  declare function table_getPreExpandedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
95
102
  /**
96
- * Returns expanded row model for the table.
103
+ * Resolves the row model after expanded rows have been flattened into view.
97
104
  *
98
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
105
+ * When `manualExpanding` is enabled, or no expanded row-model factory was
106
+ * registered, this returns the pre-expanded row model unchanged.
99
107
  *
100
108
  * @example
101
109
  * ```ts
102
- * const value = table_getExpandedRowModel(table)
110
+ * const expandedRows = table_getExpandedRowModel(table)
103
111
  * ```
104
112
  */
105
113
  declare function table_getExpandedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
106
114
  /**
107
- * Returns pre paginated row model for the table.
115
+ * Reads the row model immediately before pagination.
108
116
  *
109
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
117
+ * Pagination is the final built-in row-model stage, so this aliases
118
+ * `table.getExpandedRowModel()`.
110
119
  *
111
120
  * @example
112
121
  * ```ts
113
- * const value = table_getPrePaginatedRowModel(table)
122
+ * const rowsBeforePagination = table_getPrePaginatedRowModel(table)
114
123
  * ```
115
124
  */
116
125
  declare function table_getPrePaginatedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
117
126
  /**
118
- * Returns paginated row model for the table.
127
+ * Resolves the row model after pagination has sliced rows for the current page.
119
128
  *
120
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
129
+ * When `manualPagination` is enabled, or no paginated row-model factory was
130
+ * registered, this returns the pre-paginated row model because pagination is
131
+ * expected to happen before data reaches the table.
121
132
  *
122
133
  * @example
123
134
  * ```ts
124
- * const value = table_getPaginatedRowModel(table)
135
+ * const pageRows = table_getPaginatedRowModel(table)
125
136
  * ```
126
137
  */
127
138
  declare function table_getPaginatedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
128
139
  /**
129
- * Returns row model for the table.
140
+ * Resolves the final row model consumed by renderers.
130
141
  *
131
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
142
+ * This is the end of the built-in row-model pipeline: core -> filtering ->
143
+ * grouping -> sorting -> expanding -> pagination.
132
144
  *
133
145
  * @example
134
146
  * ```ts
135
- * const value = table_getRowModel(table)
147
+ * const visibleRows = table_getRowModel(table)
136
148
  * ```
137
149
  */
138
150
  declare function table_getRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
@@ -2,13 +2,14 @@ import { createCoreRowModel } from "./createCoreRowModel.js";
2
2
 
3
3
  //#region src/core/row-models/coreRowModelsFeature.utils.ts
4
4
  /**
5
- * Returns core row model for the table.
5
+ * Resolves the table's unmodified core row model.
6
6
  *
7
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
7
+ * The factory is created once per table, either from `options._rowModels.coreRowModel`
8
+ * or the built-in `createCoreRowModel()`, then reused for later calls.
8
9
  *
9
10
  * @example
10
11
  * ```ts
11
- * const value = table_getCoreRowModel(table)
12
+ * const coreRows = table_getCoreRowModel(table)
12
13
  * ```
13
14
  */
14
15
  function table_getCoreRowModel(table) {
@@ -19,26 +20,29 @@ function table_getCoreRowModel(table) {
19
20
  return table._rowModels.coreRowModel();
20
21
  }
21
22
  /**
22
- * Returns pre filtered row model for the table.
23
+ * Reads the row model immediately before column/global filtering.
23
24
  *
24
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
25
+ * Filtering is the first derived row-model stage, so this currently aliases
26
+ * `table.getCoreRowModel()`.
25
27
  *
26
28
  * @example
27
29
  * ```ts
28
- * const value = table_getPreFilteredRowModel(table)
30
+ * const rowsBeforeFiltering = table_getPreFilteredRowModel(table)
29
31
  * ```
30
32
  */
31
33
  function table_getPreFilteredRowModel(table) {
32
34
  return table.getCoreRowModel();
33
35
  }
34
36
  /**
35
- * Returns filtered row model for the table.
37
+ * Resolves the row model after column and global filtering.
36
38
  *
37
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
39
+ * When `manualFiltering` is enabled, or no filtered row-model factory was
40
+ * registered, this returns the pre-filtered row model because filtering is
41
+ * expected to happen outside the table.
38
42
  *
39
43
  * @example
40
44
  * ```ts
41
- * const value = table_getFilteredRowModel(table)
45
+ * const filteredRows = table_getFilteredRowModel(table)
42
46
  * ```
43
47
  */
44
48
  function table_getFilteredRowModel(table) {
@@ -50,26 +54,27 @@ function table_getFilteredRowModel(table) {
50
54
  return table._rowModels.filteredRowModel();
51
55
  }
52
56
  /**
53
- * Returns pre grouped row model for the table.
57
+ * Reads the row model immediately before grouping.
54
58
  *
55
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
59
+ * Grouping runs after filtering, so this aliases `table.getFilteredRowModel()`.
56
60
  *
57
61
  * @example
58
62
  * ```ts
59
- * const value = table_getPreGroupedRowModel(table)
63
+ * const rowsBeforeGrouping = table_getPreGroupedRowModel(table)
60
64
  * ```
61
65
  */
62
66
  function table_getPreGroupedRowModel(table) {
63
67
  return table.getFilteredRowModel();
64
68
  }
65
69
  /**
66
- * Returns grouped row model for the table.
70
+ * Resolves the row model after grouping has produced grouped and aggregated rows.
67
71
  *
68
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
72
+ * When `manualGrouping` is enabled, or no grouped row-model factory was
73
+ * registered, this returns the pre-grouped row model unchanged.
69
74
  *
70
75
  * @example
71
76
  * ```ts
72
- * const value = table_getGroupedRowModel(table)
77
+ * const groupedRows = table_getGroupedRowModel(table)
73
78
  * ```
74
79
  */
75
80
  function table_getGroupedRowModel(table) {
@@ -81,26 +86,28 @@ function table_getGroupedRowModel(table) {
81
86
  return table._rowModels.groupedRowModel();
82
87
  }
83
88
  /**
84
- * Returns pre sorted row model for the table.
89
+ * Reads the row model immediately before sorting.
85
90
  *
86
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
91
+ * Sorting runs after grouping, so this aliases `table.getGroupedRowModel()`.
87
92
  *
88
93
  * @example
89
94
  * ```ts
90
- * const value = table_getPreSortedRowModel(table)
95
+ * const rowsBeforeSorting = table_getPreSortedRowModel(table)
91
96
  * ```
92
97
  */
93
98
  function table_getPreSortedRowModel(table) {
94
99
  return table.getGroupedRowModel();
95
100
  }
96
101
  /**
97
- * Returns sorted row model for the table.
102
+ * Resolves the row model after sorting has been applied.
98
103
  *
99
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
104
+ * When `manualSorting` is enabled, or no sorted row-model factory was
105
+ * registered, this returns the pre-sorted row model because sorted data is
106
+ * expected to be supplied by the caller.
100
107
  *
101
108
  * @example
102
109
  * ```ts
103
- * const value = table_getSortedRowModel(table)
110
+ * const sortedRows = table_getSortedRowModel(table)
104
111
  * ```
105
112
  */
106
113
  function table_getSortedRowModel(table) {
@@ -112,26 +119,27 @@ function table_getSortedRowModel(table) {
112
119
  return table._rowModels.sortedRowModel();
113
120
  }
114
121
  /**
115
- * Returns pre expanded row model for the table.
122
+ * Reads the row model immediately before row expansion.
116
123
  *
117
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
124
+ * Expansion runs after sorting, so this aliases `table.getSortedRowModel()`.
118
125
  *
119
126
  * @example
120
127
  * ```ts
121
- * const value = table_getPreExpandedRowModel(table)
128
+ * const rowsBeforeExpansion = table_getPreExpandedRowModel(table)
122
129
  * ```
123
130
  */
124
131
  function table_getPreExpandedRowModel(table) {
125
132
  return table.getSortedRowModel();
126
133
  }
127
134
  /**
128
- * Returns expanded row model for the table.
135
+ * Resolves the row model after expanded rows have been flattened into view.
129
136
  *
130
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
137
+ * When `manualExpanding` is enabled, or no expanded row-model factory was
138
+ * registered, this returns the pre-expanded row model unchanged.
131
139
  *
132
140
  * @example
133
141
  * ```ts
134
- * const value = table_getExpandedRowModel(table)
142
+ * const expandedRows = table_getExpandedRowModel(table)
135
143
  * ```
136
144
  */
137
145
  function table_getExpandedRowModel(table) {
@@ -143,26 +151,29 @@ function table_getExpandedRowModel(table) {
143
151
  return table._rowModels.expandedRowModel();
144
152
  }
145
153
  /**
146
- * Returns pre paginated row model for the table.
154
+ * Reads the row model immediately before pagination.
147
155
  *
148
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
156
+ * Pagination is the final built-in row-model stage, so this aliases
157
+ * `table.getExpandedRowModel()`.
149
158
  *
150
159
  * @example
151
160
  * ```ts
152
- * const value = table_getPrePaginatedRowModel(table)
161
+ * const rowsBeforePagination = table_getPrePaginatedRowModel(table)
153
162
  * ```
154
163
  */
155
164
  function table_getPrePaginatedRowModel(table) {
156
165
  return table.getExpandedRowModel();
157
166
  }
158
167
  /**
159
- * Returns paginated row model for the table.
168
+ * Resolves the row model after pagination has sliced rows for the current page.
160
169
  *
161
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
170
+ * When `manualPagination` is enabled, or no paginated row-model factory was
171
+ * registered, this returns the pre-paginated row model because pagination is
172
+ * expected to happen before data reaches the table.
162
173
  *
163
174
  * @example
164
175
  * ```ts
165
- * const value = table_getPaginatedRowModel(table)
176
+ * const pageRows = table_getPaginatedRowModel(table)
166
177
  * ```
167
178
  */
168
179
  function table_getPaginatedRowModel(table) {
@@ -174,13 +185,14 @@ function table_getPaginatedRowModel(table) {
174
185
  return table._rowModels.paginatedRowModel();
175
186
  }
176
187
  /**
177
- * Returns row model for the table.
188
+ * Resolves the final row model consumed by renderers.
178
189
  *
179
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
190
+ * This is the end of the built-in row-model pipeline: core -> filtering ->
191
+ * grouping -> sorting -> expanding -> pagination.
180
192
  *
181
193
  * @example
182
194
  * ```ts
183
- * const value = table_getRowModel(table)
195
+ * const visibleRows = table_getRowModel(table)
184
196
  * ```
185
197
  */
186
198
  function table_getRowModel(table) {
@@ -1 +1 @@
1
- {"version":3,"file":"coreRowModelsFeature.utils.js","names":[],"sources":["../../../src/core/row-models/coreRowModelsFeature.utils.ts"],"sourcesContent":["import { createCoreRowModel } from './createCoreRowModel'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\nimport type { RowModel } from './coreRowModelsFeature.types'\n\n/**\n * Returns core row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getCoreRowModel(table)\n * ```\n */\nexport function table_getCoreRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.coreRowModel) {\n table._rowModels.coreRowModel =\n table.options._rowModels?.coreRowModel?.(table) ??\n createCoreRowModel<TFeatures, TData>()(table)\n }\n\n return table._rowModels.coreRowModel()\n}\n\n/**\n * Returns pre filtered row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPreFilteredRowModel(table)\n * ```\n */\nexport function table_getPreFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getCoreRowModel()\n}\n\n/**\n * Returns filtered row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getFilteredRowModel(table)\n * ```\n */\nexport function table_getFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.filteredRowModel) {\n table._rowModels.filteredRowModel =\n table.options._rowModels?.filteredRowModel?.(table)\n }\n\n if (table.options.manualFiltering || !table._rowModels.filteredRowModel) {\n return table.getPreFilteredRowModel()\n }\n\n return table._rowModels.filteredRowModel()\n}\n\n/**\n * Returns pre grouped row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPreGroupedRowModel(table)\n * ```\n */\nexport function table_getPreGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getFilteredRowModel()\n}\n\n/**\n * Returns grouped row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getGroupedRowModel(table)\n * ```\n */\nexport function table_getGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.groupedRowModel) {\n table._rowModels.groupedRowModel =\n table.options._rowModels?.groupedRowModel?.(table)\n }\n\n if (table.options.manualGrouping || !table._rowModels.groupedRowModel) {\n return table.getPreGroupedRowModel()\n }\n\n return table._rowModels.groupedRowModel()\n}\n\n/**\n * Returns pre sorted row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPreSortedRowModel(table)\n * ```\n */\nexport function table_getPreSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getGroupedRowModel()\n}\n\n/**\n * Returns sorted row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getSortedRowModel(table)\n * ```\n */\nexport function table_getSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.sortedRowModel) {\n table._rowModels.sortedRowModel =\n table.options._rowModels?.sortedRowModel?.(table)\n }\n\n if (table.options.manualSorting || !table._rowModels.sortedRowModel) {\n return table.getPreSortedRowModel()\n }\n\n return table._rowModels.sortedRowModel()\n}\n\n/**\n * Returns pre expanded row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPreExpandedRowModel(table)\n * ```\n */\nexport function table_getPreExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getSortedRowModel()\n}\n\n/**\n * Returns expanded row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getExpandedRowModel(table)\n * ```\n */\nexport function table_getExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.expandedRowModel) {\n table._rowModels.expandedRowModel =\n table.options._rowModels?.expandedRowModel?.(table)\n }\n\n if (table.options.manualExpanding || !table._rowModels.expandedRowModel) {\n return table.getPreExpandedRowModel()\n }\n\n return table._rowModels.expandedRowModel()\n}\n\n/**\n * Returns pre paginated row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPrePaginatedRowModel(table)\n * ```\n */\nexport function table_getPrePaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getExpandedRowModel()\n}\n\n/**\n * Returns paginated row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPaginatedRowModel(table)\n * ```\n */\nexport function table_getPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.paginatedRowModel) {\n table._rowModels.paginatedRowModel =\n table.options._rowModels?.paginatedRowModel?.(table)\n }\n\n if (table.options.manualPagination || !table._rowModels.paginatedRowModel) {\n return table.getPrePaginatedRowModel()\n }\n\n return table._rowModels.paginatedRowModel()\n}\n\n/**\n * Returns row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getRowModel(table)\n * ```\n */\nexport function table_getRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getPaginatedRowModel()\n}\n"],"mappings":";;;;;;;;;;;;;AAgBA,SAAgB,sBAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,cAAc;;EAClC,MAAM,WAAW,yCACf,MAAM,QAAQ,4GAAY,0HAAe,MAAM,KAC/C,oBAAsC,CAAC,MAAM;;CAGjD,OAAO,MAAM,WAAW,cAAc;;;;;;;;;;;;AAaxC,SAAgB,6BAGd,OAAqE;CACrE,OAAO,MAAM,iBAAiB;;;;;;;;;;;;AAahC,SAAgB,0BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,kBAAkB;;EACtC,MAAM,WAAW,6CACf,MAAM,QAAQ,8GAAY,+HAAmB,MAAM;;CAGvD,IAAI,MAAM,QAAQ,mBAAmB,CAAC,MAAM,WAAW,kBACrD,OAAO,MAAM,wBAAwB;CAGvC,OAAO,MAAM,WAAW,kBAAkB;;;;;;;;;;;;AAa5C,SAAgB,4BAGd,OAAqE;CACrE,OAAO,MAAM,qBAAqB;;;;;;;;;;;;AAapC,SAAgB,yBAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,iBAAiB;;EACrC,MAAM,WAAW,4CACf,MAAM,QAAQ,8GAAY,8HAAkB,MAAM;;CAGtD,IAAI,MAAM,QAAQ,kBAAkB,CAAC,MAAM,WAAW,iBACpD,OAAO,MAAM,uBAAuB;CAGtC,OAAO,MAAM,WAAW,iBAAiB;;;;;;;;;;;;AAa3C,SAAgB,2BAGd,OAAqE;CACrE,OAAO,MAAM,oBAAoB;;;;;;;;;;;;AAanC,SAAgB,wBAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,gBAAgB;;EACpC,MAAM,WAAW,2CACf,MAAM,QAAQ,8GAAY,6HAAiB,MAAM;;CAGrD,IAAI,MAAM,QAAQ,iBAAiB,CAAC,MAAM,WAAW,gBACnD,OAAO,MAAM,sBAAsB;CAGrC,OAAO,MAAM,WAAW,gBAAgB;;;;;;;;;;;;AAa1C,SAAgB,6BAGd,OAAqE;CACrE,OAAO,MAAM,mBAAmB;;;;;;;;;;;;AAalC,SAAgB,0BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,kBAAkB;;EACtC,MAAM,WAAW,6CACf,MAAM,QAAQ,+GAAY,iIAAmB,MAAM;;CAGvD,IAAI,MAAM,QAAQ,mBAAmB,CAAC,MAAM,WAAW,kBACrD,OAAO,MAAM,wBAAwB;CAGvC,OAAO,MAAM,WAAW,kBAAkB;;;;;;;;;;;;AAa5C,SAAgB,8BAGd,OAAqE;CACrE,OAAO,MAAM,qBAAqB;;;;;;;;;;;;AAapC,SAAgB,2BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,mBAAmB;;EACvC,MAAM,WAAW,+CACf,MAAM,QAAQ,iHAAY,mIAAoB,MAAM;;CAGxD,IAAI,MAAM,QAAQ,oBAAoB,CAAC,MAAM,WAAW,mBACtD,OAAO,MAAM,yBAAyB;CAGxC,OAAO,MAAM,WAAW,mBAAmB;;;;;;;;;;;;AAa7C,SAAgB,kBAGd,OAAqE;CACrE,OAAO,MAAM,sBAAsB"}
1
+ {"version":3,"file":"coreRowModelsFeature.utils.js","names":[],"sources":["../../../src/core/row-models/coreRowModelsFeature.utils.ts"],"sourcesContent":["import { createCoreRowModel } from './createCoreRowModel'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\nimport type { RowModel } from './coreRowModelsFeature.types'\n\n/**\n * Resolves the table's unmodified core row model.\n *\n * The factory is created once per table, either from `options._rowModels.coreRowModel`\n * or the built-in `createCoreRowModel()`, then reused for later calls.\n *\n * @example\n * ```ts\n * const coreRows = table_getCoreRowModel(table)\n * ```\n */\nexport function table_getCoreRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.coreRowModel) {\n table._rowModels.coreRowModel =\n table.options._rowModels?.coreRowModel?.(table) ??\n createCoreRowModel<TFeatures, TData>()(table)\n }\n\n return table._rowModels.coreRowModel()\n}\n\n/**\n * Reads the row model immediately before column/global filtering.\n *\n * Filtering is the first derived row-model stage, so this currently aliases\n * `table.getCoreRowModel()`.\n *\n * @example\n * ```ts\n * const rowsBeforeFiltering = table_getPreFilteredRowModel(table)\n * ```\n */\nexport function table_getPreFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getCoreRowModel()\n}\n\n/**\n * Resolves the row model after column and global filtering.\n *\n * When `manualFiltering` is enabled, or no filtered row-model factory was\n * registered, this returns the pre-filtered row model because filtering is\n * expected to happen outside the table.\n *\n * @example\n * ```ts\n * const filteredRows = table_getFilteredRowModel(table)\n * ```\n */\nexport function table_getFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.filteredRowModel) {\n table._rowModels.filteredRowModel =\n table.options._rowModels?.filteredRowModel?.(table)\n }\n\n if (table.options.manualFiltering || !table._rowModels.filteredRowModel) {\n return table.getPreFilteredRowModel()\n }\n\n return table._rowModels.filteredRowModel()\n}\n\n/**\n * Reads the row model immediately before grouping.\n *\n * Grouping runs after filtering, so this aliases `table.getFilteredRowModel()`.\n *\n * @example\n * ```ts\n * const rowsBeforeGrouping = table_getPreGroupedRowModel(table)\n * ```\n */\nexport function table_getPreGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getFilteredRowModel()\n}\n\n/**\n * Resolves the row model after grouping has produced grouped and aggregated rows.\n *\n * When `manualGrouping` is enabled, or no grouped row-model factory was\n * registered, this returns the pre-grouped row model unchanged.\n *\n * @example\n * ```ts\n * const groupedRows = table_getGroupedRowModel(table)\n * ```\n */\nexport function table_getGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.groupedRowModel) {\n table._rowModels.groupedRowModel =\n table.options._rowModels?.groupedRowModel?.(table)\n }\n\n if (table.options.manualGrouping || !table._rowModels.groupedRowModel) {\n return table.getPreGroupedRowModel()\n }\n\n return table._rowModels.groupedRowModel()\n}\n\n/**\n * Reads the row model immediately before sorting.\n *\n * Sorting runs after grouping, so this aliases `table.getGroupedRowModel()`.\n *\n * @example\n * ```ts\n * const rowsBeforeSorting = table_getPreSortedRowModel(table)\n * ```\n */\nexport function table_getPreSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getGroupedRowModel()\n}\n\n/**\n * Resolves the row model after sorting has been applied.\n *\n * When `manualSorting` is enabled, or no sorted row-model factory was\n * registered, this returns the pre-sorted row model because sorted data is\n * expected to be supplied by the caller.\n *\n * @example\n * ```ts\n * const sortedRows = table_getSortedRowModel(table)\n * ```\n */\nexport function table_getSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.sortedRowModel) {\n table._rowModels.sortedRowModel =\n table.options._rowModels?.sortedRowModel?.(table)\n }\n\n if (table.options.manualSorting || !table._rowModels.sortedRowModel) {\n return table.getPreSortedRowModel()\n }\n\n return table._rowModels.sortedRowModel()\n}\n\n/**\n * Reads the row model immediately before row expansion.\n *\n * Expansion runs after sorting, so this aliases `table.getSortedRowModel()`.\n *\n * @example\n * ```ts\n * const rowsBeforeExpansion = table_getPreExpandedRowModel(table)\n * ```\n */\nexport function table_getPreExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getSortedRowModel()\n}\n\n/**\n * Resolves the row model after expanded rows have been flattened into view.\n *\n * When `manualExpanding` is enabled, or no expanded row-model factory was\n * registered, this returns the pre-expanded row model unchanged.\n *\n * @example\n * ```ts\n * const expandedRows = table_getExpandedRowModel(table)\n * ```\n */\nexport function table_getExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.expandedRowModel) {\n table._rowModels.expandedRowModel =\n table.options._rowModels?.expandedRowModel?.(table)\n }\n\n if (table.options.manualExpanding || !table._rowModels.expandedRowModel) {\n return table.getPreExpandedRowModel()\n }\n\n return table._rowModels.expandedRowModel()\n}\n\n/**\n * Reads the row model immediately before pagination.\n *\n * Pagination is the final built-in row-model stage, so this aliases\n * `table.getExpandedRowModel()`.\n *\n * @example\n * ```ts\n * const rowsBeforePagination = table_getPrePaginatedRowModel(table)\n * ```\n */\nexport function table_getPrePaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getExpandedRowModel()\n}\n\n/**\n * Resolves the row model after pagination has sliced rows for the current page.\n *\n * When `manualPagination` is enabled, or no paginated row-model factory was\n * registered, this returns the pre-paginated row model because pagination is\n * expected to happen before data reaches the table.\n *\n * @example\n * ```ts\n * const pageRows = table_getPaginatedRowModel(table)\n * ```\n */\nexport function table_getPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.paginatedRowModel) {\n table._rowModels.paginatedRowModel =\n table.options._rowModels?.paginatedRowModel?.(table)\n }\n\n if (table.options.manualPagination || !table._rowModels.paginatedRowModel) {\n return table.getPrePaginatedRowModel()\n }\n\n return table._rowModels.paginatedRowModel()\n}\n\n/**\n * Resolves the final row model consumed by renderers.\n *\n * This is the end of the built-in row-model pipeline: core -> filtering ->\n * grouping -> sorting -> expanding -> pagination.\n *\n * @example\n * ```ts\n * const visibleRows = table_getRowModel(table)\n * ```\n */\nexport function table_getRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getPaginatedRowModel()\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAgB,sBAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,cAAc;;EAClC,MAAM,WAAW,yCACf,MAAM,QAAQ,4GAAY,0HAAe,MAAM,KAC/C,oBAAsC,CAAC,MAAM;;CAGjD,OAAO,MAAM,WAAW,cAAc;;;;;;;;;;;;;AAcxC,SAAgB,6BAGd,OAAqE;CACrE,OAAO,MAAM,iBAAiB;;;;;;;;;;;;;;AAehC,SAAgB,0BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,kBAAkB;;EACtC,MAAM,WAAW,6CACf,MAAM,QAAQ,8GAAY,+HAAmB,MAAM;;CAGvD,IAAI,MAAM,QAAQ,mBAAmB,CAAC,MAAM,WAAW,kBACrD,OAAO,MAAM,wBAAwB;CAGvC,OAAO,MAAM,WAAW,kBAAkB;;;;;;;;;;;;AAa5C,SAAgB,4BAGd,OAAqE;CACrE,OAAO,MAAM,qBAAqB;;;;;;;;;;;;;AAcpC,SAAgB,yBAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,iBAAiB;;EACrC,MAAM,WAAW,4CACf,MAAM,QAAQ,8GAAY,8HAAkB,MAAM;;CAGtD,IAAI,MAAM,QAAQ,kBAAkB,CAAC,MAAM,WAAW,iBACpD,OAAO,MAAM,uBAAuB;CAGtC,OAAO,MAAM,WAAW,iBAAiB;;;;;;;;;;;;AAa3C,SAAgB,2BAGd,OAAqE;CACrE,OAAO,MAAM,oBAAoB;;;;;;;;;;;;;;AAenC,SAAgB,wBAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,gBAAgB;;EACpC,MAAM,WAAW,2CACf,MAAM,QAAQ,8GAAY,6HAAiB,MAAM;;CAGrD,IAAI,MAAM,QAAQ,iBAAiB,CAAC,MAAM,WAAW,gBACnD,OAAO,MAAM,sBAAsB;CAGrC,OAAO,MAAM,WAAW,gBAAgB;;;;;;;;;;;;AAa1C,SAAgB,6BAGd,OAAqE;CACrE,OAAO,MAAM,mBAAmB;;;;;;;;;;;;;AAclC,SAAgB,0BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,kBAAkB;;EACtC,MAAM,WAAW,6CACf,MAAM,QAAQ,+GAAY,iIAAmB,MAAM;;CAGvD,IAAI,MAAM,QAAQ,mBAAmB,CAAC,MAAM,WAAW,kBACrD,OAAO,MAAM,wBAAwB;CAGvC,OAAO,MAAM,WAAW,kBAAkB;;;;;;;;;;;;;AAc5C,SAAgB,8BAGd,OAAqE;CACrE,OAAO,MAAM,qBAAqB;;;;;;;;;;;;;;AAepC,SAAgB,2BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,mBAAmB;;EACvC,MAAM,WAAW,+CACf,MAAM,QAAQ,iHAAY,mIAAoB,MAAM;;CAGxD,IAAI,MAAM,QAAQ,oBAAoB,CAAC,MAAM,WAAW,mBACtD,OAAO,MAAM,yBAAyB;CAGxC,OAAO,MAAM,WAAW,mBAAmB;;;;;;;;;;;;;AAc7C,SAAgB,kBAGd,OAAqE;CACrE,OAAO,MAAM,sBAAsB"}
@@ -7,9 +7,10 @@
7
7
  function getRowPrototype(table) {
8
8
  if (!table._rowPrototype) {
9
9
  table._rowPrototype = { table };
10
- for (const feature of Object.values(table._features)) {
11
- var _feature$assignRowPro;
12
- (_feature$assignRowPro = feature.assignRowPrototype) === null || _feature$assignRowPro === void 0 || _feature$assignRowPro.call(feature, table._rowPrototype, table);
10
+ const features = Object.values(table._features);
11
+ for (let i = 0; i < features.length; i++) {
12
+ var _assignRowPrototype, _ref;
13
+ (_assignRowPrototype = (_ref = features[i]).assignRowPrototype) === null || _assignRowPrototype === void 0 || _assignRowPrototype.call(_ref, table._rowPrototype, table);
13
14
  }
14
15
  }
15
16
  return table._rowPrototype;
@@ -30,9 +31,10 @@ const constructRow = (table, id, original, rowIndex, depth, subRows, parentId) =
30
31
  row.original = original;
31
32
  row.parentId = parentId;
32
33
  row.subRows = subRows ?? [];
33
- for (const feature of Object.values(table._features)) {
34
- var _feature$initRowInsta;
35
- (_feature$initRowInsta = feature.initRowInstanceData) === null || _feature$initRowInsta === void 0 || _feature$initRowInsta.call(feature, row);
34
+ const features = Object.values(table._features);
35
+ for (let i = 0; i < features.length; i++) {
36
+ var _initRowInstanceData, _ref2;
37
+ (_initRowInstanceData = (_ref2 = features[i]).initRowInstanceData) === null || _initRowInstanceData === void 0 || _initRowInstanceData.call(_ref2, row);
36
38
  }
37
39
  return row;
38
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constructRow.cjs","names":[],"sources":["../../../src/core/rows/constructRow.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Row_CoreProperties } from './coreRowsFeature.types'\n\n/**\n * Creates or retrieves the row prototype for a table.\n * The prototype is cached on the table and shared by all row instances.\n */\nfunction getRowPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._rowPrototype) {\n table._rowPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignRowPrototype?.(table._rowPrototype, table)\n }\n }\n return table._rowPrototype\n}\n\n/**\n * Constructs a row instance from normalized table internals.\n *\n * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n */\nexport const constructRow = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Array<Row<TFeatures, TData>>,\n parentId?: string,\n): Row<TFeatures, TData> => {\n // Create row with shared prototype for memory efficiency\n const rowPrototype = getRowPrototype(table)\n const row = Object.create(rowPrototype) as Row_CoreProperties<\n TFeatures,\n TData\n >\n\n // Only assign instance-specific properties\n row._uniqueValuesCache = {}\n row._valuesCache = {}\n row.depth = depth\n row.id = id\n row.index = rowIndex\n row.original = original\n row.parentId = parentId\n row.subRows = subRows ?? []\n\n // Initialize instance-specific data (e.g., caches) for features that need it\n for (const feature of Object.values(table._features)) {\n feature.initRowInstanceData?.(row)\n }\n\n return row as Row<TFeatures, TData>\n}\n"],"mappings":";;;;;;AAUA,SAAS,gBAGP,OAAiD;CACjD,IAAI,CAAC,MAAM,eAAe;EACxB,MAAM,gBAAgB,EAAE,OAAO;EAC/B,KAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;GACpD,iCAAQ,wGAAqB,MAAM,eAAe,MAAM;;;CAG5D,OAAO,MAAM;;;;;;;AAQf,MAAa,gBAIX,OACA,IACA,UACA,UACA,OACA,SACA,aAC0B;CAE1B,MAAM,eAAe,gBAAgB,MAAM;CAC3C,MAAM,MAAM,OAAO,OAAO,aAAa;CAMvC,IAAI,qBAAqB,EAAE;CAC3B,IAAI,eAAe,EAAE;CACrB,IAAI,QAAQ;CACZ,IAAI,KAAK;CACT,IAAI,QAAQ;CACZ,IAAI,WAAW;CACf,IAAI,WAAW;CACf,IAAI,UAAU,WAAW,EAAE;CAG3B,KAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;EACpD,iCAAQ,yGAAsB,IAAI;;CAGpC,OAAO"}
1
+ {"version":3,"file":"constructRow.cjs","names":[],"sources":["../../../src/core/rows/constructRow.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Row_CoreProperties } from './coreRowsFeature.types'\n\n/**\n * Creates or retrieves the row prototype for a table.\n * The prototype is cached on the table and shared by all row instances.\n */\nfunction getRowPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._rowPrototype) {\n table._rowPrototype = { table }\n const features = Object.values(table._features)\n for (let i = 0; i < features.length; i++) {\n features[i]!.assignRowPrototype?.(table._rowPrototype, table)\n }\n }\n return table._rowPrototype\n}\n\n/**\n * Constructs a row instance from normalized table internals.\n *\n * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n */\nexport const constructRow = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Array<Row<TFeatures, TData>>,\n parentId?: string,\n): Row<TFeatures, TData> => {\n // Create row with shared prototype for memory efficiency\n const rowPrototype = getRowPrototype(table)\n const row = Object.create(rowPrototype) as Row_CoreProperties<\n TFeatures,\n TData\n >\n\n // Only assign instance-specific properties\n row._uniqueValuesCache = {}\n row._valuesCache = {}\n row.depth = depth\n row.id = id\n row.index = rowIndex\n row.original = original\n row.parentId = parentId\n row.subRows = subRows ?? []\n\n // Initialize instance-specific data (e.g., caches) for features that need it\n const features = Object.values(table._features)\n for (let i = 0; i < features.length; i++) {\n features[i]!.initRowInstanceData?.(row)\n }\n\n return row as Row<TFeatures, TData>\n}\n"],"mappings":";;;;;;AAUA,SAAS,gBAGP,OAAiD;CACjD,IAAI,CAAC,MAAM,eAAe;EACxB,MAAM,gBAAgB,EAAE,OAAO;EAC/B,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU;EAC/C,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;;GACxC,wCAAS,IAAI,iGAAqB,MAAM,eAAe,MAAM;;;CAGjE,OAAO,MAAM;;;;;;;AAQf,MAAa,gBAIX,OACA,IACA,UACA,UACA,OACA,SACA,aAC0B;CAE1B,MAAM,eAAe,gBAAgB,MAAM;CAC3C,MAAM,MAAM,OAAO,OAAO,aAAa;CAMvC,IAAI,qBAAqB,EAAE;CAC3B,IAAI,eAAe,EAAE;CACrB,IAAI,QAAQ;CACZ,IAAI,KAAK;CACT,IAAI,QAAQ;CACZ,IAAI,WAAW;CACf,IAAI,WAAW;CACf,IAAI,UAAU,WAAW,EAAE;CAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU;CAC/C,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;;EACxC,0CAAS,IAAI,qGAAsB,IAAI;;CAGzC,OAAO"}
@@ -6,9 +6,10 @@
6
6
  function getRowPrototype(table) {
7
7
  if (!table._rowPrototype) {
8
8
  table._rowPrototype = { table };
9
- for (const feature of Object.values(table._features)) {
10
- var _feature$assignRowPro;
11
- (_feature$assignRowPro = feature.assignRowPrototype) === null || _feature$assignRowPro === void 0 || _feature$assignRowPro.call(feature, table._rowPrototype, table);
9
+ const features = Object.values(table._features);
10
+ for (let i = 0; i < features.length; i++) {
11
+ var _assignRowPrototype, _ref;
12
+ (_assignRowPrototype = (_ref = features[i]).assignRowPrototype) === null || _assignRowPrototype === void 0 || _assignRowPrototype.call(_ref, table._rowPrototype, table);
12
13
  }
13
14
  }
14
15
  return table._rowPrototype;
@@ -29,9 +30,10 @@ const constructRow = (table, id, original, rowIndex, depth, subRows, parentId) =
29
30
  row.original = original;
30
31
  row.parentId = parentId;
31
32
  row.subRows = subRows ?? [];
32
- for (const feature of Object.values(table._features)) {
33
- var _feature$initRowInsta;
34
- (_feature$initRowInsta = feature.initRowInstanceData) === null || _feature$initRowInsta === void 0 || _feature$initRowInsta.call(feature, row);
33
+ const features = Object.values(table._features);
34
+ for (let i = 0; i < features.length; i++) {
35
+ var _initRowInstanceData, _ref2;
36
+ (_initRowInstanceData = (_ref2 = features[i]).initRowInstanceData) === null || _initRowInstanceData === void 0 || _initRowInstanceData.call(_ref2, row);
35
37
  }
36
38
  return row;
37
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constructRow.js","names":[],"sources":["../../../src/core/rows/constructRow.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Row_CoreProperties } from './coreRowsFeature.types'\n\n/**\n * Creates or retrieves the row prototype for a table.\n * The prototype is cached on the table and shared by all row instances.\n */\nfunction getRowPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._rowPrototype) {\n table._rowPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignRowPrototype?.(table._rowPrototype, table)\n }\n }\n return table._rowPrototype\n}\n\n/**\n * Constructs a row instance from normalized table internals.\n *\n * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n */\nexport const constructRow = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Array<Row<TFeatures, TData>>,\n parentId?: string,\n): Row<TFeatures, TData> => {\n // Create row with shared prototype for memory efficiency\n const rowPrototype = getRowPrototype(table)\n const row = Object.create(rowPrototype) as Row_CoreProperties<\n TFeatures,\n TData\n >\n\n // Only assign instance-specific properties\n row._uniqueValuesCache = {}\n row._valuesCache = {}\n row.depth = depth\n row.id = id\n row.index = rowIndex\n row.original = original\n row.parentId = parentId\n row.subRows = subRows ?? []\n\n // Initialize instance-specific data (e.g., caches) for features that need it\n for (const feature of Object.values(table._features)) {\n feature.initRowInstanceData?.(row)\n }\n\n return row as Row<TFeatures, TData>\n}\n"],"mappings":";;;;;AAUA,SAAS,gBAGP,OAAiD;CACjD,IAAI,CAAC,MAAM,eAAe;EACxB,MAAM,gBAAgB,EAAE,OAAO;EAC/B,KAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;GACpD,iCAAQ,wGAAqB,MAAM,eAAe,MAAM;;;CAG5D,OAAO,MAAM;;;;;;;AAQf,MAAa,gBAIX,OACA,IACA,UACA,UACA,OACA,SACA,aAC0B;CAE1B,MAAM,eAAe,gBAAgB,MAAM;CAC3C,MAAM,MAAM,OAAO,OAAO,aAAa;CAMvC,IAAI,qBAAqB,EAAE;CAC3B,IAAI,eAAe,EAAE;CACrB,IAAI,QAAQ;CACZ,IAAI,KAAK;CACT,IAAI,QAAQ;CACZ,IAAI,WAAW;CACf,IAAI,WAAW;CACf,IAAI,UAAU,WAAW,EAAE;CAG3B,KAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;EACpD,iCAAQ,yGAAsB,IAAI;;CAGpC,OAAO"}
1
+ {"version":3,"file":"constructRow.js","names":[],"sources":["../../../src/core/rows/constructRow.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Row_CoreProperties } from './coreRowsFeature.types'\n\n/**\n * Creates or retrieves the row prototype for a table.\n * The prototype is cached on the table and shared by all row instances.\n */\nfunction getRowPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._rowPrototype) {\n table._rowPrototype = { table }\n const features = Object.values(table._features)\n for (let i = 0; i < features.length; i++) {\n features[i]!.assignRowPrototype?.(table._rowPrototype, table)\n }\n }\n return table._rowPrototype\n}\n\n/**\n * Constructs a row instance from normalized table internals.\n *\n * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n */\nexport const constructRow = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Array<Row<TFeatures, TData>>,\n parentId?: string,\n): Row<TFeatures, TData> => {\n // Create row with shared prototype for memory efficiency\n const rowPrototype = getRowPrototype(table)\n const row = Object.create(rowPrototype) as Row_CoreProperties<\n TFeatures,\n TData\n >\n\n // Only assign instance-specific properties\n row._uniqueValuesCache = {}\n row._valuesCache = {}\n row.depth = depth\n row.id = id\n row.index = rowIndex\n row.original = original\n row.parentId = parentId\n row.subRows = subRows ?? []\n\n // Initialize instance-specific data (e.g., caches) for features that need it\n const features = Object.values(table._features)\n for (let i = 0; i < features.length; i++) {\n features[i]!.initRowInstanceData?.(row)\n }\n\n return row as Row<TFeatures, TData>\n}\n"],"mappings":";;;;;AAUA,SAAS,gBAGP,OAAiD;CACjD,IAAI,CAAC,MAAM,eAAe;EACxB,MAAM,gBAAgB,EAAE,OAAO;EAC/B,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU;EAC/C,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;;GACxC,wCAAS,IAAI,iGAAqB,MAAM,eAAe,MAAM;;;CAGjE,OAAO,MAAM;;;;;;;AAQf,MAAa,gBAIX,OACA,IACA,UACA,UACA,OACA,SACA,aAC0B;CAE1B,MAAM,eAAe,gBAAgB,MAAM;CAC3C,MAAM,MAAM,OAAO,OAAO,aAAa;CAMvC,IAAI,qBAAqB,EAAE;CAC3B,IAAI,eAAe,EAAE;CACrB,IAAI,QAAQ;CACZ,IAAI,KAAK;CACT,IAAI,QAAQ;CACZ,IAAI,WAAW;CACf,IAAI,WAAW;CACf,IAAI,UAAU,WAAW,EAAE;CAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU;CAC/C,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;;EACxC,0CAAS,IAAI,qGAAsB,IAAI;;CAGzC,OAAO"}
@@ -43,11 +43,11 @@ interface Row_CoreProperties<TFeatures extends TableFeatures, TData extends RowD
43
43
  }
44
44
  interface Row_Row<TFeatures extends TableFeatures, TData extends RowData> extends Row_CoreProperties<TFeatures, TData> {
45
45
  /**
46
- * Returns all of the cells for the row by column id.
46
+ * Builds a lookup of this row's cells keyed by leaf column id.
47
47
  */
48
48
  getAllCellsByColumnId: () => Record<string, Cell<TFeatures, TData, unknown>>;
49
49
  /**
50
- * Returns all of the cells for the row.
50
+ * Builds one cell for each leaf column, including cells for hidden columns.
51
51
  */
52
52
  getAllCells: () => Array<Cell<TFeatures, TData, unknown>>;
53
53
  /**
@@ -63,11 +63,11 @@ interface Row_Row<TFeatures extends TableFeatures, TData extends RowData> extend
63
63
  */
64
64
  getParentRows: () => Array<Row<TFeatures, TData>>;
65
65
  /**
66
- * Returns a unique array of values from the row for a given columnId.
66
+ * Reads the values this row contributes to faceting/grouping for a column.
67
67
  */
68
68
  getUniqueValues: <TValue>(columnId: string) => Array<TValue>;
69
69
  /**
70
- * Returns the value from the row for a given columnId.
70
+ * Reads this row's accessor value for a column id and caches the result.
71
71
  */
72
72
  getValue: <TValue>(columnId: string) => TValue;
73
73
  /**
@@ -43,11 +43,11 @@ interface Row_CoreProperties<TFeatures extends TableFeatures, TData extends RowD
43
43
  }
44
44
  interface Row_Row<TFeatures extends TableFeatures, TData extends RowData> extends Row_CoreProperties<TFeatures, TData> {
45
45
  /**
46
- * Returns all of the cells for the row by column id.
46
+ * Builds a lookup of this row's cells keyed by leaf column id.
47
47
  */
48
48
  getAllCellsByColumnId: () => Record<string, Cell<TFeatures, TData, unknown>>;
49
49
  /**
50
- * Returns all of the cells for the row.
50
+ * Builds one cell for each leaf column, including cells for hidden columns.
51
51
  */
52
52
  getAllCells: () => Array<Cell<TFeatures, TData, unknown>>;
53
53
  /**
@@ -63,11 +63,11 @@ interface Row_Row<TFeatures extends TableFeatures, TData extends RowData> extend
63
63
  */
64
64
  getParentRows: () => Array<Row<TFeatures, TData>>;
65
65
  /**
66
- * Returns a unique array of values from the row for a given columnId.
66
+ * Reads the values this row contributes to faceting/grouping for a column.
67
67
  */
68
68
  getUniqueValues: <TValue>(columnId: string) => Array<TValue>;
69
69
  /**
70
- * Returns the value from the row for a given columnId.
70
+ * Reads this row's accessor value for a column id and caches the result.
71
71
  */
72
72
  getValue: <TValue>(columnId: string) => TValue;
73
73
  /**