@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.21

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 (524) hide show
  1. package/dist/core/cells/constructCell.d.cts +3 -3
  2. package/dist/core/cells/constructCell.d.ts +3 -3
  3. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  4. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  5. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  6. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  7. package/dist/core/cells/coreCellsFeature.js +12 -20
  8. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
  13. package/dist/core/columns/constructColumn.cjs +5 -0
  14. package/dist/core/columns/constructColumn.cjs.map +1 -1
  15. package/dist/core/columns/constructColumn.d.cts +3 -3
  16. package/dist/core/columns/constructColumn.d.ts +3 -3
  17. package/dist/core/columns/constructColumn.js +5 -0
  18. package/dist/core/columns/constructColumn.js.map +1 -1
  19. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  20. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  22. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  23. package/dist/core/columns/coreColumnsFeature.js +60 -68
  24. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  26. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  27. package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
  28. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  29. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  30. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  31. package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
  32. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  33. package/dist/core/coreFeatures.cjs.map +1 -1
  34. package/dist/core/coreFeatures.d.cts +1 -1
  35. package/dist/core/coreFeatures.d.ts +1 -1
  36. package/dist/core/coreFeatures.js.map +1 -1
  37. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  38. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  39. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  40. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  41. package/dist/core/headers/constructHeader.d.cts +2 -2
  42. package/dist/core/headers/constructHeader.d.ts +2 -2
  43. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  44. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  45. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  46. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  47. package/dist/core/headers/coreHeadersFeature.js +45 -53
  48. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  49. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  50. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  52. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  53. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  54. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  55. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  56. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  58. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  59. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  60. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  61. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
  62. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  64. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  65. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
  66. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
  67. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  68. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  69. package/dist/core/row-models/createCoreRowModel.cjs +2 -3
  70. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  71. package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
  72. package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
  73. package/dist/core/row-models/createCoreRowModel.js +3 -4
  74. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  75. package/dist/core/rows/constructRow.cjs +3 -2
  76. package/dist/core/rows/constructRow.cjs.map +1 -1
  77. package/dist/core/rows/constructRow.d.cts +2 -2
  78. package/dist/core/rows/constructRow.d.ts +2 -2
  79. package/dist/core/rows/constructRow.js +4 -2
  80. package/dist/core/rows/constructRow.js.map +1 -1
  81. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  82. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  83. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  84. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  85. package/dist/core/rows/coreRowsFeature.js +28 -36
  86. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  87. package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
  88. package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
  89. package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
  90. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  91. package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
  92. package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
  93. package/dist/core/rows/coreRowsFeature.utils.js +4 -4
  94. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  95. package/dist/core/table/constructTable.cjs +21 -6
  96. package/dist/core/table/constructTable.cjs.map +1 -1
  97. package/dist/core/table/constructTable.d.cts +1 -1
  98. package/dist/core/table/constructTable.d.ts +1 -1
  99. package/dist/core/table/constructTable.js +21 -6
  100. package/dist/core/table/constructTable.js.map +1 -1
  101. package/dist/core/table/coreTablesFeature.cjs +7 -16
  102. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  103. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  104. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  105. package/dist/core/table/coreTablesFeature.js +8 -16
  106. package/dist/core/table/coreTablesFeature.js.map +1 -1
  107. package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
  108. package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
  109. package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
  110. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  111. package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
  112. package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
  113. package/dist/core/table/coreTablesFeature.utils.js +33 -12
  114. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  115. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  116. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  117. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  118. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  119. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  120. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  121. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  122. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  123. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  124. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  125. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
  126. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
  127. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  128. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  129. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  130. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  131. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  132. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  133. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  137. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  138. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  139. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  140. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  141. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  142. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  143. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  144. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  145. package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
  146. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  147. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  148. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  150. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  151. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
  152. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
  153. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  154. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  155. package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
  156. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  157. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  158. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  159. package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
  160. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  161. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  162. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  163. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  164. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  165. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  167. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  168. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  169. package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
  170. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  171. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +28 -21
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +28 -21
  173. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.js +5 -5
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  179. package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  181. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  182. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  183. package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
  184. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  185. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  187. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  188. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  189. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  190. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  192. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
  195. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  196. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  197. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  198. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  199. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  200. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  201. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  202. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  203. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
  205. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
  206. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  207. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  208. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  209. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  210. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  211. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  212. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
  216. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
  220. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  221. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  222. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  223. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  224. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  225. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  226. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
  228. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
  230. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
  232. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  234. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  235. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  236. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  237. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  238. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  239. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  240. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
  244. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
  245. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
  246. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  247. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  248. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  249. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  250. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  251. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  252. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  253. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  254. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  256. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
  257. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
  258. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  259. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  260. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  261. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  262. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  263. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  264. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  265. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  266. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  267. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  268. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  269. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  270. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  271. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
  272. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  273. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  274. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  275. package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
  276. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  277. package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
  278. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  279. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  280. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  281. package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
  282. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  283. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  284. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  285. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  286. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  287. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  288. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  289. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  290. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  291. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  292. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  293. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  294. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  295. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  296. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  297. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  298. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  299. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  300. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  301. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
  302. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  303. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  304. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  305. package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
  306. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  307. package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
  308. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  309. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  310. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  311. package/dist/features/row-selection/rowSelectionFeature.js +110 -78
  312. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  313. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
  314. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
  315. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
  316. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  317. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
  318. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
  319. package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
  320. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  321. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
  322. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  323. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  324. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  325. package/dist/features/row-sorting/createSortedRowModel.js +6 -4
  326. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  327. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  328. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  329. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  330. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  331. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  332. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  333. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
  334. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
  335. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  336. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  337. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  338. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  339. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  340. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  341. package/dist/fns/aggregationFns.cjs +18 -18
  342. package/dist/fns/aggregationFns.cjs.map +1 -1
  343. package/dist/fns/aggregationFns.d.cts +21 -19
  344. package/dist/fns/aggregationFns.d.ts +21 -19
  345. package/dist/fns/aggregationFns.js +18 -18
  346. package/dist/fns/aggregationFns.js.map +1 -1
  347. package/dist/fns/filterFns.cjs +51 -65
  348. package/dist/fns/filterFns.cjs.map +1 -1
  349. package/dist/fns/filterFns.d.cts +82 -28
  350. package/dist/fns/filterFns.d.ts +82 -28
  351. package/dist/fns/filterFns.js +51 -65
  352. package/dist/fns/filterFns.js.map +1 -1
  353. package/dist/fns/sortFns.cjs +18 -6
  354. package/dist/fns/sortFns.cjs.map +1 -1
  355. package/dist/fns/sortFns.d.cts +15 -13
  356. package/dist/fns/sortFns.d.ts +15 -13
  357. package/dist/fns/sortFns.js +18 -6
  358. package/dist/fns/sortFns.js.map +1 -1
  359. package/dist/helpers/columnHelper.cjs.map +1 -1
  360. package/dist/helpers/columnHelper.d.cts +2 -2
  361. package/dist/helpers/columnHelper.d.ts +2 -2
  362. package/dist/helpers/columnHelper.js.map +1 -1
  363. package/dist/helpers/metaHelper.cjs +30 -0
  364. package/dist/helpers/metaHelper.cjs.map +1 -0
  365. package/dist/helpers/metaHelper.d.cts +26 -0
  366. package/dist/helpers/metaHelper.d.ts +26 -0
  367. package/dist/helpers/metaHelper.js +29 -0
  368. package/dist/helpers/metaHelper.js.map +1 -0
  369. package/dist/helpers/tableFeatures.cjs +31 -3
  370. package/dist/helpers/tableFeatures.cjs.map +1 -1
  371. package/dist/helpers/tableFeatures.d.cts +33 -5
  372. package/dist/helpers/tableFeatures.d.ts +33 -5
  373. package/dist/helpers/tableFeatures.js +31 -3
  374. package/dist/helpers/tableFeatures.js.map +1 -1
  375. package/dist/index.cjs +4 -20
  376. package/dist/index.d.cts +50 -49
  377. package/dist/index.d.ts +50 -49
  378. package/dist/index.js +23 -22
  379. package/dist/static-functions.cjs +1 -0
  380. package/dist/static-functions.d.cts +2 -2
  381. package/dist/static-functions.d.ts +2 -2
  382. package/dist/static-functions.js +2 -2
  383. package/dist/store-reactivity-bindings.cjs +1 -1
  384. package/dist/store-reactivity-bindings.cjs.map +1 -1
  385. package/dist/store-reactivity-bindings.d.cts +1 -1
  386. package/dist/store-reactivity-bindings.d.ts +1 -1
  387. package/dist/store-reactivity-bindings.js +1 -1
  388. package/dist/store-reactivity-bindings.js.map +1 -1
  389. package/dist/types/Cell.d.cts +4 -9
  390. package/dist/types/Cell.d.ts +4 -9
  391. package/dist/types/Column.d.cts +11 -18
  392. package/dist/types/Column.d.ts +11 -18
  393. package/dist/types/ColumnDef.d.cts +23 -14
  394. package/dist/types/ColumnDef.d.ts +23 -14
  395. package/dist/types/Header.d.cts +5 -10
  396. package/dist/types/Header.d.ts +5 -10
  397. package/dist/types/HeaderGroup.d.cts +4 -9
  398. package/dist/types/HeaderGroup.d.ts +4 -9
  399. package/dist/types/Row.d.cts +7 -12
  400. package/dist/types/Row.d.ts +7 -12
  401. package/dist/types/RowModel.d.cts +12 -28
  402. package/dist/types/RowModel.d.ts +12 -28
  403. package/dist/types/RowModelFns.d.cts +6 -11
  404. package/dist/types/RowModelFns.d.ts +6 -11
  405. package/dist/types/Table.d.cts +26 -36
  406. package/dist/types/Table.d.ts +26 -36
  407. package/dist/types/TableFeatures.d.cts +328 -54
  408. package/dist/types/TableFeatures.d.ts +328 -54
  409. package/dist/types/TableOptions.d.cts +22 -17
  410. package/dist/types/TableOptions.d.ts +22 -17
  411. package/dist/types/TableState.d.cts +11 -16
  412. package/dist/types/TableState.d.ts +11 -16
  413. package/dist/utils.cjs +24 -2
  414. package/dist/utils.cjs.map +1 -1
  415. package/dist/utils.d.cts +23 -7
  416. package/dist/utils.d.ts +23 -7
  417. package/dist/utils.js +23 -3
  418. package/dist/utils.js.map +1 -1
  419. package/package.json +2 -2
  420. package/skills/column-definitions/SKILL.md +3 -6
  421. package/skills/column-layout/SKILL.md +0 -2
  422. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  423. package/skills/filtering/SKILL.md +60 -42
  424. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  425. package/skills/grouping/SKILL.md +49 -54
  426. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  427. package/skills/pagination/SKILL.md +22 -20
  428. package/skills/row-expanding/SKILL.md +33 -25
  429. package/skills/row-pinning/SKILL.md +11 -7
  430. package/skills/row-selection/SKILL.md +0 -3
  431. package/skills/setup/SKILL.md +55 -65
  432. package/skills/sorting/SKILL.md +21 -21
  433. package/skills/state-management/SKILL.md +40 -25
  434. package/src/core/cells/coreCellsFeature.ts +17 -39
  435. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  436. package/src/core/columns/constructColumn.ts +6 -0
  437. package/src/core/columns/coreColumnsFeature.ts +56 -83
  438. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  439. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  440. package/src/core/coreFeatures.ts +1 -1
  441. package/src/core/headers/buildHeaderGroups.ts +4 -2
  442. package/src/core/headers/coreHeadersFeature.ts +42 -64
  443. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  444. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  445. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  446. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  447. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  448. package/src/core/row-models/createCoreRowModel.ts +7 -6
  449. package/src/core/rows/constructRow.ts +3 -2
  450. package/src/core/rows/coreRowsFeature.ts +45 -72
  451. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  452. package/src/core/rows/coreRowsFeature.utils.ts +4 -4
  453. package/src/core/table/constructTable.ts +50 -13
  454. package/src/core/table/coreTablesFeature.ts +13 -35
  455. package/src/core/table/coreTablesFeature.types.ts +40 -17
  456. package/src/core/table/coreTablesFeature.utils.ts +52 -18
  457. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  458. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  459. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  460. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  461. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  462. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  463. package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
  464. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  465. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  466. package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
  467. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  468. package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
  469. package/src/features/column-grouping/columnGroupingFeature.types.ts +42 -34
  470. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -2
  471. package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
  472. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  473. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  474. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  475. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  476. package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
  477. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  478. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  479. package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
  480. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  481. package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
  482. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  483. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  484. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
  485. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  486. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  487. package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
  488. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  489. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  490. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  491. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  492. package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
  493. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  494. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  495. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  496. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  497. package/src/features/row-selection/rowSelectionFeature.ts +125 -135
  498. package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
  499. package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
  500. package/src/features/row-sorting/createSortedRowModel.ts +12 -15
  501. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  502. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  503. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  504. package/src/fns/aggregationFns.ts +26 -42
  505. package/src/fns/filterFns.ts +237 -264
  506. package/src/fns/sortFns.ts +51 -29
  507. package/src/helpers/columnHelper.ts +4 -4
  508. package/src/helpers/metaHelper.ts +24 -0
  509. package/src/helpers/tableFeatures.ts +36 -5
  510. package/src/index.ts +1 -0
  511. package/src/store-reactivity-bindings.ts +1 -1
  512. package/src/types/Cell.ts +5 -21
  513. package/src/types/Column.ts +12 -26
  514. package/src/types/ColumnDef.ts +28 -18
  515. package/src/types/Header.ts +4 -20
  516. package/src/types/HeaderGroup.ts +7 -18
  517. package/src/types/Row.ts +6 -21
  518. package/src/types/RowModel.ts +15 -88
  519. package/src/types/RowModelFns.ts +9 -24
  520. package/src/types/Table.ts +54 -44
  521. package/src/types/TableFeatures.ts +402 -123
  522. package/src/types/TableOptions.ts +59 -21
  523. package/src/types/TableState.ts +5 -17
  524. package/src/utils.ts +40 -8
@@ -13,7 +13,7 @@ import type { Row } from '../../types/Row'
13
13
  import type { CellData, RowData, Updater } from '../../types/type-utils'
14
14
  import type { TableFeatures } from '../../types/TableFeatures'
15
15
  import type { Table_Internal } from '../../types/Table'
16
- import type { Column_Internal } from '../../types/Column'
16
+ import type { Column, Column_Internal } from '../../types/Column'
17
17
  import type {
18
18
  ColumnPinningPosition,
19
19
  ColumnPinningState,
@@ -230,7 +230,7 @@ export function row_getLeftVisibleCells<
230
230
  const cell = allVisibleCells[columnId]
231
231
  if (cell) {
232
232
  // Assign position property directly to preserve prototype chain
233
- cell.position = 'left'
233
+ ;(cell as any).position = 'left'
234
234
  cells.push(cell)
235
235
  }
236
236
  }
@@ -266,7 +266,7 @@ export function row_getRightVisibleCells<
266
266
  const cell = allVisibleCells[columnId]
267
267
  if (cell) {
268
268
  // Assign position property directly to preserve prototype chain
269
- cell.position = 'right'
269
+ ;(cell as any).position = 'right'
270
270
  cells.push(cell)
271
271
  }
272
272
  }
@@ -364,15 +364,11 @@ export function table_getLeftHeaderGroups<
364
364
  TData extends RowData,
365
365
  >(table: Table_Internal<TFeatures, TData>) {
366
366
  const allColumns = table.getAllColumns()
367
- const leafColumnsById = table.getAllLeafColumnsById() as Record<
368
- string,
369
- Column_Internal<TFeatures, TData, unknown>
370
- >
367
+ const leafColumnsById = table.getAllLeafColumnsById()
371
368
  const { left } =
372
369
  table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
373
370
 
374
- const orderedLeafColumns: Array<Column_Internal<TFeatures, TData, unknown>> =
375
- []
371
+ const orderedLeafColumns: Array<Column<TFeatures, TData, unknown>> = []
376
372
  for (let i = 0; i < left.length; i++) {
377
373
  const column = leafColumnsById[left[i]!]
378
374
  if (
@@ -402,15 +398,11 @@ export function table_getRightHeaderGroups<
402
398
  TData extends RowData,
403
399
  >(table: Table_Internal<TFeatures, TData>) {
404
400
  const allColumns = table.getAllColumns()
405
- const leafColumnsById = table.getAllLeafColumnsById() as Record<
406
- string,
407
- Column_Internal<TFeatures, TData, unknown>
408
- >
401
+ const leafColumnsById = table.getAllLeafColumnsById()
409
402
  const { right } =
410
403
  table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
411
404
 
412
- const orderedLeafColumns: Array<Column_Internal<TFeatures, TData, unknown>> =
413
- []
405
+ const orderedLeafColumns: Array<Column<TFeatures, TData, unknown>> = []
414
406
  for (let i = 0; i < right.length; i++) {
415
407
  const column = leafColumnsById[right[i]!]
416
408
  if (
@@ -446,7 +438,7 @@ export function table_getCenterHeaderGroups<
446
438
  table,
447
439
  'getVisibleLeafColumns',
448
440
  table_getVisibleLeafColumns,
449
- ) as unknown as Array<Column_Internal<TFeatures, TData, unknown>>
441
+ )
450
442
  const { left, right } =
451
443
  table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
452
444
  const leftAndRight: Array<string> = [...left, ...right]
@@ -550,7 +542,7 @@ export function table_getLeftFlatHeaders<
550
542
  for (let i = 0; i < leftHeaderGroups.length; i++) {
551
543
  const headers = leftHeaderGroups[i]!.headers
552
544
  for (let j = 0; j < headers.length; j++) {
553
- result.push(headers[j])
545
+ result.push(headers[j]!)
554
546
  }
555
547
  }
556
548
  return result
@@ -579,7 +571,7 @@ export function table_getRightFlatHeaders<
579
571
  for (let i = 0; i < rightHeaderGroups.length; i++) {
580
572
  const headers = rightHeaderGroups[i]!.headers
581
573
  for (let j = 0; j < headers.length; j++) {
582
- result.push(headers[j])
574
+ result.push(headers[j]!)
583
575
  }
584
576
  }
585
577
  return result
@@ -608,7 +600,7 @@ export function table_getCenterFlatHeaders<
608
600
  for (let i = 0; i < centerHeaderGroups.length; i++) {
609
601
  const headers = centerHeaderGroups[i]!.headers
610
602
  for (let j = 0; j < headers.length; j++) {
611
- result.push(headers[j])
603
+ result.push(headers[j]!)
612
604
  }
613
605
  }
614
606
  return result
@@ -11,89 +11,55 @@ import {
11
11
  table_resetHeaderSizeInfo,
12
12
  table_setColumnResizing,
13
13
  } from './columnResizingFeature.utils'
14
- import type { RowData } from '../../types/type-utils'
15
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
16
- // import type {
17
- // Column_ColumnResizing,
18
- // Header_ColumnResizing,
19
- // TableOptions_ColumnResizing,
20
- // TableState_ColumnResizing,
21
- // Table_ColumnResizing,
22
- // } from './columnResizingFeature.types'
23
-
24
- export interface ColumnResizingFeatureConstructors<
25
- TFeatures extends TableFeatures,
26
- TData extends RowData,
27
- > {
28
- // Column: Column_ColumnResizing
29
- // Header: Header_ColumnResizing
30
- // Table: Table_ColumnResizing
31
- // TableOptions: TableOptions_ColumnResizing
32
- // TableState: TableState_ColumnResizing
33
- }
14
+ import type { TableFeature } from '../../types/TableFeatures'
34
15
 
35
16
  /**
36
- * Creates the stock column resizing feature.
37
- *
38
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
17
+ * Feature that adds column resizing state, options, and resize handlers.
39
18
  */
40
- export function constructColumnResizingFeature<
41
- TFeatures extends TableFeatures,
42
- TData extends RowData,
43
- >(): TableFeature<ColumnResizingFeatureConstructors<TFeatures, TData>> {
44
- return {
45
- getInitialState: (initialState) => {
46
- return {
47
- columnResizing: getDefaultColumnResizingState(),
48
- ...initialState,
49
- }
50
- },
19
+ export const columnResizingFeature: TableFeature = {
20
+ getInitialState: (initialState) => {
21
+ return {
22
+ columnResizing: getDefaultColumnResizingState(),
23
+ ...initialState,
24
+ }
25
+ },
51
26
 
52
- getDefaultTableOptions: (table) => {
53
- return {
54
- columnResizeMode: 'onEnd',
55
- columnResizeDirection: 'ltr',
56
- onColumnResizingChange: makeStateUpdater('columnResizing', table),
57
- }
58
- },
27
+ getDefaultTableOptions: (table) => {
28
+ return {
29
+ columnResizeMode: 'onEnd',
30
+ columnResizeDirection: 'ltr',
31
+ onColumnResizingChange: makeStateUpdater('columnResizing', table),
32
+ }
33
+ },
59
34
 
60
- assignColumnPrototype: (prototype, table) => {
61
- assignPrototypeAPIs('columnResizingFeature', prototype, table, {
62
- column_getCanResize: {
63
- fn: (column) => column_getCanResize(column),
64
- },
65
- column_getIsResizing: {
66
- fn: (column) => column_getIsResizing(column),
67
- },
68
- })
69
- },
35
+ assignColumnPrototype: (prototype, table) => {
36
+ assignPrototypeAPIs('columnResizingFeature', prototype, table, {
37
+ column_getCanResize: {
38
+ fn: (column) => column_getCanResize(column),
39
+ },
40
+ column_getIsResizing: {
41
+ fn: (column) => column_getIsResizing(column),
42
+ },
43
+ })
44
+ },
70
45
 
71
- assignHeaderPrototype: (prototype, table) => {
72
- assignPrototypeAPIs('columnResizingFeature', prototype, table, {
73
- header_getResizeHandler: {
74
- fn: (header, _contextDocument) =>
75
- header_getResizeHandler(header, _contextDocument),
76
- },
77
- })
78
- },
46
+ assignHeaderPrototype: (prototype, table) => {
47
+ assignPrototypeAPIs('columnResizingFeature', prototype, table, {
48
+ header_getResizeHandler: {
49
+ fn: (header, _contextDocument) =>
50
+ header_getResizeHandler(header, _contextDocument),
51
+ },
52
+ })
53
+ },
79
54
 
80
- constructTableAPIs: (table) => {
81
- assignTableAPIs('columnResizingFeature', table, {
82
- table_setColumnResizing: {
83
- fn: (updater) => table_setColumnResizing(table, updater),
84
- },
85
- table_resetHeaderSizeInfo: {
86
- fn: (defaultState) => table_resetHeaderSizeInfo(table, defaultState),
87
- },
88
- })
89
- },
90
- }
55
+ constructTableAPIs: (table) => {
56
+ assignTableAPIs('columnResizingFeature', table, {
57
+ table_setColumnResizing: {
58
+ fn: (updater) => table_setColumnResizing(table, updater),
59
+ },
60
+ table_resetHeaderSizeInfo: {
61
+ fn: (defaultState) => table_resetHeaderSizeInfo(table, defaultState),
62
+ },
63
+ })
64
+ },
91
65
  }
92
-
93
- /**
94
- * The stock column resizing feature.
95
- *
96
- * Register this feature with `columnSizingFeature` to add resize interaction
97
- * state and APIs for drag-based column resizing.
98
- */
99
- export const columnResizingFeature = constructColumnResizingFeature()
@@ -54,11 +54,8 @@ export interface Table_ColumnResizing {
54
54
  resetHeaderSizeInfo: (defaultState?: boolean) => void
55
55
  /**
56
56
  * Updates transient resize interaction state with a next state or updater function.
57
- *
58
- * The lowercase `c` in this API name matches the current generated v9 table
59
- * API for the `columnResizing` state slice.
60
57
  */
61
- setcolumnResizing: (updater: Updater<columnResizingState>) => void
58
+ setColumnResizing: (updater: Updater<columnResizingState>) => void
62
59
  }
63
60
 
64
61
  export interface ColumnDef_ColumnResizing {
@@ -3,7 +3,7 @@ import {
3
3
  header_getSize,
4
4
  table_setColumnSizing,
5
5
  } from '../column-sizing/columnSizingFeature.utils'
6
- import { cloneState } from '../../utils'
6
+ import { cloneState, makeObjectMap } from '../../utils'
7
7
  import type { CellData, RowData, Updater } from '../../types/type-utils'
8
8
  import type { TableFeatures } from '../../types/TableFeatures'
9
9
  import type { Table_Internal } from '../../types/Table'
@@ -123,7 +123,7 @@ export function header_getResizeHandler<
123
123
  ? Math.round(event.touches[0]!.clientX)
124
124
  : (event as MouseEvent).clientX
125
125
 
126
- const newColumnSizing: ColumnSizingState = {}
126
+ const newColumnSizing: ColumnSizingState = makeObjectMap()
127
127
 
128
128
  const updateOffset = (eventType: 'move' | 'end', clientXPos?: number) => {
129
129
  if (typeof clientXPos !== 'number') {
@@ -164,10 +164,9 @@ export function header_getResizeHandler<
164
164
  column.table.options.columnResizeMode === 'onChange' ||
165
165
  eventType === 'end'
166
166
  ) {
167
- table_setColumnSizing(column.table, (old) => ({
168
- ...old,
169
- ...newColumnSizing,
170
- }))
167
+ table_setColumnSizing(column.table, (old) =>
168
+ Object.assign(makeObjectMap<number>(), old, newColumnSizing),
169
+ )
171
170
  }
172
171
  }
173
172
 
@@ -19,164 +19,127 @@ import {
19
19
  table_resetColumnSizing,
20
20
  table_setColumnSizing,
21
21
  } from './columnSizingFeature.utils'
22
- import type { RowData } from '../../types/type-utils'
23
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
24
- // import type {
25
- // ColumnDef_ColumnSizing,
26
- // Column_ColumnSizing,
27
- // Header_ColumnSizing,
28
- // TableOptions_ColumnSizing,
29
- // TableState_ColumnSizing,
30
- // Table_ColumnSizing,
31
- // } from './columnSizingFeature.types'
32
-
33
- export interface ColumnSizingFeatureConstructors<
34
- TFeatures extends TableFeatures,
35
- TData extends RowData,
36
- > {
37
- // ColumnDef: ColumnDef_ColumnSizing
38
- // Column: Column_ColumnSizing
39
- // Header: Header_ColumnSizing
40
- // Table: Table_ColumnSizing
41
- // TableOptions: TableOptions_ColumnSizing
42
- // TableState: TableState_ColumnSizing
43
- }
22
+ import type { TableFeature } from '../../types/TableFeatures'
44
23
 
45
24
  /**
46
- * Creates the stock column sizing feature.
47
- *
48
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
25
+ * Feature that adds column sizing state, defaults, and size measurement APIs.
49
26
  */
50
- export function constructColumnSizingFeature<
51
- TFeatures extends TableFeatures,
52
- TData extends RowData,
53
- >(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {
54
- return {
55
- getInitialState: (initialState) => {
56
- return {
57
- columnSizing: getDefaultColumnSizingState(),
58
- ...initialState,
59
- }
60
- },
27
+ export const columnSizingFeature: TableFeature = {
28
+ getInitialState: (initialState) => {
29
+ return {
30
+ columnSizing: getDefaultColumnSizingState(),
31
+ ...initialState,
32
+ }
33
+ },
61
34
 
62
- getDefaultColumnDef: () => {
63
- return getDefaultColumnSizingColumnDef()
64
- },
35
+ getDefaultColumnDef: () => {
36
+ return getDefaultColumnSizingColumnDef()
37
+ },
65
38
 
66
- getDefaultTableOptions: (table) => {
67
- return {
68
- onColumnSizingChange: makeStateUpdater('columnSizing', table),
69
- }
70
- },
39
+ getDefaultTableOptions: (table) => {
40
+ return {
41
+ onColumnSizingChange: makeStateUpdater('columnSizing', table),
42
+ }
43
+ },
71
44
 
72
- assignColumnPrototype: (prototype, table) => {
73
- assignPrototypeAPIs('columnSizingFeature', prototype, table, {
74
- column_getSize: {
75
- fn: (column) => column_getSize(column),
76
- memoDeps: (column) => [
77
- table.options.columns,
78
- table.atoms.columnSizing?.get()?.[column.id], // just this column's size state
79
- ],
80
- },
81
- column_getStart: {
82
- fn: (column, position) => column_getStart(column, position),
83
- memoDeps: (column, position) => [
84
- position,
85
- table.options.columns,
86
- table.atoms.columnSizing?.get(),
87
- table.atoms.columnOrder?.get(),
88
- table.atoms.columnPinning?.get(),
89
- table.atoms.columnVisibility?.get(),
90
- ],
91
- },
92
- column_getAfter: {
93
- fn: (column, position) => column_getAfter(column, position),
94
- memoDeps: (column, position) => [
95
- position,
96
- table.options.columns,
97
- table.atoms.columnSizing?.get(),
98
- table.atoms.columnOrder?.get(),
99
- table.atoms.columnPinning?.get(),
100
- table.atoms.columnVisibility?.get(),
101
- ],
102
- },
103
- column_resetSize: {
104
- fn: (column) => column_resetSize(column),
105
- },
106
- })
107
- },
45
+ assignColumnPrototype: (prototype, table) => {
46
+ assignPrototypeAPIs('columnSizingFeature', prototype, table, {
47
+ column_getSize: {
48
+ fn: (column) => column_getSize(column),
49
+ memoDeps: (column) => [
50
+ table.options.columns,
51
+ table.atoms.columnSizing?.get()?.[column.id], // just this column's size state
52
+ ],
53
+ },
54
+ column_getStart: {
55
+ fn: (column, position) => column_getStart(column, position),
56
+ memoDeps: (column, position) => [
57
+ position,
58
+ table.options.columns,
59
+ table.atoms.columnSizing?.get(),
60
+ table.atoms.columnOrder?.get(),
61
+ table.atoms.columnPinning?.get(),
62
+ table.atoms.columnVisibility?.get(),
63
+ ],
64
+ },
65
+ column_getAfter: {
66
+ fn: (column, position) => column_getAfter(column, position),
67
+ memoDeps: (column, position) => [
68
+ position,
69
+ table.options.columns,
70
+ table.atoms.columnSizing?.get(),
71
+ table.atoms.columnOrder?.get(),
72
+ table.atoms.columnPinning?.get(),
73
+ table.atoms.columnVisibility?.get(),
74
+ ],
75
+ },
76
+ column_resetSize: {
77
+ fn: (column) => column_resetSize(column),
78
+ },
79
+ })
80
+ },
108
81
 
109
- assignHeaderPrototype: (prototype, table) => {
110
- assignPrototypeAPIs('columnSizingFeature', prototype, table, {
111
- header_getSize: {
112
- fn: (header) => header_getSize(header),
113
- memoDeps: (header) => [
114
- table.options.columns,
115
- header.column.columns.length > 0
116
- ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)
117
- : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state
118
- ],
119
- },
120
- header_getStart: {
121
- fn: (header) => header_getStart(header),
122
- memoDeps: (header, position) => [
123
- position,
124
- table.options.columns,
125
- table.atoms.columnSizing?.get(),
126
- table.atoms.columnOrder?.get(),
127
- table.atoms.columnPinning?.get(),
128
- table.atoms.columnVisibility?.get(),
129
- ],
130
- },
131
- })
132
- },
82
+ assignHeaderPrototype: (prototype, table) => {
83
+ assignPrototypeAPIs('columnSizingFeature', prototype, table, {
84
+ header_getSize: {
85
+ fn: (header) => header_getSize(header),
86
+ memoDeps: (header) => [
87
+ table.options.columns,
88
+ header.column.columns.length > 0
89
+ ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)
90
+ : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state
91
+ ],
92
+ },
93
+ header_getStart: {
94
+ fn: (header) => header_getStart(header),
95
+ memoDeps: (header, position) => [
96
+ position,
97
+ table.options.columns,
98
+ table.atoms.columnSizing?.get(),
99
+ table.atoms.columnOrder?.get(),
100
+ table.atoms.columnPinning?.get(),
101
+ table.atoms.columnVisibility?.get(),
102
+ ],
103
+ },
104
+ })
105
+ },
133
106
 
134
- constructTableAPIs: (table) => {
135
- assignTableAPIs('columnSizingFeature', table, {
136
- table_setColumnSizing: {
137
- fn: (updater) => table_setColumnSizing(table, updater),
138
- },
139
- table_resetColumnSizing: {
140
- fn: (defaultState) => table_resetColumnSizing(table, defaultState),
141
- },
142
- table_getTotalSize: {
143
- fn: () => table_getTotalSize(table),
144
- memoDeps: () => [
145
- table.atoms.columnSizing?.get(),
146
- table.getHeaderGroups(),
147
- ],
148
- },
149
- table_getLeftTotalSize: {
150
- fn: () => table_getLeftTotalSize(table),
151
- memoDeps: () => [
152
- table.atoms.columnSizing?.get(),
153
- table.getHeaderGroups(),
154
- ],
155
- },
156
- table_getCenterTotalSize: {
157
- fn: () => table_getCenterTotalSize(table),
158
- memoDeps: () => [
159
- table.atoms.columnSizing?.get(),
160
- table.getHeaderGroups(),
161
- ],
162
- },
163
- table_getRightTotalSize: {
164
- fn: () => table_getRightTotalSize(table),
165
- memoDeps: () => [
166
- table.atoms.columnSizing?.get(),
167
- table.getHeaderGroups(),
168
- ],
169
- },
170
- })
171
- },
172
- }
107
+ constructTableAPIs: (table) => {
108
+ assignTableAPIs('columnSizingFeature', table, {
109
+ table_setColumnSizing: {
110
+ fn: (updater) => table_setColumnSizing(table, updater),
111
+ },
112
+ table_resetColumnSizing: {
113
+ fn: (defaultState) => table_resetColumnSizing(table, defaultState),
114
+ },
115
+ table_getTotalSize: {
116
+ fn: () => table_getTotalSize(table),
117
+ memoDeps: () => [
118
+ table.atoms.columnSizing?.get(),
119
+ table.getHeaderGroups(),
120
+ ],
121
+ },
122
+ table_getLeftTotalSize: {
123
+ fn: () => table_getLeftTotalSize(table),
124
+ memoDeps: () => [
125
+ table.atoms.columnSizing?.get(),
126
+ table.getHeaderGroups(),
127
+ ],
128
+ },
129
+ table_getCenterTotalSize: {
130
+ fn: () => table_getCenterTotalSize(table),
131
+ memoDeps: () => [
132
+ table.atoms.columnSizing?.get(),
133
+ table.getHeaderGroups(),
134
+ ],
135
+ },
136
+ table_getRightTotalSize: {
137
+ fn: () => table_getRightTotalSize(table),
138
+ memoDeps: () => [
139
+ table.atoms.columnSizing?.get(),
140
+ table.getHeaderGroups(),
141
+ ],
142
+ },
143
+ })
144
+ },
173
145
  }
174
-
175
- /**
176
- * The stock column sizing feature.
177
- *
178
- * Register this feature to add column width state and table, header, and column
179
- * APIs for reading and resetting sizes. Column drag resizing lives in
180
- * `columnResizingFeature`.
181
- */
182
- export const columnSizingFeature = constructColumnSizingFeature()
@@ -5,7 +5,12 @@ import {
5
5
  table_getRightHeaderGroups,
6
6
  } from '../column-pinning/columnPinningFeature.utils'
7
7
  import { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'
8
- import { callMemoOrStaticFn, cloneState } from '../../utils'
8
+ import {
9
+ callMemoOrStaticFn,
10
+ cloneState,
11
+ hasOwn,
12
+ makeObjectMap,
13
+ } from '../../utils'
9
14
  import type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'
10
15
  import type { CellData, RowData, Updater } from '../../types/type-utils'
11
16
  import type { TableFeatures } from '../../types/TableFeatures'
@@ -26,7 +31,7 @@ import type { ColumnSizingState } from './columnSizingFeature.types'
26
31
  * ```
27
32
  */
28
33
  export function getDefaultColumnSizingState(): ColumnSizingState {
29
- return {}
34
+ return makeObjectMap()
30
35
  }
31
36
 
32
37
  /**
@@ -66,7 +71,11 @@ export function column_getSize<
66
71
  TValue extends CellData = CellData,
67
72
  >(column: Column_Internal<TFeatures, TData, TValue>): number {
68
73
  const defaultSizes = getDefaultColumnSizingColumnDef()
69
- const columnSize = column.table.atoms.columnSizing?.get()?.[column.id]
74
+ const columnSizing = column.table.atoms.columnSizing?.get()
75
+ const columnSize =
76
+ columnSizing && hasOwn(columnSizing, column.id)
77
+ ? columnSizing[column.id]
78
+ : undefined
70
79
 
71
80
  return Math.min(
72
81
  Math.max(
@@ -174,7 +183,15 @@ export function column_resetSize<
174
183
  TData extends RowData,
175
184
  TValue extends CellData = CellData,
176
185
  >(column: Column_Internal<TFeatures, TData, TValue>) {
177
- table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {
186
+ table_setColumnSizing(column.table, (old) => {
187
+ const rest = makeObjectMap<number>()
188
+ const columnIds = Object.keys(old)
189
+ for (let i = 0; i < columnIds.length; i++) {
190
+ const columnId = columnIds[i]!
191
+ if (columnId !== column.id) {
192
+ rest[columnId] = old[columnId]!
193
+ }
194
+ }
178
195
  return rest
179
196
  })
180
197
  }
@@ -280,7 +297,12 @@ export function table_resetColumnSizing<
280
297
  >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
281
298
  table_setColumnSizing(
282
299
  table,
283
- defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}),
300
+ defaultState
301
+ ? makeObjectMap()
302
+ : Object.assign(
303
+ makeObjectMap<number>(),
304
+ cloneState(table.initialState.columnSizing ?? {}),
305
+ ),
284
306
  )
285
307
  }
286
308