@tanstack/table-core 9.0.0-alpha.43 → 9.0.0-alpha.47

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 (528) hide show
  1. package/dist/core/cells/constructCell.cjs +9 -3
  2. package/dist/core/cells/constructCell.cjs.map +1 -1
  3. package/dist/core/cells/constructCell.d.cts +5 -0
  4. package/dist/core/cells/constructCell.d.ts +5 -0
  5. package/dist/core/cells/constructCell.js +9 -3
  6. package/dist/core/cells/constructCell.js.map +1 -1
  7. package/dist/core/cells/coreCellsFeature.cjs +5 -0
  8. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.d.cts +5 -0
  10. package/dist/core/cells/coreCellsFeature.d.ts +5 -0
  11. package/dist/core/cells/coreCellsFeature.js +5 -0
  12. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  13. package/dist/core/cells/coreCellsFeature.utils.cjs +30 -0
  14. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  15. package/dist/core/cells/coreCellsFeature.utils.d.cts +30 -0
  16. package/dist/core/cells/coreCellsFeature.utils.d.ts +30 -0
  17. package/dist/core/cells/coreCellsFeature.utils.js +30 -0
  18. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  19. package/dist/core/columns/constructColumn.cjs +21 -12
  20. package/dist/core/columns/constructColumn.cjs.map +1 -1
  21. package/dist/core/columns/constructColumn.d.cts +5 -0
  22. package/dist/core/columns/constructColumn.d.ts +5 -0
  23. package/dist/core/columns/constructColumn.js +21 -12
  24. package/dist/core/columns/constructColumn.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.cjs +9 -0
  26. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  27. package/dist/core/columns/coreColumnsFeature.d.cts +5 -0
  28. package/dist/core/columns/coreColumnsFeature.d.ts +5 -0
  29. package/dist/core/columns/coreColumnsFeature.js +10 -1
  30. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  31. package/dist/core/columns/coreColumnsFeature.types.d.cts +4 -0
  32. package/dist/core/columns/coreColumnsFeature.types.d.ts +4 -0
  33. package/dist/core/columns/coreColumnsFeature.utils.cjs +107 -4
  34. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  35. package/dist/core/columns/coreColumnsFeature.utils.d.cts +92 -1
  36. package/dist/core/columns/coreColumnsFeature.utils.d.ts +92 -1
  37. package/dist/core/columns/coreColumnsFeature.utils.js +107 -5
  38. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  39. package/dist/core/coreFeatures.cjs +5 -0
  40. package/dist/core/coreFeatures.cjs.map +1 -1
  41. package/dist/core/coreFeatures.d.cts +5 -0
  42. package/dist/core/coreFeatures.d.ts +5 -0
  43. package/dist/core/coreFeatures.js +5 -0
  44. package/dist/core/coreFeatures.js.map +1 -1
  45. package/dist/core/headers/buildHeaderGroups.cjs +33 -20
  46. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  47. package/dist/core/headers/buildHeaderGroups.d.cts +5 -0
  48. package/dist/core/headers/buildHeaderGroups.d.ts +5 -0
  49. package/dist/core/headers/buildHeaderGroups.js +33 -20
  50. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  51. package/dist/core/headers/constructHeader.cjs +9 -3
  52. package/dist/core/headers/constructHeader.cjs.map +1 -1
  53. package/dist/core/headers/constructHeader.d.cts +5 -0
  54. package/dist/core/headers/constructHeader.d.ts +5 -0
  55. package/dist/core/headers/constructHeader.js +9 -3
  56. package/dist/core/headers/constructHeader.js.map +1 -1
  57. package/dist/core/headers/coreHeadersFeature.cjs +6 -6
  58. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  59. package/dist/core/headers/coreHeadersFeature.d.cts +5 -0
  60. package/dist/core/headers/coreHeadersFeature.d.ts +5 -0
  61. package/dist/core/headers/coreHeadersFeature.js +7 -7
  62. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  63. package/dist/core/headers/coreHeadersFeature.utils.cjs +87 -16
  64. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  65. package/dist/core/headers/coreHeadersFeature.utils.d.cts +61 -1
  66. package/dist/core/headers/coreHeadersFeature.utils.d.ts +61 -1
  67. package/dist/core/headers/coreHeadersFeature.utils.js +89 -18
  68. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  69. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
  70. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
  71. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +5 -0
  72. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -1
  73. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +10 -0
  74. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +10 -0
  75. package/dist/core/reactivity/coreReactivityFeature.utils.js +5 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -1
  77. package/dist/core/row-models/coreRowModelsFeature.cjs +5 -0
  78. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  79. package/dist/core/row-models/coreRowModelsFeature.d.cts +5 -0
  80. package/dist/core/row-models/coreRowModelsFeature.d.ts +5 -0
  81. package/dist/core/row-models/coreRowModelsFeature.js +5 -0
  82. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  83. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +2 -1
  84. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +2 -1
  85. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +120 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  87. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +120 -0
  88. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +120 -0
  89. package/dist/core/row-models/coreRowModelsFeature.utils.js +120 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  91. package/dist/core/row-models/createCoreRowModel.cjs +5 -0
  92. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  93. package/dist/core/row-models/createCoreRowModel.d.cts +5 -0
  94. package/dist/core/row-models/createCoreRowModel.d.ts +5 -0
  95. package/dist/core/row-models/createCoreRowModel.js +5 -0
  96. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  97. package/dist/core/rows/constructRow.cjs +13 -6
  98. package/dist/core/rows/constructRow.cjs.map +1 -1
  99. package/dist/core/rows/constructRow.d.cts +5 -0
  100. package/dist/core/rows/constructRow.d.ts +5 -0
  101. package/dist/core/rows/constructRow.js +13 -6
  102. package/dist/core/rows/constructRow.js.map +1 -1
  103. package/dist/core/rows/coreRowsFeature.cjs +5 -0
  104. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  105. package/dist/core/rows/coreRowsFeature.d.cts +5 -0
  106. package/dist/core/rows/coreRowsFeature.d.ts +5 -0
  107. package/dist/core/rows/coreRowsFeature.js +5 -0
  108. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  109. package/dist/core/rows/coreRowsFeature.types.d.cts +3 -0
  110. package/dist/core/rows/coreRowsFeature.types.d.ts +3 -0
  111. package/dist/core/rows/coreRowsFeature.utils.cjs +112 -7
  112. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  113. package/dist/core/rows/coreRowsFeature.utils.d.cts +101 -0
  114. package/dist/core/rows/coreRowsFeature.utils.d.ts +101 -0
  115. package/dist/core/rows/coreRowsFeature.utils.js +112 -7
  116. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  117. package/dist/core/table/constructTable.cjs +19 -5
  118. package/dist/core/table/constructTable.cjs.map +1 -1
  119. package/dist/core/table/constructTable.d.cts +10 -0
  120. package/dist/core/table/constructTable.d.ts +10 -0
  121. package/dist/core/table/constructTable.js +19 -5
  122. package/dist/core/table/constructTable.js.map +1 -1
  123. package/dist/core/table/coreTablesFeature.cjs +5 -0
  124. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  125. package/dist/core/table/coreTablesFeature.d.cts +5 -0
  126. package/dist/core/table/coreTablesFeature.d.ts +5 -0
  127. package/dist/core/table/coreTablesFeature.js +5 -0
  128. package/dist/core/table/coreTablesFeature.js.map +1 -1
  129. package/dist/core/table/coreTablesFeature.types.d.cts +22 -12
  130. package/dist/core/table/coreTablesFeature.types.d.ts +22 -12
  131. package/dist/core/table/coreTablesFeature.utils.cjs +49 -1
  132. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  133. package/dist/core/table/coreTablesFeature.utils.d.cts +44 -0
  134. package/dist/core/table/coreTablesFeature.utils.d.ts +44 -0
  135. package/dist/core/table/coreTablesFeature.utils.js +49 -1
  136. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  137. package/dist/features/column-faceting/columnFacetingFeature.cjs +9 -1
  138. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  139. package/dist/features/column-faceting/columnFacetingFeature.d.cts +9 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.d.ts +9 -1
  141. package/dist/features/column-faceting/columnFacetingFeature.js +9 -1
  142. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  143. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +12 -6
  144. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +12 -6
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +60 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +60 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +60 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.utils.js +60 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +13 -5
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +5 -0
  154. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +5 -0
  155. package/dist/features/column-faceting/createFacetedMinMaxValues.js +13 -5
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  157. package/dist/features/column-faceting/createFacetedRowModel.cjs +13 -3
  158. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  159. package/dist/features/column-faceting/createFacetedRowModel.d.cts +5 -0
  160. package/dist/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  161. package/dist/features/column-faceting/createFacetedRowModel.js +13 -3
  162. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  163. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +12 -4
  164. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  165. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +5 -0
  166. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +5 -0
  167. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -4
  168. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  169. package/dist/features/column-filtering/columnFilteringFeature.cjs +10 -2
  170. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  171. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -2
  172. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -2
  173. package/dist/features/column-filtering/columnFilteringFeature.js +10 -2
  174. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  175. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +7 -4
  176. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +7 -4
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +113 -2
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +111 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +111 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.utils.js +113 -2
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  183. package/dist/features/column-filtering/createFilteredRowModel.cjs +16 -5
  184. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  185. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -0
  186. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -0
  187. package/dist/features/column-filtering/createFilteredRowModel.js +16 -5
  188. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  189. package/dist/features/column-filtering/filterRowsUtils.cjs +5 -0
  190. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  191. package/dist/features/column-filtering/filterRowsUtils.js +5 -0
  192. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.cjs +9 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  195. package/dist/features/column-grouping/columnGroupingFeature.d.cts +9 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.d.ts +9 -1
  197. package/dist/features/column-grouping/columnGroupingFeature.js +9 -1
  198. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  199. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +7 -3
  200. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +7 -3
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +151 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +151 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +151 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.utils.js +151 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  207. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  209. package/dist/features/column-grouping/createGroupedRowModel.d.cts +5 -0
  210. package/dist/features/column-grouping/createGroupedRowModel.d.ts +5 -0
  211. package/dist/features/column-grouping/createGroupedRowModel.js +5 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  213. package/dist/features/column-ordering/columnOrderingFeature.cjs +12 -3
  214. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  215. package/dist/features/column-ordering/columnOrderingFeature.d.cts +9 -1
  216. package/dist/features/column-ordering/columnOrderingFeature.d.ts +9 -1
  217. package/dist/features/column-ordering/columnOrderingFeature.js +12 -3
  218. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  219. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +4 -2
  220. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +4 -2
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +108 -8
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +81 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +81 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.utils.js +108 -8
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  227. package/dist/features/column-pinning/columnPinningFeature.cjs +17 -30
  228. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  229. package/dist/features/column-pinning/columnPinningFeature.d.cts +9 -1
  230. package/dist/features/column-pinning/columnPinningFeature.d.ts +9 -1
  231. package/dist/features/column-pinning/columnPinningFeature.js +17 -30
  232. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  233. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +6 -2
  234. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +6 -2
  235. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +387 -27
  236. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  237. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +318 -6
  238. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +318 -6
  239. package/dist/features/column-pinning/columnPinningFeature.utils.js +388 -28
  240. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  241. package/dist/features/column-resizing/columnResizingFeature.cjs +9 -2
  242. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  243. package/dist/features/column-resizing/columnResizingFeature.d.cts +9 -2
  244. package/dist/features/column-resizing/columnResizingFeature.d.ts +9 -2
  245. package/dist/features/column-resizing/columnResizingFeature.js +9 -2
  246. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  247. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +14 -6
  248. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +14 -6
  249. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +81 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  251. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +81 -0
  252. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.utils.js +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  255. package/dist/features/column-sizing/columnSizingFeature.cjs +78 -16
  256. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  257. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -2
  258. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -2
  259. package/dist/features/column-sizing/columnSizingFeature.js +79 -17
  260. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  261. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +6 -3
  262. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +6 -3
  263. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +151 -3
  264. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  265. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +141 -0
  266. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +141 -0
  267. package/dist/features/column-sizing/columnSizingFeature.utils.js +151 -3
  268. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  269. package/dist/features/column-visibility/columnVisibilityFeature.cjs +30 -20
  270. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  271. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +9 -1
  272. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +9 -1
  273. package/dist/features/column-visibility/columnVisibilityFeature.js +31 -21
  274. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  275. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +8 -3
  276. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +8 -3
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +199 -12
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +154 -3
  280. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +154 -3
  281. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +199 -12
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  283. package/dist/features/global-filtering/globalFilteringFeature.cjs +9 -2
  284. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  285. package/dist/features/global-filtering/globalFilteringFeature.d.cts +9 -2
  286. package/dist/features/global-filtering/globalFilteringFeature.d.ts +9 -2
  287. package/dist/features/global-filtering/globalFilteringFeature.js +9 -2
  288. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  289. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +4 -2
  290. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -2
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +51 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +51 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +51 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.utils.js +51 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  297. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  299. package/dist/features/row-expanding/createExpandedRowModel.d.cts +10 -0
  300. package/dist/features/row-expanding/createExpandedRowModel.d.ts +10 -0
  301. package/dist/features/row-expanding/createExpandedRowModel.js +10 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  303. package/dist/features/row-expanding/rowExpandingFeature.cjs +9 -1
  304. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  305. package/dist/features/row-expanding/rowExpandingFeature.d.cts +9 -1
  306. package/dist/features/row-expanding/rowExpandingFeature.d.ts +9 -1
  307. package/dist/features/row-expanding/rowExpandingFeature.js +9 -1
  308. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  309. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +10 -5
  310. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +10 -5
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +153 -2
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +151 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +151 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.utils.js +153 -2
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  317. package/dist/features/row-pagination/createPaginatedRowModel.cjs +5 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  319. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +5 -0
  320. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  321. package/dist/features/row-pagination/createPaginatedRowModel.js +5 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  323. package/dist/features/row-pagination/rowPaginationFeature.cjs +9 -1
  324. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  325. package/dist/features/row-pagination/rowPaginationFeature.d.cts +9 -1
  326. package/dist/features/row-pagination/rowPaginationFeature.d.ts +9 -1
  327. package/dist/features/row-pagination/rowPaginationFeature.js +9 -1
  328. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  329. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +11 -7
  330. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +11 -7
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +175 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +175 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +175 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.utils.js +175 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  337. package/dist/features/row-pinning/rowPinningFeature.cjs +9 -1
  338. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  339. package/dist/features/row-pinning/rowPinningFeature.d.cts +9 -1
  340. package/dist/features/row-pinning/rowPinningFeature.d.ts +9 -1
  341. package/dist/features/row-pinning/rowPinningFeature.js +9 -1
  342. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  343. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +4 -2
  344. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +4 -2
  345. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +125 -7
  346. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  347. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +112 -0
  348. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +112 -0
  349. package/dist/features/row-pinning/rowPinningFeature.utils.js +125 -7
  350. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  351. package/dist/features/row-selection/rowSelectionFeature.cjs +9 -1
  352. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  353. package/dist/features/row-selection/rowSelectionFeature.d.cts +9 -1
  354. package/dist/features/row-selection/rowSelectionFeature.d.ts +9 -1
  355. package/dist/features/row-selection/rowSelectionFeature.js +9 -1
  356. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  357. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +4 -2
  358. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +4 -2
  359. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +265 -3
  360. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  361. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +259 -0
  362. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +259 -0
  363. package/dist/features/row-selection/rowSelectionFeature.utils.js +265 -3
  364. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  365. package/dist/features/row-sorting/createSortedRowModel.cjs +18 -8
  366. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  367. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -0
  368. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -0
  369. package/dist/features/row-sorting/createSortedRowModel.js +18 -8
  370. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  371. package/dist/features/row-sorting/rowSortingFeature.cjs +11 -3
  372. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  373. package/dist/features/row-sorting/rowSortingFeature.d.cts +9 -1
  374. package/dist/features/row-sorting/rowSortingFeature.d.ts +9 -1
  375. package/dist/features/row-sorting/rowSortingFeature.js +11 -3
  376. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  377. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +7 -3
  378. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +7 -3
  379. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +153 -2
  380. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  381. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +151 -0
  382. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +151 -0
  383. package/dist/features/row-sorting/rowSortingFeature.utils.js +153 -2
  384. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  385. package/dist/features/stockFeatures.cjs +5 -0
  386. package/dist/features/stockFeatures.cjs.map +1 -1
  387. package/dist/features/stockFeatures.d.cts +5 -0
  388. package/dist/features/stockFeatures.d.ts +5 -0
  389. package/dist/features/stockFeatures.js +5 -0
  390. package/dist/features/stockFeatures.js.map +1 -1
  391. package/dist/flex-render.cjs +10 -0
  392. package/dist/flex-render.cjs.map +1 -1
  393. package/dist/flex-render.d.cts +10 -0
  394. package/dist/flex-render.d.ts +10 -0
  395. package/dist/flex-render.js +10 -0
  396. package/dist/flex-render.js.map +1 -1
  397. package/dist/fns/aggregationFns.cjs +19 -7
  398. package/dist/fns/aggregationFns.cjs.map +1 -1
  399. package/dist/fns/aggregationFns.d.cts +5 -0
  400. package/dist/fns/aggregationFns.d.ts +5 -0
  401. package/dist/fns/aggregationFns.js +19 -8
  402. package/dist/fns/aggregationFns.js.map +1 -1
  403. package/dist/fns/filterFns.cjs +5 -0
  404. package/dist/fns/filterFns.cjs.map +1 -1
  405. package/dist/fns/filterFns.d.cts +5 -0
  406. package/dist/fns/filterFns.d.ts +5 -0
  407. package/dist/fns/filterFns.js +5 -0
  408. package/dist/fns/filterFns.js.map +1 -1
  409. package/dist/fns/sortFns.cjs +49 -4
  410. package/dist/fns/sortFns.cjs.map +1 -1
  411. package/dist/fns/sortFns.d.cts +41 -0
  412. package/dist/fns/sortFns.d.ts +41 -0
  413. package/dist/fns/sortFns.js +49 -4
  414. package/dist/fns/sortFns.js.map +1 -1
  415. package/dist/helpers/columnHelper.cjs.map +1 -1
  416. package/dist/helpers/columnHelper.js.map +1 -1
  417. package/dist/helpers/tableFeatures.cjs.map +1 -1
  418. package/dist/helpers/tableFeatures.js.map +1 -1
  419. package/dist/helpers/tableOptions.cjs +6 -0
  420. package/dist/helpers/tableOptions.cjs.map +1 -1
  421. package/dist/helpers/tableOptions.d.cts +26 -0
  422. package/dist/helpers/tableOptions.d.ts +26 -0
  423. package/dist/helpers/tableOptions.js +6 -0
  424. package/dist/helpers/tableOptions.js.map +1 -1
  425. package/dist/index.cjs +0 -4
  426. package/dist/index.d.cts +2 -2
  427. package/dist/index.d.ts +2 -2
  428. package/dist/index.js +2 -2
  429. package/dist/static-functions.cjs +2 -1
  430. package/dist/static-functions.d.cts +3 -3
  431. package/dist/static-functions.d.ts +3 -3
  432. package/dist/static-functions.js +3 -3
  433. package/dist/store-reactivity-bindings.cjs +1 -0
  434. package/dist/store-reactivity-bindings.cjs.map +1 -1
  435. package/dist/store-reactivity-bindings.js +1 -0
  436. package/dist/store-reactivity-bindings.js.map +1 -1
  437. package/dist/utils.cjs +49 -25
  438. package/dist/utils.cjs.map +1 -1
  439. package/dist/utils.d.cts +33 -10
  440. package/dist/utils.d.ts +33 -10
  441. package/dist/utils.js +50 -22
  442. package/dist/utils.js.map +1 -1
  443. package/package.json +1 -1
  444. package/src/core/cells/constructCell.ts +8 -2
  445. package/src/core/cells/coreCellsFeature.ts +5 -0
  446. package/src/core/cells/coreCellsFeature.utils.ts +30 -0
  447. package/src/core/columns/constructColumn.ts +11 -3
  448. package/src/core/columns/coreColumnsFeature.ts +10 -0
  449. package/src/core/columns/coreColumnsFeature.types.ts +4 -0
  450. package/src/core/columns/coreColumnsFeature.utils.ts +113 -8
  451. package/src/core/coreFeatures.ts +5 -0
  452. package/src/core/headers/buildHeaderGroups.ts +36 -31
  453. package/src/core/headers/constructHeader.ts +8 -2
  454. package/src/core/headers/coreHeadersFeature.ts +7 -27
  455. package/src/core/headers/coreHeadersFeature.utils.ts +110 -46
  456. package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
  457. package/src/core/reactivity/coreReactivityFeature.utils.ts +15 -0
  458. package/src/core/row-models/coreRowModelsFeature.ts +5 -0
  459. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -1
  460. package/src/core/row-models/coreRowModelsFeature.utils.ts +120 -0
  461. package/src/core/row-models/createCoreRowModel.ts +5 -0
  462. package/src/core/rows/constructRow.ts +11 -4
  463. package/src/core/rows/coreRowsFeature.ts +5 -0
  464. package/src/core/rows/coreRowsFeature.types.ts +3 -0
  465. package/src/core/rows/coreRowsFeature.utils.ts +116 -10
  466. package/src/core/table/constructTable.ts +16 -4
  467. package/src/core/table/coreTablesFeature.ts +5 -0
  468. package/src/core/table/coreTablesFeature.types.ts +22 -12
  469. package/src/core/table/coreTablesFeature.utils.ts +47 -1
  470. package/src/features/column-faceting/columnFacetingFeature.ts +9 -1
  471. package/src/features/column-faceting/columnFacetingFeature.types.ts +12 -6
  472. package/src/features/column-faceting/columnFacetingFeature.utils.ts +60 -0
  473. package/src/features/column-faceting/createFacetedMinMaxValues.ts +13 -10
  474. package/src/features/column-faceting/createFacetedRowModel.ts +15 -6
  475. package/src/features/column-faceting/createFacetedUniqueValues.ts +9 -3
  476. package/src/features/column-filtering/columnFilteringFeature.ts +10 -2
  477. package/src/features/column-filtering/columnFilteringFeature.types.ts +7 -4
  478. package/src/features/column-filtering/columnFilteringFeature.utils.ts +113 -2
  479. package/src/features/column-filtering/createFilteredRowModel.ts +19 -8
  480. package/src/features/column-filtering/filterRowsUtils.ts +5 -0
  481. package/src/features/column-grouping/columnGroupingFeature.ts +9 -1
  482. package/src/features/column-grouping/columnGroupingFeature.types.ts +7 -3
  483. package/src/features/column-grouping/columnGroupingFeature.utils.ts +151 -0
  484. package/src/features/column-grouping/createGroupedRowModel.ts +5 -0
  485. package/src/features/column-ordering/columnOrderingFeature.ts +10 -1
  486. package/src/features/column-ordering/columnOrderingFeature.types.ts +4 -2
  487. package/src/features/column-ordering/columnOrderingFeature.utils.ts +117 -17
  488. package/src/features/column-pinning/columnPinningFeature.ts +11 -12
  489. package/src/features/column-pinning/columnPinningFeature.types.ts +6 -2
  490. package/src/features/column-pinning/columnPinningFeature.utils.ts +425 -76
  491. package/src/features/column-resizing/columnResizingFeature.ts +9 -2
  492. package/src/features/column-resizing/columnResizingFeature.types.ts +14 -6
  493. package/src/features/column-resizing/columnResizingFeature.utils.ts +81 -0
  494. package/src/features/column-sizing/columnSizingFeature.ts +54 -18
  495. package/src/features/column-sizing/columnSizingFeature.types.ts +6 -3
  496. package/src/features/column-sizing/columnSizingFeature.utils.ts +168 -9
  497. package/src/features/column-visibility/columnVisibilityFeature.ts +20 -18
  498. package/src/features/column-visibility/columnVisibilityFeature.types.ts +11 -3
  499. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +213 -24
  500. package/src/features/global-filtering/globalFilteringFeature.ts +9 -2
  501. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -2
  502. package/src/features/global-filtering/globalFilteringFeature.utils.ts +51 -0
  503. package/src/features/row-expanding/createExpandedRowModel.ts +10 -0
  504. package/src/features/row-expanding/rowExpandingFeature.ts +9 -1
  505. package/src/features/row-expanding/rowExpandingFeature.types.ts +10 -5
  506. package/src/features/row-expanding/rowExpandingFeature.utils.ts +153 -2
  507. package/src/features/row-pagination/createPaginatedRowModel.ts +5 -0
  508. package/src/features/row-pagination/rowPaginationFeature.ts +9 -1
  509. package/src/features/row-pagination/rowPaginationFeature.types.ts +11 -7
  510. package/src/features/row-pagination/rowPaginationFeature.utils.ts +175 -0
  511. package/src/features/row-pinning/rowPinningFeature.ts +9 -1
  512. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -2
  513. package/src/features/row-pinning/rowPinningFeature.utils.ts +132 -18
  514. package/src/features/row-selection/rowSelectionFeature.ts +9 -1
  515. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -2
  516. package/src/features/row-selection/rowSelectionFeature.utils.ts +279 -19
  517. package/src/features/row-sorting/createSortedRowModel.ts +21 -13
  518. package/src/features/row-sorting/rowSortingFeature.ts +11 -3
  519. package/src/features/row-sorting/rowSortingFeature.types.ts +7 -3
  520. package/src/features/row-sorting/rowSortingFeature.utils.ts +153 -2
  521. package/src/features/stockFeatures.ts +5 -0
  522. package/src/flex-render.ts +10 -0
  523. package/src/fns/aggregationFns.ts +25 -8
  524. package/src/fns/filterFns.ts +5 -0
  525. package/src/fns/sortFns.ts +50 -5
  526. package/src/helpers/tableOptions.ts +32 -0
  527. package/src/store-reactivity-bindings.ts +1 -0
  528. package/src/utils.ts +52 -34
@@ -5,11 +5,71 @@ import { Table_Internal } from "../../types/Table.js";
5
5
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
6
6
 
7
7
  //#region src/features/column-faceting/columnFacetingFeature.utils.d.ts
8
+ /**
9
+ * Returns faceted min max values for a column.
10
+ *
11
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const value = column_getFacetedMinMaxValues(column)
16
+ * ```
17
+ */
8
18
  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
+ /**
20
+ * Returns faceted row model for a column.
21
+ *
22
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const value = column_getFacetedRowModel(column)
27
+ * ```
28
+ */
9
29
  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>;
30
+ /**
31
+ * Returns faceted unique values for a column.
32
+ *
33
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const value = column_getFacetedUniqueValues(column)
38
+ * ```
39
+ */
10
40
  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>;
41
+ /**
42
+ * Returns global faceted min max values for the table.
43
+ *
44
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const value = table_getGlobalFacetedMinMaxValues(table)
49
+ * ```
50
+ */
11
51
  declare function table_getGlobalFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): undefined | [number, number];
52
+ /**
53
+ * Returns global faceted row model for the table.
54
+ *
55
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const value = table_getGlobalFacetedRowModel(table)
60
+ * ```
61
+ */
12
62
  declare function table_getGlobalFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
63
+ /**
64
+ * Returns global faceted unique values for the table.
65
+ *
66
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const value = table_getGlobalFacetedUniqueValues(table)
71
+ * ```
72
+ */
13
73
  declare function table_getGlobalFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Map<any, number>;
14
74
  //#endregion
15
75
  export { column_getFacetedMinMaxValues, column_getFacetedRowModel, column_getFacetedUniqueValues, table_getGlobalFacetedMinMaxValues, table_getGlobalFacetedRowModel, table_getGlobalFacetedUniqueValues };
@@ -1,24 +1,84 @@
1
1
  //#region src/features/column-faceting/columnFacetingFeature.utils.ts
2
+ /**
3
+ * Returns faceted min max values for a column.
4
+ *
5
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const value = column_getFacetedMinMaxValues(column)
10
+ * ```
11
+ */
2
12
  function column_getFacetedMinMaxValues(column, table) {
3
13
  var _table$options$_rowMo, _table$options$_rowMo2;
4
14
  return (((_table$options$_rowMo = table.options._rowModels) === null || _table$options$_rowMo === void 0 || (_table$options$_rowMo2 = _table$options$_rowMo.facetedMinMaxValues) === null || _table$options$_rowMo2 === void 0 ? void 0 : _table$options$_rowMo2.call(_table$options$_rowMo, table, column.id)) ?? (() => void 0))();
5
15
  }
16
+ /**
17
+ * Returns faceted row model for a column.
18
+ *
19
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const value = column_getFacetedRowModel(column)
24
+ * ```
25
+ */
6
26
  function column_getFacetedRowModel(column, table) {
7
27
  var _table$options$_rowMo3, _table$options$_rowMo4;
8
28
  return (((_table$options$_rowMo3 = table.options._rowModels) === null || _table$options$_rowMo3 === void 0 || (_table$options$_rowMo4 = _table$options$_rowMo3.facetedRowModel) === null || _table$options$_rowMo4 === void 0 ? void 0 : _table$options$_rowMo4.call(_table$options$_rowMo3, table, (column === null || column === void 0 ? void 0 : column.id) ?? "")) ?? (() => table.getPreFilteredRowModel()))();
9
29
  }
30
+ /**
31
+ * Returns faceted unique values for a column.
32
+ *
33
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const value = column_getFacetedUniqueValues(column)
38
+ * ```
39
+ */
10
40
  function column_getFacetedUniqueValues(column, table) {
11
41
  var _table$options$_rowMo5, _table$options$_rowMo6;
12
42
  return (((_table$options$_rowMo5 = table.options._rowModels) === null || _table$options$_rowMo5 === void 0 || (_table$options$_rowMo6 = _table$options$_rowMo5.facetedUniqueValues) === null || _table$options$_rowMo6 === void 0 ? void 0 : _table$options$_rowMo6.call(_table$options$_rowMo5, table, column.id)) ?? (() => /* @__PURE__ */ new Map()))();
13
43
  }
44
+ /**
45
+ * Returns global faceted min max values for the table.
46
+ *
47
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const value = table_getGlobalFacetedMinMaxValues(table)
52
+ * ```
53
+ */
14
54
  function table_getGlobalFacetedMinMaxValues(table) {
15
55
  var _table$options$_rowMo7, _table$options$_rowMo8;
16
56
  return (((_table$options$_rowMo7 = table.options._rowModels) === null || _table$options$_rowMo7 === void 0 || (_table$options$_rowMo8 = _table$options$_rowMo7.facetedMinMaxValues) === null || _table$options$_rowMo8 === void 0 ? void 0 : _table$options$_rowMo8.call(_table$options$_rowMo7, table, "__global__")) ?? (() => void 0))();
17
57
  }
58
+ /**
59
+ * Returns global faceted row model for the table.
60
+ *
61
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * const value = table_getGlobalFacetedRowModel(table)
66
+ * ```
67
+ */
18
68
  function table_getGlobalFacetedRowModel(table) {
19
69
  var _table$options$_rowMo9, _table$options$_rowMo10;
20
70
  return (((_table$options$_rowMo9 = table.options._rowModels) === null || _table$options$_rowMo9 === void 0 || (_table$options$_rowMo10 = _table$options$_rowMo9.facetedRowModel) === null || _table$options$_rowMo10 === void 0 ? void 0 : _table$options$_rowMo10.call(_table$options$_rowMo9, table, "__global__")) ?? (() => table.getPreFilteredRowModel()))();
21
71
  }
72
+ /**
73
+ * Returns global faceted unique values for the table.
74
+ *
75
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const value = table_getGlobalFacetedUniqueValues(table)
80
+ * ```
81
+ */
22
82
  function table_getGlobalFacetedUniqueValues(table) {
23
83
  var _table$options$_rowMo11, _table$options$_rowMo12;
24
84
  return (((_table$options$_rowMo11 = table.options._rowModels) === null || _table$options$_rowMo11 === void 0 || (_table$options$_rowMo12 = _table$options$_rowMo11.facetedUniqueValues) === null || _table$options$_rowMo12 === void 0 ? void 0 : _table$options$_rowMo12.call(_table$options$_rowMo11, table, "__global__")) ?? (() => /* @__PURE__ */ new Map()))();
@@ -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\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\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\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\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\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\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":";AAMA,SAAgB,8BAKd,QACA,OAC8B;;AAI9B,mCAFE,MAAM,QAAQ,4GAAY,iIAAsB,OAAO,OAAO,GAAG,YAC1D,UACqB;;AAGhC,SAAgB,0BAKd,QACA,OAC4B;;AAI5B,oCAFE,MAAM,QAAQ,8GAAY,8HAAkB,wDAAO,OAAQ,OAAM,GAAG,YAC7D,MAAM,wBAAwB,IACb;;AAG5B,SAAgB,8BAKd,QACA,OACkB;;AAIlB,oCAFE,MAAM,QAAQ,8GAAY,kIAAsB,OAAO,OAAO,GAAG,4BAC1D,IAAI,KAAkB,IACD;;AAGhC,SAAgB,mCAGd,OAAuE;;AAIvE,oCAFE,MAAM,QAAQ,8GAAY,kIAAsB,OAAO,aAAa,YAC7D,UACqB;;AAGhC,SAAgB,+BAGd,OAAqE;;AAIrE,oCAFE,MAAM,QAAQ,+GAAY,gIAAkB,OAAO,aAAa,YACzD,MAAM,wBAAwB,IACb;;AAG5B,SAAgB,mCAGd,OAA2D;;AAI3D,qCAFE,MAAM,QAAQ,iHAAY,qIAAsB,OAAO,aAAa,4BAC7D,IAAI,KAAK,IACY"}
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 * Returns faceted min max values for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = column_getFacetedMinMaxValues(column)\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 * Returns faceted row model for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = column_getFacetedRowModel(column)\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 * Returns faceted unique values for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = column_getFacetedUniqueValues(column)\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 * Returns global faceted min max values for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns global faceted row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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 * Returns global faceted unique values for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = 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":";;;;;;;;;;;AAgBA,SAAgB,8BAKd,QACA,OAC8B;;CAI9B,kCAFE,MAAM,QAAQ,4GAAY,iIAAsB,OAAO,OAAO,GAAG,YAC1D,UACqB;;;;;;;;;;;;AAahC,SAAgB,0BAKd,QACA,OAC4B;;CAI5B,mCAFE,MAAM,QAAQ,8GAAY,8HAAkB,wDAAO,OAAQ,OAAM,GAAG,YAC7D,MAAM,wBAAwB,IACb;;;;;;;;;;;;AAa5B,SAAgB,8BAKd,QACA,OACkB;;CAIlB,mCAFE,MAAM,QAAQ,8GAAY,kIAAsB,OAAO,OAAO,GAAG,4BAC1D,IAAI,KAAkB,IACD;;;;;;;;;;;;AAahC,SAAgB,mCAGd,OAAuE;;CAIvE,mCAFE,MAAM,QAAQ,8GAAY,kIAAsB,OAAO,aAAa,YAC7D,UACqB;;;;;;;;;;;;AAahC,SAAgB,+BAGd,OAAqE;;CAIrE,mCAFE,MAAM,QAAQ,+GAAY,gIAAkB,OAAO,aAAa,YACzD,MAAM,wBAAwB,IACb;;;;;;;;;;;;AAa5B,SAAgB,mCAGd,OAA2D;;CAI3D,oCAFE,MAAM,QAAQ,iHAAY,qIAAsB,OAAO,aAAa,4BAC7D,IAAI,KAAK,IACY"}
@@ -2,6 +2,11 @@ const require_utils = require('../../utils.cjs');
2
2
  const require_columnFacetingFeature_utils = require('./columnFacetingFeature.utils.cjs');
3
3
 
4
4
  //#region src/features/column-faceting/createFacetedMinMaxValues.ts
5
+ /**
6
+ * Creates a memoized faceted min max values helper for faceted filtering.
7
+ *
8
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
9
+ */
5
10
  function createFacetedMinMaxValues() {
6
11
  return (_table, columnId) => {
7
12
  const table = _table;
@@ -20,14 +25,17 @@ function createFacetedMinMaxValues() {
20
25
  }
21
26
  function _createFacetedMinMaxValues(columnId, flatRows) {
22
27
  if (!flatRows.length) return void 0;
23
- const numericValues = flatRows.map((flatRow) => flatRow.getValue(columnId)).map(Number).filter((value) => !Number.isNaN(value));
24
- if (!numericValues.length) return void 0;
25
- let facetedMinValue = numericValues[0];
26
- let facetedMaxValue = numericValues[0];
27
- for (const value of numericValues) {
28
+ let facetedMinValue = Number.POSITIVE_INFINITY;
29
+ let facetedMaxValue = Number.NEGATIVE_INFINITY;
30
+ let foundAny = false;
31
+ for (let i = 0; i < flatRows.length; i++) {
32
+ const value = Number(flatRows[i].getValue(columnId));
33
+ if (Number.isNaN(value)) continue;
34
+ foundAny = true;
28
35
  if (value < facetedMinValue) facetedMinValue = value;
29
36
  if (value > facetedMaxValue) facetedMaxValue = value;
30
37
  }
38
+ if (!foundAny) return void 0;
31
39
  return [facetedMinValue, facetedMaxValue];
32
40
  }
33
41
 
@@ -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\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_Internal<TFeatures, TData> = _table\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 const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMwB;AACtC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,SAAS,2BAIP,UACA,UAC8B;AAC9B,KAAI,CAAC,SAAS,OAAQ,QAAO;CAE7B,MAAM,gBAAgB,SACnB,KAAK,YAAY,QAAQ,SAAS,SAAS,CAAC,CAC5C,IAAI,OAAO,CACX,QAAQ,UAAU,CAAC,OAAO,MAAM,MAAM,CAAC;AAE1C,KAAI,CAAC,cAAc,OAAQ,QAAO;CAElC,IAAI,kBAAkB,cAAc;CACpC,IAAI,kBAAkB,cAAc;AAEpC,MAAK,MAAM,SAAS,eAAe;AACjC,MAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,MAAI,QAAQ,gBAAiB,mBAAkB;;AAGjD,QAAO,CAAC,iBAAiB,gBAAgB"}
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_Internal<TFeatures, TData> = _table\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,QAA0C;EAChD,OAAOA,wBAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;IACxC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;IAC7D,OAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,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,GAAI,SAAS,SAAS,CAAC;EACrD,IAAI,OAAO,MAAM,MAAM,EAAE;EACzB,WAAW;EACX,IAAI,QAAQ,iBAAiB,kBAAkB;EAC/C,IAAI,QAAQ,iBAAiB,kBAAkB;;CAGjD,IAAI,CAAC,UAAU,OAAO;CACtB,OAAO,CAAC,iBAAiB,gBAAgB"}
@@ -3,6 +3,11 @@ import { TableFeatures } from "../../types/TableFeatures.cjs";
3
3
  import { Table } from "../../types/Table.cjs";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedMinMaxValues.d.ts
6
+ /**
7
+ * Creates a memoized faceted min max values helper for faceted filtering.
8
+ *
9
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
10
+ */
6
11
  declare function createFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => undefined | [number, number];
7
12
  //#endregion
8
13
  export { createFacetedMinMaxValues };
@@ -3,6 +3,11 @@ import { TableFeatures } from "../../types/TableFeatures.js";
3
3
  import { Table } from "../../types/Table.js";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedMinMaxValues.d.ts
6
+ /**
7
+ * Creates a memoized faceted min max values helper for faceted filtering.
8
+ *
9
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
10
+ */
6
11
  declare function createFacetedMinMaxValues<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => undefined | [number, number];
7
12
  //#endregion
8
13
  export { createFacetedMinMaxValues };
@@ -2,6 +2,11 @@ import { callMemoOrStaticFn, tableMemo } from "../../utils.js";
2
2
  import { column_getFacetedRowModel } from "./columnFacetingFeature.utils.js";
3
3
 
4
4
  //#region src/features/column-faceting/createFacetedMinMaxValues.ts
5
+ /**
6
+ * Creates a memoized faceted min max values helper for faceted filtering.
7
+ *
8
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
9
+ */
5
10
  function createFacetedMinMaxValues() {
6
11
  return (_table, columnId) => {
7
12
  const table = _table;
@@ -20,14 +25,17 @@ function createFacetedMinMaxValues() {
20
25
  }
21
26
  function _createFacetedMinMaxValues(columnId, flatRows) {
22
27
  if (!flatRows.length) return void 0;
23
- const numericValues = flatRows.map((flatRow) => flatRow.getValue(columnId)).map(Number).filter((value) => !Number.isNaN(value));
24
- if (!numericValues.length) return void 0;
25
- let facetedMinValue = numericValues[0];
26
- let facetedMaxValue = numericValues[0];
27
- for (const value of numericValues) {
28
+ let facetedMinValue = Number.POSITIVE_INFINITY;
29
+ let facetedMaxValue = Number.NEGATIVE_INFINITY;
30
+ let foundAny = false;
31
+ for (let i = 0; i < flatRows.length; i++) {
32
+ const value = Number(flatRows[i].getValue(columnId));
33
+ if (Number.isNaN(value)) continue;
34
+ foundAny = true;
28
35
  if (value < facetedMinValue) facetedMinValue = value;
29
36
  if (value > facetedMaxValue) facetedMaxValue = value;
30
37
  }
38
+ if (!foundAny) return void 0;
31
39
  return [facetedMinValue, facetedMaxValue];
32
40
  }
33
41
 
@@ -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\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_Internal<TFeatures, TData> = _table\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 const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMwB;AACtC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,SAAS,2BAIP,UACA,UAC8B;AAC9B,KAAI,CAAC,SAAS,OAAQ,QAAO;CAE7B,MAAM,gBAAgB,SACnB,KAAK,YAAY,QAAQ,SAAS,SAAS,CAAC,CAC5C,IAAI,OAAO,CACX,QAAQ,UAAU,CAAC,OAAO,MAAM,MAAM,CAAC;AAE1C,KAAI,CAAC,cAAc,OAAQ,QAAO;CAElC,IAAI,kBAAkB,cAAc;CACpC,IAAI,kBAAkB,cAAc;AAEpC,MAAK,MAAM,SAAS,eAAe;AACjC,MAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,MAAI,QAAQ,gBAAiB,mBAAkB;;AAGjD,QAAO,CAAC,iBAAiB,gBAAgB"}
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_Internal<TFeatures, TData> = _table\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,QAA0C;EAChD,OAAO,UAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;IACxC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;IAC7D,OAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,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,GAAI,SAAS,SAAS,CAAC;EACrD,IAAI,OAAO,MAAM,MAAM,EAAE;EACzB,WAAW;EACX,IAAI,QAAQ,iBAAiB,kBAAkB;EAC/C,IAAI,QAAQ,iBAAiB,kBAAkB;;CAGjD,IAAI,CAAC,UAAU,OAAO;CACtB,OAAO,CAAC,iBAAiB,gBAAgB"}
@@ -2,6 +2,11 @@ const require_utils = require('../../utils.cjs');
2
2
  const require_filterRowsUtils = require('../column-filtering/filterRowsUtils.cjs');
3
3
 
4
4
  //#region src/features/column-faceting/createFacetedRowModel.ts
5
+ /**
6
+ * Creates a memoized faceted row model factory.
7
+ *
8
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
9
+ */
5
10
  function createFacetedRowModel() {
6
11
  return (_table, columnId) => {
7
12
  const table = _table;
@@ -24,11 +29,16 @@ function createFacetedRowModel() {
24
29
  }
25
30
  function _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter) {
26
31
  if (!preRowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) return preRowModel;
27
- const filterableIds = [...(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id).filter((d) => d !== columnId)) ?? [], globalFilter ? "__global__" : void 0].filter(Boolean);
32
+ const filterableIds = [];
33
+ if (columnFilters) for (let i = 0; i < columnFilters.length; i++) {
34
+ const id = columnFilters[i].id;
35
+ if (id !== columnId) filterableIds.push(id);
36
+ }
37
+ if (globalFilter) filterableIds.push("__global__");
28
38
  const filterRowsImpl = (row) => {
29
- for (const colId of filterableIds) {
39
+ for (let i = 0; i < filterableIds.length; i++) {
30
40
  var _row$columnFilters;
31
- if (((_row$columnFilters = row.columnFilters) === null || _row$columnFilters === void 0 ? void 0 : _row$columnFilters[colId]) === false) return false;
41
+ if (((_row$columnFilters = row.columnFilters) === null || _row$columnFilters === void 0 ? void 0 : _row$columnFilters[filterableIds[i]]) === false) return false;
32
42
  }
33
43
  return true;
34
44
  };
@@ -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\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_Internal<TFeatures, TData> = _table\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 = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;AAYA,SAAgB,wBAMsB;AACpC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,KAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,aAC1D,QAAO;CAGT,MAAM,gBAAgB,CACpB,kEAAI,cAAe,KAAK,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,MAAM,SAAS,KAAI,EAAE,EACvE,eAAe,eAAe,OAC/B,CAAC,OAAO,QAAQ;CAEjB,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,SAAS,eAAe;;AACjC,8BAAI,IAAI,uFAAgB,YAAW,MACjC,QAAO;;AAGX,SAAO;;AAGT,QAAOC,mCAAW,YAAY,MAAM,gBAAgB,MAAM"}
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_Internal<TFeatures, TData> = _table\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,QAA0C;EAChD,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,EAAE;CACvC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,GAAI;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,GAAG;;CAG/C,IAAI,cAAc,cAAc,KAAK,aAAa;CAElD,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;;GAC7C,2BAAI,IAAI,uFAAgB,cAAc,SAAS,OAC7C,OAAO;;EAGX,OAAO;;CAGT,OAAOC,mCAAW,YAAY,MAAM,gBAAgB,MAAM"}
@@ -4,6 +4,11 @@ import { Table } from "../../types/Table.cjs";
4
4
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
5
5
 
6
6
  //#region src/features/column-faceting/createFacetedRowModel.d.ts
7
+ /**
8
+ * Creates a memoized faceted row model factory.
9
+ *
10
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
11
+ */
7
12
  declare function createFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => RowModel<TFeatures, TData>;
8
13
  //#endregion
9
14
  export { createFacetedRowModel };
@@ -4,6 +4,11 @@ import { Table } from "../../types/Table.js";
4
4
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
5
5
 
6
6
  //#region src/features/column-faceting/createFacetedRowModel.d.ts
7
+ /**
8
+ * Creates a memoized faceted row model factory.
9
+ *
10
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
11
+ */
7
12
  declare function createFacetedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => RowModel<TFeatures, TData>;
8
13
  //#endregion
9
14
  export { createFacetedRowModel };
@@ -2,6 +2,11 @@ import { tableMemo } from "../../utils.js";
2
2
  import { filterRows } from "../column-filtering/filterRowsUtils.js";
3
3
 
4
4
  //#region src/features/column-faceting/createFacetedRowModel.ts
5
+ /**
6
+ * Creates a memoized faceted row model factory.
7
+ *
8
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
9
+ */
5
10
  function createFacetedRowModel() {
6
11
  return (_table, columnId) => {
7
12
  const table = _table;
@@ -24,11 +29,16 @@ function createFacetedRowModel() {
24
29
  }
25
30
  function _createFacetedRowModel(table, columnId, preRowModel, columnFilters, globalFilter) {
26
31
  if (!preRowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) return preRowModel;
27
- const filterableIds = [...(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id).filter((d) => d !== columnId)) ?? [], globalFilter ? "__global__" : void 0].filter(Boolean);
32
+ const filterableIds = [];
33
+ if (columnFilters) for (let i = 0; i < columnFilters.length; i++) {
34
+ const id = columnFilters[i].id;
35
+ if (id !== columnId) filterableIds.push(id);
36
+ }
37
+ if (globalFilter) filterableIds.push("__global__");
28
38
  const filterRowsImpl = (row) => {
29
- for (const colId of filterableIds) {
39
+ for (let i = 0; i < filterableIds.length; i++) {
30
40
  var _row$columnFilters;
31
- if (((_row$columnFilters = row.columnFilters) === null || _row$columnFilters === void 0 ? void 0 : _row$columnFilters[colId]) === false) return false;
41
+ if (((_row$columnFilters = row.columnFilters) === null || _row$columnFilters === void 0 ? void 0 : _row$columnFilters[filterableIds[i]]) === false) return false;
32
42
  }
33
43
  return true;
34
44
  };
@@ -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\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_Internal<TFeatures, TData> = _table\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 = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;AAYA,SAAgB,wBAMsB;AACpC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,KAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,aAC1D,QAAO;CAGT,MAAM,gBAAgB,CACpB,kEAAI,cAAe,KAAK,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,MAAM,SAAS,KAAI,EAAE,EACvE,eAAe,eAAe,OAC/B,CAAC,OAAO,QAAQ;CAEjB,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,SAAS,eAAe;;AACjC,8BAAI,IAAI,uFAAgB,YAAW,MACjC,QAAO;;AAGX,SAAO;;AAGT,QAAO,WAAW,YAAY,MAAM,gBAAgB,MAAM"}
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_Internal<TFeatures, TData> = _table\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,QAA0C;EAChD,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,EAAE;CACvC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,GAAI;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,GAAG;;CAG/C,IAAI,cAAc,cAAc,KAAK,aAAa;CAElD,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;;GAC7C,2BAAI,IAAI,uFAAgB,cAAc,SAAS,OAC7C,OAAO;;EAGX,OAAO;;CAGT,OAAO,WAAW,YAAY,MAAM,gBAAgB,MAAM"}
@@ -2,6 +2,11 @@ const require_utils = require('../../utils.cjs');
2
2
  const require_columnFacetingFeature_utils = require('./columnFacetingFeature.utils.cjs');
3
3
 
4
4
  //#region src/features/column-faceting/createFacetedUniqueValues.ts
5
+ /**
6
+ * Creates a memoized faceted unique values helper for faceted filtering.
7
+ *
8
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
9
+ */
5
10
  function createFacetedUniqueValues() {
6
11
  return (_table, columnId) => {
7
12
  const table = _table;
@@ -20,10 +25,13 @@ function createFacetedUniqueValues() {
20
25
  }
21
26
  function _createFacetedUniqueValues(columnId, flatRows) {
22
27
  const facetedUniqueValues = /* @__PURE__ */ new Map();
23
- for (const row of flatRows) {
24
- const values = row.getUniqueValues(columnId);
25
- for (const value of values) if (facetedUniqueValues.has(value)) facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
26
- else facetedUniqueValues.set(value, 1);
28
+ for (let i = 0; i < flatRows.length; i++) {
29
+ const values = flatRows[i].getUniqueValues(columnId);
30
+ for (let j = 0; j < values.length; j++) {
31
+ const value = values[j];
32
+ if (facetedUniqueValues.has(value)) facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
33
+ else facetedUniqueValues.set(value, 1);
34
+ }
27
35
  }
28
36
  return facetedUniqueValues;
29
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedUniqueValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.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\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\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 fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMY;AAC1B,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;AAElD,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,SAAS,IAAI,gBAAgB,SAAS;AAE5C,OAAK,MAAM,SAAS,OAClB,KAAI,oBAAoB,IAAI,MAAM,CAChC,qBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;MAED,qBAAoB,IAAI,OAAO,EAAE;;AAKvC,QAAO"}
1
+ {"version":3,"file":"createFacetedUniqueValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.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 unique 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 createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\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 fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < flatRows.length; i++) {\n const values = flatRows[i]!.getUniqueValues(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMY;CAC1B,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;EAChD,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;IACxC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;IAC7D,OAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;CAElD,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,SAAS,SAAS,GAAI,gBAAgB,SAAS;EAErD,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;GACtC,MAAM,QAAQ,OAAO;GACrB,IAAI,oBAAoB,IAAI,MAAM,EAChC,oBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;QAED,oBAAoB,IAAI,OAAO,EAAE;;;CAKvC,OAAO"}
@@ -3,6 +3,11 @@ import { TableFeatures } from "../../types/TableFeatures.cjs";
3
3
  import { Table } from "../../types/Table.cjs";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedUniqueValues.d.ts
6
+ /**
7
+ * Creates a memoized faceted unique values helper for faceted filtering.
8
+ *
9
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
10
+ */
6
11
  declare function createFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => Map<any, number>;
7
12
  //#endregion
8
13
  export { createFacetedUniqueValues };
@@ -3,6 +3,11 @@ import { TableFeatures } from "../../types/TableFeatures.js";
3
3
  import { Table } from "../../types/Table.js";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedUniqueValues.d.ts
6
+ /**
7
+ * Creates a memoized faceted unique values helper for faceted filtering.
8
+ *
9
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
10
+ */
6
11
  declare function createFacetedUniqueValues<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>, columnId: string) => () => Map<any, number>;
7
12
  //#endregion
8
13
  export { createFacetedUniqueValues };
@@ -2,6 +2,11 @@ import { callMemoOrStaticFn, tableMemo } from "../../utils.js";
2
2
  import { column_getFacetedRowModel } from "./columnFacetingFeature.utils.js";
3
3
 
4
4
  //#region src/features/column-faceting/createFacetedUniqueValues.ts
5
+ /**
6
+ * Creates a memoized faceted unique values helper for faceted filtering.
7
+ *
8
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
9
+ */
5
10
  function createFacetedUniqueValues() {
6
11
  return (_table, columnId) => {
7
12
  const table = _table;
@@ -20,10 +25,13 @@ function createFacetedUniqueValues() {
20
25
  }
21
26
  function _createFacetedUniqueValues(columnId, flatRows) {
22
27
  const facetedUniqueValues = /* @__PURE__ */ new Map();
23
- for (const row of flatRows) {
24
- const values = row.getUniqueValues(columnId);
25
- for (const value of values) if (facetedUniqueValues.has(value)) facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
26
- else facetedUniqueValues.set(value, 1);
28
+ for (let i = 0; i < flatRows.length; i++) {
29
+ const values = flatRows[i].getUniqueValues(columnId);
30
+ for (let j = 0; j < values.length; j++) {
31
+ const value = values[j];
32
+ if (facetedUniqueValues.has(value)) facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
33
+ else facetedUniqueValues.set(value, 1);
34
+ }
27
35
  }
28
36
  return facetedUniqueValues;
29
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedUniqueValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.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\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\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 fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMY;AAC1B,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;AAElD,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,SAAS,IAAI,gBAAgB,SAAS;AAE5C,OAAK,MAAM,SAAS,OAClB,KAAI,oBAAoB,IAAI,MAAM,CAChC,qBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;MAED,qBAAoB,IAAI,OAAO,EAAE;;AAKvC,QAAO"}
1
+ {"version":3,"file":"createFacetedUniqueValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.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 unique 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 createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\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 fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < flatRows.length; i++) {\n const values = flatRows[i]!.getUniqueValues(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMY;CAC1B,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;EAChD,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;IACxC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;IAC7D,OAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;CAElD,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,SAAS,SAAS,GAAI,gBAAgB,SAAS;EAErD,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;GACtC,MAAM,QAAQ,OAAO;GACrB,IAAI,oBAAoB,IAAI,MAAM,EAChC,oBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;QAED,oBAAoB,IAAI,OAAO,EAAE;;;CAKvC,OAAO"}
@@ -2,6 +2,11 @@ const require_utils = require('../../utils.cjs');
2
2
  const require_columnFilteringFeature_utils = require('./columnFilteringFeature.utils.cjs');
3
3
 
4
4
  //#region src/features/column-filtering/columnFilteringFeature.ts
5
+ /**
6
+ * Creates the stock column filtering feature.
7
+ *
8
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
9
+ */
5
10
  function constructColumnFilteringFeature() {
6
11
  return {
7
12
  getInitialState: (initialState) => {
@@ -44,8 +49,11 @@ function constructColumnFilteringFeature() {
44
49
  };
45
50
  }
46
51
  /**
47
- * The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.
48
- * **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.
52
+ * The stock column filtering feature.
53
+ *
54
+ * Register this feature to add column filter state, filter defaults, and
55
+ * table/row/column APIs for client-side or manual column filtering. Global
56
+ * filtering is provided by `globalFilteringFeature`.
49
57
  */
50
58
  const columnFilteringFeature = constructColumnFilteringFeature();
51
59