@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.51

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 (602) hide show
  1. package/README.md +2 -0
  2. package/dist/core/cells/constructCell.cjs +1 -4
  3. package/dist/core/cells/constructCell.cjs.map +1 -1
  4. package/dist/core/cells/constructCell.d.cts +4 -4
  5. package/dist/core/cells/constructCell.d.ts +4 -4
  6. package/dist/core/cells/constructCell.js +1 -4
  7. package/dist/core/cells/constructCell.js.map +1 -1
  8. package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
  9. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
  10. package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
  11. package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
  12. package/dist/core/columns/constructColumn.cjs +4 -5
  13. package/dist/core/columns/constructColumn.cjs.map +1 -1
  14. package/dist/core/columns/constructColumn.d.cts +3 -3
  15. package/dist/core/columns/constructColumn.d.ts +3 -3
  16. package/dist/core/columns/constructColumn.js +4 -5
  17. package/dist/core/columns/constructColumn.js.map +1 -1
  18. package/dist/core/columns/coreColumnsFeature.cjs +12 -18
  19. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  20. package/dist/core/columns/coreColumnsFeature.js +12 -18
  21. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  22. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  23. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  24. package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
  25. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  26. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  27. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  28. package/dist/core/columns/coreColumnsFeature.utils.js +5 -9
  29. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  30. package/dist/core/coreFeatures.cjs.map +1 -1
  31. package/dist/core/coreFeatures.d.cts +1 -1
  32. package/dist/core/coreFeatures.d.ts +1 -1
  33. package/dist/core/coreFeatures.js.map +1 -1
  34. package/dist/core/headers/buildHeaderGroups.cjs +1 -2
  35. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  36. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  37. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  38. package/dist/core/headers/buildHeaderGroups.js +1 -2
  39. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  40. package/dist/core/headers/constructHeader.cjs +1 -4
  41. package/dist/core/headers/constructHeader.cjs.map +1 -1
  42. package/dist/core/headers/constructHeader.d.cts +2 -2
  43. package/dist/core/headers/constructHeader.d.ts +2 -2
  44. package/dist/core/headers/constructHeader.js +1 -4
  45. package/dist/core/headers/constructHeader.js.map +1 -1
  46. package/dist/core/headers/coreHeadersFeature.cjs +8 -11
  47. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  48. package/dist/core/headers/coreHeadersFeature.js +8 -11
  49. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  50. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  52. package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
  53. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  54. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  55. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  56. package/dist/core/headers/coreHeadersFeature.utils.js +8 -10
  57. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  58. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
  59. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
  60. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
  61. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  62. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
  64. package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
  65. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  66. package/dist/core/row-models/createCoreRowModel.cjs +4 -6
  67. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  68. package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
  69. package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
  70. package/dist/core/row-models/createCoreRowModel.js +5 -7
  71. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  72. package/dist/core/rows/constructRow.cjs +6 -10
  73. package/dist/core/rows/constructRow.cjs.map +1 -1
  74. package/dist/core/rows/constructRow.d.cts +2 -2
  75. package/dist/core/rows/constructRow.d.ts +2 -2
  76. package/dist/core/rows/constructRow.js +7 -10
  77. package/dist/core/rows/constructRow.js.map +1 -1
  78. package/dist/core/rows/coreRowsFeature.cjs +18 -2
  79. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  80. package/dist/core/rows/coreRowsFeature.js +19 -3
  81. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  82. package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
  83. package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
  84. package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
  85. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  86. package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
  87. package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
  88. package/dist/core/rows/coreRowsFeature.utils.js +61 -10
  89. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  90. package/dist/core/table/constructTable.cjs +24 -14
  91. package/dist/core/table/constructTable.cjs.map +1 -1
  92. package/dist/core/table/constructTable.d.cts +1 -1
  93. package/dist/core/table/constructTable.d.ts +1 -1
  94. package/dist/core/table/constructTable.js +24 -14
  95. package/dist/core/table/constructTable.js.map +1 -1
  96. package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
  97. package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
  98. package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
  99. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  100. package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
  101. package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
  102. package/dist/core/table/coreTablesFeature.utils.js +38 -14
  103. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  104. package/dist/experimental-worker-plugin.cjs +14 -0
  105. package/dist/experimental-worker-plugin.d.cts +5 -0
  106. package/dist/experimental-worker-plugin.d.ts +5 -0
  107. package/dist/experimental-worker-plugin.js +6 -0
  108. package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
  109. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  110. package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
  111. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  112. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
  113. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
  114. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
  115. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  116. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
  117. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
  118. package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
  119. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  120. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
  121. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  122. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  123. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  124. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  125. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  126. package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
  127. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  128. package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
  129. package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
  130. package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
  131. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  132. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
  133. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
  137. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  138. package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
  139. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  140. package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
  141. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  142. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
  143. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
  144. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
  145. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  146. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
  147. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
  148. package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  150. package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
  151. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  152. package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
  153. package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
  154. package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
  155. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  156. package/dist/features/column-filtering/filterFns.cjs +399 -0
  157. package/dist/features/column-filtering/filterFns.cjs.map +1 -0
  158. package/dist/features/column-filtering/filterFns.d.cts +210 -0
  159. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  160. package/dist/features/column-filtering/filterFns.js +375 -0
  161. package/dist/features/column-filtering/filterFns.js.map +1 -0
  162. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  163. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  164. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  165. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
  167. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  168. package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
  169. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
  170. package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
  171. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
  173. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
  179. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
  181. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  182. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
  183. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
  184. package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
  185. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
  187. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  188. package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
  189. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  190. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
  192. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
  195. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
  196. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
  197. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  198. package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
  199. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  200. package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
  201. package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
  202. package/dist/features/column-pinning/columnPinningFeature.js +125 -144
  203. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
  205. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
  206. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
  207. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  208. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
  209. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
  210. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
  211. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  212. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  216. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  220. package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
  221. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  222. package/dist/features/column-sizing/columnSizingFeature.js +34 -68
  223. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  224. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
  225. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
  226. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  228. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
  230. package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  232. package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  234. package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
  235. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  236. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
  237. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
  238. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
  239. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  240. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  244. package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
  245. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  246. package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
  247. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  248. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  249. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  250. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
  251. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  252. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
  253. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
  254. package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  256. package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
  257. package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
  258. package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
  259. package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
  260. package/dist/features/row-aggregation/aggregationFns.js +235 -0
  261. package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
  262. package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
  263. package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
  264. package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
  265. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
  266. package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
  267. package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
  268. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
  269. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
  270. package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
  271. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
  272. package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
  273. package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
  274. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
  275. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
  276. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
  277. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
  278. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
  279. package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
  280. package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
  281. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  282. package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
  283. package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
  284. package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
  285. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  286. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
  287. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
  288. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
  289. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  290. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  291. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  292. package/dist/features/row-expanding/rowExpandingFeature.utils.js +29 -27
  293. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  294. package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
  295. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  296. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
  297. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
  298. package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
  299. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  300. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
  301. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
  302. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
  303. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  304. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  305. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  306. package/dist/features/row-pagination/rowPaginationFeature.utils.js +9 -15
  307. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  308. package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
  309. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  310. package/dist/features/row-pinning/rowPinningFeature.js +4 -16
  311. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  312. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  313. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  314. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
  315. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  316. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  317. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  318. package/dist/features/row-pinning/rowPinningFeature.utils.js +9 -14
  319. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  320. package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
  321. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  322. package/dist/features/row-selection/rowSelectionFeature.js +67 -23
  323. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  324. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
  325. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
  326. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
  327. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  328. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
  329. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
  330. package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
  331. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  332. package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
  333. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  334. package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
  335. package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
  336. package/dist/features/row-sorting/createSortedRowModel.js +70 -51
  337. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  338. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
  339. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
  340. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
  341. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  342. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  343. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  344. package/dist/features/row-sorting/rowSortingFeature.utils.js +31 -17
  345. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  346. package/dist/features/row-sorting/sortFns.cjs +226 -0
  347. package/dist/features/row-sorting/sortFns.cjs.map +1 -0
  348. package/dist/features/row-sorting/sortFns.d.cts +98 -0
  349. package/dist/features/row-sorting/sortFns.d.ts +98 -0
  350. package/dist/features/row-sorting/sortFns.js +217 -0
  351. package/dist/features/row-sorting/sortFns.js.map +1 -0
  352. package/dist/features/stockFeatures.cjs +2 -0
  353. package/dist/features/stockFeatures.cjs.map +1 -1
  354. package/dist/features/stockFeatures.d.cts +2 -0
  355. package/dist/features/stockFeatures.d.ts +2 -0
  356. package/dist/features/stockFeatures.js +2 -0
  357. package/dist/features/stockFeatures.js.map +1 -1
  358. package/dist/flex-render.d.cts +1 -1
  359. package/dist/flex-render.d.ts +1 -1
  360. package/dist/helpers/columnHelper.cjs.map +1 -1
  361. package/dist/helpers/columnHelper.d.cts +2 -2
  362. package/dist/helpers/columnHelper.d.ts +2 -2
  363. package/dist/helpers/columnHelper.js.map +1 -1
  364. package/dist/helpers/metaHelper.cjs +30 -0
  365. package/dist/helpers/metaHelper.cjs.map +1 -0
  366. package/dist/helpers/metaHelper.d.cts +26 -0
  367. package/dist/helpers/metaHelper.d.ts +26 -0
  368. package/dist/helpers/metaHelper.js +29 -0
  369. package/dist/helpers/metaHelper.js.map +1 -0
  370. package/dist/helpers/tableFeatures.cjs +32 -3
  371. package/dist/helpers/tableFeatures.cjs.map +1 -1
  372. package/dist/helpers/tableFeatures.d.cts +34 -5
  373. package/dist/helpers/tableFeatures.d.ts +34 -5
  374. package/dist/helpers/tableFeatures.js +32 -3
  375. package/dist/helpers/tableFeatures.js.map +1 -1
  376. package/dist/index.cjs +23 -3
  377. package/dist/index.d.cts +31 -28
  378. package/dist/index.d.ts +31 -28
  379. package/dist/index.js +8 -5
  380. package/dist/static-functions.cjs +30 -19
  381. package/dist/static-functions.d.cts +8 -7
  382. package/dist/static-functions.d.ts +8 -7
  383. package/dist/static-functions.js +8 -7
  384. package/dist/store-reactivity-bindings.cjs +3 -3
  385. package/dist/store-reactivity-bindings.cjs.map +1 -1
  386. package/dist/store-reactivity-bindings.d.cts +1 -1
  387. package/dist/store-reactivity-bindings.d.ts +1 -1
  388. package/dist/store-reactivity-bindings.js +3 -3
  389. package/dist/store-reactivity-bindings.js.map +1 -1
  390. package/dist/types/Cell.d.cts +4 -2
  391. package/dist/types/Cell.d.ts +4 -2
  392. package/dist/types/Column.d.cts +15 -15
  393. package/dist/types/Column.d.ts +15 -15
  394. package/dist/types/ColumnDef.d.cts +30 -14
  395. package/dist/types/ColumnDef.d.ts +30 -14
  396. package/dist/types/Header.d.cts +2 -2
  397. package/dist/types/Header.d.ts +2 -2
  398. package/dist/types/HeaderGroup.d.cts +2 -2
  399. package/dist/types/HeaderGroup.d.ts +2 -2
  400. package/dist/types/Row.d.cts +6 -4
  401. package/dist/types/Row.d.ts +6 -4
  402. package/dist/types/RowModel.d.cts +11 -23
  403. package/dist/types/RowModel.d.ts +11 -23
  404. package/dist/types/RowModelFns.d.cts +4 -4
  405. package/dist/types/RowModelFns.d.ts +4 -4
  406. package/dist/types/Table.d.cts +26 -31
  407. package/dist/types/Table.d.ts +26 -31
  408. package/dist/types/TableFeatures.d.cts +350 -22
  409. package/dist/types/TableFeatures.d.ts +350 -22
  410. package/dist/types/TableOptions.d.cts +22 -14
  411. package/dist/types/TableOptions.d.ts +22 -14
  412. package/dist/types/TableState.d.cts +6 -6
  413. package/dist/types/TableState.d.ts +6 -6
  414. package/dist/types/type-utils.d.cts +8 -1
  415. package/dist/types/type-utils.d.ts +8 -1
  416. package/dist/utils.cjs +51 -29
  417. package/dist/utils.cjs.map +1 -1
  418. package/dist/utils.d.cts +30 -8
  419. package/dist/utils.d.ts +30 -8
  420. package/dist/utils.js +49 -30
  421. package/dist/utils.js.map +1 -1
  422. package/dist/worker/createTableWorker.cjs +189 -0
  423. package/dist/worker/createTableWorker.cjs.map +1 -0
  424. package/dist/worker/createTableWorker.d.cts +102 -0
  425. package/dist/worker/createTableWorker.d.ts +102 -0
  426. package/dist/worker/createTableWorker.js +186 -0
  427. package/dist/worker/createTableWorker.js.map +1 -0
  428. package/dist/worker/createWorkerRowModel.cjs +78 -0
  429. package/dist/worker/createWorkerRowModel.cjs.map +1 -0
  430. package/dist/worker/createWorkerRowModel.d.cts +42 -0
  431. package/dist/worker/createWorkerRowModel.d.ts +42 -0
  432. package/dist/worker/createWorkerRowModel.js +78 -0
  433. package/dist/worker/createWorkerRowModel.js.map +1 -0
  434. package/dist/worker/initTableWorker.cjs +100 -0
  435. package/dist/worker/initTableWorker.cjs.map +1 -0
  436. package/dist/worker/initTableWorker.d.cts +33 -0
  437. package/dist/worker/initTableWorker.d.ts +33 -0
  438. package/dist/worker/initTableWorker.js +100 -0
  439. package/dist/worker/initTableWorker.js.map +1 -0
  440. package/dist/worker/rebuildRowModel.cjs +72 -0
  441. package/dist/worker/rebuildRowModel.cjs.map +1 -0
  442. package/dist/worker/rebuildRowModel.d.cts +9 -0
  443. package/dist/worker/rebuildRowModel.d.ts +9 -0
  444. package/dist/worker/rebuildRowModel.js +72 -0
  445. package/dist/worker/rebuildRowModel.js.map +1 -0
  446. package/dist/worker/serializeRowModel.cjs +53 -0
  447. package/dist/worker/serializeRowModel.cjs.map +1 -0
  448. package/dist/worker/serializeRowModel.js +52 -0
  449. package/dist/worker/serializeRowModel.js.map +1 -0
  450. package/dist/worker/tableWorkerProtocol.cjs +29 -0
  451. package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
  452. package/dist/worker/tableWorkerProtocol.d.cts +88 -0
  453. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  454. package/dist/worker/tableWorkerProtocol.js +27 -0
  455. package/dist/worker/tableWorkerProtocol.js.map +1 -0
  456. package/package.json +8 -3
  457. package/skills/aggregation/SKILL.md +141 -0
  458. package/skills/api-not-found/SKILL.md +113 -0
  459. package/skills/client-vs-server/SKILL.md +164 -0
  460. package/skills/column-faceting/SKILL.md +97 -0
  461. package/skills/column-filtering/SKILL.md +87 -0
  462. package/skills/column-ordering/SKILL.md +75 -0
  463. package/skills/column-pinning/SKILL.md +89 -0
  464. package/skills/column-resizing/SKILL.md +91 -0
  465. package/skills/column-sizing/SKILL.md +72 -0
  466. package/skills/column-visibility/SKILL.md +75 -0
  467. package/skills/core/SKILL.md +175 -0
  468. package/skills/custom-features/SKILL.md +235 -0
  469. package/skills/expanding/SKILL.md +80 -0
  470. package/skills/global-filtering/SKILL.md +84 -0
  471. package/skills/grouping/SKILL.md +51 -401
  472. package/skills/migrate-v8-to-v9/SKILL.md +274 -416
  473. package/skills/pagination/SKILL.md +37 -344
  474. package/skills/row-pinning/SKILL.md +47 -234
  475. package/skills/row-selection/SKILL.md +75 -302
  476. package/skills/sorting/SKILL.md +45 -303
  477. package/skills/table-features/SKILL.md +159 -0
  478. package/skills/typescript/SKILL.md +126 -0
  479. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  480. package/src/core/columns/constructColumn.ts +6 -0
  481. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  482. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  483. package/src/core/coreFeatures.ts +1 -1
  484. package/src/core/headers/buildHeaderGroups.ts +4 -2
  485. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  486. package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
  487. package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
  488. package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
  489. package/src/core/row-models/createCoreRowModel.ts +7 -6
  490. package/src/core/rows/constructRow.ts +4 -2
  491. package/src/core/rows/coreRowsFeature.ts +21 -0
  492. package/src/core/rows/coreRowsFeature.types.ts +45 -8
  493. package/src/core/rows/coreRowsFeature.utils.ts +93 -5
  494. package/src/core/table/constructTable.ts +44 -6
  495. package/src/core/table/coreTablesFeature.types.ts +45 -20
  496. package/src/core/table/coreTablesFeature.utils.ts +59 -19
  497. package/src/experimental-worker-plugin.ts +22 -0
  498. package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
  499. package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
  500. package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
  501. package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
  502. package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
  503. package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
  504. package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
  505. package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
  506. package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
  507. package/src/features/column-filtering/filterFns.ts +533 -0
  508. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  509. package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
  510. package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
  511. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
  512. package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
  513. package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
  514. package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
  515. package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
  516. package/src/features/column-pinning/columnPinningFeature.ts +76 -59
  517. package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
  518. package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
  519. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  520. package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
  521. package/src/features/column-sizing/columnSizingFeature.ts +24 -24
  522. package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
  523. package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
  524. package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
  525. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  526. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
  527. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  528. package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
  529. package/src/features/row-aggregation/aggregationFns.ts +345 -0
  530. package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
  531. package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
  532. package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
  533. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
  534. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  535. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  536. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
  537. package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
  538. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  539. package/src/features/row-selection/rowSelectionFeature.ts +53 -3
  540. package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
  541. package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
  542. package/src/features/row-sorting/createSortedRowModel.ts +107 -75
  543. package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
  544. package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
  545. package/src/features/row-sorting/sortFns.ts +366 -0
  546. package/src/features/stockFeatures.ts +3 -0
  547. package/src/helpers/columnHelper.ts +4 -4
  548. package/src/helpers/metaHelper.ts +24 -0
  549. package/src/helpers/tableFeatures.ts +37 -5
  550. package/src/index.ts +8 -8
  551. package/src/static-functions.ts +1 -0
  552. package/src/store-reactivity-bindings.ts +1 -1
  553. package/src/types/Cell.ts +4 -2
  554. package/src/types/Column.ts +13 -9
  555. package/src/types/ColumnDef.ts +40 -10
  556. package/src/types/Header.ts +2 -2
  557. package/src/types/HeaderGroup.ts +6 -6
  558. package/src/types/Row.ts +6 -4
  559. package/src/types/RowModel.ts +19 -74
  560. package/src/types/RowModelFns.ts +10 -10
  561. package/src/types/Table.ts +52 -27
  562. package/src/types/TableFeatures.ts +392 -14
  563. package/src/types/TableOptions.ts +67 -14
  564. package/src/types/TableState.ts +15 -1
  565. package/src/types/type-utils.ts +8 -0
  566. package/src/utils.ts +60 -8
  567. package/src/worker/createTableWorker.ts +357 -0
  568. package/src/worker/createWorkerRowModel.ts +121 -0
  569. package/src/worker/initTableWorker.ts +164 -0
  570. package/src/worker/rebuildRowModel.ts +120 -0
  571. package/src/worker/serializeRowModel.ts +80 -0
  572. package/src/worker/tableWorkerProtocol.ts +105 -0
  573. package/dist/fns/aggregationFns.cjs +0 -161
  574. package/dist/fns/aggregationFns.cjs.map +0 -1
  575. package/dist/fns/aggregationFns.d.cts +0 -85
  576. package/dist/fns/aggregationFns.d.ts +0 -85
  577. package/dist/fns/aggregationFns.js +0 -151
  578. package/dist/fns/aggregationFns.js.map +0 -1
  579. package/dist/fns/filterFns.cjs +0 -201
  580. package/dist/fns/filterFns.cjs.map +0 -1
  581. package/dist/fns/filterFns.d.cts +0 -167
  582. package/dist/fns/filterFns.d.ts +0 -167
  583. package/dist/fns/filterFns.js +0 -185
  584. package/dist/fns/filterFns.js.map +0 -1
  585. package/dist/fns/sortFns.cjs +0 -118
  586. package/dist/fns/sortFns.cjs.map +0 -1
  587. package/dist/fns/sortFns.d.cts +0 -65
  588. package/dist/fns/sortFns.d.ts +0 -65
  589. package/dist/fns/sortFns.js +0 -110
  590. package/dist/fns/sortFns.js.map +0 -1
  591. package/skills/column-definitions/SKILL.md +0 -333
  592. package/skills/column-layout/SKILL.md +0 -328
  593. package/skills/column-layout/references/subsystems.md +0 -220
  594. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  595. package/skills/filtering/SKILL.md +0 -357
  596. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  597. package/skills/row-expanding/SKILL.md +0 -348
  598. package/skills/setup/SKILL.md +0 -400
  599. package/skills/state-management/SKILL.md +0 -388
  600. package/src/fns/aggregationFns.ts +0 -245
  601. package/src/fns/filterFns.ts +0 -382
  602. package/src/fns/sortFns.ts +0 -217
@@ -1,8 +1,8 @@
1
1
  import { CellData, RowData } from "../../types/type-utils.cjs";
2
- import { Column_Internal } from "../../types/Column.cjs";
3
- import { TableFeatures } from "../../types/TableFeatures.cjs";
4
- import { Table_Internal } from "../../types/Table.cjs";
5
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
3
+ import { Table } from "../../types/Table.cjs";
4
+ import { Column } from "../../types/Column.cjs";
5
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
6
6
 
7
7
  //#region src/features/column-faceting/columnFacetingFeature.utils.d.ts
8
8
  /**
@@ -16,7 +16,7 @@ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
16
16
  * const range = column_getFacetedMinMaxValues(column, table)
17
17
  * ```
18
18
  */
19
- declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, table: Table_Internal<TFeatures, TData>): [number, number] | undefined;
19
+ declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, table: Table<TFeatures, TData>): [number, number] | undefined;
20
20
  /**
21
21
  * Computes the row model used to derive one column's facet values.
22
22
  *
@@ -29,7 +29,7 @@ declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures,
29
29
  * const rows = column_getFacetedRowModel(column, table)
30
30
  * ```
31
31
  */
32
- declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue> | undefined, table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
32
+ declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue> | undefined, table: Table<TFeatures, TData>): RowModel<TFeatures, TData>;
33
33
  /**
34
34
  * Computes unique facet values and their occurrence counts for one column.
35
35
  *
@@ -41,7 +41,7 @@ declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TDat
41
41
  * const values = column_getFacetedUniqueValues(column, table)
42
42
  * ```
43
43
  */
44
- declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, table: Table_Internal<TFeatures, TData>): Map<any, number>;
44
+ declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, table: Table<TFeatures, TData>): Map<any, number>;
45
45
  /**
46
46
  * Computes min and max numeric facet values for the global filter context.
47
47
  *
@@ -53,7 +53,7 @@ declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures,
53
53
  * const range = table_getGlobalFacetedMinMaxValues(table)
54
54
  * ```
55
55
  */
56
- declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): undefined | [number, number];
56
+ declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): undefined | [number, number];
57
57
  /**
58
58
  * Computes the row model used to derive global facet values.
59
59
  *
@@ -66,7 +66,7 @@ declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatu
66
66
  * const rows = table_getGlobalFacetedRowModel(table)
67
67
  * ```
68
68
  */
69
- declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
69
+ declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): RowModel<TFeatures, TData>;
70
70
  /**
71
71
  * Computes unique values and occurrence counts for the global filter context.
72
72
  *
@@ -78,7 +78,7 @@ declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures,
78
78
  * const values = table_getGlobalFacetedUniqueValues(table)
79
79
  * ```
80
80
  */
81
- declare function table_getGlobalFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Map<any, number>;
81
+ declare function table_getGlobalFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Map<any, number>;
82
82
  //#endregion
83
83
  export { column_getFacetedMinMaxValues, column_getFacetedRowModel, column_getFacetedUniqueValues, table_getGlobalFacetedMinMaxValues, table_getGlobalFacetedRowModel, table_getGlobalFacetedUniqueValues };
84
84
  //# sourceMappingURL=columnFacetingFeature.utils.d.cts.map
@@ -1,8 +1,8 @@
1
1
  import { CellData, RowData } from "../../types/type-utils.js";
2
- import { Column_Internal } from "../../types/Column.js";
3
- import { TableFeatures } from "../../types/TableFeatures.js";
4
- import { Table_Internal } from "../../types/Table.js";
5
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
3
+ import { Table } from "../../types/Table.js";
4
+ import { Column } from "../../types/Column.js";
5
+ import { TableFeatures } from "../../types/TableFeatures.js";
6
6
 
7
7
  //#region src/features/column-faceting/columnFacetingFeature.utils.d.ts
8
8
  /**
@@ -16,7 +16,7 @@ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
16
16
  * const range = column_getFacetedMinMaxValues(column, table)
17
17
  * ```
18
18
  */
19
- declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, table: Table_Internal<TFeatures, TData>): [number, number] | undefined;
19
+ declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, table: Table<TFeatures, TData>): [number, number] | undefined;
20
20
  /**
21
21
  * Computes the row model used to derive one column's facet values.
22
22
  *
@@ -29,7 +29,7 @@ declare function column_getFacetedMinMaxValues<TFeatures extends TableFeatures,
29
29
  * const rows = column_getFacetedRowModel(column, table)
30
30
  * ```
31
31
  */
32
- declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue> | undefined, table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
32
+ declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue> | undefined, table: Table<TFeatures, TData>): RowModel<TFeatures, TData>;
33
33
  /**
34
34
  * Computes unique facet values and their occurrence counts for one column.
35
35
  *
@@ -41,7 +41,7 @@ declare function column_getFacetedRowModel<TFeatures extends TableFeatures, TDat
41
41
  * const values = column_getFacetedUniqueValues(column, table)
42
42
  * ```
43
43
  */
44
- declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, table: Table_Internal<TFeatures, TData>): Map<any, number>;
44
+ declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, table: Table<TFeatures, TData>): Map<any, number>;
45
45
  /**
46
46
  * Computes min and max numeric facet values for the global filter context.
47
47
  *
@@ -53,7 +53,7 @@ declare function column_getFacetedUniqueValues<TFeatures extends TableFeatures,
53
53
  * const range = table_getGlobalFacetedMinMaxValues(table)
54
54
  * ```
55
55
  */
56
- declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): undefined | [number, number];
56
+ declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): undefined | [number, number];
57
57
  /**
58
58
  * Computes the row model used to derive global facet values.
59
59
  *
@@ -66,7 +66,7 @@ declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatu
66
66
  * const rows = table_getGlobalFacetedRowModel(table)
67
67
  * ```
68
68
  */
69
- declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
69
+ declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): RowModel<TFeatures, TData>;
70
70
  /**
71
71
  * Computes unique values and occurrence counts for the global filter context.
72
72
  *
@@ -78,7 +78,7 @@ declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures,
78
78
  * const values = table_getGlobalFacetedUniqueValues(table)
79
79
  * ```
80
80
  */
81
- declare function table_getGlobalFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Map<any, number>;
81
+ declare function table_getGlobalFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Map<any, number>;
82
82
  //#endregion
83
83
  export { column_getFacetedMinMaxValues, column_getFacetedRowModel, column_getFacetedUniqueValues, table_getGlobalFacetedMinMaxValues, table_getGlobalFacetedRowModel, table_getGlobalFacetedUniqueValues };
84
84
  //# sourceMappingURL=columnFacetingFeature.utils.d.ts.map
@@ -1,3 +1,5 @@
1
+ import { makeObjectMap } from "../../utils.js";
2
+
1
3
  //#region src/features/column-faceting/columnFacetingFeature.utils.ts
2
4
  /**
3
5
  * Computes min and max numeric facet values for one column.
@@ -11,8 +13,10 @@
11
13
  * ```
12
14
  */
13
15
  function column_getFacetedMinMaxValues(column, table) {
14
- var _table$options$rowMod, _table$options$rowMod2;
15
- return (((_table$options$rowMod = table.options.rowModels) === null || _table$options$rowMod === void 0 || (_table$options$rowMod2 = _table$options$rowMod.facetedMinMaxValues) === null || _table$options$rowMod2 === void 0 ? void 0 : _table$options$rowMod2.call(_table$options$rowMod, table, column.id)) ?? (() => void 0))();
16
+ const facetedMinMaxValues = table._rowModels.facetedMinMaxValues ??= makeObjectMap();
17
+ let facetedMinMaxValuesFn = facetedMinMaxValues[column.id];
18
+ if (!facetedMinMaxValuesFn) facetedMinMaxValuesFn = facetedMinMaxValues[column.id] = table.options.features.facetedMinMaxValues?.(table, column.id) ?? (() => void 0);
19
+ return facetedMinMaxValuesFn();
16
20
  }
17
21
  /**
18
22
  * Computes the row model used to derive one column's facet values.
@@ -27,8 +31,11 @@ function column_getFacetedMinMaxValues(column, table) {
27
31
  * ```
28
32
  */
29
33
  function column_getFacetedRowModel(column, table) {
30
- var _table$options$rowMod3, _table$options$rowMod4;
31
- return (((_table$options$rowMod3 = table.options.rowModels) === null || _table$options$rowMod3 === void 0 || (_table$options$rowMod4 = _table$options$rowMod3.facetedRowModel) === null || _table$options$rowMod4 === void 0 ? void 0 : _table$options$rowMod4.call(_table$options$rowMod3, table, (column === null || column === void 0 ? void 0 : column.id) ?? "")) ?? (() => table.getPreFilteredRowModel()))();
34
+ const columnId = column?.id ?? "";
35
+ const facetedRowModels = table._rowModels.facetedRowModels ??= makeObjectMap();
36
+ let facetedRowModelFn = facetedRowModels[columnId];
37
+ if (!facetedRowModelFn) facetedRowModelFn = facetedRowModels[columnId] = table.options.features.facetedRowModel?.(table, columnId) ?? (() => table.getPreFilteredRowModel());
38
+ return facetedRowModelFn();
32
39
  }
33
40
  /**
34
41
  * Computes unique facet values and their occurrence counts for one column.
@@ -42,8 +49,10 @@ function column_getFacetedRowModel(column, table) {
42
49
  * ```
43
50
  */
44
51
  function column_getFacetedUniqueValues(column, table) {
45
- var _table$options$rowMod5, _table$options$rowMod6;
46
- return (((_table$options$rowMod5 = table.options.rowModels) === null || _table$options$rowMod5 === void 0 || (_table$options$rowMod6 = _table$options$rowMod5.facetedUniqueValues) === null || _table$options$rowMod6 === void 0 ? void 0 : _table$options$rowMod6.call(_table$options$rowMod5, table, column.id)) ?? (() => /* @__PURE__ */ new Map()))();
52
+ const facetedUniqueValues = table._rowModels.facetedUniqueValues ??= makeObjectMap();
53
+ let facetedUniqueValuesFn = facetedUniqueValues[column.id];
54
+ if (!facetedUniqueValuesFn) facetedUniqueValuesFn = facetedUniqueValues[column.id] = table.options.features.facetedUniqueValues?.(table, column.id) ?? (() => /* @__PURE__ */ new Map());
55
+ return facetedUniqueValuesFn();
47
56
  }
48
57
  /**
49
58
  * Computes min and max numeric facet values for the global filter context.
@@ -57,8 +66,9 @@ function column_getFacetedUniqueValues(column, table) {
57
66
  * ```
58
67
  */
59
68
  function table_getGlobalFacetedMinMaxValues(table) {
60
- var _table$options$rowMod7, _table$options$rowMod8;
61
- return (((_table$options$rowMod7 = table.options.rowModels) === null || _table$options$rowMod7 === void 0 || (_table$options$rowMod8 = _table$options$rowMod7.facetedMinMaxValues) === null || _table$options$rowMod8 === void 0 ? void 0 : _table$options$rowMod8.call(_table$options$rowMod7, table, "__global__")) ?? (() => void 0))();
69
+ if (!table._rowModels.globalFacetedMinMaxValues) table._rowModels.globalFacetedMinMaxValues = table.options.features.facetedMinMaxValues?.(table, "__global__") ?? (() => void 0);
70
+ const facetedMinMaxValuesFn = table._rowModels.globalFacetedMinMaxValues;
71
+ return facetedMinMaxValuesFn();
62
72
  }
63
73
  /**
64
74
  * Computes the row model used to derive global facet values.
@@ -73,8 +83,9 @@ function table_getGlobalFacetedMinMaxValues(table) {
73
83
  * ```
74
84
  */
75
85
  function table_getGlobalFacetedRowModel(table) {
76
- var _table$options$rowMod9, _table$options$rowMod10;
77
- return (((_table$options$rowMod9 = table.options.rowModels) === null || _table$options$rowMod9 === void 0 || (_table$options$rowMod10 = _table$options$rowMod9.facetedRowModel) === null || _table$options$rowMod10 === void 0 ? void 0 : _table$options$rowMod10.call(_table$options$rowMod9, table, "__global__")) ?? (() => table.getPreFilteredRowModel()))();
86
+ if (!table._rowModels.globalFacetedRowModel) table._rowModels.globalFacetedRowModel = table.options.features.facetedRowModel?.(table, "__global__") ?? (() => table.getPreFilteredRowModel());
87
+ const facetedRowModelFn = table._rowModels.globalFacetedRowModel;
88
+ return facetedRowModelFn();
78
89
  }
79
90
  /**
80
91
  * Computes unique values and occurrence counts for the global filter context.
@@ -88,8 +99,9 @@ function table_getGlobalFacetedRowModel(table) {
88
99
  * ```
89
100
  */
90
101
  function table_getGlobalFacetedUniqueValues(table) {
91
- var _table$options$rowMod11, _table$options$rowMod12;
92
- return (((_table$options$rowMod11 = table.options.rowModels) === null || _table$options$rowMod11 === void 0 || (_table$options$rowMod12 = _table$options$rowMod11.facetedUniqueValues) === null || _table$options$rowMod12 === void 0 ? void 0 : _table$options$rowMod12.call(_table$options$rowMod11, table, "__global__")) ?? (() => /* @__PURE__ */ new Map()))();
102
+ if (!table._rowModels.globalFacetedUniqueValues) table._rowModels.globalFacetedUniqueValues = table.options.features.facetedUniqueValues?.(table, "__global__") ?? (() => /* @__PURE__ */ new Map());
103
+ const facetedUniqueValuesFn = table._rowModels.globalFacetedUniqueValues;
104
+ return facetedUniqueValuesFn();
93
105
  }
94
106
 
95
107
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"columnFacetingFeature.utils.js","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.utils.ts"],"sourcesContent":["import type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\n\n/**\n * Computes min and max numeric facet values for one column.\n *\n * The configured `facetedMinMaxValues` row-model factory owns the calculation.\n * If no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = column_getFacetedMinMaxValues(column, table)\n * ```\n */\nexport function column_getFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): [number, number] | undefined {\n const facetedMinMaxValuesFn =\n table.options.rowModels?.facetedMinMaxValues?.(table, column.id) ??\n (() => undefined)\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive one column's facet values.\n *\n * The faceted row model normally applies every other active filter while\n * excluding this column's own filter. If no factory is registered, the\n * pre-filtered row model is returned.\n *\n * @example\n * ```ts\n * const rows = column_getFacetedRowModel(column, table)\n * ```\n */\nexport function column_getFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const facetedRowModelFn =\n table.options.rowModels?.facetedRowModel?.(table, column?.id ?? '') ??\n (() => table.getPreFilteredRowModel())\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique facet values and their occurrence counts for one column.\n *\n * The configured `facetedUniqueValues` row-model factory owns the calculation.\n * If no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = column_getFacetedUniqueValues(column, table)\n * ```\n */\nexport function column_getFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): Map<any, number> {\n const facetedUniqueValuesFn =\n table.options.rowModels?.facetedUniqueValues?.(table, column.id) ??\n (() => new Map<any, number>())\n return facetedUniqueValuesFn()\n}\n\n/**\n * Computes min and max numeric facet values for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = table_getGlobalFacetedMinMaxValues(table)\n * ```\n */\nexport function table_getGlobalFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {\n const facetedMinMaxValuesFn =\n table.options.rowModels?.facetedMinMaxValues?.(table, '__global__') ??\n (() => undefined)\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive global facet values.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no faceted row-model factory is registered, the pre-filtered row model is\n * returned.\n *\n * @example\n * ```ts\n * const rows = table_getGlobalFacetedRowModel(table)\n * ```\n */\nexport function table_getGlobalFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const facetedRowModelFn =\n table.options.rowModels?.facetedRowModel?.(table, '__global__') ??\n (() => table.getPreFilteredRowModel())\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique values and occurrence counts for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = table_getGlobalFacetedUniqueValues(table)\n * ```\n */\nexport function table_getGlobalFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Map<any, number> {\n const facetedUniqueValuesFn =\n table.options.rowModels?.facetedUniqueValues?.(table, '__global__') ??\n (() => new Map())\n return facetedUniqueValuesFn()\n}\n"],"mappings":";;;;;;;;;;;;AAiBA,SAAgB,8BAKd,QACA,OAC8B;;CAI9B,kCAFE,MAAM,QAAQ,2GAAW,iIAAsB,OAAO,OAAO,EAAE,aACxD,QACmB,CAAC;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,0BAKd,QACA,OAC4B;;CAI5B,mCAFE,MAAM,QAAQ,6GAAW,8HAAkB,wDAAO,OAAQ,OAAM,EAAE,aAC3D,MAAM,uBAAuB,GACd,CAAC;AAC3B;;;;;;;;;;;;AAaA,SAAgB,8BAKd,QACA,OACkB;;CAIlB,mCAFE,MAAM,QAAQ,6GAAW,kIAAsB,OAAO,OAAO,EAAE,6BACxD,IAAI,IAAiB,GACF,CAAC;AAC/B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAAuE;;CAIvE,mCAFE,MAAM,QAAQ,6GAAW,kIAAsB,OAAO,YAAY,aAC3D,QACmB,CAAC;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,+BAGd,OAAqE;;CAIrE,mCAFE,MAAM,QAAQ,8GAAW,gIAAkB,OAAO,YAAY,aACvD,MAAM,uBAAuB,GACd,CAAC;AAC3B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAA2D;;CAI3D,oCAFE,MAAM,QAAQ,gHAAW,qIAAsB,OAAO,YAAY,6BAC3D,IAAI,IAAI,GACW,CAAC;AAC/B"}
1
+ {"version":3,"file":"columnFacetingFeature.utils.js","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.utils.ts"],"sourcesContent":["import { makeObjectMap } from '../../utils'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\n\n/**\n * Computes min and max numeric facet values for one column.\n *\n * The configured `facetedMinMaxValues` row-model factory owns the calculation.\n * If no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = column_getFacetedMinMaxValues(column, table)\n * ```\n */\nexport function column_getFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): [number, number] | undefined {\n const facetedMinMaxValues = (table._rowModels.facetedMinMaxValues ??=\n makeObjectMap())\n let facetedMinMaxValuesFn = facetedMinMaxValues[column.id]\n\n if (!facetedMinMaxValuesFn) {\n facetedMinMaxValuesFn = facetedMinMaxValues[column.id] =\n table.options.features.facetedMinMaxValues?.(table, column.id) ??\n (() => undefined)\n }\n\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive one column's facet values.\n *\n * The faceted row model normally applies every other active filter while\n * excluding this column's own filter. If no factory is registered, the\n * pre-filtered row model is returned.\n *\n * @example\n * ```ts\n * const rows = column_getFacetedRowModel(column, table)\n * ```\n */\nexport function column_getFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const columnId = column?.id ?? ''\n const facetedRowModels = (table._rowModels.facetedRowModels ??=\n makeObjectMap())\n let facetedRowModelFn = facetedRowModels[columnId]\n\n if (!facetedRowModelFn) {\n facetedRowModelFn = facetedRowModels[columnId] =\n table.options.features.facetedRowModel?.(table, columnId) ??\n (() => table.getPreFilteredRowModel())\n }\n\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique facet values and their occurrence counts for one column.\n *\n * The configured `facetedUniqueValues` row-model factory owns the calculation.\n * If no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = column_getFacetedUniqueValues(column, table)\n * ```\n */\nexport function column_getFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): Map<any, number> {\n const facetedUniqueValues = (table._rowModels.facetedUniqueValues ??=\n makeObjectMap())\n let facetedUniqueValuesFn = facetedUniqueValues[column.id]\n\n if (!facetedUniqueValuesFn) {\n facetedUniqueValuesFn = facetedUniqueValues[column.id] =\n table.options.features.facetedUniqueValues?.(table, column.id) ??\n (() => new Map<any, number>())\n }\n\n return facetedUniqueValuesFn()\n}\n\n/**\n * Computes min and max numeric facet values for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = table_getGlobalFacetedMinMaxValues(table)\n * ```\n */\nexport function table_getGlobalFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {\n if (!table._rowModels.globalFacetedMinMaxValues) {\n table._rowModels.globalFacetedMinMaxValues =\n table.options.features.facetedMinMaxValues?.(table, '__global__') ??\n (() => undefined)\n }\n\n const facetedMinMaxValuesFn = table._rowModels.globalFacetedMinMaxValues\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive global facet values.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no faceted row-model factory is registered, the pre-filtered row model is\n * returned.\n *\n * @example\n * ```ts\n * const rows = table_getGlobalFacetedRowModel(table)\n * ```\n */\nexport function table_getGlobalFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.globalFacetedRowModel) {\n table._rowModels.globalFacetedRowModel =\n table.options.features.facetedRowModel?.(table, '__global__') ??\n (() => table.getPreFilteredRowModel())\n }\n\n const facetedRowModelFn = table._rowModels.globalFacetedRowModel\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique values and occurrence counts for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = table_getGlobalFacetedUniqueValues(table)\n * ```\n */\nexport function table_getGlobalFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Map<any, number> {\n if (!table._rowModels.globalFacetedUniqueValues) {\n table._rowModels.globalFacetedUniqueValues =\n table.options.features.facetedUniqueValues?.(table, '__global__') ??\n (() => new Map())\n }\n\n const facetedUniqueValuesFn = table._rowModels.globalFacetedUniqueValues\n return facetedUniqueValuesFn()\n}\n"],"mappings":";;;;;;;;;;;;;;AAkBA,SAAgB,8BAKd,QACA,OAC8B;CAC9B,MAAM,sBAAuB,MAAM,WAAW,wBAC5C,cAAc;CAChB,IAAI,wBAAwB,oBAAoB,OAAO;CAEvD,IAAI,CAAC,uBACH,wBAAwB,oBAAoB,OAAO,MACjD,MAAM,QAAQ,SAAS,sBAAsB,OAAO,OAAO,EAAE,YACtD;CAGX,OAAO,sBAAsB;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,0BAKd,QACA,OAC4B;CAC5B,MAAM,WAAW,QAAQ,MAAM;CAC/B,MAAM,mBAAoB,MAAM,WAAW,qBACzC,cAAc;CAChB,IAAI,oBAAoB,iBAAiB;CAEzC,IAAI,CAAC,mBACH,oBAAoB,iBAAiB,YACnC,MAAM,QAAQ,SAAS,kBAAkB,OAAO,QAAQ,YACjD,MAAM,uBAAuB;CAGxC,OAAO,kBAAkB;AAC3B;;;;;;;;;;;;AAaA,SAAgB,8BAKd,QACA,OACkB;CAClB,MAAM,sBAAuB,MAAM,WAAW,wBAC5C,cAAc;CAChB,IAAI,wBAAwB,oBAAoB,OAAO;CAEvD,IAAI,CAAC,uBACH,wBAAwB,oBAAoB,OAAO,MACjD,MAAM,QAAQ,SAAS,sBAAsB,OAAO,OAAO,EAAE,4BACtD,IAAI,IAAiB;CAGhC,OAAO,sBAAsB;AAC/B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAAuE;CACvE,IAAI,CAAC,MAAM,WAAW,2BACpB,MAAM,WAAW,4BACf,MAAM,QAAQ,SAAS,sBAAsB,OAAO,YAAY,YACzD;CAGX,MAAM,wBAAwB,MAAM,WAAW;CAC/C,OAAO,sBAAsB;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,+BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,uBACpB,MAAM,WAAW,wBACf,MAAM,QAAQ,SAAS,kBAAkB,OAAO,YAAY,YACrD,MAAM,uBAAuB;CAGxC,MAAM,oBAAoB,MAAM,WAAW;CAC3C,OAAO,kBAAkB;AAC3B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAA2D;CAC3D,IAAI,CAAC,MAAM,WAAW,2BACpB,MAAM,WAAW,4BACf,MAAM,QAAQ,SAAS,sBAAsB,OAAO,YAAY,4BACzD,IAAI,IAAI;CAGnB,MAAM,wBAAwB,MAAM,WAAW;CAC/C,OAAO,sBAAsB;AAC/B"}
@@ -1,5 +1,6 @@
1
1
  const require_utils = require('../../utils.cjs');
2
2
  const require_columnFacetingFeature_utils = require('./columnFacetingFeature.utils.cjs');
3
+ const require_globalFilteringFeature_utils = require('../global-filtering/globalFilteringFeature.utils.cjs');
3
4
 
4
5
  //#region src/features/column-faceting/createFacetedMinMaxValues.ts
5
6
  /**
@@ -12,9 +13,10 @@ function createFacetedMinMaxValues() {
12
13
  const table = _table;
13
14
  return require_utils.tableMemo({
14
15
  feature: "columnFacetingFeature",
15
- fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),
16
+ fn: (flatRows) => _createFacetedMinMaxValues(table, columnId, flatRows),
16
17
  fnName: "table.getFacetedMinMaxValues",
17
18
  memoDeps: () => {
19
+ if (columnId === "__global__") return [require_utils.callMemoOrStaticFn(table, "getGlobalFacetedRowModel", require_columnFacetingFeature_utils.table_getGlobalFacetedRowModel).flatRows];
18
20
  const column = table.getColumn(columnId);
19
21
  if (!column) return [table.getPreFilteredRowModel().flatRows];
20
22
  return [require_utils.callMemoOrStaticFn(column, "getFacetedRowModel", require_columnFacetingFeature_utils.column_getFacetedRowModel, table).flatRows];
@@ -23,13 +25,14 @@ function createFacetedMinMaxValues() {
23
25
  });
24
26
  };
25
27
  }
26
- function _createFacetedMinMaxValues(columnId, flatRows) {
28
+ function _createFacetedMinMaxValues(table, columnId, flatRows) {
27
29
  if (!flatRows.length) return void 0;
30
+ const columnIds = columnId === "__global__" ? table.getAllLeafColumns().filter((column) => require_globalFilteringFeature_utils.column_getCanGlobalFilter(column)).map((column) => column.id) : [columnId];
28
31
  let facetedMinValue = Number.POSITIVE_INFINITY;
29
32
  let facetedMaxValue = Number.NEGATIVE_INFINITY;
30
33
  let foundAny = false;
31
- for (let i = 0; i < flatRows.length; i++) {
32
- const value = Number(flatRows[i].getValue(columnId));
34
+ for (let i = 0; i < flatRows.length; i++) for (let c = 0; c < columnIds.length; c++) {
35
+ const value = Number(flatRows[i].getValue(columnIds[c]));
33
36
  if (Number.isNaN(value)) continue;
34
37
  foundAny = true;
35
38
  if (value < facetedMinValue) facetedMinValue = value;
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedMinMaxValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted min max values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n let facetedMinValue = Number.POSITIVE_INFINITY\n let facetedMaxValue = Number.NEGATIVE_INFINITY\n let foundAny = false\n\n for (let i = 0; i < flatRows.length; i++) {\n const value = Number(flatRows[i]!.getValue(columnId))\n if (Number.isNaN(value)) continue\n foundAny = true\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n if (!foundAny) return undefined\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMwB;CACtC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAOA,wBAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,QAAQ;GAC/D,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACLC,iCACE,QACA,sBACAC,+DACA,KACF,CAAC,CAAC,QACJ;GACF;GACA;EACF,CAAC;CACH;AACF;AAEA,SAAS,2BAIP,UACA,UAC8B;CAC9B,IAAI,CAAC,SAAS,QAAQ,OAAO;CAE7B,IAAI,kBAAkB,OAAO;CAC7B,IAAI,kBAAkB,OAAO;CAC7B,IAAI,WAAW;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,QAAQ,OAAO,SAAS,EAAE,CAAE,SAAS,QAAQ,CAAC;EACpD,IAAI,OAAO,MAAM,KAAK,GAAG;EACzB,WAAW;EACX,IAAI,QAAQ,iBAAiB,kBAAkB;EAC/C,IAAI,QAAQ,iBAAiB,kBAAkB;CACjD;CAEA,IAAI,CAAC,UAAU,OAAO;CACtB,OAAO,CAAC,iBAAiB,eAAe;AAC1C"}
1
+ {"version":3,"file":"createFacetedMinMaxValues.cjs","names":["tableMemo","callMemoOrStaticFn","table_getGlobalFacetedRowModel","column_getFacetedRowModel","column_getCanGlobalFilter"],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getCanGlobalFilter } from '../global-filtering/globalFilteringFeature.utils'\nimport {\n column_getFacetedRowModel,\n table_getGlobalFacetedRowModel,\n} from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted min max values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(table, columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n if (columnId === '__global__') {\n return [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ]\n }\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n // The global context aggregates values across every column that\n // participates in global filtering\n const columnIds =\n columnId === '__global__'\n ? table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n .map((column) => column.id)\n : [columnId]\n\n let facetedMinValue = Number.POSITIVE_INFINITY\n let facetedMaxValue = Number.NEGATIVE_INFINITY\n let foundAny = false\n\n for (let i = 0; i < flatRows.length; i++) {\n for (let c = 0; c < columnIds.length; c++) {\n const value = Number(flatRows[i]!.getValue(columnIds[c]!))\n if (Number.isNaN(value)) continue\n foundAny = true\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n }\n\n if (!foundAny) return undefined\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,4BAMwB;CACtC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAOA,wBAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,OAAO,UAAU,QAAQ;GACtE,QAAQ;GACR,gBAAgB;IACd,IAAI,aAAa,cACf,OAAO,CACLC,iCACE,OACA,4BACAC,kEACF,CAAC,CAAC,QACJ;IAEF,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACLD,iCACE,QACA,sBACAE,+DACA,KACF,CAAC,CAAC,QACJ;GACF;GACA;EACF,CAAC;CACH;AACF;AAEA,SAAS,2BAIP,OACA,UACA,UAC8B;CAC9B,IAAI,CAAC,SAAS,QAAQ,OAAO;CAI7B,MAAM,YACJ,aAAa,eACT,MACG,kBAAkB,CAAC,CACnB,QAAQ,WAAWC,+DAA0B,MAAM,CAAC,CAAC,CACrD,KAAK,WAAW,OAAO,EAAE,IAC5B,CAAC,QAAQ;CAEf,IAAI,kBAAkB,OAAO;CAC7B,IAAI,kBAAkB,OAAO;CAC7B,IAAI,WAAW;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACnC,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;EACzC,MAAM,QAAQ,OAAO,SAAS,EAAE,CAAE,SAAS,UAAU,EAAG,CAAC;EACzD,IAAI,OAAO,MAAM,KAAK,GAAG;EACzB,WAAW;EACX,IAAI,QAAQ,iBAAiB,kBAAkB;EAC/C,IAAI,QAAQ,iBAAiB,kBAAkB;CACjD;CAGF,IAAI,CAAC,UAAU,OAAO;CACtB,OAAO,CAAC,iBAAiB,eAAe;AAC1C"}
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.cjs";
2
- import { TableFeatures } from "../../types/TableFeatures.cjs";
3
2
  import { Table } from "../../types/Table.cjs";
3
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedMinMaxValues.d.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { TableFeatures } from "../../types/TableFeatures.js";
3
2
  import { Table } from "../../types/Table.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedMinMaxValues.d.ts
6
6
  /**
@@ -1,5 +1,6 @@
1
1
  import { callMemoOrStaticFn, tableMemo } from "../../utils.js";
2
- import { column_getFacetedRowModel } from "./columnFacetingFeature.utils.js";
2
+ import { column_getFacetedRowModel, table_getGlobalFacetedRowModel } from "./columnFacetingFeature.utils.js";
3
+ import { column_getCanGlobalFilter } from "../global-filtering/globalFilteringFeature.utils.js";
3
4
 
4
5
  //#region src/features/column-faceting/createFacetedMinMaxValues.ts
5
6
  /**
@@ -12,9 +13,10 @@ function createFacetedMinMaxValues() {
12
13
  const table = _table;
13
14
  return tableMemo({
14
15
  feature: "columnFacetingFeature",
15
- fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),
16
+ fn: (flatRows) => _createFacetedMinMaxValues(table, columnId, flatRows),
16
17
  fnName: "table.getFacetedMinMaxValues",
17
18
  memoDeps: () => {
19
+ if (columnId === "__global__") return [callMemoOrStaticFn(table, "getGlobalFacetedRowModel", table_getGlobalFacetedRowModel).flatRows];
18
20
  const column = table.getColumn(columnId);
19
21
  if (!column) return [table.getPreFilteredRowModel().flatRows];
20
22
  return [callMemoOrStaticFn(column, "getFacetedRowModel", column_getFacetedRowModel, table).flatRows];
@@ -23,13 +25,14 @@ function createFacetedMinMaxValues() {
23
25
  });
24
26
  };
25
27
  }
26
- function _createFacetedMinMaxValues(columnId, flatRows) {
28
+ function _createFacetedMinMaxValues(table, columnId, flatRows) {
27
29
  if (!flatRows.length) return void 0;
30
+ const columnIds = columnId === "__global__" ? table.getAllLeafColumns().filter((column) => column_getCanGlobalFilter(column)).map((column) => column.id) : [columnId];
28
31
  let facetedMinValue = Number.POSITIVE_INFINITY;
29
32
  let facetedMaxValue = Number.NEGATIVE_INFINITY;
30
33
  let foundAny = false;
31
- for (let i = 0; i < flatRows.length; i++) {
32
- const value = Number(flatRows[i].getValue(columnId));
34
+ for (let i = 0; i < flatRows.length; i++) for (let c = 0; c < columnIds.length; c++) {
35
+ const value = Number(flatRows[i].getValue(columnIds[c]));
33
36
  if (Number.isNaN(value)) continue;
34
37
  foundAny = true;
35
38
  if (value < facetedMinValue) facetedMinValue = value;
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedMinMaxValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted min max values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n let facetedMinValue = Number.POSITIVE_INFINITY\n let facetedMaxValue = Number.NEGATIVE_INFINITY\n let foundAny = false\n\n for (let i = 0; i < flatRows.length; i++) {\n const value = Number(flatRows[i]!.getValue(columnId))\n if (Number.isNaN(value)) continue\n foundAny = true\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n if (!foundAny) return undefined\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMwB;CACtC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAO,UAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,QAAQ;GAC/D,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACL,mBACE,QACA,sBACA,2BACA,KACF,CAAC,CAAC,QACJ;GACF;GACA;EACF,CAAC;CACH;AACF;AAEA,SAAS,2BAIP,UACA,UAC8B;CAC9B,IAAI,CAAC,SAAS,QAAQ,OAAO;CAE7B,IAAI,kBAAkB,OAAO;CAC7B,IAAI,kBAAkB,OAAO;CAC7B,IAAI,WAAW;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,QAAQ,OAAO,SAAS,EAAE,CAAE,SAAS,QAAQ,CAAC;EACpD,IAAI,OAAO,MAAM,KAAK,GAAG;EACzB,WAAW;EACX,IAAI,QAAQ,iBAAiB,kBAAkB;EAC/C,IAAI,QAAQ,iBAAiB,kBAAkB;CACjD;CAEA,IAAI,CAAC,UAAU,OAAO;CACtB,OAAO,CAAC,iBAAiB,eAAe;AAC1C"}
1
+ {"version":3,"file":"createFacetedMinMaxValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getCanGlobalFilter } from '../global-filtering/globalFilteringFeature.utils'\nimport {\n column_getFacetedRowModel,\n table_getGlobalFacetedRowModel,\n} from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted min max values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(table, columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n if (columnId === '__global__') {\n return [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ]\n }\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n // The global context aggregates values across every column that\n // participates in global filtering\n const columnIds =\n columnId === '__global__'\n ? table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n .map((column) => column.id)\n : [columnId]\n\n let facetedMinValue = Number.POSITIVE_INFINITY\n let facetedMaxValue = Number.NEGATIVE_INFINITY\n let foundAny = false\n\n for (let i = 0; i < flatRows.length; i++) {\n for (let c = 0; c < columnIds.length; c++) {\n const value = Number(flatRows[i]!.getValue(columnIds[c]!))\n if (Number.isNaN(value)) continue\n foundAny = true\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n }\n\n if (!foundAny) return undefined\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,4BAMwB;CACtC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAO,UAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,OAAO,UAAU,QAAQ;GACtE,QAAQ;GACR,gBAAgB;IACd,IAAI,aAAa,cACf,OAAO,CACL,mBACE,OACA,4BACA,8BACF,CAAC,CAAC,QACJ;IAEF,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACL,mBACE,QACA,sBACA,2BACA,KACF,CAAC,CAAC,QACJ;GACF;GACA;EACF,CAAC;CACH;AACF;AAEA,SAAS,2BAIP,OACA,UACA,UAC8B;CAC9B,IAAI,CAAC,SAAS,QAAQ,OAAO;CAI7B,MAAM,YACJ,aAAa,eACT,MACG,kBAAkB,CAAC,CACnB,QAAQ,WAAW,0BAA0B,MAAM,CAAC,CAAC,CACrD,KAAK,WAAW,OAAO,EAAE,IAC5B,CAAC,QAAQ;CAEf,IAAI,kBAAkB,OAAO;CAC7B,IAAI,kBAAkB,OAAO;CAC7B,IAAI,WAAW;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACnC,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;EACzC,MAAM,QAAQ,OAAO,SAAS,EAAE,CAAE,SAAS,UAAU,EAAG,CAAC;EACzD,IAAI,OAAO,MAAM,KAAK,GAAG;EACzB,WAAW;EACX,IAAI,QAAQ,iBAAiB,kBAAkB;EAC/C,IAAI,QAAQ,iBAAiB,kBAAkB;CACjD;CAGF,IAAI,CAAC,UAAU,OAAO;CACtB,OAAO,CAAC,iBAAiB,eAAe;AAC1C"}
@@ -14,32 +14,27 @@ function createFacetedRowModel() {
14
14
  feature: "columnFacetingFeature",
15
15
  table,
16
16
  fnName: "createFacetedRowModel",
17
- memoDeps: () => {
18
- var _table$atoms$columnFi, _table$atoms$globalFi;
19
- return [
20
- table.getPreFilteredRowModel(),
21
- (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
22
- (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get(),
23
- table.getFilteredRowModel()
24
- ];
25
- },
17
+ memoDeps: () => [
18
+ table.getPreFilteredRowModel(),
19
+ table.atoms.columnFilters?.get(),
20
+ table.atoms.globalFilter?.get(),
21
+ table.getFilteredRowModel()
22
+ ],
26
23
  fn: (preRowModel, columnFilters, globalFilter) => _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter)
27
24
  });
28
25
  };
29
26
  }
30
27
  function _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter) {
31
- if (!preRowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) return preRowModel;
28
+ if (!preRowModel.rows.length || !columnFilters?.length && !globalFilter) return preRowModel;
32
29
  const filterableIds = [];
33
30
  if (columnFilters) for (let i = 0; i < columnFilters.length; i++) {
34
31
  const id = columnFilters[i].id;
35
32
  if (id !== columnId) filterableIds.push(id);
36
33
  }
37
- if (globalFilter) filterableIds.push("__global__");
34
+ if (globalFilter && columnId !== "__global__") filterableIds.push("__global__");
35
+ if (!filterableIds.length) return preRowModel;
38
36
  const filterRowsImpl = (row) => {
39
- for (let i = 0; i < filterableIds.length; i++) {
40
- var _row$columnFilters;
41
- if (((_row$columnFilters = row.columnFilters) === null || _row$columnFilters === void 0 ? void 0 : _row$columnFilters[filterableIds[i]]) === false) return false;
42
- }
37
+ for (let i = 0; i < filterableIds.length; i++) if (row.columnFilters?.[filterableIds[i]] === false) return false;
43
38
  return true;
44
39
  };
45
40
  return require_filterRowsUtils.filterRows(preRowModel.rows, filterRowsImpl, table);
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedRowModel.cjs","names":["tableMemo","filterRows"],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds: Array<string> = []\n if (columnFilters) {\n for (let i = 0; i < columnFilters.length; i++) {\n const id = columnFilters[i]!.id\n if (id !== columnId) filterableIds.push(id)\n }\n }\n if (globalFilter) filterableIds.push('__global__')\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters?.[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,wBAMsB;CACpC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,uBAAuB;8BAC7B,MAAM,MAAM,6FAAe,IAAI;8BAC/B,MAAM,MAAM,4FAAc,IAAI;KAC9B,MAAM,oBAAoB;IAC5B;;GACA,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,YACF;EACJ,CAAC;CACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,CAAC;CACtC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,EAAE,CAAE;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,EAAE;CAC5C;CAEF,IAAI,cAAc,cAAc,KAAK,YAAY;CAEjD,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;;GAC7C,2BAAI,IAAI,uFAAgB,cAAc,SAAS,OAC7C,OAAO;EAEX;EACA,OAAO;CACT;CAEA,OAAOC,mCAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D"}
1
+ {"version":3,"file":"createFacetedRowModel.cjs","names":["tableMemo","filterRows"],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds: Array<string> = []\n if (columnFilters) {\n for (let i = 0; i < columnFilters.length; i++) {\n const id = columnFilters[i]!.id\n if (id !== columnId) filterableIds.push(id)\n }\n }\n // The global context excludes the global filter itself, mirroring how a\n // column's faceted model excludes that column's own filter\n if (globalFilter && columnId !== '__global__')\n filterableIds.push('__global__')\n\n if (!filterableIds.length) {\n return preRowModel\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters?.[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,wBAMsB;CACpC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,uBAAuB;IAC7B,MAAM,MAAM,eAAe,IAAI;IAC/B,MAAM,MAAM,cAAc,IAAI;IAC9B,MAAM,oBAAoB;GAC5B;GACA,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,YACF;EACJ,CAAC;CACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,CAAC,eAAe,UAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,CAAC;CACtC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,EAAE,CAAE;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,EAAE;CAC5C;CAIF,IAAI,gBAAgB,aAAa,cAC/B,cAAc,KAAK,YAAY;CAEjC,IAAI,CAAC,cAAc,QACjB,OAAO;CAGT,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KACxC,IAAI,IAAI,gBAAgB,cAAc,QAAS,OAC7C,OAAO;EAGX,OAAO;CACT;CAEA,OAAOC,mCAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D"}
@@ -1,7 +1,7 @@
1
1
  import { RowData } from "../../types/type-utils.cjs";
2
- import { TableFeatures } from "../../types/TableFeatures.cjs";
3
- import { Table } from "../../types/Table.cjs";
4
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
3
+ import { Table } from "../../types/Table.cjs";
4
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
5
 
6
6
  //#region src/features/column-faceting/createFacetedRowModel.d.ts
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { TableFeatures } from "../../types/TableFeatures.js";
3
- import { Table } from "../../types/Table.js";
4
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
3
+ import { Table } from "../../types/Table.js";
4
+ import { TableFeatures } from "../../types/TableFeatures.js";
5
5
 
6
6
  //#region src/features/column-faceting/createFacetedRowModel.d.ts
7
7
  /**
@@ -14,32 +14,27 @@ function createFacetedRowModel() {
14
14
  feature: "columnFacetingFeature",
15
15
  table,
16
16
  fnName: "createFacetedRowModel",
17
- memoDeps: () => {
18
- var _table$atoms$columnFi, _table$atoms$globalFi;
19
- return [
20
- table.getPreFilteredRowModel(),
21
- (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
22
- (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get(),
23
- table.getFilteredRowModel()
24
- ];
25
- },
17
+ memoDeps: () => [
18
+ table.getPreFilteredRowModel(),
19
+ table.atoms.columnFilters?.get(),
20
+ table.atoms.globalFilter?.get(),
21
+ table.getFilteredRowModel()
22
+ ],
26
23
  fn: (preRowModel, columnFilters, globalFilter) => _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter)
27
24
  });
28
25
  };
29
26
  }
30
27
  function _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter) {
31
- if (!preRowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) return preRowModel;
28
+ if (!preRowModel.rows.length || !columnFilters?.length && !globalFilter) return preRowModel;
32
29
  const filterableIds = [];
33
30
  if (columnFilters) for (let i = 0; i < columnFilters.length; i++) {
34
31
  const id = columnFilters[i].id;
35
32
  if (id !== columnId) filterableIds.push(id);
36
33
  }
37
- if (globalFilter) filterableIds.push("__global__");
34
+ if (globalFilter && columnId !== "__global__") filterableIds.push("__global__");
35
+ if (!filterableIds.length) return preRowModel;
38
36
  const filterRowsImpl = (row) => {
39
- for (let i = 0; i < filterableIds.length; i++) {
40
- var _row$columnFilters;
41
- if (((_row$columnFilters = row.columnFilters) === null || _row$columnFilters === void 0 ? void 0 : _row$columnFilters[filterableIds[i]]) === false) return false;
42
- }
37
+ for (let i = 0; i < filterableIds.length; i++) if (row.columnFilters?.[filterableIds[i]] === false) return false;
43
38
  return true;
44
39
  };
45
40
  return filterRows(preRowModel.rows, filterRowsImpl, table);
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedRowModel.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds: Array<string> = []\n if (columnFilters) {\n for (let i = 0; i < columnFilters.length; i++) {\n const id = columnFilters[i]!.id\n if (id !== columnId) filterableIds.push(id)\n }\n }\n if (globalFilter) filterableIds.push('__global__')\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters?.[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,wBAMsB;CACpC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,uBAAuB;8BAC7B,MAAM,MAAM,6FAAe,IAAI;8BAC/B,MAAM,MAAM,4FAAc,IAAI;KAC9B,MAAM,oBAAoB;IAC5B;;GACA,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,YACF;EACJ,CAAC;CACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,CAAC;CACtC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,EAAE,CAAE;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,EAAE;CAC5C;CAEF,IAAI,cAAc,cAAc,KAAK,YAAY;CAEjD,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;;GAC7C,2BAAI,IAAI,uFAAgB,cAAc,SAAS,OAC7C,OAAO;EAEX;EACA,OAAO;CACT;CAEA,OAAO,WAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D"}
1
+ {"version":3,"file":"createFacetedRowModel.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds: Array<string> = []\n if (columnFilters) {\n for (let i = 0; i < columnFilters.length; i++) {\n const id = columnFilters[i]!.id\n if (id !== columnId) filterableIds.push(id)\n }\n }\n // The global context excludes the global filter itself, mirroring how a\n // column's faceted model excludes that column's own filter\n if (globalFilter && columnId !== '__global__')\n filterableIds.push('__global__')\n\n if (!filterableIds.length) {\n return preRowModel\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters?.[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,wBAMsB;CACpC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,uBAAuB;IAC7B,MAAM,MAAM,eAAe,IAAI;IAC/B,MAAM,MAAM,cAAc,IAAI;IAC9B,MAAM,oBAAoB;GAC5B;GACA,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,YACF;EACJ,CAAC;CACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,CAAC,eAAe,UAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,CAAC;CACtC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,EAAE,CAAE;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,EAAE;CAC5C;CAIF,IAAI,gBAAgB,aAAa,cAC/B,cAAc,KAAK,YAAY;CAEjC,IAAI,CAAC,cAAc,QACjB,OAAO;CAGT,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KACxC,IAAI,IAAI,gBAAgB,cAAc,QAAS,OAC7C,OAAO;EAGX,OAAO;CACT;CAEA,OAAO,WAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D"}
@@ -1,5 +1,6 @@
1
1
  const require_utils = require('../../utils.cjs');
2
2
  const require_columnFacetingFeature_utils = require('./columnFacetingFeature.utils.cjs');
3
+ const require_globalFilteringFeature_utils = require('../global-filtering/globalFilteringFeature.utils.cjs');
3
4
 
4
5
  //#region src/features/column-faceting/createFacetedUniqueValues.ts
5
6
  /**
@@ -15,22 +16,25 @@ function createFacetedUniqueValues() {
15
16
  table,
16
17
  fnName: "table.getFacetedUniqueValues",
17
18
  memoDeps: () => {
19
+ if (columnId === "__global__") return [require_utils.callMemoOrStaticFn(table, "getGlobalFacetedRowModel", require_columnFacetingFeature_utils.table_getGlobalFacetedRowModel).flatRows];
18
20
  const column = table.getColumn(columnId);
19
21
  if (!column) return [table.getPreFilteredRowModel().flatRows];
20
22
  return [require_utils.callMemoOrStaticFn(column, "getFacetedRowModel", require_columnFacetingFeature_utils.column_getFacetedRowModel, table).flatRows];
21
23
  },
22
- fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows)
24
+ fn: (flatRows) => _createFacetedUniqueValues(table, columnId, flatRows)
23
25
  });
24
26
  };
25
27
  }
26
- function _createFacetedUniqueValues(columnId, flatRows) {
28
+ function _createFacetedUniqueValues(table, columnId, flatRows) {
29
+ const columnIds = columnId === "__global__" ? table.getAllLeafColumns().filter((column) => require_globalFilteringFeature_utils.column_getCanGlobalFilter(column)).map((column) => column.id) : [columnId];
27
30
  const facetedUniqueValues = /* @__PURE__ */ new Map();
28
- for (let i = 0; i < flatRows.length; i++) {
29
- const values = flatRows[i].getUniqueValues(columnId);
31
+ for (let i = 0; i < flatRows.length; i++) for (let c = 0; c < columnIds.length; c++) {
32
+ const values = flatRows[i].getUniqueValues(columnIds[c]);
33
+ if (!values) continue;
30
34
  for (let j = 0; j < values.length; j++) {
31
35
  const value = values[j];
32
- if (facetedUniqueValues.has(value)) facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
33
- else facetedUniqueValues.set(value, 1);
36
+ const previousValue = facetedUniqueValues.get(value);
37
+ facetedUniqueValues.set(value, previousValue === void 0 ? 1 : previousValue + 1);
34
38
  }
35
39
  }
36
40
  return facetedUniqueValues;