@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
@@ -16,7 +16,10 @@ interface TableState_ColumnPinning {
16
16
  }
17
17
  interface TableOptions_ColumnPinning {
18
18
  /**
19
- * Enables/disables column pinning for the table. Defaults to `true`.
19
+ * Allows columns to be pinned into left and right regions.
20
+ *
21
+ * Defaults to `true`; column-level `enablePinning` can still opt individual
22
+ * columns out.
20
23
  */
21
24
  enableColumnPinning?: boolean;
22
25
  /**
@@ -31,125 +34,134 @@ interface ColumnPinningDefaultOptions {
31
34
  }
32
35
  interface ColumnDef_ColumnPinning {
33
36
  /**
34
- * Enables/disables column pinning for this column. Defaults to `true`.
37
+ * Allows this column's leaf columns to be pinned.
38
+ *
39
+ * Defaults to `true`; table-level `enableColumnPinning` must also allow
40
+ * pinning.
35
41
  */
36
42
  enablePinning?: boolean;
37
43
  }
38
44
  interface Column_ColumnPinning {
39
45
  /**
40
- * Returns whether or not the column can be pinned.
46
+ * Checks whether this column or any of its leaves can be pinned.
41
47
  */
42
48
  getCanPin: () => boolean;
43
49
  /**
44
- * Returns the pinned position of the column. (`'left'`, `'right'` or `false`)
50
+ * Reads the column's pinned position: `'left'`, `'right'`, or `false`.
45
51
  */
46
52
  getIsPinned: () => ColumnPinningPosition;
47
53
  /**
48
- * Returns the numeric pinned index of the column within a pinned column group.
54
+ * Finds this column's index within its pinned region.
49
55
  */
50
56
  getPinnedIndex: () => number;
51
57
  /**
52
- * Pins a column to the `'left'` or `'right'`, or unpins the column to the center if `false` is passed.
58
+ * Pins this column's leaf columns left or right, or unpins them when `false`
59
+ * is passed.
53
60
  */
54
61
  pin: (position: ColumnPinningPosition) => void;
55
62
  }
56
63
  interface Row_ColumnPinning<TFeatures extends TableFeatures, TData extends RowData> {
57
64
  /**
58
- * Returns all center pinned (unpinned) leaf cells in the row.
65
+ * Gets visible row cells whose columns are not pinned left or right.
59
66
  */
60
67
  getCenterVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
61
68
  /**
62
- * Returns all left pinned leaf cells in the row.
69
+ * Gets visible row cells whose columns are pinned left.
63
70
  */
64
71
  getLeftVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
65
72
  /**
66
- * Returns all right pinned leaf cells in the row.
73
+ * Gets visible row cells whose columns are pinned right.
67
74
  */
68
75
  getRightVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
69
76
  }
70
77
  interface Table_ColumnPinning<TFeatures extends TableFeatures, TData extends RowData> {
71
78
  /**
72
- * If pinning, returns headers for all columns that are not pinned, including parent headers.
79
+ * Builds flat center-region headers for columns that are not pinned,
80
+ * including parent headers.
73
81
  */
74
82
  getCenterFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
75
83
  /**
76
- * If pinning, returns the footer groups for columns that are not pinned.
84
+ * Builds footer groups for the center region of unpinned columns.
77
85
  */
78
86
  getCenterFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
79
87
  /**
80
- * If pinning, returns the header groups for columns that are not pinned.
88
+ * Builds header groups for the center region of unpinned columns.
81
89
  */
82
90
  getCenterHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
83
91
  /**
84
- * Returns all center pinned (unpinned) leaf columns.
92
+ * Gets leaf columns that are not pinned left or right.
85
93
  */
86
94
  getCenterLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
87
95
  /**
88
- * If pinning, returns headers for all columns that are not pinned, (not including parent headers).
96
+ * Builds center-region leaf headers for columns that are not pinned.
89
97
  */
90
98
  getCenterLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
91
99
  /**
92
- * If column pinning, returns a flat array of leaf-node columns that are visible in the unpinned/center portion of the table.
100
+ * Lists visible leaf columns in the unpinned center region.
93
101
  */
94
102
  getCenterVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
95
103
  /**
96
- * Returns whether or not any columns are pinned. Optionally specify to only check for pinned columns in either the `left` or `right` position.
104
+ * Checks whether any columns are pinned, optionally limited to one side.
97
105
  */
98
106
  getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
99
107
  /**
100
- * If pinning, returns headers for all left pinned columns in the table, including parent headers.
108
+ * Builds flat left-region headers for pinned columns, including parent
109
+ * headers.
101
110
  */
102
111
  getLeftFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
103
112
  /**
104
- * If pinning, returns the footer groups for the left pinned columns.
113
+ * Builds footer groups for left-pinned columns.
105
114
  */
106
115
  getLeftFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
107
116
  /**
108
- * If pinning, returns the header groups for the left pinned columns.
117
+ * Builds header groups for left-pinned columns.
109
118
  */
110
119
  getLeftHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
111
120
  /**
112
- * Returns all left pinned leaf columns.
121
+ * Gets leaf columns pinned to the left region in pinning-state order.
113
122
  */
114
123
  getLeftLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
115
124
  /**
116
- * If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).
125
+ * Builds leaf headers for left-pinned columns.
117
126
  */
118
127
  getLeftLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
119
128
  /**
120
- * If column pinning, returns a flat array of leaf-node columns that are visible in the left portion of the table.
129
+ * Lists visible leaf columns in the left pinned region.
121
130
  */
122
131
  getLeftVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
123
132
  /**
124
- * If pinning, returns headers for all right pinned columns in the table, including parent headers.
133
+ * Builds flat right-region headers for pinned columns, including parent
134
+ * headers.
125
135
  */
126
136
  getRightFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
127
137
  /**
128
- * If pinning, returns the footer groups for the right pinned columns.
138
+ * Builds footer groups for right-pinned columns.
129
139
  */
130
140
  getRightFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
131
141
  /**
132
- * If pinning, returns the header groups for the right pinned columns.
142
+ * Builds header groups for right-pinned columns.
133
143
  */
134
144
  getRightHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
135
145
  /**
136
- * Returns all right pinned leaf columns.
146
+ * Gets leaf columns pinned to the right region in pinning-state order.
137
147
  */
138
148
  getRightLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
139
149
  /**
140
- * If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).
150
+ * Builds leaf headers for right-pinned columns.
141
151
  */
142
152
  getRightLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
143
153
  /**
144
- * If column pinning, returns a flat array of leaf-node columns that are visible in the right portion of the table.
154
+ * Lists visible leaf columns in the right pinned region.
145
155
  */
146
156
  getRightVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
147
157
  /**
148
- * Resets the **columnPinning** state to `initialState.columnPinning`, or `true` can be passed to force a default blank state reset to `{ left: [], right: [], }`.
158
+ * Resets `columnPinning` to `initialState.columnPinning`.
159
+ *
160
+ * Pass `true` to ignore initial state and reset to empty left/right arrays.
149
161
  */
150
162
  resetColumnPinning: (defaultState?: boolean) => void;
151
163
  /**
152
- * Sets column pinning state using a value or updater.
164
+ * Updates column pinning state with a next state or updater function.
153
165
  */
154
166
  setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
155
167
  /**
@@ -157,7 +169,7 @@ interface Table_ColumnPinning<TFeatures extends TableFeatures, TData extends Row
157
169
  */
158
170
  getPinnedLeafColumns: (position: ColumnPinningPosition | 'center') => Array<Column<TFeatures, TData, unknown>>;
159
171
  /**
160
- * Returns visible pinned leaf columns for the requested pinning region.
172
+ * Lists visible leaf columns for the requested pinning region.
161
173
  */
162
174
  getPinnedVisibleLeafColumns: (position: ColumnPinningPosition | 'center') => Array<Column<TFeatures, TData, unknown>>;
163
175
  }
@@ -16,7 +16,10 @@ interface TableState_ColumnPinning {
16
16
  }
17
17
  interface TableOptions_ColumnPinning {
18
18
  /**
19
- * Enables/disables column pinning for the table. Defaults to `true`.
19
+ * Allows columns to be pinned into left and right regions.
20
+ *
21
+ * Defaults to `true`; column-level `enablePinning` can still opt individual
22
+ * columns out.
20
23
  */
21
24
  enableColumnPinning?: boolean;
22
25
  /**
@@ -31,125 +34,134 @@ interface ColumnPinningDefaultOptions {
31
34
  }
32
35
  interface ColumnDef_ColumnPinning {
33
36
  /**
34
- * Enables/disables column pinning for this column. Defaults to `true`.
37
+ * Allows this column's leaf columns to be pinned.
38
+ *
39
+ * Defaults to `true`; table-level `enableColumnPinning` must also allow
40
+ * pinning.
35
41
  */
36
42
  enablePinning?: boolean;
37
43
  }
38
44
  interface Column_ColumnPinning {
39
45
  /**
40
- * Returns whether or not the column can be pinned.
46
+ * Checks whether this column or any of its leaves can be pinned.
41
47
  */
42
48
  getCanPin: () => boolean;
43
49
  /**
44
- * Returns the pinned position of the column. (`'left'`, `'right'` or `false`)
50
+ * Reads the column's pinned position: `'left'`, `'right'`, or `false`.
45
51
  */
46
52
  getIsPinned: () => ColumnPinningPosition;
47
53
  /**
48
- * Returns the numeric pinned index of the column within a pinned column group.
54
+ * Finds this column's index within its pinned region.
49
55
  */
50
56
  getPinnedIndex: () => number;
51
57
  /**
52
- * Pins a column to the `'left'` or `'right'`, or unpins the column to the center if `false` is passed.
58
+ * Pins this column's leaf columns left or right, or unpins them when `false`
59
+ * is passed.
53
60
  */
54
61
  pin: (position: ColumnPinningPosition) => void;
55
62
  }
56
63
  interface Row_ColumnPinning<TFeatures extends TableFeatures, TData extends RowData> {
57
64
  /**
58
- * Returns all center pinned (unpinned) leaf cells in the row.
65
+ * Gets visible row cells whose columns are not pinned left or right.
59
66
  */
60
67
  getCenterVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
61
68
  /**
62
- * Returns all left pinned leaf cells in the row.
69
+ * Gets visible row cells whose columns are pinned left.
63
70
  */
64
71
  getLeftVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
65
72
  /**
66
- * Returns all right pinned leaf cells in the row.
73
+ * Gets visible row cells whose columns are pinned right.
67
74
  */
68
75
  getRightVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
69
76
  }
70
77
  interface Table_ColumnPinning<TFeatures extends TableFeatures, TData extends RowData> {
71
78
  /**
72
- * If pinning, returns headers for all columns that are not pinned, including parent headers.
79
+ * Builds flat center-region headers for columns that are not pinned,
80
+ * including parent headers.
73
81
  */
74
82
  getCenterFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
75
83
  /**
76
- * If pinning, returns the footer groups for columns that are not pinned.
84
+ * Builds footer groups for the center region of unpinned columns.
77
85
  */
78
86
  getCenterFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
79
87
  /**
80
- * If pinning, returns the header groups for columns that are not pinned.
88
+ * Builds header groups for the center region of unpinned columns.
81
89
  */
82
90
  getCenterHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
83
91
  /**
84
- * Returns all center pinned (unpinned) leaf columns.
92
+ * Gets leaf columns that are not pinned left or right.
85
93
  */
86
94
  getCenterLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
87
95
  /**
88
- * If pinning, returns headers for all columns that are not pinned, (not including parent headers).
96
+ * Builds center-region leaf headers for columns that are not pinned.
89
97
  */
90
98
  getCenterLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
91
99
  /**
92
- * If column pinning, returns a flat array of leaf-node columns that are visible in the unpinned/center portion of the table.
100
+ * Lists visible leaf columns in the unpinned center region.
93
101
  */
94
102
  getCenterVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
95
103
  /**
96
- * Returns whether or not any columns are pinned. Optionally specify to only check for pinned columns in either the `left` or `right` position.
104
+ * Checks whether any columns are pinned, optionally limited to one side.
97
105
  */
98
106
  getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
99
107
  /**
100
- * If pinning, returns headers for all left pinned columns in the table, including parent headers.
108
+ * Builds flat left-region headers for pinned columns, including parent
109
+ * headers.
101
110
  */
102
111
  getLeftFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
103
112
  /**
104
- * If pinning, returns the footer groups for the left pinned columns.
113
+ * Builds footer groups for left-pinned columns.
105
114
  */
106
115
  getLeftFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
107
116
  /**
108
- * If pinning, returns the header groups for the left pinned columns.
117
+ * Builds header groups for left-pinned columns.
109
118
  */
110
119
  getLeftHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
111
120
  /**
112
- * Returns all left pinned leaf columns.
121
+ * Gets leaf columns pinned to the left region in pinning-state order.
113
122
  */
114
123
  getLeftLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
115
124
  /**
116
- * If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).
125
+ * Builds leaf headers for left-pinned columns.
117
126
  */
118
127
  getLeftLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
119
128
  /**
120
- * If column pinning, returns a flat array of leaf-node columns that are visible in the left portion of the table.
129
+ * Lists visible leaf columns in the left pinned region.
121
130
  */
122
131
  getLeftVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
123
132
  /**
124
- * If pinning, returns headers for all right pinned columns in the table, including parent headers.
133
+ * Builds flat right-region headers for pinned columns, including parent
134
+ * headers.
125
135
  */
126
136
  getRightFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
127
137
  /**
128
- * If pinning, returns the footer groups for the right pinned columns.
138
+ * Builds footer groups for right-pinned columns.
129
139
  */
130
140
  getRightFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
131
141
  /**
132
- * If pinning, returns the header groups for the right pinned columns.
142
+ * Builds header groups for right-pinned columns.
133
143
  */
134
144
  getRightHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
135
145
  /**
136
- * Returns all right pinned leaf columns.
146
+ * Gets leaf columns pinned to the right region in pinning-state order.
137
147
  */
138
148
  getRightLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
139
149
  /**
140
- * If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).
150
+ * Builds leaf headers for right-pinned columns.
141
151
  */
142
152
  getRightLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
143
153
  /**
144
- * If column pinning, returns a flat array of leaf-node columns that are visible in the right portion of the table.
154
+ * Lists visible leaf columns in the right pinned region.
145
155
  */
146
156
  getRightVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
147
157
  /**
148
- * Resets the **columnPinning** state to `initialState.columnPinning`, or `true` can be passed to force a default blank state reset to `{ left: [], right: [], }`.
158
+ * Resets `columnPinning` to `initialState.columnPinning`.
159
+ *
160
+ * Pass `true` to ignore initial state and reset to empty left/right arrays.
149
161
  */
150
162
  resetColumnPinning: (defaultState?: boolean) => void;
151
163
  /**
152
- * Sets column pinning state using a value or updater.
164
+ * Updates column pinning state with a next state or updater function.
153
165
  */
154
166
  setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
155
167
  /**
@@ -157,7 +169,7 @@ interface Table_ColumnPinning<TFeatures extends TableFeatures, TData extends Row
157
169
  */
158
170
  getPinnedLeafColumns: (position: ColumnPinningPosition | 'center') => Array<Column<TFeatures, TData, unknown>>;
159
171
  /**
160
- * Returns visible pinned leaf columns for the requested pinning region.
172
+ * Lists visible leaf columns for the requested pinning region.
161
173
  */
162
174
  getPinnedVisibleLeafColumns: (position: ColumnPinningPosition | 'center') => Array<Column<TFeatures, TData, unknown>>;
163
175
  }