@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.21

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 (524) hide show
  1. package/dist/core/cells/constructCell.d.cts +3 -3
  2. package/dist/core/cells/constructCell.d.ts +3 -3
  3. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  4. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  5. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  6. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  7. package/dist/core/cells/coreCellsFeature.js +12 -20
  8. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
  13. package/dist/core/columns/constructColumn.cjs +5 -0
  14. package/dist/core/columns/constructColumn.cjs.map +1 -1
  15. package/dist/core/columns/constructColumn.d.cts +3 -3
  16. package/dist/core/columns/constructColumn.d.ts +3 -3
  17. package/dist/core/columns/constructColumn.js +5 -0
  18. package/dist/core/columns/constructColumn.js.map +1 -1
  19. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  20. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  22. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  23. package/dist/core/columns/coreColumnsFeature.js +60 -68
  24. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  26. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  27. package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
  28. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  29. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  30. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  31. package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
  32. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  33. package/dist/core/coreFeatures.cjs.map +1 -1
  34. package/dist/core/coreFeatures.d.cts +1 -1
  35. package/dist/core/coreFeatures.d.ts +1 -1
  36. package/dist/core/coreFeatures.js.map +1 -1
  37. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  38. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  39. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  40. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  41. package/dist/core/headers/constructHeader.d.cts +2 -2
  42. package/dist/core/headers/constructHeader.d.ts +2 -2
  43. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  44. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  45. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  46. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  47. package/dist/core/headers/coreHeadersFeature.js +45 -53
  48. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  49. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  50. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  52. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  53. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  54. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  55. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  56. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  58. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  59. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  60. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  61. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
  62. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  64. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  65. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
  66. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
  67. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  68. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  69. package/dist/core/row-models/createCoreRowModel.cjs +2 -3
  70. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  71. package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
  72. package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
  73. package/dist/core/row-models/createCoreRowModel.js +3 -4
  74. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  75. package/dist/core/rows/constructRow.cjs +3 -2
  76. package/dist/core/rows/constructRow.cjs.map +1 -1
  77. package/dist/core/rows/constructRow.d.cts +2 -2
  78. package/dist/core/rows/constructRow.d.ts +2 -2
  79. package/dist/core/rows/constructRow.js +4 -2
  80. package/dist/core/rows/constructRow.js.map +1 -1
  81. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  82. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  83. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  84. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  85. package/dist/core/rows/coreRowsFeature.js +28 -36
  86. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  87. package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
  88. package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
  89. package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
  90. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  91. package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
  92. package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
  93. package/dist/core/rows/coreRowsFeature.utils.js +4 -4
  94. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  95. package/dist/core/table/constructTable.cjs +21 -6
  96. package/dist/core/table/constructTable.cjs.map +1 -1
  97. package/dist/core/table/constructTable.d.cts +1 -1
  98. package/dist/core/table/constructTable.d.ts +1 -1
  99. package/dist/core/table/constructTable.js +21 -6
  100. package/dist/core/table/constructTable.js.map +1 -1
  101. package/dist/core/table/coreTablesFeature.cjs +7 -16
  102. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  103. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  104. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  105. package/dist/core/table/coreTablesFeature.js +8 -16
  106. package/dist/core/table/coreTablesFeature.js.map +1 -1
  107. package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
  108. package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
  109. package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
  110. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  111. package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
  112. package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
  113. package/dist/core/table/coreTablesFeature.utils.js +33 -12
  114. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  115. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  116. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  117. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  118. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  119. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  120. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  121. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  122. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  123. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  124. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  125. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
  126. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
  127. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  128. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  129. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  130. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  131. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  132. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  133. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  137. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  138. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  139. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  140. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  141. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  142. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  143. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  144. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  145. package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
  146. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  147. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  148. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  150. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  151. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
  152. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
  153. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  154. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  155. package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
  156. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  157. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  158. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  159. package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
  160. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  161. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  162. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  163. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  164. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  165. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  167. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  168. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  169. package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
  170. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  171. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +28 -21
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +28 -21
  173. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.js +5 -5
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  179. package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  181. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  182. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  183. package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
  184. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  185. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  187. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  188. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  189. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  190. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  192. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
  195. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  196. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  197. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  198. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  199. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  200. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  201. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  202. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  203. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
  205. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
  206. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  207. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  208. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  209. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  210. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  211. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  212. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
  216. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
  220. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  221. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  222. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  223. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  224. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  225. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  226. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
  228. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
  230. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
  232. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  234. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  235. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  236. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  237. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  238. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  239. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  240. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
  244. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
  245. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
  246. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  247. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  248. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  249. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  250. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  251. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  252. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  253. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  254. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  256. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
  257. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
  258. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  259. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  260. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  261. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  262. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  263. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  264. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  265. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  266. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  267. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  268. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  269. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  270. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  271. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
  272. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  273. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  274. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  275. package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
  276. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  277. package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
  278. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  279. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  280. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  281. package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
  282. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  283. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  284. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  285. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  286. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  287. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  288. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  289. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  290. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  291. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  292. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  293. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  294. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  295. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  296. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  297. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  298. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  299. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  300. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  301. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
  302. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  303. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  304. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  305. package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
  306. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  307. package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
  308. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  309. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  310. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  311. package/dist/features/row-selection/rowSelectionFeature.js +110 -78
  312. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  313. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
  314. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
  315. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
  316. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  317. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
  318. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
  319. package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
  320. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  321. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
  322. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  323. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  324. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  325. package/dist/features/row-sorting/createSortedRowModel.js +6 -4
  326. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  327. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  328. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  329. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  330. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  331. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  332. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  333. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
  334. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
  335. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  336. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  337. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  338. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  339. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  340. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  341. package/dist/fns/aggregationFns.cjs +18 -18
  342. package/dist/fns/aggregationFns.cjs.map +1 -1
  343. package/dist/fns/aggregationFns.d.cts +21 -19
  344. package/dist/fns/aggregationFns.d.ts +21 -19
  345. package/dist/fns/aggregationFns.js +18 -18
  346. package/dist/fns/aggregationFns.js.map +1 -1
  347. package/dist/fns/filterFns.cjs +51 -65
  348. package/dist/fns/filterFns.cjs.map +1 -1
  349. package/dist/fns/filterFns.d.cts +82 -28
  350. package/dist/fns/filterFns.d.ts +82 -28
  351. package/dist/fns/filterFns.js +51 -65
  352. package/dist/fns/filterFns.js.map +1 -1
  353. package/dist/fns/sortFns.cjs +18 -6
  354. package/dist/fns/sortFns.cjs.map +1 -1
  355. package/dist/fns/sortFns.d.cts +15 -13
  356. package/dist/fns/sortFns.d.ts +15 -13
  357. package/dist/fns/sortFns.js +18 -6
  358. package/dist/fns/sortFns.js.map +1 -1
  359. package/dist/helpers/columnHelper.cjs.map +1 -1
  360. package/dist/helpers/columnHelper.d.cts +2 -2
  361. package/dist/helpers/columnHelper.d.ts +2 -2
  362. package/dist/helpers/columnHelper.js.map +1 -1
  363. package/dist/helpers/metaHelper.cjs +30 -0
  364. package/dist/helpers/metaHelper.cjs.map +1 -0
  365. package/dist/helpers/metaHelper.d.cts +26 -0
  366. package/dist/helpers/metaHelper.d.ts +26 -0
  367. package/dist/helpers/metaHelper.js +29 -0
  368. package/dist/helpers/metaHelper.js.map +1 -0
  369. package/dist/helpers/tableFeatures.cjs +31 -3
  370. package/dist/helpers/tableFeatures.cjs.map +1 -1
  371. package/dist/helpers/tableFeatures.d.cts +33 -5
  372. package/dist/helpers/tableFeatures.d.ts +33 -5
  373. package/dist/helpers/tableFeatures.js +31 -3
  374. package/dist/helpers/tableFeatures.js.map +1 -1
  375. package/dist/index.cjs +4 -20
  376. package/dist/index.d.cts +50 -49
  377. package/dist/index.d.ts +50 -49
  378. package/dist/index.js +23 -22
  379. package/dist/static-functions.cjs +1 -0
  380. package/dist/static-functions.d.cts +2 -2
  381. package/dist/static-functions.d.ts +2 -2
  382. package/dist/static-functions.js +2 -2
  383. package/dist/store-reactivity-bindings.cjs +1 -1
  384. package/dist/store-reactivity-bindings.cjs.map +1 -1
  385. package/dist/store-reactivity-bindings.d.cts +1 -1
  386. package/dist/store-reactivity-bindings.d.ts +1 -1
  387. package/dist/store-reactivity-bindings.js +1 -1
  388. package/dist/store-reactivity-bindings.js.map +1 -1
  389. package/dist/types/Cell.d.cts +4 -9
  390. package/dist/types/Cell.d.ts +4 -9
  391. package/dist/types/Column.d.cts +11 -18
  392. package/dist/types/Column.d.ts +11 -18
  393. package/dist/types/ColumnDef.d.cts +23 -14
  394. package/dist/types/ColumnDef.d.ts +23 -14
  395. package/dist/types/Header.d.cts +5 -10
  396. package/dist/types/Header.d.ts +5 -10
  397. package/dist/types/HeaderGroup.d.cts +4 -9
  398. package/dist/types/HeaderGroup.d.ts +4 -9
  399. package/dist/types/Row.d.cts +7 -12
  400. package/dist/types/Row.d.ts +7 -12
  401. package/dist/types/RowModel.d.cts +12 -28
  402. package/dist/types/RowModel.d.ts +12 -28
  403. package/dist/types/RowModelFns.d.cts +6 -11
  404. package/dist/types/RowModelFns.d.ts +6 -11
  405. package/dist/types/Table.d.cts +26 -36
  406. package/dist/types/Table.d.ts +26 -36
  407. package/dist/types/TableFeatures.d.cts +328 -54
  408. package/dist/types/TableFeatures.d.ts +328 -54
  409. package/dist/types/TableOptions.d.cts +22 -17
  410. package/dist/types/TableOptions.d.ts +22 -17
  411. package/dist/types/TableState.d.cts +11 -16
  412. package/dist/types/TableState.d.ts +11 -16
  413. package/dist/utils.cjs +24 -2
  414. package/dist/utils.cjs.map +1 -1
  415. package/dist/utils.d.cts +23 -7
  416. package/dist/utils.d.ts +23 -7
  417. package/dist/utils.js +23 -3
  418. package/dist/utils.js.map +1 -1
  419. package/package.json +2 -2
  420. package/skills/column-definitions/SKILL.md +3 -6
  421. package/skills/column-layout/SKILL.md +0 -2
  422. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  423. package/skills/filtering/SKILL.md +60 -42
  424. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  425. package/skills/grouping/SKILL.md +49 -54
  426. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  427. package/skills/pagination/SKILL.md +22 -20
  428. package/skills/row-expanding/SKILL.md +33 -25
  429. package/skills/row-pinning/SKILL.md +11 -7
  430. package/skills/row-selection/SKILL.md +0 -3
  431. package/skills/setup/SKILL.md +55 -65
  432. package/skills/sorting/SKILL.md +21 -21
  433. package/skills/state-management/SKILL.md +40 -25
  434. package/src/core/cells/coreCellsFeature.ts +17 -39
  435. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  436. package/src/core/columns/constructColumn.ts +6 -0
  437. package/src/core/columns/coreColumnsFeature.ts +56 -83
  438. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  439. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  440. package/src/core/coreFeatures.ts +1 -1
  441. package/src/core/headers/buildHeaderGroups.ts +4 -2
  442. package/src/core/headers/coreHeadersFeature.ts +42 -64
  443. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  444. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  445. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  446. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  447. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  448. package/src/core/row-models/createCoreRowModel.ts +7 -6
  449. package/src/core/rows/constructRow.ts +3 -2
  450. package/src/core/rows/coreRowsFeature.ts +45 -72
  451. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  452. package/src/core/rows/coreRowsFeature.utils.ts +4 -4
  453. package/src/core/table/constructTable.ts +50 -13
  454. package/src/core/table/coreTablesFeature.ts +13 -35
  455. package/src/core/table/coreTablesFeature.types.ts +40 -17
  456. package/src/core/table/coreTablesFeature.utils.ts +52 -18
  457. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  458. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  459. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  460. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  461. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  462. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  463. package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
  464. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  465. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  466. package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
  467. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  468. package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
  469. package/src/features/column-grouping/columnGroupingFeature.types.ts +42 -34
  470. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -2
  471. package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
  472. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  473. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  474. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  475. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  476. package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
  477. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  478. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  479. package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
  480. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  481. package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
  482. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  483. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  484. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
  485. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  486. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  487. package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
  488. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  489. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  490. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  491. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  492. package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
  493. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  494. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  495. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  496. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  497. package/src/features/row-selection/rowSelectionFeature.ts +125 -135
  498. package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
  499. package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
  500. package/src/features/row-sorting/createSortedRowModel.ts +12 -15
  501. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  502. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  503. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  504. package/src/fns/aggregationFns.ts +26 -42
  505. package/src/fns/filterFns.ts +237 -264
  506. package/src/fns/sortFns.ts +51 -29
  507. package/src/helpers/columnHelper.ts +4 -4
  508. package/src/helpers/metaHelper.ts +24 -0
  509. package/src/helpers/tableFeatures.ts +36 -5
  510. package/src/index.ts +1 -0
  511. package/src/store-reactivity-bindings.ts +1 -1
  512. package/src/types/Cell.ts +5 -21
  513. package/src/types/Column.ts +12 -26
  514. package/src/types/ColumnDef.ts +28 -18
  515. package/src/types/Header.ts +4 -20
  516. package/src/types/HeaderGroup.ts +7 -18
  517. package/src/types/Row.ts +6 -21
  518. package/src/types/RowModel.ts +15 -88
  519. package/src/types/RowModelFns.ts +9 -24
  520. package/src/types/Table.ts +54 -44
  521. package/src/types/TableFeatures.ts +402 -123
  522. package/src/types/TableOptions.ts +59 -21
  523. package/src/types/TableState.ts +5 -17
  524. package/src/utils.ts +40 -8
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { TableFeatures } from "../../types/TableFeatures.js";
3
2
  import { Table } from "../../types/Table.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
4
4
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
5
5
 
6
6
  //#region src/features/column-faceting/createFacetedRowModel.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedRowModel.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds: Array<string> = []\n if (columnFilters) {\n for (let i = 0; i < columnFilters.length; i++) {\n const id = columnFilters[i]!.id\n if (id !== columnId) filterableIds.push(id)\n }\n }\n if (globalFilter) filterableIds.push('__global__')\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters?.[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,wBAMsB;CACpC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;EAChD,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,uBAAuB;8BAC7B,MAAM,MAAM,6FAAe,IAAI;8BAC/B,MAAM,MAAM,4FAAc,IAAI;KAC9B,MAAM,oBAAoB;IAC5B;;GACA,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,YACF;EACJ,CAAC;CACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,CAAC;CACtC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,EAAE,CAAE;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,EAAE;CAC5C;CAEF,IAAI,cAAc,cAAc,KAAK,YAAY;CAEjD,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;;GAC7C,2BAAI,IAAI,uFAAgB,cAAc,SAAS,OAC7C,OAAO;EAEX;EACA,OAAO;CACT;CAEA,OAAO,WAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D"}
1
+ {"version":3,"file":"createFacetedRowModel.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds: Array<string> = []\n if (columnFilters) {\n for (let i = 0; i < columnFilters.length; i++) {\n const id = columnFilters[i]!.id\n if (id !== columnId) filterableIds.push(id)\n }\n }\n if (globalFilter) filterableIds.push('__global__')\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters?.[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,wBAMsB;CACpC,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,uBAAuB;8BAC7B,MAAM,MAAM,6FAAe,IAAI;8BAC/B,MAAM,MAAM,4FAAc,IAAI;KAC9B,MAAM,oBAAoB;IAC5B;;GACA,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,YACF;EACJ,CAAC;CACH;AACF;AAEA,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;CACA,IAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAC1D,OAAO;CAGT,MAAM,gBAA+B,CAAC;CACtC,IAAI,eACF,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;EAC7C,MAAM,KAAK,cAAc,EAAE,CAAE;EAC7B,IAAI,OAAO,UAAU,cAAc,KAAK,EAAE;CAC5C;CAEF,IAAI,cAAc,cAAc,KAAK,YAAY;CAEjD,MAAM,kBACJ,QACG;EAEH,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;;GAC7C,2BAAI,IAAI,uFAAgB,cAAc,SAAS,OAC7C,OAAO;EAEX;EACA,OAAO;CACT;CAEA,OAAO,WAAW,YAAY,MAAM,gBAAgB,KAAK;AAC3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedUniqueValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted unique values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < flatRows.length; i++) {\n const values = flatRows[i]!.getUniqueValues(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMY;CAC1B,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;EAChD,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACLC,iCACE,QACA,sBACAC,+DACA,KACF,CAAC,CAAC,QACJ;GACF;GACA,KAAK,aAAa,2BAA2B,UAAU,QAAQ;EACjE,CAAC;CACH;AACF;AAEA,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,IAAiB;CAEjD,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,SAAS,SAAS,EAAE,CAAE,gBAAgB,QAAQ;EAEpD,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;GACtC,MAAM,QAAQ,OAAO;GACrB,IAAI,oBAAoB,IAAI,KAAK,GAC/B,oBAAoB,IAClB,QACC,oBAAoB,IAAI,KAAK,KAAK,KAAK,CAC1C;QAEA,oBAAoB,IAAI,OAAO,CAAC;EAEpC;CACF;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"createFacetedUniqueValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted unique values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < flatRows.length; i++) {\n const values = flatRows[i]!.getUniqueValues(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMY;CAC1B,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACLC,iCACE,QACA,sBACAC,+DACA,KACF,CAAC,CAAC,QACJ;GACF;GACA,KAAK,aAAa,2BAA2B,UAAU,QAAQ;EACjE,CAAC;CACH;AACF;AAEA,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,IAAiB;CAEjD,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,SAAS,SAAS,EAAE,CAAE,gBAAgB,QAAQ;EAEpD,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;GACtC,MAAM,QAAQ,OAAO;GACrB,IAAI,oBAAoB,IAAI,KAAK,GAC/B,oBAAoB,IAClB,QACC,oBAAoB,IAAI,KAAK,KAAK,KAAK,CAC1C;QAEA,oBAAoB,IAAI,OAAO,CAAC;EAEpC;CACF;CAEA,OAAO;AACT"}
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.cjs";
2
- import { TableFeatures } from "../../types/TableFeatures.cjs";
3
2
  import { Table } from "../../types/Table.cjs";
3
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedUniqueValues.d.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
- import { TableFeatures } from "../../types/TableFeatures.js";
3
2
  import { Table } from "../../types/Table.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
4
4
 
5
5
  //#region src/features/column-faceting/createFacetedUniqueValues.d.ts
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedUniqueValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted unique values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < flatRows.length; i++) {\n const values = flatRows[i]!.getUniqueValues(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMY;CAC1B,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;EAChD,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACL,mBACE,QACA,sBACA,2BACA,KACF,CAAC,CAAC,QACJ;GACF;GACA,KAAK,aAAa,2BAA2B,UAAU,QAAQ;EACjE,CAAC;CACH;AACF;AAEA,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,IAAiB;CAEjD,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,SAAS,SAAS,EAAE,CAAE,gBAAgB,QAAQ;EAEpD,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;GACtC,MAAM,QAAQ,OAAO;GACrB,IAAI,oBAAoB,IAAI,KAAK,GAC/B,oBAAoB,IAClB,QACC,oBAAoB,IAAI,KAAK,KAAK,KAAK,CAC1C;QAEA,oBAAoB,IAAI,OAAO,CAAC;EAEpC;CACF;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"createFacetedUniqueValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized faceted unique values helper for faceted filtering.\n *\n * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.\n */\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < flatRows.length; i++) {\n const values = flatRows[i]!.getUniqueValues(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,4BAMY;CAC1B,QAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;EACd,OAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,QAAQ;IAC5D,OAAO,CACL,mBACE,QACA,sBACA,2BACA,KACF,CAAC,CAAC,QACJ;GACF;GACA,KAAK,aAAa,2BAA2B,UAAU,QAAQ;EACjE,CAAC;CACH;AACF;AAEA,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,IAAiB;CAEjD,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,SAAS,SAAS,EAAE,CAAE,gBAAgB,QAAQ;EAEpD,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;GACtC,MAAM,QAAQ,OAAO;GACrB,IAAI,oBAAoB,IAAI,KAAK,GAC/B,oBAAoB,IAClB,QACC,oBAAoB,IAAI,KAAK,KAAK,KAAK,CAC1C;QAEA,oBAAoB,IAAI,OAAO,CAAC;EAEpC;CACF;CAEA,OAAO;AACT"}
@@ -3,61 +3,48 @@ const require_columnFilteringFeature_utils = require('./columnFilteringFeature.u
3
3
 
4
4
  //#region src/features/column-filtering/columnFilteringFeature.ts
5
5
  /**
6
- * Creates the stock column filtering feature.
7
- *
8
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
6
+ * Feature that adds per-column filtering state, options, and column/table filter APIs.
9
7
  */
10
- function constructColumnFilteringFeature() {
11
- return {
12
- getInitialState: (initialState) => {
13
- return {
14
- columnFilters: require_columnFilteringFeature_utils.getDefaultColumnFiltersState(),
15
- ...initialState
16
- };
17
- },
18
- getDefaultColumnDef: () => {
19
- return { filterFn: "auto" };
20
- },
21
- getDefaultTableOptions: (table) => {
22
- return {
23
- onColumnFiltersChange: require_utils.makeStateUpdater("columnFilters", table),
24
- filterFromLeafRows: false,
25
- maxLeafRowFilterDepth: 100
26
- };
27
- },
28
- assignColumnPrototype: (prototype, table) => {
29
- require_utils.assignPrototypeAPIs("columnFilteringFeature", prototype, table, {
30
- column_getAutoFilterFn: { fn: (column) => require_columnFilteringFeature_utils.column_getAutoFilterFn(column) },
31
- column_getFilterFn: { fn: (column) => require_columnFilteringFeature_utils.column_getFilterFn(column) },
32
- column_getCanFilter: { fn: (column) => require_columnFilteringFeature_utils.column_getCanFilter(column) },
33
- column_getIsFiltered: { fn: (column) => require_columnFilteringFeature_utils.column_getIsFiltered(column) },
34
- column_getFilterValue: { fn: (column) => require_columnFilteringFeature_utils.column_getFilterValue(column) },
35
- column_getFilterIndex: { fn: (column) => require_columnFilteringFeature_utils.column_getFilterIndex(column) },
36
- column_setFilterValue: { fn: (column, value) => require_columnFilteringFeature_utils.column_setFilterValue(column, value) }
37
- });
38
- },
39
- initRowInstanceData: (row) => {
40
- row.columnFilters = {};
41
- row.columnFiltersMeta = {};
42
- },
43
- constructTableAPIs: (table) => {
44
- require_utils.assignTableAPIs("columnFilteringFeature", table, {
45
- table_setColumnFilters: { fn: (updater) => require_columnFilteringFeature_utils.table_setColumnFilters(table, updater) },
46
- table_resetColumnFilters: { fn: (defaultState) => require_columnFilteringFeature_utils.table_resetColumnFilters(table, defaultState) }
47
- });
48
- }
49
- };
50
- }
51
- /**
52
- * The stock column filtering feature.
53
- *
54
- * Register this feature to add column filter state, filter defaults, and
55
- * table/row/column APIs for client-side or manual column filtering. Global
56
- * filtering is provided by `globalFilteringFeature`.
57
- */
58
- const columnFilteringFeature = constructColumnFilteringFeature();
8
+ const columnFilteringFeature = {
9
+ getInitialState: (initialState) => {
10
+ return {
11
+ columnFilters: require_columnFilteringFeature_utils.getDefaultColumnFiltersState(),
12
+ ...initialState
13
+ };
14
+ },
15
+ getDefaultColumnDef: () => {
16
+ return { filterFn: "auto" };
17
+ },
18
+ getDefaultTableOptions: (table) => {
19
+ return {
20
+ onColumnFiltersChange: require_utils.makeStateUpdater("columnFilters", table),
21
+ filterFromLeafRows: false,
22
+ maxLeafRowFilterDepth: 100
23
+ };
24
+ },
25
+ assignColumnPrototype: (prototype, table) => {
26
+ require_utils.assignPrototypeAPIs("columnFilteringFeature", prototype, table, {
27
+ column_getAutoFilterFn: { fn: (column) => require_columnFilteringFeature_utils.column_getAutoFilterFn(column) },
28
+ column_getFilterFn: { fn: (column) => require_columnFilteringFeature_utils.column_getFilterFn(column) },
29
+ column_getCanFilter: { fn: (column) => require_columnFilteringFeature_utils.column_getCanFilter(column) },
30
+ column_getIsFiltered: { fn: (column) => require_columnFilteringFeature_utils.column_getIsFiltered(column) },
31
+ column_getFilterValue: { fn: (column) => require_columnFilteringFeature_utils.column_getFilterValue(column) },
32
+ column_getFilterIndex: { fn: (column) => require_columnFilteringFeature_utils.column_getFilterIndex(column) },
33
+ column_setFilterValue: { fn: (column, value) => require_columnFilteringFeature_utils.column_setFilterValue(column, value) }
34
+ });
35
+ },
36
+ initRowInstanceData: (row) => {
37
+ row.columnFilters = require_utils.makeObjectMap();
38
+ row.columnFiltersMeta = require_utils.makeObjectMap();
39
+ },
40
+ constructTableAPIs: (table) => {
41
+ require_utils.assignTableAPIs("columnFilteringFeature", table, {
42
+ table_setColumnFilters: { fn: (updater) => require_columnFilteringFeature_utils.table_setColumnFilters(table, updater) },
43
+ table_resetColumnFilters: { fn: (defaultState) => require_columnFilteringFeature_utils.table_resetColumnFilters(table, defaultState) }
44
+ });
45
+ }
46
+ };
59
47
 
60
48
  //#endregion
61
49
  exports.columnFilteringFeature = columnFilteringFeature;
62
- exports.constructColumnFilteringFeature = constructColumnFilteringFeature;
63
50
  //# sourceMappingURL=columnFilteringFeature.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnFilteringFeature.cjs","names":["getDefaultColumnFiltersState","makeStateUpdater","column_getAutoFilterFn","column_getFilterFn","column_getCanFilter","column_getIsFiltered","column_getFilterValue","column_getFilterIndex","column_setFilterValue","table_setColumnFilters","table_resetColumnFilters"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Filtered,\n// ColumnDef_ColumnFiltering,\n// Column_ColumnFiltering,\n// CreateRowModel_Filtered,\n// RowModelFns_ColumnFiltering,\n// Row_ColumnFiltering,\n// TableOptions_ColumnFiltering,\n// TableState_ColumnFiltering,\n// Table_ColumnFiltering,\n// } from './columnFilteringFeature.types'\n\nexport interface ColumnFilteringFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>\n // Column: Column_ColumnFiltering<TFeatures, TData>\n // ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>\n // Row: Row_ColumnFiltering<TFeatures, TData>\n // RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>\n // Table: Table_ColumnFiltering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>\n // TableState: TableState_ColumnFiltering\n}\n\n/**\n * Creates the stock column filtering feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnFilteringFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = {}\n ;(row as any).columnFiltersMeta = {}\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The stock column filtering feature.\n *\n * Register this feature to add column filter state, filter defaults, and\n * table/row/column APIs for client-side or manual column filtering. Global\n * filtering is provided by `globalFilteringFeature`.\n */\nexport const columnFilteringFeature = constructColumnFilteringFeature()\n"],"mappings":";;;;;;;;;AAmDA,SAAgB,kCAGwD;CACtE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,eAAeA,kEAA6B;IAC5C,GAAG;GACL;EACF;EAEA,2BAA2B;GACzB,OAAO,EACL,UAAU,OACZ;EACF;EAEA,yBAAyB,UAAU;GACjC,OAAO;IACL,uBAAuBC,+BAAiB,iBAAiB,KAAK;IAC9D,oBAAoB;IACpB,uBAAuB;GACzB;EACF;EAEA,wBAAwB,WAAW,UAAU;GAC3C,kCAAoB,0BAA0B,WAAW,OAAO;IAC9D,wBAAwB,EACtB,KAAK,WAAWC,4DAAuB,MAAM,EAC/C;IACA,oBAAoB,EAClB,KAAK,WAAWC,wDAAmB,MAAM,EAC3C;IACA,qBAAqB,EACnB,KAAK,WAAWC,yDAAoB,MAAM,EAC5C;IACA,sBAAsB,EACpB,KAAK,WAAWC,0DAAqB,MAAM,EAC7C;IACA,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,MAAM,EAC9C;IACA,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,MAAM,EAC9C;IACA,uBAAuB,EACrB,KAAK,QAAQ,UAAUC,2DAAsB,QAAQ,KAAK,EAC5D;GACF,CAAC;EACH;EAEA,sBAAsB,QAAQ;GAC3B,AAAC,IAAY,gBAAgB,CAAC;GAC9B,AAAC,IAAY,oBAAoB,CAAC;EACrC;EAEA,qBAAqB,UAAU;GAC7B,8BAAgB,0BAA0B,OAAO;IAC/C,wBAAwB,EACtB,KAAK,YAAYC,4DAAuB,OAAO,OAAO,EACxD;IACA,0BAA0B,EACxB,KAAK,iBAAiBC,8DAAyB,OAAO,YAAY,EACpE;GACF,CAAC;EACH;CACF;AACF;;;;;;;;AASA,MAAa,yBAAyB,gCAAgC"}
1
+ {"version":3,"file":"columnFilteringFeature.cjs","names":["getDefaultColumnFiltersState","makeStateUpdater","column_getAutoFilterFn","column_getFilterFn","column_getCanFilter","column_getIsFiltered","column_getFilterValue","column_getFilterIndex","column_setFilterValue","makeObjectMap","table_setColumnFilters","table_resetColumnFilters"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeObjectMap,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds per-column filtering state, options, and column/table filter APIs.\n */\nexport const columnFilteringFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = makeObjectMap()\n ;(row as any).columnFiltersMeta = makeObjectMap()\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAuBA,MAAa,yBAAuC;CAClD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,eAAeA,kEAA6B;GAC5C,GAAG;EACL;CACF;CAEA,2BAA2B;EACzB,OAAO,EACL,UAAU,OACZ;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,uBAAuBC,+BAAiB,iBAAiB,KAAK;GAC9D,oBAAoB;GACpB,uBAAuB;EACzB;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,0BAA0B,WAAW,OAAO;GAC9D,wBAAwB,EACtB,KAAK,WAAWC,4DAAuB,MAAM,EAC/C;GACA,oBAAoB,EAClB,KAAK,WAAWC,wDAAmB,MAAM,EAC3C;GACA,qBAAqB,EACnB,KAAK,WAAWC,yDAAoB,MAAM,EAC5C;GACA,sBAAsB,EACpB,KAAK,WAAWC,0DAAqB,MAAM,EAC7C;GACA,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,MAAM,EAC9C;GACA,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,MAAM,EAC9C;GACA,uBAAuB,EACrB,KAAK,QAAQ,UAAUC,2DAAsB,QAAQ,KAAK,EAC5D;EACF,CAAC;CACH;CAEA,sBAAsB,QAAQ;EAC3B,AAAC,IAAY,gBAAgBC,4BAAc;EAC3C,AAAC,IAAY,oBAAoBA,4BAAc;CAClD;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,0BAA0B,OAAO;GAC/C,wBAAwB,EACtB,KAAK,YAAYC,4DAAuB,OAAO,OAAO,EACxD;GACA,0BAA0B,EACxB,KAAK,iBAAiBC,8DAAyB,OAAO,YAAY,EACpE;EACF,CAAC;CACH;AACF"}
@@ -1,22 +1,10 @@
1
- import { RowData } from "../../types/type-utils.cjs";
2
- import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
1
+ import { TableFeature } from "../../types/TableFeatures.cjs";
3
2
 
4
3
  //#region src/features/column-filtering/columnFilteringFeature.d.ts
5
- interface ColumnFilteringFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
4
  /**
7
- * Creates the stock column filtering feature.
8
- *
9
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
5
+ * Feature that adds per-column filtering state, options, and column/table filter APIs.
10
6
  */
11
- declare function constructColumnFilteringFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>>;
12
- /**
13
- * The stock column filtering feature.
14
- *
15
- * Register this feature to add column filter state, filter defaults, and
16
- * table/row/column APIs for client-side or manual column filtering. Global
17
- * filtering is provided by `globalFilteringFeature`.
18
- */
19
- declare const columnFilteringFeature: TableFeature<ColumnFilteringFeatureConstructors<TableFeatures, RowData>>;
7
+ declare const columnFilteringFeature: TableFeature;
20
8
  //#endregion
21
- export { ColumnFilteringFeatureConstructors, columnFilteringFeature, constructColumnFilteringFeature };
9
+ export { columnFilteringFeature };
22
10
  //# sourceMappingURL=columnFilteringFeature.d.cts.map
@@ -1,22 +1,10 @@
1
- import { RowData } from "../../types/type-utils.js";
2
- import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
1
+ import { TableFeature } from "../../types/TableFeatures.js";
3
2
 
4
3
  //#region src/features/column-filtering/columnFilteringFeature.d.ts
5
- interface ColumnFilteringFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
4
  /**
7
- * Creates the stock column filtering feature.
8
- *
9
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
5
+ * Feature that adds per-column filtering state, options, and column/table filter APIs.
10
6
  */
11
- declare function constructColumnFilteringFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>>;
12
- /**
13
- * The stock column filtering feature.
14
- *
15
- * Register this feature to add column filter state, filter defaults, and
16
- * table/row/column APIs for client-side or manual column filtering. Global
17
- * filtering is provided by `globalFilteringFeature`.
18
- */
19
- declare const columnFilteringFeature: TableFeature<ColumnFilteringFeatureConstructors<TableFeatures, RowData>>;
7
+ declare const columnFilteringFeature: TableFeature;
20
8
  //#endregion
21
- export { ColumnFilteringFeatureConstructors, columnFilteringFeature, constructColumnFilteringFeature };
9
+ export { columnFilteringFeature };
22
10
  //# sourceMappingURL=columnFilteringFeature.d.ts.map
@@ -1,62 +1,50 @@
1
- import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../utils.js";
1
+ import { assignPrototypeAPIs, assignTableAPIs, makeObjectMap, makeStateUpdater } from "../../utils.js";
2
2
  import { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, table_resetColumnFilters, table_setColumnFilters } from "./columnFilteringFeature.utils.js";
3
3
 
4
4
  //#region src/features/column-filtering/columnFilteringFeature.ts
5
5
  /**
6
- * Creates the stock column filtering feature.
7
- *
8
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
6
+ * Feature that adds per-column filtering state, options, and column/table filter APIs.
9
7
  */
10
- function constructColumnFilteringFeature() {
11
- return {
12
- getInitialState: (initialState) => {
13
- return {
14
- columnFilters: getDefaultColumnFiltersState(),
15
- ...initialState
16
- };
17
- },
18
- getDefaultColumnDef: () => {
19
- return { filterFn: "auto" };
20
- },
21
- getDefaultTableOptions: (table) => {
22
- return {
23
- onColumnFiltersChange: makeStateUpdater("columnFilters", table),
24
- filterFromLeafRows: false,
25
- maxLeafRowFilterDepth: 100
26
- };
27
- },
28
- assignColumnPrototype: (prototype, table) => {
29
- assignPrototypeAPIs("columnFilteringFeature", prototype, table, {
30
- column_getAutoFilterFn: { fn: (column) => column_getAutoFilterFn(column) },
31
- column_getFilterFn: { fn: (column) => column_getFilterFn(column) },
32
- column_getCanFilter: { fn: (column) => column_getCanFilter(column) },
33
- column_getIsFiltered: { fn: (column) => column_getIsFiltered(column) },
34
- column_getFilterValue: { fn: (column) => column_getFilterValue(column) },
35
- column_getFilterIndex: { fn: (column) => column_getFilterIndex(column) },
36
- column_setFilterValue: { fn: (column, value) => column_setFilterValue(column, value) }
37
- });
38
- },
39
- initRowInstanceData: (row) => {
40
- row.columnFilters = {};
41
- row.columnFiltersMeta = {};
42
- },
43
- constructTableAPIs: (table) => {
44
- assignTableAPIs("columnFilteringFeature", table, {
45
- table_setColumnFilters: { fn: (updater) => table_setColumnFilters(table, updater) },
46
- table_resetColumnFilters: { fn: (defaultState) => table_resetColumnFilters(table, defaultState) }
47
- });
48
- }
49
- };
50
- }
51
- /**
52
- * The stock column filtering feature.
53
- *
54
- * Register this feature to add column filter state, filter defaults, and
55
- * table/row/column APIs for client-side or manual column filtering. Global
56
- * filtering is provided by `globalFilteringFeature`.
57
- */
58
- const columnFilteringFeature = constructColumnFilteringFeature();
8
+ const columnFilteringFeature = {
9
+ getInitialState: (initialState) => {
10
+ return {
11
+ columnFilters: getDefaultColumnFiltersState(),
12
+ ...initialState
13
+ };
14
+ },
15
+ getDefaultColumnDef: () => {
16
+ return { filterFn: "auto" };
17
+ },
18
+ getDefaultTableOptions: (table) => {
19
+ return {
20
+ onColumnFiltersChange: makeStateUpdater("columnFilters", table),
21
+ filterFromLeafRows: false,
22
+ maxLeafRowFilterDepth: 100
23
+ };
24
+ },
25
+ assignColumnPrototype: (prototype, table) => {
26
+ assignPrototypeAPIs("columnFilteringFeature", prototype, table, {
27
+ column_getAutoFilterFn: { fn: (column) => column_getAutoFilterFn(column) },
28
+ column_getFilterFn: { fn: (column) => column_getFilterFn(column) },
29
+ column_getCanFilter: { fn: (column) => column_getCanFilter(column) },
30
+ column_getIsFiltered: { fn: (column) => column_getIsFiltered(column) },
31
+ column_getFilterValue: { fn: (column) => column_getFilterValue(column) },
32
+ column_getFilterIndex: { fn: (column) => column_getFilterIndex(column) },
33
+ column_setFilterValue: { fn: (column, value) => column_setFilterValue(column, value) }
34
+ });
35
+ },
36
+ initRowInstanceData: (row) => {
37
+ row.columnFilters = makeObjectMap();
38
+ row.columnFiltersMeta = makeObjectMap();
39
+ },
40
+ constructTableAPIs: (table) => {
41
+ assignTableAPIs("columnFilteringFeature", table, {
42
+ table_setColumnFilters: { fn: (updater) => table_setColumnFilters(table, updater) },
43
+ table_resetColumnFilters: { fn: (defaultState) => table_resetColumnFilters(table, defaultState) }
44
+ });
45
+ }
46
+ };
59
47
 
60
48
  //#endregion
61
- export { columnFilteringFeature, constructColumnFilteringFeature };
49
+ export { columnFilteringFeature };
62
50
  //# sourceMappingURL=columnFilteringFeature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnFilteringFeature.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Filtered,\n// ColumnDef_ColumnFiltering,\n// Column_ColumnFiltering,\n// CreateRowModel_Filtered,\n// RowModelFns_ColumnFiltering,\n// Row_ColumnFiltering,\n// TableOptions_ColumnFiltering,\n// TableState_ColumnFiltering,\n// Table_ColumnFiltering,\n// } from './columnFilteringFeature.types'\n\nexport interface ColumnFilteringFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>\n // Column: Column_ColumnFiltering<TFeatures, TData>\n // ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>\n // Row: Row_ColumnFiltering<TFeatures, TData>\n // RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>\n // Table: Table_ColumnFiltering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>\n // TableState: TableState_ColumnFiltering\n}\n\n/**\n * Creates the stock column filtering feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructColumnFilteringFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = {}\n ;(row as any).columnFiltersMeta = {}\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The stock column filtering feature.\n *\n * Register this feature to add column filter state, filter defaults, and\n * table/row/column APIs for client-side or manual column filtering. Global\n * filtering is provided by `globalFilteringFeature`.\n */\nexport const columnFilteringFeature = constructColumnFilteringFeature()\n"],"mappings":";;;;;;;;;AAmDA,SAAgB,kCAGwD;CACtE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,eAAe,6BAA6B;IAC5C,GAAG;GACL;EACF;EAEA,2BAA2B;GACzB,OAAO,EACL,UAAU,OACZ;EACF;EAEA,yBAAyB,UAAU;GACjC,OAAO;IACL,uBAAuB,iBAAiB,iBAAiB,KAAK;IAC9D,oBAAoB;IACpB,uBAAuB;GACzB;EACF;EAEA,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,0BAA0B,WAAW,OAAO;IAC9D,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,MAAM,EAC/C;IACA,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,MAAM,EAC3C;IACA,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,MAAM,EAC5C;IACA,sBAAsB,EACpB,KAAK,WAAW,qBAAqB,MAAM,EAC7C;IACA,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,MAAM,EAC9C;IACA,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,MAAM,EAC9C;IACA,uBAAuB,EACrB,KAAK,QAAQ,UAAU,sBAAsB,QAAQ,KAAK,EAC5D;GACF,CAAC;EACH;EAEA,sBAAsB,QAAQ;GAC3B,AAAC,IAAY,gBAAgB,CAAC;GAC9B,AAAC,IAAY,oBAAoB,CAAC;EACrC;EAEA,qBAAqB,UAAU;GAC7B,gBAAgB,0BAA0B,OAAO;IAC/C,wBAAwB,EACtB,KAAK,YAAY,uBAAuB,OAAO,OAAO,EACxD;IACA,0BAA0B,EACxB,KAAK,iBAAiB,yBAAyB,OAAO,YAAY,EACpE;GACF,CAAC;EACH;CACF;AACF;;;;;;;;AASA,MAAa,yBAAyB,gCAAgC"}
1
+ {"version":3,"file":"columnFilteringFeature.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeObjectMap,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds per-column filtering state, options, and column/table filter APIs.\n */\nexport const columnFilteringFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = makeObjectMap()\n ;(row as any).columnFiltersMeta = makeObjectMap()\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAuBA,MAAa,yBAAuC;CAClD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,eAAe,6BAA6B;GAC5C,GAAG;EACL;CACF;CAEA,2BAA2B;EACzB,OAAO,EACL,UAAU,OACZ;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,uBAAuB,iBAAiB,iBAAiB,KAAK;GAC9D,oBAAoB;GACpB,uBAAuB;EACzB;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,0BAA0B,WAAW,OAAO;GAC9D,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,MAAM,EAC/C;GACA,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,MAAM,EAC3C;GACA,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,MAAM,EAC5C;GACA,sBAAsB,EACpB,KAAK,WAAW,qBAAqB,MAAM,EAC7C;GACA,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,MAAM,EAC9C;GACA,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,MAAM,EAC9C;GACA,uBAAuB,EACrB,KAAK,QAAQ,UAAU,sBAAsB,QAAQ,KAAK,EAC5D;EACF,CAAC;CACH;CAEA,sBAAsB,QAAQ;EAC3B,AAAC,IAAY,gBAAgB,cAAc;EAC3C,AAAC,IAAY,oBAAoB,cAAc;CAClD;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,0BAA0B,OAAO;GAC/C,wBAAwB,EACtB,KAAK,YAAY,uBAAuB,OAAO,OAAO,EACxD;GACA,0BAA0B,EACxB,KAAK,iBAAiB,yBAAyB,OAAO,YAAY,EACpE;EACF,CAAC;CACH;AACF"}
@@ -1,13 +1,23 @@
1
1
  import { CellData, OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
2
+ import { Row } from "../../types/Row.cjs";
2
3
  import { BuiltInFilterFn } from "../../fns/filterFns.cjs";
3
4
  import { Column } from "../../types/Column.cjs";
4
- import { Row } from "../../types/Row.cjs";
5
- import { TableFeatures } from "../../types/TableFeatures.cjs";
6
- import { Table } from "../../types/Table.cjs";
5
+ import { IsAny, TableFeatures } from "../../types/TableFeatures.cjs";
7
6
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
8
7
 
9
8
  //#region src/features/column-filtering/columnFilteringFeature.types.d.ts
10
9
  interface FilterMeta {}
10
+ /**
11
+ * Resolves the type of the filter meta attached to rows for a feature set.
12
+ *
13
+ * When the features object declares a `filterMeta` type-only slot
14
+ * (`tableFeatures({ ..., filterMeta: {} as MyFilterMeta })`), that type wins.
15
+ * Otherwise this falls back to the global declaration-merged `FilterMeta`
16
+ * interface.
17
+ */
18
+ type ExtractFilterMeta<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? FilterMeta : TFeatures extends {
19
+ filterMeta: infer TFilterMeta extends object;
20
+ } ? TFilterMeta : FilterMeta;
11
21
  interface FilterFns {}
12
22
  interface TableState_ColumnFiltering {
13
23
  columnFilters: ColumnFiltersState;
@@ -17,24 +27,37 @@ interface ColumnFilter {
17
27
  id: string;
18
28
  value: unknown;
19
29
  }
20
- interface ResolvedColumnFilter<TFeatures extends TableFeatures, TData extends RowData> {
30
+ interface ResolvedColumnFilter<in out TFeatures extends TableFeatures, in out TData extends RowData> {
21
31
  filterFn: FilterFn<TFeatures, TData>;
22
32
  id: string;
23
33
  resolvedValue: unknown;
24
34
  }
25
- interface RowModelFns_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
26
- filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>;
35
+ interface RowModelFns_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
36
+ filterFns: Record<string, FilterFn<TFeatures, TData>>;
27
37
  }
28
- interface FilterFn<TFeatures extends TableFeatures, TData extends RowData> {
29
- (row: Row<TFeatures, TData>, columnId: string, filterValue: any, addMeta?: (meta: FilterMeta) => void): boolean;
38
+ interface FilterFn<in out TFeatures extends TableFeatures, in out TData extends RowData> {
39
+ (row: Row<TFeatures, TData>, columnId: string, filterValue: any, addMeta?: (meta: ExtractFilterMeta<TFeatures>) => void): boolean;
30
40
  autoRemove?: ColumnFilterAutoRemoveTestFn<TFeatures, TData>;
31
41
  resolveFilterValue?: TransformFilterValueFn<TFeatures, TData>;
32
42
  }
33
43
  type TransformFilterValueFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = (value: any, column?: Column<TFeatures, TData, TValue>) => TValue;
34
44
  type ColumnFilterAutoRemoveTestFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = (value: any, column?: Column<TFeatures, TData, TValue>) => boolean;
35
45
  type CustomFilterFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, FilterFn<TFeatures, TData>>;
36
- type FilterFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | BuiltInFilterFn | keyof FilterFns | FilterFn<TFeatures, TData>;
37
- interface ColumnDef_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
46
+ /**
47
+ * Resolves the valid string names for `columnDef.filterFn` and
48
+ * `options.globalFilterFn` for a feature set.
49
+ *
50
+ * When the features object declares a `filterFns` registry
51
+ * (`tableFeatures({ ..., filterFns })`), its keys are the only valid names; a
52
+ * name is only assignable if a filter function is actually registered for it.
53
+ * Otherwise this falls back to the global declaration-merged `FilterFns`
54
+ * interface.
55
+ */
56
+ type ExtractFilterFnKeys<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? keyof FilterFns | BuiltInFilterFn : TFeatures extends {
57
+ filterFns: infer TFilterFns extends object;
58
+ } ? Extract<keyof TFilterFns, string> : keyof FilterFns;
59
+ type FilterFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | ExtractFilterFnKeys<TFeatures> | FilterFn<TFeatures, TData>;
60
+ interface ColumnDef_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
38
61
  /**
39
62
  * Enables this column to participate in column-specific filtering.
40
63
  *
@@ -47,7 +70,7 @@ interface ColumnDef_ColumnFiltering<TFeatures extends TableFeatures, TData exten
47
70
  */
48
71
  filterFn?: FilterFnOption<TFeatures, TData>;
49
72
  }
50
- interface Column_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
73
+ interface Column_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
51
74
  /**
52
75
  * Returns an automatically calculated filter function for the column based off of the columns first known value.
53
76
  */
@@ -80,7 +103,7 @@ interface Column_ColumnFiltering<TFeatures extends TableFeatures, TData extends
80
103
  */
81
104
  setFilterValue: (updater: Updater<any>) => void;
82
105
  }
83
- interface Row_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
106
+ interface Row_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
84
107
  /**
85
108
  * The column filters map for the row. This object tracks whether a row is passing/failing specific filters by their column ID.
86
109
  */
@@ -88,9 +111,9 @@ interface Row_ColumnFiltering<TFeatures extends TableFeatures, TData extends Row
88
111
  /**
89
112
  * The column filters meta map for the row. This object tracks any filter meta for a row as optionally provided during the filtering process.
90
113
  */
91
- columnFiltersMeta: Record<string, FilterMeta>;
114
+ columnFiltersMeta: Record<string, ExtractFilterMeta<TFeatures>>;
92
115
  }
93
- interface TableOptions_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
116
+ interface TableOptions_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
94
117
  /**
95
118
  * Enables column-specific filtering for all columns that also allow it.
96
119
  */
@@ -133,7 +156,7 @@ interface Table_ColumnFiltering {
133
156
  */
134
157
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
135
158
  }
136
- interface Table_RowModels_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
159
+ interface Table_RowModels_Filtered<in out TFeatures extends TableFeatures, in out TData extends RowData> {
137
160
  /**
138
161
  * Resolves the row model after column and global filters have been applied.
139
162
  */
@@ -143,18 +166,9 @@ interface Table_RowModels_Filtered<TFeatures extends TableFeatures, TData extend
143
166
  */
144
167
  getPreFilteredRowModel: () => RowModel<TFeatures, TData>;
145
168
  }
146
- interface CreateRowModel_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
147
- /**
148
- * If provided, this factory is called once per table and should return a
149
- * function that calculates the filtered row model.
150
- * - For server-side filtering, this function is unnecessary and can be ignored since the server should already return the filtered row model.
151
- * - For client-side filtering, pass the exported `createFilteredRowModel()` or implement your own factory.
152
- */
153
- filteredRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
154
- }
155
- interface CachedRowModel_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
169
+ interface CachedRowModel_Filtered<in out TFeatures extends TableFeatures, in out TData extends RowData> {
156
170
  filteredRowModel: () => RowModel<TFeatures, TData>;
157
171
  }
158
172
  //#endregion
159
- export { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CreateRowModel_Filtered, CustomFilterFns, FilterFn, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn };
173
+ export { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CustomFilterFns, ExtractFilterFnKeys, ExtractFilterMeta, FilterFn, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn };
160
174
  //# sourceMappingURL=columnFilteringFeature.types.d.cts.map