@tanstack/table-core 9.0.0-alpha.4 → 9.0.0-alpha.41

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 (824) hide show
  1. package/README.md +117 -0
  2. package/dist/core/cells/constructCell.cjs +28 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +12 -0
  5. package/dist/core/cells/constructCell.d.ts +12 -0
  6. package/dist/core/cells/constructCell.js +27 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +25 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +13 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +13 -0
  12. package/dist/core/cells/coreCellsFeature.js +24 -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 +24 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +21 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +52 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +11 -0
  25. package/dist/core/columns/constructColumn.d.ts +11 -0
  26. package/dist/core/columns/constructColumn.js +51 -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 +13 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
  32. package/dist/core/columns/coreColumnsFeature.js +69 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +20 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +20 -0
  45. package/dist/core/coreFeatures.d.ts +20 -0
  46. package/dist/core/coreFeatures.js +20 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +90 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
  52. package/dist/core/headers/buildHeaderGroups.js +90 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +35 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +17 -0
  57. package/dist/core/headers/constructHeader.d.ts +17 -0
  58. package/dist/core/headers/constructHeader.js +34 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +66 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +61 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
  75. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  76. package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
  77. package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
  78. package/dist/core/row-models/coreRowModelsFeature.js +30 -0
  79. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  80. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
  81. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
  82. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
  83. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
  85. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
  87. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  88. package/dist/core/row-models/createCoreRowModel.cjs +47 -0
  89. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  90. package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
  91. package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
  92. package/dist/core/row-models/createCoreRowModel.js +47 -0
  93. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  94. package/dist/core/rows/constructRow.cjs +37 -0
  95. package/dist/core/rows/constructRow.cjs.map +1 -0
  96. package/dist/core/rows/constructRow.d.cts +10 -0
  97. package/dist/core/rows/constructRow.d.ts +10 -0
  98. package/dist/core/rows/constructRow.js +36 -0
  99. package/dist/core/rows/constructRow.js.map +1 -0
  100. package/dist/core/rows/coreRowsFeature.cjs +41 -0
  101. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  102. package/dist/core/rows/coreRowsFeature.d.cts +13 -0
  103. package/dist/core/rows/coreRowsFeature.d.ts +13 -0
  104. package/dist/core/rows/coreRowsFeature.js +40 -0
  105. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  106. package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
  107. package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
  108. package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
  109. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
  111. package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
  112. package/dist/core/rows/coreRowsFeature.utils.js +72 -0
  113. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  114. package/dist/core/table/constructTable.cjs +79 -0
  115. package/dist/core/table/constructTable.cjs.map +1 -0
  116. package/dist/core/table/constructTable.d.cts +12 -0
  117. package/dist/core/table/constructTable.d.ts +12 -0
  118. package/dist/core/table/constructTable.js +78 -0
  119. package/dist/core/table/constructTable.js.map +1 -0
  120. package/dist/core/table/coreTablesFeature.cjs +21 -0
  121. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  122. package/dist/core/table/coreTablesFeature.d.cts +13 -0
  123. package/dist/core/table/coreTablesFeature.d.ts +13 -0
  124. package/dist/core/table/coreTablesFeature.js +20 -0
  125. package/dist/core/table/coreTablesFeature.js.map +1 -0
  126. package/dist/core/table/coreTablesFeature.types.d.cts +157 -0
  127. package/dist/core/table/coreTablesFeature.types.d.ts +157 -0
  128. package/dist/core/table/coreTablesFeature.utils.cjs +27 -0
  129. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
  131. package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
  132. package/dist/core/table/coreTablesFeature.utils.js +25 -0
  133. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  134. package/dist/features/column-faceting/columnFacetingFeature.cjs +65 -0
  135. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  136. package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
  137. package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
  138. package/dist/features/column-faceting/columnFacetingFeature.js +64 -0
  139. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  140. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
  141. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  148. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
  149. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  150. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  154. package/dist/features/column-faceting/createFacetedRowModel.cjs +40 -0
  155. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  156. package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
  157. package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
  158. package/dist/features/column-faceting/createFacetedRowModel.js +40 -0
  159. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  160. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
  161. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  162. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
  163. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
  164. package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
  165. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  166. package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
  167. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  168. package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
  169. package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
  170. package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
  171. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  172. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
  173. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
  174. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  180. package/dist/features/column-filtering/createFilteredRowModel.cjs +99 -0
  181. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  182. package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
  183. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
  184. package/dist/features/column-filtering/createFilteredRowModel.js +99 -0
  185. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  186. package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
  187. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  188. package/dist/features/column-filtering/filterRowsUtils.js +76 -0
  189. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  190. package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
  191. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  192. package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
  193. package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
  194. package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
  195. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  196. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
  197. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
  198. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  204. package/dist/features/column-grouping/createGroupedRowModel.cjs +114 -0
  205. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  206. package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
  207. package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.js +114 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  210. package/dist/features/column-ordering/columnOrderingFeature.cjs +61 -0
  211. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  212. package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
  213. package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
  214. package/dist/features/column-ordering/columnOrderingFeature.js +60 -0
  215. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  216. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
  217. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +65 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.js +58 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  224. package/dist/features/column-pinning/columnPinningFeature.cjs +231 -0
  225. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  226. package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
  227. package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
  228. package/dist/features/column-pinning/columnPinningFeature.js +230 -0
  229. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  230. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
  231. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
  232. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +205 -0
  233. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
  235. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
  236. package/dist/features/column-pinning/columnPinningFeature.utils.js +175 -0
  237. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  238. package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
  239. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  240. package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
  241. package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
  242. package/dist/features/column-resizing/columnResizingFeature.js +45 -0
  243. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  244. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
  245. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
  246. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +157 -0
  247. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
  249. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.js +150 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  252. package/dist/features/column-sizing/columnSizingFeature.cjs +75 -0
  253. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  254. package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
  255. package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
  256. package/dist/features/column-sizing/columnSizingFeature.js +74 -0
  257. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  258. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
  259. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
  260. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
  261. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
  263. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
  264. package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
  265. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  266. package/dist/features/column-visibility/columnVisibilityFeature.cjs +96 -0
  267. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  268. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
  269. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
  270. package/dist/features/column-visibility/columnVisibilityFeature.js +95 -0
  271. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  272. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
  273. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
  274. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  280. package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
  281. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  282. package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
  283. package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
  284. package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
  285. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  286. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
  287. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
  288. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  294. package/dist/features/row-expanding/createExpandedRowModel.cjs +49 -0
  295. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  296. package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
  297. package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.js +48 -0
  299. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  300. package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
  301. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  302. package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
  303. package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
  304. package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
  305. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  306. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
  307. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
  308. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +115 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.js +101 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  314. package/dist/features/row-pagination/createPaginatedRowModel.cjs +57 -0
  315. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  316. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
  317. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.js +57 -0
  319. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  320. package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
  321. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  322. package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
  323. package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
  324. package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
  325. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  326. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
  327. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
  328. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +120 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.js +104 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  334. package/dist/features/row-pinning/rowPinningFeature.cjs +71 -0
  335. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  336. package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
  337. package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
  338. package/dist/features/row-pinning/rowPinningFeature.js +70 -0
  339. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  340. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
  341. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
  342. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +101 -0
  343. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
  345. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
  346. package/dist/features/row-pinning/rowPinningFeature.utils.js +91 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  348. package/dist/features/row-selection/rowSelectionFeature.cjs +79 -0
  349. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  350. package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
  351. package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
  352. package/dist/features/row-selection/rowSelectionFeature.js +78 -0
  353. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  354. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
  355. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
  356. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +232 -0
  357. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
  359. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
  360. package/dist/features/row-selection/rowSelectionFeature.utils.js +207 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  362. package/dist/features/row-sorting/createSortedRowModel.cjs +85 -0
  363. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  364. package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
  365. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
  366. package/dist/features/row-sorting/createSortedRowModel.js +85 -0
  367. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  368. package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
  369. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  370. package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
  371. package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
  372. package/dist/features/row-sorting/rowSortingFeature.js +58 -0
  373. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  374. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
  375. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
  376. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
  377. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
  379. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
  380. package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
  381. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  382. package/dist/features/stockFeatures.cjs +36 -0
  383. package/dist/features/stockFeatures.cjs.map +1 -0
  384. package/dist/features/stockFeatures.d.cts +36 -0
  385. package/dist/features/stockFeatures.d.ts +36 -0
  386. package/dist/features/stockFeatures.js +36 -0
  387. package/dist/features/stockFeatures.js.map +1 -0
  388. package/dist/features/table-reactivity/tableReactivityFeature.cjs +46 -0
  389. package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -0
  390. package/dist/features/table-reactivity/tableReactivityFeature.d.cts +12 -0
  391. package/dist/features/table-reactivity/tableReactivityFeature.d.ts +12 -0
  392. package/dist/features/table-reactivity/tableReactivityFeature.js +45 -0
  393. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
  394. package/dist/flex-render.cjs +19 -0
  395. package/dist/flex-render.cjs.map +1 -0
  396. package/dist/flex-render.d.cts +24 -0
  397. package/dist/flex-render.d.ts +24 -0
  398. package/dist/flex-render.js +16 -0
  399. package/dist/flex-render.js.map +1 -0
  400. package/dist/fns/aggregationFns.cjs +125 -0
  401. package/dist/fns/aggregationFns.cjs.map +1 -0
  402. package/dist/fns/aggregationFns.d.cts +54 -0
  403. package/dist/fns/aggregationFns.d.ts +54 -0
  404. package/dist/fns/aggregationFns.js +116 -0
  405. package/dist/fns/aggregationFns.js.map +1 -0
  406. package/dist/fns/filterFns.cjs +179 -0
  407. package/dist/fns/filterFns.cjs.map +1 -0
  408. package/dist/fns/filterFns.d.cts +81 -0
  409. package/dist/fns/filterFns.d.ts +81 -0
  410. package/dist/fns/filterFns.js +163 -0
  411. package/dist/fns/filterFns.js.map +1 -0
  412. package/dist/fns/sortFns.cjs +73 -0
  413. package/dist/fns/sortFns.cjs.map +1 -0
  414. package/dist/fns/sortFns.d.cts +22 -0
  415. package/dist/fns/sortFns.d.ts +22 -0
  416. package/dist/fns/sortFns.js +65 -0
  417. package/dist/fns/sortFns.js.map +1 -0
  418. package/dist/helpers/columnHelper.cjs +36 -0
  419. package/dist/helpers/columnHelper.cjs.map +1 -0
  420. package/dist/helpers/columnHelper.d.cts +66 -0
  421. package/dist/helpers/columnHelper.d.ts +66 -0
  422. package/dist/helpers/columnHelper.js +35 -0
  423. package/dist/helpers/columnHelper.js.map +1 -0
  424. package/dist/helpers/tableFeatures.cjs +20 -0
  425. package/dist/helpers/tableFeatures.cjs.map +1 -0
  426. package/dist/helpers/tableFeatures.d.cts +18 -0
  427. package/dist/helpers/tableFeatures.d.ts +18 -0
  428. package/dist/helpers/tableFeatures.js +19 -0
  429. package/dist/helpers/tableFeatures.js.map +1 -0
  430. package/dist/helpers/tableOptions.cjs +9 -0
  431. package/dist/helpers/tableOptions.cjs.map +1 -0
  432. package/dist/helpers/tableOptions.d.cts +28 -0
  433. package/dist/helpers/tableOptions.d.ts +28 -0
  434. package/dist/helpers/tableOptions.js +8 -0
  435. package/dist/helpers/tableOptions.js.map +1 -0
  436. package/dist/index.cjs +159 -0
  437. package/dist/index.d.cts +79 -0
  438. package/dist/index.d.ts +79 -0
  439. package/dist/index.js +47 -0
  440. package/dist/static-functions.cjs +261 -0
  441. package/dist/static-functions.d.cts +21 -0
  442. package/dist/static-functions.d.ts +21 -0
  443. package/dist/static-functions.js +22 -0
  444. package/dist/types/Cell.d.cts +16 -0
  445. package/dist/types/Cell.d.ts +16 -0
  446. package/dist/types/Column.d.cts +29 -0
  447. package/dist/types/Column.d.ts +29 -0
  448. package/dist/types/ColumnDef.d.cts +66 -0
  449. package/dist/types/ColumnDef.d.ts +66 -0
  450. package/dist/types/Header.d.cts +17 -0
  451. package/dist/types/Header.d.ts +17 -0
  452. package/dist/types/HeaderGroup.d.cts +15 -0
  453. package/dist/types/HeaderGroup.d.ts +15 -0
  454. package/dist/types/Row.d.cts +22 -0
  455. package/dist/types/Row.d.ts +22 -0
  456. package/dist/types/RowModel.d.cts +26 -0
  457. package/dist/types/RowModel.d.ts +26 -0
  458. package/dist/types/RowModelFns.d.cts +18 -0
  459. package/dist/types/RowModelFns.d.ts +18 -0
  460. package/dist/types/Table.d.cts +59 -0
  461. package/dist/types/Table.d.ts +59 -0
  462. package/dist/types/TableFeatures.d.cts +77 -0
  463. package/dist/types/TableFeatures.d.ts +77 -0
  464. package/dist/types/TableOptions.d.cts +39 -0
  465. package/dist/types/TableOptions.d.ts +39 -0
  466. package/dist/types/TableState.d.cts +27 -0
  467. package/dist/types/TableState.d.ts +27 -0
  468. package/dist/types/type-utils.d.cts +23 -0
  469. package/dist/types/type-utils.d.ts +23 -0
  470. package/dist/utils.cjs +218 -0
  471. package/dist/utils.cjs.map +1 -0
  472. package/dist/utils.d.cts +91 -0
  473. package/dist/utils.d.ts +91 -0
  474. package/dist/utils.js +203 -0
  475. package/dist/utils.js.map +1 -0
  476. package/package.json +31 -14
  477. package/src/core/cells/constructCell.ts +49 -0
  478. package/src/core/cells/coreCellsFeature.ts +44 -0
  479. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  480. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  481. package/src/core/columns/constructColumn.ts +111 -0
  482. package/src/core/columns/coreColumnsFeature.ts +90 -0
  483. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  484. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  485. package/src/core/coreFeatures.ts +24 -0
  486. package/src/core/headers/buildHeaderGroups.ts +177 -0
  487. package/src/core/headers/constructHeader.ts +61 -0
  488. package/src/core/headers/coreHeadersFeature.ts +98 -0
  489. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  490. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  491. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  492. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  493. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  494. package/src/core/row-models/createCoreRowModel.ts +88 -0
  495. package/src/core/rows/constructRow.ts +59 -0
  496. package/src/core/rows/coreRowsFeature.ts +84 -0
  497. package/src/core/rows/coreRowsFeature.types.ts +114 -0
  498. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  499. package/src/core/table/constructTable.ts +110 -0
  500. package/src/core/table/coreTablesFeature.ts +36 -0
  501. package/src/core/table/coreTablesFeature.types.ts +187 -0
  502. package/src/core/table/coreTablesFeature.utils.ts +47 -0
  503. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  504. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  505. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  506. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  507. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  508. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  509. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  510. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  511. package/src/features/column-filtering/columnFilteringFeature.utils.ts +209 -0
  512. package/src/features/column-filtering/createFilteredRowModel.ts +172 -0
  513. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  514. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  515. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  516. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  517. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  518. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  519. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  520. package/src/features/column-ordering/columnOrderingFeature.utils.ts +134 -0
  521. package/src/features/column-pinning/columnPinningFeature.ts +347 -0
  522. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  523. package/src/features/column-pinning/columnPinningFeature.utils.ts +539 -0
  524. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  525. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  526. package/src/features/column-resizing/columnResizingFeature.utils.ts +276 -0
  527. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  528. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  529. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  530. package/src/features/column-visibility/columnVisibilityFeature.ts +157 -0
  531. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  532. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  533. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  534. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  535. package/src/features/global-filtering/globalFilteringFeature.utils.ts +59 -0
  536. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  537. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  538. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  539. package/src/features/row-expanding/rowExpandingFeature.utils.ts +208 -0
  540. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  541. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  542. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  543. package/src/features/row-pagination/rowPaginationFeature.utils.ts +208 -0
  544. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  545. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  546. package/src/features/row-pinning/rowPinningFeature.utils.ts +199 -0
  547. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  548. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  549. package/src/features/row-selection/rowSelectionFeature.utils.ts +465 -0
  550. package/src/features/row-sorting/createSortedRowModel.ts +149 -0
  551. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  552. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  553. package/src/features/row-sorting/rowSortingFeature.utils.ts +319 -0
  554. package/src/features/stockFeatures.ts +48 -0
  555. package/src/features/table-reactivity/tableReactivityFeature.ts +92 -0
  556. package/src/flex-render.ts +60 -0
  557. package/src/fns/aggregationFns.ts +220 -0
  558. package/src/fns/filterFns.ts +379 -0
  559. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  560. package/src/helpers/columnHelper.ts +117 -0
  561. package/src/helpers/tableFeatures.ts +24 -0
  562. package/src/helpers/tableOptions.ts +82 -0
  563. package/src/index.ts +140 -42
  564. package/src/process-env.d.ts +6 -0
  565. package/src/static-functions.ts +31 -0
  566. package/src/types/Cell.ts +41 -0
  567. package/src/types/Column.ts +86 -0
  568. package/src/types/ColumnDef.ts +217 -0
  569. package/src/types/Header.ts +45 -0
  570. package/src/types/HeaderGroup.ts +24 -0
  571. package/src/types/Row.ts +55 -0
  572. package/src/types/RowModel.ts +137 -0
  573. package/src/types/RowModelFns.ts +51 -0
  574. package/src/types/Table.ts +132 -0
  575. package/src/types/TableFeatures.ts +150 -0
  576. package/src/types/TableOptions.ts +125 -0
  577. package/src/types/TableState.ts +88 -0
  578. package/src/types/type-utils.ts +84 -0
  579. package/src/utils.ts +361 -161
  580. package/dist/cjs/aggregationFns.cjs +0 -98
  581. package/dist/cjs/aggregationFns.cjs.map +0 -1
  582. package/dist/cjs/aggregationFns.d.cts +0 -14
  583. package/dist/cjs/columnHelper.cjs +0 -19
  584. package/dist/cjs/columnHelper.cjs.map +0 -1
  585. package/dist/cjs/columnHelper.d.cts +0 -9
  586. package/dist/cjs/core/cell.cjs +0 -38
  587. package/dist/cjs/core/cell.cjs.map +0 -1
  588. package/dist/cjs/core/cell.d.cts +0 -50
  589. package/dist/cjs/core/column.cjs +0 -81
  590. package/dist/cjs/core/column.cjs.map +0 -1
  591. package/dist/cjs/core/column.d.cts +0 -56
  592. package/dist/cjs/core/headers.cjs +0 -310
  593. package/dist/cjs/core/headers.cjs.map +0 -1
  594. package/dist/cjs/core/headers.d.cts +0 -195
  595. package/dist/cjs/core/row.cjs +0 -93
  596. package/dist/cjs/core/row.cjs.map +0 -1
  597. package/dist/cjs/core/row.d.cts +0 -92
  598. package/dist/cjs/core/table.cjs +0 -228
  599. package/dist/cjs/core/table.cjs.map +0 -1
  600. package/dist/cjs/core/table.d.cts +0 -221
  601. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  602. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  603. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  604. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  605. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  606. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  607. package/dist/cjs/features/ColumnGrouping.cjs +0 -134
  608. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  609. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  610. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  611. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  612. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  613. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  614. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  615. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  616. package/dist/cjs/features/ColumnSizing.cjs +0 -308
  617. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  618. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  619. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  620. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  621. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  622. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  623. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  624. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  625. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  626. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  627. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  628. package/dist/cjs/features/RowExpanding.cjs +0 -154
  629. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  630. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  631. package/dist/cjs/features/RowPagination.cjs +0 -162
  632. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  633. package/dist/cjs/features/RowPagination.d.cts +0 -166
  634. package/dist/cjs/features/RowPinning.cjs +0 -133
  635. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  636. package/dist/cjs/features/RowPinning.d.cts +0 -99
  637. package/dist/cjs/features/RowSelection.cjs +0 -298
  638. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  639. package/dist/cjs/features/RowSelection.d.cts +0 -177
  640. package/dist/cjs/features/RowSorting.cjs +0 -201
  641. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  642. package/dist/cjs/features/RowSorting.d.cts +0 -238
  643. package/dist/cjs/filterFns.cjs +0 -88
  644. package/dist/cjs/filterFns.cjs.map +0 -1
  645. package/dist/cjs/filterFns.d.cts +0 -14
  646. package/dist/cjs/index.cjs +0 -87
  647. package/dist/cjs/index.cjs.map +0 -1
  648. package/dist/cjs/index.d.cts +0 -34
  649. package/dist/cjs/sortingFns.cjs +0 -91
  650. package/dist/cjs/sortingFns.cjs.map +0 -1
  651. package/dist/cjs/sortingFns.d.cts +0 -12
  652. package/dist/cjs/types.d.cts +0 -120
  653. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  654. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  655. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  656. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  657. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  658. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  659. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  660. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  661. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  662. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
  663. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  664. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  665. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  666. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  667. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  668. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
  669. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  670. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  671. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  672. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  673. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  674. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  675. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  676. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  677. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  678. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  679. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  680. package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
  681. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  682. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  683. package/dist/cjs/utils.cjs +0 -100
  684. package/dist/cjs/utils.cjs.map +0 -1
  685. package/dist/cjs/utils.d.cts +0 -39
  686. package/dist/esm/aggregationFns.d.ts +0 -14
  687. package/dist/esm/aggregationFns.js +0 -98
  688. package/dist/esm/aggregationFns.js.map +0 -1
  689. package/dist/esm/columnHelper.d.ts +0 -9
  690. package/dist/esm/columnHelper.js +0 -19
  691. package/dist/esm/columnHelper.js.map +0 -1
  692. package/dist/esm/core/cell.d.ts +0 -50
  693. package/dist/esm/core/cell.js +0 -38
  694. package/dist/esm/core/cell.js.map +0 -1
  695. package/dist/esm/core/column.d.ts +0 -56
  696. package/dist/esm/core/column.js +0 -81
  697. package/dist/esm/core/column.js.map +0 -1
  698. package/dist/esm/core/headers.d.ts +0 -195
  699. package/dist/esm/core/headers.js +0 -310
  700. package/dist/esm/core/headers.js.map +0 -1
  701. package/dist/esm/core/row.d.ts +0 -92
  702. package/dist/esm/core/row.js +0 -93
  703. package/dist/esm/core/row.js.map +0 -1
  704. package/dist/esm/core/table.d.ts +0 -221
  705. package/dist/esm/core/table.js +0 -228
  706. package/dist/esm/core/table.js.map +0 -1
  707. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  708. package/dist/esm/features/ColumnFaceting.js +0 -29
  709. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  710. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  711. package/dist/esm/features/ColumnFiltering.js +0 -137
  712. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  713. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  714. package/dist/esm/features/ColumnGrouping.js +0 -134
  715. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  716. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  717. package/dist/esm/features/ColumnOrdering.js +0 -76
  718. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  719. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  720. package/dist/esm/features/ColumnPinning.js +0 -145
  721. package/dist/esm/features/ColumnPinning.js.map +0 -1
  722. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  723. package/dist/esm/features/ColumnSizing.js +0 -308
  724. package/dist/esm/features/ColumnSizing.js.map +0 -1
  725. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  726. package/dist/esm/features/ColumnVisibility.js +0 -144
  727. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  728. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  729. package/dist/esm/features/GlobalFaceting.js +0 -29
  730. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  731. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  732. package/dist/esm/features/GlobalFiltering.js +0 -50
  733. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  734. package/dist/esm/features/RowExpanding.d.ts +0 -155
  735. package/dist/esm/features/RowExpanding.js +0 -154
  736. package/dist/esm/features/RowExpanding.js.map +0 -1
  737. package/dist/esm/features/RowPagination.d.ts +0 -166
  738. package/dist/esm/features/RowPagination.js +0 -162
  739. package/dist/esm/features/RowPagination.js.map +0 -1
  740. package/dist/esm/features/RowPinning.d.ts +0 -99
  741. package/dist/esm/features/RowPinning.js +0 -133
  742. package/dist/esm/features/RowPinning.js.map +0 -1
  743. package/dist/esm/features/RowSelection.d.ts +0 -177
  744. package/dist/esm/features/RowSelection.js +0 -298
  745. package/dist/esm/features/RowSelection.js.map +0 -1
  746. package/dist/esm/features/RowSorting.d.ts +0 -238
  747. package/dist/esm/features/RowSorting.js +0 -201
  748. package/dist/esm/features/RowSorting.js.map +0 -1
  749. package/dist/esm/filterFns.d.ts +0 -14
  750. package/dist/esm/filterFns.js +0 -88
  751. package/dist/esm/filterFns.js.map +0 -1
  752. package/dist/esm/index.d.ts +0 -34
  753. package/dist/esm/index.js +0 -87
  754. package/dist/esm/index.js.map +0 -1
  755. package/dist/esm/sortingFns.d.ts +0 -12
  756. package/dist/esm/sortingFns.js +0 -91
  757. package/dist/esm/sortingFns.js.map +0 -1
  758. package/dist/esm/types.d.ts +0 -120
  759. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  760. package/dist/esm/utils/filterRowsUtils.js +0 -99
  761. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  762. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  763. package/dist/esm/utils/getCoreRowModel.js +0 -54
  764. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  765. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  766. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  767. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  768. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  769. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
  770. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  771. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  772. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  773. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  774. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  775. package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
  776. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  777. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  778. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  779. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  780. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  781. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  782. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  783. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  784. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  785. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  786. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  787. package/dist/esm/utils/getSortedRowModel.js +0 -91
  788. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  789. package/dist/esm/utils.d.ts +0 -39
  790. package/dist/esm/utils.js +0 -100
  791. package/dist/esm/utils.js.map +0 -1
  792. package/src/aggregationFns.ts +0 -123
  793. package/src/columnHelper.ts +0 -91
  794. package/src/core/cell.ts +0 -91
  795. package/src/core/column.ts +0 -165
  796. package/src/core/headers.ts +0 -639
  797. package/src/core/row.ts +0 -201
  798. package/src/core/table.ts +0 -527
  799. package/src/features/ColumnFaceting.ts +0 -84
  800. package/src/features/ColumnFiltering.ts +0 -429
  801. package/src/features/ColumnGrouping.ts +0 -422
  802. package/src/features/ColumnOrdering.ts +0 -161
  803. package/src/features/ColumnPinning.ts +0 -336
  804. package/src/features/ColumnSizing.ts +0 -579
  805. package/src/features/ColumnVisibility.ts +0 -317
  806. package/src/features/GlobalFaceting.ts +0 -66
  807. package/src/features/GlobalFiltering.ts +0 -162
  808. package/src/features/RowExpanding.ts +0 -355
  809. package/src/features/RowPagination.ts +0 -396
  810. package/src/features/RowPinning.ts +0 -273
  811. package/src/features/RowSelection.ts +0 -668
  812. package/src/features/RowSorting.ts +0 -542
  813. package/src/filterFns.ts +0 -150
  814. package/src/types.ts +0 -361
  815. package/src/utils/filterRowsUtils.ts +0 -130
  816. package/src/utils/getCoreRowModel.ts +0 -82
  817. package/src/utils/getExpandedRowModel.ts +0 -51
  818. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  819. package/src/utils/getFacetedRowModel.ts +0 -44
  820. package/src/utils/getFacetedUniqueValues.ts +0 -42
  821. package/src/utils/getFilteredRowModel.ts +0 -151
  822. package/src/utils/getGroupedRowModel.ts +0 -181
  823. package/src/utils/getPaginationRowModel.ts +0 -60
  824. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,187 @@
1
+ import type { Atom, ReadonlyAtom, ReadonlyStore, Store } from '@tanstack/store'
2
+ import type { CoreFeatures } from '../coreFeatures'
3
+ import type { RowModelFns } from '../../types/RowModelFns'
4
+ import type { RowData, Updater } from '../../types/type-utils'
5
+ import type { TableFeatures } from '../../types/TableFeatures'
6
+ import type { CachedRowModels, CreateRowModels_All } from '../../types/RowModel'
7
+ import type { TableOptions } from '../../types/TableOptions'
8
+ import type { TableState, TableState_All } from '../../types/TableState'
9
+
10
+ export interface TableMeta<
11
+ TFeatures extends TableFeatures,
12
+ TData extends RowData,
13
+ > {}
14
+
15
+ /**
16
+ * A map of writable atoms, one per `TableState` slice. These are the internal
17
+ * writable atoms that the library always writes to via `makeStateUpdater`.
18
+ */
19
+ export type BaseAtoms<TFeatures extends TableFeatures> = {
20
+ [K in keyof TableState<TFeatures>]-?: Atom<TableState<TFeatures>[K]>
21
+ }
22
+
23
+ /**
24
+ * A map of readonly derived atoms, one per `TableState` slice. Each derives
25
+ * from its corresponding `baseAtom` plus, optionally, a per-slice external
26
+ * atom or external state value.
27
+ *
28
+ * Precedence: `options.atoms[key]` > `options.state[key]` > `baseAtoms[key]`.
29
+ */
30
+ export type Atoms<TFeatures extends TableFeatures> = {
31
+ [K in keyof TableState<TFeatures>]-?: ReadonlyAtom<TableState<TFeatures>[K]>
32
+ }
33
+
34
+ /**
35
+ * A map of optional external atoms, one per `TableState` slice. Consumers can
36
+ * provide their own writable atom for any state slice to take over ownership
37
+ * of that slice.
38
+ */
39
+ export type ExternalAtoms<TFeatures extends TableFeatures> = Partial<{
40
+ [K in keyof TableState<TFeatures>]: Atom<TableState<TFeatures>[K]>
41
+ }>
42
+
43
+ /**
44
+ * Internal "all features" flat variants of the atom types. `Table_Internal`
45
+ * uses these so feature code (written generically over `TFeatures`) can access
46
+ * any slice atom (e.g. `table.atoms.columnPinning`) without TypeScript
47
+ * narrowing away slices that aren't in the current `TFeatures` union.
48
+ *
49
+ * Keys are optional: feature code can read atoms from slices it doesn't own,
50
+ * but those slices may not be registered on the current table. Consumers must
51
+ * use optional chaining (`table.atoms.columnPinning?.get() ?? default`).
52
+ */
53
+ export type BaseAtoms_All = {
54
+ [K in keyof TableState_All]?: Atom<TableState_All[K]>
55
+ }
56
+ export type Atoms_All = {
57
+ [K in keyof TableState_All]?: ReadonlyAtom<TableState_All[K]>
58
+ }
59
+ export type ExternalAtoms_All = Partial<{
60
+ [K in keyof TableState_All]: Atom<TableState_All[K]>
61
+ }>
62
+
63
+ export interface TableOptions_Table<
64
+ TFeatures extends TableFeatures,
65
+ TData extends RowData,
66
+ > {
67
+ /**
68
+ * The features that you want to enable for the table.
69
+ */
70
+ _features: TFeatures
71
+ /**
72
+ * The row model options that you want to enable for the table.
73
+ */
74
+ _rowModels?: CreateRowModels_All<TFeatures, TData>
75
+ /**
76
+ * Optionally, provide your own external writable atoms for individual state slices.
77
+ * When an atom is provided for a given slice, it takes precedence over `options.state[key]`
78
+ * and the internal base atom for that slice. Writes originating from the library are
79
+ * still routed through the internal base atom; consumers are responsible for
80
+ * mirroring changes back to their external atom via the corresponding `onXChange` callback.
81
+ */
82
+ atoms?: ExternalAtoms<TFeatures>
83
+ /**
84
+ * Set this option to override any of the `autoReset...` feature options.
85
+ */
86
+ autoResetAll?: boolean
87
+ /**
88
+ * The data for the table to display. When the `data` option changes reference, the table will reprocess the data.
89
+ */
90
+ data: ReadonlyArray<TData>
91
+ /**
92
+ * Use this option to optionally pass initial state to the table. This state will be used when resetting various table states either automatically by the table (eg. `options.autoResetPageIndex`) or via functions like `table.resetRowSelection()`. Most reset function allow you optionally pass a flag to reset to a blank/default state instead of the initial state.
93
+ * Table state will not be reset when this object changes, which also means that the initial state object does not need to be stable.
94
+ */
95
+ initialState?: Partial<TableState<TFeatures>>
96
+ /**
97
+ * This option is used to optionally implement the merging of table options.
98
+ */
99
+ mergeOptions?: (
100
+ defaultOptions: TableOptions<TFeatures, TData>,
101
+ options: Partial<TableOptions<TFeatures, TData>>,
102
+ ) => TableOptions<TFeatures, TData>
103
+ /**
104
+ * You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
105
+ */
106
+ meta?: TableMeta<TFeatures, TData>
107
+ /**
108
+ * Pass in individual self-managed state to the table.
109
+ */
110
+ state?: Partial<TableState<TFeatures>>
111
+ }
112
+
113
+ export interface Table_CoreProperties<
114
+ TFeatures extends TableFeatures,
115
+ TData extends RowData,
116
+ > {
117
+ /**
118
+ * The features that are enabled for the table.
119
+ */
120
+ _features: Partial<CoreFeatures> & TFeatures
121
+ /**
122
+ * Prototype cache for Cell objects - shared by all cells in this table
123
+ */
124
+ _cellPrototype?: object
125
+ /**
126
+ * Prototype cache for Column objects - shared by all columns in this table
127
+ */
128
+ _columnPrototype?: object
129
+ /**
130
+ * Prototype cache for Header objects - shared by all headers in this table
131
+ */
132
+ _headerPrototype?: object
133
+ /**
134
+ * The row model processing functions that are used to process the data by features.
135
+ */
136
+ _rowModelFns: RowModelFns<TFeatures, TData>
137
+ /**
138
+ * The row models that are enabled for the table.
139
+ */
140
+ _rowModels: CachedRowModels<TFeatures, TData>
141
+ /**
142
+ * Prototype cache for Row objects - shared by all rows in this table
143
+ */
144
+ _rowPrototype?: object
145
+ /**
146
+ * The internal writable atoms for each `TableState` slice. This is the library's
147
+ * single write surface — all state mutations from features land here.
148
+ */
149
+ baseAtoms: BaseAtoms<TFeatures>
150
+ /**
151
+ * The readonly derived atoms for each `TableState` slice. Each derives from
152
+ * its corresponding `baseAtom` plus, optionally, a per-slice external atom or
153
+ * external state value (precedence: external atom > external state > base atom).
154
+ */
155
+ atoms: Atoms<TFeatures>
156
+ /**
157
+ * The base store for the table options.
158
+ */
159
+ optionsStore: Store<TableOptions<TFeatures, TData>>
160
+ /**
161
+ * This is the resolved initial state of the table.
162
+ */
163
+ initialState: TableState<TFeatures>
164
+ /**
165
+ * A read-only reference to the table's current options.
166
+ */
167
+ readonly options: TableOptions<TFeatures, TData>
168
+ /**
169
+ * The readonly flat store for the table state. Derives from `table.atoms`
170
+ * only; never reads external state directly.
171
+ */
172
+ store: ReadonlyStore<TableState<TFeatures>>
173
+ }
174
+
175
+ export interface Table_Table<
176
+ TFeatures extends TableFeatures,
177
+ TData extends RowData,
178
+ > extends Table_CoreProperties<TFeatures, TData> {
179
+ /**
180
+ * Call this function to reset the table state to the initial state.
181
+ */
182
+ reset: () => void
183
+ /**
184
+ * This function can be used to update the table options.
185
+ */
186
+ setOptions: (newOptions: Updater<TableOptions<TFeatures, TData>>) => void
187
+ }
@@ -0,0 +1,47 @@
1
+ import { batch } from '@tanstack/store'
2
+ import { cloneState, functionalUpdate } from '../../utils'
3
+ import type { RowData, Updater } from '../../types/type-utils'
4
+ import type { TableFeatures } from '../../types/TableFeatures'
5
+ import type { Table_Internal } from '../../types/Table'
6
+ import type { TableOptions } from '../../types/TableOptions'
7
+
8
+ export function table_reset<
9
+ TFeatures extends TableFeatures,
10
+ TData extends RowData,
11
+ >(table: Table_Internal<TFeatures, TData>): void {
12
+ const snap = cloneState(table.initialState)
13
+ batch(() => {
14
+ for (const key of Object.keys(snap) as Array<keyof typeof snap>) {
15
+ ;(table.baseAtoms as any)[key].set(snap[key] as any)
16
+ }
17
+ })
18
+ }
19
+
20
+ export function table_mergeOptions<
21
+ TFeatures extends TableFeatures,
22
+ TData extends RowData,
23
+ >(
24
+ table: Table_Internal<TFeatures, TData>,
25
+ newOptions: TableOptions<TFeatures, TData>,
26
+ ) {
27
+ if (table.options.mergeOptions) {
28
+ return table.options.mergeOptions(table.options, newOptions)
29
+ }
30
+
31
+ return {
32
+ ...table.options,
33
+ ...newOptions,
34
+ }
35
+ }
36
+
37
+ export function table_setOptions<
38
+ TFeatures extends TableFeatures,
39
+ TData extends RowData,
40
+ >(
41
+ table: Table_Internal<TFeatures, TData>,
42
+ updater: Updater<TableOptions<TFeatures, TData>>,
43
+ ): void {
44
+ const newOptions = functionalUpdate(updater, table.options)
45
+ const mergedOptions = table_mergeOptions(table, newOptions)
46
+ table.optionsStore.setState(() => mergedOptions)
47
+ }
@@ -0,0 +1,112 @@
1
+ import {
2
+ assignPrototypeAPIs,
3
+ assignTableAPIs,
4
+ callMemoOrStaticFn,
5
+ } from '../../utils'
6
+ import {
7
+ column_getFacetedMinMaxValues,
8
+ column_getFacetedRowModel,
9
+ column_getFacetedUniqueValues,
10
+ table_getGlobalFacetedMinMaxValues,
11
+ table_getGlobalFacetedRowModel,
12
+ table_getGlobalFacetedUniqueValues,
13
+ } from './columnFacetingFeature.utils'
14
+ import type { RowData } from '../../types/type-utils'
15
+ import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
16
+ import type { Column_Internal } from '../../types/Column'
17
+ // import type {
18
+ // CachedRowModel_Faceted,
19
+ // Column_ColumnFaceting,
20
+ // CreateRowModel_Faceted,
21
+ // } from './columnFacetingFeature.types'
22
+
23
+ export interface ColumnFacetingFeatureConstructors<
24
+ TFeatures extends TableFeatures,
25
+ TData extends RowData,
26
+ > {
27
+ // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>
28
+ // Column: Column_ColumnFaceting<TFeatures, TData>
29
+ // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>
30
+ }
31
+
32
+ export function constructColumnFacetingFeature<
33
+ TFeatures extends TableFeatures,
34
+ TData extends RowData,
35
+ >(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {
36
+ return {
37
+ assignColumnPrototype: (prototype, table) => {
38
+ assignPrototypeAPIs('columnFacetingFeature', prototype, table, {
39
+ column_getFacetedRowModel: {
40
+ memoDeps: () => [
41
+ table.getPreFilteredRowModel().rows,
42
+ table.atoms.columnFilters?.get(),
43
+ table.atoms.globalFilter?.get(),
44
+ table.getFilteredRowModel().rows,
45
+ ],
46
+ fn: (column) => column_getFacetedRowModel(column, column.table),
47
+ },
48
+ column_getFacetedMinMaxValues: {
49
+ memoDeps: (column: Column_Internal<TFeatures, TData>) => [
50
+ callMemoOrStaticFn(
51
+ column,
52
+ 'getFacetedRowModel',
53
+ column_getFacetedRowModel,
54
+ column.table,
55
+ ).flatRows,
56
+ ],
57
+ fn: (column) => column_getFacetedMinMaxValues(column, column.table),
58
+ },
59
+ column_getFacetedUniqueValues: {
60
+ memoDeps: (column: Column_Internal<TFeatures, TData>) => [
61
+ callMemoOrStaticFn(
62
+ column,
63
+ 'getFacetedRowModel',
64
+ column_getFacetedRowModel,
65
+ column.table,
66
+ ).flatRows,
67
+ ],
68
+ fn: (column) => column_getFacetedUniqueValues(column, column.table),
69
+ },
70
+ })
71
+ },
72
+
73
+ constructTableAPIs: (table) => {
74
+ assignTableAPIs('columnFacetingFeature', table, {
75
+ table_getGlobalFacetedRowModel: {
76
+ memoDeps: () => [
77
+ table.getPreFilteredRowModel().rows,
78
+ table.atoms.columnFilters?.get(),
79
+ table.atoms.globalFilter?.get(),
80
+ table.getFilteredRowModel().rows,
81
+ ],
82
+ fn: () => table_getGlobalFacetedRowModel(table),
83
+ },
84
+ table_getGlobalFacetedMinMaxValues: {
85
+ memoDeps: () => [
86
+ callMemoOrStaticFn(
87
+ table,
88
+ 'getGlobalFacetedRowModel',
89
+ table_getGlobalFacetedRowModel,
90
+ ).flatRows,
91
+ ],
92
+ fn: () => table_getGlobalFacetedMinMaxValues(table),
93
+ },
94
+ table_getGlobalFacetedUniqueValues: {
95
+ memoDeps: () => [
96
+ callMemoOrStaticFn(
97
+ table,
98
+ 'getGlobalFacetedRowModel',
99
+ table_getGlobalFacetedRowModel,
100
+ ).flatRows,
101
+ ],
102
+ fn: () => table_getGlobalFacetedUniqueValues(table),
103
+ },
104
+ })
105
+ },
106
+ }
107
+ }
108
+
109
+ /**
110
+ * The Column Faceting feature adds column faceting APIs to the column objects.
111
+ */
112
+ export const columnFacetingFeature = constructColumnFacetingFeature()
@@ -0,0 +1,97 @@
1
+ import type { Table } from '../../types/Table'
2
+ import type { RowData } from '../../types/type-utils'
3
+ import type { TableFeatures } from '../../types/TableFeatures'
4
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
+
6
+ export interface Column_ColumnFaceting<
7
+ TFeatures extends TableFeatures,
8
+ TData extends RowData,
9
+ > {
10
+ /**
11
+ * A function that **computes and returns** a min/max tuple derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
12
+ */
13
+ getFacetedMinMaxValues: () => undefined | [number, number]
14
+ /**
15
+ * A function that **computes and returns** a row model with all other column filters applied, excluding its own filter. Useful for displaying faceted result counts.
16
+ */
17
+ getFacetedRowModel: () => RowModel<TFeatures, TData>
18
+ /**
19
+ * Returns a `Map` of unique values and their occurrences derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
20
+ */
21
+ getFacetedUniqueValues: () => Map<any, number>
22
+ }
23
+
24
+ export interface Table_RowModels_Faceted<
25
+ TFeatures extends TableFeatures,
26
+ TData extends RowData,
27
+ > {
28
+ /**
29
+ * A function that **computes and returns** a min/max tuple derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
30
+ * > ⚠️ Requires that you pass a valid `getFacetedMinMaxValues` function to `options.getFacetedMinMaxValues`. A default implementation is provided via the exported `getFacetedMinMaxValues` function.
31
+ */
32
+ getFacetedMinMaxValues: () => undefined | [number, number]
33
+ /**
34
+ * Returns the row model with all other column filters applied, excluding its own filter. Useful for displaying faceted result counts.
35
+ * > ⚠️ Requires that you pass a valid `getFacetedRowModel` function to `options.facetedRowModel`. A default implementation is provided via the exported `getFacetedRowModel` function.
36
+ */
37
+ getFacetedRowModel: () => RowModel<TFeatures, TData>
38
+ /**
39
+ * A function that **computes and returns** a `Map` of unique values and their occurrences derived from `column.getFacetedRowModel`. Useful for displaying faceted result values.
40
+ * > ⚠️ Requires that you pass a valid `getFacetedUniqueValues` function to `options.getFacetedUniqueValues`. A default implementation is provided via the exported `getFacetedUniqueValues` function.
41
+ */
42
+ getFacetedUniqueValues: () => Map<any, number>
43
+ }
44
+
45
+ export interface CreateRowModel_Faceted<
46
+ TFeatures extends TableFeatures,
47
+ TData extends RowData,
48
+ > {
49
+ /**
50
+ * This function is used to retrieve the faceted min/max values. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedMinMaxValues()` from your adapter to your table or implement your own.
51
+ */
52
+ facetedMinMaxValues?: (
53
+ table: Table<TFeatures, TData>,
54
+ columnId: string,
55
+ ) => () => [number, number] | undefined
56
+ /**
57
+ * This function is used to retrieve the faceted row model. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedRowModel()` from your adapter to your table or implement your own.
58
+ */
59
+ facetedRowModel?: (
60
+ table: Table<TFeatures, TData>,
61
+ columnId: string,
62
+ ) => () => RowModel<TFeatures, TData>
63
+ /**
64
+ * This function is used to retrieve the faceted unique values. If using server-side faceting, this function is not required. To use client-side faceting, pass the exported `getFacetedUniqueValues()` from your adapter to your table or implement your own.
65
+ */
66
+ facetedUniqueValues?: (
67
+ table: Table<TFeatures, TData>,
68
+ columnId: string,
69
+ ) => () => Map<any, number>
70
+ }
71
+
72
+ export interface CachedRowModel_Faceted<
73
+ TFeatures extends TableFeatures,
74
+ TData extends RowData,
75
+ > {
76
+ facetedRowModel?: (columnId: string) => () => RowModel<TFeatures, TData>
77
+ facetedMinMaxValues?: (columnId: string) => [number, number]
78
+ facetedUniqueValues?: (columnId: string) => Map<any, number>
79
+ }
80
+
81
+ export interface Table_ColumnFaceting<
82
+ TFeatures extends TableFeatures,
83
+ TData extends RowData,
84
+ > {
85
+ /**
86
+ * Returns the min and max values for the global filter.
87
+ */
88
+ getGlobalFacetedMinMaxValues: () => undefined | [number, number]
89
+ /**
90
+ * Returns the row model for the table after **global** filtering has been applied.
91
+ */
92
+ getGlobalFacetedRowModel: () => RowModel<TFeatures, TData>
93
+ /**
94
+ * Returns the faceted unique values for the global filter.
95
+ */
96
+ getGlobalFacetedUniqueValues: () => Map<any, number>
97
+ }
@@ -0,0 +1,77 @@
1
+ import type { CellData, RowData } from '../../types/type-utils'
2
+ import type { TableFeatures } from '../../types/TableFeatures'
3
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
4
+ import type { Table_Internal } from '../../types/Table'
5
+ import type { Column_Internal } from '../../types/Column'
6
+
7
+ export function column_getFacetedMinMaxValues<
8
+ TFeatures extends TableFeatures,
9
+ TData extends RowData,
10
+ TValue extends CellData = CellData,
11
+ >(
12
+ column: Column_Internal<TFeatures, TData, TValue>,
13
+ table: Table_Internal<TFeatures, TData>,
14
+ ): [number, number] | undefined {
15
+ const facetedMinMaxValuesFn =
16
+ table.options._rowModels?.facetedMinMaxValues?.(table, column.id) ??
17
+ (() => undefined)
18
+ return facetedMinMaxValuesFn()
19
+ }
20
+
21
+ export function column_getFacetedRowModel<
22
+ TFeatures extends TableFeatures,
23
+ TData extends RowData,
24
+ TValue extends CellData = CellData,
25
+ >(
26
+ column: Column_Internal<TFeatures, TData, TValue> | undefined,
27
+ table: Table_Internal<TFeatures, TData>,
28
+ ): RowModel<TFeatures, TData> {
29
+ const facetedRowModelFn =
30
+ table.options._rowModels?.facetedRowModel?.(table, column?.id ?? '') ??
31
+ (() => table.getPreFilteredRowModel())
32
+ return facetedRowModelFn()
33
+ }
34
+
35
+ export function column_getFacetedUniqueValues<
36
+ TFeatures extends TableFeatures,
37
+ TData extends RowData,
38
+ TValue extends CellData = CellData,
39
+ >(
40
+ column: Column_Internal<TFeatures, TData, TValue>,
41
+ table: Table_Internal<TFeatures, TData>,
42
+ ): Map<any, number> {
43
+ const facetedUniqueValuesFn =
44
+ table.options._rowModels?.facetedUniqueValues?.(table, column.id) ??
45
+ (() => new Map<any, number>())
46
+ return facetedUniqueValuesFn()
47
+ }
48
+
49
+ export function table_getGlobalFacetedMinMaxValues<
50
+ TFeatures extends TableFeatures,
51
+ TData extends RowData,
52
+ >(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {
53
+ const facetedMinMaxValuesFn =
54
+ table.options._rowModels?.facetedMinMaxValues?.(table, '__global__') ??
55
+ (() => undefined)
56
+ return facetedMinMaxValuesFn()
57
+ }
58
+
59
+ export function table_getGlobalFacetedRowModel<
60
+ TFeatures extends TableFeatures,
61
+ TData extends RowData,
62
+ >(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
63
+ const facetedRowModelFn =
64
+ table.options._rowModels?.facetedRowModel?.(table, '__global__') ??
65
+ (() => table.getPreFilteredRowModel())
66
+ return facetedRowModelFn()
67
+ }
68
+
69
+ export function table_getGlobalFacetedUniqueValues<
70
+ TFeatures extends TableFeatures,
71
+ TData extends RowData,
72
+ >(table: Table_Internal<TFeatures, TData>): Map<any, number> {
73
+ const facetedUniqueValuesFn =
74
+ table.options._rowModels?.facetedUniqueValues?.(table, '__global__') ??
75
+ (() => new Map())
76
+ return facetedUniqueValuesFn()
77
+ }
@@ -0,0 +1,63 @@
1
+ import { callMemoOrStaticFn, tableMemo } from '../../utils'
2
+ import { column_getFacetedRowModel } from './columnFacetingFeature.utils'
3
+ import type { Row } from '../../types/Row'
4
+ import type { Table, Table_Internal } from '../../types/Table'
5
+ import type { TableFeatures } from '../../types/TableFeatures'
6
+ import type { RowData } from '../../types/type-utils'
7
+
8
+ export function createFacetedMinMaxValues<
9
+ TFeatures extends TableFeatures,
10
+ TData extends RowData = any,
11
+ >(): (
12
+ table: Table<TFeatures, TData>,
13
+ columnId: string,
14
+ ) => () => undefined | [number, number] {
15
+ return (_table, columnId) => {
16
+ const table: Table_Internal<TFeatures, TData> = _table
17
+ return tableMemo({
18
+ feature: 'columnFacetingFeature',
19
+ fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),
20
+ fnName: 'table.getFacetedMinMaxValues',
21
+ memoDeps: () => {
22
+ const column = table.getColumn(columnId)
23
+ if (!column) return [table.getPreFilteredRowModel().flatRows]
24
+ return [
25
+ callMemoOrStaticFn(
26
+ column,
27
+ 'getFacetedRowModel',
28
+ column_getFacetedRowModel,
29
+ table,
30
+ ).flatRows,
31
+ ]
32
+ },
33
+ table,
34
+ })
35
+ }
36
+ }
37
+
38
+ function _createFacetedMinMaxValues<
39
+ TFeatures extends TableFeatures,
40
+ TData extends RowData = any,
41
+ >(
42
+ columnId: string,
43
+ flatRows: Array<Row<TFeatures, TData>>,
44
+ ): undefined | [number, number] {
45
+ if (!flatRows.length) return undefined
46
+
47
+ const numericValues = flatRows
48
+ .map((flatRow) => flatRow.getValue(columnId))
49
+ .map(Number)
50
+ .filter((value) => !Number.isNaN(value))
51
+
52
+ if (!numericValues.length) return undefined
53
+
54
+ let facetedMinValue = numericValues[0]!
55
+ let facetedMaxValue = numericValues[0]!
56
+
57
+ for (const value of numericValues) {
58
+ if (value < facetedMinValue) facetedMinValue = value
59
+ if (value > facetedMaxValue) facetedMaxValue = value
60
+ }
61
+
62
+ return [facetedMinValue, facetedMaxValue]
63
+ }
@@ -0,0 +1,76 @@
1
+ import { tableMemo } from '../../utils'
2
+ import { filterRows } from '../column-filtering/filterRowsUtils'
3
+ import type { Table, Table_Internal } from '../../types/Table'
4
+ import type {
5
+ ColumnFiltersState,
6
+ Row_ColumnFiltering,
7
+ } from '../column-filtering/columnFilteringFeature.types'
8
+ import type { TableFeatures } from '../../types/TableFeatures'
9
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
10
+ import type { Row } from '../../types/Row'
11
+ import type { RowData } from '../../types/type-utils'
12
+
13
+ export function createFacetedRowModel<
14
+ TFeatures extends TableFeatures,
15
+ TData extends RowData = any,
16
+ >(): (
17
+ table: Table<TFeatures, TData>,
18
+ columnId: string,
19
+ ) => () => RowModel<TFeatures, TData> {
20
+ return (_table, columnId) => {
21
+ const table: Table_Internal<TFeatures, TData> = _table
22
+ return tableMemo({
23
+ feature: 'columnFacetingFeature',
24
+ table,
25
+ fnName: 'createFacetedRowModel',
26
+ memoDeps: () => [
27
+ table.getPreFilteredRowModel(),
28
+ table.atoms.columnFilters?.get(),
29
+ table.atoms.globalFilter?.get(),
30
+ table.getFilteredRowModel(),
31
+ ],
32
+ fn: (preRowModel, columnFilters, globalFilter) =>
33
+ _createFacetedRowModel(
34
+ table,
35
+ columnId,
36
+ preRowModel,
37
+ columnFilters,
38
+ globalFilter,
39
+ ),
40
+ })
41
+ }
42
+ }
43
+
44
+ function _createFacetedRowModel<
45
+ TFeatures extends TableFeatures,
46
+ TData extends RowData = any,
47
+ >(
48
+ table: Table_Internal<TFeatures, TData>,
49
+ columnId: string,
50
+ preRowModel: RowModel<TFeatures, TData>,
51
+ columnFilters?: ColumnFiltersState,
52
+ globalFilter?: string,
53
+ ) {
54
+ if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {
55
+ return preRowModel
56
+ }
57
+
58
+ const filterableIds = [
59
+ ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),
60
+ globalFilter ? '__global__' : undefined,
61
+ ].filter(Boolean) as Array<string>
62
+
63
+ const filterRowsImpl = (
64
+ row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,
65
+ ) => {
66
+ // Horizontally filter rows through each column
67
+ for (const colId of filterableIds) {
68
+ if (row.columnFilters?.[colId] === false) {
69
+ return false
70
+ }
71
+ }
72
+ return true
73
+ }
74
+
75
+ return filterRows(preRowModel.rows, filterRowsImpl, table)
76
+ }