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

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 +23 -19
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
  173. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +3 -3
  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 +4 -4
  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 +32 -31
  470. package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -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
@@ -1 +1 @@
1
- {"version":3,"file":"columnSizingFeature.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAfter,\n column_getSize,\n column_getStart,\n column_resetSize,\n getDefaultColumnSizingColumnDef,\n getDefaultColumnSizingState,\n header_getSize,\n header_getStart,\n table_getCenterTotalSize,\n table_getLeftTotalSize,\n table_getRightTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnSizing,\n// Column_ColumnSizing,\n// Header_ColumnSizing,\n// TableOptions_ColumnSizing,\n// TableState_ColumnSizing,\n// Table_ColumnSizing,\n// } from './columnSizingFeature.types'\n\nexport interface ColumnSizingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // ColumnDef: ColumnDef_ColumnSizing\n // Column: Column_ColumnSizing\n // Header: Header_ColumnSizing\n // Table: Table_ColumnSizing\n // TableOptions: TableOptions_ColumnSizing\n // TableState: TableState_ColumnSizing\n}\n\n/**\n * Creates the stock column sizing feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnSizingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnSizing: getDefaultColumnSizingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return getDefaultColumnSizingColumnDef()\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n column_getSize: {\n fn: (column) => column_getSize(column),\n memoDeps: (column) => [\n table.options.columns,\n table.atoms.columnSizing?.get()?.[column.id], // just this column's size state\n ],\n },\n column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n memoDeps: (column, position) => [\n position,\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n ],\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n memoDeps: (column, position) => [\n position,\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n ],\n },\n column_resetSize: {\n fn: (column) => column_resetSize(column),\n },\n })\n },\n\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n header_getSize: {\n fn: (header) => header_getSize(header),\n memoDeps: (header) => [\n table.options.columns,\n header.column.columns.length > 0\n ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)\n : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state\n ],\n },\n header_getStart: {\n fn: (header) => header_getStart(header),\n memoDeps: (header, position) => [\n position,\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\n table_setColumnSizing: {\n fn: (updater) => table_setColumnSizing(table, updater),\n },\n table_resetColumnSizing: {\n fn: (defaultState) => table_resetColumnSizing(table, defaultState),\n },\n table_getTotalSize: {\n fn: () => table_getTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getLeftTotalSize: {\n fn: () => table_getLeftTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getCenterTotalSize: {\n fn: () => table_getCenterTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getRightTotalSize: {\n fn: () => table_getRightTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The stock column sizing feature.\n *\n * Register this feature to add column width state and table, header, and column\n * APIs for reading and resetting sizes. Column drag resizing lives in\n * `columnResizingFeature`.\n */\nexport const columnSizingFeature = constructColumnSizingFeature()\n"],"mappings":";;;;;;;;;AAiDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAc,4BAA4B;IAC1C,GAAG;GACL;EACF;EAEA,2BAA2B;GACzB,OAAO,gCAAgC;EACzC;EAEA,yBAAyB,UAAU;GACjC,OAAO,EACL,sBAAsB,iBAAiB,gBAAgB,KAAK,EAC9D;EACF;EAEA,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAW,eAAe,MAAM;KACrC,WAAW,WAAW;;cACpB,MAAM,QAAQ,kCACd,MAAM,MAAM,6GAAc,IAAI,iFAAI,OAAO,GAC3C;;IACF;IACA,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;KAC1D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,IAAI;gCAC9B,MAAM,MAAM,2FAAa,IAAI;gCAC7B,MAAM,MAAM,6FAAe,IAAI;gCAC/B,MAAM,MAAM,gGAAkB,IAAI;MACpC;;IACF;IACA,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;KAC1D,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,IAAI;iCAC9B,MAAM,MAAM,6FAAa,IAAI;iCAC7B,MAAM,MAAM,+FAAe,IAAI;iCAC/B,MAAM,MAAM,kGAAkB,IAAI;MACpC;;IACF;IACA,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,MAAM,EACzC;GACF,CAAC;EACH;EAEA,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,gBAAgB;KACd,KAAK,WAAW,eAAe,MAAM;KACrC,WAAW,WAAW;;cACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,8BAC3B,MAAM,MAAM,8FAAc,IAAI,8BAC9B,MAAM,MAAM,gHAAc,IAAI,mFAAI,OAAO,OAAO,GACtD;;IACF;IACA,iBAAiB;KACf,KAAK,WAAW,gBAAgB,MAAM;KACtC,WAAW,QAAQ,aAAa;;;OAC9B;OACA,MAAM,QAAQ;iCACd,MAAM,MAAM,8FAAc,IAAI;iCAC9B,MAAM,MAAM,6FAAa,IAAI;iCAC7B,MAAM,MAAM,+FAAe,IAAI;iCAC/B,MAAM,MAAM,kGAAkB,IAAI;MACpC;;IACF;GACF,CAAC;EACH;EAEA,qBAAqB,UAAU;GAC7B,gBAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,OAAO,EACvD;IACA,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,YAAY,EACnE;IACA,oBAAoB;KAClB,UAAU,mBAAmB,KAAK;KAClC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;IACF;IACA,wBAAwB;KACtB,UAAU,uBAAuB,KAAK;KACtC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;IACF;IACA,0BAA0B;KACxB,UAAU,yBAAyB,KAAK;KACxC,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;IACF;IACA,yBAAyB;KACvB,UAAU,wBAAwB,KAAK;KACvC,gBAAgB;;yCACd,MAAM,MAAM,gGAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;IACF;GACF,CAAC;EACH;CACF;AACF;;;;;;;;AASA,MAAa,sBAAsB,6BAA6B"}
1
+ {"version":3,"file":"columnSizingFeature.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAfter,\n column_getSize,\n column_getStart,\n column_resetSize,\n getDefaultColumnSizingColumnDef,\n getDefaultColumnSizingState,\n header_getSize,\n header_getStart,\n table_getCenterTotalSize,\n table_getLeftTotalSize,\n table_getRightTotalSize,\n table_getTotalSize,\n table_resetColumnSizing,\n table_setColumnSizing,\n} from './columnSizingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column sizing state, defaults, and size measurement APIs.\n */\nexport const columnSizingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnSizing: getDefaultColumnSizingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return getDefaultColumnSizingColumnDef()\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n column_getSize: {\n fn: (column) => column_getSize(column),\n memoDeps: (column) => [\n table.options.columns,\n table.atoms.columnSizing?.get()?.[column.id], // just this column's size state\n ],\n },\n column_getStart: {\n fn: (column, position) => column_getStart(column, position),\n memoDeps: (column, position) => [\n position,\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n ],\n },\n column_getAfter: {\n fn: (column, position) => column_getAfter(column, position),\n memoDeps: (column, position) => [\n position,\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n ],\n },\n column_resetSize: {\n fn: (column) => column_resetSize(column),\n },\n })\n },\n\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnSizingFeature', prototype, table, {\n header_getSize: {\n fn: (header) => header_getSize(header),\n memoDeps: (header) => [\n table.options.columns,\n header.column.columns.length > 0\n ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)\n : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state\n ],\n },\n header_getStart: {\n fn: (header) => header_getStart(header),\n memoDeps: (header, position) => [\n position,\n table.options.columns,\n table.atoms.columnSizing?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnSizingFeature', table, {\n table_setColumnSizing: {\n fn: (updater) => table_setColumnSizing(table, updater),\n },\n table_resetColumnSizing: {\n fn: (defaultState) => table_resetColumnSizing(table, defaultState),\n },\n table_getTotalSize: {\n fn: () => table_getTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getLeftTotalSize: {\n fn: () => table_getLeftTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getCenterTotalSize: {\n fn: () => table_getCenterTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n table_getRightTotalSize: {\n fn: () => table_getRightTotalSize(table),\n memoDeps: () => [\n table.atoms.columnSizing?.get(),\n table.getHeaderGroups(),\n ],\n },\n })\n },\n}\n"],"mappings":";;;;;;;AA0BA,MAAa,sBAAoC;CAC/C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAc,4BAA4B;GAC1C,GAAG;EACL;CACF;CAEA,2BAA2B;EACzB,OAAO,gCAAgC;CACzC;CAEA,yBAAyB,UAAU;EACjC,OAAO,EACL,sBAAsB,iBAAiB,gBAAgB,KAAK,EAC9D;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,uBAAuB,WAAW,OAAO;GAC3D,gBAAgB;IACd,KAAK,WAAW,eAAe,MAAM;IACrC,WAAW,WAAW;;aACpB,MAAM,QAAQ,kCACd,MAAM,MAAM,6GAAc,IAAI,iFAAI,OAAO,GAC3C;;GACF;GACA,iBAAiB;IACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;IAC1D,WAAW,QAAQ,aAAa;;;MAC9B;MACA,MAAM,QAAQ;gCACd,MAAM,MAAM,8FAAc,IAAI;+BAC9B,MAAM,MAAM,2FAAa,IAAI;+BAC7B,MAAM,MAAM,6FAAe,IAAI;+BAC/B,MAAM,MAAM,gGAAkB,IAAI;KACpC;;GACF;GACA,iBAAiB;IACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;IAC1D,WAAW,QAAQ,aAAa;;;MAC9B;MACA,MAAM,QAAQ;gCACd,MAAM,MAAM,8FAAc,IAAI;gCAC9B,MAAM,MAAM,6FAAa,IAAI;gCAC7B,MAAM,MAAM,+FAAe,IAAI;gCAC/B,MAAM,MAAM,kGAAkB,IAAI;KACpC;;GACF;GACA,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,MAAM,EACzC;EACF,CAAC;CACH;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,uBAAuB,WAAW,OAAO;GAC3D,gBAAgB;IACd,KAAK,WAAW,eAAe,MAAM;IACrC,WAAW,WAAW;;aACpB,MAAM,QAAQ,SACd,OAAO,OAAO,QAAQ,SAAS,8BAC3B,MAAM,MAAM,8FAAc,IAAI,8BAC9B,MAAM,MAAM,gHAAc,IAAI,mFAAI,OAAO,OAAO,GACtD;;GACF;GACA,iBAAiB;IACf,KAAK,WAAW,gBAAgB,MAAM;IACtC,WAAW,QAAQ,aAAa;;;MAC9B;MACA,MAAM,QAAQ;gCACd,MAAM,MAAM,8FAAc,IAAI;gCAC9B,MAAM,MAAM,6FAAa,IAAI;gCAC7B,MAAM,MAAM,+FAAe,IAAI;gCAC/B,MAAM,MAAM,kGAAkB,IAAI;KACpC;;GACF;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,uBAAuB,OAAO;GAC5C,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,OAAO,EACvD;GACA,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,YAAY,EACnE;GACA,oBAAoB;IAClB,UAAU,mBAAmB,KAAK;IAClC,gBAAgB;;uCACd,MAAM,MAAM,8FAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;GACF;GACA,wBAAwB;IACtB,UAAU,uBAAuB,KAAK;IACtC,gBAAgB;;uCACd,MAAM,MAAM,8FAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;GACF;GACA,0BAA0B;IACxB,UAAU,yBAAyB,KAAK;IACxC,gBAAgB;;uCACd,MAAM,MAAM,8FAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;GACF;GACA,yBAAyB;IACvB,UAAU,wBAAwB,KAAK;IACvC,gBAAgB;;wCACd,MAAM,MAAM,gGAAc,IAAI,GAC9B,MAAM,gBAAgB,CACxB;;GACF;EACF,CAAC;CACH;AACF"}
@@ -15,7 +15,7 @@ const require_columnOrderingFeature_utils = require('../column-ordering/columnOr
15
15
  * ```
16
16
  */
17
17
  function getDefaultColumnSizingState() {
18
- return {};
18
+ return require_utils.makeObjectMap();
19
19
  }
20
20
  /**
21
21
  * Creates the built-in sizing defaults for column definitions.
@@ -50,7 +50,8 @@ function getDefaultColumnSizingColumnDef() {
50
50
  function column_getSize(column) {
51
51
  var _column$table$atoms$c;
52
52
  const defaultSizes = getDefaultColumnSizingColumnDef();
53
- const columnSize = (_column$table$atoms$c = column.table.atoms.columnSizing) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c[column.id];
53
+ const columnSizing = (_column$table$atoms$c = column.table.atoms.columnSizing) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.get();
54
+ const columnSize = columnSizing && require_utils.hasOwn(columnSizing, column.id) ? columnSizing[column.id] : void 0;
54
55
  return Math.min(Math.max(column.columnDef.minSize ?? defaultSizes.minSize, columnSize ?? column.columnDef.size ?? defaultSizes.size), column.columnDef.maxSize ?? defaultSizes.maxSize);
55
56
  }
56
57
  /**
@@ -100,7 +101,13 @@ function column_getAfter(column, position) {
100
101
  * ```
101
102
  */
102
103
  function column_resetSize(column) {
103
- table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {
104
+ table_setColumnSizing(column.table, (old) => {
105
+ const rest = require_utils.makeObjectMap();
106
+ const columnIds = Object.keys(old);
107
+ for (let i = 0; i < columnIds.length; i++) {
108
+ const columnId = columnIds[i];
109
+ if (columnId !== column.id) rest[columnId] = old[columnId];
110
+ }
104
111
  return rest;
105
112
  });
106
113
  }
@@ -171,7 +178,7 @@ function table_setColumnSizing(table, updater) {
171
178
  * ```
172
179
  */
173
180
  function table_resetColumnSizing(table, defaultState) {
174
- table_setColumnSizing(table, defaultState ? {} : require_utils.cloneState(table.initialState.columnSizing ?? {}));
181
+ table_setColumnSizing(table, defaultState ? require_utils.makeObjectMap() : Object.assign(require_utils.makeObjectMap(), require_utils.cloneState(table.initialState.columnSizing ?? {})));
175
182
  }
176
183
  /**
177
184
  * Sums the rendered size of the full table header row.
@@ -1 +1 @@
1
- {"version":3,"file":"columnSizingFeature.utils.cjs","names":["callMemoOrStaticFn","column_getIndex","table_getPinnedVisibleLeafColumns","cloneState","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\n/**\n * Creates the default committed column sizing state.\n *\n * The feature default is an empty map, so columns fall back to their column def\n * size or the built-in sizing defaults.\n *\n * @example\n * ```ts\n * const sizing = getDefaultColumnSizingState()\n * ```\n */\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return {}\n}\n\n/**\n * Creates the built-in sizing defaults for column definitions.\n *\n * Columns default to `size: 150`, `minSize: 20`, and\n * `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n * table defaults.\n *\n * @example\n * ```ts\n * const defaults = getDefaultColumnSizingColumnDef()\n * ```\n */\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\n/**\n * Resolves a column's current pixel size.\n *\n * Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n * built-in default size. The result is clamped between min and max size.\n *\n * @example\n * ```ts\n * const width = column_getSize(column)\n * ```\n */\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSize = column.table.atoms.columnSizing?.get()?.[column.id]\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\n/**\n * Computes the offset from the start edge of a pinning region to this column.\n *\n * The value is the sum of all previous visible leaf column sizes in the\n * requested `'left'`, `'center'`, or `'right'` region.\n *\n * @example\n * ```ts\n * const leftOffset = column_getStart(column, 'left')\n * ```\n */\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index <= 0) return 0\n\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n const prevColumn = visibleLeafColumns[index - 1]!\n return (\n callMemoOrStaticFn(prevColumn, 'getStart', column_getStart, position) +\n callMemoOrStaticFn(prevColumn, 'getSize', column_getSize)\n )\n}\n\n/**\n * Computes the offset from the end edge of a pinning region after this column.\n *\n * The value is the sum of all following visible leaf column sizes in the\n * requested region.\n *\n * @example\n * ```ts\n * const rightOffset = column_getAfter(column, 'right')\n * ```\n */\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index < 0 || index >= visibleLeafColumns.length - 1) return 0\n\n const nextColumn = visibleLeafColumns[index + 1]!\n return (\n callMemoOrStaticFn(nextColumn, 'getSize', column_getSize) +\n callMemoOrStaticFn(nextColumn, 'getAfter', column_getAfter, position)\n )\n}\n\n/**\n * Removes this column's committed size override.\n *\n * After reset, the column resolves size from `columnDef.size` or built-in\n * defaults again.\n *\n * @example\n * ```ts\n * column_resetSize(column)\n * ```\n */\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {\n return rest\n })\n}\n\n/**\n * Computes a header's rendered size from its leaf headers.\n *\n * Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n * their column's current size.\n *\n * @example\n * ```ts\n * const width = header_getSize(header)\n * ```\n */\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\n/**\n * Computes a header's offset from the start of its header group.\n *\n * The offset is the previous sibling header's start plus size, or `0` for the\n * first header in the group.\n *\n * @example\n * ```ts\n * const offset = header_getStart(header)\n * ```\n */\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n callMemoOrStaticFn(prevSiblingHeader, 'getStart', header_getStart) +\n callMemoOrStaticFn(prevSiblingHeader, 'getSize', header_getSize)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\n/**\n * Routes a committed column sizing updater through the table's sizing handler.\n *\n * The updater may be a next size map or a function of the previous map,\n * matching the instance `table.setColumnSizing` behavior.\n *\n * @example\n * ```ts\n * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n * ```\n */\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\n/**\n * Resets `columnSizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnSizing` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnSizing(table)\n * table_resetColumnSizing(table, true)\n * ```\n */\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}),\n )\n}\n\n/**\n * Sums the rendered size of the full table header row.\n *\n * This includes left, center, and right columns in the main header group.\n *\n * @example\n * ```ts\n * const width = table_getTotalSize(table)\n * ```\n */\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the left pinned header region.\n *\n * An empty left pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getLeftTotalSize(table)\n * ```\n */\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the center, unpinned header region.\n *\n * An empty center region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getCenterTotalSize(table)\n * ```\n */\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the right pinned header region.\n *\n * An empty right pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getRightTotalSize(table)\n * ```\n */\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnSizingFeature.utils.cjs","names":["makeObjectMap","hasOwn","callMemoOrStaticFn","column_getIndex","table_getPinnedVisibleLeafColumns","cloneState","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport {\n callMemoOrStaticFn,\n cloneState,\n hasOwn,\n makeObjectMap,\n} from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\n/**\n * Creates the default committed column sizing state.\n *\n * The feature default is an empty map, so columns fall back to their column def\n * size or the built-in sizing defaults.\n *\n * @example\n * ```ts\n * const sizing = getDefaultColumnSizingState()\n * ```\n */\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return makeObjectMap()\n}\n\n/**\n * Creates the built-in sizing defaults for column definitions.\n *\n * Columns default to `size: 150`, `minSize: 20`, and\n * `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n * table defaults.\n *\n * @example\n * ```ts\n * const defaults = getDefaultColumnSizingColumnDef()\n * ```\n */\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\n/**\n * Resolves a column's current pixel size.\n *\n * Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n * built-in default size. The result is clamped between min and max size.\n *\n * @example\n * ```ts\n * const width = column_getSize(column)\n * ```\n */\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSizing = column.table.atoms.columnSizing?.get()\n const columnSize =\n columnSizing && hasOwn(columnSizing, column.id)\n ? columnSizing[column.id]\n : undefined\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\n/**\n * Computes the offset from the start edge of a pinning region to this column.\n *\n * The value is the sum of all previous visible leaf column sizes in the\n * requested `'left'`, `'center'`, or `'right'` region.\n *\n * @example\n * ```ts\n * const leftOffset = column_getStart(column, 'left')\n * ```\n */\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index <= 0) return 0\n\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n const prevColumn = visibleLeafColumns[index - 1]!\n return (\n callMemoOrStaticFn(prevColumn, 'getStart', column_getStart, position) +\n callMemoOrStaticFn(prevColumn, 'getSize', column_getSize)\n )\n}\n\n/**\n * Computes the offset from the end edge of a pinning region after this column.\n *\n * The value is the sum of all following visible leaf column sizes in the\n * requested region.\n *\n * @example\n * ```ts\n * const rightOffset = column_getAfter(column, 'right')\n * ```\n */\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index < 0 || index >= visibleLeafColumns.length - 1) return 0\n\n const nextColumn = visibleLeafColumns[index + 1]!\n return (\n callMemoOrStaticFn(nextColumn, 'getSize', column_getSize) +\n callMemoOrStaticFn(nextColumn, 'getAfter', column_getAfter, position)\n )\n}\n\n/**\n * Removes this column's committed size override.\n *\n * After reset, the column resolves size from `columnDef.size` or built-in\n * defaults again.\n *\n * @example\n * ```ts\n * column_resetSize(column)\n * ```\n */\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, (old) => {\n const rest = makeObjectMap<number>()\n const columnIds = Object.keys(old)\n for (let i = 0; i < columnIds.length; i++) {\n const columnId = columnIds[i]!\n if (columnId !== column.id) {\n rest[columnId] = old[columnId]!\n }\n }\n return rest\n })\n}\n\n/**\n * Computes a header's rendered size from its leaf headers.\n *\n * Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n * their column's current size.\n *\n * @example\n * ```ts\n * const width = header_getSize(header)\n * ```\n */\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\n/**\n * Computes a header's offset from the start of its header group.\n *\n * The offset is the previous sibling header's start plus size, or `0` for the\n * first header in the group.\n *\n * @example\n * ```ts\n * const offset = header_getStart(header)\n * ```\n */\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n callMemoOrStaticFn(prevSiblingHeader, 'getStart', header_getStart) +\n callMemoOrStaticFn(prevSiblingHeader, 'getSize', header_getSize)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\n/**\n * Routes a committed column sizing updater through the table's sizing handler.\n *\n * The updater may be a next size map or a function of the previous map,\n * matching the instance `table.setColumnSizing` behavior.\n *\n * @example\n * ```ts\n * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n * ```\n */\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\n/**\n * Resets `columnSizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnSizing` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnSizing(table)\n * table_resetColumnSizing(table, true)\n * ```\n */\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState\n ? makeObjectMap()\n : Object.assign(\n makeObjectMap<number>(),\n cloneState(table.initialState.columnSizing ?? {}),\n ),\n )\n}\n\n/**\n * Sums the rendered size of the full table header row.\n *\n * This includes left, center, and right columns in the main header group.\n *\n * @example\n * ```ts\n * const width = table_getTotalSize(table)\n * ```\n */\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the left pinned header region.\n *\n * An empty left pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getLeftTotalSize(table)\n * ```\n */\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the center, unpinned header region.\n *\n * An empty center region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getCenterTotalSize(table)\n * ```\n */\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the right pinned header region.\n *\n * An empty right pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getRightTotalSize(table)\n * ```\n */\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":"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"}
@@ -2,9 +2,9 @@ import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
2
2
  import { ColumnSizingState } from "./columnSizingFeature.types.cjs";
3
3
  import { Header } from "../../types/Header.cjs";
4
4
  import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
5
- import { Column_Internal } from "../../types/Column.cjs";
5
+ import { Table } from "../../types/Table.cjs";
6
+ import { Column } from "../../types/Column.cjs";
6
7
  import { TableFeatures } from "../../types/TableFeatures.cjs";
7
- import { Table_Internal } from "../../types/Table.cjs";
8
8
 
9
9
  //#region src/features/column-sizing/columnSizingFeature.utils.d.ts
10
10
  /**
@@ -47,7 +47,7 @@ declare function getDefaultColumnSizingColumnDef(): {
47
47
  * const width = column_getSize(column)
48
48
  * ```
49
49
  */
50
- declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
50
+ declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
51
51
  /**
52
52
  * Computes the offset from the start edge of a pinning region to this column.
53
53
  *
@@ -59,7 +59,7 @@ declare function column_getSize<TFeatures extends TableFeatures, TData extends R
59
59
  * const leftOffset = column_getStart(column, 'left')
60
60
  * ```
61
61
  */
62
- declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
62
+ declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
63
63
  /**
64
64
  * Computes the offset from the end edge of a pinning region after this column.
65
65
  *
@@ -71,7 +71,7 @@ declare function column_getStart<TFeatures extends TableFeatures, TData extends
71
71
  * const rightOffset = column_getAfter(column, 'right')
72
72
  * ```
73
73
  */
74
- declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
74
+ declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
75
75
  /**
76
76
  * Removes this column's committed size override.
77
77
  *
@@ -83,7 +83,7 @@ declare function column_getAfter<TFeatures extends TableFeatures, TData extends
83
83
  * column_resetSize(column)
84
84
  * ```
85
85
  */
86
- declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
86
+ declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
87
87
  /**
88
88
  * Computes a header's rendered size from its leaf headers.
89
89
  *
@@ -119,7 +119,7 @@ declare function header_getStart<TFeatures extends TableFeatures, TData extends
119
119
  * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))
120
120
  * ```
121
121
  */
122
- declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnSizingState>): void;
122
+ declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnSizingState>): void;
123
123
  /**
124
124
  * Resets `columnSizing` to the configured initial state or feature default.
125
125
  *
@@ -132,7 +132,7 @@ declare function table_setColumnSizing<TFeatures extends TableFeatures, TData ex
132
132
  * table_resetColumnSizing(table, true)
133
133
  * ```
134
134
  */
135
- declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
135
+ declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
136
136
  /**
137
137
  * Sums the rendered size of the full table header row.
138
138
  *
@@ -143,7 +143,7 @@ declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData
143
143
  * const width = table_getTotalSize(table)
144
144
  * ```
145
145
  */
146
- declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): number;
146
+ declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
147
147
  /**
148
148
  * Sums the rendered size of the left pinned header region.
149
149
  *
@@ -154,7 +154,7 @@ declare function table_getTotalSize<TFeatures extends TableFeatures, TData exten
154
154
  * const width = table_getLeftTotalSize(table)
155
155
  * ```
156
156
  */
157
- declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any;
157
+ declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
158
158
  /**
159
159
  * Sums the rendered size of the center, unpinned header region.
160
160
  *
@@ -165,7 +165,7 @@ declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData e
165
165
  * const width = table_getCenterTotalSize(table)
166
166
  * ```
167
167
  */
168
- declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any;
168
+ declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
169
169
  /**
170
170
  * Sums the rendered size of the right pinned header region.
171
171
  *
@@ -176,7 +176,7 @@ declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData
176
176
  * const width = table_getRightTotalSize(table)
177
177
  * ```
178
178
  */
179
- declare function table_getRightTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any;
179
+ declare function table_getRightTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
180
180
  //#endregion
181
181
  export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getLeftTotalSize, table_getRightTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing };
182
182
  //# sourceMappingURL=columnSizingFeature.utils.d.cts.map
@@ -2,9 +2,9 @@ import { CellData, RowData, Updater } from "../../types/type-utils.js";
2
2
  import { ColumnSizingState } from "./columnSizingFeature.types.js";
3
3
  import { Header } from "../../types/Header.js";
4
4
  import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.js";
5
- import { Column_Internal } from "../../types/Column.js";
5
+ import { Table } from "../../types/Table.js";
6
+ import { Column } from "../../types/Column.js";
6
7
  import { TableFeatures } from "../../types/TableFeatures.js";
7
- import { Table_Internal } from "../../types/Table.js";
8
8
 
9
9
  //#region src/features/column-sizing/columnSizingFeature.utils.d.ts
10
10
  /**
@@ -47,7 +47,7 @@ declare function getDefaultColumnSizingColumnDef(): {
47
47
  * const width = column_getSize(column)
48
48
  * ```
49
49
  */
50
- declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
50
+ declare function column_getSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
51
51
  /**
52
52
  * Computes the offset from the start edge of a pinning region to this column.
53
53
  *
@@ -59,7 +59,7 @@ declare function column_getSize<TFeatures extends TableFeatures, TData extends R
59
59
  * const leftOffset = column_getStart(column, 'left')
60
60
  * ```
61
61
  */
62
- declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
62
+ declare function column_getStart<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
63
63
  /**
64
64
  * Computes the offset from the end edge of a pinning region after this column.
65
65
  *
@@ -71,7 +71,7 @@ declare function column_getStart<TFeatures extends TableFeatures, TData extends
71
71
  * const rightOffset = column_getAfter(column, 'right')
72
72
  * ```
73
73
  */
74
- declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
74
+ declare function column_getAfter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position: ColumnPinningPosition | 'center'): number;
75
75
  /**
76
76
  * Removes this column's committed size override.
77
77
  *
@@ -83,7 +83,7 @@ declare function column_getAfter<TFeatures extends TableFeatures, TData extends
83
83
  * column_resetSize(column)
84
84
  * ```
85
85
  */
86
- declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
86
+ declare function column_resetSize<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
87
87
  /**
88
88
  * Computes a header's rendered size from its leaf headers.
89
89
  *
@@ -119,7 +119,7 @@ declare function header_getStart<TFeatures extends TableFeatures, TData extends
119
119
  * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))
120
120
  * ```
121
121
  */
122
- declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnSizingState>): void;
122
+ declare function table_setColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnSizingState>): void;
123
123
  /**
124
124
  * Resets `columnSizing` to the configured initial state or feature default.
125
125
  *
@@ -132,7 +132,7 @@ declare function table_setColumnSizing<TFeatures extends TableFeatures, TData ex
132
132
  * table_resetColumnSizing(table, true)
133
133
  * ```
134
134
  */
135
- declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
135
+ declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
136
136
  /**
137
137
  * Sums the rendered size of the full table header row.
138
138
  *
@@ -143,7 +143,7 @@ declare function table_resetColumnSizing<TFeatures extends TableFeatures, TData
143
143
  * const width = table_getTotalSize(table)
144
144
  * ```
145
145
  */
146
- declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): number;
146
+ declare function table_getTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
147
147
  /**
148
148
  * Sums the rendered size of the left pinned header region.
149
149
  *
@@ -154,7 +154,7 @@ declare function table_getTotalSize<TFeatures extends TableFeatures, TData exten
154
154
  * const width = table_getLeftTotalSize(table)
155
155
  * ```
156
156
  */
157
- declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any;
157
+ declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
158
158
  /**
159
159
  * Sums the rendered size of the center, unpinned header region.
160
160
  *
@@ -165,7 +165,7 @@ declare function table_getLeftTotalSize<TFeatures extends TableFeatures, TData e
165
165
  * const width = table_getCenterTotalSize(table)
166
166
  * ```
167
167
  */
168
- declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any;
168
+ declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
169
169
  /**
170
170
  * Sums the rendered size of the right pinned header region.
171
171
  *
@@ -176,7 +176,7 @@ declare function table_getCenterTotalSize<TFeatures extends TableFeatures, TData
176
176
  * const width = table_getRightTotalSize(table)
177
177
  * ```
178
178
  */
179
- declare function table_getRightTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any;
179
+ declare function table_getRightTotalSize<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
180
180
  //#endregion
181
181
  export { column_getAfter, column_getSize, column_getStart, column_resetSize, getDefaultColumnSizingColumnDef, getDefaultColumnSizingState, header_getSize, header_getStart, table_getCenterTotalSize, table_getLeftTotalSize, table_getRightTotalSize, table_getTotalSize, table_resetColumnSizing, table_setColumnSizing };
182
182
  //# sourceMappingURL=columnSizingFeature.utils.d.ts.map
@@ -1,4 +1,4 @@
1
- import { callMemoOrStaticFn, cloneState } from "../../utils.js";
1
+ import { callMemoOrStaticFn, cloneState, hasOwn, makeObjectMap } from "../../utils.js";
2
2
  import { table_getCenterHeaderGroups, table_getLeftHeaderGroups, table_getPinnedVisibleLeafColumns, table_getRightHeaderGroups } from "../column-pinning/columnPinningFeature.utils.js";
3
3
  import { column_getIndex } from "../column-ordering/columnOrderingFeature.utils.js";
4
4
 
@@ -15,7 +15,7 @@ import { column_getIndex } from "../column-ordering/columnOrderingFeature.utils.
15
15
  * ```
16
16
  */
17
17
  function getDefaultColumnSizingState() {
18
- return {};
18
+ return makeObjectMap();
19
19
  }
20
20
  /**
21
21
  * Creates the built-in sizing defaults for column definitions.
@@ -50,7 +50,8 @@ function getDefaultColumnSizingColumnDef() {
50
50
  function column_getSize(column) {
51
51
  var _column$table$atoms$c;
52
52
  const defaultSizes = getDefaultColumnSizingColumnDef();
53
- const columnSize = (_column$table$atoms$c = column.table.atoms.columnSizing) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c[column.id];
53
+ const columnSizing = (_column$table$atoms$c = column.table.atoms.columnSizing) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.get();
54
+ const columnSize = columnSizing && hasOwn(columnSizing, column.id) ? columnSizing[column.id] : void 0;
54
55
  return Math.min(Math.max(column.columnDef.minSize ?? defaultSizes.minSize, columnSize ?? column.columnDef.size ?? defaultSizes.size), column.columnDef.maxSize ?? defaultSizes.maxSize);
55
56
  }
56
57
  /**
@@ -100,7 +101,13 @@ function column_getAfter(column, position) {
100
101
  * ```
101
102
  */
102
103
  function column_resetSize(column) {
103
- table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {
104
+ table_setColumnSizing(column.table, (old) => {
105
+ const rest = makeObjectMap();
106
+ const columnIds = Object.keys(old);
107
+ for (let i = 0; i < columnIds.length; i++) {
108
+ const columnId = columnIds[i];
109
+ if (columnId !== column.id) rest[columnId] = old[columnId];
110
+ }
104
111
  return rest;
105
112
  });
106
113
  }
@@ -171,7 +178,7 @@ function table_setColumnSizing(table, updater) {
171
178
  * ```
172
179
  */
173
180
  function table_resetColumnSizing(table, defaultState) {
174
- table_setColumnSizing(table, defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}));
181
+ table_setColumnSizing(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.columnSizing ?? {})));
175
182
  }
176
183
  /**
177
184
  * Sums the rendered size of the full table header row.
@@ -1 +1 @@
1
- {"version":3,"file":"columnSizingFeature.utils.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\n/**\n * Creates the default committed column sizing state.\n *\n * The feature default is an empty map, so columns fall back to their column def\n * size or the built-in sizing defaults.\n *\n * @example\n * ```ts\n * const sizing = getDefaultColumnSizingState()\n * ```\n */\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return {}\n}\n\n/**\n * Creates the built-in sizing defaults for column definitions.\n *\n * Columns default to `size: 150`, `minSize: 20`, and\n * `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n * table defaults.\n *\n * @example\n * ```ts\n * const defaults = getDefaultColumnSizingColumnDef()\n * ```\n */\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\n/**\n * Resolves a column's current pixel size.\n *\n * Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n * built-in default size. The result is clamped between min and max size.\n *\n * @example\n * ```ts\n * const width = column_getSize(column)\n * ```\n */\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSize = column.table.atoms.columnSizing?.get()?.[column.id]\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\n/**\n * Computes the offset from the start edge of a pinning region to this column.\n *\n * The value is the sum of all previous visible leaf column sizes in the\n * requested `'left'`, `'center'`, or `'right'` region.\n *\n * @example\n * ```ts\n * const leftOffset = column_getStart(column, 'left')\n * ```\n */\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index <= 0) return 0\n\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n const prevColumn = visibleLeafColumns[index - 1]!\n return (\n callMemoOrStaticFn(prevColumn, 'getStart', column_getStart, position) +\n callMemoOrStaticFn(prevColumn, 'getSize', column_getSize)\n )\n}\n\n/**\n * Computes the offset from the end edge of a pinning region after this column.\n *\n * The value is the sum of all following visible leaf column sizes in the\n * requested region.\n *\n * @example\n * ```ts\n * const rightOffset = column_getAfter(column, 'right')\n * ```\n */\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index < 0 || index >= visibleLeafColumns.length - 1) return 0\n\n const nextColumn = visibleLeafColumns[index + 1]!\n return (\n callMemoOrStaticFn(nextColumn, 'getSize', column_getSize) +\n callMemoOrStaticFn(nextColumn, 'getAfter', column_getAfter, position)\n )\n}\n\n/**\n * Removes this column's committed size override.\n *\n * After reset, the column resolves size from `columnDef.size` or built-in\n * defaults again.\n *\n * @example\n * ```ts\n * column_resetSize(column)\n * ```\n */\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {\n return rest\n })\n}\n\n/**\n * Computes a header's rendered size from its leaf headers.\n *\n * Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n * their column's current size.\n *\n * @example\n * ```ts\n * const width = header_getSize(header)\n * ```\n */\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\n/**\n * Computes a header's offset from the start of its header group.\n *\n * The offset is the previous sibling header's start plus size, or `0` for the\n * first header in the group.\n *\n * @example\n * ```ts\n * const offset = header_getStart(header)\n * ```\n */\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n callMemoOrStaticFn(prevSiblingHeader, 'getStart', header_getStart) +\n callMemoOrStaticFn(prevSiblingHeader, 'getSize', header_getSize)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\n/**\n * Routes a committed column sizing updater through the table's sizing handler.\n *\n * The updater may be a next size map or a function of the previous map,\n * matching the instance `table.setColumnSizing` behavior.\n *\n * @example\n * ```ts\n * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n * ```\n */\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\n/**\n * Resets `columnSizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnSizing` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnSizing(table)\n * table_resetColumnSizing(table, true)\n * ```\n */\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}),\n )\n}\n\n/**\n * Sums the rendered size of the full table header row.\n *\n * This includes left, center, and right columns in the main header group.\n *\n * @example\n * ```ts\n * const width = table_getTotalSize(table)\n * ```\n */\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the left pinned header region.\n *\n * An empty left pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getLeftTotalSize(table)\n * ```\n */\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the center, unpinned header region.\n *\n * An empty center region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getCenterTotalSize(table)\n * ```\n */\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the right pinned header region.\n *\n * An empty right pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getRightTotalSize(table)\n * ```\n */\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnSizingFeature.utils.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport {\n callMemoOrStaticFn,\n cloneState,\n hasOwn,\n makeObjectMap,\n} from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\n/**\n * Creates the default committed column sizing state.\n *\n * The feature default is an empty map, so columns fall back to their column def\n * size or the built-in sizing defaults.\n *\n * @example\n * ```ts\n * const sizing = getDefaultColumnSizingState()\n * ```\n */\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return makeObjectMap()\n}\n\n/**\n * Creates the built-in sizing defaults for column definitions.\n *\n * Columns default to `size: 150`, `minSize: 20`, and\n * `maxSize: Number.MAX_SAFE_INTEGER` unless overridden by column definitions or\n * table defaults.\n *\n * @example\n * ```ts\n * const defaults = getDefaultColumnSizingColumnDef()\n * ```\n */\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\n/**\n * Resolves a column's current pixel size.\n *\n * Committed `state.columnSizing[column.id]` wins over `columnDef.size`, then the\n * built-in default size. The result is clamped between min and max size.\n *\n * @example\n * ```ts\n * const width = column_getSize(column)\n * ```\n */\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSizing = column.table.atoms.columnSizing?.get()\n const columnSize =\n columnSizing && hasOwn(columnSizing, column.id)\n ? columnSizing[column.id]\n : undefined\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\n/**\n * Computes the offset from the start edge of a pinning region to this column.\n *\n * The value is the sum of all previous visible leaf column sizes in the\n * requested `'left'`, `'center'`, or `'right'` region.\n *\n * @example\n * ```ts\n * const leftOffset = column_getStart(column, 'left')\n * ```\n */\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index <= 0) return 0\n\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n const prevColumn = visibleLeafColumns[index - 1]!\n return (\n callMemoOrStaticFn(prevColumn, 'getStart', column_getStart, position) +\n callMemoOrStaticFn(prevColumn, 'getSize', column_getSize)\n )\n}\n\n/**\n * Computes the offset from the end edge of a pinning region after this column.\n *\n * The value is the sum of all following visible leaf column sizes in the\n * requested region.\n *\n * @example\n * ```ts\n * const rightOffset = column_getAfter(column, 'right')\n * ```\n */\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n const index = callMemoOrStaticFn(\n column,\n 'getIndex',\n column_getIndex,\n position,\n )\n if (index < 0 || index >= visibleLeafColumns.length - 1) return 0\n\n const nextColumn = visibleLeafColumns[index + 1]!\n return (\n callMemoOrStaticFn(nextColumn, 'getSize', column_getSize) +\n callMemoOrStaticFn(nextColumn, 'getAfter', column_getAfter, position)\n )\n}\n\n/**\n * Removes this column's committed size override.\n *\n * After reset, the column resolves size from `columnDef.size` or built-in\n * defaults again.\n *\n * @example\n * ```ts\n * column_resetSize(column)\n * ```\n */\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, (old) => {\n const rest = makeObjectMap<number>()\n const columnIds = Object.keys(old)\n for (let i = 0; i < columnIds.length; i++) {\n const columnId = columnIds[i]!\n if (columnId !== column.id) {\n rest[columnId] = old[columnId]!\n }\n }\n return rest\n })\n}\n\n/**\n * Computes a header's rendered size from its leaf headers.\n *\n * Group headers sum the sizes of all descendant leaf columns. Leaf headers use\n * their column's current size.\n *\n * @example\n * ```ts\n * const width = header_getSize(header)\n * ```\n */\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\n/**\n * Computes a header's offset from the start of its header group.\n *\n * The offset is the previous sibling header's start plus size, or `0` for the\n * first header in the group.\n *\n * @example\n * ```ts\n * const offset = header_getStart(header)\n * ```\n */\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n callMemoOrStaticFn(prevSiblingHeader, 'getStart', header_getStart) +\n callMemoOrStaticFn(prevSiblingHeader, 'getSize', header_getSize)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\n/**\n * Routes a committed column sizing updater through the table's sizing handler.\n *\n * The updater may be a next size map or a function of the previous map,\n * matching the instance `table.setColumnSizing` behavior.\n *\n * @example\n * ```ts\n * table_setColumnSizing(table, (old) => ({ ...old, age: 96 }))\n * ```\n */\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\n/**\n * Resets `columnSizing` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnSizing` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnSizing(table)\n * table_resetColumnSizing(table, true)\n * ```\n */\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState\n ? makeObjectMap()\n : Object.assign(\n makeObjectMap<number>(),\n cloneState(table.initialState.columnSizing ?? {}),\n ),\n )\n}\n\n/**\n * Sums the rendered size of the full table header row.\n *\n * This includes left, center, and right columns in the main header group.\n *\n * @example\n * ```ts\n * const width = table_getTotalSize(table)\n * ```\n */\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the left pinned header region.\n *\n * An empty left pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getLeftTotalSize(table)\n * ```\n */\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the center, unpinned header region.\n *\n * An empty center region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getCenterTotalSize(table)\n * ```\n */\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\n/**\n * Sums the rendered size of the right pinned header region.\n *\n * An empty right pinning region returns `0`.\n *\n * @example\n * ```ts\n * const width = table_getRightTotalSize(table)\n * ```\n */\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":"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"}