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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/README.md +2 -0
  2. package/dist/core/cells/constructCell.cjs +1 -4
  3. package/dist/core/cells/constructCell.cjs.map +1 -1
  4. package/dist/core/cells/constructCell.d.cts +4 -4
  5. package/dist/core/cells/constructCell.d.ts +4 -4
  6. package/dist/core/cells/constructCell.js +1 -4
  7. package/dist/core/cells/constructCell.js.map +1 -1
  8. package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
  9. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
  10. package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
  11. package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
  12. package/dist/core/columns/constructColumn.cjs +4 -5
  13. package/dist/core/columns/constructColumn.cjs.map +1 -1
  14. package/dist/core/columns/constructColumn.d.cts +3 -3
  15. package/dist/core/columns/constructColumn.d.ts +3 -3
  16. package/dist/core/columns/constructColumn.js +4 -5
  17. package/dist/core/columns/constructColumn.js.map +1 -1
  18. package/dist/core/columns/coreColumnsFeature.cjs +12 -18
  19. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  20. package/dist/core/columns/coreColumnsFeature.js +12 -18
  21. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  22. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  23. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  24. package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
  25. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  26. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  27. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  28. package/dist/core/columns/coreColumnsFeature.utils.js +5 -9
  29. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  30. package/dist/core/coreFeatures.cjs.map +1 -1
  31. package/dist/core/coreFeatures.d.cts +1 -1
  32. package/dist/core/coreFeatures.d.ts +1 -1
  33. package/dist/core/coreFeatures.js.map +1 -1
  34. package/dist/core/headers/buildHeaderGroups.cjs +1 -2
  35. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  36. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  37. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  38. package/dist/core/headers/buildHeaderGroups.js +1 -2
  39. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  40. package/dist/core/headers/constructHeader.cjs +1 -4
  41. package/dist/core/headers/constructHeader.cjs.map +1 -1
  42. package/dist/core/headers/constructHeader.d.cts +2 -2
  43. package/dist/core/headers/constructHeader.d.ts +2 -2
  44. package/dist/core/headers/constructHeader.js +1 -4
  45. package/dist/core/headers/constructHeader.js.map +1 -1
  46. package/dist/core/headers/coreHeadersFeature.cjs +8 -11
  47. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  48. package/dist/core/headers/coreHeadersFeature.js +8 -11
  49. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  50. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  52. package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
  53. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  54. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  55. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  56. package/dist/core/headers/coreHeadersFeature.utils.js +8 -10
  57. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  58. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
  59. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
  60. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
  61. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  62. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
  64. package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
  65. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  66. package/dist/core/row-models/createCoreRowModel.cjs +4 -6
  67. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  68. package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
  69. package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
  70. package/dist/core/row-models/createCoreRowModel.js +5 -7
  71. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  72. package/dist/core/rows/constructRow.cjs +6 -10
  73. package/dist/core/rows/constructRow.cjs.map +1 -1
  74. package/dist/core/rows/constructRow.d.cts +2 -2
  75. package/dist/core/rows/constructRow.d.ts +2 -2
  76. package/dist/core/rows/constructRow.js +7 -10
  77. package/dist/core/rows/constructRow.js.map +1 -1
  78. package/dist/core/rows/coreRowsFeature.cjs +18 -2
  79. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  80. package/dist/core/rows/coreRowsFeature.js +19 -3
  81. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  82. package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
  83. package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
  84. package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
  85. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  86. package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
  87. package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
  88. package/dist/core/rows/coreRowsFeature.utils.js +61 -10
  89. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  90. package/dist/core/table/constructTable.cjs +24 -14
  91. package/dist/core/table/constructTable.cjs.map +1 -1
  92. package/dist/core/table/constructTable.d.cts +1 -1
  93. package/dist/core/table/constructTable.d.ts +1 -1
  94. package/dist/core/table/constructTable.js +24 -14
  95. package/dist/core/table/constructTable.js.map +1 -1
  96. package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
  97. package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
  98. package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
  99. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  100. package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
  101. package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
  102. package/dist/core/table/coreTablesFeature.utils.js +38 -14
  103. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  104. package/dist/experimental-worker-plugin.cjs +14 -0
  105. package/dist/experimental-worker-plugin.d.cts +5 -0
  106. package/dist/experimental-worker-plugin.d.ts +5 -0
  107. package/dist/experimental-worker-plugin.js +6 -0
  108. package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
  109. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  110. package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
  111. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  112. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
  113. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
  114. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
  115. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  116. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
  117. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
  118. package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
  119. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  120. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
  121. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  122. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  123. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  124. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  125. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  126. package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
  127. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  128. package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
  129. package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
  130. package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
  131. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  132. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
  133. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
  137. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  138. package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
  139. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  140. package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
  141. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  142. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
  143. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
  144. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
  145. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  146. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
  147. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
  148. package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  150. package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
  151. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  152. package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
  153. package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
  154. package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
  155. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  156. package/dist/features/column-filtering/filterFns.cjs +399 -0
  157. package/dist/features/column-filtering/filterFns.cjs.map +1 -0
  158. package/dist/features/column-filtering/filterFns.d.cts +210 -0
  159. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  160. package/dist/features/column-filtering/filterFns.js +375 -0
  161. package/dist/features/column-filtering/filterFns.js.map +1 -0
  162. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  163. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  164. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  165. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
  167. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  168. package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
  169. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
  170. package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
  171. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
  173. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
  179. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
  181. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  182. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
  183. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
  184. package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
  185. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
  187. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  188. package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
  189. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  190. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
  192. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
  195. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
  196. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
  197. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  198. package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
  199. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  200. package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
  201. package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
  202. package/dist/features/column-pinning/columnPinningFeature.js +125 -144
  203. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
  205. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
  206. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
  207. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  208. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
  209. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
  210. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
  211. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  212. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  216. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  220. package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
  221. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  222. package/dist/features/column-sizing/columnSizingFeature.js +34 -68
  223. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  224. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
  225. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
  226. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  228. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
  230. package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  232. package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  234. package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
  235. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  236. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
  237. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
  238. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
  239. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  240. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  244. package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
  245. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  246. package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
  247. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  248. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  249. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  250. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
  251. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  252. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
  253. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
  254. package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  256. package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
  257. package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
  258. package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
  259. package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
  260. package/dist/features/row-aggregation/aggregationFns.js +235 -0
  261. package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
  262. package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
  263. package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
  264. package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
  265. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
  266. package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
  267. package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
  268. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
  269. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
  270. package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
  271. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
  272. package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
  273. package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
  274. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
  275. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
  276. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
  277. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
  278. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
  279. package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
  280. package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
  281. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  282. package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
  283. package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
  284. package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
  285. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  286. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
  287. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
  288. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
  289. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  290. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  291. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  292. package/dist/features/row-expanding/rowExpandingFeature.utils.js +29 -27
  293. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  294. package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
  295. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  296. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
  297. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
  298. package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
  299. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  300. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
  301. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
  302. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
  303. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  304. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  305. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  306. package/dist/features/row-pagination/rowPaginationFeature.utils.js +9 -15
  307. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  308. package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
  309. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  310. package/dist/features/row-pinning/rowPinningFeature.js +4 -16
  311. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  312. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  313. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  314. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
  315. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  316. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  317. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  318. package/dist/features/row-pinning/rowPinningFeature.utils.js +9 -14
  319. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  320. package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
  321. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  322. package/dist/features/row-selection/rowSelectionFeature.js +67 -23
  323. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  324. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
  325. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
  326. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
  327. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  328. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
  329. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
  330. package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
  331. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  332. package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
  333. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  334. package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
  335. package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
  336. package/dist/features/row-sorting/createSortedRowModel.js +70 -51
  337. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  338. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
  339. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
  340. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
  341. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  342. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  343. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  344. package/dist/features/row-sorting/rowSortingFeature.utils.js +31 -17
  345. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  346. package/dist/features/row-sorting/sortFns.cjs +226 -0
  347. package/dist/features/row-sorting/sortFns.cjs.map +1 -0
  348. package/dist/features/row-sorting/sortFns.d.cts +98 -0
  349. package/dist/features/row-sorting/sortFns.d.ts +98 -0
  350. package/dist/features/row-sorting/sortFns.js +217 -0
  351. package/dist/features/row-sorting/sortFns.js.map +1 -0
  352. package/dist/features/stockFeatures.cjs +2 -0
  353. package/dist/features/stockFeatures.cjs.map +1 -1
  354. package/dist/features/stockFeatures.d.cts +2 -0
  355. package/dist/features/stockFeatures.d.ts +2 -0
  356. package/dist/features/stockFeatures.js +2 -0
  357. package/dist/features/stockFeatures.js.map +1 -1
  358. package/dist/flex-render.d.cts +1 -1
  359. package/dist/flex-render.d.ts +1 -1
  360. package/dist/helpers/columnHelper.cjs.map +1 -1
  361. package/dist/helpers/columnHelper.d.cts +2 -2
  362. package/dist/helpers/columnHelper.d.ts +2 -2
  363. package/dist/helpers/columnHelper.js.map +1 -1
  364. package/dist/helpers/metaHelper.cjs +30 -0
  365. package/dist/helpers/metaHelper.cjs.map +1 -0
  366. package/dist/helpers/metaHelper.d.cts +26 -0
  367. package/dist/helpers/metaHelper.d.ts +26 -0
  368. package/dist/helpers/metaHelper.js +29 -0
  369. package/dist/helpers/metaHelper.js.map +1 -0
  370. package/dist/helpers/tableFeatures.cjs +32 -3
  371. package/dist/helpers/tableFeatures.cjs.map +1 -1
  372. package/dist/helpers/tableFeatures.d.cts +34 -5
  373. package/dist/helpers/tableFeatures.d.ts +34 -5
  374. package/dist/helpers/tableFeatures.js +32 -3
  375. package/dist/helpers/tableFeatures.js.map +1 -1
  376. package/dist/index.cjs +23 -3
  377. package/dist/index.d.cts +31 -28
  378. package/dist/index.d.ts +31 -28
  379. package/dist/index.js +8 -5
  380. package/dist/static-functions.cjs +30 -19
  381. package/dist/static-functions.d.cts +8 -7
  382. package/dist/static-functions.d.ts +8 -7
  383. package/dist/static-functions.js +8 -7
  384. package/dist/store-reactivity-bindings.cjs +3 -3
  385. package/dist/store-reactivity-bindings.cjs.map +1 -1
  386. package/dist/store-reactivity-bindings.d.cts +1 -1
  387. package/dist/store-reactivity-bindings.d.ts +1 -1
  388. package/dist/store-reactivity-bindings.js +3 -3
  389. package/dist/store-reactivity-bindings.js.map +1 -1
  390. package/dist/types/Cell.d.cts +4 -2
  391. package/dist/types/Cell.d.ts +4 -2
  392. package/dist/types/Column.d.cts +15 -15
  393. package/dist/types/Column.d.ts +15 -15
  394. package/dist/types/ColumnDef.d.cts +30 -14
  395. package/dist/types/ColumnDef.d.ts +30 -14
  396. package/dist/types/Header.d.cts +2 -2
  397. package/dist/types/Header.d.ts +2 -2
  398. package/dist/types/HeaderGroup.d.cts +2 -2
  399. package/dist/types/HeaderGroup.d.ts +2 -2
  400. package/dist/types/Row.d.cts +6 -4
  401. package/dist/types/Row.d.ts +6 -4
  402. package/dist/types/RowModel.d.cts +11 -23
  403. package/dist/types/RowModel.d.ts +11 -23
  404. package/dist/types/RowModelFns.d.cts +4 -4
  405. package/dist/types/RowModelFns.d.ts +4 -4
  406. package/dist/types/Table.d.cts +26 -31
  407. package/dist/types/Table.d.ts +26 -31
  408. package/dist/types/TableFeatures.d.cts +350 -22
  409. package/dist/types/TableFeatures.d.ts +350 -22
  410. package/dist/types/TableOptions.d.cts +22 -14
  411. package/dist/types/TableOptions.d.ts +22 -14
  412. package/dist/types/TableState.d.cts +6 -6
  413. package/dist/types/TableState.d.ts +6 -6
  414. package/dist/types/type-utils.d.cts +8 -1
  415. package/dist/types/type-utils.d.ts +8 -1
  416. package/dist/utils.cjs +51 -29
  417. package/dist/utils.cjs.map +1 -1
  418. package/dist/utils.d.cts +30 -8
  419. package/dist/utils.d.ts +30 -8
  420. package/dist/utils.js +49 -30
  421. package/dist/utils.js.map +1 -1
  422. package/dist/worker/createTableWorker.cjs +189 -0
  423. package/dist/worker/createTableWorker.cjs.map +1 -0
  424. package/dist/worker/createTableWorker.d.cts +102 -0
  425. package/dist/worker/createTableWorker.d.ts +102 -0
  426. package/dist/worker/createTableWorker.js +186 -0
  427. package/dist/worker/createTableWorker.js.map +1 -0
  428. package/dist/worker/createWorkerRowModel.cjs +78 -0
  429. package/dist/worker/createWorkerRowModel.cjs.map +1 -0
  430. package/dist/worker/createWorkerRowModel.d.cts +42 -0
  431. package/dist/worker/createWorkerRowModel.d.ts +42 -0
  432. package/dist/worker/createWorkerRowModel.js +78 -0
  433. package/dist/worker/createWorkerRowModel.js.map +1 -0
  434. package/dist/worker/initTableWorker.cjs +100 -0
  435. package/dist/worker/initTableWorker.cjs.map +1 -0
  436. package/dist/worker/initTableWorker.d.cts +33 -0
  437. package/dist/worker/initTableWorker.d.ts +33 -0
  438. package/dist/worker/initTableWorker.js +100 -0
  439. package/dist/worker/initTableWorker.js.map +1 -0
  440. package/dist/worker/rebuildRowModel.cjs +72 -0
  441. package/dist/worker/rebuildRowModel.cjs.map +1 -0
  442. package/dist/worker/rebuildRowModel.d.cts +9 -0
  443. package/dist/worker/rebuildRowModel.d.ts +9 -0
  444. package/dist/worker/rebuildRowModel.js +72 -0
  445. package/dist/worker/rebuildRowModel.js.map +1 -0
  446. package/dist/worker/serializeRowModel.cjs +53 -0
  447. package/dist/worker/serializeRowModel.cjs.map +1 -0
  448. package/dist/worker/serializeRowModel.js +52 -0
  449. package/dist/worker/serializeRowModel.js.map +1 -0
  450. package/dist/worker/tableWorkerProtocol.cjs +29 -0
  451. package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
  452. package/dist/worker/tableWorkerProtocol.d.cts +88 -0
  453. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  454. package/dist/worker/tableWorkerProtocol.js +27 -0
  455. package/dist/worker/tableWorkerProtocol.js.map +1 -0
  456. package/package.json +8 -3
  457. package/skills/aggregation/SKILL.md +141 -0
  458. package/skills/api-not-found/SKILL.md +113 -0
  459. package/skills/client-vs-server/SKILL.md +164 -0
  460. package/skills/column-faceting/SKILL.md +97 -0
  461. package/skills/column-filtering/SKILL.md +87 -0
  462. package/skills/column-ordering/SKILL.md +75 -0
  463. package/skills/column-pinning/SKILL.md +89 -0
  464. package/skills/column-resizing/SKILL.md +91 -0
  465. package/skills/column-sizing/SKILL.md +72 -0
  466. package/skills/column-visibility/SKILL.md +75 -0
  467. package/skills/core/SKILL.md +175 -0
  468. package/skills/custom-features/SKILL.md +235 -0
  469. package/skills/expanding/SKILL.md +80 -0
  470. package/skills/global-filtering/SKILL.md +84 -0
  471. package/skills/grouping/SKILL.md +51 -401
  472. package/skills/migrate-v8-to-v9/SKILL.md +274 -416
  473. package/skills/pagination/SKILL.md +37 -344
  474. package/skills/row-pinning/SKILL.md +47 -234
  475. package/skills/row-selection/SKILL.md +75 -302
  476. package/skills/sorting/SKILL.md +45 -303
  477. package/skills/table-features/SKILL.md +159 -0
  478. package/skills/typescript/SKILL.md +126 -0
  479. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  480. package/src/core/columns/constructColumn.ts +6 -0
  481. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  482. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  483. package/src/core/coreFeatures.ts +1 -1
  484. package/src/core/headers/buildHeaderGroups.ts +4 -2
  485. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  486. package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
  487. package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
  488. package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
  489. package/src/core/row-models/createCoreRowModel.ts +7 -6
  490. package/src/core/rows/constructRow.ts +4 -2
  491. package/src/core/rows/coreRowsFeature.ts +21 -0
  492. package/src/core/rows/coreRowsFeature.types.ts +45 -8
  493. package/src/core/rows/coreRowsFeature.utils.ts +93 -5
  494. package/src/core/table/constructTable.ts +44 -6
  495. package/src/core/table/coreTablesFeature.types.ts +45 -20
  496. package/src/core/table/coreTablesFeature.utils.ts +59 -19
  497. package/src/experimental-worker-plugin.ts +22 -0
  498. package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
  499. package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
  500. package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
  501. package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
  502. package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
  503. package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
  504. package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
  505. package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
  506. package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
  507. package/src/features/column-filtering/filterFns.ts +533 -0
  508. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  509. package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
  510. package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
  511. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
  512. package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
  513. package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
  514. package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
  515. package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
  516. package/src/features/column-pinning/columnPinningFeature.ts +76 -59
  517. package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
  518. package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
  519. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  520. package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
  521. package/src/features/column-sizing/columnSizingFeature.ts +24 -24
  522. package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
  523. package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
  524. package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
  525. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  526. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
  527. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  528. package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
  529. package/src/features/row-aggregation/aggregationFns.ts +345 -0
  530. package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
  531. package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
  532. package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
  533. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
  534. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  535. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  536. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
  537. package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
  538. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  539. package/src/features/row-selection/rowSelectionFeature.ts +53 -3
  540. package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
  541. package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
  542. package/src/features/row-sorting/createSortedRowModel.ts +107 -75
  543. package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
  544. package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
  545. package/src/features/row-sorting/sortFns.ts +366 -0
  546. package/src/features/stockFeatures.ts +3 -0
  547. package/src/helpers/columnHelper.ts +4 -4
  548. package/src/helpers/metaHelper.ts +24 -0
  549. package/src/helpers/tableFeatures.ts +37 -5
  550. package/src/index.ts +8 -8
  551. package/src/static-functions.ts +1 -0
  552. package/src/store-reactivity-bindings.ts +1 -1
  553. package/src/types/Cell.ts +4 -2
  554. package/src/types/Column.ts +13 -9
  555. package/src/types/ColumnDef.ts +40 -10
  556. package/src/types/Header.ts +2 -2
  557. package/src/types/HeaderGroup.ts +6 -6
  558. package/src/types/Row.ts +6 -4
  559. package/src/types/RowModel.ts +19 -74
  560. package/src/types/RowModelFns.ts +10 -10
  561. package/src/types/Table.ts +52 -27
  562. package/src/types/TableFeatures.ts +392 -14
  563. package/src/types/TableOptions.ts +67 -14
  564. package/src/types/TableState.ts +15 -1
  565. package/src/types/type-utils.ts +8 -0
  566. package/src/utils.ts +60 -8
  567. package/src/worker/createTableWorker.ts +357 -0
  568. package/src/worker/createWorkerRowModel.ts +121 -0
  569. package/src/worker/initTableWorker.ts +164 -0
  570. package/src/worker/rebuildRowModel.ts +120 -0
  571. package/src/worker/serializeRowModel.ts +80 -0
  572. package/src/worker/tableWorkerProtocol.ts +105 -0
  573. package/dist/fns/aggregationFns.cjs +0 -161
  574. package/dist/fns/aggregationFns.cjs.map +0 -1
  575. package/dist/fns/aggregationFns.d.cts +0 -85
  576. package/dist/fns/aggregationFns.d.ts +0 -85
  577. package/dist/fns/aggregationFns.js +0 -151
  578. package/dist/fns/aggregationFns.js.map +0 -1
  579. package/dist/fns/filterFns.cjs +0 -201
  580. package/dist/fns/filterFns.cjs.map +0 -1
  581. package/dist/fns/filterFns.d.cts +0 -167
  582. package/dist/fns/filterFns.d.ts +0 -167
  583. package/dist/fns/filterFns.js +0 -185
  584. package/dist/fns/filterFns.js.map +0 -1
  585. package/dist/fns/sortFns.cjs +0 -118
  586. package/dist/fns/sortFns.cjs.map +0 -1
  587. package/dist/fns/sortFns.d.cts +0 -65
  588. package/dist/fns/sortFns.d.ts +0 -65
  589. package/dist/fns/sortFns.js +0 -110
  590. package/dist/fns/sortFns.js.map +0 -1
  591. package/skills/column-definitions/SKILL.md +0 -333
  592. package/skills/column-layout/SKILL.md +0 -328
  593. package/skills/column-layout/references/subsystems.md +0 -220
  594. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  595. package/skills/filtering/SKILL.md +0 -357
  596. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  597. package/skills/row-expanding/SKILL.md +0 -348
  598. package/skills/setup/SKILL.md +0 -400
  599. package/skills/state-management/SKILL.md +0 -388
  600. package/src/fns/aggregationFns.ts +0 -245
  601. package/src/fns/filterFns.ts +0 -382
  602. package/src/fns/sortFns.ts +0 -217
@@ -20,12 +20,13 @@ function table_syncExternalStateToBaseAtoms(table) {
20
20
  const baseAtom = table.baseAtoms[key];
21
21
  if (!baseAtom) continue;
22
22
  const externalState = state[key];
23
- if (externalState !== baseAtom.get()) baseAtom.set(() => externalState);
23
+ if (externalState !== table._reactivity.untrack(() => baseAtom.get())) baseAtom.set(() => externalState);
24
24
  }
25
25
  });
26
26
  }
27
27
  /**
28
- * Resets all internal table base atoms to `table.initialState`.
28
+ * Resets all internal table base atoms to `table.initialState`, then clears
29
+ * transient instance data through registered feature reset hooks.
29
30
  *
30
31
  * This resets internally owned state slices in a single reactivity batch. Use
31
32
  * feature-specific reset APIs when a slice may be externally owned.
@@ -44,12 +45,16 @@ function table_reset(table) {
44
45
  table.baseAtoms[key].set(snap[key]);
45
46
  }
46
47
  });
48
+ const features = Object.values(table._features);
49
+ for (let i = 0; i < features.length; i++) features[i].resetTableInstanceData?.(table);
47
50
  }
48
51
  /**
49
52
  * Merges new table options with the current resolved options.
50
53
  *
51
54
  * If `options.mergeOptions` is provided, it owns the merge behavior; otherwise
52
- * options are shallow-merged.
55
+ * options are shallow-merged. Static options that should never change after
56
+ * initialization are restored on a fresh object so framework merge helpers may
57
+ * return readonly getter/proxy objects.
53
58
  *
54
59
  * @example
55
60
  * ```ts
@@ -57,11 +62,37 @@ function table_reset(table) {
57
62
  * ```
58
63
  */
59
64
  function table_mergeOptions(table, newOptions) {
60
- if (table.options.mergeOptions) return table.options.mergeOptions(table.options, newOptions);
61
- return {
65
+ const { features, atoms, initialState } = table.options;
66
+ if (!table.options.mergeOptions) return {
62
67
  ...table.options,
63
- ...newOptions
68
+ ...newOptions,
69
+ features,
70
+ atoms,
71
+ initialState
64
72
  };
73
+ const mergedOptions = table.options.mergeOptions(table.options, newOptions);
74
+ const descriptors = { ...Object.getOwnPropertyDescriptors(mergedOptions) };
75
+ return Object.defineProperties(Object.create(Object.getPrototypeOf(mergedOptions)), {
76
+ ...descriptors,
77
+ features: {
78
+ value: features,
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true
82
+ },
83
+ atoms: {
84
+ value: atoms,
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true
88
+ },
89
+ initialState: {
90
+ value: initialState,
91
+ enumerable: true,
92
+ configurable: true,
93
+ writable: true
94
+ }
95
+ });
65
96
  }
66
97
  /**
67
98
  * Updates the table options object.
@@ -75,14 +106,7 @@ function table_mergeOptions(table, newOptions) {
75
106
  * ```
76
107
  */
77
108
  function table_setOptions(table, updater) {
78
- const newOptions = functionalUpdate(updater, table.options);
79
- const { rowModels, features, atoms, initialState } = table.options;
80
- const mergedOptions = Object.assign(table_mergeOptions(table, newOptions), {
81
- rowModels,
82
- features,
83
- atoms,
84
- initialState
85
- });
109
+ const mergedOptions = table_mergeOptions(table, functionalUpdate(updater, table.options));
86
110
  if (table.optionsStore) table.optionsStore.set(() => mergedOptions);
87
111
  else table.options = mergedOptions;
88
112
  table_syncExternalStateToBaseAtoms(table);
@@ -1 +1 @@
1
- {"version":3,"file":"coreTablesFeature.utils.js","names":[],"sources":["../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\n/**\n * Synchronizes externally controlled state slices into the table's base atoms.\n *\n * This keeps legacy `options.state` values reflected in the atom graph so\n * derived atoms, stores, and table APIs read a consistent snapshot.\n *\n * @example\n * ```ts\n * table_syncExternalStateToBaseAtoms(table)\n * ```\n */\nexport function table_syncExternalStateToBaseAtoms<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const state = table.options.state\n if (!state) {\n return\n }\n\n table._reactivity.batch(() => {\n for (const key in state) {\n const baseAtom = (table.baseAtoms as Record<string, any>)[key]\n if (!baseAtom) {\n continue\n }\n\n const externalState = state[key as keyof typeof state]\n if (externalState !== baseAtom.get()) {\n baseAtom.set(() => externalState)\n }\n }\n })\n}\n\n/**\n * Resets all internal table base atoms to `table.initialState`.\n *\n * This resets internally owned state slices in a single reactivity batch. Use\n * feature-specific reset APIs when a slice may be externally owned.\n *\n * @example\n * ```ts\n * table_reset(table)\n * ```\n */\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const snap = cloneState(table.initialState)\n table._reactivity.batch(() => {\n const keys = Object.keys(snap) as Array<keyof typeof snap>\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]!\n ;(table.baseAtoms as any)[key].set(snap[key])\n }\n })\n}\n\n/**\n * Merges new table options with the current resolved options.\n *\n * If `options.mergeOptions` is provided, it owns the merge behavior; otherwise\n * options are shallow-merged.\n *\n * @example\n * ```ts\n * const options = table_mergeOptions(table, nextOptions)\n * ```\n */\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(table.options, newOptions)\n }\n\n return {\n ...table.options,\n ...newOptions,\n }\n}\n\n/**\n * Updates the table options object.\n *\n * The updater receives the current resolved options and the merged result is\n * immediately assigned to the table instance.\n *\n * @example\n * ```ts\n * table_setOptions(table, (old) => old)\n * ```\n */\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(updater, table.options)\n // table static options that should never change after initialization\n const { rowModels, features, atoms, initialState } = table.options\n const mergedOptions = Object.assign(table_mergeOptions(table, newOptions), {\n // Once the table instance is created those properties should never change after initialization,\n // so we assign them back preserving the `table_mergeOptions` object reference\n rowModels,\n features,\n atoms,\n initialState,\n })\n\n if (table.optionsStore) {\n table.optionsStore.set(() => mergedOptions)\n } else {\n table.options = mergedOptions\n }\n table_syncExternalStateToBaseAtoms(table)\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAgB,mCAGd,OAA+C;CAC/C,MAAM,QAAQ,MAAM,QAAQ;CAC5B,IAAI,CAAC,OACH;CAGF,MAAM,YAAY,YAAY;EAC5B,KAAK,MAAM,OAAO,OAAO;GACvB,MAAM,WAAY,MAAM,UAAkC;GAC1D,IAAI,CAAC,UACH;GAGF,MAAM,gBAAgB,MAAM;GAC5B,IAAI,kBAAkB,SAAS,IAAI,GACjC,SAAS,UAAU,aAAa;EAEpC;CACF,CAAC;AACH;;;;;;;;;;;;AAaA,SAAgB,YAGd,OAA+C;CAC/C,MAAM,OAAO,WAAW,MAAM,YAAY;CAC1C,MAAM,YAAY,YAAY;EAC5B,MAAM,OAAO,OAAO,KAAK,IAAI;EAC7B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACpC,MAAM,MAAM,KAAK;GAChB,AAAC,MAAM,UAAkB,IAAI,CAAC,IAAI,KAAK,IAAI;EAC9C;CACF,CAAC;AACH;;;;;;;;;;;;AAaA,SAAgB,mBAId,OACA,YACA;CACA,IAAI,MAAM,QAAQ,cAChB,OAAO,MAAM,QAAQ,aAAa,MAAM,SAAS,UAAU;CAG7D,OAAO;EACL,GAAG,MAAM;EACT,GAAG;CACL;AACF;;;;;;;;;;;;AAaA,SAAgB,iBAId,OACA,SACM;CACN,MAAM,aAAa,iBAAiB,SAAS,MAAM,OAAO;CAE1D,MAAM,EAAE,WAAW,UAAU,OAAO,iBAAiB,MAAM;CAC3D,MAAM,gBAAgB,OAAO,OAAO,mBAAmB,OAAO,UAAU,GAAG;EAGzE;EACA;EACA;EACA;CACF,CAAC;CAED,IAAI,MAAM,cACR,MAAM,aAAa,UAAU,aAAa;MAE1C,MAAM,UAAU;CAElB,mCAAmC,KAAK;AAC1C"}
1
+ {"version":3,"file":"coreTablesFeature.utils.js","names":[],"sources":["../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\n/**\n * Synchronizes externally controlled state slices into the table's base atoms.\n *\n * This keeps legacy `options.state` values reflected in the atom graph so\n * derived atoms, stores, and table APIs read a consistent snapshot.\n *\n * @example\n * ```ts\n * table_syncExternalStateToBaseAtoms(table)\n * ```\n */\nexport function table_syncExternalStateToBaseAtoms<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const state = table.options.state\n if (!state) {\n return\n }\n\n table._reactivity.batch(() => {\n for (const key in state) {\n const baseAtom = (table.baseAtoms as Record<string, any>)[key]\n if (!baseAtom) {\n continue\n }\n\n const externalState = state[key as keyof typeof state]\n if (externalState !== table._reactivity.untrack(() => baseAtom.get())) {\n baseAtom.set(() => externalState)\n }\n }\n })\n}\n\n/**\n * Resets all internal table base atoms to `table.initialState`, then clears\n * transient instance data through registered feature reset hooks.\n *\n * This resets internally owned state slices in a single reactivity batch. Use\n * feature-specific reset APIs when a slice may be externally owned.\n *\n * @example\n * ```ts\n * table_reset(table)\n * ```\n */\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const snap = cloneState(table.initialState)\n table._reactivity.batch(() => {\n const keys = Object.keys(snap) as Array<keyof typeof snap>\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]!\n ;(table.baseAtoms as any)[key].set(snap[key])\n }\n })\n\n const features = Object.values(table._features)\n for (let i = 0; i < features.length; i++) {\n features[i]!.resetTableInstanceData?.(table)\n }\n}\n\n/**\n * Merges new table options with the current resolved options.\n *\n * If `options.mergeOptions` is provided, it owns the merge behavior; otherwise\n * options are shallow-merged. Static options that should never change after\n * initialization are restored on a fresh object so framework merge helpers may\n * return readonly getter/proxy objects.\n *\n * @example\n * ```ts\n * const options = table_mergeOptions(table, nextOptions)\n * ```\n */\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n const { features, atoms, initialState } = table.options\n\n // simple merge if no mergeOptions is provided - performant\n if (!table.options.mergeOptions) {\n return {\n ...table.options,\n ...newOptions,\n features,\n atoms,\n initialState,\n }\n }\n\n // else use the mergeOptions function and preserve getters/setters\n const mergedOptions = table.options.mergeOptions(\n table.options as TableOptions<TFeatures, TData>,\n newOptions,\n )\n const descriptors: PropertyDescriptorMap = {\n ...Object.getOwnPropertyDescriptors(mergedOptions),\n }\n\n return Object.defineProperties(\n Object.create(Object.getPrototypeOf(mergedOptions)),\n {\n ...descriptors,\n features: {\n value: features,\n enumerable: true,\n configurable: true,\n writable: true,\n },\n atoms: {\n value: atoms,\n enumerable: true,\n configurable: true,\n writable: true,\n },\n initialState: {\n value: initialState,\n enumerable: true,\n configurable: true,\n writable: true,\n },\n },\n ) as TableOptions<TFeatures, TData>\n}\n\n/**\n * Updates the table options object.\n *\n * The updater receives the current resolved options and the merged result is\n * immediately assigned to the table instance.\n *\n * @example\n * ```ts\n * table_setOptions(table, (old) => old)\n * ```\n */\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(\n updater,\n table.options as TableOptions<TFeatures, TData>,\n )\n const mergedOptions = table_mergeOptions(table, newOptions)\n\n if (table.optionsStore) {\n table.optionsStore.set(() => mergedOptions)\n } else {\n table.options = mergedOptions\n }\n table_syncExternalStateToBaseAtoms(table)\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAgB,mCAGd,OAA+C;CAC/C,MAAM,QAAQ,MAAM,QAAQ;CAC5B,IAAI,CAAC,OACH;CAGF,MAAM,YAAY,YAAY;EAC5B,KAAK,MAAM,OAAO,OAAO;GACvB,MAAM,WAAY,MAAM,UAAkC;GAC1D,IAAI,CAAC,UACH;GAGF,MAAM,gBAAgB,MAAM;GAC5B,IAAI,kBAAkB,MAAM,YAAY,cAAc,SAAS,IAAI,CAAC,GAClE,SAAS,UAAU,aAAa;EAEpC;CACF,CAAC;AACH;;;;;;;;;;;;;AAcA,SAAgB,YAGd,OAA+C;CAC/C,MAAM,OAAO,WAAW,MAAM,YAAY;CAC1C,MAAM,YAAY,YAAY;EAC5B,MAAM,OAAO,OAAO,KAAK,IAAI;EAC7B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACpC,MAAM,MAAM,KAAK;GAChB,AAAC,MAAM,UAAkB,IAAI,CAAC,IAAI,KAAK,IAAI;EAC9C;CACF,CAAC;CAED,MAAM,WAAW,OAAO,OAAO,MAAM,SAAS;CAC9C,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACnC,SAAS,EAAE,CAAE,yBAAyB,KAAK;AAE/C;;;;;;;;;;;;;;AAeA,SAAgB,mBAId,OACA,YACA;CACA,MAAM,EAAE,UAAU,OAAO,iBAAiB,MAAM;CAGhD,IAAI,CAAC,MAAM,QAAQ,cACjB,OAAO;EACL,GAAG,MAAM;EACT,GAAG;EACH;EACA;EACA;CACF;CAIF,MAAM,gBAAgB,MAAM,QAAQ,aAClC,MAAM,SACN,UACF;CACA,MAAM,cAAqC,EACzC,GAAG,OAAO,0BAA0B,aAAa,EACnD;CAEA,OAAO,OAAO,iBACZ,OAAO,OAAO,OAAO,eAAe,aAAa,CAAC,GAClD;EACE,GAAG;EACH,UAAU;GACR,OAAO;GACP,YAAY;GACZ,cAAc;GACd,UAAU;EACZ;EACA,OAAO;GACL,OAAO;GACP,YAAY;GACZ,cAAc;GACd,UAAU;EACZ;EACA,cAAc;GACZ,OAAO;GACP,YAAY;GACZ,cAAc;GACd,UAAU;EACZ;CACF,CACF;AACF;;;;;;;;;;;;AAaA,SAAgB,iBAId,OACA,SACM;CAKN,MAAM,gBAAgB,mBAAmB,OAJtB,iBACjB,SACA,MAAM,OAEiD,CAAC;CAE1D,IAAI,MAAM,cACR,MAAM,aAAa,UAAU,aAAa;MAE1C,MAAM,UAAU;CAElB,mCAAmC,KAAK;AAC1C"}
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_tableWorkerProtocol = require('./worker/tableWorkerProtocol.cjs');
3
+ const require_initTableWorker = require('./worker/initTableWorker.cjs');
4
+ const require_createTableWorker = require('./worker/createTableWorker.cjs');
5
+ const require_createWorkerRowModel = require('./worker/createWorkerRowModel.cjs');
6
+
7
+ exports.createTableWorker = require_createTableWorker.createTableWorker;
8
+ exports.createWorkerRowModel = require_createWorkerRowModel.createWorkerRowModel;
9
+ exports.getTableWorkerBridge = require_createTableWorker.getTableWorkerBridge;
10
+ exports.initTableWorker = require_initTableWorker.initTableWorker;
11
+ exports.syncTableWorker = require_createTableWorker.syncTableWorker;
12
+ exports.tableWorkerPipeline = require_tableWorkerProtocol.tableWorkerPipeline;
13
+ exports.tableWorkerStageStateDeps = require_tableWorkerProtocol.tableWorkerStageStateDeps;
14
+ exports.workerRowModelsFeature = require_createTableWorker.workerRowModelsFeature;
@@ -0,0 +1,5 @@
1
+ import { TableState_WorkerRowModels, TableWorkerGroupNode, TableWorkerRequest, TableWorkerResponse, TableWorkerResult, TableWorkerRowNode, TableWorkerStage, TableWorkerStagePayload, tableWorkerPipeline, tableWorkerStageStateDeps } from "./worker/tableWorkerProtocol.cjs";
2
+ import { TableWorkerConfig, initTableWorker } from "./worker/initTableWorker.cjs";
3
+ import { TableWorker, TableWorkerBridge, TableWorkerOptions, createTableWorker, getTableWorkerBridge, syncTableWorker, workerRowModelsFeature } from "./worker/createTableWorker.cjs";
4
+ import { createWorkerRowModel } from "./worker/createWorkerRowModel.cjs";
5
+ export { TableState_WorkerRowModels, TableWorker, TableWorkerBridge, TableWorkerConfig, TableWorkerGroupNode, TableWorkerOptions, TableWorkerRequest, TableWorkerResponse, TableWorkerResult, TableWorkerRowNode, TableWorkerStage, TableWorkerStagePayload, createTableWorker, createWorkerRowModel, getTableWorkerBridge, initTableWorker, syncTableWorker, tableWorkerPipeline, tableWorkerStageStateDeps, workerRowModelsFeature };
@@ -0,0 +1,5 @@
1
+ import { TableState_WorkerRowModels, TableWorkerGroupNode, TableWorkerRequest, TableWorkerResponse, TableWorkerResult, TableWorkerRowNode, TableWorkerStage, TableWorkerStagePayload, tableWorkerPipeline, tableWorkerStageStateDeps } from "./worker/tableWorkerProtocol.js";
2
+ import { TableWorkerConfig, initTableWorker } from "./worker/initTableWorker.js";
3
+ import { TableWorker, TableWorkerBridge, TableWorkerOptions, createTableWorker, getTableWorkerBridge, syncTableWorker, workerRowModelsFeature } from "./worker/createTableWorker.js";
4
+ import { createWorkerRowModel } from "./worker/createWorkerRowModel.js";
5
+ export { TableState_WorkerRowModels, TableWorker, TableWorkerBridge, TableWorkerConfig, TableWorkerGroupNode, TableWorkerOptions, TableWorkerRequest, TableWorkerResponse, TableWorkerResult, TableWorkerRowNode, TableWorkerStage, TableWorkerStagePayload, createTableWorker, createWorkerRowModel, getTableWorkerBridge, initTableWorker, syncTableWorker, tableWorkerPipeline, tableWorkerStageStateDeps, workerRowModelsFeature };
@@ -0,0 +1,6 @@
1
+ import { tableWorkerPipeline, tableWorkerStageStateDeps } from "./worker/tableWorkerProtocol.js";
2
+ import { initTableWorker } from "./worker/initTableWorker.js";
3
+ import { createTableWorker, getTableWorkerBridge, syncTableWorker, workerRowModelsFeature } from "./worker/createTableWorker.js";
4
+ import { createWorkerRowModel } from "./worker/createWorkerRowModel.js";
5
+
6
+ export { createTableWorker, createWorkerRowModel, getTableWorkerBridge, initTableWorker, syncTableWorker, tableWorkerPipeline, tableWorkerStageStateDeps, workerRowModelsFeature };
@@ -9,15 +9,12 @@ const columnFacetingFeature = {
9
9
  assignColumnPrototype: (prototype, table) => {
10
10
  require_utils.assignPrototypeAPIs("columnFacetingFeature", prototype, table, {
11
11
  column_getFacetedRowModel: {
12
- memoDeps: () => {
13
- var _table$atoms$columnFi, _table$atoms$globalFi;
14
- return [
15
- table.getPreFilteredRowModel().rows,
16
- (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
17
- (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get(),
18
- table.getFilteredRowModel().rows
19
- ];
20
- },
12
+ memoDeps: () => [
13
+ table.getPreFilteredRowModel().rows,
14
+ table.atoms.columnFilters?.get(),
15
+ table.atoms.globalFilter?.get(),
16
+ table.getFilteredRowModel().rows
17
+ ],
21
18
  fn: (column) => require_columnFacetingFeature_utils.column_getFacetedRowModel(column, column.table)
22
19
  },
23
20
  column_getFacetedMinMaxValues: {
@@ -33,15 +30,12 @@ const columnFacetingFeature = {
33
30
  constructTableAPIs: (table) => {
34
31
  require_utils.assignTableAPIs("columnFacetingFeature", table, {
35
32
  table_getGlobalFacetedRowModel: {
36
- memoDeps: () => {
37
- var _table$atoms$columnFi2, _table$atoms$globalFi2;
38
- return [
39
- table.getPreFilteredRowModel().rows,
40
- (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get(),
41
- (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get(),
42
- table.getFilteredRowModel().rows
43
- ];
44
- },
33
+ memoDeps: () => [
34
+ table.getPreFilteredRowModel().rows,
35
+ table.atoms.columnFilters?.get(),
36
+ table.atoms.globalFilter?.get(),
37
+ table.getFilteredRowModel().rows
38
+ ],
45
39
  fn: () => require_columnFacetingFeature_utils.table_getGlobalFacetedRowModel(table)
46
40
  },
47
41
  table_getGlobalFacetedMinMaxValues: {
@@ -1 +1 @@
1
- {"version":3,"file":"columnFacetingFeature.cjs","names":["column_getFacetedRowModel","callMemoOrStaticFn","column_getFacetedMinMaxValues","column_getFacetedUniqueValues","table_getGlobalFacetedRowModel","table_getGlobalFacetedMinMaxValues","table_getGlobalFacetedUniqueValues"],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that derives faceted row models, unique values, and min/max values for filters.\n */\nexport const columnFacetingFeature: TableFeature = {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAkBA,MAAa,wBAAsC;CACjD,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,yBAAyB,WAAW,OAAO;GAC7D,2BAA2B;IACzB,gBAAgB;;;MACd,MAAM,uBAAuB,CAAC,CAAC;+BAC/B,MAAM,MAAM,6FAAe,IAAI;+BAC/B,MAAM,MAAM,4FAAc,IAAI;MAC9B,MAAM,oBAAoB,CAAC,CAAC;KAC9B;;IACA,KAAK,WAAWA,8DAA0B,QAAQ,OAAO,KAAK;GAChE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpBC,iCACE,QACA,sBACAD,+DACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAWE,kEAA8B,QAAQ,OAAO,KAAK;GACpE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpBD,iCACE,QACA,sBACAD,+DACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAWG,kEAA8B,QAAQ,OAAO,KAAK;GACpE;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,yBAAyB,OAAO;GAC9C,gCAAgC;IAC9B,gBAAgB;;;MACd,MAAM,uBAAuB,CAAC,CAAC;gCAC/B,MAAM,MAAM,+FAAe,IAAI;gCAC/B,MAAM,MAAM,8FAAc,IAAI;MAC9B,MAAM,oBAAoB,CAAC,CAAC;KAC9B;;IACA,UAAUC,mEAA+B,KAAK;GAChD;GACA,oCAAoC;IAClC,gBAAgB,CACdH,iCACE,OACA,4BACAG,kEACF,CAAC,CAAC,QACJ;IACA,UAAUC,uEAAmC,KAAK;GACpD;GACA,oCAAoC;IAClC,gBAAgB,CACdJ,iCACE,OACA,4BACAG,kEACF,CAAC,CAAC,QACJ;IACA,UAAUE,uEAAmC,KAAK;GACpD;EACF,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"columnFacetingFeature.cjs","names":["column_getFacetedRowModel","callMemoOrStaticFn","column_getFacetedMinMaxValues","column_getFacetedUniqueValues","table_getGlobalFacetedRowModel","table_getGlobalFacetedMinMaxValues","table_getGlobalFacetedUniqueValues"],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that derives faceted row models, unique values, and min/max values for filters.\n */\nexport const columnFacetingFeature: TableFeature = {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAkBA,MAAa,wBAAsC;CACjD,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,yBAAyB,WAAW,OAAO;GAC7D,2BAA2B;IACzB,gBAAgB;KACd,MAAM,uBAAuB,CAAC,CAAC;KAC/B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,oBAAoB,CAAC,CAAC;IAC9B;IACA,KAAK,WAAWA,8DAA0B,QAAQ,OAAO,KAAK;GAChE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpBC,iCACE,QACA,sBACAD,+DACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAWE,kEAA8B,QAAQ,OAAO,KAAK;GACpE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpBD,iCACE,QACA,sBACAD,+DACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAWG,kEAA8B,QAAQ,OAAO,KAAK;GACpE;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,yBAAyB,OAAO;GAC9C,gCAAgC;IAC9B,gBAAgB;KACd,MAAM,uBAAuB,CAAC,CAAC;KAC/B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,oBAAoB,CAAC,CAAC;IAC9B;IACA,UAAUC,mEAA+B,KAAK;GAChD;GACA,oCAAoC;IAClC,gBAAgB,CACdH,iCACE,OACA,4BACAG,kEACF,CAAC,CAAC,QACJ;IACA,UAAUC,uEAAmC,KAAK;GACpD;GACA,oCAAoC;IAClC,gBAAgB,CACdJ,iCACE,OACA,4BACAG,kEACF,CAAC,CAAC,QACJ;IACA,UAAUE,uEAAmC,KAAK;GACpD;EACF,CAAC;CACH;AACF"}
@@ -9,15 +9,12 @@ const columnFacetingFeature = {
9
9
  assignColumnPrototype: (prototype, table) => {
10
10
  assignPrototypeAPIs("columnFacetingFeature", prototype, table, {
11
11
  column_getFacetedRowModel: {
12
- memoDeps: () => {
13
- var _table$atoms$columnFi, _table$atoms$globalFi;
14
- return [
15
- table.getPreFilteredRowModel().rows,
16
- (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
17
- (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get(),
18
- table.getFilteredRowModel().rows
19
- ];
20
- },
12
+ memoDeps: () => [
13
+ table.getPreFilteredRowModel().rows,
14
+ table.atoms.columnFilters?.get(),
15
+ table.atoms.globalFilter?.get(),
16
+ table.getFilteredRowModel().rows
17
+ ],
21
18
  fn: (column) => column_getFacetedRowModel(column, column.table)
22
19
  },
23
20
  column_getFacetedMinMaxValues: {
@@ -33,15 +30,12 @@ const columnFacetingFeature = {
33
30
  constructTableAPIs: (table) => {
34
31
  assignTableAPIs("columnFacetingFeature", table, {
35
32
  table_getGlobalFacetedRowModel: {
36
- memoDeps: () => {
37
- var _table$atoms$columnFi2, _table$atoms$globalFi2;
38
- return [
39
- table.getPreFilteredRowModel().rows,
40
- (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get(),
41
- (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get(),
42
- table.getFilteredRowModel().rows
43
- ];
44
- },
33
+ memoDeps: () => [
34
+ table.getPreFilteredRowModel().rows,
35
+ table.atoms.columnFilters?.get(),
36
+ table.atoms.globalFilter?.get(),
37
+ table.getFilteredRowModel().rows
38
+ ],
45
39
  fn: () => table_getGlobalFacetedRowModel(table)
46
40
  },
47
41
  table_getGlobalFacetedMinMaxValues: {
@@ -1 +1 @@
1
- {"version":3,"file":"columnFacetingFeature.js","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that derives faceted row models, unique values, and min/max values for filters.\n */\nexport const columnFacetingFeature: TableFeature = {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAkBA,MAAa,wBAAsC;CACjD,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,yBAAyB,WAAW,OAAO;GAC7D,2BAA2B;IACzB,gBAAgB;;;MACd,MAAM,uBAAuB,CAAC,CAAC;+BAC/B,MAAM,MAAM,6FAAe,IAAI;+BAC/B,MAAM,MAAM,4FAAc,IAAI;MAC9B,MAAM,oBAAoB,CAAC,CAAC;KAC9B;;IACA,KAAK,WAAW,0BAA0B,QAAQ,OAAO,KAAK;GAChE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpB,mBACE,QACA,sBACA,2BACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAW,8BAA8B,QAAQ,OAAO,KAAK;GACpE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpB,mBACE,QACA,sBACA,2BACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAW,8BAA8B,QAAQ,OAAO,KAAK;GACpE;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,yBAAyB,OAAO;GAC9C,gCAAgC;IAC9B,gBAAgB;;;MACd,MAAM,uBAAuB,CAAC,CAAC;gCAC/B,MAAM,MAAM,+FAAe,IAAI;gCAC/B,MAAM,MAAM,8FAAc,IAAI;MAC9B,MAAM,oBAAoB,CAAC,CAAC;KAC9B;;IACA,UAAU,+BAA+B,KAAK;GAChD;GACA,oCAAoC;IAClC,gBAAgB,CACd,mBACE,OACA,4BACA,8BACF,CAAC,CAAC,QACJ;IACA,UAAU,mCAAmC,KAAK;GACpD;GACA,oCAAoC;IAClC,gBAAgB,CACd,mBACE,OACA,4BACA,8BACF,CAAC,CAAC,QACJ;IACA,UAAU,mCAAmC,KAAK;GACpD;EACF,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"columnFacetingFeature.js","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that derives faceted row models, unique values, and min/max values for filters.\n */\nexport const columnFacetingFeature: TableFeature = {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAkBA,MAAa,wBAAsC;CACjD,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,yBAAyB,WAAW,OAAO;GAC7D,2BAA2B;IACzB,gBAAgB;KACd,MAAM,uBAAuB,CAAC,CAAC;KAC/B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,oBAAoB,CAAC,CAAC;IAC9B;IACA,KAAK,WAAW,0BAA0B,QAAQ,OAAO,KAAK;GAChE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpB,mBACE,QACA,sBACA,2BACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAW,8BAA8B,QAAQ,OAAO,KAAK;GACpE;GACA,+BAA+B;IAC7B,WAAW,WAAW,CACpB,mBACE,QACA,sBACA,2BACA,OAAO,KACT,CAAC,CAAC,QACJ;IACA,KAAK,WAAW,8BAA8B,QAAQ,OAAO,KAAK;GACpE;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,yBAAyB,OAAO;GAC9C,gCAAgC;IAC9B,gBAAgB;KACd,MAAM,uBAAuB,CAAC,CAAC;KAC/B,MAAM,MAAM,eAAe,IAAI;KAC/B,MAAM,MAAM,cAAc,IAAI;KAC9B,MAAM,oBAAoB,CAAC,CAAC;IAC9B;IACA,UAAU,+BAA+B,KAAK;GAChD;GACA,oCAAoC;IAClC,gBAAgB,CACd,mBACE,OACA,4BACA,8BACF,CAAC,CAAC,QACJ;IACA,UAAU,mCAAmC,KAAK;GACpD;GACA,oCAAoC;IAClC,gBAAgB,CACd,mBACE,OACA,4BACA,8BACF,CAAC,CAAC,QACJ;IACA,UAAU,mCAAmC,KAAK;GACpD;EACF,CAAC;CACH;AACF"}
@@ -1,10 +1,9 @@
1
1
  import { RowData } from "../../types/type-utils.cjs";
2
- import { TableFeatures } from "../../types/TableFeatures.cjs";
3
- import { Table } from "../../types/Table.cjs";
4
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
3
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
4
 
6
5
  //#region src/features/column-faceting/columnFacetingFeature.types.d.ts
7
- interface Column_ColumnFaceting<TFeatures extends TableFeatures, TData extends RowData> {
6
+ interface Column_ColumnFaceting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
8
7
  /**
9
8
  * Computes min/max numeric facet values for this column.
10
9
  */
@@ -21,52 +20,35 @@ interface Column_ColumnFaceting<TFeatures extends TableFeatures, TData extends R
21
20
  */
22
21
  getFacetedUniqueValues: () => Map<any, number>;
23
22
  }
24
- interface Table_RowModels_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
23
+ interface Table_RowModels_Faceted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
25
24
  /**
26
25
  * Computes min/max numeric facet values for the active faceting context.
27
26
  *
28
- * Requires a `facetedMinMaxValues` row-model factory in `rowModels`.
27
+ * Requires a `facetedMinMaxValues` row-model factory on the `features` option.
29
28
  */
30
29
  getFacetedMinMaxValues: () => undefined | [number, number];
31
30
  /**
32
31
  * Computes the row model used to derive facet values.
33
32
  *
34
- * Requires a `facetedRowModel` row-model factory in `rowModels`.
33
+ * Requires a `facetedRowModel` row-model factory on the `features` option.
35
34
  */
36
35
  getFacetedRowModel: () => RowModel<TFeatures, TData>;
37
36
  /**
38
37
  * Computes unique facet values and occurrence counts.
39
38
  *
40
- * Requires a `facetedUniqueValues` row-model factory in `rowModels`.
39
+ * Requires a `facetedUniqueValues` row-model factory on the `features` option.
41
40
  */
42
41
  getFacetedUniqueValues: () => Map<any, number>;
43
42
  }
44
- interface CreateRowModel_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
45
- /**
46
- * Factory used to retrieve faceted min/max values. If using server-side
47
- * faceting, this is not required. To use client-side faceting, pass
48
- * `createFacetedMinMaxValues()` or implement your own factory.
49
- */
50
- facetedMinMaxValues?: (table: Table<TFeatures, TData>, columnId: string) => () => [number, number] | undefined;
51
- /**
52
- * Factory used to retrieve the faceted row model. If using server-side
53
- * faceting, this is not required. To use client-side faceting, pass
54
- * `createFacetedRowModel()` or implement your own factory.
55
- */
56
- facetedRowModel?: (table: Table<TFeatures, TData>, columnId: string) => () => RowModel<TFeatures, TData>;
57
- /**
58
- * Factory used to retrieve faceted unique values. If using server-side
59
- * faceting, this is not required. To use client-side faceting, pass
60
- * `createFacetedUniqueValues()` or implement your own factory.
61
- */
62
- facetedUniqueValues?: (table: Table<TFeatures, TData>, columnId: string) => () => Map<any, number>;
63
- }
64
- interface CachedRowModel_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
65
- facetedRowModel?: (columnId: string) => () => RowModel<TFeatures, TData>;
66
- facetedMinMaxValues?: (columnId: string) => [number, number];
67
- facetedUniqueValues?: (columnId: string) => Map<any, number>;
43
+ interface CachedRowModel_Faceted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
44
+ facetedRowModels?: Record<string, () => RowModel<TFeatures, TData>>;
45
+ facetedMinMaxValues?: Record<string, () => undefined | [number, number]>;
46
+ facetedUniqueValues?: Record<string, () => Map<any, number>>;
47
+ globalFacetedRowModel?: () => RowModel<TFeatures, TData>;
48
+ globalFacetedMinMaxValues?: () => undefined | [number, number];
49
+ globalFacetedUniqueValues?: () => Map<any, number>;
68
50
  }
69
- interface Table_ColumnFaceting<TFeatures extends TableFeatures, TData extends RowData> {
51
+ interface Table_ColumnFaceting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
70
52
  /**
71
53
  * Returns the min and max values for the global filter.
72
54
  */
@@ -81,5 +63,5 @@ interface Table_ColumnFaceting<TFeatures extends TableFeatures, TData extends Ro
81
63
  getGlobalFacetedUniqueValues: () => Map<any, number>;
82
64
  }
83
65
  //#endregion
84
- export { CachedRowModel_Faceted, Column_ColumnFaceting, CreateRowModel_Faceted, Table_ColumnFaceting, Table_RowModels_Faceted };
66
+ export { CachedRowModel_Faceted, Column_ColumnFaceting, Table_ColumnFaceting, Table_RowModels_Faceted };
85
67
  //# sourceMappingURL=columnFacetingFeature.types.d.cts.map
@@ -1,10 +1,9 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { TableFeatures } from "../../types/TableFeatures.js";
3
- import { Table } from "../../types/Table.js";
4
2
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
5
4
 
6
5
  //#region src/features/column-faceting/columnFacetingFeature.types.d.ts
7
- interface Column_ColumnFaceting<TFeatures extends TableFeatures, TData extends RowData> {
6
+ interface Column_ColumnFaceting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
8
7
  /**
9
8
  * Computes min/max numeric facet values for this column.
10
9
  */
@@ -21,52 +20,35 @@ interface Column_ColumnFaceting<TFeatures extends TableFeatures, TData extends R
21
20
  */
22
21
  getFacetedUniqueValues: () => Map<any, number>;
23
22
  }
24
- interface Table_RowModels_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
23
+ interface Table_RowModels_Faceted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
25
24
  /**
26
25
  * Computes min/max numeric facet values for the active faceting context.
27
26
  *
28
- * Requires a `facetedMinMaxValues` row-model factory in `rowModels`.
27
+ * Requires a `facetedMinMaxValues` row-model factory on the `features` option.
29
28
  */
30
29
  getFacetedMinMaxValues: () => undefined | [number, number];
31
30
  /**
32
31
  * Computes the row model used to derive facet values.
33
32
  *
34
- * Requires a `facetedRowModel` row-model factory in `rowModels`.
33
+ * Requires a `facetedRowModel` row-model factory on the `features` option.
35
34
  */
36
35
  getFacetedRowModel: () => RowModel<TFeatures, TData>;
37
36
  /**
38
37
  * Computes unique facet values and occurrence counts.
39
38
  *
40
- * Requires a `facetedUniqueValues` row-model factory in `rowModels`.
39
+ * Requires a `facetedUniqueValues` row-model factory on the `features` option.
41
40
  */
42
41
  getFacetedUniqueValues: () => Map<any, number>;
43
42
  }
44
- interface CreateRowModel_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
45
- /**
46
- * Factory used to retrieve faceted min/max values. If using server-side
47
- * faceting, this is not required. To use client-side faceting, pass
48
- * `createFacetedMinMaxValues()` or implement your own factory.
49
- */
50
- facetedMinMaxValues?: (table: Table<TFeatures, TData>, columnId: string) => () => [number, number] | undefined;
51
- /**
52
- * Factory used to retrieve the faceted row model. If using server-side
53
- * faceting, this is not required. To use client-side faceting, pass
54
- * `createFacetedRowModel()` or implement your own factory.
55
- */
56
- facetedRowModel?: (table: Table<TFeatures, TData>, columnId: string) => () => RowModel<TFeatures, TData>;
57
- /**
58
- * Factory used to retrieve faceted unique values. If using server-side
59
- * faceting, this is not required. To use client-side faceting, pass
60
- * `createFacetedUniqueValues()` or implement your own factory.
61
- */
62
- facetedUniqueValues?: (table: Table<TFeatures, TData>, columnId: string) => () => Map<any, number>;
63
- }
64
- interface CachedRowModel_Faceted<TFeatures extends TableFeatures, TData extends RowData> {
65
- facetedRowModel?: (columnId: string) => () => RowModel<TFeatures, TData>;
66
- facetedMinMaxValues?: (columnId: string) => [number, number];
67
- facetedUniqueValues?: (columnId: string) => Map<any, number>;
43
+ interface CachedRowModel_Faceted<in out TFeatures extends TableFeatures, in out TData extends RowData> {
44
+ facetedRowModels?: Record<string, () => RowModel<TFeatures, TData>>;
45
+ facetedMinMaxValues?: Record<string, () => undefined | [number, number]>;
46
+ facetedUniqueValues?: Record<string, () => Map<any, number>>;
47
+ globalFacetedRowModel?: () => RowModel<TFeatures, TData>;
48
+ globalFacetedMinMaxValues?: () => undefined | [number, number];
49
+ globalFacetedUniqueValues?: () => Map<any, number>;
68
50
  }
69
- interface Table_ColumnFaceting<TFeatures extends TableFeatures, TData extends RowData> {
51
+ interface Table_ColumnFaceting<in out TFeatures extends TableFeatures, in out TData extends RowData> {
70
52
  /**
71
53
  * Returns the min and max values for the global filter.
72
54
  */
@@ -81,5 +63,5 @@ interface Table_ColumnFaceting<TFeatures extends TableFeatures, TData extends Ro
81
63
  getGlobalFacetedUniqueValues: () => Map<any, number>;
82
64
  }
83
65
  //#endregion
84
- export { CachedRowModel_Faceted, Column_ColumnFaceting, CreateRowModel_Faceted, Table_ColumnFaceting, Table_RowModels_Faceted };
66
+ export { CachedRowModel_Faceted, Column_ColumnFaceting, Table_ColumnFaceting, Table_RowModels_Faceted };
85
67
  //# sourceMappingURL=columnFacetingFeature.types.d.ts.map
@@ -1,3 +1,4 @@
1
+ const require_utils = require('../../utils.cjs');
1
2
 
2
3
  //#region src/features/column-faceting/columnFacetingFeature.utils.ts
3
4
  /**
@@ -12,8 +13,10 @@
12
13
  * ```
13
14
  */
14
15
  function column_getFacetedMinMaxValues(column, table) {
15
- var _table$options$rowMod, _table$options$rowMod2;
16
- return (((_table$options$rowMod = table.options.rowModels) === null || _table$options$rowMod === void 0 || (_table$options$rowMod2 = _table$options$rowMod.facetedMinMaxValues) === null || _table$options$rowMod2 === void 0 ? void 0 : _table$options$rowMod2.call(_table$options$rowMod, table, column.id)) ?? (() => void 0))();
16
+ const facetedMinMaxValues = table._rowModels.facetedMinMaxValues ??= require_utils.makeObjectMap();
17
+ let facetedMinMaxValuesFn = facetedMinMaxValues[column.id];
18
+ if (!facetedMinMaxValuesFn) facetedMinMaxValuesFn = facetedMinMaxValues[column.id] = table.options.features.facetedMinMaxValues?.(table, column.id) ?? (() => void 0);
19
+ return facetedMinMaxValuesFn();
17
20
  }
18
21
  /**
19
22
  * Computes the row model used to derive one column's facet values.
@@ -28,8 +31,11 @@ function column_getFacetedMinMaxValues(column, table) {
28
31
  * ```
29
32
  */
30
33
  function column_getFacetedRowModel(column, table) {
31
- var _table$options$rowMod3, _table$options$rowMod4;
32
- return (((_table$options$rowMod3 = table.options.rowModels) === null || _table$options$rowMod3 === void 0 || (_table$options$rowMod4 = _table$options$rowMod3.facetedRowModel) === null || _table$options$rowMod4 === void 0 ? void 0 : _table$options$rowMod4.call(_table$options$rowMod3, table, (column === null || column === void 0 ? void 0 : column.id) ?? "")) ?? (() => table.getPreFilteredRowModel()))();
34
+ const columnId = column?.id ?? "";
35
+ const facetedRowModels = table._rowModels.facetedRowModels ??= require_utils.makeObjectMap();
36
+ let facetedRowModelFn = facetedRowModels[columnId];
37
+ if (!facetedRowModelFn) facetedRowModelFn = facetedRowModels[columnId] = table.options.features.facetedRowModel?.(table, columnId) ?? (() => table.getPreFilteredRowModel());
38
+ return facetedRowModelFn();
33
39
  }
34
40
  /**
35
41
  * Computes unique facet values and their occurrence counts for one column.
@@ -43,8 +49,10 @@ function column_getFacetedRowModel(column, table) {
43
49
  * ```
44
50
  */
45
51
  function column_getFacetedUniqueValues(column, table) {
46
- var _table$options$rowMod5, _table$options$rowMod6;
47
- return (((_table$options$rowMod5 = table.options.rowModels) === null || _table$options$rowMod5 === void 0 || (_table$options$rowMod6 = _table$options$rowMod5.facetedUniqueValues) === null || _table$options$rowMod6 === void 0 ? void 0 : _table$options$rowMod6.call(_table$options$rowMod5, table, column.id)) ?? (() => /* @__PURE__ */ new Map()))();
52
+ const facetedUniqueValues = table._rowModels.facetedUniqueValues ??= require_utils.makeObjectMap();
53
+ let facetedUniqueValuesFn = facetedUniqueValues[column.id];
54
+ if (!facetedUniqueValuesFn) facetedUniqueValuesFn = facetedUniqueValues[column.id] = table.options.features.facetedUniqueValues?.(table, column.id) ?? (() => /* @__PURE__ */ new Map());
55
+ return facetedUniqueValuesFn();
48
56
  }
49
57
  /**
50
58
  * Computes min and max numeric facet values for the global filter context.
@@ -58,8 +66,9 @@ function column_getFacetedUniqueValues(column, table) {
58
66
  * ```
59
67
  */
60
68
  function table_getGlobalFacetedMinMaxValues(table) {
61
- var _table$options$rowMod7, _table$options$rowMod8;
62
- return (((_table$options$rowMod7 = table.options.rowModels) === null || _table$options$rowMod7 === void 0 || (_table$options$rowMod8 = _table$options$rowMod7.facetedMinMaxValues) === null || _table$options$rowMod8 === void 0 ? void 0 : _table$options$rowMod8.call(_table$options$rowMod7, table, "__global__")) ?? (() => void 0))();
69
+ if (!table._rowModels.globalFacetedMinMaxValues) table._rowModels.globalFacetedMinMaxValues = table.options.features.facetedMinMaxValues?.(table, "__global__") ?? (() => void 0);
70
+ const facetedMinMaxValuesFn = table._rowModels.globalFacetedMinMaxValues;
71
+ return facetedMinMaxValuesFn();
63
72
  }
64
73
  /**
65
74
  * Computes the row model used to derive global facet values.
@@ -74,8 +83,9 @@ function table_getGlobalFacetedMinMaxValues(table) {
74
83
  * ```
75
84
  */
76
85
  function table_getGlobalFacetedRowModel(table) {
77
- var _table$options$rowMod9, _table$options$rowMod10;
78
- return (((_table$options$rowMod9 = table.options.rowModels) === null || _table$options$rowMod9 === void 0 || (_table$options$rowMod10 = _table$options$rowMod9.facetedRowModel) === null || _table$options$rowMod10 === void 0 ? void 0 : _table$options$rowMod10.call(_table$options$rowMod9, table, "__global__")) ?? (() => table.getPreFilteredRowModel()))();
86
+ if (!table._rowModels.globalFacetedRowModel) table._rowModels.globalFacetedRowModel = table.options.features.facetedRowModel?.(table, "__global__") ?? (() => table.getPreFilteredRowModel());
87
+ const facetedRowModelFn = table._rowModels.globalFacetedRowModel;
88
+ return facetedRowModelFn();
79
89
  }
80
90
  /**
81
91
  * Computes unique values and occurrence counts for the global filter context.
@@ -89,8 +99,9 @@ function table_getGlobalFacetedRowModel(table) {
89
99
  * ```
90
100
  */
91
101
  function table_getGlobalFacetedUniqueValues(table) {
92
- var _table$options$rowMod11, _table$options$rowMod12;
93
- return (((_table$options$rowMod11 = table.options.rowModels) === null || _table$options$rowMod11 === void 0 || (_table$options$rowMod12 = _table$options$rowMod11.facetedUniqueValues) === null || _table$options$rowMod12 === void 0 ? void 0 : _table$options$rowMod12.call(_table$options$rowMod11, table, "__global__")) ?? (() => /* @__PURE__ */ new Map()))();
102
+ if (!table._rowModels.globalFacetedUniqueValues) table._rowModels.globalFacetedUniqueValues = table.options.features.facetedUniqueValues?.(table, "__global__") ?? (() => /* @__PURE__ */ new Map());
103
+ const facetedUniqueValuesFn = table._rowModels.globalFacetedUniqueValues;
104
+ return facetedUniqueValuesFn();
94
105
  }
95
106
 
96
107
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"columnFacetingFeature.utils.cjs","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.utils.ts"],"sourcesContent":["import type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\n\n/**\n * Computes min and max numeric facet values for one column.\n *\n * The configured `facetedMinMaxValues` row-model factory owns the calculation.\n * If no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = column_getFacetedMinMaxValues(column, table)\n * ```\n */\nexport function column_getFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): [number, number] | undefined {\n const facetedMinMaxValuesFn =\n table.options.rowModels?.facetedMinMaxValues?.(table, column.id) ??\n (() => undefined)\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive one column's facet values.\n *\n * The faceted row model normally applies every other active filter while\n * excluding this column's own filter. If no factory is registered, the\n * pre-filtered row model is returned.\n *\n * @example\n * ```ts\n * const rows = column_getFacetedRowModel(column, table)\n * ```\n */\nexport function column_getFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const facetedRowModelFn =\n table.options.rowModels?.facetedRowModel?.(table, column?.id ?? '') ??\n (() => table.getPreFilteredRowModel())\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique facet values and their occurrence counts for one column.\n *\n * The configured `facetedUniqueValues` row-model factory owns the calculation.\n * If no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = column_getFacetedUniqueValues(column, table)\n * ```\n */\nexport function column_getFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): Map<any, number> {\n const facetedUniqueValuesFn =\n table.options.rowModels?.facetedUniqueValues?.(table, column.id) ??\n (() => new Map<any, number>())\n return facetedUniqueValuesFn()\n}\n\n/**\n * Computes min and max numeric facet values for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = table_getGlobalFacetedMinMaxValues(table)\n * ```\n */\nexport function table_getGlobalFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {\n const facetedMinMaxValuesFn =\n table.options.rowModels?.facetedMinMaxValues?.(table, '__global__') ??\n (() => undefined)\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive global facet values.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no faceted row-model factory is registered, the pre-filtered row model is\n * returned.\n *\n * @example\n * ```ts\n * const rows = table_getGlobalFacetedRowModel(table)\n * ```\n */\nexport function table_getGlobalFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const facetedRowModelFn =\n table.options.rowModels?.facetedRowModel?.(table, '__global__') ??\n (() => table.getPreFilteredRowModel())\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique values and occurrence counts for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = table_getGlobalFacetedUniqueValues(table)\n * ```\n */\nexport function table_getGlobalFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Map<any, number> {\n const facetedUniqueValuesFn =\n table.options.rowModels?.facetedUniqueValues?.(table, '__global__') ??\n (() => new Map())\n return facetedUniqueValuesFn()\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,SAAgB,8BAKd,QACA,OAC8B;;CAI9B,kCAFE,MAAM,QAAQ,2GAAW,iIAAsB,OAAO,OAAO,EAAE,aACxD,QACmB,CAAC;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,0BAKd,QACA,OAC4B;;CAI5B,mCAFE,MAAM,QAAQ,6GAAW,8HAAkB,wDAAO,OAAQ,OAAM,EAAE,aAC3D,MAAM,uBAAuB,GACd,CAAC;AAC3B;;;;;;;;;;;;AAaA,SAAgB,8BAKd,QACA,OACkB;;CAIlB,mCAFE,MAAM,QAAQ,6GAAW,kIAAsB,OAAO,OAAO,EAAE,6BACxD,IAAI,IAAiB,GACF,CAAC;AAC/B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAAuE;;CAIvE,mCAFE,MAAM,QAAQ,6GAAW,kIAAsB,OAAO,YAAY,aAC3D,QACmB,CAAC;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,+BAGd,OAAqE;;CAIrE,mCAFE,MAAM,QAAQ,8GAAW,gIAAkB,OAAO,YAAY,aACvD,MAAM,uBAAuB,GACd,CAAC;AAC3B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAA2D;;CAI3D,oCAFE,MAAM,QAAQ,gHAAW,qIAAsB,OAAO,YAAY,6BAC3D,IAAI,IAAI,GACW,CAAC;AAC/B"}
1
+ {"version":3,"file":"columnFacetingFeature.utils.cjs","names":["makeObjectMap"],"sources":["../../../src/features/column-faceting/columnFacetingFeature.utils.ts"],"sourcesContent":["import { makeObjectMap } from '../../utils'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\n\n/**\n * Computes min and max numeric facet values for one column.\n *\n * The configured `facetedMinMaxValues` row-model factory owns the calculation.\n * If no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = column_getFacetedMinMaxValues(column, table)\n * ```\n */\nexport function column_getFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): [number, number] | undefined {\n const facetedMinMaxValues = (table._rowModels.facetedMinMaxValues ??=\n makeObjectMap())\n let facetedMinMaxValuesFn = facetedMinMaxValues[column.id]\n\n if (!facetedMinMaxValuesFn) {\n facetedMinMaxValuesFn = facetedMinMaxValues[column.id] =\n table.options.features.facetedMinMaxValues?.(table, column.id) ??\n (() => undefined)\n }\n\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive one column's facet values.\n *\n * The faceted row model normally applies every other active filter while\n * excluding this column's own filter. If no factory is registered, the\n * pre-filtered row model is returned.\n *\n * @example\n * ```ts\n * const rows = column_getFacetedRowModel(column, table)\n * ```\n */\nexport function column_getFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const columnId = column?.id ?? ''\n const facetedRowModels = (table._rowModels.facetedRowModels ??=\n makeObjectMap())\n let facetedRowModelFn = facetedRowModels[columnId]\n\n if (!facetedRowModelFn) {\n facetedRowModelFn = facetedRowModels[columnId] =\n table.options.features.facetedRowModel?.(table, columnId) ??\n (() => table.getPreFilteredRowModel())\n }\n\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique facet values and their occurrence counts for one column.\n *\n * The configured `facetedUniqueValues` row-model factory owns the calculation.\n * If no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = column_getFacetedUniqueValues(column, table)\n * ```\n */\nexport function column_getFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n table: Table_Internal<TFeatures, TData>,\n): Map<any, number> {\n const facetedUniqueValues = (table._rowModels.facetedUniqueValues ??=\n makeObjectMap())\n let facetedUniqueValuesFn = facetedUniqueValues[column.id]\n\n if (!facetedUniqueValuesFn) {\n facetedUniqueValuesFn = facetedUniqueValues[column.id] =\n table.options.features.facetedUniqueValues?.(table, column.id) ??\n (() => new Map<any, number>())\n }\n\n return facetedUniqueValuesFn()\n}\n\n/**\n * Computes min and max numeric facet values for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, the result is `undefined`.\n *\n * @example\n * ```ts\n * const range = table_getGlobalFacetedMinMaxValues(table)\n * ```\n */\nexport function table_getGlobalFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {\n if (!table._rowModels.globalFacetedMinMaxValues) {\n table._rowModels.globalFacetedMinMaxValues =\n table.options.features.facetedMinMaxValues?.(table, '__global__') ??\n (() => undefined)\n }\n\n const facetedMinMaxValuesFn = table._rowModels.globalFacetedMinMaxValues\n return facetedMinMaxValuesFn()\n}\n\n/**\n * Computes the row model used to derive global facet values.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no faceted row-model factory is registered, the pre-filtered row model is\n * returned.\n *\n * @example\n * ```ts\n * const rows = table_getGlobalFacetedRowModel(table)\n * ```\n */\nexport function table_getGlobalFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n if (!table._rowModels.globalFacetedRowModel) {\n table._rowModels.globalFacetedRowModel =\n table.options.features.facetedRowModel?.(table, '__global__') ??\n (() => table.getPreFilteredRowModel())\n }\n\n const facetedRowModelFn = table._rowModels.globalFacetedRowModel\n return facetedRowModelFn()\n}\n\n/**\n * Computes unique values and occurrence counts for the global filter context.\n *\n * The global context is requested with the internal `__global__` column id. If\n * no factory is registered, an empty `Map` is returned.\n *\n * @example\n * ```ts\n * const values = table_getGlobalFacetedUniqueValues(table)\n * ```\n */\nexport function table_getGlobalFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Map<any, number> {\n if (!table._rowModels.globalFacetedUniqueValues) {\n table._rowModels.globalFacetedUniqueValues =\n table.options.features.facetedUniqueValues?.(table, '__global__') ??\n (() => new Map())\n }\n\n const facetedUniqueValuesFn = table._rowModels.globalFacetedUniqueValues\n return facetedUniqueValuesFn()\n}\n"],"mappings":";;;;;;;;;;;;;;AAkBA,SAAgB,8BAKd,QACA,OAC8B;CAC9B,MAAM,sBAAuB,MAAM,WAAW,wBAC5CA,4BAAc;CAChB,IAAI,wBAAwB,oBAAoB,OAAO;CAEvD,IAAI,CAAC,uBACH,wBAAwB,oBAAoB,OAAO,MACjD,MAAM,QAAQ,SAAS,sBAAsB,OAAO,OAAO,EAAE,YACtD;CAGX,OAAO,sBAAsB;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,0BAKd,QACA,OAC4B;CAC5B,MAAM,WAAW,QAAQ,MAAM;CAC/B,MAAM,mBAAoB,MAAM,WAAW,qBACzCA,4BAAc;CAChB,IAAI,oBAAoB,iBAAiB;CAEzC,IAAI,CAAC,mBACH,oBAAoB,iBAAiB,YACnC,MAAM,QAAQ,SAAS,kBAAkB,OAAO,QAAQ,YACjD,MAAM,uBAAuB;CAGxC,OAAO,kBAAkB;AAC3B;;;;;;;;;;;;AAaA,SAAgB,8BAKd,QACA,OACkB;CAClB,MAAM,sBAAuB,MAAM,WAAW,wBAC5CA,4BAAc;CAChB,IAAI,wBAAwB,oBAAoB,OAAO;CAEvD,IAAI,CAAC,uBACH,wBAAwB,oBAAoB,OAAO,MACjD,MAAM,QAAQ,SAAS,sBAAsB,OAAO,OAAO,EAAE,4BACtD,IAAI,IAAiB;CAGhC,OAAO,sBAAsB;AAC/B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAAuE;CACvE,IAAI,CAAC,MAAM,WAAW,2BACpB,MAAM,WAAW,4BACf,MAAM,QAAQ,SAAS,sBAAsB,OAAO,YAAY,YACzD;CAGX,MAAM,wBAAwB,MAAM,WAAW;CAC/C,OAAO,sBAAsB;AAC/B;;;;;;;;;;;;;AAcA,SAAgB,+BAGd,OAAqE;CACrE,IAAI,CAAC,MAAM,WAAW,uBACpB,MAAM,WAAW,wBACf,MAAM,QAAQ,SAAS,kBAAkB,OAAO,YAAY,YACrD,MAAM,uBAAuB;CAGxC,MAAM,oBAAoB,MAAM,WAAW;CAC3C,OAAO,kBAAkB;AAC3B;;;;;;;;;;;;AAaA,SAAgB,mCAGd,OAA2D;CAC3D,IAAI,CAAC,MAAM,WAAW,2BACpB,MAAM,WAAW,4BACf,MAAM,QAAQ,SAAS,sBAAsB,OAAO,YAAY,4BACzD,IAAI,IAAI;CAGnB,MAAM,wBAAwB,MAAM,WAAW;CAC/C,OAAO,sBAAsB;AAC/B"}