@tanstack/table-core 9.0.0-alpha.8 → 9.0.0-beta.10

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 (862) 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 +21 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +10 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +10 -0
  12. package/dist/core/cells/coreCellsFeature.js +21 -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 +70 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +10 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +10 -0
  32. package/dist/core/columns/coreColumnsFeature.js +70 -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 +55 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +10 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +10 -0
  64. package/dist/core/headers/coreHeadersFeature.js +55 -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 +27 -0
  83. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.d.cts +10 -0
  85. package/dist/core/row-models/coreRowModelsFeature.d.ts +10 -0
  86. package/dist/core/row-models/coreRowModelsFeature.js +27 -0
  87. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  88. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +33 -0
  89. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +33 -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 +37 -0
  109. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.d.cts +10 -0
  111. package/dist/core/rows/coreRowsFeature.d.ts +10 -0
  112. package/dist/core/rows/coreRowsFeature.js +37 -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 +133 -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 +132 -0
  127. package/dist/core/table/constructTable.js.map +1 -0
  128. package/dist/core/table/coreTablesFeature.cjs +17 -0
  129. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.d.cts +10 -0
  131. package/dist/core/table/coreTablesFeature.d.ts +10 -0
  132. package/dist/core/table/coreTablesFeature.js +17 -0
  133. package/dist/core/table/coreTablesFeature.js.map +1 -0
  134. package/dist/core/table/coreTablesFeature.types.d.cts +198 -0
  135. package/dist/core/table/coreTablesFeature.types.d.ts +198 -0
  136. package/dist/core/table/coreTablesFeature.utils.cjs +95 -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 +92 -0
  141. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.cjs +61 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.d.cts +10 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.d.ts +10 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.js +61 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +64 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +64 -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 +50 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.js +50 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +174 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +174 -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 +112 -0
  189. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  190. package/dist/features/column-filtering/createFilteredRowModel.d.cts +18 -0
  191. package/dist/features/column-filtering/createFilteredRowModel.d.ts +18 -0
  192. package/dist/features/column-filtering/createFilteredRowModel.js +112 -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 +67 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.d.cts +10 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.d.ts +10 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.js +67 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +169 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +169 -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 +122 -0
  213. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  214. package/dist/features/column-grouping/createGroupedRowModel.d.cts +19 -0
  215. package/dist/features/column-grouping/createGroupedRowModel.d.ts +19 -0
  216. package/dist/features/column-grouping/createGroupedRowModel.js +122 -0
  217. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.cjs +58 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.d.cts +10 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.d.ts +10 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.js +58 -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 +221 -0
  233. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.d.cts +10 -0
  235. package/dist/features/column-pinning/columnPinningFeature.d.ts +10 -0
  236. package/dist/features/column-pinning/columnPinningFeature.js +221 -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 +41 -0
  247. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.d.cts +10 -0
  249. package/dist/features/column-resizing/columnResizingFeature.d.ts +10 -0
  250. package/dist/features/column-resizing/columnResizingFeature.js +41 -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 +124 -0
  261. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -0
  263. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -0
  264. package/dist/features/column-sizing/columnSizingFeature.js +124 -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 +94 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +10 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +10 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.js +94 -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 +41 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.d.cts +10 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.d.ts +10 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.js +41 -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 +74 -0
  299. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +74 -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 +47 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.d.cts +10 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.d.ts +10 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.js +47 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +118 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +118 -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 +45 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.d.cts +10 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.d.ts +10 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.js +45 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +126 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +126 -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 +67 -0
  343. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.d.cts +10 -0
  345. package/dist/features/row-pinning/rowPinningFeature.d.ts +10 -0
  346. package/dist/features/row-pinning/rowPinningFeature.js +67 -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 +75 -0
  357. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.d.cts +10 -0
  359. package/dist/features/row-selection/rowSelectionFeature.d.ts +10 -0
  360. package/dist/features/row-selection/rowSelectionFeature.js +75 -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 +518 -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 +493 -0
  369. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  370. package/dist/features/row-sorting/createSortedRowModel.cjs +97 -0
  371. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  372. package/dist/features/row-sorting/createSortedRowModel.d.cts +18 -0
  373. package/dist/features/row-sorting/createSortedRowModel.d.ts +18 -0
  374. package/dist/features/row-sorting/createSortedRowModel.js +97 -0
  375. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  376. package/dist/features/row-sorting/rowSortingFeature.cjs +55 -0
  377. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.d.cts +10 -0
  379. package/dist/features/row-sorting/rowSortingFeature.d.ts +10 -0
  380. package/dist/features/row-sorting/rowSortingFeature.js +55 -0
  381. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  382. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +191 -0
  383. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +191 -0
  384. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +305 -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 +291 -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 +85 -0
  405. package/dist/fns/aggregationFns.d.ts +85 -0
  406. package/dist/fns/aggregationFns.js +151 -0
  407. package/dist/fns/aggregationFns.js.map +1 -0
  408. package/dist/fns/filterFns.cjs +201 -0
  409. package/dist/fns/filterFns.cjs.map +1 -0
  410. package/dist/fns/filterFns.d.cts +167 -0
  411. package/dist/fns/filterFns.d.ts +167 -0
  412. package/dist/fns/filterFns.js +185 -0
  413. package/dist/fns/filterFns.js.map +1 -0
  414. package/dist/fns/sortFns.cjs +130 -0
  415. package/dist/fns/sortFns.cjs.map +1 -0
  416. package/dist/fns/sortFns.d.cts +65 -0
  417. package/dist/fns/sortFns.d.ts +65 -0
  418. package/dist/fns/sortFns.js +122 -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/metaHelper.cjs +30 -0
  427. package/dist/helpers/metaHelper.cjs.map +1 -0
  428. package/dist/helpers/metaHelper.d.cts +26 -0
  429. package/dist/helpers/metaHelper.d.ts +26 -0
  430. package/dist/helpers/metaHelper.js +29 -0
  431. package/dist/helpers/metaHelper.js.map +1 -0
  432. package/dist/helpers/tableFeatures.cjs +48 -0
  433. package/dist/helpers/tableFeatures.cjs.map +1 -0
  434. package/dist/helpers/tableFeatures.d.cts +46 -0
  435. package/dist/helpers/tableFeatures.d.ts +46 -0
  436. package/dist/helpers/tableFeatures.js +47 -0
  437. package/dist/helpers/tableFeatures.js.map +1 -0
  438. package/dist/helpers/tableOptions.cjs +15 -0
  439. package/dist/helpers/tableOptions.cjs.map +1 -0
  440. package/dist/helpers/tableOptions.d.cts +57 -0
  441. package/dist/helpers/tableOptions.d.ts +57 -0
  442. package/dist/helpers/tableOptions.js +14 -0
  443. package/dist/helpers/tableOptions.js.map +1 -0
  444. package/dist/index.cjs +135 -0
  445. package/dist/index.d.cts +79 -0
  446. package/dist/index.d.ts +79 -0
  447. package/dist/index.js +47 -0
  448. package/dist/reactivity.cjs +4 -0
  449. package/dist/reactivity.d.cts +3 -0
  450. package/dist/reactivity.d.ts +3 -0
  451. package/dist/reactivity.js +3 -0
  452. package/dist/static-functions.cjs +263 -0
  453. package/dist/static-functions.d.cts +21 -0
  454. package/dist/static-functions.d.ts +21 -0
  455. package/dist/static-functions.js +22 -0
  456. package/dist/store-reactivity-bindings.cjs +44 -0
  457. package/dist/store-reactivity-bindings.cjs.map +1 -0
  458. package/dist/store-reactivity-bindings.d.cts +22 -0
  459. package/dist/store-reactivity-bindings.d.ts +22 -0
  460. package/dist/store-reactivity-bindings.js +43 -0
  461. package/dist/store-reactivity-bindings.js.map +1 -0
  462. package/dist/types/Cell.d.cts +14 -0
  463. package/dist/types/Cell.d.ts +14 -0
  464. package/dist/types/Column.d.cts +36 -0
  465. package/dist/types/Column.d.ts +36 -0
  466. package/dist/types/ColumnDef.d.cts +123 -0
  467. package/dist/types/ColumnDef.d.ts +123 -0
  468. package/dist/types/Header.d.cts +16 -0
  469. package/dist/types/Header.d.ts +16 -0
  470. package/dist/types/HeaderGroup.d.cts +10 -0
  471. package/dist/types/HeaderGroup.d.ts +10 -0
  472. package/dist/types/Row.d.cts +26 -0
  473. package/dist/types/Row.d.ts +26 -0
  474. package/dist/types/RowModel.d.cts +26 -0
  475. package/dist/types/RowModel.d.ts +26 -0
  476. package/dist/types/RowModelFns.d.cts +18 -0
  477. package/dist/types/RowModelFns.d.ts +18 -0
  478. package/dist/types/Table.d.cts +69 -0
  479. package/dist/types/Table.d.ts +69 -0
  480. package/dist/types/TableFeatures.d.cts +214 -0
  481. package/dist/types/TableFeatures.d.ts +214 -0
  482. package/dist/types/TableOptions.d.cts +69 -0
  483. package/dist/types/TableOptions.d.ts +69 -0
  484. package/dist/types/TableState.d.cts +48 -0
  485. package/dist/types/TableState.d.ts +48 -0
  486. package/dist/types/type-utils.d.cts +23 -0
  487. package/dist/types/type-utils.d.ts +23 -0
  488. package/dist/utils.cjs +243 -0
  489. package/dist/utils.cjs.map +1 -0
  490. package/dist/utils.d.cts +114 -0
  491. package/dist/utils.d.ts +114 -0
  492. package/dist/utils.js +232 -0
  493. package/dist/utils.js.map +1 -0
  494. package/package.json +43 -16
  495. package/skills/column-definitions/SKILL.md +330 -0
  496. package/skills/column-layout/SKILL.md +326 -0
  497. package/skills/column-layout/references/subsystems.md +220 -0
  498. package/skills/customizing-feature-behavior/SKILL.md +423 -0
  499. package/skills/filtering/SKILL.md +375 -0
  500. package/skills/filtering/references/faceting-and-fuzzy.md +218 -0
  501. package/skills/grouping/SKILL.md +443 -0
  502. package/skills/migrate-v8-to-v9/SKILL.md +492 -0
  503. package/skills/pagination/SKILL.md +387 -0
  504. package/skills/row-expanding/SKILL.md +356 -0
  505. package/skills/row-pinning/SKILL.md +273 -0
  506. package/skills/row-selection/SKILL.md +388 -0
  507. package/skills/setup/SKILL.md +390 -0
  508. package/skills/sorting/SKILL.md +344 -0
  509. package/skills/state-management/SKILL.md +403 -0
  510. package/src/core/cells/constructCell.ts +55 -0
  511. package/src/core/cells/coreCellsFeature.ts +27 -0
  512. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  513. package/src/core/cells/coreCellsFeature.utils.ts +68 -0
  514. package/src/core/columns/constructColumn.ts +119 -0
  515. package/src/core/columns/coreColumnsFeature.ts +73 -0
  516. package/src/core/columns/coreColumnsFeature.types.ts +108 -0
  517. package/src/core/columns/coreColumnsFeature.utils.ts +275 -0
  518. package/src/core/coreFeatures.ts +31 -0
  519. package/src/core/headers/buildHeaderGroups.ts +182 -0
  520. package/src/core/headers/constructHeader.ts +67 -0
  521. package/src/core/headers/coreHeadersFeature.ts +56 -0
  522. package/src/core/headers/coreHeadersFeature.types.ts +125 -0
  523. package/src/core/headers/coreHeadersFeature.utils.ts +200 -0
  524. package/src/core/reactivity/coreReactivityFeature.types.ts +56 -0
  525. package/src/core/reactivity/coreReactivityFeature.utils.ts +44 -0
  526. package/src/core/row-models/coreRowModelsFeature.ts +62 -0
  527. package/src/core/row-models/coreRowModelsFeature.types.ts +51 -0
  528. package/src/core/row-models/coreRowModelsFeature.utils.ts +272 -0
  529. package/src/core/row-models/createCoreRowModel.ts +93 -0
  530. package/src/core/rows/constructRow.ts +66 -0
  531. package/src/core/rows/coreRowsFeature.ts +62 -0
  532. package/src/core/rows/coreRowsFeature.types.ts +117 -0
  533. package/src/core/rows/coreRowsFeature.utils.ts +264 -0
  534. package/src/core/table/constructTable.ts +206 -0
  535. package/src/core/table/coreTablesFeature.ts +19 -0
  536. package/src/core/table/coreTablesFeature.types.ts +239 -0
  537. package/src/core/table/coreTablesFeature.utils.ts +130 -0
  538. package/src/features/column-faceting/columnFacetingFeature.ts +89 -0
  539. package/src/features/column-faceting/columnFacetingFeature.types.ts +76 -0
  540. package/src/features/column-faceting/columnFacetingFeature.utils.ts +145 -0
  541. package/src/features/column-faceting/createFacetedMinMaxValues.ts +66 -0
  542. package/src/features/column-faceting/createFacetedRowModel.ts +85 -0
  543. package/src/features/column-faceting/createFacetedUniqueValues.ts +66 -0
  544. package/src/features/column-filtering/columnFilteringFeature.ts +86 -0
  545. package/src/features/column-filtering/columnFilteringFeature.types.ts +248 -0
  546. package/src/features/column-filtering/columnFilteringFeature.utils.ts +331 -0
  547. package/src/features/column-filtering/createFilteredRowModel.ts +181 -0
  548. package/src/features/column-filtering/filterRowsUtils.ts +157 -0
  549. package/src/features/column-grouping/columnGroupingFeature.ts +115 -0
  550. package/src/features/column-grouping/columnGroupingFeature.types.ts +227 -0
  551. package/src/features/column-grouping/columnGroupingFeature.utils.ts +354 -0
  552. package/src/features/column-grouping/createGroupedRowModel.ts +216 -0
  553. package/src/features/column-ordering/columnOrderingFeature.ts +73 -0
  554. package/src/features/column-ordering/columnOrderingFeature.types.ts +60 -0
  555. package/src/features/column-ordering/columnOrderingFeature.utils.ts +241 -0
  556. package/src/features/column-pinning/columnPinningFeature.ts +316 -0
  557. package/src/features/column-pinning/columnPinningFeature.types.ts +192 -0
  558. package/src/features/column-pinning/columnPinningFeature.utils.ts +908 -0
  559. package/src/features/column-resizing/columnResizingFeature.ts +65 -0
  560. package/src/features/column-resizing/columnResizingFeature.types.ts +89 -0
  561. package/src/features/column-resizing/columnResizingFeature.utils.ts +364 -0
  562. package/src/features/column-sizing/columnSizingFeature.ts +145 -0
  563. package/src/features/column-sizing/columnSizingFeature.types.ts +102 -0
  564. package/src/features/column-sizing/columnSizingFeature.utils.ts +381 -0
  565. package/src/features/column-visibility/columnVisibilityFeature.ts +122 -0
  566. package/src/features/column-visibility/columnVisibilityFeature.types.ts +112 -0
  567. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +384 -0
  568. package/src/features/global-filtering/globalFilteringFeature.ts +65 -0
  569. package/src/features/global-filtering/globalFilteringFeature.types.ts +91 -0
  570. package/src/features/global-filtering/globalFilteringFeature.utils.ts +118 -0
  571. package/src/features/row-expanding/createExpandedRowModel.ts +82 -0
  572. package/src/features/row-expanding/rowExpandingFeature.ts +94 -0
  573. package/src/features/row-expanding/rowExpandingFeature.types.ts +133 -0
  574. package/src/features/row-expanding/rowExpandingFeature.utils.ts +374 -0
  575. package/src/features/row-pagination/createPaginatedRowModel.ts +83 -0
  576. package/src/features/row-pagination/rowPaginationFeature.ts +95 -0
  577. package/src/features/row-pagination/rowPaginationFeature.types.ts +138 -0
  578. package/src/features/row-pagination/rowPaginationFeature.utils.ts +400 -0
  579. package/src/features/row-pinning/rowPinningFeature.ts +97 -0
  580. package/src/features/row-pinning/rowPinningFeature.types.ts +95 -0
  581. package/src/features/row-pinning/rowPinningFeature.utils.ts +323 -0
  582. package/src/features/row-selection/rowSelectionFeature.ts +140 -0
  583. package/src/features/row-selection/rowSelectionFeature.types.ts +151 -0
  584. package/src/features/row-selection/rowSelectionFeature.utils.ts +750 -0
  585. package/src/features/row-sorting/createSortedRowModel.ts +157 -0
  586. package/src/features/row-sorting/rowSortingFeature.ts +103 -0
  587. package/src/features/row-sorting/rowSortingFeature.types.ts +236 -0
  588. package/src/features/row-sorting/rowSortingFeature.utils.ts +489 -0
  589. package/src/features/stockFeatures.ts +53 -0
  590. package/src/flex-render.ts +70 -0
  591. package/src/fns/aggregationFns.ts +245 -0
  592. package/src/fns/filterFns.ts +382 -0
  593. package/src/fns/sortFns.ts +240 -0
  594. package/src/helpers/columnHelper.ts +122 -0
  595. package/src/helpers/metaHelper.ts +24 -0
  596. package/src/helpers/tableFeatures.ts +55 -0
  597. package/src/helpers/tableOptions.ts +117 -0
  598. package/src/index.ts +138 -42
  599. package/src/process-env.d.ts +6 -0
  600. package/src/reactivity.ts +2 -0
  601. package/src/static-functions.ts +31 -0
  602. package/src/store-reactivity-bindings.ts +47 -0
  603. package/src/types/Cell.ts +21 -0
  604. package/src/types/Column.ts +51 -0
  605. package/src/types/ColumnDef.ts +254 -0
  606. package/src/types/Header.ts +23 -0
  607. package/src/types/HeaderGroup.ts +13 -0
  608. package/src/types/Row.ts +34 -0
  609. package/src/types/RowModel.ts +47 -0
  610. package/src/types/RowModelFns.ts +32 -0
  611. package/src/types/Table.ts +90 -0
  612. package/src/types/TableFeatures.ts +295 -0
  613. package/src/types/TableOptions.ts +108 -0
  614. package/src/types/TableState.ts +47 -0
  615. package/src/types/type-utils.ts +84 -0
  616. package/src/utils.ts +389 -167
  617. package/dist/cjs/aggregationFns.cjs +0 -94
  618. package/dist/cjs/aggregationFns.cjs.map +0 -1
  619. package/dist/cjs/aggregationFns.d.cts +0 -14
  620. package/dist/cjs/columnHelper.cjs +0 -19
  621. package/dist/cjs/columnHelper.cjs.map +0 -1
  622. package/dist/cjs/columnHelper.d.cts +0 -9
  623. package/dist/cjs/core/cell.cjs +0 -38
  624. package/dist/cjs/core/cell.cjs.map +0 -1
  625. package/dist/cjs/core/cell.d.cts +0 -50
  626. package/dist/cjs/core/column.cjs +0 -81
  627. package/dist/cjs/core/column.cjs.map +0 -1
  628. package/dist/cjs/core/column.d.cts +0 -56
  629. package/dist/cjs/core/headers.cjs +0 -310
  630. package/dist/cjs/core/headers.cjs.map +0 -1
  631. package/dist/cjs/core/headers.d.cts +0 -195
  632. package/dist/cjs/core/row.cjs +0 -92
  633. package/dist/cjs/core/row.cjs.map +0 -1
  634. package/dist/cjs/core/row.d.cts +0 -92
  635. package/dist/cjs/core/table.cjs +0 -232
  636. package/dist/cjs/core/table.cjs.map +0 -1
  637. package/dist/cjs/core/table.d.cts +0 -229
  638. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  639. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  640. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  641. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  642. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  643. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  644. package/dist/cjs/features/ColumnGrouping.cjs +0 -133
  645. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  646. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  647. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  648. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  649. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  650. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  651. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  652. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  653. package/dist/cjs/features/ColumnSizing.cjs +0 -307
  654. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  655. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  656. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  657. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  658. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  659. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  660. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  661. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  662. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  663. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  664. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  665. package/dist/cjs/features/RowExpanding.cjs +0 -152
  666. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  667. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  668. package/dist/cjs/features/RowPagination.cjs +0 -161
  669. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  670. package/dist/cjs/features/RowPagination.d.cts +0 -166
  671. package/dist/cjs/features/RowPinning.cjs +0 -132
  672. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  673. package/dist/cjs/features/RowPinning.d.cts +0 -99
  674. package/dist/cjs/features/RowSelection.cjs +0 -296
  675. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  676. package/dist/cjs/features/RowSelection.d.cts +0 -177
  677. package/dist/cjs/features/RowSorting.cjs +0 -200
  678. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  679. package/dist/cjs/features/RowSorting.d.cts +0 -238
  680. package/dist/cjs/filterFns.cjs +0 -88
  681. package/dist/cjs/filterFns.cjs.map +0 -1
  682. package/dist/cjs/filterFns.d.cts +0 -14
  683. package/dist/cjs/index.cjs +0 -88
  684. package/dist/cjs/index.cjs.map +0 -1
  685. package/dist/cjs/index.d.cts +0 -34
  686. package/dist/cjs/sortingFns.cjs +0 -91
  687. package/dist/cjs/sortingFns.cjs.map +0 -1
  688. package/dist/cjs/sortingFns.d.cts +0 -12
  689. package/dist/cjs/types.d.cts +0 -120
  690. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  691. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  692. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  693. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  694. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  695. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  696. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  697. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  698. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  699. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -35
  700. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  701. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  702. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  703. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  704. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  705. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -37
  706. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  707. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  708. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  709. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  710. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  711. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  712. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  713. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  714. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  715. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  716. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  717. package/dist/cjs/utils/getSortedRowModel.cjs +0 -88
  718. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  719. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  720. package/dist/cjs/utils.cjs +0 -98
  721. package/dist/cjs/utils.cjs.map +0 -1
  722. package/dist/cjs/utils.d.cts +0 -39
  723. package/dist/esm/aggregationFns.d.ts +0 -14
  724. package/dist/esm/aggregationFns.js +0 -94
  725. package/dist/esm/aggregationFns.js.map +0 -1
  726. package/dist/esm/columnHelper.d.ts +0 -9
  727. package/dist/esm/columnHelper.js +0 -19
  728. package/dist/esm/columnHelper.js.map +0 -1
  729. package/dist/esm/core/cell.d.ts +0 -50
  730. package/dist/esm/core/cell.js +0 -38
  731. package/dist/esm/core/cell.js.map +0 -1
  732. package/dist/esm/core/column.d.ts +0 -56
  733. package/dist/esm/core/column.js +0 -81
  734. package/dist/esm/core/column.js.map +0 -1
  735. package/dist/esm/core/headers.d.ts +0 -195
  736. package/dist/esm/core/headers.js +0 -310
  737. package/dist/esm/core/headers.js.map +0 -1
  738. package/dist/esm/core/row.d.ts +0 -92
  739. package/dist/esm/core/row.js +0 -92
  740. package/dist/esm/core/row.js.map +0 -1
  741. package/dist/esm/core/table.d.ts +0 -229
  742. package/dist/esm/core/table.js +0 -232
  743. package/dist/esm/core/table.js.map +0 -1
  744. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  745. package/dist/esm/features/ColumnFaceting.js +0 -29
  746. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  747. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  748. package/dist/esm/features/ColumnFiltering.js +0 -137
  749. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  750. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  751. package/dist/esm/features/ColumnGrouping.js +0 -133
  752. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  753. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  754. package/dist/esm/features/ColumnOrdering.js +0 -76
  755. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  756. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  757. package/dist/esm/features/ColumnPinning.js +0 -145
  758. package/dist/esm/features/ColumnPinning.js.map +0 -1
  759. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  760. package/dist/esm/features/ColumnSizing.js +0 -307
  761. package/dist/esm/features/ColumnSizing.js.map +0 -1
  762. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  763. package/dist/esm/features/ColumnVisibility.js +0 -144
  764. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  765. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  766. package/dist/esm/features/GlobalFaceting.js +0 -29
  767. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  768. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  769. package/dist/esm/features/GlobalFiltering.js +0 -50
  770. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  771. package/dist/esm/features/RowExpanding.d.ts +0 -155
  772. package/dist/esm/features/RowExpanding.js +0 -152
  773. package/dist/esm/features/RowExpanding.js.map +0 -1
  774. package/dist/esm/features/RowPagination.d.ts +0 -166
  775. package/dist/esm/features/RowPagination.js +0 -161
  776. package/dist/esm/features/RowPagination.js.map +0 -1
  777. package/dist/esm/features/RowPinning.d.ts +0 -99
  778. package/dist/esm/features/RowPinning.js +0 -132
  779. package/dist/esm/features/RowPinning.js.map +0 -1
  780. package/dist/esm/features/RowSelection.d.ts +0 -177
  781. package/dist/esm/features/RowSelection.js +0 -296
  782. package/dist/esm/features/RowSelection.js.map +0 -1
  783. package/dist/esm/features/RowSorting.d.ts +0 -238
  784. package/dist/esm/features/RowSorting.js +0 -200
  785. package/dist/esm/features/RowSorting.js.map +0 -1
  786. package/dist/esm/filterFns.d.ts +0 -14
  787. package/dist/esm/filterFns.js +0 -88
  788. package/dist/esm/filterFns.js.map +0 -1
  789. package/dist/esm/index.d.ts +0 -34
  790. package/dist/esm/index.js +0 -88
  791. package/dist/esm/index.js.map +0 -1
  792. package/dist/esm/sortingFns.d.ts +0 -12
  793. package/dist/esm/sortingFns.js +0 -91
  794. package/dist/esm/sortingFns.js.map +0 -1
  795. package/dist/esm/types.d.ts +0 -120
  796. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  797. package/dist/esm/utils/filterRowsUtils.js +0 -99
  798. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  799. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  800. package/dist/esm/utils/getCoreRowModel.js +0 -54
  801. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  802. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  803. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  804. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  805. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  806. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -35
  807. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  808. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  809. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  810. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  811. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  812. package/dist/esm/utils/getFacetedUniqueValues.js +0 -37
  813. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  814. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  815. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  816. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  817. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  818. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  819. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  820. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  821. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  822. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  823. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  824. package/dist/esm/utils/getSortedRowModel.js +0 -88
  825. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  826. package/dist/esm/utils.d.ts +0 -39
  827. package/dist/esm/utils.js +0 -98
  828. package/dist/esm/utils.js.map +0 -1
  829. package/src/aggregationFns.ts +0 -123
  830. package/src/columnHelper.ts +0 -91
  831. package/src/core/cell.ts +0 -91
  832. package/src/core/column.ts +0 -165
  833. package/src/core/headers.ts +0 -639
  834. package/src/core/row.ts +0 -201
  835. package/src/core/table.ts +0 -563
  836. package/src/features/ColumnFaceting.ts +0 -84
  837. package/src/features/ColumnFiltering.ts +0 -429
  838. package/src/features/ColumnGrouping.ts +0 -422
  839. package/src/features/ColumnOrdering.ts +0 -161
  840. package/src/features/ColumnPinning.ts +0 -336
  841. package/src/features/ColumnSizing.ts +0 -579
  842. package/src/features/ColumnVisibility.ts +0 -317
  843. package/src/features/GlobalFaceting.ts +0 -66
  844. package/src/features/GlobalFiltering.ts +0 -162
  845. package/src/features/RowExpanding.ts +0 -355
  846. package/src/features/RowPagination.ts +0 -396
  847. package/src/features/RowPinning.ts +0 -273
  848. package/src/features/RowSelection.ts +0 -668
  849. package/src/features/RowSorting.ts +0 -542
  850. package/src/filterFns.ts +0 -150
  851. package/src/sortingFns.ts +0 -128
  852. package/src/types.ts +0 -361
  853. package/src/utils/filterRowsUtils.ts +0 -130
  854. package/src/utils/getCoreRowModel.ts +0 -82
  855. package/src/utils/getExpandedRowModel.ts +0 -51
  856. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  857. package/src/utils/getFacetedRowModel.ts +0 -44
  858. package/src/utils/getFacetedUniqueValues.ts +0 -42
  859. package/src/utils/getFilteredRowModel.ts +0 -151
  860. package/src/utils/getGroupedRowModel.ts +0 -181
  861. package/src/utils/getPaginationRowModel.ts +0 -60
  862. 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 as any).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 as any).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
+ }