@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,92 @@
1
+ import {
2
+ assignPrototypeAPIs,
3
+ assignTableAPIs,
4
+ makeStateUpdater,
5
+ } from '../../utils'
6
+ import {
7
+ column_getCanGlobalFilter,
8
+ table_getGlobalAutoFilterFn,
9
+ table_getGlobalFilterFn,
10
+ table_resetGlobalFilter,
11
+ table_setGlobalFilter,
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
+ }
33
+
34
+ export function constructGlobalFilteringFeature<
35
+ TFeatures extends TableFeatures,
36
+ TData extends RowData,
37
+ >(): TableFeature<GlobalFilteringFeatureConstructors<TFeatures, TData>> {
38
+ return {
39
+ getInitialState: (initialState) => {
40
+ return {
41
+ globalFilter: undefined,
42
+ ...initialState,
43
+ }
44
+ },
45
+
46
+ getDefaultTableOptions: (table) => {
47
+ return {
48
+ onGlobalFilterChange: makeStateUpdater('globalFilter', table),
49
+ globalFilterFn: 'auto',
50
+ getColumnCanGlobalFilter: (column) => {
51
+ const value = table
52
+ .getCoreRowModel()
53
+ .flatRows[0]?.getAllCellsByColumnId()
54
+ [column.id]?.getValue()
55
+
56
+ return typeof value === 'string' || typeof value === 'number'
57
+ },
58
+ }
59
+ },
60
+
61
+ assignColumnPrototype: (prototype, table) => {
62
+ assignPrototypeAPIs('globalFilteringFeature', prototype, table, {
63
+ column_getCanGlobalFilter: {
64
+ fn: (column) => column_getCanGlobalFilter(column),
65
+ },
66
+ })
67
+ },
68
+
69
+ constructTableAPIs: (table) => {
70
+ assignTableAPIs('globalFilteringFeature', table, {
71
+ table_getGlobalAutoFilterFn: {
72
+ fn: () => table_getGlobalAutoFilterFn(),
73
+ },
74
+ table_getGlobalFilterFn: {
75
+ fn: () => table_getGlobalFilterFn(table),
76
+ },
77
+ table_setGlobalFilter: {
78
+ fn: (updater) => table_setGlobalFilter(table, updater),
79
+ },
80
+ table_resetGlobalFilter: {
81
+ fn: (defaultState) => table_resetGlobalFilter(table, defaultState),
82
+ },
83
+ })
84
+ },
85
+ }
86
+ }
87
+
88
+ /**
89
+ * The Global Filtering feature adds global filtering state and APIs to the table and column objects.
90
+ * **Note:** This is dependent on the columnFilteringFeature feature.
91
+ */
92
+ export const globalFilteringFeature = constructGlobalFilteringFeature()
@@ -0,0 +1,84 @@
1
+ import type {
2
+ CellData,
3
+ OnChangeFn,
4
+ RowData,
5
+ Updater,
6
+ } from '../../types/type-utils'
7
+ import type { TableFeatures } from '../../types/TableFeatures'
8
+ import type { Column } from '../../types/Column'
9
+ import type {
10
+ FilterFn,
11
+ FilterFnOption,
12
+ } from '../column-filtering/columnFilteringFeature.types'
13
+
14
+ export interface TableState_GlobalFiltering {
15
+ globalFilter: any
16
+ }
17
+
18
+ export interface ColumnDef_GlobalFiltering {
19
+ /**
20
+ * Enables/disables the **global** filter for this column.
21
+ */
22
+ enableGlobalFilter?: boolean
23
+ }
24
+
25
+ export interface Column_GlobalFiltering {
26
+ /**
27
+ * Returns whether or not the column can be **globally** filtered. Set to `false` to disable a column from being scanned during global filtering.
28
+ */
29
+ getCanGlobalFilter: () => boolean
30
+ }
31
+
32
+ export interface TableOptions_GlobalFiltering<
33
+ TFeatures extends TableFeatures,
34
+ TData extends RowData,
35
+ > {
36
+ /**
37
+ * Enables/disables **global** filtering for all columns.
38
+ */
39
+ enableGlobalFilter?: boolean
40
+ /**
41
+ * If provided, this function will be called with the column and should return `true` or `false` to indicate whether this column should be used for global filtering.
42
+ * This is useful if the column can contain data that is not `string` or `number` (i.e. `undefined`).
43
+ */
44
+ getColumnCanGlobalFilter?: <
45
+ TFeatures extends TableFeatures,
46
+ TData extends RowData,
47
+ TValue extends CellData = CellData,
48
+ >(
49
+ column: Column<TFeatures, TData, TValue>,
50
+ ) => boolean
51
+ /**
52
+ * The filter function to use for global filtering.
53
+ * - A `string` referencing a built-in filter function
54
+ * - A `string` that references a custom filter functions provided via the `tableOptions.filterFns` option
55
+ * - A custom filter function
56
+ */
57
+ globalFilterFn?: FilterFnOption<TFeatures, TData>
58
+ /**
59
+ * If provided, this function will be called with an `updaterFn` when `state.globalFilter` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
60
+ */
61
+ onGlobalFilterChange?: OnChangeFn<any>
62
+ }
63
+
64
+ export interface Table_GlobalFiltering<
65
+ TFeatures extends TableFeatures,
66
+ TData extends RowData,
67
+ > {
68
+ /**
69
+ * 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.
70
+ */
71
+ getGlobalAutoFilterFn: () => FilterFn<TFeatures, TData> | undefined
72
+ /**
73
+ * Returns the filter function (either user-defined or automatic, depending on configuration) for the global filter.
74
+ */
75
+ getGlobalFilterFn: () => FilterFn<TFeatures, TData> | undefined
76
+ /**
77
+ * Resets the **globalFilter** state to `initialState.globalFilter`, or `true` can be passed to force a default blank state reset to `undefined`.
78
+ */
79
+ resetGlobalFilter: (defaultState?: boolean) => void
80
+ /**
81
+ * Sets or updates the `state.globalFilter` state.
82
+ */
83
+ setGlobalFilter: (updater: Updater<any>) => void
84
+ }
@@ -0,0 +1,59 @@
1
+ import { filterFn_includesString } from '../../fns/filterFns'
2
+ import { cloneState, isFunction } from '../../utils'
3
+ import type { Column_Internal } from '../../types/Column'
4
+ import type { FilterFn } from '../column-filtering/columnFilteringFeature.types'
5
+ import type { CellData, RowData } from '../../types/type-utils'
6
+ import type { TableFeatures } from '../../types/TableFeatures'
7
+ import type { Table_Internal } from '../../types/Table'
8
+
9
+ export function column_getCanGlobalFilter<
10
+ TFeatures extends TableFeatures,
11
+ TData extends RowData,
12
+ TValue extends CellData = CellData,
13
+ >(column: Column_Internal<TFeatures, TData, TValue>): boolean {
14
+ return (
15
+ (column.columnDef.enableGlobalFilter ?? true) &&
16
+ (column.table.options.enableGlobalFilter ?? true) &&
17
+ (column.table.options.enableFilters ?? true) &&
18
+ (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) &&
19
+ !!column.accessorFn
20
+ )
21
+ }
22
+
23
+ export function table_getGlobalAutoFilterFn() {
24
+ return filterFn_includesString
25
+ }
26
+
27
+ export function table_getGlobalFilterFn<
28
+ TFeatures extends TableFeatures,
29
+ TData extends RowData,
30
+ >(
31
+ table: Table_Internal<TFeatures, TData>,
32
+ ): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {
33
+ const { globalFilterFn: globalFilterFn } = table.options
34
+ const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =
35
+ table._rowModelFns.filterFns
36
+
37
+ return isFunction(globalFilterFn)
38
+ ? globalFilterFn
39
+ : globalFilterFn === 'auto'
40
+ ? table_getGlobalAutoFilterFn()
41
+ : filterFns?.[globalFilterFn as string]
42
+ }
43
+
44
+ export function table_setGlobalFilter<
45
+ TFeatures extends TableFeatures,
46
+ TData extends RowData,
47
+ >(table: Table_Internal<TFeatures, TData>, updater: any) {
48
+ table.options.onGlobalFilterChange?.(updater)
49
+ }
50
+
51
+ export function table_resetGlobalFilter<
52
+ TFeatures extends TableFeatures,
53
+ TData extends RowData,
54
+ >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
55
+ table_setGlobalFilter(
56
+ table,
57
+ defaultState ? undefined : cloneState(table.initialState.globalFilter),
58
+ )
59
+ }
@@ -0,0 +1,72 @@
1
+ import { tableMemo } from '../../utils'
2
+ import { row_getIsExpanded } from './rowExpandingFeature.utils'
3
+ import type { TableFeatures } from '../../types/TableFeatures'
4
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
+ import type { Table, Table_Internal } from '../../types/Table'
6
+ import type { Row } from '../../types/Row'
7
+ import type { RowData } from '../../types/type-utils'
8
+
9
+ export function createExpandedRowModel<
10
+ TFeatures extends TableFeatures,
11
+ TData extends RowData = any,
12
+ >(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
13
+ return (_table) => {
14
+ const table: Table_Internal<TFeatures, TData> = _table
15
+ return tableMemo({
16
+ feature: 'rowExpandingFeature',
17
+ table,
18
+ fnName: 'table.getExpandedRowModel',
19
+ memoDeps: () => [
20
+ table.atoms.expanded?.get(),
21
+ table.getPreExpandedRowModel(),
22
+ table.options.paginateExpandedRows,
23
+ ],
24
+ fn: () => _createExpandedRowModel(table),
25
+ })
26
+ }
27
+ }
28
+
29
+ function _createExpandedRowModel<
30
+ TFeatures extends TableFeatures,
31
+ TData extends RowData = any,
32
+ >(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
33
+ const rowModel = table.getPreExpandedRowModel()
34
+ const expanded = table.atoms.expanded?.get()
35
+
36
+ if (
37
+ !rowModel.rows.length ||
38
+ (expanded !== true && !Object.keys(expanded ?? {}).length)
39
+ ) {
40
+ return rowModel
41
+ }
42
+
43
+ if (!table.options.paginateExpandedRows) {
44
+ // Only expand rows at this point if they are being paginated
45
+ return rowModel
46
+ }
47
+
48
+ return expandRows(rowModel)
49
+ }
50
+
51
+ export function expandRows<
52
+ TFeatures extends TableFeatures,
53
+ TData extends RowData = any,
54
+ >(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {
55
+ const expandedRows: Array<Row<TFeatures, TData>> = []
56
+
57
+ const handleRow = (row: Row<TFeatures, TData>) => {
58
+ expandedRows.push(row)
59
+
60
+ if (row.subRows.length && row_getIsExpanded(row)) {
61
+ row.subRows.forEach(handleRow)
62
+ }
63
+ }
64
+
65
+ rowModel.rows.forEach(handleRow)
66
+
67
+ return {
68
+ rows: expandedRows,
69
+ flatRows: rowModel.flatRows,
70
+ rowsById: rowModel.rowsById,
71
+ }
72
+ }
@@ -0,0 +1,122 @@
1
+ import {
2
+ assignPrototypeAPIs,
3
+ assignTableAPIs,
4
+ makeStateUpdater,
5
+ } from '../../utils'
6
+ import {
7
+ getDefaultExpandedState,
8
+ row_getCanExpand,
9
+ row_getIsAllParentsExpanded,
10
+ row_getIsExpanded,
11
+ row_getToggleExpandedHandler,
12
+ row_toggleExpanded,
13
+ table_autoResetExpanded,
14
+ table_getCanSomeRowsExpand,
15
+ table_getExpandedDepth,
16
+ table_getIsAllRowsExpanded,
17
+ table_getIsSomeRowsExpanded,
18
+ table_getToggleAllRowsExpandedHandler,
19
+ table_resetExpanded,
20
+ table_setExpanded,
21
+ table_toggleAllRowsExpanded,
22
+ } from './rowExpandingFeature.utils'
23
+ import type { RowData } from '../../types/type-utils'
24
+ import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
25
+ // import type {
26
+ // CachedRowModel_Expanded,
27
+ // CreateRowModel_Expanded,
28
+ // Row_RowExpanding,
29
+ // TableOptions_RowExpanding,
30
+ // TableState_RowExpanding,
31
+ // Table_RowExpanding,
32
+ // } from './rowExpandingFeature.types'
33
+
34
+ export interface RowExpandingFeatureConstructors<
35
+ TFeatures extends TableFeatures,
36
+ TData extends RowData,
37
+ > {
38
+ // CachedRowModel: CachedRowModel_Expanded<TFeatures, TData>
39
+ // CreateRowModels: CreateRowModel_Expanded<TFeatures, TData>
40
+ // Row: Row_RowExpanding
41
+ // Table: Table_RowExpanding<TFeatures, TData>
42
+ // TableOptions: TableOptions_RowExpanding<TFeatures, TData>
43
+ // TableState: TableState_RowExpanding
44
+ }
45
+
46
+ export function constructRowExpandingFeature<
47
+ TFeatures extends TableFeatures,
48
+ TData extends RowData,
49
+ >(): TableFeature<RowExpandingFeatureConstructors<TFeatures, TData>> {
50
+ return {
51
+ getInitialState: (initialState) => {
52
+ return {
53
+ expanded: getDefaultExpandedState(),
54
+ ...initialState,
55
+ }
56
+ },
57
+
58
+ getDefaultTableOptions: (table) => {
59
+ return {
60
+ onExpandedChange: makeStateUpdater('expanded', table),
61
+ paginateExpandedRows: true,
62
+ }
63
+ },
64
+
65
+ assignRowPrototype: (prototype, table) => {
66
+ assignPrototypeAPIs('rowExpandingFeature', prototype, table, {
67
+ row_toggleExpanded: {
68
+ fn: (row, expanded) => row_toggleExpanded(row, expanded),
69
+ },
70
+ row_getIsExpanded: {
71
+ fn: (row) => row_getIsExpanded(row),
72
+ },
73
+ row_getCanExpand: {
74
+ fn: (row) => row_getCanExpand(row),
75
+ },
76
+ row_getIsAllParentsExpanded: {
77
+ fn: (row) => row_getIsAllParentsExpanded(row),
78
+ },
79
+ row_getToggleExpandedHandler: {
80
+ fn: (row) => row_getToggleExpandedHandler(row),
81
+ },
82
+ })
83
+ },
84
+
85
+ constructTableAPIs: (table) => {
86
+ assignTableAPIs('rowExpandingFeature', table, {
87
+ table_autoResetExpanded: {
88
+ fn: () => table_autoResetExpanded(table),
89
+ },
90
+ table_setExpanded: {
91
+ fn: (updater) => table_setExpanded(table, updater),
92
+ },
93
+ table_toggleAllRowsExpanded: {
94
+ fn: (expanded) => table_toggleAllRowsExpanded(table, expanded),
95
+ },
96
+ table_resetExpanded: {
97
+ fn: (defaultState) => table_resetExpanded(table, defaultState),
98
+ },
99
+ table_getCanSomeRowsExpand: {
100
+ fn: () => table_getCanSomeRowsExpand(table),
101
+ },
102
+ table_getToggleAllRowsExpandedHandler: {
103
+ fn: () => table_getToggleAllRowsExpandedHandler(table),
104
+ },
105
+ table_getIsSomeRowsExpanded: {
106
+ fn: () => table_getIsSomeRowsExpanded(table),
107
+ },
108
+ table_getIsAllRowsExpanded: {
109
+ fn: () => table_getIsAllRowsExpanded(table),
110
+ },
111
+ table_getExpandedDepth: {
112
+ fn: () => table_getExpandedDepth(table),
113
+ },
114
+ })
115
+ },
116
+ }
117
+ }
118
+
119
+ /**
120
+ * The Row Expanding feature adds row expanding state and APIs to the table and row objects.
121
+ */
122
+ export const rowExpandingFeature = constructRowExpandingFeature()
@@ -0,0 +1,141 @@
1
+ import type { Table } from '../../types/Table'
2
+ import type { OnChangeFn, RowData, Updater } from '../../types/type-utils'
3
+ import type { TableFeatures } from '../../types/TableFeatures'
4
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
+ import type { Row } from '../../types/Row'
6
+
7
+ export type ExpandedStateList = Record<string, boolean>
8
+ export type ExpandedState = true | Record<string, boolean>
9
+
10
+ export interface TableState_RowExpanding {
11
+ expanded: ExpandedState
12
+ }
13
+
14
+ export interface Row_RowExpanding {
15
+ /**
16
+ * Returns whether the row can be expanded.
17
+ */
18
+ getCanExpand: () => boolean
19
+ /**
20
+ * Returns whether all parent rows of the row are expanded.
21
+ */
22
+ getIsAllParentsExpanded: () => boolean
23
+ /**
24
+ * Returns whether the row is expanded.
25
+ */
26
+ getIsExpanded: () => boolean
27
+ /**
28
+ * Returns a function that can be used to toggle the expanded state of the row. This function can be used to bind to an event handler to a button.
29
+ */
30
+ getToggleExpandedHandler: () => () => void
31
+ /**
32
+ * Toggles the expanded state (or sets it if `expanded` is provided) for the row.
33
+ */
34
+ toggleExpanded: (expanded?: boolean) => void
35
+ }
36
+
37
+ export interface TableOptions_RowExpanding<
38
+ TFeatures extends TableFeatures,
39
+ TData extends RowData,
40
+ > {
41
+ /**
42
+ * Enable this setting to automatically reset the expanded state of the table when expanding state changes.
43
+ */
44
+ autoResetExpanded?: boolean
45
+ /**
46
+ * Enable/disable expanding for all rows.
47
+ */
48
+ enableExpanding?: boolean
49
+ /**
50
+ * If provided, allows you to override the default behavior of determining whether a row is currently expanded.
51
+ */
52
+ getIsRowExpanded?: (row: Row<TFeatures, TData>) => boolean
53
+ /**
54
+ * If provided, allows you to override the default behavior of determining whether a row can be expanded.
55
+ */
56
+ getRowCanExpand?: (row: Row<TFeatures, TData>) => boolean
57
+ /**
58
+ * Enables manual row expansion. If this is set to `true`, `getExpandedRowModel` will not be used to expand rows and you would be expected to perform the expansion in your own data model. This is useful if you are doing server-side expansion.
59
+ */
60
+ manualExpanding?: boolean
61
+ /**
62
+ * This function is called when the `expanded` table state changes. If a function is provided, you will be responsible for managing this state on your own. To pass the managed state back to the table, use the `tableOptions.state.expanded` option.
63
+ */
64
+ onExpandedChange?: OnChangeFn<ExpandedState>
65
+ /**
66
+ * If `true` expanded rows will be paginated along with the rest of the table (which means expanded rows may span multiple pages). If `false` expanded rows will not be considered for pagination (which means expanded rows will always render on their parents page. This also means more rows will be rendered than the set page size)
67
+ */
68
+ paginateExpandedRows?: boolean
69
+ }
70
+
71
+ export interface Table_RowExpanding<
72
+ TFeatures extends TableFeatures,
73
+ TData extends RowData,
74
+ > {
75
+ autoResetExpanded: () => void
76
+ /**
77
+ * Returns whether there are any rows that can be expanded.
78
+ */
79
+ getCanSomeRowsExpand: () => boolean
80
+ /**
81
+ * Returns the maximum depth of the expanded rows.
82
+ */
83
+ getExpandedDepth: () => number
84
+ /**
85
+ * Returns whether all rows are currently expanded.
86
+ */
87
+ getIsAllRowsExpanded: () => boolean
88
+ /**
89
+ * Returns whether there are any rows that are currently expanded.
90
+ */
91
+ getIsSomeRowsExpanded: () => boolean
92
+ /**
93
+ * Returns a handler that can be used to toggle the expanded state of all rows. This handler is meant to be used with an `input[type=checkbox]` element.
94
+ */
95
+ getToggleAllRowsExpandedHandler: () => (event: unknown) => void
96
+ /**
97
+ * Resets the expanded state of the table to the initial state.
98
+ */
99
+ resetExpanded: (defaultState?: boolean) => void
100
+ /**
101
+ * Updates the expanded state of the table via an update function or value.
102
+ */
103
+ setExpanded: (updater: Updater<ExpandedState>) => void
104
+ /**
105
+ * Toggles the expanded state for all rows.
106
+ */
107
+ toggleAllRowsExpanded: (expanded?: boolean) => void
108
+ }
109
+
110
+ export interface Table_RowModels_Expanded<
111
+ TFeatures extends TableFeatures,
112
+ TData extends RowData,
113
+ > {
114
+ /**
115
+ * Returns the row model after expansion has been applied.
116
+ */
117
+ getExpandedRowModel: () => RowModel<TFeatures, TData>
118
+ /**
119
+ * Returns the row model before expansion has been applied.
120
+ */
121
+ getPreExpandedRowModel: () => RowModel<TFeatures, TData>
122
+ }
123
+
124
+ export interface CreateRowModel_Expanded<
125
+ TFeatures extends TableFeatures,
126
+ TData extends RowData,
127
+ > {
128
+ /**
129
+ * This function is responsible for returning the expanded row model. If this function is not provided, the table will not expand rows. You can use the default exported `getExpandedRowModel` function to get the expanded row model or implement your own.
130
+ */
131
+ expandedRowModel?: (
132
+ table: Table<TFeatures, TData>,
133
+ ) => () => RowModel<TFeatures, TData>
134
+ }
135
+
136
+ export interface CachedRowModel_Expanded<
137
+ TFeatures extends TableFeatures,
138
+ TData extends RowData,
139
+ > {
140
+ expandedRowModel: () => RowModel<TFeatures, TData>
141
+ }