@tanstack/table-core 9.0.0-alpha.6 → 9.0.0-beta.1

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 (855) hide show
  1. package/README.md +127 -0
  2. package/dist/core/cells/constructCell.cjs +34 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +17 -0
  5. package/dist/core/cells/constructCell.d.ts +17 -0
  6. package/dist/core/cells/constructCell.js +33 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +30 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +18 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +18 -0
  12. package/dist/core/cells/coreCellsFeature.js +29 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +57 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +53 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +53 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +54 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +61 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +16 -0
  25. package/dist/core/columns/constructColumn.d.ts +16 -0
  26. package/dist/core/columns/constructColumn.js +60 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +79 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +18 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +18 -0
  32. package/dist/core/columns/coreColumnsFeature.js +78 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +94 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +94 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +187 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +119 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +119 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +179 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +25 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +26 -0
  45. package/dist/core/coreFeatures.d.ts +26 -0
  46. package/dist/core/coreFeatures.js +25 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +103 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +16 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +16 -0
  52. package/dist/core/headers/buildHeaderGroups.js +103 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +41 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +22 -0
  57. package/dist/core/headers/constructHeader.d.ts +22 -0
  58. package/dist/core/headers/constructHeader.js +40 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +18 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +18 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +106 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +106 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +142 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +85 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +85 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +137 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +48 -0
  75. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +48 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +24 -0
  77. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -0
  78. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +24 -0
  79. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +24 -0
  80. package/dist/core/reactivity/coreReactivityFeature.utils.js +23 -0
  81. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -0
  82. package/dist/core/row-models/coreRowModelsFeature.cjs +36 -0
  83. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.d.cts +18 -0
  85. package/dist/core/row-models/coreRowModelsFeature.d.ts +18 -0
  86. package/dist/core/row-models/coreRowModelsFeature.js +35 -0
  87. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  88. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +43 -0
  89. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +43 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +215 -0
  91. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  92. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +153 -0
  93. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +153 -0
  94. package/dist/core/row-models/coreRowModelsFeature.utils.js +204 -0
  95. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  96. package/dist/core/row-models/createCoreRowModel.cjs +52 -0
  97. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  98. package/dist/core/row-models/createCoreRowModel.d.cts +15 -0
  99. package/dist/core/row-models/createCoreRowModel.d.ts +15 -0
  100. package/dist/core/row-models/createCoreRowModel.js +52 -0
  101. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  102. package/dist/core/rows/constructRow.cjs +44 -0
  103. package/dist/core/rows/constructRow.cjs.map +1 -0
  104. package/dist/core/rows/constructRow.d.cts +15 -0
  105. package/dist/core/rows/constructRow.d.ts +15 -0
  106. package/dist/core/rows/constructRow.js +43 -0
  107. package/dist/core/rows/constructRow.js.map +1 -0
  108. package/dist/core/rows/coreRowsFeature.cjs +46 -0
  109. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.d.cts +18 -0
  111. package/dist/core/rows/coreRowsFeature.d.ts +18 -0
  112. package/dist/core/rows/coreRowsFeature.js +45 -0
  113. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  114. package/dist/core/rows/coreRowsFeature.types.d.cts +99 -0
  115. package/dist/core/rows/coreRowsFeature.types.d.ts +99 -0
  116. package/dist/core/rows/coreRowsFeature.utils.cjs +192 -0
  117. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  118. package/dist/core/rows/coreRowsFeature.utils.d.cts +127 -0
  119. package/dist/core/rows/coreRowsFeature.utils.d.ts +127 -0
  120. package/dist/core/rows/coreRowsFeature.utils.js +183 -0
  121. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  122. package/dist/core/table/constructTable.cjs +118 -0
  123. package/dist/core/table/constructTable.cjs.map +1 -0
  124. package/dist/core/table/constructTable.d.cts +22 -0
  125. package/dist/core/table/constructTable.d.ts +22 -0
  126. package/dist/core/table/constructTable.js +117 -0
  127. package/dist/core/table/constructTable.js.map +1 -0
  128. package/dist/core/table/coreTablesFeature.cjs +26 -0
  129. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.d.cts +18 -0
  131. package/dist/core/table/coreTablesFeature.d.ts +18 -0
  132. package/dist/core/table/coreTablesFeature.js +25 -0
  133. package/dist/core/table/coreTablesFeature.js.map +1 -0
  134. package/dist/core/table/coreTablesFeature.types.d.cts +186 -0
  135. package/dist/core/table/coreTablesFeature.types.d.ts +186 -0
  136. package/dist/core/table/coreTablesFeature.utils.cjs +96 -0
  137. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  138. package/dist/core/table/coreTablesFeature.utils.d.cts +57 -0
  139. package/dist/core/table/coreTablesFeature.utils.d.ts +57 -0
  140. package/dist/core/table/coreTablesFeature.utils.js +93 -0
  141. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.cjs +73 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.d.cts +21 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.d.ts +21 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.js +72 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +85 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +85 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +103 -0
  151. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  152. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +84 -0
  153. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +84 -0
  154. package/dist/features/column-faceting/columnFacetingFeature.utils.js +97 -0
  155. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +44 -0
  157. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  158. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +14 -0
  159. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +14 -0
  160. package/dist/features/column-faceting/createFacetedMinMaxValues.js +44 -0
  161. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  162. package/dist/features/column-faceting/createFacetedRowModel.cjs +50 -0
  163. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  164. package/dist/features/column-faceting/createFacetedRowModel.d.cts +15 -0
  165. package/dist/features/column-faceting/createFacetedRowModel.d.ts +15 -0
  166. package/dist/features/column-faceting/createFacetedRowModel.js +50 -0
  167. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  168. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +41 -0
  169. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  170. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +14 -0
  171. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +14 -0
  172. package/dist/features/column-faceting/createFacetedUniqueValues.js +41 -0
  173. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  174. package/dist/features/column-filtering/columnFilteringFeature.cjs +63 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.d.cts +22 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.d.ts +22 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.js +62 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +160 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +160 -0
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +212 -0
  183. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  184. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +143 -0
  185. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +143 -0
  186. package/dist/features/column-filtering/columnFilteringFeature.utils.js +202 -0
  187. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  188. package/dist/features/column-filtering/createFilteredRowModel.cjs +110 -0
  189. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  190. package/dist/features/column-filtering/createFilteredRowModel.d.cts +16 -0
  191. package/dist/features/column-filtering/createFilteredRowModel.d.ts +16 -0
  192. package/dist/features/column-filtering/createFilteredRowModel.js +110 -0
  193. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  194. package/dist/features/column-filtering/filterRowsUtils.cjs +81 -0
  195. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  196. package/dist/features/column-filtering/filterRowsUtils.js +81 -0
  197. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  198. package/dist/features/column-grouping/columnGroupingFeature.cjs +79 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.d.cts +21 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.d.ts +21 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.js +78 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +165 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +165 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +250 -0
  207. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  208. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +190 -0
  209. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +190 -0
  210. package/dist/features/column-grouping/columnGroupingFeature.utils.js +236 -0
  211. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.cjs +119 -0
  213. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  214. package/dist/features/column-grouping/createGroupedRowModel.d.cts +16 -0
  215. package/dist/features/column-grouping/createGroupedRowModel.d.ts +16 -0
  216. package/dist/features/column-grouping/createGroupedRowModel.js +119 -0
  217. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.cjs +70 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.d.cts +21 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.d.ts +21 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.js +69 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +56 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +56 -0
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +172 -0
  227. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  228. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +107 -0
  229. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +107 -0
  230. package/dist/features/column-ordering/columnOrderingFeature.utils.js +165 -0
  231. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  232. package/dist/features/column-pinning/columnPinningFeature.cjs +233 -0
  233. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.d.cts +21 -0
  235. package/dist/features/column-pinning/columnPinningFeature.d.ts +21 -0
  236. package/dist/features/column-pinning/columnPinningFeature.js +232 -0
  237. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  238. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +178 -0
  239. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +178 -0
  240. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +585 -0
  241. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  242. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +375 -0
  243. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +375 -0
  244. package/dist/features/column-pinning/columnPinningFeature.utils.js +555 -0
  245. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  246. package/dist/features/column-resizing/columnResizingFeature.cjs +53 -0
  247. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.d.cts +21 -0
  249. package/dist/features/column-resizing/columnResizingFeature.d.ts +21 -0
  250. package/dist/features/column-resizing/columnResizingFeature.js +52 -0
  251. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  252. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +246 -0
  255. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  256. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +109 -0
  257. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +109 -0
  258. package/dist/features/column-resizing/columnResizingFeature.utils.js +239 -0
  259. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  260. package/dist/features/column-sizing/columnSizingFeature.cjs +137 -0
  261. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.d.cts +22 -0
  263. package/dist/features/column-sizing/columnSizingFeature.d.ts +22 -0
  264. package/dist/features/column-sizing/columnSizingFeature.js +136 -0
  265. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  266. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +96 -0
  267. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +96 -0
  268. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +256 -0
  269. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  270. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +182 -0
  271. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +182 -0
  272. package/dist/features/column-sizing/columnSizingFeature.utils.js +243 -0
  273. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  274. package/dist/features/column-visibility/columnVisibilityFeature.cjs +106 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +21 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +21 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.js +105 -0
  279. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  280. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +97 -0
  281. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +97 -0
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +283 -0
  283. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  284. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +189 -0
  285. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +189 -0
  286. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +269 -0
  287. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  288. package/dist/features/global-filtering/globalFilteringFeature.cjs +53 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.d.cts +21 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.d.ts +21 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.js +52 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +71 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +71 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +88 -0
  297. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  298. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +72 -0
  299. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +72 -0
  300. package/dist/features/global-filtering/globalFilteringFeature.utils.js +84 -0
  301. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.cjs +59 -0
  303. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  304. package/dist/features/row-expanding/createExpandedRowModel.d.cts +21 -0
  305. package/dist/features/row-expanding/createExpandedRowModel.d.ts +21 -0
  306. package/dist/features/row-expanding/createExpandedRowModel.js +58 -0
  307. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  308. package/dist/features/row-expanding/rowExpandingFeature.cjs +59 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.d.cts +21 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.d.ts +21 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.js +58 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +127 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +127 -0
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +281 -0
  317. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  318. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +191 -0
  319. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +191 -0
  320. package/dist/features/row-expanding/rowExpandingFeature.utils.js +267 -0
  321. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.cjs +62 -0
  323. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  324. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +15 -0
  325. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +15 -0
  326. package/dist/features/row-pagination/createPaginatedRowModel.js +62 -0
  327. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  328. package/dist/features/row-pagination/rowPaginationFeature.cjs +57 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.d.cts +21 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.d.ts +21 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.js +56 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +135 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +135 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +312 -0
  337. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  338. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +218 -0
  339. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +218 -0
  340. package/dist/features/row-pagination/rowPaginationFeature.utils.js +296 -0
  341. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  342. package/dist/features/row-pinning/rowPinningFeature.cjs +79 -0
  343. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.d.cts +21 -0
  345. package/dist/features/row-pinning/rowPinningFeature.d.ts +21 -0
  346. package/dist/features/row-pinning/rowPinningFeature.js +78 -0
  347. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  348. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +83 -0
  349. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +83 -0
  350. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +229 -0
  351. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  352. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +143 -0
  353. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +143 -0
  354. package/dist/features/row-pinning/rowPinningFeature.utils.js +219 -0
  355. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  356. package/dist/features/row-selection/rowSelectionFeature.cjs +87 -0
  357. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.d.cts +21 -0
  359. package/dist/features/row-selection/rowSelectionFeature.d.ts +21 -0
  360. package/dist/features/row-selection/rowSelectionFeature.js +86 -0
  361. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  362. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +136 -0
  363. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +136 -0
  364. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +514 -0
  365. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  366. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +318 -0
  367. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +318 -0
  368. package/dist/features/row-selection/rowSelectionFeature.utils.js +489 -0
  369. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  370. package/dist/features/row-sorting/createSortedRowModel.cjs +95 -0
  371. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  372. package/dist/features/row-sorting/createSortedRowModel.d.cts +16 -0
  373. package/dist/features/row-sorting/createSortedRowModel.d.ts +16 -0
  374. package/dist/features/row-sorting/createSortedRowModel.js +95 -0
  375. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  376. package/dist/features/row-sorting/rowSortingFeature.cjs +67 -0
  377. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.d.cts +21 -0
  379. package/dist/features/row-sorting/rowSortingFeature.d.ts +21 -0
  380. package/dist/features/row-sorting/rowSortingFeature.js +66 -0
  381. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  382. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +188 -0
  383. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +188 -0
  384. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +302 -0
  385. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  386. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +193 -0
  387. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +193 -0
  388. package/dist/features/row-sorting/rowSortingFeature.utils.js +288 -0
  389. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  390. package/dist/features/stockFeatures.cjs +41 -0
  391. package/dist/features/stockFeatures.cjs.map +1 -0
  392. package/dist/features/stockFeatures.d.cts +41 -0
  393. package/dist/features/stockFeatures.d.ts +41 -0
  394. package/dist/features/stockFeatures.js +41 -0
  395. package/dist/features/stockFeatures.js.map +1 -0
  396. package/dist/flex-render.cjs +29 -0
  397. package/dist/flex-render.cjs.map +1 -0
  398. package/dist/flex-render.d.cts +34 -0
  399. package/dist/flex-render.d.ts +34 -0
  400. package/dist/flex-render.js +26 -0
  401. package/dist/flex-render.js.map +1 -0
  402. package/dist/fns/aggregationFns.cjs +161 -0
  403. package/dist/fns/aggregationFns.cjs.map +1 -0
  404. package/dist/fns/aggregationFns.d.cts +83 -0
  405. package/dist/fns/aggregationFns.d.ts +83 -0
  406. package/dist/fns/aggregationFns.js +151 -0
  407. package/dist/fns/aggregationFns.js.map +1 -0
  408. package/dist/fns/filterFns.cjs +215 -0
  409. package/dist/fns/filterFns.cjs.map +1 -0
  410. package/dist/fns/filterFns.d.cts +113 -0
  411. package/dist/fns/filterFns.d.ts +113 -0
  412. package/dist/fns/filterFns.js +199 -0
  413. package/dist/fns/filterFns.js.map +1 -0
  414. package/dist/fns/sortFns.cjs +118 -0
  415. package/dist/fns/sortFns.cjs.map +1 -0
  416. package/dist/fns/sortFns.d.cts +63 -0
  417. package/dist/fns/sortFns.d.ts +63 -0
  418. package/dist/fns/sortFns.js +110 -0
  419. package/dist/fns/sortFns.js.map +1 -0
  420. package/dist/helpers/columnHelper.cjs +41 -0
  421. package/dist/helpers/columnHelper.cjs.map +1 -0
  422. package/dist/helpers/columnHelper.d.cts +71 -0
  423. package/dist/helpers/columnHelper.d.ts +71 -0
  424. package/dist/helpers/columnHelper.js +40 -0
  425. package/dist/helpers/columnHelper.js.map +1 -0
  426. package/dist/helpers/tableFeatures.cjs +20 -0
  427. package/dist/helpers/tableFeatures.cjs.map +1 -0
  428. package/dist/helpers/tableFeatures.d.cts +18 -0
  429. package/dist/helpers/tableFeatures.d.ts +18 -0
  430. package/dist/helpers/tableFeatures.js +19 -0
  431. package/dist/helpers/tableFeatures.js.map +1 -0
  432. package/dist/helpers/tableOptions.cjs +15 -0
  433. package/dist/helpers/tableOptions.cjs.map +1 -0
  434. package/dist/helpers/tableOptions.d.cts +57 -0
  435. package/dist/helpers/tableOptions.d.ts +57 -0
  436. package/dist/helpers/tableOptions.js +14 -0
  437. package/dist/helpers/tableOptions.js.map +1 -0
  438. package/dist/index.cjs +153 -0
  439. package/dist/index.d.cts +78 -0
  440. package/dist/index.d.ts +78 -0
  441. package/dist/index.js +46 -0
  442. package/dist/reactivity.cjs +4 -0
  443. package/dist/reactivity.d.cts +3 -0
  444. package/dist/reactivity.d.ts +3 -0
  445. package/dist/reactivity.js +3 -0
  446. package/dist/static-functions.cjs +263 -0
  447. package/dist/static-functions.d.cts +21 -0
  448. package/dist/static-functions.d.ts +21 -0
  449. package/dist/static-functions.js +22 -0
  450. package/dist/store-reactivity-bindings.cjs +44 -0
  451. package/dist/store-reactivity-bindings.cjs.map +1 -0
  452. package/dist/store-reactivity-bindings.d.cts +22 -0
  453. package/dist/store-reactivity-bindings.d.ts +22 -0
  454. package/dist/store-reactivity-bindings.js +43 -0
  455. package/dist/store-reactivity-bindings.js.map +1 -0
  456. package/dist/types/Cell.d.cts +16 -0
  457. package/dist/types/Cell.d.ts +16 -0
  458. package/dist/types/Column.d.cts +29 -0
  459. package/dist/types/Column.d.ts +29 -0
  460. package/dist/types/ColumnDef.d.cts +104 -0
  461. package/dist/types/ColumnDef.d.ts +104 -0
  462. package/dist/types/Header.d.cts +17 -0
  463. package/dist/types/Header.d.ts +17 -0
  464. package/dist/types/HeaderGroup.d.cts +15 -0
  465. package/dist/types/HeaderGroup.d.ts +15 -0
  466. package/dist/types/Row.d.cts +22 -0
  467. package/dist/types/Row.d.ts +22 -0
  468. package/dist/types/RowModel.d.cts +26 -0
  469. package/dist/types/RowModel.d.ts +26 -0
  470. package/dist/types/RowModelFns.d.cts +18 -0
  471. package/dist/types/RowModelFns.d.ts +18 -0
  472. package/dist/types/Table.d.cts +59 -0
  473. package/dist/types/Table.d.ts +59 -0
  474. package/dist/types/TableFeatures.d.cts +77 -0
  475. package/dist/types/TableFeatures.d.ts +77 -0
  476. package/dist/types/TableOptions.d.cts +54 -0
  477. package/dist/types/TableOptions.d.ts +54 -0
  478. package/dist/types/TableState.d.cts +39 -0
  479. package/dist/types/TableState.d.ts +39 -0
  480. package/dist/types/type-utils.d.cts +23 -0
  481. package/dist/types/type-utils.d.ts +23 -0
  482. package/dist/utils.cjs +243 -0
  483. package/dist/utils.cjs.map +1 -0
  484. package/dist/utils.d.cts +114 -0
  485. package/dist/utils.d.ts +114 -0
  486. package/dist/utils.js +232 -0
  487. package/dist/utils.js.map +1 -0
  488. package/package.json +43 -16
  489. package/skills/column-definitions/SKILL.md +333 -0
  490. package/skills/column-layout/SKILL.md +328 -0
  491. package/skills/column-layout/references/subsystems.md +220 -0
  492. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  493. package/skills/filtering/SKILL.md +357 -0
  494. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  495. package/skills/grouping/SKILL.md +448 -0
  496. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  497. package/skills/pagination/SKILL.md +385 -0
  498. package/skills/row-expanding/SKILL.md +348 -0
  499. package/skills/row-pinning/SKILL.md +269 -0
  500. package/skills/row-selection/SKILL.md +391 -0
  501. package/skills/setup/SKILL.md +400 -0
  502. package/skills/sorting/SKILL.md +344 -0
  503. package/skills/state-management/SKILL.md +388 -0
  504. package/src/core/cells/constructCell.ts +55 -0
  505. package/src/core/cells/coreCellsFeature.ts +49 -0
  506. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  507. package/src/core/cells/coreCellsFeature.utils.ts +68 -0
  508. package/src/core/columns/constructColumn.ts +119 -0
  509. package/src/core/columns/coreColumnsFeature.ts +100 -0
  510. package/src/core/columns/coreColumnsFeature.types.ts +108 -0
  511. package/src/core/columns/coreColumnsFeature.utils.ts +275 -0
  512. package/src/core/coreFeatures.ts +31 -0
  513. package/src/core/headers/buildHeaderGroups.ts +182 -0
  514. package/src/core/headers/constructHeader.ts +67 -0
  515. package/src/core/headers/coreHeadersFeature.ts +78 -0
  516. package/src/core/headers/coreHeadersFeature.types.ts +125 -0
  517. package/src/core/headers/coreHeadersFeature.utils.ts +200 -0
  518. package/src/core/reactivity/coreReactivityFeature.types.ts +56 -0
  519. package/src/core/reactivity/coreReactivityFeature.utils.ts +44 -0
  520. package/src/core/row-models/coreRowModelsFeature.ts +83 -0
  521. package/src/core/row-models/coreRowModelsFeature.types.ts +68 -0
  522. package/src/core/row-models/coreRowModelsFeature.utils.ts +272 -0
  523. package/src/core/row-models/createCoreRowModel.ts +93 -0
  524. package/src/core/rows/constructRow.ts +66 -0
  525. package/src/core/rows/coreRowsFeature.ts +89 -0
  526. package/src/core/rows/coreRowsFeature.types.ts +117 -0
  527. package/src/core/rows/coreRowsFeature.utils.ts +264 -0
  528. package/src/core/table/constructTable.ts +169 -0
  529. package/src/core/table/coreTablesFeature.ts +41 -0
  530. package/src/core/table/coreTablesFeature.types.ts +216 -0
  531. package/src/core/table/coreTablesFeature.utils.ts +131 -0
  532. package/src/features/column-faceting/columnFacetingFeature.ts +120 -0
  533. package/src/features/column-faceting/columnFacetingFeature.types.ts +109 -0
  534. package/src/features/column-faceting/columnFacetingFeature.utils.ts +145 -0
  535. package/src/features/column-faceting/createFacetedMinMaxValues.ts +66 -0
  536. package/src/features/column-faceting/createFacetedRowModel.ts +85 -0
  537. package/src/features/column-faceting/createFacetedUniqueValues.ts +66 -0
  538. package/src/features/column-filtering/columnFilteringFeature.ts +129 -0
  539. package/src/features/column-filtering/columnFilteringFeature.types.ts +232 -0
  540. package/src/features/column-filtering/columnFilteringFeature.utils.ts +331 -0
  541. package/src/features/column-filtering/createFilteredRowModel.ts +183 -0
  542. package/src/features/column-filtering/filterRowsUtils.ts +157 -0
  543. package/src/features/column-grouping/columnGroupingFeature.ts +159 -0
  544. package/src/features/column-grouping/columnGroupingFeature.types.ts +226 -0
  545. package/src/features/column-grouping/columnGroupingFeature.utils.ts +354 -0
  546. package/src/features/column-grouping/createGroupedRowModel.ts +220 -0
  547. package/src/features/column-ordering/columnOrderingFeature.ts +105 -0
  548. package/src/features/column-ordering/columnOrderingFeature.types.ts +60 -0
  549. package/src/features/column-ordering/columnOrderingFeature.utils.ts +241 -0
  550. package/src/features/column-pinning/columnPinningFeature.ts +352 -0
  551. package/src/features/column-pinning/columnPinningFeature.types.ts +192 -0
  552. package/src/features/column-pinning/columnPinningFeature.utils.ts +908 -0
  553. package/src/features/column-resizing/columnResizingFeature.ts +99 -0
  554. package/src/features/column-resizing/columnResizingFeature.types.ts +89 -0
  555. package/src/features/column-resizing/columnResizingFeature.utils.ts +364 -0
  556. package/src/features/column-sizing/columnSizingFeature.ts +182 -0
  557. package/src/features/column-sizing/columnSizingFeature.types.ts +102 -0
  558. package/src/features/column-sizing/columnSizingFeature.utils.ts +381 -0
  559. package/src/features/column-visibility/columnVisibilityFeature.ts +159 -0
  560. package/src/features/column-visibility/columnVisibilityFeature.types.ts +112 -0
  561. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +384 -0
  562. package/src/features/global-filtering/globalFilteringFeature.ts +99 -0
  563. package/src/features/global-filtering/globalFilteringFeature.types.ts +91 -0
  564. package/src/features/global-filtering/globalFilteringFeature.utils.ts +116 -0
  565. package/src/features/row-expanding/createExpandedRowModel.ts +82 -0
  566. package/src/features/row-expanding/rowExpandingFeature.ts +130 -0
  567. package/src/features/row-expanding/rowExpandingFeature.types.ts +147 -0
  568. package/src/features/row-expanding/rowExpandingFeature.utils.ts +374 -0
  569. package/src/features/row-pagination/createPaginatedRowModel.ts +83 -0
  570. package/src/features/row-pagination/rowPaginationFeature.ts +129 -0
  571. package/src/features/row-pagination/rowPaginationFeature.types.ts +152 -0
  572. package/src/features/row-pagination/rowPaginationFeature.utils.ts +400 -0
  573. package/src/features/row-pinning/rowPinningFeature.ts +129 -0
  574. package/src/features/row-pinning/rowPinningFeature.types.ts +95 -0
  575. package/src/features/row-pinning/rowPinningFeature.utils.ts +323 -0
  576. package/src/features/row-selection/rowSelectionFeature.ts +172 -0
  577. package/src/features/row-selection/rowSelectionFeature.types.ts +151 -0
  578. package/src/features/row-selection/rowSelectionFeature.utils.ts +745 -0
  579. package/src/features/row-sorting/createSortedRowModel.ts +157 -0
  580. package/src/features/row-sorting/rowSortingFeature.ts +144 -0
  581. package/src/features/row-sorting/rowSortingFeature.types.ts +235 -0
  582. package/src/features/row-sorting/rowSortingFeature.utils.ts +487 -0
  583. package/src/features/stockFeatures.ts +53 -0
  584. package/src/flex-render.ts +70 -0
  585. package/src/fns/aggregationFns.ts +261 -0
  586. package/src/fns/filterFns.ts +415 -0
  587. package/src/fns/sortFns.ts +218 -0
  588. package/src/helpers/columnHelper.ts +122 -0
  589. package/src/helpers/tableFeatures.ts +24 -0
  590. package/src/helpers/tableOptions.ts +117 -0
  591. package/src/index.ts +137 -42
  592. package/src/process-env.d.ts +6 -0
  593. package/src/reactivity.ts +2 -0
  594. package/src/static-functions.ts +31 -0
  595. package/src/store-reactivity-bindings.ts +47 -0
  596. package/src/types/Cell.ts +41 -0
  597. package/src/types/Column.ts +86 -0
  598. package/src/types/ColumnDef.ts +255 -0
  599. package/src/types/Header.ts +45 -0
  600. package/src/types/HeaderGroup.ts +24 -0
  601. package/src/types/Row.ts +55 -0
  602. package/src/types/RowModel.ts +137 -0
  603. package/src/types/RowModelFns.ts +51 -0
  604. package/src/types/Table.ts +132 -0
  605. package/src/types/TableFeatures.ts +150 -0
  606. package/src/types/TableOptions.ts +140 -0
  607. package/src/types/TableState.ts +100 -0
  608. package/src/types/type-utils.ts +84 -0
  609. package/src/utils.ts +388 -166
  610. package/dist/cjs/aggregationFns.cjs +0 -94
  611. package/dist/cjs/aggregationFns.cjs.map +0 -1
  612. package/dist/cjs/aggregationFns.d.cts +0 -14
  613. package/dist/cjs/columnHelper.cjs +0 -19
  614. package/dist/cjs/columnHelper.cjs.map +0 -1
  615. package/dist/cjs/columnHelper.d.cts +0 -9
  616. package/dist/cjs/core/cell.cjs +0 -38
  617. package/dist/cjs/core/cell.cjs.map +0 -1
  618. package/dist/cjs/core/cell.d.cts +0 -50
  619. package/dist/cjs/core/column.cjs +0 -81
  620. package/dist/cjs/core/column.cjs.map +0 -1
  621. package/dist/cjs/core/column.d.cts +0 -56
  622. package/dist/cjs/core/headers.cjs +0 -310
  623. package/dist/cjs/core/headers.cjs.map +0 -1
  624. package/dist/cjs/core/headers.d.cts +0 -195
  625. package/dist/cjs/core/row.cjs +0 -92
  626. package/dist/cjs/core/row.cjs.map +0 -1
  627. package/dist/cjs/core/row.d.cts +0 -92
  628. package/dist/cjs/core/table.cjs +0 -232
  629. package/dist/cjs/core/table.cjs.map +0 -1
  630. package/dist/cjs/core/table.d.cts +0 -229
  631. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  632. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  633. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  634. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  635. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  636. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  637. package/dist/cjs/features/ColumnGrouping.cjs +0 -133
  638. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  639. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  640. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  641. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  642. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  643. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  644. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  645. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  646. package/dist/cjs/features/ColumnSizing.cjs +0 -307
  647. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  648. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  649. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  650. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  651. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  652. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  653. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  654. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  655. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  656. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  657. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  658. package/dist/cjs/features/RowExpanding.cjs +0 -152
  659. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  660. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  661. package/dist/cjs/features/RowPagination.cjs +0 -161
  662. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  663. package/dist/cjs/features/RowPagination.d.cts +0 -166
  664. package/dist/cjs/features/RowPinning.cjs +0 -132
  665. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  666. package/dist/cjs/features/RowPinning.d.cts +0 -99
  667. package/dist/cjs/features/RowSelection.cjs +0 -296
  668. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  669. package/dist/cjs/features/RowSelection.d.cts +0 -177
  670. package/dist/cjs/features/RowSorting.cjs +0 -200
  671. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  672. package/dist/cjs/features/RowSorting.d.cts +0 -238
  673. package/dist/cjs/filterFns.cjs +0 -88
  674. package/dist/cjs/filterFns.cjs.map +0 -1
  675. package/dist/cjs/filterFns.d.cts +0 -14
  676. package/dist/cjs/index.cjs +0 -88
  677. package/dist/cjs/index.cjs.map +0 -1
  678. package/dist/cjs/index.d.cts +0 -34
  679. package/dist/cjs/sortingFns.cjs +0 -91
  680. package/dist/cjs/sortingFns.cjs.map +0 -1
  681. package/dist/cjs/sortingFns.d.cts +0 -12
  682. package/dist/cjs/types.d.cts +0 -120
  683. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  684. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  685. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  686. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  687. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  688. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  689. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  690. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  691. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  692. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -35
  693. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  694. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  695. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  696. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  697. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  698. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -37
  699. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  700. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  701. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  702. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  703. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  704. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  705. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  706. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  707. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  708. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  709. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  710. package/dist/cjs/utils/getSortedRowModel.cjs +0 -88
  711. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  712. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  713. package/dist/cjs/utils.cjs +0 -98
  714. package/dist/cjs/utils.cjs.map +0 -1
  715. package/dist/cjs/utils.d.cts +0 -39
  716. package/dist/esm/aggregationFns.d.ts +0 -14
  717. package/dist/esm/aggregationFns.js +0 -94
  718. package/dist/esm/aggregationFns.js.map +0 -1
  719. package/dist/esm/columnHelper.d.ts +0 -9
  720. package/dist/esm/columnHelper.js +0 -19
  721. package/dist/esm/columnHelper.js.map +0 -1
  722. package/dist/esm/core/cell.d.ts +0 -50
  723. package/dist/esm/core/cell.js +0 -38
  724. package/dist/esm/core/cell.js.map +0 -1
  725. package/dist/esm/core/column.d.ts +0 -56
  726. package/dist/esm/core/column.js +0 -81
  727. package/dist/esm/core/column.js.map +0 -1
  728. package/dist/esm/core/headers.d.ts +0 -195
  729. package/dist/esm/core/headers.js +0 -310
  730. package/dist/esm/core/headers.js.map +0 -1
  731. package/dist/esm/core/row.d.ts +0 -92
  732. package/dist/esm/core/row.js +0 -92
  733. package/dist/esm/core/row.js.map +0 -1
  734. package/dist/esm/core/table.d.ts +0 -229
  735. package/dist/esm/core/table.js +0 -232
  736. package/dist/esm/core/table.js.map +0 -1
  737. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  738. package/dist/esm/features/ColumnFaceting.js +0 -29
  739. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  740. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  741. package/dist/esm/features/ColumnFiltering.js +0 -137
  742. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  743. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  744. package/dist/esm/features/ColumnGrouping.js +0 -133
  745. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  746. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  747. package/dist/esm/features/ColumnOrdering.js +0 -76
  748. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  749. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  750. package/dist/esm/features/ColumnPinning.js +0 -145
  751. package/dist/esm/features/ColumnPinning.js.map +0 -1
  752. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  753. package/dist/esm/features/ColumnSizing.js +0 -307
  754. package/dist/esm/features/ColumnSizing.js.map +0 -1
  755. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  756. package/dist/esm/features/ColumnVisibility.js +0 -144
  757. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  758. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  759. package/dist/esm/features/GlobalFaceting.js +0 -29
  760. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  761. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  762. package/dist/esm/features/GlobalFiltering.js +0 -50
  763. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  764. package/dist/esm/features/RowExpanding.d.ts +0 -155
  765. package/dist/esm/features/RowExpanding.js +0 -152
  766. package/dist/esm/features/RowExpanding.js.map +0 -1
  767. package/dist/esm/features/RowPagination.d.ts +0 -166
  768. package/dist/esm/features/RowPagination.js +0 -161
  769. package/dist/esm/features/RowPagination.js.map +0 -1
  770. package/dist/esm/features/RowPinning.d.ts +0 -99
  771. package/dist/esm/features/RowPinning.js +0 -132
  772. package/dist/esm/features/RowPinning.js.map +0 -1
  773. package/dist/esm/features/RowSelection.d.ts +0 -177
  774. package/dist/esm/features/RowSelection.js +0 -296
  775. package/dist/esm/features/RowSelection.js.map +0 -1
  776. package/dist/esm/features/RowSorting.d.ts +0 -238
  777. package/dist/esm/features/RowSorting.js +0 -200
  778. package/dist/esm/features/RowSorting.js.map +0 -1
  779. package/dist/esm/filterFns.d.ts +0 -14
  780. package/dist/esm/filterFns.js +0 -88
  781. package/dist/esm/filterFns.js.map +0 -1
  782. package/dist/esm/index.d.ts +0 -34
  783. package/dist/esm/index.js +0 -88
  784. package/dist/esm/index.js.map +0 -1
  785. package/dist/esm/sortingFns.d.ts +0 -12
  786. package/dist/esm/sortingFns.js +0 -91
  787. package/dist/esm/sortingFns.js.map +0 -1
  788. package/dist/esm/types.d.ts +0 -120
  789. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  790. package/dist/esm/utils/filterRowsUtils.js +0 -99
  791. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  792. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  793. package/dist/esm/utils/getCoreRowModel.js +0 -54
  794. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  795. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  796. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  797. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  798. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  799. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -35
  800. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  801. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  802. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  803. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  804. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  805. package/dist/esm/utils/getFacetedUniqueValues.js +0 -37
  806. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  807. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  808. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  809. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  810. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  811. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  812. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  813. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  814. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  815. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  816. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  817. package/dist/esm/utils/getSortedRowModel.js +0 -88
  818. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  819. package/dist/esm/utils.d.ts +0 -39
  820. package/dist/esm/utils.js +0 -98
  821. package/dist/esm/utils.js.map +0 -1
  822. package/src/aggregationFns.ts +0 -123
  823. package/src/columnHelper.ts +0 -91
  824. package/src/core/cell.ts +0 -91
  825. package/src/core/column.ts +0 -165
  826. package/src/core/headers.ts +0 -639
  827. package/src/core/row.ts +0 -201
  828. package/src/core/table.ts +0 -563
  829. package/src/features/ColumnFaceting.ts +0 -84
  830. package/src/features/ColumnFiltering.ts +0 -429
  831. package/src/features/ColumnGrouping.ts +0 -422
  832. package/src/features/ColumnOrdering.ts +0 -161
  833. package/src/features/ColumnPinning.ts +0 -336
  834. package/src/features/ColumnSizing.ts +0 -579
  835. package/src/features/ColumnVisibility.ts +0 -317
  836. package/src/features/GlobalFaceting.ts +0 -66
  837. package/src/features/GlobalFiltering.ts +0 -162
  838. package/src/features/RowExpanding.ts +0 -355
  839. package/src/features/RowPagination.ts +0 -396
  840. package/src/features/RowPinning.ts +0 -273
  841. package/src/features/RowSelection.ts +0 -668
  842. package/src/features/RowSorting.ts +0 -542
  843. package/src/filterFns.ts +0 -150
  844. package/src/sortingFns.ts +0 -128
  845. package/src/types.ts +0 -361
  846. package/src/utils/filterRowsUtils.ts +0 -130
  847. package/src/utils/getCoreRowModel.ts +0 -82
  848. package/src/utils/getExpandedRowModel.ts +0 -51
  849. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  850. package/src/utils/getFacetedRowModel.ts +0 -44
  851. package/src/utils/getFacetedUniqueValues.ts +0 -42
  852. package/src/utils/getFilteredRowModel.ts +0 -151
  853. package/src/utils/getGroupedRowModel.ts +0 -181
  854. package/src/utils/getPaginationRowModel.ts +0 -60
  855. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,908 @@
1
+ import {
2
+ column_getIsVisible,
3
+ row_getVisibleCells,
4
+ row_getVisibleCellsByColumnId,
5
+ table_getVisibleLeafColumns,
6
+ } from '../column-visibility/columnVisibilityFeature.utils'
7
+ import { buildHeaderGroups } from '../../core/headers/buildHeaderGroups'
8
+ import { callMemoOrStaticFn, cloneState } from '../../utils'
9
+ import type { Header } from '../../types/Header'
10
+ import type { HeaderGroup } from '../../types/HeaderGroup'
11
+ import type { Cell } from '../../types/Cell'
12
+ import type { Row } from '../../types/Row'
13
+ import type { CellData, RowData, Updater } from '../../types/type-utils'
14
+ import type { TableFeatures } from '../../types/TableFeatures'
15
+ import type { Table_Internal } from '../../types/Table'
16
+ import type { Column_Internal } from '../../types/Column'
17
+ import type {
18
+ ColumnPinningPosition,
19
+ ColumnPinningState,
20
+ } from './columnPinningFeature.types'
21
+
22
+ // State
23
+
24
+ /**
25
+ * Creates the default column pinning state.
26
+ *
27
+ * Both pinning regions start empty. Reset APIs use this value when
28
+ * `defaultState` is `true`.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const pinning = getDefaultColumnPinningState()
33
+ * ```
34
+ */
35
+ export function getDefaultColumnPinningState(): ColumnPinningState {
36
+ return {
37
+ left: [],
38
+ right: [],
39
+ }
40
+ }
41
+
42
+ // Column APIs
43
+
44
+ /**
45
+ * Moves this column's leaf column ids into a pinning region.
46
+ *
47
+ * Pinning a group column pins all of its leaves. The leaf ids are first removed
48
+ * from both regions, then appended to the requested `'left'` or `'right'`
49
+ * region. Passing `false` unpins them back to the center.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * column_pin(column, 'left')
54
+ * ```
55
+ */
56
+ export function column_pin<
57
+ TFeatures extends TableFeatures,
58
+ TData extends RowData,
59
+ TValue extends CellData = CellData,
60
+ >(
61
+ column: Column_Internal<TFeatures, TData, TValue>,
62
+ position: ColumnPinningPosition,
63
+ ) {
64
+ // Single pass: collect non-empty leaf-column ids.
65
+ const leafColumns = column.getLeafColumns()
66
+ const columnIds: Array<string> = []
67
+ for (let i = 0; i < leafColumns.length; i++) {
68
+ const id = leafColumns[i]!.id
69
+ if (id) columnIds.push(id)
70
+ }
71
+
72
+ table_setColumnPinning(column.table, (old) => {
73
+ if (position === 'right') {
74
+ return {
75
+ left: old.left.filter((d) => !columnIds.includes(d)),
76
+ right: [
77
+ ...old.right.filter((d) => !columnIds.includes(d)),
78
+ ...columnIds,
79
+ ],
80
+ }
81
+ }
82
+
83
+ if (position === 'left') {
84
+ return {
85
+ left: [...old.left.filter((d) => !columnIds.includes(d)), ...columnIds],
86
+ right: old.right.filter((d) => !columnIds.includes(d)),
87
+ }
88
+ }
89
+
90
+ return {
91
+ left: old.left.filter((d) => !columnIds.includes(d)),
92
+ right: old.right.filter((d) => !columnIds.includes(d)),
93
+ }
94
+ })
95
+ }
96
+
97
+ /**
98
+ * Checks whether this column or any of its leaf columns can be pinned.
99
+ *
100
+ * Column-level `enablePinning` and table `enableColumnPinning` both default to
101
+ * `true`; at least one leaf column must allow pinning.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const canPin = column_getCanPin(column)
106
+ * ```
107
+ */
108
+ export function column_getCanPin<
109
+ TFeatures extends TableFeatures,
110
+ TData extends RowData,
111
+ TValue extends CellData = CellData,
112
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
113
+ const leafColumns = column.getLeafColumns() as Array<
114
+ Column_Internal<TFeatures, TData, TValue>
115
+ >
116
+
117
+ return leafColumns.some(
118
+ (leafColumn) =>
119
+ (leafColumn.columnDef.enablePinning ?? true) &&
120
+ (column.table.options.enableColumnPinning ?? true),
121
+ )
122
+ }
123
+
124
+ /**
125
+ * Reads this column's current pinning region.
126
+ *
127
+ * Group columns report `'left'` or `'right'` when any leaf column is pinned in
128
+ * that region. Unpinned columns return `false`.
129
+ *
130
+ * @example
131
+ * ```ts
132
+ * const position = column_getIsPinned(column)
133
+ * ```
134
+ */
135
+ export function column_getIsPinned<
136
+ TFeatures extends TableFeatures,
137
+ TData extends RowData,
138
+ TValue extends CellData = CellData,
139
+ >(
140
+ column: Column_Internal<TFeatures, TData, TValue>,
141
+ ): ColumnPinningPosition | false {
142
+ const leafColumnIds = column.getLeafColumns().map((d) => d.id)
143
+
144
+ const { left, right } =
145
+ column.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
146
+
147
+ const isLeft = leafColumnIds.some((d) => left.includes(d))
148
+ const isRight = leafColumnIds.some((d) => right.includes(d))
149
+
150
+ return isLeft ? 'left' : isRight ? 'right' : false
151
+ }
152
+
153
+ /**
154
+ * Finds this column's index within its pinned region.
155
+ *
156
+ * Unpinned columns return `0`; pinned columns return their position in
157
+ * `state.columnPinning.left` or `state.columnPinning.right`.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * const index = column_getPinnedIndex(column)
162
+ * ```
163
+ */
164
+ export function column_getPinnedIndex<
165
+ TFeatures extends TableFeatures,
166
+ TData extends RowData,
167
+ TValue extends CellData = CellData,
168
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
169
+ const position = column_getIsPinned(column)
170
+
171
+ return position
172
+ ? (column.table.atoms.columnPinning?.get()?.[position].indexOf(column.id) ??
173
+ -1)
174
+ : 0
175
+ }
176
+
177
+ // Row APIs
178
+
179
+ /**
180
+ * Collects visible cells whose columns are not pinned left or right.
181
+ *
182
+ * The result preserves the row's visible-cell order for center columns.
183
+ *
184
+ * @example
185
+ * ```ts
186
+ * const centerCells = row_getCenterVisibleCells(row)
187
+ * ```
188
+ */
189
+ export function row_getCenterVisibleCells<
190
+ TFeatures extends TableFeatures,
191
+ TData extends RowData,
192
+ >(row: Row<TFeatures, TData>) {
193
+ const allCells = callMemoOrStaticFn(
194
+ row,
195
+ 'getVisibleCells',
196
+ row_getVisibleCells,
197
+ )
198
+ const { left, right } =
199
+ row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
200
+ const leftAndRight: Array<string> = [...left, ...right]
201
+ return allCells.filter((d) => !leftAndRight.includes(d.column.id))
202
+ }
203
+
204
+ /**
205
+ * Collects visible cells for columns pinned to the left region.
206
+ *
207
+ * Cells are returned in `state.columnPinning.left` order and are marked with
208
+ * `cell.position = 'left'`.
209
+ *
210
+ * @example
211
+ * ```ts
212
+ * const leftCells = row_getLeftVisibleCells(row)
213
+ * ```
214
+ */
215
+ export function row_getLeftVisibleCells<
216
+ TFeatures extends TableFeatures,
217
+ TData extends RowData,
218
+ >(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>> {
219
+ const { left } =
220
+ row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
221
+ if (!left.length) return []
222
+ const allVisibleCells = callMemoOrStaticFn(
223
+ row,
224
+ 'getVisibleCellsByColumnId',
225
+ row_getVisibleCellsByColumnId,
226
+ )
227
+ const cells: Array<Cell<TFeatures, TData, unknown>> = []
228
+ for (let i = 0; i < left.length; i++) {
229
+ const columnId = left[i]!
230
+ const cell = allVisibleCells[columnId]
231
+ if (cell) {
232
+ // Assign position property directly to preserve prototype chain
233
+ cell.position = 'left'
234
+ cells.push(cell)
235
+ }
236
+ }
237
+ return cells
238
+ }
239
+
240
+ /**
241
+ * Collects visible cells for columns pinned to the right region.
242
+ *
243
+ * Cells are returned in `state.columnPinning.right` order and are marked with
244
+ * `cell.position = 'right'`.
245
+ *
246
+ * @example
247
+ * ```ts
248
+ * const rightCells = row_getRightVisibleCells(row)
249
+ * ```
250
+ */
251
+ export function row_getRightVisibleCells<
252
+ TFeatures extends TableFeatures,
253
+ TData extends RowData,
254
+ >(row: Row<TFeatures, TData>) {
255
+ const { right } =
256
+ row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
257
+ if (!right.length) return [] as Array<Cell<TFeatures, TData, unknown>>
258
+ const allVisibleCells = callMemoOrStaticFn(
259
+ row,
260
+ 'getVisibleCellsByColumnId',
261
+ row_getVisibleCellsByColumnId,
262
+ )
263
+ const cells: Array<Cell<TFeatures, TData, unknown>> = []
264
+ for (let i = 0; i < right.length; i++) {
265
+ const columnId = right[i]!
266
+ const cell = allVisibleCells[columnId]
267
+ if (cell) {
268
+ // Assign position property directly to preserve prototype chain
269
+ cell.position = 'right'
270
+ cells.push(cell)
271
+ }
272
+ }
273
+ return cells
274
+ }
275
+
276
+ // Table APIs
277
+
278
+ /**
279
+ * Routes a column pinning updater through the table's pinning change handler.
280
+ *
281
+ * The updater may be a next `{ left, right }` state or a function of the
282
+ * previous state, matching the instance `table.setColumnPinning` behavior.
283
+ *
284
+ * @example
285
+ * ```ts
286
+ * table_setColumnPinning(table, (old) => ({ ...old, left: ['select'] }))
287
+ * ```
288
+ */
289
+ export function table_setColumnPinning<
290
+ TFeatures extends TableFeatures,
291
+ TData extends RowData,
292
+ >(
293
+ table: Table_Internal<TFeatures, TData>,
294
+ updater: Updater<ColumnPinningState>,
295
+ ) {
296
+ table.options.onColumnPinningChange?.(updater)
297
+ }
298
+
299
+ /**
300
+ * Resets `columnPinning` to the configured initial state or feature default.
301
+ *
302
+ * With no argument, the reset clones `table.initialState.columnPinning` when it
303
+ * exists. Passing `true` ignores initial state and resets to empty left/right
304
+ * arrays.
305
+ *
306
+ * @example
307
+ * ```ts
308
+ * table_resetColumnPinning(table)
309
+ * table_resetColumnPinning(table, true)
310
+ * ```
311
+ */
312
+ export function table_resetColumnPinning<
313
+ TFeatures extends TableFeatures,
314
+ TData extends RowData,
315
+ >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
316
+ table_setColumnPinning(
317
+ table,
318
+ defaultState
319
+ ? getDefaultColumnPinningState()
320
+ : cloneState(
321
+ table.initialState.columnPinning ?? getDefaultColumnPinningState(),
322
+ ),
323
+ )
324
+ }
325
+
326
+ /**
327
+ * Checks whether any columns are pinned.
328
+ *
329
+ * Omit `position` to check both sides, or pass `'left'`/`'right'` to inspect a
330
+ * single pinning region.
331
+ *
332
+ * @example
333
+ * ```ts
334
+ * const hasPinnedColumns = table_getIsSomeColumnsPinned(table)
335
+ * ```
336
+ */
337
+ export function table_getIsSomeColumnsPinned<
338
+ TFeatures extends TableFeatures,
339
+ TData extends RowData,
340
+ >(table: Table_Internal<TFeatures, TData>, position?: ColumnPinningPosition) {
341
+ const pinningState = table.atoms.columnPinning?.get()
342
+
343
+ if (!position) {
344
+ return Boolean(pinningState?.left.length || pinningState?.right.length)
345
+ }
346
+ return Boolean(pinningState?.[position].length)
347
+ }
348
+
349
+ // header groups
350
+
351
+ /**
352
+ * Builds header groups for visible columns pinned to the left region.
353
+ *
354
+ * The leaf columns are read in `state.columnPinning.left` order and then passed
355
+ * through the same header-group builder as the unpinned table.
356
+ *
357
+ * @example
358
+ * ```ts
359
+ * const headerGroups = table_getLeftHeaderGroups(table)
360
+ * ```
361
+ */
362
+ export function table_getLeftHeaderGroups<
363
+ TFeatures extends TableFeatures,
364
+ TData extends RowData,
365
+ >(table: Table_Internal<TFeatures, TData>) {
366
+ const allColumns = table.getAllColumns()
367
+ const leafColumnsById = table.getAllLeafColumnsById() as Record<
368
+ string,
369
+ Column_Internal<TFeatures, TData, unknown>
370
+ >
371
+ const { left } =
372
+ table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
373
+
374
+ const orderedLeafColumns: Array<Column_Internal<TFeatures, TData, unknown>> =
375
+ []
376
+ for (let i = 0; i < left.length; i++) {
377
+ const column = leafColumnsById[left[i]!]
378
+ if (
379
+ column &&
380
+ callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)
381
+ ) {
382
+ orderedLeafColumns.push(column)
383
+ }
384
+ }
385
+
386
+ return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left')
387
+ }
388
+
389
+ /**
390
+ * Builds header groups for visible columns pinned to the right region.
391
+ *
392
+ * The leaf columns are read in `state.columnPinning.right` order and then
393
+ * passed through the same header-group builder as the unpinned table.
394
+ *
395
+ * @example
396
+ * ```ts
397
+ * const headerGroups = table_getRightHeaderGroups(table)
398
+ * ```
399
+ */
400
+ export function table_getRightHeaderGroups<
401
+ TFeatures extends TableFeatures,
402
+ TData extends RowData,
403
+ >(table: Table_Internal<TFeatures, TData>) {
404
+ const allColumns = table.getAllColumns()
405
+ const leafColumnsById = table.getAllLeafColumnsById() as Record<
406
+ string,
407
+ Column_Internal<TFeatures, TData, unknown>
408
+ >
409
+ const { right } =
410
+ table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
411
+
412
+ const orderedLeafColumns: Array<Column_Internal<TFeatures, TData, unknown>> =
413
+ []
414
+ for (let i = 0; i < right.length; i++) {
415
+ const column = leafColumnsById[right[i]!]
416
+ if (
417
+ column &&
418
+ callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)
419
+ ) {
420
+ orderedLeafColumns.push(column)
421
+ }
422
+ }
423
+
424
+ return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right')
425
+ }
426
+
427
+ /**
428
+ * Builds header groups for visible columns that are not pinned.
429
+ *
430
+ * Left- and right-pinned column ids are removed from the visible leaf column
431
+ * list before header groups are built for the center region.
432
+ *
433
+ * @example
434
+ * ```ts
435
+ * const headerGroups = table_getCenterHeaderGroups(table)
436
+ * ```
437
+ */
438
+ export function table_getCenterHeaderGroups<
439
+ TFeatures extends TableFeatures,
440
+ TData extends RowData,
441
+ >(
442
+ table: Table_Internal<TFeatures, TData>,
443
+ ): Array<HeaderGroup<TFeatures, TData>> {
444
+ const allColumns = table.getAllColumns()
445
+ let leafColumns = callMemoOrStaticFn(
446
+ table,
447
+ 'getVisibleLeafColumns',
448
+ table_getVisibleLeafColumns,
449
+ ) as unknown as Array<Column_Internal<TFeatures, TData, unknown>>
450
+ const { left, right } =
451
+ table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
452
+ const leftAndRight: Array<string> = [...left, ...right]
453
+
454
+ leafColumns = leafColumns.filter(
455
+ (column) => !leftAndRight.includes(column.id),
456
+ )
457
+ return buildHeaderGroups(allColumns, leafColumns, table, 'center')
458
+ }
459
+
460
+ // footer groups
461
+
462
+ /**
463
+ * Builds footer groups for the left pinned region.
464
+ *
465
+ * Footer groups reuse the left header groups in reverse order.
466
+ *
467
+ * @example
468
+ * ```ts
469
+ * const footerGroups = table_getLeftFooterGroups(table)
470
+ * ```
471
+ */
472
+ export function table_getLeftFooterGroups<
473
+ TFeatures extends TableFeatures,
474
+ TData extends RowData,
475
+ >(table: Table_Internal<TFeatures, TData>) {
476
+ const headerGroups = callMemoOrStaticFn(
477
+ table,
478
+ 'getLeftHeaderGroups',
479
+ table_getLeftHeaderGroups,
480
+ )
481
+ return [...headerGroups].reverse()
482
+ }
483
+
484
+ /**
485
+ * Builds footer groups for the right pinned region.
486
+ *
487
+ * Footer groups reuse the right header groups in reverse order.
488
+ *
489
+ * @example
490
+ * ```ts
491
+ * const footerGroups = table_getRightFooterGroups(table)
492
+ * ```
493
+ */
494
+ export function table_getRightFooterGroups<
495
+ TFeatures extends TableFeatures,
496
+ TData extends RowData,
497
+ >(table: Table_Internal<TFeatures, TData>) {
498
+ const headerGroups = callMemoOrStaticFn(
499
+ table,
500
+ 'getRightHeaderGroups',
501
+ table_getRightHeaderGroups,
502
+ )
503
+ return [...headerGroups].reverse()
504
+ }
505
+
506
+ /**
507
+ * Builds footer groups for the center, unpinned region.
508
+ *
509
+ * Footer groups reuse the center header groups in reverse order.
510
+ *
511
+ * @example
512
+ * ```ts
513
+ * const footerGroups = table_getCenterFooterGroups(table)
514
+ * ```
515
+ */
516
+ export function table_getCenterFooterGroups<
517
+ TFeatures extends TableFeatures,
518
+ TData extends RowData,
519
+ >(table: Table_Internal<TFeatures, TData>) {
520
+ const headerGroups = callMemoOrStaticFn(
521
+ table,
522
+ 'getCenterHeaderGroups',
523
+ table_getCenterHeaderGroups,
524
+ )
525
+ return [...headerGroups].reverse()
526
+ }
527
+
528
+ // flat headers
529
+
530
+ /**
531
+ * Flattens every header from the left pinned header groups.
532
+ *
533
+ * Parent headers and placeholder headers are included.
534
+ *
535
+ * @example
536
+ * ```ts
537
+ * const headers = table_getLeftFlatHeaders(table)
538
+ * ```
539
+ */
540
+ export function table_getLeftFlatHeaders<
541
+ TFeatures extends TableFeatures,
542
+ TData extends RowData,
543
+ >(table: Table_Internal<TFeatures, TData>) {
544
+ const leftHeaderGroups = callMemoOrStaticFn(
545
+ table,
546
+ 'getLeftHeaderGroups',
547
+ table_getLeftHeaderGroups,
548
+ )
549
+ const result: Array<Header<TFeatures, TData, unknown>> = []
550
+ for (let i = 0; i < leftHeaderGroups.length; i++) {
551
+ const headers = leftHeaderGroups[i]!.headers
552
+ for (let j = 0; j < headers.length; j++) {
553
+ result.push(headers[j])
554
+ }
555
+ }
556
+ return result
557
+ }
558
+
559
+ /**
560
+ * Flattens every header from the right pinned header groups.
561
+ *
562
+ * Parent headers and placeholder headers are included.
563
+ *
564
+ * @example
565
+ * ```ts
566
+ * const headers = table_getRightFlatHeaders(table)
567
+ * ```
568
+ */
569
+ export function table_getRightFlatHeaders<
570
+ TFeatures extends TableFeatures,
571
+ TData extends RowData,
572
+ >(table: Table_Internal<TFeatures, TData>) {
573
+ const rightHeaderGroups = callMemoOrStaticFn(
574
+ table,
575
+ 'getRightHeaderGroups',
576
+ table_getRightHeaderGroups,
577
+ )
578
+ const result: Array<Header<TFeatures, TData, unknown>> = []
579
+ for (let i = 0; i < rightHeaderGroups.length; i++) {
580
+ const headers = rightHeaderGroups[i]!.headers
581
+ for (let j = 0; j < headers.length; j++) {
582
+ result.push(headers[j])
583
+ }
584
+ }
585
+ return result
586
+ }
587
+
588
+ /**
589
+ * Flattens every header from the center header groups.
590
+ *
591
+ * Parent headers and placeholder headers are included.
592
+ *
593
+ * @example
594
+ * ```ts
595
+ * const headers = table_getCenterFlatHeaders(table)
596
+ * ```
597
+ */
598
+ export function table_getCenterFlatHeaders<
599
+ TFeatures extends TableFeatures,
600
+ TData extends RowData,
601
+ >(table: Table_Internal<TFeatures, TData>) {
602
+ const centerHeaderGroups = callMemoOrStaticFn(
603
+ table,
604
+ 'getCenterHeaderGroups',
605
+ table_getCenterHeaderGroups,
606
+ )
607
+ const result: Array<Header<TFeatures, TData, unknown>> = []
608
+ for (let i = 0; i < centerHeaderGroups.length; i++) {
609
+ const headers = centerHeaderGroups[i]!.headers
610
+ for (let j = 0; j < headers.length; j++) {
611
+ result.push(headers[j])
612
+ }
613
+ }
614
+ return result
615
+ }
616
+
617
+ // leaf headers
618
+
619
+ /**
620
+ * Collects leaf headers for the left pinned region.
621
+ *
622
+ * Parent headers are filtered out from the left flat header list.
623
+ *
624
+ * @example
625
+ * ```ts
626
+ * const headers = table_getLeftLeafHeaders(table)
627
+ * ```
628
+ */
629
+ export function table_getLeftLeafHeaders<
630
+ TFeatures extends TableFeatures,
631
+ TData extends RowData,
632
+ >(table: Table_Internal<TFeatures, TData>) {
633
+ return callMemoOrStaticFn(
634
+ table,
635
+ 'getLeftFlatHeaders',
636
+ table_getLeftFlatHeaders,
637
+ ).filter((header) => !header.subHeaders.length)
638
+ }
639
+
640
+ /**
641
+ * Collects leaf headers for the right pinned region.
642
+ *
643
+ * Parent headers are filtered out from the right flat header list.
644
+ *
645
+ * @example
646
+ * ```ts
647
+ * const headers = table_getRightLeafHeaders(table)
648
+ * ```
649
+ */
650
+ export function table_getRightLeafHeaders<
651
+ TFeatures extends TableFeatures,
652
+ TData extends RowData,
653
+ >(table: Table_Internal<TFeatures, TData>) {
654
+ return callMemoOrStaticFn(
655
+ table,
656
+ 'getRightFlatHeaders',
657
+ table_getRightFlatHeaders,
658
+ ).filter((header) => !header.subHeaders.length)
659
+ }
660
+
661
+ /**
662
+ * Collects leaf headers for the center, unpinned region.
663
+ *
664
+ * Parent headers are filtered out from the center flat header list.
665
+ *
666
+ * @example
667
+ * ```ts
668
+ * const headers = table_getCenterLeafHeaders(table)
669
+ * ```
670
+ */
671
+ export function table_getCenterLeafHeaders<
672
+ TFeatures extends TableFeatures,
673
+ TData extends RowData,
674
+ >(table: Table_Internal<TFeatures, TData>) {
675
+ return callMemoOrStaticFn(
676
+ table,
677
+ 'getCenterFlatHeaders',
678
+ table_getCenterFlatHeaders,
679
+ ).filter((header) => !header.subHeaders.length)
680
+ }
681
+
682
+ // leaf columns
683
+
684
+ /**
685
+ * Resolves leaf columns pinned to the left region.
686
+ *
687
+ * The result follows `state.columnPinning.left` order and skips stale ids that
688
+ * no longer correspond to a leaf column.
689
+ *
690
+ * @example
691
+ * ```ts
692
+ * const columns = table_getLeftLeafColumns(table)
693
+ * ```
694
+ */
695
+ export function table_getLeftLeafColumns<
696
+ TFeatures extends TableFeatures,
697
+ TData extends RowData,
698
+ >(table: Table_Internal<TFeatures, TData>) {
699
+ const { left } =
700
+ table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
701
+ const leafColumnsById = table.getAllLeafColumnsById()
702
+ const result: Array<Column_Internal<TFeatures, TData, unknown>> = []
703
+ for (let i = 0; i < left.length; i++) {
704
+ const column = leafColumnsById[left[i]!]
705
+ if (column) result.push(column)
706
+ }
707
+ return result
708
+ }
709
+
710
+ /**
711
+ * Resolves leaf columns pinned to the right region.
712
+ *
713
+ * The result follows `state.columnPinning.right` order and skips stale ids that
714
+ * no longer correspond to a leaf column.
715
+ *
716
+ * @example
717
+ * ```ts
718
+ * const columns = table_getRightLeafColumns(table)
719
+ * ```
720
+ */
721
+ export function table_getRightLeafColumns<
722
+ TFeatures extends TableFeatures,
723
+ TData extends RowData,
724
+ >(table: Table_Internal<TFeatures, TData>) {
725
+ const { right } =
726
+ table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
727
+ const leafColumnsById = table.getAllLeafColumnsById()
728
+ const result: Array<Column_Internal<TFeatures, TData, unknown>> = []
729
+ for (let i = 0; i < right.length; i++) {
730
+ const column = leafColumnsById[right[i]!]
731
+ if (column) result.push(column)
732
+ }
733
+ return result
734
+ }
735
+
736
+ /**
737
+ * Resolves leaf columns that are not pinned to either side.
738
+ *
739
+ * Left- and right-pinned ids are removed from `table.getAllLeafColumns()`.
740
+ *
741
+ * @example
742
+ * ```ts
743
+ * const columns = table_getCenterLeafColumns(table)
744
+ * ```
745
+ */
746
+ export function table_getCenterLeafColumns<
747
+ TFeatures extends TableFeatures,
748
+ TData extends RowData,
749
+ >(table: Table_Internal<TFeatures, TData>) {
750
+ const { left, right } =
751
+ table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()
752
+ const leftAndRight: Array<string> = [...left, ...right]
753
+ return table.getAllLeafColumns().filter((d) => !leftAndRight.includes(d.id))
754
+ }
755
+
756
+ /**
757
+ * Resolves leaf columns for a requested pinning region.
758
+ *
759
+ * Pass `'left'`, `'center'`, or `'right'` for a partition, or pass `false` to
760
+ * read all leaf columns without partitioning.
761
+ *
762
+ * @example
763
+ * ```ts
764
+ * const columns = table_getPinnedLeafColumns(table, 'center')
765
+ * ```
766
+ */
767
+ export function table_getPinnedLeafColumns<
768
+ TFeatures extends TableFeatures,
769
+ TData extends RowData,
770
+ >(
771
+ table: Table_Internal<TFeatures, TData>,
772
+ position: ColumnPinningPosition | 'center',
773
+ ) {
774
+ return !position
775
+ ? table.getAllLeafColumns()
776
+ : position === 'left'
777
+ ? callMemoOrStaticFn(
778
+ table,
779
+ 'getLeftLeafColumns',
780
+ table_getLeftLeafColumns,
781
+ )
782
+ : position === 'right'
783
+ ? callMemoOrStaticFn(
784
+ table,
785
+ 'getRightLeafColumns',
786
+ table_getRightLeafColumns,
787
+ )
788
+ : callMemoOrStaticFn(
789
+ table,
790
+ 'getCenterLeafColumns',
791
+ table_getCenterLeafColumns,
792
+ )
793
+ }
794
+
795
+ // visible leaf columns
796
+
797
+ /**
798
+ * Resolves visible leaf columns pinned to the left region.
799
+ *
800
+ * Hidden pinned columns are filtered out after the left pin order is applied.
801
+ *
802
+ * @example
803
+ * ```ts
804
+ * const columns = table_getLeftVisibleLeafColumns(table)
805
+ * ```
806
+ */
807
+ export function table_getLeftVisibleLeafColumns<
808
+ TFeatures extends TableFeatures,
809
+ TData extends RowData,
810
+ >(table: Table_Internal<TFeatures, TData>) {
811
+ return callMemoOrStaticFn(
812
+ table,
813
+ 'getLeftLeafColumns',
814
+ table_getLeftLeafColumns,
815
+ ).filter((column) =>
816
+ callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),
817
+ )
818
+ }
819
+
820
+ /**
821
+ * Resolves visible leaf columns pinned to the right region.
822
+ *
823
+ * Hidden pinned columns are filtered out after the right pin order is applied.
824
+ *
825
+ * @example
826
+ * ```ts
827
+ * const columns = table_getRightVisibleLeafColumns(table)
828
+ * ```
829
+ */
830
+ export function table_getRightVisibleLeafColumns<
831
+ TFeatures extends TableFeatures,
832
+ TData extends RowData,
833
+ >(table: Table_Internal<TFeatures, TData>) {
834
+ return callMemoOrStaticFn(
835
+ table,
836
+ 'getRightLeafColumns',
837
+ table_getRightLeafColumns,
838
+ ).filter((column) =>
839
+ callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),
840
+ )
841
+ }
842
+
843
+ /**
844
+ * Resolves visible leaf columns that are not pinned.
845
+ *
846
+ * This is the center partition used by layouts that render pinned columns
847
+ * separately from the scrollable middle region.
848
+ *
849
+ * @example
850
+ * ```ts
851
+ * const columns = table_getCenterVisibleLeafColumns(table)
852
+ * ```
853
+ */
854
+ export function table_getCenterVisibleLeafColumns<
855
+ TFeatures extends TableFeatures,
856
+ TData extends RowData,
857
+ >(table: Table_Internal<TFeatures, TData>) {
858
+ return callMemoOrStaticFn(
859
+ table,
860
+ 'getCenterLeafColumns',
861
+ table_getCenterLeafColumns,
862
+ ).filter((column) =>
863
+ callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),
864
+ )
865
+ }
866
+
867
+ /**
868
+ * Resolves visible leaf columns for a requested pinning region.
869
+ *
870
+ * Omit `position` to get all visible leaf columns, or pass `'left'`, `'center'`,
871
+ * or `'right'` to get one partition.
872
+ *
873
+ * @example
874
+ * ```ts
875
+ * const columns = table_getPinnedVisibleLeafColumns(table, 'left')
876
+ * ```
877
+ */
878
+ export function table_getPinnedVisibleLeafColumns<
879
+ TFeatures extends TableFeatures,
880
+ TData extends RowData,
881
+ >(
882
+ table: Table_Internal<TFeatures, TData>,
883
+ position?: ColumnPinningPosition | 'center',
884
+ ) {
885
+ return !position
886
+ ? callMemoOrStaticFn(
887
+ table,
888
+ 'getVisibleLeafColumns',
889
+ table_getVisibleLeafColumns,
890
+ )
891
+ : position === 'left'
892
+ ? callMemoOrStaticFn(
893
+ table,
894
+ 'getLeftVisibleLeafColumns',
895
+ table_getLeftVisibleLeafColumns,
896
+ )
897
+ : position === 'right'
898
+ ? callMemoOrStaticFn(
899
+ table,
900
+ 'getRightVisibleLeafColumns',
901
+ table_getRightVisibleLeafColumns,
902
+ )
903
+ : callMemoOrStaticFn(
904
+ table,
905
+ 'getCenterVisibleLeafColumns',
906
+ table_getCenterVisibleLeafColumns,
907
+ )
908
+ }