@tanstack/table-core 9.0.0-alpha.4 → 9.0.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +117 -0
  2. package/dist/core/cells/constructCell.cjs +28 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +12 -0
  5. package/dist/core/cells/constructCell.d.ts +12 -0
  6. package/dist/core/cells/constructCell.js +27 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +25 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +13 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +13 -0
  12. package/dist/core/cells/coreCellsFeature.js +24 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +21 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +52 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +11 -0
  25. package/dist/core/columns/constructColumn.d.ts +11 -0
  26. package/dist/core/columns/constructColumn.js +51 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +70 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
  32. package/dist/core/columns/coreColumnsFeature.js +69 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +20 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +20 -0
  45. package/dist/core/coreFeatures.d.ts +20 -0
  46. package/dist/core/coreFeatures.js +20 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +90 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
  52. package/dist/core/headers/buildHeaderGroups.js +90 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +35 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +17 -0
  57. package/dist/core/headers/constructHeader.d.ts +17 -0
  58. package/dist/core/headers/constructHeader.js +34 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +66 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +61 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
  75. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  76. package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
  77. package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
  78. package/dist/core/row-models/coreRowModelsFeature.js +30 -0
  79. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  80. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
  81. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
  82. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
  83. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
  85. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
  87. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  88. package/dist/core/row-models/createCoreRowModel.cjs +47 -0
  89. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  90. package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
  91. package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
  92. package/dist/core/row-models/createCoreRowModel.js +47 -0
  93. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  94. package/dist/core/rows/constructRow.cjs +37 -0
  95. package/dist/core/rows/constructRow.cjs.map +1 -0
  96. package/dist/core/rows/constructRow.d.cts +10 -0
  97. package/dist/core/rows/constructRow.d.ts +10 -0
  98. package/dist/core/rows/constructRow.js +36 -0
  99. package/dist/core/rows/constructRow.js.map +1 -0
  100. package/dist/core/rows/coreRowsFeature.cjs +41 -0
  101. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  102. package/dist/core/rows/coreRowsFeature.d.cts +13 -0
  103. package/dist/core/rows/coreRowsFeature.d.ts +13 -0
  104. package/dist/core/rows/coreRowsFeature.js +40 -0
  105. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  106. package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
  107. package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
  108. package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
  109. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
  111. package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
  112. package/dist/core/rows/coreRowsFeature.utils.js +72 -0
  113. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  114. package/dist/core/table/constructTable.cjs +79 -0
  115. package/dist/core/table/constructTable.cjs.map +1 -0
  116. package/dist/core/table/constructTable.d.cts +12 -0
  117. package/dist/core/table/constructTable.d.ts +12 -0
  118. package/dist/core/table/constructTable.js +78 -0
  119. package/dist/core/table/constructTable.js.map +1 -0
  120. package/dist/core/table/coreTablesFeature.cjs +21 -0
  121. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  122. package/dist/core/table/coreTablesFeature.d.cts +13 -0
  123. package/dist/core/table/coreTablesFeature.d.ts +13 -0
  124. package/dist/core/table/coreTablesFeature.js +20 -0
  125. package/dist/core/table/coreTablesFeature.js.map +1 -0
  126. package/dist/core/table/coreTablesFeature.types.d.cts +157 -0
  127. package/dist/core/table/coreTablesFeature.types.d.ts +157 -0
  128. package/dist/core/table/coreTablesFeature.utils.cjs +27 -0
  129. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
  131. package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
  132. package/dist/core/table/coreTablesFeature.utils.js +25 -0
  133. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  134. package/dist/features/column-faceting/columnFacetingFeature.cjs +65 -0
  135. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  136. package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
  137. package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
  138. package/dist/features/column-faceting/columnFacetingFeature.js +64 -0
  139. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  140. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
  141. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  148. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
  149. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  150. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  154. package/dist/features/column-faceting/createFacetedRowModel.cjs +40 -0
  155. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  156. package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
  157. package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
  158. package/dist/features/column-faceting/createFacetedRowModel.js +40 -0
  159. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  160. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
  161. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  162. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
  163. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
  164. package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
  165. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  166. package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
  167. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  168. package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
  169. package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
  170. package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
  171. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  172. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
  173. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
  174. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  180. package/dist/features/column-filtering/createFilteredRowModel.cjs +99 -0
  181. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  182. package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
  183. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
  184. package/dist/features/column-filtering/createFilteredRowModel.js +99 -0
  185. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  186. package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
  187. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  188. package/dist/features/column-filtering/filterRowsUtils.js +76 -0
  189. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  190. package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
  191. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  192. package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
  193. package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
  194. package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
  195. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  196. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
  197. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
  198. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  204. package/dist/features/column-grouping/createGroupedRowModel.cjs +114 -0
  205. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  206. package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
  207. package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.js +114 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  210. package/dist/features/column-ordering/columnOrderingFeature.cjs +61 -0
  211. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  212. package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
  213. package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
  214. package/dist/features/column-ordering/columnOrderingFeature.js +60 -0
  215. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  216. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
  217. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +65 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.js +58 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  224. package/dist/features/column-pinning/columnPinningFeature.cjs +231 -0
  225. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  226. package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
  227. package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
  228. package/dist/features/column-pinning/columnPinningFeature.js +230 -0
  229. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  230. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
  231. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
  232. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +205 -0
  233. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
  235. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
  236. package/dist/features/column-pinning/columnPinningFeature.utils.js +175 -0
  237. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  238. package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
  239. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  240. package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
  241. package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
  242. package/dist/features/column-resizing/columnResizingFeature.js +45 -0
  243. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  244. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
  245. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
  246. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +157 -0
  247. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
  249. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.js +150 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  252. package/dist/features/column-sizing/columnSizingFeature.cjs +75 -0
  253. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  254. package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
  255. package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
  256. package/dist/features/column-sizing/columnSizingFeature.js +74 -0
  257. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  258. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
  259. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
  260. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
  261. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
  263. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
  264. package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
  265. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  266. package/dist/features/column-visibility/columnVisibilityFeature.cjs +96 -0
  267. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  268. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
  269. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
  270. package/dist/features/column-visibility/columnVisibilityFeature.js +95 -0
  271. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  272. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
  273. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
  274. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  280. package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
  281. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  282. package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
  283. package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
  284. package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
  285. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  286. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
  287. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
  288. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  294. package/dist/features/row-expanding/createExpandedRowModel.cjs +49 -0
  295. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  296. package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
  297. package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.js +48 -0
  299. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  300. package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
  301. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  302. package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
  303. package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
  304. package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
  305. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  306. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
  307. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
  308. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +115 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.js +101 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  314. package/dist/features/row-pagination/createPaginatedRowModel.cjs +57 -0
  315. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  316. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
  317. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.js +57 -0
  319. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  320. package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
  321. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  322. package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
  323. package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
  324. package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
  325. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  326. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
  327. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
  328. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +120 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.js +104 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  334. package/dist/features/row-pinning/rowPinningFeature.cjs +71 -0
  335. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  336. package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
  337. package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
  338. package/dist/features/row-pinning/rowPinningFeature.js +70 -0
  339. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  340. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
  341. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
  342. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +101 -0
  343. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
  345. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
  346. package/dist/features/row-pinning/rowPinningFeature.utils.js +91 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  348. package/dist/features/row-selection/rowSelectionFeature.cjs +79 -0
  349. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  350. package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
  351. package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
  352. package/dist/features/row-selection/rowSelectionFeature.js +78 -0
  353. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  354. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
  355. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
  356. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +232 -0
  357. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
  359. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
  360. package/dist/features/row-selection/rowSelectionFeature.utils.js +207 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  362. package/dist/features/row-sorting/createSortedRowModel.cjs +85 -0
  363. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  364. package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
  365. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
  366. package/dist/features/row-sorting/createSortedRowModel.js +85 -0
  367. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  368. package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
  369. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  370. package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
  371. package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
  372. package/dist/features/row-sorting/rowSortingFeature.js +58 -0
  373. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  374. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
  375. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
  376. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
  377. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
  379. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
  380. package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
  381. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  382. package/dist/features/stockFeatures.cjs +36 -0
  383. package/dist/features/stockFeatures.cjs.map +1 -0
  384. package/dist/features/stockFeatures.d.cts +36 -0
  385. package/dist/features/stockFeatures.d.ts +36 -0
  386. package/dist/features/stockFeatures.js +36 -0
  387. package/dist/features/stockFeatures.js.map +1 -0
  388. package/dist/features/table-reactivity/tableReactivityFeature.cjs +46 -0
  389. package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -0
  390. package/dist/features/table-reactivity/tableReactivityFeature.d.cts +12 -0
  391. package/dist/features/table-reactivity/tableReactivityFeature.d.ts +12 -0
  392. package/dist/features/table-reactivity/tableReactivityFeature.js +45 -0
  393. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
  394. package/dist/flex-render.cjs +19 -0
  395. package/dist/flex-render.cjs.map +1 -0
  396. package/dist/flex-render.d.cts +24 -0
  397. package/dist/flex-render.d.ts +24 -0
  398. package/dist/flex-render.js +16 -0
  399. package/dist/flex-render.js.map +1 -0
  400. package/dist/fns/aggregationFns.cjs +125 -0
  401. package/dist/fns/aggregationFns.cjs.map +1 -0
  402. package/dist/fns/aggregationFns.d.cts +54 -0
  403. package/dist/fns/aggregationFns.d.ts +54 -0
  404. package/dist/fns/aggregationFns.js +116 -0
  405. package/dist/fns/aggregationFns.js.map +1 -0
  406. package/dist/fns/filterFns.cjs +179 -0
  407. package/dist/fns/filterFns.cjs.map +1 -0
  408. package/dist/fns/filterFns.d.cts +81 -0
  409. package/dist/fns/filterFns.d.ts +81 -0
  410. package/dist/fns/filterFns.js +163 -0
  411. package/dist/fns/filterFns.js.map +1 -0
  412. package/dist/fns/sortFns.cjs +73 -0
  413. package/dist/fns/sortFns.cjs.map +1 -0
  414. package/dist/fns/sortFns.d.cts +22 -0
  415. package/dist/fns/sortFns.d.ts +22 -0
  416. package/dist/fns/sortFns.js +65 -0
  417. package/dist/fns/sortFns.js.map +1 -0
  418. package/dist/helpers/columnHelper.cjs +36 -0
  419. package/dist/helpers/columnHelper.cjs.map +1 -0
  420. package/dist/helpers/columnHelper.d.cts +66 -0
  421. package/dist/helpers/columnHelper.d.ts +66 -0
  422. package/dist/helpers/columnHelper.js +35 -0
  423. package/dist/helpers/columnHelper.js.map +1 -0
  424. package/dist/helpers/tableFeatures.cjs +20 -0
  425. package/dist/helpers/tableFeatures.cjs.map +1 -0
  426. package/dist/helpers/tableFeatures.d.cts +18 -0
  427. package/dist/helpers/tableFeatures.d.ts +18 -0
  428. package/dist/helpers/tableFeatures.js +19 -0
  429. package/dist/helpers/tableFeatures.js.map +1 -0
  430. package/dist/helpers/tableOptions.cjs +9 -0
  431. package/dist/helpers/tableOptions.cjs.map +1 -0
  432. package/dist/helpers/tableOptions.d.cts +28 -0
  433. package/dist/helpers/tableOptions.d.ts +28 -0
  434. package/dist/helpers/tableOptions.js +8 -0
  435. package/dist/helpers/tableOptions.js.map +1 -0
  436. package/dist/index.cjs +159 -0
  437. package/dist/index.d.cts +79 -0
  438. package/dist/index.d.ts +79 -0
  439. package/dist/index.js +47 -0
  440. package/dist/static-functions.cjs +261 -0
  441. package/dist/static-functions.d.cts +21 -0
  442. package/dist/static-functions.d.ts +21 -0
  443. package/dist/static-functions.js +22 -0
  444. package/dist/types/Cell.d.cts +16 -0
  445. package/dist/types/Cell.d.ts +16 -0
  446. package/dist/types/Column.d.cts +29 -0
  447. package/dist/types/Column.d.ts +29 -0
  448. package/dist/types/ColumnDef.d.cts +66 -0
  449. package/dist/types/ColumnDef.d.ts +66 -0
  450. package/dist/types/Header.d.cts +17 -0
  451. package/dist/types/Header.d.ts +17 -0
  452. package/dist/types/HeaderGroup.d.cts +15 -0
  453. package/dist/types/HeaderGroup.d.ts +15 -0
  454. package/dist/types/Row.d.cts +22 -0
  455. package/dist/types/Row.d.ts +22 -0
  456. package/dist/types/RowModel.d.cts +26 -0
  457. package/dist/types/RowModel.d.ts +26 -0
  458. package/dist/types/RowModelFns.d.cts +18 -0
  459. package/dist/types/RowModelFns.d.ts +18 -0
  460. package/dist/types/Table.d.cts +59 -0
  461. package/dist/types/Table.d.ts +59 -0
  462. package/dist/types/TableFeatures.d.cts +77 -0
  463. package/dist/types/TableFeatures.d.ts +77 -0
  464. package/dist/types/TableOptions.d.cts +39 -0
  465. package/dist/types/TableOptions.d.ts +39 -0
  466. package/dist/types/TableState.d.cts +27 -0
  467. package/dist/types/TableState.d.ts +27 -0
  468. package/dist/types/type-utils.d.cts +23 -0
  469. package/dist/types/type-utils.d.ts +23 -0
  470. package/dist/utils.cjs +218 -0
  471. package/dist/utils.cjs.map +1 -0
  472. package/dist/utils.d.cts +91 -0
  473. package/dist/utils.d.ts +91 -0
  474. package/dist/utils.js +203 -0
  475. package/dist/utils.js.map +1 -0
  476. package/package.json +31 -14
  477. package/src/core/cells/constructCell.ts +49 -0
  478. package/src/core/cells/coreCellsFeature.ts +44 -0
  479. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  480. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  481. package/src/core/columns/constructColumn.ts +111 -0
  482. package/src/core/columns/coreColumnsFeature.ts +90 -0
  483. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  484. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  485. package/src/core/coreFeatures.ts +24 -0
  486. package/src/core/headers/buildHeaderGroups.ts +177 -0
  487. package/src/core/headers/constructHeader.ts +61 -0
  488. package/src/core/headers/coreHeadersFeature.ts +98 -0
  489. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  490. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  491. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  492. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  493. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  494. package/src/core/row-models/createCoreRowModel.ts +88 -0
  495. package/src/core/rows/constructRow.ts +59 -0
  496. package/src/core/rows/coreRowsFeature.ts +84 -0
  497. package/src/core/rows/coreRowsFeature.types.ts +114 -0
  498. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  499. package/src/core/table/constructTable.ts +110 -0
  500. package/src/core/table/coreTablesFeature.ts +36 -0
  501. package/src/core/table/coreTablesFeature.types.ts +187 -0
  502. package/src/core/table/coreTablesFeature.utils.ts +47 -0
  503. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  504. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  505. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  506. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  507. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  508. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  509. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  510. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  511. package/src/features/column-filtering/columnFilteringFeature.utils.ts +209 -0
  512. package/src/features/column-filtering/createFilteredRowModel.ts +172 -0
  513. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  514. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  515. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  516. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  517. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  518. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  519. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  520. package/src/features/column-ordering/columnOrderingFeature.utils.ts +134 -0
  521. package/src/features/column-pinning/columnPinningFeature.ts +347 -0
  522. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  523. package/src/features/column-pinning/columnPinningFeature.utils.ts +539 -0
  524. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  525. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  526. package/src/features/column-resizing/columnResizingFeature.utils.ts +276 -0
  527. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  528. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  529. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  530. package/src/features/column-visibility/columnVisibilityFeature.ts +157 -0
  531. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  532. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  533. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  534. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  535. package/src/features/global-filtering/globalFilteringFeature.utils.ts +59 -0
  536. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  537. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  538. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  539. package/src/features/row-expanding/rowExpandingFeature.utils.ts +208 -0
  540. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  541. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  542. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  543. package/src/features/row-pagination/rowPaginationFeature.utils.ts +208 -0
  544. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  545. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  546. package/src/features/row-pinning/rowPinningFeature.utils.ts +199 -0
  547. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  548. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  549. package/src/features/row-selection/rowSelectionFeature.utils.ts +465 -0
  550. package/src/features/row-sorting/createSortedRowModel.ts +149 -0
  551. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  552. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  553. package/src/features/row-sorting/rowSortingFeature.utils.ts +319 -0
  554. package/src/features/stockFeatures.ts +48 -0
  555. package/src/features/table-reactivity/tableReactivityFeature.ts +92 -0
  556. package/src/flex-render.ts +60 -0
  557. package/src/fns/aggregationFns.ts +220 -0
  558. package/src/fns/filterFns.ts +379 -0
  559. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  560. package/src/helpers/columnHelper.ts +117 -0
  561. package/src/helpers/tableFeatures.ts +24 -0
  562. package/src/helpers/tableOptions.ts +82 -0
  563. package/src/index.ts +140 -42
  564. package/src/process-env.d.ts +6 -0
  565. package/src/static-functions.ts +31 -0
  566. package/src/types/Cell.ts +41 -0
  567. package/src/types/Column.ts +86 -0
  568. package/src/types/ColumnDef.ts +217 -0
  569. package/src/types/Header.ts +45 -0
  570. package/src/types/HeaderGroup.ts +24 -0
  571. package/src/types/Row.ts +55 -0
  572. package/src/types/RowModel.ts +137 -0
  573. package/src/types/RowModelFns.ts +51 -0
  574. package/src/types/Table.ts +132 -0
  575. package/src/types/TableFeatures.ts +150 -0
  576. package/src/types/TableOptions.ts +125 -0
  577. package/src/types/TableState.ts +88 -0
  578. package/src/types/type-utils.ts +84 -0
  579. package/src/utils.ts +361 -161
  580. package/dist/cjs/aggregationFns.cjs +0 -98
  581. package/dist/cjs/aggregationFns.cjs.map +0 -1
  582. package/dist/cjs/aggregationFns.d.cts +0 -14
  583. package/dist/cjs/columnHelper.cjs +0 -19
  584. package/dist/cjs/columnHelper.cjs.map +0 -1
  585. package/dist/cjs/columnHelper.d.cts +0 -9
  586. package/dist/cjs/core/cell.cjs +0 -38
  587. package/dist/cjs/core/cell.cjs.map +0 -1
  588. package/dist/cjs/core/cell.d.cts +0 -50
  589. package/dist/cjs/core/column.cjs +0 -81
  590. package/dist/cjs/core/column.cjs.map +0 -1
  591. package/dist/cjs/core/column.d.cts +0 -56
  592. package/dist/cjs/core/headers.cjs +0 -310
  593. package/dist/cjs/core/headers.cjs.map +0 -1
  594. package/dist/cjs/core/headers.d.cts +0 -195
  595. package/dist/cjs/core/row.cjs +0 -93
  596. package/dist/cjs/core/row.cjs.map +0 -1
  597. package/dist/cjs/core/row.d.cts +0 -92
  598. package/dist/cjs/core/table.cjs +0 -228
  599. package/dist/cjs/core/table.cjs.map +0 -1
  600. package/dist/cjs/core/table.d.cts +0 -221
  601. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  602. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  603. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  604. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  605. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  606. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  607. package/dist/cjs/features/ColumnGrouping.cjs +0 -134
  608. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  609. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  610. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  611. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  612. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  613. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  614. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  615. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  616. package/dist/cjs/features/ColumnSizing.cjs +0 -308
  617. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  618. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  619. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  620. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  621. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  622. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  623. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  624. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  625. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  626. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  627. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  628. package/dist/cjs/features/RowExpanding.cjs +0 -154
  629. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  630. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  631. package/dist/cjs/features/RowPagination.cjs +0 -162
  632. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  633. package/dist/cjs/features/RowPagination.d.cts +0 -166
  634. package/dist/cjs/features/RowPinning.cjs +0 -133
  635. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  636. package/dist/cjs/features/RowPinning.d.cts +0 -99
  637. package/dist/cjs/features/RowSelection.cjs +0 -298
  638. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  639. package/dist/cjs/features/RowSelection.d.cts +0 -177
  640. package/dist/cjs/features/RowSorting.cjs +0 -201
  641. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  642. package/dist/cjs/features/RowSorting.d.cts +0 -238
  643. package/dist/cjs/filterFns.cjs +0 -88
  644. package/dist/cjs/filterFns.cjs.map +0 -1
  645. package/dist/cjs/filterFns.d.cts +0 -14
  646. package/dist/cjs/index.cjs +0 -87
  647. package/dist/cjs/index.cjs.map +0 -1
  648. package/dist/cjs/index.d.cts +0 -34
  649. package/dist/cjs/sortingFns.cjs +0 -91
  650. package/dist/cjs/sortingFns.cjs.map +0 -1
  651. package/dist/cjs/sortingFns.d.cts +0 -12
  652. package/dist/cjs/types.d.cts +0 -120
  653. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  654. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  655. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  656. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  657. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  658. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  659. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  660. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  661. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  662. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
  663. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  664. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  665. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  666. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  667. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  668. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
  669. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  670. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  671. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  672. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  673. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  674. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  675. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  676. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  677. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  678. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  679. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  680. package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
  681. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  682. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  683. package/dist/cjs/utils.cjs +0 -100
  684. package/dist/cjs/utils.cjs.map +0 -1
  685. package/dist/cjs/utils.d.cts +0 -39
  686. package/dist/esm/aggregationFns.d.ts +0 -14
  687. package/dist/esm/aggregationFns.js +0 -98
  688. package/dist/esm/aggregationFns.js.map +0 -1
  689. package/dist/esm/columnHelper.d.ts +0 -9
  690. package/dist/esm/columnHelper.js +0 -19
  691. package/dist/esm/columnHelper.js.map +0 -1
  692. package/dist/esm/core/cell.d.ts +0 -50
  693. package/dist/esm/core/cell.js +0 -38
  694. package/dist/esm/core/cell.js.map +0 -1
  695. package/dist/esm/core/column.d.ts +0 -56
  696. package/dist/esm/core/column.js +0 -81
  697. package/dist/esm/core/column.js.map +0 -1
  698. package/dist/esm/core/headers.d.ts +0 -195
  699. package/dist/esm/core/headers.js +0 -310
  700. package/dist/esm/core/headers.js.map +0 -1
  701. package/dist/esm/core/row.d.ts +0 -92
  702. package/dist/esm/core/row.js +0 -93
  703. package/dist/esm/core/row.js.map +0 -1
  704. package/dist/esm/core/table.d.ts +0 -221
  705. package/dist/esm/core/table.js +0 -228
  706. package/dist/esm/core/table.js.map +0 -1
  707. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  708. package/dist/esm/features/ColumnFaceting.js +0 -29
  709. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  710. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  711. package/dist/esm/features/ColumnFiltering.js +0 -137
  712. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  713. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  714. package/dist/esm/features/ColumnGrouping.js +0 -134
  715. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  716. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  717. package/dist/esm/features/ColumnOrdering.js +0 -76
  718. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  719. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  720. package/dist/esm/features/ColumnPinning.js +0 -145
  721. package/dist/esm/features/ColumnPinning.js.map +0 -1
  722. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  723. package/dist/esm/features/ColumnSizing.js +0 -308
  724. package/dist/esm/features/ColumnSizing.js.map +0 -1
  725. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  726. package/dist/esm/features/ColumnVisibility.js +0 -144
  727. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  728. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  729. package/dist/esm/features/GlobalFaceting.js +0 -29
  730. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  731. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  732. package/dist/esm/features/GlobalFiltering.js +0 -50
  733. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  734. package/dist/esm/features/RowExpanding.d.ts +0 -155
  735. package/dist/esm/features/RowExpanding.js +0 -154
  736. package/dist/esm/features/RowExpanding.js.map +0 -1
  737. package/dist/esm/features/RowPagination.d.ts +0 -166
  738. package/dist/esm/features/RowPagination.js +0 -162
  739. package/dist/esm/features/RowPagination.js.map +0 -1
  740. package/dist/esm/features/RowPinning.d.ts +0 -99
  741. package/dist/esm/features/RowPinning.js +0 -133
  742. package/dist/esm/features/RowPinning.js.map +0 -1
  743. package/dist/esm/features/RowSelection.d.ts +0 -177
  744. package/dist/esm/features/RowSelection.js +0 -298
  745. package/dist/esm/features/RowSelection.js.map +0 -1
  746. package/dist/esm/features/RowSorting.d.ts +0 -238
  747. package/dist/esm/features/RowSorting.js +0 -201
  748. package/dist/esm/features/RowSorting.js.map +0 -1
  749. package/dist/esm/filterFns.d.ts +0 -14
  750. package/dist/esm/filterFns.js +0 -88
  751. package/dist/esm/filterFns.js.map +0 -1
  752. package/dist/esm/index.d.ts +0 -34
  753. package/dist/esm/index.js +0 -87
  754. package/dist/esm/index.js.map +0 -1
  755. package/dist/esm/sortingFns.d.ts +0 -12
  756. package/dist/esm/sortingFns.js +0 -91
  757. package/dist/esm/sortingFns.js.map +0 -1
  758. package/dist/esm/types.d.ts +0 -120
  759. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  760. package/dist/esm/utils/filterRowsUtils.js +0 -99
  761. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  762. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  763. package/dist/esm/utils/getCoreRowModel.js +0 -54
  764. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  765. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  766. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  767. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  768. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  769. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
  770. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  771. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  772. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  773. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  774. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  775. package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
  776. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  777. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  778. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  779. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  780. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  781. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  782. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  783. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  784. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  785. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  786. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  787. package/dist/esm/utils/getSortedRowModel.js +0 -91
  788. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  789. package/dist/esm/utils.d.ts +0 -39
  790. package/dist/esm/utils.js +0 -100
  791. package/dist/esm/utils.js.map +0 -1
  792. package/src/aggregationFns.ts +0 -123
  793. package/src/columnHelper.ts +0 -91
  794. package/src/core/cell.ts +0 -91
  795. package/src/core/column.ts +0 -165
  796. package/src/core/headers.ts +0 -639
  797. package/src/core/row.ts +0 -201
  798. package/src/core/table.ts +0 -527
  799. package/src/features/ColumnFaceting.ts +0 -84
  800. package/src/features/ColumnFiltering.ts +0 -429
  801. package/src/features/ColumnGrouping.ts +0 -422
  802. package/src/features/ColumnOrdering.ts +0 -161
  803. package/src/features/ColumnPinning.ts +0 -336
  804. package/src/features/ColumnSizing.ts +0 -579
  805. package/src/features/ColumnVisibility.ts +0 -317
  806. package/src/features/GlobalFaceting.ts +0 -66
  807. package/src/features/GlobalFiltering.ts +0 -162
  808. package/src/features/RowExpanding.ts +0 -355
  809. package/src/features/RowPagination.ts +0 -396
  810. package/src/features/RowPinning.ts +0 -273
  811. package/src/features/RowSelection.ts +0 -668
  812. package/src/features/RowSorting.ts +0 -542
  813. package/src/filterFns.ts +0 -150
  814. package/src/types.ts +0 -361
  815. package/src/utils/filterRowsUtils.ts +0 -130
  816. package/src/utils/getCoreRowModel.ts +0 -82
  817. package/src/utils/getExpandedRowModel.ts +0 -51
  818. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  819. package/src/utils/getFacetedRowModel.ts +0 -44
  820. package/src/utils/getFacetedUniqueValues.ts +0 -42
  821. package/src/utils/getFilteredRowModel.ts +0 -151
  822. package/src/utils/getGroupedRowModel.ts +0 -181
  823. package/src/utils/getPaginationRowModel.ts +0 -60
  824. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,90 @@
1
+ const require_utils = require('../../utils.cjs');
2
+
3
+ //#region src/features/column-filtering/columnFilteringFeature.utils.ts
4
+ function getDefaultColumnFiltersState() {
5
+ return [];
6
+ }
7
+ function column_getAutoFilterFn(column) {
8
+ const filterFns = column.table._rowModelFns.filterFns;
9
+ const firstRow = column.table.getCoreRowModel().flatRows[0];
10
+ const value = firstRow ? firstRow.getValue(column.id) : void 0;
11
+ if (typeof value === "string") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.includesString;
12
+ if (typeof value === "number") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.inNumberRange;
13
+ if (typeof value === "boolean") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
14
+ if (value !== null && typeof value === "object") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
15
+ if (Array.isArray(value)) return filterFns === null || filterFns === void 0 ? void 0 : filterFns.arrIncludes;
16
+ return filterFns === null || filterFns === void 0 ? void 0 : filterFns.weakEquals;
17
+ }
18
+ function column_getFilterFn(column) {
19
+ let filterFn = null;
20
+ const filterFns = column.table._rowModelFns.filterFns;
21
+ filterFn = require_utils.isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns === null || filterFns === void 0 ? void 0 : filterFns[column.columnDef.filterFn];
22
+ if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
23
+ return filterFn;
24
+ }
25
+ function column_getCanFilter(column) {
26
+ return (column.columnDef.enableColumnFilter ?? true) && (column.table.options.enableColumnFilters ?? true) && (column.table.options.enableFilters ?? true) && !!column.accessorFn;
27
+ }
28
+ function column_getIsFiltered(column) {
29
+ return column_getFilterIndex(column) > -1;
30
+ }
31
+ function column_getFilterValue(column) {
32
+ var _column$table$atoms$c;
33
+ return (_column$table$atoms$c = column.table.atoms.columnFilters) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.find((d) => d.id === column.id)) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.value;
34
+ }
35
+ function column_getFilterIndex(column) {
36
+ var _column$table$atoms$c2;
37
+ return ((_column$table$atoms$c2 = column.table.atoms.columnFilters) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.findIndex((d) => d.id === column.id)) ?? -1;
38
+ }
39
+ function column_setFilterValue(column, value) {
40
+ table_setColumnFilters(column.table, (old) => {
41
+ const filterFn = column_getFilterFn(column);
42
+ const previousFilter = old.find((d) => d.id === column.id);
43
+ const newFilter = require_utils.functionalUpdate(value, previousFilter ? previousFilter.value : void 0);
44
+ if (shouldAutoRemoveFilter(filterFn, newFilter, column)) return old.filter((d) => d.id !== column.id);
45
+ const newFilterObj = {
46
+ id: column.id,
47
+ value: newFilter
48
+ };
49
+ if (previousFilter) return old.map((d) => {
50
+ if (d.id === column.id) return newFilterObj;
51
+ return d;
52
+ });
53
+ if (old.length) return [...old, newFilterObj];
54
+ return [newFilterObj];
55
+ });
56
+ }
57
+ function table_setColumnFilters(table, updater) {
58
+ var _table$options$onColu, _table$options;
59
+ const leafColumns = table.getAllLeafColumns();
60
+ const updateFn = (old) => {
61
+ return require_utils.functionalUpdate(updater, old).filter((filter) => {
62
+ const column = leafColumns.find((d) => d.id === filter.id);
63
+ if (column) {
64
+ if (shouldAutoRemoveFilter(column_getFilterFn(column), filter.value, column)) return false;
65
+ }
66
+ return true;
67
+ });
68
+ };
69
+ (_table$options$onColu = (_table$options = table.options).onColumnFiltersChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updateFn);
70
+ }
71
+ function table_resetColumnFilters(table, defaultState) {
72
+ table_setColumnFilters(table, defaultState ? [] : require_utils.cloneState(table.initialState.columnFilters ?? []));
73
+ }
74
+ function shouldAutoRemoveFilter(filterFn, value, column) {
75
+ return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === "undefined" || typeof value === "string" && !value;
76
+ }
77
+
78
+ //#endregion
79
+ exports.column_getAutoFilterFn = column_getAutoFilterFn;
80
+ exports.column_getCanFilter = column_getCanFilter;
81
+ exports.column_getFilterFn = column_getFilterFn;
82
+ exports.column_getFilterIndex = column_getFilterIndex;
83
+ exports.column_getFilterValue = column_getFilterValue;
84
+ exports.column_getIsFiltered = column_getIsFiltered;
85
+ exports.column_setFilterValue = column_setFilterValue;
86
+ exports.getDefaultColumnFiltersState = getDefaultColumnFiltersState;
87
+ exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
88
+ exports.table_resetColumnFilters = table_resetColumnFilters;
89
+ exports.table_setColumnFilters = table_setColumnFilters;
90
+ //# sourceMappingURL=columnFilteringFeature.utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnFilteringFeature.utils.cjs","names":["isFunction","functionalUpdate","cloneState"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":";;;AAUA,SAAgB,+BAAmD;AACjE,QAAO,EAAE;;AAGX,SAAgB,uBAId,QAAmD;CACnD,MAAM,YACJ,OAAO,MAAM,aAAa;CAE5B,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,QAAQ,WAAW,SAAS,SAAS,OAAO,GAAG,GAAG;AAExD,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,UACnB,8DAAO,UAAW;AAGpB,KAAI,UAAU,QAAQ,OAAO,UAAU,SACrC,8DAAO,UAAW;AAGpB,KAAI,MAAM,QAAQ,MAAM,CACtB,8DAAO,UAAW;AAGpB,8DAAO,UAAW;;AAGpB,SAAgB,mBAKd,QACwC;CACxC,IAAI,WAAW;CACf,MAAM,YACJ,OAAO,MAAM,aAAa;AAC5B,YAAWA,yBAAW,OAAO,UAAU,SAAS,GAC5C,OAAO,UAAU,WACjB,OAAO,UAAU,aAAa,SAC5B,uBAAuB,OAAO,yDAC9B,UAAY,OAAO,UAAU;AAEnC,KAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,SAC7C,SAAQ,KACN,oEAAoE,OAAO,GAAG,GAC/E;AAGH,QAAO;;AAGT,SAAgB,oBAId,QAAmD;AACnD,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,uBAAuB,UAC5C,OAAO,MAAM,QAAQ,iBAAiB,SACvC,CAAC,CAAC,OAAO;;AAIb,SAAgB,qBAId,QAAmD;AACnD,QAAO,sBAAsB,OAAO,GAAG;;AAGzC,SAAgB,sBAId,QAAmD;;AACnD,iCAAO,OAAO,MAAM,MAAM,8GACtB,KAAK,iGACL,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG,gFAAE;;AAGvC,SAAgB,sBAId,QAA2D;;AAC3D,mCACE,OAAO,MAAM,MAAM,iHACf,KAAK,kFACL,WAAW,MAAM,EAAE,OAAO,OAAO,GAAG,KAAI;;AAIhD,SAAgB,sBAId,QAAmD,OAAY;AAC/D,wBAAuB,OAAO,QAAQ,QAAQ;EAC5C,MAAM,WAAW,mBAAmB,OAAO;EAC3C,MAAM,iBAAiB,IAAI,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;EAE1D,MAAM,YAAYC,+BAChB,OACA,iBAAiB,eAAe,QAAQ,OACzC;AAED,MAAI,uBAAuB,UAAU,WAAW,OAAO,CACrD,QAAO,IAAI,QAAQ,MAAM,EAAE,OAAO,OAAO,GAAG;EAG9C,MAAM,eAAe;GAAE,IAAI,OAAO;GAAI,OAAO;GAAW;AAExD,MAAI,eACF,QAAO,IAAI,KAAK,MAAM;AACpB,OAAI,EAAE,OAAO,OAAO,GAClB,QAAO;AAET,UAAO;IACP;AAGJ,MAAI,IAAI,OACN,QAAO,CAAC,GAAG,KAAK,aAAa;AAG/B,SAAO,CAAC,aAAa;GACrB;;AAGJ,SAAgB,uBAId,OACA,SACA;;CACA,MAAM,cAAc,MAAM,mBAAmB;CAE7C,MAAM,YAAY,QAA4B;AAC5C,SAAOA,+BAAiB,SAAS,IAAI,CAAC,QAAQ,WAAW;GACvD,MAAM,SAAS,YAAY,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;AAE1D,OAAI,QAGF;QAAI,uBAFa,mBAAmB,OAED,EAAE,OAAO,OAAO,OAAO,CACxD,QAAO;;AAIX,UAAO;IACP;;AAGJ,kDAAM,SAAQ,kHAAwB,SAAS;;AAGjD,SAAgB,yBAGd,OAAyC,cAAwB;AACjE,wBACE,OACA,eAAe,EAAE,GAAGC,yBAAW,MAAM,aAAa,iBAAiB,EAAE,CAAC,CACvE;;AAGH,SAAgB,uBAKd,UACA,OACA,QACA;AACA,SACG,YAAY,SAAS,aAClB,SAAS,WAAW,OAAO,OAAO,GAClC,UACJ,OAAO,UAAU,eAChB,OAAO,UAAU,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
2
+ import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.cjs";
3
+ import { Column_Internal } from "../../types/Column.cjs";
4
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
+ import { Table_Internal } from "../../types/Table.cjs";
6
+
7
+ //#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
8
+ declare function getDefaultColumnFiltersState(): ColumnFiltersState;
9
+ declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
10
+ declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
11
+ declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
12
+ declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
13
+ declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): unknown;
14
+ declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
15
+ declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, value: any): void;
16
+ declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
17
+ declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
18
+ declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column_Internal<TFeatures, TData, TValue>): boolean;
19
+ //#endregion
20
+ export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
21
+ //# sourceMappingURL=columnFilteringFeature.utils.d.cts.map
@@ -0,0 +1,21 @@
1
+ import { CellData, RowData, Updater } from "../../types/type-utils.js";
2
+ import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.js";
3
+ import { Column_Internal } from "../../types/Column.js";
4
+ import { TableFeatures } from "../../types/TableFeatures.js";
5
+ import { Table_Internal } from "../../types/Table.js";
6
+
7
+ //#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
8
+ declare function getDefaultColumnFiltersState(): ColumnFiltersState;
9
+ declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
10
+ declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
11
+ declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
12
+ declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
13
+ declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): unknown;
14
+ declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
15
+ declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, value: any): void;
16
+ declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
17
+ declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
18
+ declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column_Internal<TFeatures, TData, TValue>): boolean;
19
+ //#endregion
20
+ export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
21
+ //# sourceMappingURL=columnFilteringFeature.utils.d.ts.map
@@ -0,0 +1,80 @@
1
+ import { cloneState, functionalUpdate, isFunction } from "../../utils.js";
2
+
3
+ //#region src/features/column-filtering/columnFilteringFeature.utils.ts
4
+ function getDefaultColumnFiltersState() {
5
+ return [];
6
+ }
7
+ function column_getAutoFilterFn(column) {
8
+ const filterFns = column.table._rowModelFns.filterFns;
9
+ const firstRow = column.table.getCoreRowModel().flatRows[0];
10
+ const value = firstRow ? firstRow.getValue(column.id) : void 0;
11
+ if (typeof value === "string") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.includesString;
12
+ if (typeof value === "number") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.inNumberRange;
13
+ if (typeof value === "boolean") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
14
+ if (value !== null && typeof value === "object") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
15
+ if (Array.isArray(value)) return filterFns === null || filterFns === void 0 ? void 0 : filterFns.arrIncludes;
16
+ return filterFns === null || filterFns === void 0 ? void 0 : filterFns.weakEquals;
17
+ }
18
+ function column_getFilterFn(column) {
19
+ let filterFn = null;
20
+ const filterFns = column.table._rowModelFns.filterFns;
21
+ filterFn = isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns === null || filterFns === void 0 ? void 0 : filterFns[column.columnDef.filterFn];
22
+ if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
23
+ return filterFn;
24
+ }
25
+ function column_getCanFilter(column) {
26
+ return (column.columnDef.enableColumnFilter ?? true) && (column.table.options.enableColumnFilters ?? true) && (column.table.options.enableFilters ?? true) && !!column.accessorFn;
27
+ }
28
+ function column_getIsFiltered(column) {
29
+ return column_getFilterIndex(column) > -1;
30
+ }
31
+ function column_getFilterValue(column) {
32
+ var _column$table$atoms$c;
33
+ return (_column$table$atoms$c = column.table.atoms.columnFilters) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.find((d) => d.id === column.id)) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.value;
34
+ }
35
+ function column_getFilterIndex(column) {
36
+ var _column$table$atoms$c2;
37
+ return ((_column$table$atoms$c2 = column.table.atoms.columnFilters) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.findIndex((d) => d.id === column.id)) ?? -1;
38
+ }
39
+ function column_setFilterValue(column, value) {
40
+ table_setColumnFilters(column.table, (old) => {
41
+ const filterFn = column_getFilterFn(column);
42
+ const previousFilter = old.find((d) => d.id === column.id);
43
+ const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : void 0);
44
+ if (shouldAutoRemoveFilter(filterFn, newFilter, column)) return old.filter((d) => d.id !== column.id);
45
+ const newFilterObj = {
46
+ id: column.id,
47
+ value: newFilter
48
+ };
49
+ if (previousFilter) return old.map((d) => {
50
+ if (d.id === column.id) return newFilterObj;
51
+ return d;
52
+ });
53
+ if (old.length) return [...old, newFilterObj];
54
+ return [newFilterObj];
55
+ });
56
+ }
57
+ function table_setColumnFilters(table, updater) {
58
+ var _table$options$onColu, _table$options;
59
+ const leafColumns = table.getAllLeafColumns();
60
+ const updateFn = (old) => {
61
+ return functionalUpdate(updater, old).filter((filter) => {
62
+ const column = leafColumns.find((d) => d.id === filter.id);
63
+ if (column) {
64
+ if (shouldAutoRemoveFilter(column_getFilterFn(column), filter.value, column)) return false;
65
+ }
66
+ return true;
67
+ });
68
+ };
69
+ (_table$options$onColu = (_table$options = table.options).onColumnFiltersChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updateFn);
70
+ }
71
+ function table_resetColumnFilters(table, defaultState) {
72
+ table_setColumnFilters(table, defaultState ? [] : cloneState(table.initialState.columnFilters ?? []));
73
+ }
74
+ function shouldAutoRemoveFilter(filterFn, value, column) {
75
+ return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === "undefined" || typeof value === "string" && !value;
76
+ }
77
+
78
+ //#endregion
79
+ export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
80
+ //# sourceMappingURL=columnFilteringFeature.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnFilteringFeature.utils.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":";;;AAUA,SAAgB,+BAAmD;AACjE,QAAO,EAAE;;AAGX,SAAgB,uBAId,QAAmD;CACnD,MAAM,YACJ,OAAO,MAAM,aAAa;CAE5B,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,QAAQ,WAAW,SAAS,SAAS,OAAO,GAAG,GAAG;AAExD,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,UACnB,8DAAO,UAAW;AAGpB,KAAI,UAAU,QAAQ,OAAO,UAAU,SACrC,8DAAO,UAAW;AAGpB,KAAI,MAAM,QAAQ,MAAM,CACtB,8DAAO,UAAW;AAGpB,8DAAO,UAAW;;AAGpB,SAAgB,mBAKd,QACwC;CACxC,IAAI,WAAW;CACf,MAAM,YACJ,OAAO,MAAM,aAAa;AAC5B,YAAW,WAAW,OAAO,UAAU,SAAS,GAC5C,OAAO,UAAU,WACjB,OAAO,UAAU,aAAa,SAC5B,uBAAuB,OAAO,yDAC9B,UAAY,OAAO,UAAU;AAEnC,KAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,SAC7C,SAAQ,KACN,oEAAoE,OAAO,GAAG,GAC/E;AAGH,QAAO;;AAGT,SAAgB,oBAId,QAAmD;AACnD,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,uBAAuB,UAC5C,OAAO,MAAM,QAAQ,iBAAiB,SACvC,CAAC,CAAC,OAAO;;AAIb,SAAgB,qBAId,QAAmD;AACnD,QAAO,sBAAsB,OAAO,GAAG;;AAGzC,SAAgB,sBAId,QAAmD;;AACnD,iCAAO,OAAO,MAAM,MAAM,8GACtB,KAAK,iGACL,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG,gFAAE;;AAGvC,SAAgB,sBAId,QAA2D;;AAC3D,mCACE,OAAO,MAAM,MAAM,iHACf,KAAK,kFACL,WAAW,MAAM,EAAE,OAAO,OAAO,GAAG,KAAI;;AAIhD,SAAgB,sBAId,QAAmD,OAAY;AAC/D,wBAAuB,OAAO,QAAQ,QAAQ;EAC5C,MAAM,WAAW,mBAAmB,OAAO;EAC3C,MAAM,iBAAiB,IAAI,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;EAE1D,MAAM,YAAY,iBAChB,OACA,iBAAiB,eAAe,QAAQ,OACzC;AAED,MAAI,uBAAuB,UAAU,WAAW,OAAO,CACrD,QAAO,IAAI,QAAQ,MAAM,EAAE,OAAO,OAAO,GAAG;EAG9C,MAAM,eAAe;GAAE,IAAI,OAAO;GAAI,OAAO;GAAW;AAExD,MAAI,eACF,QAAO,IAAI,KAAK,MAAM;AACpB,OAAI,EAAE,OAAO,OAAO,GAClB,QAAO;AAET,UAAO;IACP;AAGJ,MAAI,IAAI,OACN,QAAO,CAAC,GAAG,KAAK,aAAa;AAG/B,SAAO,CAAC,aAAa;GACrB;;AAGJ,SAAgB,uBAId,OACA,SACA;;CACA,MAAM,cAAc,MAAM,mBAAmB;CAE7C,MAAM,YAAY,QAA4B;AAC5C,SAAO,iBAAiB,SAAS,IAAI,CAAC,QAAQ,WAAW;GACvD,MAAM,SAAS,YAAY,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;AAE1D,OAAI,QAGF;QAAI,uBAFa,mBAAmB,OAED,EAAE,OAAO,OAAO,OAAO,CACxD,QAAO;;AAIX,UAAO;IACP;;AAGJ,kDAAM,SAAQ,kHAAwB,SAAS;;AAGjD,SAAgB,yBAGd,OAAyC,cAAwB;AACjE,wBACE,OACA,eAAe,EAAE,GAAG,WAAW,MAAM,aAAa,iBAAiB,EAAE,CAAC,CACvE;;AAGH,SAAgB,uBAKd,UACA,OACA,QACA;AACA,SACG,YAAY,SAAS,aAClB,SAAS,WAAW,OAAO,OAAO,GAClC,UACJ,OAAO,UAAU,eAChB,OAAO,UAAU,YAAY,CAAC"}
@@ -0,0 +1,99 @@
1
+ const require_utils = require('../../utils.cjs');
2
+ const require_coreColumnsFeature_utils = require('../../core/columns/coreColumnsFeature.utils.cjs');
3
+ const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
4
+ const require_columnFilteringFeature_utils = require('./columnFilteringFeature.utils.cjs');
5
+ const require_globalFilteringFeature_utils = require('../global-filtering/globalFilteringFeature.utils.cjs');
6
+ const require_filterRowsUtils = require('./filterRowsUtils.cjs');
7
+
8
+ //#region src/features/column-filtering/createFilteredRowModel.ts
9
+ function createFilteredRowModel(filterFns) {
10
+ return (_table) => {
11
+ const table = _table;
12
+ if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns;
13
+ return require_utils.tableMemo({
14
+ feature: "columnFilteringFeature",
15
+ table,
16
+ fnName: "table.getFilteredRowModel",
17
+ memoDeps: () => {
18
+ var _table$atoms$columnFi, _table$atoms$globalFi;
19
+ return [
20
+ table.getPreFilteredRowModel(),
21
+ (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
22
+ (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get()
23
+ ];
24
+ },
25
+ fn: () => _createFilteredRowModel(table),
26
+ onAfterUpdate: () => require_rowPaginationFeature_utils.table_autoResetPageIndex(table)
27
+ });
28
+ };
29
+ }
30
+ function _createFilteredRowModel(table) {
31
+ var _table$atoms$columnFi2, _table$atoms$globalFi2;
32
+ const rowModel = table.getPreFilteredRowModel();
33
+ const columnFilters = (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get();
34
+ const globalFilter = (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get();
35
+ if (!rowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) {
36
+ for (const row of rowModel.flatRows) {
37
+ row.columnFilters = {};
38
+ row.columnFiltersMeta = {};
39
+ }
40
+ return rowModel;
41
+ }
42
+ const resolvedColumnFilters = [];
43
+ const resolvedGlobalFilters = [];
44
+ columnFilters === null || columnFilters === void 0 || columnFilters.forEach((columnFilter) => {
45
+ var _filterFn$resolveFilt;
46
+ const column = require_coreColumnsFeature_utils.table_getColumn(table, columnFilter.id);
47
+ if (!column) return;
48
+ const filterFn = require_columnFilteringFeature_utils.column_getFilterFn(column);
49
+ resolvedColumnFilters.push({
50
+ id: columnFilter.id,
51
+ filterFn,
52
+ resolvedValue: ((_filterFn$resolveFilt = filterFn.resolveFilterValue) === null || _filterFn$resolveFilt === void 0 ? void 0 : _filterFn$resolveFilt.call(filterFn, columnFilter.value)) ?? columnFilter.value
53
+ });
54
+ });
55
+ const filterableIds = (columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id)) ?? [];
56
+ const globalFilterFn = require_globalFilteringFeature_utils.table_getGlobalFilterFn(table);
57
+ const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => require_globalFilteringFeature_utils.column_getCanGlobalFilter(column));
58
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
59
+ filterableIds.push("__global__");
60
+ globallyFilterableColumns.forEach((column) => {
61
+ var _globalFilterFn$resol;
62
+ resolvedGlobalFilters.push({
63
+ id: column.id,
64
+ filterFn: globalFilterFn,
65
+ resolvedValue: ((_globalFilterFn$resol = globalFilterFn.resolveFilterValue) === null || _globalFilterFn$resol === void 0 ? void 0 : _globalFilterFn$resol.call(globalFilterFn, globalFilter)) ?? globalFilter
66
+ });
67
+ });
68
+ }
69
+ for (const row of rowModel.flatRows) {
70
+ row.columnFilters = {};
71
+ if (resolvedColumnFilters.length) for (const currentColumnFilter of resolvedColumnFilters) {
72
+ const id = currentColumnFilter.id;
73
+ row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
74
+ !row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
75
+ });
76
+ }
77
+ if (resolvedGlobalFilters.length) {
78
+ for (const currentGlobalFilter of resolvedGlobalFilters) {
79
+ const id = currentGlobalFilter.id;
80
+ if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
81
+ !row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
82
+ })) {
83
+ row.columnFilters.__global__ = true;
84
+ break;
85
+ }
86
+ }
87
+ if (row.columnFilters.__global__ !== true) row.columnFilters.__global__ = false;
88
+ }
89
+ }
90
+ const filterRowsImpl = (row) => {
91
+ for (const columnId of filterableIds) if (row.columnFilters[columnId] === false) return false;
92
+ return true;
93
+ };
94
+ return require_filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
95
+ }
96
+
97
+ //#endregion
98
+ exports.createFilteredRowModel = createFilteredRowModel;
99
+ //# sourceMappingURL=createFilteredRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFilteredRowModel.cjs","names":["tableMemo","table_autoResetPageIndex","table_getColumn","column_getFilterFn","table_getGlobalFilterFn","column_getCanGlobalFilter","filterRows"],"sources":["../../../src/features/column-filtering/createFilteredRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalFilterFn,\n} from '../global-filtering/globalFilteringFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { filterRows } from './filterRowsUtils'\nimport { column_getFilterFn } from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n FilterFn,\n FilterFns,\n ResolvedColumnFilter,\n Row_ColumnFiltering,\n} from './columnFilteringFeature.types'\n\nexport function createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns\n return tableMemo({\n feature: 'columnFilteringFeature',\n table,\n fnName: 'table.getFilteredRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n ],\n fn: () => _createFilteredRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreFilteredRowModel()\n const columnFilters = table.atoms.columnFilters?.get()\n const globalFilter = table.atoms.globalFilter?.get()\n\n if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n row.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n\n columnFilters?.forEach((columnFilter) => {\n const column = table_getColumn(table, columnFilter.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column_getFilterFn(column)!\n\n resolvedColumnFilters.push({\n id: columnFilter.id,\n filterFn,\n resolvedValue:\n filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,\n })\n })\n\n const filterableIds = columnFilters?.map((d) => d.id) ?? []\n\n const globalFilterFn = table_getGlobalFilterFn(table)\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach((column) => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,\n })\n })\n }\n\n // Flag the pre-filtered row model with each filter state\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (const currentColumnFilter of resolvedColumnFilters) {\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (const currentGlobalFilter of resolvedGlobalFilters) {\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,\n ) => {\n // Horizontally filter rows through each column\n for (const columnId of filterableIds) {\n if (row.columnFilters[columnId] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl as any, table)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,uBAId,WACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,MAAI,CAAC,MAAM,aAAa,UAAW,OAAM,aAAa,YAAY;AAClE,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAChC;;GACD,UAAU,wBAAwB,MAAM;GACxC,qBAAqBC,4DAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,0CAAgB,MAAM,MAAM,+FAAe,KAAK;CACtD,MAAM,yCAAe,MAAM,MAAM,8FAAc,KAAK;AAEpD,KAAI,CAAC,SAAS,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAAe;AACtE,OAAK,MAAM,OAAO,SAAS,UAExB;AACD,OAAI,gBAAgB,EAAE;AACtB,OAAI,oBAAoB,EAAE;;AAE5B,SAAO;;CAGT,MAAM,wBACJ,EAAE;CACJ,MAAM,wBACJ,EAAE;AAEJ,qEAAe,SAAS,iBAAiB;;EACvC,MAAM,SAASC,iDAAgB,OAAO,aAAa,GAAG;AAEtD,MAAI,CAAC,OACH;EAGF,MAAM,WAAWC,wDAAmB,OAAO;AAE3C,wBAAsB,KAAK;GACzB,IAAI,aAAa;GACjB;GACA,yCACE,SAAS,iHAAqB,aAAa,MAAM,KAAI,aAAa;GACrE,CAAC;GACF;CAEF,MAAM,+EAAgB,cAAe,KAAK,MAAM,EAAE,GAAG,KAAI,EAAE;CAE3D,MAAM,iBAAiBC,6DAAwB,MAAM;CAErD,MAAM,4BAA4B,MAC/B,mBAAmB,CACnB,QAAQ,WAAWC,+DAA0B,OAAO,CAAC;AAExD,KAAI,gBAAgB,kBAAkB,0BAA0B,QAAQ;AACtE,gBAAc,KAAK,aAAa;AAEhC,4BAA0B,SAAS,WAAW;;AAC5C,yBAAsB,KAAK;IACzB,IAAI,OAAO;IACX,UAAU;IACV,yCACE,eAAe,uHAAqB,aAAa,KAAI;IACxD,CAAC;IACF;;AAIJ,MAAK,MAAM,OAAO,SAAS,UAExB;AACD,MAAI,gBAAgB,EAAE;AAEtB,MAAI,sBAAsB,OACxB,MAAK,MAAM,uBAAuB,uBAAuB;GACvD,MAAM,KAAK,oBAAoB;AAG/B,OAAI,cAAc,MAAM,oBAAoB,SAC1C,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,KAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;KAEpC;;AAIL,MAAI,sBAAsB,QAAQ;AAChC,QAAK,MAAM,uBAAuB,uBAAuB;IACvD,MAAM,KAAK,oBAAoB;AAE/B,QACE,oBAAoB,SAClB,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,MAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;MAEpC,EACD;AACA,SAAI,cAAc,aAAa;AAC/B;;;AAIJ,OAAI,IAAI,cAAc,eAAe,KACnC,KAAI,cAAc,aAAa;;;CAKrC,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,YAAY,cACrB,KAAI,IAAI,cAAc,cAAc,MAClC,QAAO;AAGX,SAAO;;AAIT,QAAOC,mCAAW,SAAS,MAAM,gBAAuB,MAAM"}
@@ -0,0 +1,11 @@
1
+ import { RowData } from "../../types/type-utils.cjs";
2
+ import { FilterFn, FilterFns } from "./columnFilteringFeature.types.cjs";
3
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
4
+ import { Table } from "../../types/Table.cjs";
5
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
6
+
7
+ //#region src/features/column-filtering/createFilteredRowModel.d.ts
8
+ declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
9
+ //#endregion
10
+ export { createFilteredRowModel };
11
+ //# sourceMappingURL=createFilteredRowModel.d.cts.map
@@ -0,0 +1,11 @@
1
+ import { RowData } from "../../types/type-utils.js";
2
+ import { FilterFn, FilterFns } from "./columnFilteringFeature.types.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
4
+ import { Table } from "../../types/Table.js";
5
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
6
+
7
+ //#region src/features/column-filtering/createFilteredRowModel.d.ts
8
+ declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
9
+ //#endregion
10
+ export { createFilteredRowModel };
11
+ //# sourceMappingURL=createFilteredRowModel.d.ts.map
@@ -0,0 +1,99 @@
1
+ import { tableMemo } from "../../utils.js";
2
+ import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
3
+ import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
4
+ import { column_getFilterFn } from "./columnFilteringFeature.utils.js";
5
+ import { column_getCanGlobalFilter, table_getGlobalFilterFn } from "../global-filtering/globalFilteringFeature.utils.js";
6
+ import { filterRows } from "./filterRowsUtils.js";
7
+
8
+ //#region src/features/column-filtering/createFilteredRowModel.ts
9
+ function createFilteredRowModel(filterFns) {
10
+ return (_table) => {
11
+ const table = _table;
12
+ if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns;
13
+ return tableMemo({
14
+ feature: "columnFilteringFeature",
15
+ table,
16
+ fnName: "table.getFilteredRowModel",
17
+ memoDeps: () => {
18
+ var _table$atoms$columnFi, _table$atoms$globalFi;
19
+ return [
20
+ table.getPreFilteredRowModel(),
21
+ (_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
22
+ (_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get()
23
+ ];
24
+ },
25
+ fn: () => _createFilteredRowModel(table),
26
+ onAfterUpdate: () => table_autoResetPageIndex(table)
27
+ });
28
+ };
29
+ }
30
+ function _createFilteredRowModel(table) {
31
+ var _table$atoms$columnFi2, _table$atoms$globalFi2;
32
+ const rowModel = table.getPreFilteredRowModel();
33
+ const columnFilters = (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get();
34
+ const globalFilter = (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get();
35
+ if (!rowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) {
36
+ for (const row of rowModel.flatRows) {
37
+ row.columnFilters = {};
38
+ row.columnFiltersMeta = {};
39
+ }
40
+ return rowModel;
41
+ }
42
+ const resolvedColumnFilters = [];
43
+ const resolvedGlobalFilters = [];
44
+ columnFilters === null || columnFilters === void 0 || columnFilters.forEach((columnFilter) => {
45
+ var _filterFn$resolveFilt;
46
+ const column = table_getColumn(table, columnFilter.id);
47
+ if (!column) return;
48
+ const filterFn = column_getFilterFn(column);
49
+ resolvedColumnFilters.push({
50
+ id: columnFilter.id,
51
+ filterFn,
52
+ resolvedValue: ((_filterFn$resolveFilt = filterFn.resolveFilterValue) === null || _filterFn$resolveFilt === void 0 ? void 0 : _filterFn$resolveFilt.call(filterFn, columnFilter.value)) ?? columnFilter.value
53
+ });
54
+ });
55
+ const filterableIds = (columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id)) ?? [];
56
+ const globalFilterFn = table_getGlobalFilterFn(table);
57
+ const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => column_getCanGlobalFilter(column));
58
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
59
+ filterableIds.push("__global__");
60
+ globallyFilterableColumns.forEach((column) => {
61
+ var _globalFilterFn$resol;
62
+ resolvedGlobalFilters.push({
63
+ id: column.id,
64
+ filterFn: globalFilterFn,
65
+ resolvedValue: ((_globalFilterFn$resol = globalFilterFn.resolveFilterValue) === null || _globalFilterFn$resol === void 0 ? void 0 : _globalFilterFn$resol.call(globalFilterFn, globalFilter)) ?? globalFilter
66
+ });
67
+ });
68
+ }
69
+ for (const row of rowModel.flatRows) {
70
+ row.columnFilters = {};
71
+ if (resolvedColumnFilters.length) for (const currentColumnFilter of resolvedColumnFilters) {
72
+ const id = currentColumnFilter.id;
73
+ row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
74
+ !row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
75
+ });
76
+ }
77
+ if (resolvedGlobalFilters.length) {
78
+ for (const currentGlobalFilter of resolvedGlobalFilters) {
79
+ const id = currentGlobalFilter.id;
80
+ if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
81
+ !row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
82
+ })) {
83
+ row.columnFilters.__global__ = true;
84
+ break;
85
+ }
86
+ }
87
+ if (row.columnFilters.__global__ !== true) row.columnFilters.__global__ = false;
88
+ }
89
+ }
90
+ const filterRowsImpl = (row) => {
91
+ for (const columnId of filterableIds) if (row.columnFilters[columnId] === false) return false;
92
+ return true;
93
+ };
94
+ return filterRows(rowModel.rows, filterRowsImpl, table);
95
+ }
96
+
97
+ //#endregion
98
+ export { createFilteredRowModel };
99
+ //# sourceMappingURL=createFilteredRowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFilteredRowModel.js","names":[],"sources":["../../../src/features/column-filtering/createFilteredRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalFilterFn,\n} from '../global-filtering/globalFilteringFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { filterRows } from './filterRowsUtils'\nimport { column_getFilterFn } from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n FilterFn,\n FilterFns,\n ResolvedColumnFilter,\n Row_ColumnFiltering,\n} from './columnFilteringFeature.types'\n\nexport function createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns\n return tableMemo({\n feature: 'columnFilteringFeature',\n table,\n fnName: 'table.getFilteredRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n ],\n fn: () => _createFilteredRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreFilteredRowModel()\n const columnFilters = table.atoms.columnFilters?.get()\n const globalFilter = table.atoms.globalFilter?.get()\n\n if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n row.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n\n columnFilters?.forEach((columnFilter) => {\n const column = table_getColumn(table, columnFilter.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column_getFilterFn(column)!\n\n resolvedColumnFilters.push({\n id: columnFilter.id,\n filterFn,\n resolvedValue:\n filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,\n })\n })\n\n const filterableIds = columnFilters?.map((d) => d.id) ?? []\n\n const globalFilterFn = table_getGlobalFilterFn(table)\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach((column) => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,\n })\n })\n }\n\n // Flag the pre-filtered row model with each filter state\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (const currentColumnFilter of resolvedColumnFilters) {\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (const currentGlobalFilter of resolvedGlobalFilters) {\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,\n ) => {\n // Horizontally filter rows through each column\n for (const columnId of filterableIds) {\n if (row.columnFilters[columnId] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl as any, table)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,uBAId,WACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,MAAI,CAAC,MAAM,aAAa,UAAW,OAAM,aAAa,YAAY;AAClE,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAChC;;GACD,UAAU,wBAAwB,MAAM;GACxC,qBAAqB,yBAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,0CAAgB,MAAM,MAAM,+FAAe,KAAK;CACtD,MAAM,yCAAe,MAAM,MAAM,8FAAc,KAAK;AAEpD,KAAI,CAAC,SAAS,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAAe;AACtE,OAAK,MAAM,OAAO,SAAS,UAExB;AACD,OAAI,gBAAgB,EAAE;AACtB,OAAI,oBAAoB,EAAE;;AAE5B,SAAO;;CAGT,MAAM,wBACJ,EAAE;CACJ,MAAM,wBACJ,EAAE;AAEJ,qEAAe,SAAS,iBAAiB;;EACvC,MAAM,SAAS,gBAAgB,OAAO,aAAa,GAAG;AAEtD,MAAI,CAAC,OACH;EAGF,MAAM,WAAW,mBAAmB,OAAO;AAE3C,wBAAsB,KAAK;GACzB,IAAI,aAAa;GACjB;GACA,yCACE,SAAS,iHAAqB,aAAa,MAAM,KAAI,aAAa;GACrE,CAAC;GACF;CAEF,MAAM,+EAAgB,cAAe,KAAK,MAAM,EAAE,GAAG,KAAI,EAAE;CAE3D,MAAM,iBAAiB,wBAAwB,MAAM;CAErD,MAAM,4BAA4B,MAC/B,mBAAmB,CACnB,QAAQ,WAAW,0BAA0B,OAAO,CAAC;AAExD,KAAI,gBAAgB,kBAAkB,0BAA0B,QAAQ;AACtE,gBAAc,KAAK,aAAa;AAEhC,4BAA0B,SAAS,WAAW;;AAC5C,yBAAsB,KAAK;IACzB,IAAI,OAAO;IACX,UAAU;IACV,yCACE,eAAe,uHAAqB,aAAa,KAAI;IACxD,CAAC;IACF;;AAIJ,MAAK,MAAM,OAAO,SAAS,UAExB;AACD,MAAI,gBAAgB,EAAE;AAEtB,MAAI,sBAAsB,OACxB,MAAK,MAAM,uBAAuB,uBAAuB;GACvD,MAAM,KAAK,oBAAoB;AAG/B,OAAI,cAAc,MAAM,oBAAoB,SAC1C,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,KAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;KAEpC;;AAIL,MAAI,sBAAsB,QAAQ;AAChC,QAAK,MAAM,uBAAuB,uBAAuB;IACvD,MAAM,KAAK,oBAAoB;AAE/B,QACE,oBAAoB,SAClB,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,MAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;MAEpC,EACD;AACA,SAAI,cAAc,aAAa;AAC/B;;;AAIJ,OAAI,IAAI,cAAc,eAAe,KACnC,KAAI,cAAc,aAAa;;;CAKrC,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,YAAY,cACrB,KAAI,IAAI,cAAc,cAAc,MAClC,QAAO;AAGX,SAAO;;AAIT,QAAO,WAAW,SAAS,MAAM,gBAAuB,MAAM"}
@@ -0,0 +1,76 @@
1
+ const require_constructRow = require('../../core/rows/constructRow.cjs');
2
+
3
+ //#region src/features/column-filtering/filterRowsUtils.ts
4
+ function filterRows(rows, filterRowImpl, table) {
5
+ if (table.options.filterFromLeafRows) return filterRowModelFromLeafs(rows, filterRowImpl, table);
6
+ return filterRowModelFromRoot(rows, filterRowImpl, table);
7
+ }
8
+ function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
9
+ const newFilteredFlatRows = [];
10
+ const newFilteredRowsById = {};
11
+ const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
12
+ const recurseFilterRows = (rowsToFilter, depth = 0) => {
13
+ const filteredRows = [];
14
+ for (let row of rowsToFilter) {
15
+ const newRow = require_constructRow.constructRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
16
+ newRow.columnFilters = row.columnFilters;
17
+ if (row.subRows.length && depth < maxDepth) {
18
+ newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
19
+ row = newRow;
20
+ if (filterRow(row) && !newRow.subRows.length) {
21
+ filteredRows.push(row);
22
+ newFilteredRowsById[row.id] = row;
23
+ newFilteredFlatRows.push(row);
24
+ continue;
25
+ }
26
+ if (filterRow(row) || newRow.subRows.length) {
27
+ filteredRows.push(row);
28
+ newFilteredRowsById[row.id] = row;
29
+ newFilteredFlatRows.push(row);
30
+ continue;
31
+ }
32
+ } else {
33
+ row = newRow;
34
+ if (filterRow(row)) {
35
+ filteredRows.push(row);
36
+ newFilteredRowsById[row.id] = row;
37
+ newFilteredFlatRows.push(row);
38
+ }
39
+ }
40
+ }
41
+ return filteredRows;
42
+ };
43
+ return {
44
+ rows: recurseFilterRows(rowsToFilter),
45
+ flatRows: newFilteredFlatRows,
46
+ rowsById: newFilteredRowsById
47
+ };
48
+ }
49
+ function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
50
+ const newFilteredFlatRows = [];
51
+ const newFilteredRowsById = {};
52
+ const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
53
+ const recurseFilterRows = (rowsToFilter, depth = 0) => {
54
+ const filteredRows = [];
55
+ for (let row of rowsToFilter) if (filterRow(row)) {
56
+ if (row.subRows.length && depth < maxDepth) {
57
+ const newRow = require_constructRow.constructRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
58
+ newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
59
+ row = newRow;
60
+ }
61
+ filteredRows.push(row);
62
+ newFilteredFlatRows.push(row);
63
+ newFilteredRowsById[row.id] = row;
64
+ }
65
+ return filteredRows;
66
+ };
67
+ return {
68
+ rows: recurseFilterRows(rowsToFilter),
69
+ flatRows: newFilteredFlatRows,
70
+ rowsById: newFilteredRowsById
71
+ };
72
+ }
73
+
74
+ //#endregion
75
+ exports.filterRows = filterRows;
76
+ //# sourceMappingURL=filterRowsUtils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterRowsUtils.cjs","names":["constructRow"],"sources":["../../../src/features/column-filtering/filterRowsUtils.ts"],"sourcesContent":["import { constructRow } from '../../core/rows/constructRow'\nimport type { Row_ColumnFiltering } from './columnFilteringFeature.types'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function filterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rows: Array<Row<TFeatures, TData>>,\n filterRowImpl: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (\n row: Row<TFeatures, TData>,\n ) => Array<Row<TFeatures, TData>> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById: Record<string, Row<TFeatures, TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (\n rowsToFilter: Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >,\n depth = 0,\n ) => {\n const filteredRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnFiltering<TFeatures, TData>> = []\n\n // Filter from children up first\n for (let row of rowsToFilter) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n ) as Row<TFeatures, TData> &\n Partial<Row_ColumnFiltering<TFeatures, TData>>\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById: Record<string, Row<TFeatures, TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (\n rowsToFilter: Array<Row<TFeatures, TData>>,\n depth = 0,\n ) => {\n // Filter from parents downward first\n\n const filteredRows: Array<Row<TFeatures, TData>> = []\n\n // Apply the filter to any subRows\n for (let row of rowsToFilter) {\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows.length && depth < maxDepth) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n filteredRows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"mappings":";;;AAQA,SAAgB,WAId,MACA,eACA,OACA;AACA,KAAI,MAAM,QAAQ,mBAChB,QAAO,wBAAwB,MAAM,eAAe,MAAM;AAG5D,QAAO,uBAAuB,MAAM,eAAe,MAAM;;AAG3D,SAAS,wBAIP,cACA,WAGA,OAC4B;CAC5B,MAAM,sBAAoD,EAAE;CAC5D,MAAM,sBAA6D,EAAE;CACrE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAExD,MAAM,qBACJ,cAGA,QAAQ,MACL;EACH,MAAM,eAC6C,EAAE;AAGrD,OAAK,IAAI,OAAO,cAAc;GAC5B,MAAM,SAASA,kCACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,SACL;AAED,UAAO,gBAAgB,IAAI;AAE3B,OAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;AAC1C,WAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,EAAE;AAC1D,UAAM;AAEN,QAAI,UAAU,IAAI,IAAI,CAAC,OAAO,QAAQ,QAAQ;AAC5C,kBAAa,KAAK,IAAI;AACtB,yBAAoB,IAAI,MAAM;AAC9B,yBAAoB,KAAK,IAAI;AAC7B;;AAGF,QAAI,UAAU,IAAI,IAAI,OAAO,QAAQ,QAAQ;AAC3C,kBAAa,KAAK,IAAI;AACtB,yBAAoB,IAAI,MAAM;AAC9B,yBAAoB,KAAK,IAAI;AAC7B;;UAEG;AACL,UAAM;AACN,QAAI,UAAU,IAAI,EAAE;AAClB,kBAAa,KAAK,IAAI;AACtB,yBAAoB,IAAI,MAAM;AAC9B,yBAAoB,KAAK,IAAI;;;;AAKnC,SAAO;;AAGT,QAAO;EACL,MAAM,kBAAkB,aAAa;EACrC,UAAU;EACV,UAAU;EACX;;AAGH,SAAS,uBAIP,cACA,WACA,OAC4B;CAC5B,MAAM,sBAAoD,EAAE;CAC5D,MAAM,sBAA6D,EAAE;CACrE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAGxD,MAAM,qBACJ,cACA,QAAQ,MACL;EAGH,MAAM,eAA6C,EAAE;AAGrD,OAAK,IAAI,OAAO,aAGd,KAFa,UAAU,IAEf,EAAE;AACR,OAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;IAC1C,MAAM,SAASA,kCACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,SACL;AACD,WAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,EAAE;AAC1D,UAAM;;AAGR,gBAAa,KAAK,IAAI;AACtB,uBAAoB,KAAK,IAAI;AAC7B,uBAAoB,IAAI,MAAM;;AAIlC,SAAO;;AAGT,QAAO;EACL,MAAM,kBAAkB,aAAa;EACrC,UAAU;EACV,UAAU;EACX"}