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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/dist/core/cells/constructCell.d.cts +3 -3
  2. package/dist/core/cells/constructCell.d.ts +3 -3
  3. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  4. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  5. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  6. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  7. package/dist/core/cells/coreCellsFeature.js +12 -20
  8. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
  13. package/dist/core/columns/constructColumn.cjs +5 -0
  14. package/dist/core/columns/constructColumn.cjs.map +1 -1
  15. package/dist/core/columns/constructColumn.d.cts +3 -3
  16. package/dist/core/columns/constructColumn.d.ts +3 -3
  17. package/dist/core/columns/constructColumn.js +5 -0
  18. package/dist/core/columns/constructColumn.js.map +1 -1
  19. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  20. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  22. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  23. package/dist/core/columns/coreColumnsFeature.js +60 -68
  24. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  26. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  27. package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
  28. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  29. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  30. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  31. package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
  32. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  33. package/dist/core/coreFeatures.cjs.map +1 -1
  34. package/dist/core/coreFeatures.d.cts +1 -1
  35. package/dist/core/coreFeatures.d.ts +1 -1
  36. package/dist/core/coreFeatures.js.map +1 -1
  37. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  38. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  39. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  40. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  41. package/dist/core/headers/constructHeader.d.cts +2 -2
  42. package/dist/core/headers/constructHeader.d.ts +2 -2
  43. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  44. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  45. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  46. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  47. package/dist/core/headers/coreHeadersFeature.js +45 -53
  48. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  49. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  50. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  52. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  53. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  54. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  55. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  56. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  58. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  59. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  60. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  61. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
  62. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  64. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  65. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
  66. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
  67. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  68. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  69. package/dist/core/row-models/createCoreRowModel.cjs +2 -3
  70. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  71. package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
  72. package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
  73. package/dist/core/row-models/createCoreRowModel.js +3 -4
  74. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  75. package/dist/core/rows/constructRow.cjs +3 -2
  76. package/dist/core/rows/constructRow.cjs.map +1 -1
  77. package/dist/core/rows/constructRow.d.cts +2 -2
  78. package/dist/core/rows/constructRow.d.ts +2 -2
  79. package/dist/core/rows/constructRow.js +4 -2
  80. package/dist/core/rows/constructRow.js.map +1 -1
  81. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  82. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  83. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  84. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  85. package/dist/core/rows/coreRowsFeature.js +28 -36
  86. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  87. package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
  88. package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
  89. package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
  90. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  91. package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
  92. package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
  93. package/dist/core/rows/coreRowsFeature.utils.js +4 -4
  94. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  95. package/dist/core/table/constructTable.cjs +21 -6
  96. package/dist/core/table/constructTable.cjs.map +1 -1
  97. package/dist/core/table/constructTable.d.cts +1 -1
  98. package/dist/core/table/constructTable.d.ts +1 -1
  99. package/dist/core/table/constructTable.js +21 -6
  100. package/dist/core/table/constructTable.js.map +1 -1
  101. package/dist/core/table/coreTablesFeature.cjs +7 -16
  102. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  103. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  104. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  105. package/dist/core/table/coreTablesFeature.js +8 -16
  106. package/dist/core/table/coreTablesFeature.js.map +1 -1
  107. package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
  108. package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
  109. package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
  110. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  111. package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
  112. package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
  113. package/dist/core/table/coreTablesFeature.utils.js +33 -12
  114. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  115. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  116. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  117. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  118. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  119. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  120. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  121. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  122. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  123. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  124. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  125. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
  126. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
  127. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  128. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  129. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  130. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  131. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  132. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  133. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  137. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  138. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  139. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  140. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  141. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  142. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  143. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  144. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  145. package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
  146. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  147. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  148. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  150. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  151. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
  152. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
  153. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  154. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  155. package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
  156. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  157. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  158. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  159. package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
  160. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  161. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  162. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  163. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  164. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  165. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  167. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  168. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  169. package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
  170. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  171. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +28 -21
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +28 -21
  173. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.js +5 -5
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  179. package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  181. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  182. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  183. package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
  184. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  185. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  187. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  188. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  189. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  190. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  192. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
  195. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  196. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  197. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  198. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  199. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  200. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  201. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  202. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  203. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
  205. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
  206. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  207. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  208. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  209. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  210. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  211. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  212. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
  216. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
  220. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  221. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  222. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  223. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  224. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  225. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  226. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
  228. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
  230. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
  232. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  234. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  235. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  236. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  237. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  238. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  239. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  240. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
  244. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
  245. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
  246. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  247. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  248. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  249. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  250. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  251. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  252. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  253. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  254. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  256. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
  257. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
  258. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  259. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  260. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  261. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  262. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  263. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  264. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  265. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  266. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  267. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  268. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  269. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  270. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  271. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
  272. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  273. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  274. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  275. package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
  276. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  277. package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
  278. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  279. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  280. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  281. package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
  282. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  283. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  284. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  285. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  286. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  287. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  288. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  289. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  290. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  291. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  292. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  293. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  294. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  295. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  296. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  297. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  298. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  299. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  300. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  301. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
  302. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  303. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  304. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  305. package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
  306. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  307. package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
  308. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  309. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  310. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  311. package/dist/features/row-selection/rowSelectionFeature.js +110 -78
  312. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  313. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
  314. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
  315. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
  316. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  317. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
  318. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
  319. package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
  320. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  321. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
  322. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  323. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  324. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  325. package/dist/features/row-sorting/createSortedRowModel.js +6 -4
  326. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  327. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  328. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  329. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  330. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  331. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  332. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  333. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
  334. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
  335. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  336. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  337. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  338. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  339. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  340. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  341. package/dist/fns/aggregationFns.cjs +18 -18
  342. package/dist/fns/aggregationFns.cjs.map +1 -1
  343. package/dist/fns/aggregationFns.d.cts +21 -19
  344. package/dist/fns/aggregationFns.d.ts +21 -19
  345. package/dist/fns/aggregationFns.js +18 -18
  346. package/dist/fns/aggregationFns.js.map +1 -1
  347. package/dist/fns/filterFns.cjs +51 -65
  348. package/dist/fns/filterFns.cjs.map +1 -1
  349. package/dist/fns/filterFns.d.cts +82 -28
  350. package/dist/fns/filterFns.d.ts +82 -28
  351. package/dist/fns/filterFns.js +51 -65
  352. package/dist/fns/filterFns.js.map +1 -1
  353. package/dist/fns/sortFns.cjs +18 -6
  354. package/dist/fns/sortFns.cjs.map +1 -1
  355. package/dist/fns/sortFns.d.cts +15 -13
  356. package/dist/fns/sortFns.d.ts +15 -13
  357. package/dist/fns/sortFns.js +18 -6
  358. package/dist/fns/sortFns.js.map +1 -1
  359. package/dist/helpers/columnHelper.cjs.map +1 -1
  360. package/dist/helpers/columnHelper.d.cts +2 -2
  361. package/dist/helpers/columnHelper.d.ts +2 -2
  362. package/dist/helpers/columnHelper.js.map +1 -1
  363. package/dist/helpers/metaHelper.cjs +30 -0
  364. package/dist/helpers/metaHelper.cjs.map +1 -0
  365. package/dist/helpers/metaHelper.d.cts +26 -0
  366. package/dist/helpers/metaHelper.d.ts +26 -0
  367. package/dist/helpers/metaHelper.js +29 -0
  368. package/dist/helpers/metaHelper.js.map +1 -0
  369. package/dist/helpers/tableFeatures.cjs +31 -3
  370. package/dist/helpers/tableFeatures.cjs.map +1 -1
  371. package/dist/helpers/tableFeatures.d.cts +33 -5
  372. package/dist/helpers/tableFeatures.d.ts +33 -5
  373. package/dist/helpers/tableFeatures.js +31 -3
  374. package/dist/helpers/tableFeatures.js.map +1 -1
  375. package/dist/index.cjs +4 -20
  376. package/dist/index.d.cts +50 -49
  377. package/dist/index.d.ts +50 -49
  378. package/dist/index.js +23 -22
  379. package/dist/static-functions.cjs +1 -0
  380. package/dist/static-functions.d.cts +2 -2
  381. package/dist/static-functions.d.ts +2 -2
  382. package/dist/static-functions.js +2 -2
  383. package/dist/store-reactivity-bindings.cjs +1 -1
  384. package/dist/store-reactivity-bindings.cjs.map +1 -1
  385. package/dist/store-reactivity-bindings.d.cts +1 -1
  386. package/dist/store-reactivity-bindings.d.ts +1 -1
  387. package/dist/store-reactivity-bindings.js +1 -1
  388. package/dist/store-reactivity-bindings.js.map +1 -1
  389. package/dist/types/Cell.d.cts +4 -9
  390. package/dist/types/Cell.d.ts +4 -9
  391. package/dist/types/Column.d.cts +11 -18
  392. package/dist/types/Column.d.ts +11 -18
  393. package/dist/types/ColumnDef.d.cts +23 -14
  394. package/dist/types/ColumnDef.d.ts +23 -14
  395. package/dist/types/Header.d.cts +5 -10
  396. package/dist/types/Header.d.ts +5 -10
  397. package/dist/types/HeaderGroup.d.cts +4 -9
  398. package/dist/types/HeaderGroup.d.ts +4 -9
  399. package/dist/types/Row.d.cts +7 -12
  400. package/dist/types/Row.d.ts +7 -12
  401. package/dist/types/RowModel.d.cts +12 -28
  402. package/dist/types/RowModel.d.ts +12 -28
  403. package/dist/types/RowModelFns.d.cts +6 -11
  404. package/dist/types/RowModelFns.d.ts +6 -11
  405. package/dist/types/Table.d.cts +26 -36
  406. package/dist/types/Table.d.ts +26 -36
  407. package/dist/types/TableFeatures.d.cts +328 -54
  408. package/dist/types/TableFeatures.d.ts +328 -54
  409. package/dist/types/TableOptions.d.cts +22 -17
  410. package/dist/types/TableOptions.d.ts +22 -17
  411. package/dist/types/TableState.d.cts +11 -16
  412. package/dist/types/TableState.d.ts +11 -16
  413. package/dist/utils.cjs +24 -2
  414. package/dist/utils.cjs.map +1 -1
  415. package/dist/utils.d.cts +23 -7
  416. package/dist/utils.d.ts +23 -7
  417. package/dist/utils.js +23 -3
  418. package/dist/utils.js.map +1 -1
  419. package/package.json +2 -2
  420. package/skills/column-definitions/SKILL.md +3 -6
  421. package/skills/column-layout/SKILL.md +0 -2
  422. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  423. package/skills/filtering/SKILL.md +60 -42
  424. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  425. package/skills/grouping/SKILL.md +49 -54
  426. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  427. package/skills/pagination/SKILL.md +22 -20
  428. package/skills/row-expanding/SKILL.md +33 -25
  429. package/skills/row-pinning/SKILL.md +11 -7
  430. package/skills/row-selection/SKILL.md +0 -3
  431. package/skills/setup/SKILL.md +55 -65
  432. package/skills/sorting/SKILL.md +21 -21
  433. package/skills/state-management/SKILL.md +40 -25
  434. package/src/core/cells/coreCellsFeature.ts +17 -39
  435. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  436. package/src/core/columns/constructColumn.ts +6 -0
  437. package/src/core/columns/coreColumnsFeature.ts +56 -83
  438. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  439. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  440. package/src/core/coreFeatures.ts +1 -1
  441. package/src/core/headers/buildHeaderGroups.ts +4 -2
  442. package/src/core/headers/coreHeadersFeature.ts +42 -64
  443. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  444. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  445. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  446. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  447. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  448. package/src/core/row-models/createCoreRowModel.ts +7 -6
  449. package/src/core/rows/constructRow.ts +3 -2
  450. package/src/core/rows/coreRowsFeature.ts +45 -72
  451. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  452. package/src/core/rows/coreRowsFeature.utils.ts +4 -4
  453. package/src/core/table/constructTable.ts +50 -13
  454. package/src/core/table/coreTablesFeature.ts +13 -35
  455. package/src/core/table/coreTablesFeature.types.ts +40 -17
  456. package/src/core/table/coreTablesFeature.utils.ts +52 -18
  457. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  458. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  459. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  460. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  461. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  462. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  463. package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
  464. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  465. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  466. package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
  467. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  468. package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
  469. package/src/features/column-grouping/columnGroupingFeature.types.ts +42 -34
  470. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -2
  471. package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
  472. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  473. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  474. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  475. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  476. package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
  477. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  478. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  479. package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
  480. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  481. package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
  482. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  483. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  484. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
  485. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  486. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  487. package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
  488. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  489. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  490. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  491. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  492. package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
  493. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  494. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  495. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  496. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  497. package/src/features/row-selection/rowSelectionFeature.ts +125 -135
  498. package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
  499. package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
  500. package/src/features/row-sorting/createSortedRowModel.ts +12 -15
  501. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  502. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  503. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  504. package/src/fns/aggregationFns.ts +26 -42
  505. package/src/fns/filterFns.ts +237 -264
  506. package/src/fns/sortFns.ts +51 -29
  507. package/src/helpers/columnHelper.ts +4 -4
  508. package/src/helpers/metaHelper.ts +24 -0
  509. package/src/helpers/tableFeatures.ts +36 -5
  510. package/src/index.ts +1 -0
  511. package/src/store-reactivity-bindings.ts +1 -1
  512. package/src/types/Cell.ts +5 -21
  513. package/src/types/Column.ts +12 -26
  514. package/src/types/ColumnDef.ts +28 -18
  515. package/src/types/Header.ts +4 -20
  516. package/src/types/HeaderGroup.ts +7 -18
  517. package/src/types/Row.ts +6 -21
  518. package/src/types/RowModel.ts +15 -88
  519. package/src/types/RowModelFns.ts +9 -24
  520. package/src/types/Table.ts +54 -44
  521. package/src/types/TableFeatures.ts +402 -123
  522. package/src/types/TableOptions.ts +59 -21
  523. package/src/types/TableState.ts +5 -17
  524. package/src/utils.ts +40 -8
@@ -20,140 +20,103 @@ import {
20
20
  table_setColumnVisibility,
21
21
  table_toggleAllColumnsVisible,
22
22
  } from './columnVisibilityFeature.utils'
23
- import type { RowData } from '../../types/type-utils'
24
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
25
- // import type {
26
- // ColumnDef_ColumnVisibility,
27
- // Column_ColumnVisibility,
28
- // Row_ColumnVisibility,
29
- // TableOptions_ColumnVisibility,
30
- // TableState_ColumnVisibility,
31
- // Table_ColumnVisibility,
32
- // } from './columnVisibilityFeature.types'
33
-
34
- export interface ColumnVisibilityFeatureConstructors<
35
- TFeatures extends TableFeatures,
36
- TData extends RowData,
37
- > {
38
- // ColumnDef: ColumnDef_ColumnVisibility
39
- // Column: Column_ColumnVisibility
40
- // Row: Row_ColumnVisibility<TFeatures, TData>
41
- // Table: Table_ColumnVisibility<TFeatures, TData>
42
- // TableOptions: TableOptions_ColumnVisibility
43
- // TableState: TableState_ColumnVisibility
44
- }
23
+ import type { TableFeature } from '../../types/TableFeatures'
45
24
 
46
25
  /**
47
- * Creates the stock column visibility feature.
48
- *
49
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
26
+ * Feature that adds column visibility state and APIs for hiding and showing columns.
50
27
  */
51
- export function constructColumnVisibilityFeature<
52
- TFeatures extends TableFeatures,
53
- TData extends RowData,
54
- >(): TableFeature<ColumnVisibilityFeatureConstructors<TFeatures, TData>> {
55
- return {
56
- getInitialState: (initialState) => {
57
- return {
58
- columnVisibility: getDefaultColumnVisibilityState(),
59
- ...initialState,
60
- }
61
- },
28
+ export const columnVisibilityFeature: TableFeature = {
29
+ getInitialState: (initialState) => {
30
+ return {
31
+ columnVisibility: getDefaultColumnVisibilityState(),
32
+ ...initialState,
33
+ }
34
+ },
62
35
 
63
- getDefaultTableOptions: (table) => {
64
- return {
65
- onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),
66
- }
67
- },
36
+ getDefaultTableOptions: (table) => {
37
+ return {
38
+ onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),
39
+ }
40
+ },
68
41
 
69
- assignColumnPrototype: (prototype, table) => {
70
- assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
71
- column_getIsVisible: {
72
- fn: (column) => column_getIsVisible(column),
73
- memoDeps: (column) => [
74
- table.options.columns,
75
- table.atoms.columnVisibility?.get(),
76
- column.columns,
77
- ],
78
- },
79
- column_getCanHide: {
80
- fn: (column) => column_getCanHide(column),
81
- },
82
- column_getToggleVisibilityHandler: {
83
- fn: (column) => column_getToggleVisibilityHandler(column),
84
- },
85
- column_toggleVisibility: {
86
- fn: (column, visible) => column_toggleVisibility(column, visible),
87
- },
88
- })
89
- },
42
+ assignColumnPrototype: (prototype, table) => {
43
+ assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
44
+ column_getIsVisible: {
45
+ fn: (column) => column_getIsVisible(column),
46
+ memoDeps: (column) => [
47
+ table.options.columns,
48
+ table.atoms.columnVisibility?.get(),
49
+ column.columns,
50
+ ],
51
+ },
52
+ column_getCanHide: {
53
+ fn: (column) => column_getCanHide(column),
54
+ },
55
+ column_getToggleVisibilityHandler: {
56
+ fn: (column) => column_getToggleVisibilityHandler(column),
57
+ },
58
+ column_toggleVisibility: {
59
+ fn: (column, visible) => column_toggleVisibility(column, visible),
60
+ },
61
+ })
62
+ },
90
63
 
91
- assignRowPrototype: (prototype, table) => {
92
- assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
93
- row_getVisibleCells: {
94
- fn: (row) => row_getVisibleCells(row),
95
- memoDeps: (row) => [
96
- row.getAllCells(),
97
- table.atoms.columnPinning?.get(),
98
- table.atoms.columnVisibility?.get(),
99
- ],
100
- },
101
- row_getVisibleCellsByColumnId: {
102
- fn: (row) => row_getVisibleCellsByColumnId(row),
103
- memoDeps: (row) => [
104
- row.getAllCells(),
105
- table.atoms.columnVisibility?.get(),
106
- ],
107
- },
108
- })
109
- },
64
+ assignRowPrototype: (prototype, table) => {
65
+ assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
66
+ row_getVisibleCells: {
67
+ fn: (row) => row_getVisibleCells(row),
68
+ memoDeps: (row) => [
69
+ row.getAllCells(),
70
+ table.atoms.columnPinning?.get(),
71
+ table.atoms.columnVisibility?.get(),
72
+ ],
73
+ },
74
+ row_getVisibleCellsByColumnId: {
75
+ fn: (row) => row_getVisibleCellsByColumnId(row),
76
+ memoDeps: (row) => [
77
+ row.getAllCells(),
78
+ table.atoms.columnVisibility?.get(),
79
+ ],
80
+ },
81
+ })
82
+ },
110
83
 
111
- constructTableAPIs: (table) => {
112
- assignTableAPIs('columnVisibilityFeature', table, {
113
- table_getVisibleFlatColumns: {
114
- fn: () => table_getVisibleFlatColumns(table),
115
- memoDeps: () => [
116
- table.atoms.columnVisibility?.get(),
117
- table.atoms.columnOrder?.get(),
118
- table.options.columns,
119
- ],
120
- },
121
- table_getVisibleLeafColumns: {
122
- fn: () => table_getVisibleLeafColumns(table),
123
- memoDeps: () => [
124
- table.atoms.columnVisibility?.get(),
125
- table.atoms.columnOrder?.get(),
126
- table.options.columns,
127
- ],
128
- },
129
- table_setColumnVisibility: {
130
- fn: (updater) => table_setColumnVisibility(table, updater),
131
- },
132
- table_resetColumnVisibility: {
133
- fn: (defaultState) =>
134
- table_resetColumnVisibility(table, defaultState),
135
- },
136
- table_toggleAllColumnsVisible: {
137
- fn: (value) => table_toggleAllColumnsVisible(table, value),
138
- },
139
- table_getIsAllColumnsVisible: {
140
- fn: () => table_getIsAllColumnsVisible(table),
141
- },
142
- table_getIsSomeColumnsVisible: {
143
- fn: () => table_getIsSomeColumnsVisible(table),
144
- },
145
- table_getToggleAllColumnsVisibilityHandler: {
146
- fn: () => table_getToggleAllColumnsVisibilityHandler(table),
147
- },
148
- })
149
- },
150
- }
84
+ constructTableAPIs: (table) => {
85
+ assignTableAPIs('columnVisibilityFeature', table, {
86
+ table_getVisibleFlatColumns: {
87
+ fn: () => table_getVisibleFlatColumns(table),
88
+ memoDeps: () => [
89
+ table.atoms.columnVisibility?.get(),
90
+ table.atoms.columnOrder?.get(),
91
+ table.options.columns,
92
+ ],
93
+ },
94
+ table_getVisibleLeafColumns: {
95
+ fn: () => table_getVisibleLeafColumns(table),
96
+ memoDeps: () => [
97
+ table.atoms.columnVisibility?.get(),
98
+ table.atoms.columnOrder?.get(),
99
+ table.options.columns,
100
+ ],
101
+ },
102
+ table_setColumnVisibility: {
103
+ fn: (updater) => table_setColumnVisibility(table, updater),
104
+ },
105
+ table_resetColumnVisibility: {
106
+ fn: (defaultState) => table_resetColumnVisibility(table, defaultState),
107
+ },
108
+ table_toggleAllColumnsVisible: {
109
+ fn: (value) => table_toggleAllColumnsVisible(table, value),
110
+ },
111
+ table_getIsAllColumnsVisible: {
112
+ fn: () => table_getIsAllColumnsVisible(table),
113
+ },
114
+ table_getIsSomeColumnsVisible: {
115
+ fn: () => table_getIsSomeColumnsVisible(table),
116
+ },
117
+ table_getToggleAllColumnsVisibilityHandler: {
118
+ fn: () => table_getToggleAllColumnsVisibilityHandler(table),
119
+ },
120
+ })
121
+ },
151
122
  }
152
-
153
- /**
154
- * The stock column visibility feature.
155
- *
156
- * Register this feature to add column visibility state and APIs for deriving
157
- * visible columns and visible row cells.
158
- */
159
- export const columnVisibilityFeature = constructColumnVisibilityFeature()
@@ -28,8 +28,8 @@ export type VisibilityDefaultOptions = Pick<
28
28
  >
29
29
 
30
30
  export interface Table_ColumnVisibility<
31
- TFeatures extends TableFeatures,
32
- TData extends RowData,
31
+ in out TFeatures extends TableFeatures,
32
+ in out TData extends RowData,
33
33
  > {
34
34
  /**
35
35
  * Checks whether every leaf column is currently visible.
@@ -76,8 +76,8 @@ export interface ColumnDef_ColumnVisibility {
76
76
  }
77
77
 
78
78
  export interface Row_ColumnVisibility<
79
- TFeatures extends TableFeatures,
80
- TData extends RowData,
79
+ in out TFeatures extends TableFeatures,
80
+ in out TData extends RowData,
81
81
  > {
82
82
  /**
83
83
  * Gets this row's cells for currently visible columns.
@@ -1,4 +1,9 @@
1
- import { callMemoOrStaticFn, cloneState } from '../../utils'
1
+ import {
2
+ callMemoOrStaticFn,
3
+ cloneState,
4
+ hasOwn,
5
+ makeObjectMap,
6
+ } from '../../utils'
2
7
  import { getDefaultColumnPinningState } from '../column-pinning/columnPinningFeature.utils'
3
8
  import type { CellData, RowData, Updater } from '../../types/type-utils'
4
9
  import type { TableFeatures } from '../../types/TableFeatures'
@@ -20,7 +25,7 @@ import type { Row } from '../../types/Row'
20
25
  * ```
21
26
  */
22
27
  export function getDefaultColumnVisibilityState(): ColumnVisibilityState {
23
- return {}
28
+ return makeObjectMap()
24
29
  }
25
30
 
26
31
  /**
@@ -40,12 +45,13 @@ export function column_toggleVisibility<
40
45
  TValue extends CellData = CellData,
41
46
  >(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {
42
47
  if (column_getCanHide(column)) {
43
- table_setColumnVisibility(column.table, (old) => ({
44
- ...old,
45
- [column.id]:
48
+ table_setColumnVisibility(column.table, (old) => {
49
+ const next = Object.assign(makeObjectMap<boolean>(), old)
50
+ next[column.id] =
46
51
  visible ??
47
- !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),
48
- }))
52
+ !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)
53
+ return next
54
+ })
49
55
  }
50
56
  }
51
57
 
@@ -67,12 +73,17 @@ export function column_getIsVisible<
67
73
  TValue extends CellData = CellData,
68
74
  >(column: Column_Internal<TFeatures, TData, TValue>): boolean {
69
75
  const childColumns = column.columns
76
+ if (childColumns.length) {
77
+ return childColumns.some((childColumn) =>
78
+ callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),
79
+ )
80
+ }
81
+
82
+ const columnVisibility = column.table.atoms.columnVisibility?.get()
70
83
  return (
71
- (childColumns.length
72
- ? childColumns.some((childColumn) =>
73
- callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),
74
- )
75
- : column.table.atoms.columnVisibility?.get()?.[column.id]) ?? true
84
+ (columnVisibility && hasOwn(columnVisibility, column.id)
85
+ ? columnVisibility[column.id]
86
+ : undefined) ?? true
76
87
  )
77
88
  }
78
89
 
@@ -192,7 +203,7 @@ export function row_getVisibleCellsByColumnId<
192
203
  TFeatures extends TableFeatures,
193
204
  TData extends RowData,
194
205
  >(row: Row<TFeatures, TData>): Record<string, Cell<TFeatures, TData, unknown>> {
195
- const result: Record<string, Cell<TFeatures, TData, unknown>> = {}
206
+ const result = makeObjectMap<Cell<TFeatures, TData, unknown>>()
196
207
  const allCells = row.getAllCells()
197
208
  for (let i = 0; i < allCells.length; i++) {
198
209
  const cell = allCells[i]!
@@ -286,7 +297,12 @@ export function table_resetColumnVisibility<
286
297
  >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
287
298
  table_setColumnVisibility(
288
299
  table,
289
- defaultState ? {} : cloneState(table.initialState.columnVisibility ?? {}),
300
+ defaultState
301
+ ? makeObjectMap()
302
+ : Object.assign(
303
+ makeObjectMap<boolean>(),
304
+ cloneState(table.initialState.columnVisibility ?? {}),
305
+ ),
290
306
  )
291
307
  }
292
308
 
@@ -306,7 +322,7 @@ export function table_toggleAllColumnsVisible<
306
322
  >(table: Table_Internal<TFeatures, TData>, value?: boolean) {
307
323
  value = value ?? !table_getIsAllColumnsVisible(table)
308
324
 
309
- const visibility: Record<string, boolean> = {}
325
+ const visibility = makeObjectMap<boolean>()
310
326
  const leafColumns = table.getAllLeafColumns()
311
327
  for (let i = 0; i < leafColumns.length; i++) {
312
328
  const column = leafColumns[i]!
@@ -10,90 +10,56 @@ import {
10
10
  table_resetGlobalFilter,
11
11
  table_setGlobalFilter,
12
12
  } from './globalFilteringFeature.utils'
13
- import type { RowData } from '../../types/type-utils'
14
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
15
- // import type {
16
- // ColumnDef_GlobalFiltering,
17
- // Column_GlobalFiltering,
18
- // TableOptions_GlobalFiltering,
19
- // TableState_GlobalFiltering,
20
- // Table_GlobalFiltering,
21
- // } from './globalFilteringFeature.types'
22
-
23
- export interface GlobalFilteringFeatureConstructors<
24
- TFeatures extends TableFeatures,
25
- TData extends RowData,
26
- > {
27
- // Column: Column_GlobalFiltering
28
- // ColumnDef: ColumnDef_GlobalFiltering
29
- // Table: Table_GlobalFiltering<TFeatures, TData>
30
- // TableOptions: TableOptions_GlobalFiltering<TFeatures, TData>
31
- // TableState: TableState_GlobalFiltering
32
- }
13
+ import type { TableFeature } from '../../types/TableFeatures'
33
14
 
34
15
  /**
35
- * Creates the stock global filtering feature.
36
- *
37
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
16
+ * Feature that adds global filtering state, defaults, and global filter APIs.
38
17
  */
39
- export function constructGlobalFilteringFeature<
40
- TFeatures extends TableFeatures,
41
- TData extends RowData,
42
- >(): TableFeature<GlobalFilteringFeatureConstructors<TFeatures, TData>> {
43
- return {
44
- getInitialState: (initialState) => {
45
- return {
46
- globalFilter: undefined,
47
- ...initialState,
48
- }
49
- },
18
+ export const globalFilteringFeature: TableFeature = {
19
+ getInitialState: (initialState) => {
20
+ return {
21
+ globalFilter: undefined,
22
+ ...initialState,
23
+ }
24
+ },
50
25
 
51
- getDefaultTableOptions: (table) => {
52
- return {
53
- onGlobalFilterChange: makeStateUpdater('globalFilter', table),
54
- globalFilterFn: 'auto',
55
- getColumnCanGlobalFilter: (column) => {
56
- const value = table
57
- .getCoreRowModel()
58
- .flatRows[0]?.getAllCellsByColumnId()
59
- [column.id]?.getValue()
26
+ getDefaultTableOptions: (table) => {
27
+ return {
28
+ onGlobalFilterChange: makeStateUpdater('globalFilter', table),
29
+ globalFilterFn: 'auto',
30
+ getColumnCanGlobalFilter: (column) => {
31
+ const value = table
32
+ .getCoreRowModel()
33
+ .flatRows[0]?.getAllCellsByColumnId()
34
+ [column.id]?.getValue()
60
35
 
61
- return typeof value === 'string' || typeof value === 'number'
62
- },
63
- }
64
- },
36
+ return typeof value === 'string' || typeof value === 'number'
37
+ },
38
+ }
39
+ },
65
40
 
66
- assignColumnPrototype: (prototype, table) => {
67
- assignPrototypeAPIs('globalFilteringFeature', prototype, table, {
68
- column_getCanGlobalFilter: {
69
- fn: (column) => column_getCanGlobalFilter(column),
70
- },
71
- })
72
- },
41
+ assignColumnPrototype: (prototype, table) => {
42
+ assignPrototypeAPIs('globalFilteringFeature', prototype, table, {
43
+ column_getCanGlobalFilter: {
44
+ fn: (column) => column_getCanGlobalFilter(column),
45
+ },
46
+ })
47
+ },
73
48
 
74
- constructTableAPIs: (table) => {
75
- assignTableAPIs('globalFilteringFeature', table, {
76
- table_getGlobalAutoFilterFn: {
77
- fn: () => table_getGlobalAutoFilterFn(),
78
- },
79
- table_getGlobalFilterFn: {
80
- fn: () => table_getGlobalFilterFn(table),
81
- },
82
- table_setGlobalFilter: {
83
- fn: (updater) => table_setGlobalFilter(table, updater),
84
- },
85
- table_resetGlobalFilter: {
86
- fn: (defaultState) => table_resetGlobalFilter(table, defaultState),
87
- },
88
- })
89
- },
90
- }
49
+ constructTableAPIs: (table) => {
50
+ assignTableAPIs('globalFilteringFeature', table, {
51
+ table_getGlobalAutoFilterFn: {
52
+ fn: () => table_getGlobalAutoFilterFn(),
53
+ },
54
+ table_getGlobalFilterFn: {
55
+ fn: () => table_getGlobalFilterFn(table),
56
+ },
57
+ table_setGlobalFilter: {
58
+ fn: (updater) => table_setGlobalFilter(table, updater),
59
+ },
60
+ table_resetGlobalFilter: {
61
+ fn: (defaultState) => table_resetGlobalFilter(table, defaultState),
62
+ },
63
+ })
64
+ },
91
65
  }
92
-
93
- /**
94
- * The stock global filtering feature.
95
- *
96
- * Register this feature with column filtering support to add global filter
97
- * state, global filter function resolution, and column eligibility APIs.
98
- */
99
- export const globalFilteringFeature = constructGlobalFilteringFeature()
@@ -33,8 +33,8 @@ export interface Column_GlobalFiltering {
33
33
  }
34
34
 
35
35
  export interface TableOptions_GlobalFiltering<
36
- TFeatures extends TableFeatures,
37
- TData extends RowData,
36
+ in out TFeatures extends TableFeatures,
37
+ in out TData extends RowData,
38
38
  > {
39
39
  /**
40
40
  * Enables global filtering across columns that allow it.
@@ -67,8 +67,8 @@ export interface TableOptions_GlobalFiltering<
67
67
  }
68
68
 
69
69
  export interface Table_GlobalFiltering<
70
- TFeatures extends TableFeatures,
71
- TData extends RowData,
70
+ in out TFeatures extends TableFeatures,
71
+ in out TData extends RowData,
72
72
  > {
73
73
  /**
74
74
  * Currently, this function returns the built-in `includesString` filter function. In future releases, it may return more dynamic filter functions based on the nature of the data provided.
@@ -26,7 +26,7 @@ export function column_getCanGlobalFilter<
26
26
  (column.columnDef.enableGlobalFilter ?? true) &&
27
27
  (column.table.options.enableGlobalFilter ?? true) &&
28
28
  (column.table.options.enableFilters ?? true) &&
29
- (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) &&
29
+ (column.table.options.getColumnCanGlobalFilter?.(column as any) ?? true) &&
30
30
  !!column.accessorFn
31
31
  )
32
32
  }
@@ -63,16 +63,18 @@ export function table_getGlobalFilterFn<
63
63
  TData extends RowData,
64
64
  >(
65
65
  table: Table_Internal<TFeatures, TData>,
66
- ): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {
66
+ ): FilterFn<TFeatures, TData> | undefined {
67
67
  const { globalFilterFn: globalFilterFn } = table.options
68
68
  const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =
69
69
  table._rowModelFns.filterFns
70
70
 
71
- return isFunction(globalFilterFn)
71
+ const filterFn = isFunction(globalFilterFn)
72
72
  ? globalFilterFn
73
73
  : globalFilterFn === 'auto'
74
74
  ? table_getGlobalAutoFilterFn()
75
75
  : filterFns?.[globalFilterFn as string]
76
+
77
+ return filterFn
76
78
  }
77
79
 
78
80
  /**
@@ -16,7 +16,7 @@ export function createExpandedRowModel<
16
16
  TData extends RowData = any,
17
17
  >(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
18
18
  return (_table) => {
19
- const table: Table_Internal<TFeatures, TData> = _table
19
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
20
20
  return tableMemo({
21
21
  feature: 'rowExpandingFeature',
22
22
  table,