@tanstack/table-core 9.0.0-alpha.21 → 9.0.0-alpha.27

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 (708) 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 +64 -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 +63 -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/{esm/core → core}/coreFeatures.js +12 -10
  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 +61 -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 +60 -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 +65 -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 +60 -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 +69 -0
  115. package/dist/core/table/constructTable.cjs.map +1 -0
  116. package/dist/core/table/constructTable.d.cts +14 -0
  117. package/dist/core/table/constructTable.d.ts +14 -0
  118. package/dist/core/table/constructTable.js +67 -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 +113 -0
  127. package/dist/core/table/coreTablesFeature.types.d.ts +113 -0
  128. package/dist/core/table/coreTablesFeature.utils.cjs +23 -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 +21 -0
  133. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  134. package/dist/features/column-faceting/columnFacetingFeature.cjs +59 -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 +58 -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 +37 -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 +37 -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 +94 -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 +94 -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 +110 -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 +110 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  210. package/dist/features/column-ordering/columnOrderingFeature.cjs +55 -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 +54 -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 +62 -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 +55 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  224. package/dist/features/column-pinning/columnPinningFeature.cjs +181 -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 +180 -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 +194 -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 +164 -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 +156 -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 +149 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  252. package/dist/features/column-sizing/columnSizingFeature.cjs +69 -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 +68 -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 +84 -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 +83 -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 +45 -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 +44 -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 +111 -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 +96 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  314. package/dist/features/row-pagination/createPaginatedRowModel.cjs +53 -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 +53 -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 +114 -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 +98 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  334. package/dist/features/row-pinning/rowPinningFeature.cjs +65 -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 +64 -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 +98 -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 +88 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  348. package/dist/features/row-selection/rowSelectionFeature.cjs +70 -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 +69 -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 +224 -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 +198 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  362. package/dist/features/row-sorting/createSortedRowModel.cjs +81 -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 +81 -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/{esm/features → features}/stockFeatures.js +20 -18
  387. package/dist/features/stockFeatures.js.map +1 -0
  388. package/dist/features/table-reactivity/tableReactivityFeature.cjs +24 -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 +23 -0
  393. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
  394. package/dist/fns/aggregationFns.cjs +125 -0
  395. package/dist/fns/aggregationFns.cjs.map +1 -0
  396. package/dist/fns/aggregationFns.d.cts +54 -0
  397. package/dist/fns/aggregationFns.d.ts +54 -0
  398. package/dist/fns/aggregationFns.js +116 -0
  399. package/dist/fns/aggregationFns.js.map +1 -0
  400. package/dist/fns/filterFns.cjs +179 -0
  401. package/dist/fns/filterFns.cjs.map +1 -0
  402. package/dist/fns/filterFns.d.cts +81 -0
  403. package/dist/fns/filterFns.d.ts +81 -0
  404. package/dist/fns/filterFns.js +163 -0
  405. package/dist/fns/filterFns.js.map +1 -0
  406. package/dist/fns/sortFns.cjs +73 -0
  407. package/dist/fns/sortFns.cjs.map +1 -0
  408. package/dist/fns/sortFns.d.cts +22 -0
  409. package/dist/fns/sortFns.d.ts +22 -0
  410. package/dist/fns/sortFns.js +65 -0
  411. package/dist/fns/sortFns.js.map +1 -0
  412. package/dist/helpers/columnHelper.cjs +36 -0
  413. package/dist/helpers/columnHelper.cjs.map +1 -0
  414. package/dist/helpers/columnHelper.d.cts +66 -0
  415. package/dist/helpers/columnHelper.d.ts +66 -0
  416. package/dist/helpers/columnHelper.js +35 -0
  417. package/dist/helpers/columnHelper.js.map +1 -0
  418. package/dist/helpers/tableFeatures.cjs +20 -0
  419. package/dist/helpers/tableFeatures.cjs.map +1 -0
  420. package/dist/helpers/tableFeatures.d.cts +18 -0
  421. package/dist/{esm/helpers → helpers}/tableFeatures.d.ts +7 -2
  422. package/dist/helpers/tableFeatures.js +19 -0
  423. package/dist/helpers/tableFeatures.js.map +1 -0
  424. package/dist/helpers/tableHelper.cjs +21 -0
  425. package/dist/helpers/tableHelper.cjs.map +1 -0
  426. package/dist/helpers/tableHelper.d.cts +30 -0
  427. package/dist/helpers/tableHelper.d.ts +30 -0
  428. package/dist/helpers/tableHelper.js +21 -0
  429. package/dist/helpers/tableHelper.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 +420 -0
  437. package/dist/index.d.cts +100 -0
  438. package/dist/index.d.ts +100 -0
  439. package/dist/{esm/index.js → index.js} +42 -395
  440. package/dist/types/Cell.d.cts +16 -0
  441. package/dist/types/Cell.d.ts +16 -0
  442. package/dist/types/Column.d.cts +29 -0
  443. package/dist/types/Column.d.ts +29 -0
  444. package/dist/types/ColumnDef.d.cts +66 -0
  445. package/dist/types/ColumnDef.d.ts +66 -0
  446. package/dist/types/Header.d.cts +17 -0
  447. package/dist/types/Header.d.ts +17 -0
  448. package/dist/types/HeaderGroup.d.cts +15 -0
  449. package/dist/types/HeaderGroup.d.ts +15 -0
  450. package/dist/types/Row.d.cts +22 -0
  451. package/dist/types/Row.d.ts +22 -0
  452. package/dist/types/RowModel.d.cts +26 -0
  453. package/dist/types/RowModel.d.ts +26 -0
  454. package/dist/types/RowModelFns.d.cts +18 -0
  455. package/dist/types/RowModelFns.d.ts +18 -0
  456. package/dist/types/Table.d.cts +57 -0
  457. package/dist/types/Table.d.ts +57 -0
  458. package/dist/types/TableFeatures.d.cts +77 -0
  459. package/dist/types/TableFeatures.d.ts +77 -0
  460. package/dist/types/TableOptions.d.cts +39 -0
  461. package/dist/types/TableOptions.d.ts +39 -0
  462. package/dist/types/TableState.d.cts +27 -0
  463. package/dist/types/TableState.d.ts +27 -0
  464. package/dist/types/type-utils.d.cts +23 -0
  465. package/dist/types/type-utils.d.ts +23 -0
  466. package/dist/utils.cjs +210 -0
  467. package/dist/utils.cjs.map +1 -0
  468. package/dist/utils.d.cts +90 -0
  469. package/dist/utils.d.ts +90 -0
  470. package/dist/utils.js +196 -0
  471. package/dist/utils.js.map +1 -0
  472. package/package.json +8 -8
  473. package/src/features/column-pinning/columnPinningFeature.ts +3 -0
  474. package/src/features/column-visibility/columnVisibilityFeature.ts +2 -0
  475. package/src/process-env.d.ts +6 -0
  476. package/dist/esm/core/cells/constructCell.d.ts +0 -7
  477. package/dist/esm/core/cells/constructCell.js +0 -21
  478. package/dist/esm/core/cells/constructCell.js.map +0 -1
  479. package/dist/esm/core/cells/coreCellsFeature.d.ts +0 -10
  480. package/dist/esm/core/cells/coreCellsFeature.js +0 -26
  481. package/dist/esm/core/cells/coreCellsFeature.js.map +0 -1
  482. package/dist/esm/core/cells/coreCellsFeature.types.d.ts +0 -52
  483. package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +0 -13
  484. package/dist/esm/core/cells/coreCellsFeature.utils.js +0 -23
  485. package/dist/esm/core/cells/coreCellsFeature.utils.js.map +0 -1
  486. package/dist/esm/core/columns/constructColumn.d.ts +0 -6
  487. package/dist/esm/core/columns/constructColumn.js +0 -60
  488. package/dist/esm/core/columns/constructColumn.js.map +0 -1
  489. package/dist/esm/core/columns/coreColumnsFeature.d.ts +0 -10
  490. package/dist/esm/core/columns/coreColumnsFeature.js +0 -61
  491. package/dist/esm/core/columns/coreColumnsFeature.js.map +0 -1
  492. package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +0 -84
  493. package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +0 -13
  494. package/dist/esm/core/columns/coreColumnsFeature.utils.js +0 -91
  495. package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +0 -1
  496. package/dist/esm/core/coreFeatures.d.ts +0 -15
  497. package/dist/esm/core/coreFeatures.js.map +0 -1
  498. package/dist/esm/core/headers/buildHeaderGroups.d.ts +0 -6
  499. package/dist/esm/core/headers/buildHeaderGroups.js +0 -99
  500. package/dist/esm/core/headers/buildHeaderGroups.js.map +0 -1
  501. package/dist/esm/core/headers/constructHeader.d.ts +0 -12
  502. package/dist/esm/core/headers/constructHeader.js +0 -28
  503. package/dist/esm/core/headers/constructHeader.js.map +0 -1
  504. package/dist/esm/core/headers/coreHeadersFeature.d.ts +0 -10
  505. package/dist/esm/core/headers/coreHeadersFeature.js +0 -68
  506. package/dist/esm/core/headers/coreHeadersFeature.js.map +0 -1
  507. package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +0 -99
  508. package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +0 -15
  509. package/dist/esm/core/headers/coreHeadersFeature.utils.js +0 -85
  510. package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +0 -1
  511. package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +0 -10
  512. package/dist/esm/core/row-models/coreRowModelsFeature.js +0 -52
  513. package/dist/esm/core/row-models/coreRowModelsFeature.js.map +0 -1
  514. package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +0 -39
  515. package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +0 -16
  516. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +0 -85
  517. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  518. package/dist/esm/core/row-models/createCoreRowModel.d.ts +0 -5
  519. package/dist/esm/core/row-models/createCoreRowModel.js +0 -54
  520. package/dist/esm/core/row-models/createCoreRowModel.js.map +0 -1
  521. package/dist/esm/core/rows/constructRow.d.ts +0 -5
  522. package/dist/esm/core/rows/constructRow.js +0 -29
  523. package/dist/esm/core/rows/constructRow.js.map +0 -1
  524. package/dist/esm/core/rows/coreRowsFeature.d.ts +0 -10
  525. package/dist/esm/core/rows/coreRowsFeature.js +0 -52
  526. package/dist/esm/core/rows/coreRowsFeature.js.map +0 -1
  527. package/dist/esm/core/rows/coreRowsFeature.types.d.ts +0 -91
  528. package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +0 -15
  529. package/dist/esm/core/rows/coreRowsFeature.utils.js +0 -94
  530. package/dist/esm/core/rows/coreRowsFeature.utils.js.map +0 -1
  531. package/dist/esm/core/table/constructTable.d.ts +0 -9
  532. package/dist/esm/core/table/constructTable.js +0 -68
  533. package/dist/esm/core/table/constructTable.js.map +0 -1
  534. package/dist/esm/core/table/coreTablesFeature.d.ts +0 -10
  535. package/dist/esm/core/table/coreTablesFeature.js +0 -22
  536. package/dist/esm/core/table/coreTablesFeature.js.map +0 -1
  537. package/dist/esm/core/table/coreTablesFeature.types.d.ts +0 -109
  538. package/dist/esm/core/table/coreTablesFeature.utils.d.ts +0 -7
  539. package/dist/esm/core/table/coreTablesFeature.utils.js +0 -24
  540. package/dist/esm/core/table/coreTablesFeature.utils.js.map +0 -1
  541. package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +0 -10
  542. package/dist/esm/features/column-faceting/columnFacetingFeature.js +0 -80
  543. package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +0 -1
  544. package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +0 -68
  545. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +0 -11
  546. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +0 -33
  547. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  548. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +0 -4
  549. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +0 -41
  550. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  551. package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +0 -5
  552. package/dist/esm/features/column-faceting/createFacetedRowModel.js +0 -47
  553. package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +0 -1
  554. package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +0 -4
  555. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +0 -46
  556. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  557. package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +0 -11
  558. package/dist/esm/features/column-filtering/columnFilteringFeature.js +0 -69
  559. package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +0 -1
  560. package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +0 -145
  561. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +0 -16
  562. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +0 -118
  563. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  564. package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +0 -6
  565. package/dist/esm/features/column-filtering/createFilteredRowModel.js +0 -110
  566. package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +0 -1
  567. package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +0 -6
  568. package/dist/esm/features/column-filtering/filterRowsUtils.js +0 -95
  569. package/dist/esm/features/column-filtering/filterRowsUtils.js.map +0 -1
  570. package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +0 -10
  571. package/dist/esm/features/column-grouping/columnGroupingFeature.js +0 -91
  572. package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +0 -1
  573. package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +0 -153
  574. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +0 -22
  575. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +0 -99
  576. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  577. package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +0 -6
  578. package/dist/esm/features/column-grouping/createGroupedRowModel.js +0 -144
  579. package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +0 -1
  580. package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +0 -10
  581. package/dist/esm/features/column-ordering/columnOrderingFeature.js +0 -60
  582. package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +0 -1
  583. package/dist/esm/features/column-ordering/columnOrderingFeature.types.d.ts +0 -40
  584. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +0 -14
  585. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +0 -72
  586. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  587. package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +0 -10
  588. package/dist/esm/features/column-pinning/columnPinningFeature.js +0 -260
  589. package/dist/esm/features/column-pinning/columnPinningFeature.js.map +0 -1
  590. package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +0 -157
  591. package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +0 -39
  592. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +0 -325
  593. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  594. package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +0 -11
  595. package/dist/esm/features/column-resizing/columnResizingFeature.js +0 -52
  596. package/dist/esm/features/column-resizing/columnResizingFeature.js.map +0 -1
  597. package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +0 -68
  598. package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +0 -14
  599. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +0 -197
  600. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  601. package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +0 -11
  602. package/dist/esm/features/column-sizing/columnSizingFeature.js +0 -95
  603. package/dist/esm/features/column-sizing/columnSizingFeature.js.map +0 -1
  604. package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +0 -81
  605. package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +0 -25
  606. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +0 -128
  607. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  608. package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +0 -10
  609. package/dist/esm/features/column-visibility/columnVisibilityFeature.js +0 -100
  610. package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  611. package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +0 -84
  612. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +0 -22
  613. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +0 -105
  614. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  615. package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +0 -11
  616. package/dist/esm/features/global-filtering/globalFilteringFeature.js +0 -51
  617. package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +0 -1
  618. package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +0 -59
  619. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +0 -10
  620. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +0 -30
  621. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  622. package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +0 -6
  623. package/dist/esm/features/row-expanding/createExpandedRowModel.js +0 -49
  624. package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +0 -1
  625. package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +0 -10
  626. package/dist/esm/features/row-expanding/rowExpandingFeature.js +0 -74
  627. package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +0 -1
  628. package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +0 -116
  629. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +0 -20
  630. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +0 -125
  631. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  632. package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +0 -5
  633. package/dist/esm/features/row-pagination/createPaginatedRowModel.js +0 -58
  634. package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  635. package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +0 -10
  636. package/dist/esm/features/row-pagination/rowPaginationFeature.js +0 -78
  637. package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +0 -1
  638. package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +0 -119
  639. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +0 -21
  640. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +0 -126
  641. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  642. package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +0 -10
  643. package/dist/esm/features/row-pinning/rowPinningFeature.js +0 -80
  644. package/dist/esm/features/row-pinning/rowPinningFeature.js.map +0 -1
  645. package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +0 -72
  646. package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +0 -16
  647. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +0 -115
  648. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  649. package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +0 -10
  650. package/dist/esm/features/row-selection/rowSelectionFeature.js +0 -112
  651. package/dist/esm/features/row-selection/rowSelectionFeature.js.map +0 -1
  652. package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +0 -123
  653. package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +0 -34
  654. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +0 -290
  655. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  656. package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +0 -6
  657. package/dist/esm/features/row-sorting/createSortedRowModel.js +0 -94
  658. package/dist/esm/features/row-sorting/createSortedRowModel.js.map +0 -1
  659. package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +0 -10
  660. package/dist/esm/features/row-sorting/rowSortingFeature.js +0 -82
  661. package/dist/esm/features/row-sorting/rowSortingFeature.js.map +0 -1
  662. package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +0 -178
  663. package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +0 -20
  664. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +0 -181
  665. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  666. package/dist/esm/features/stockFeatures.d.ts +0 -31
  667. package/dist/esm/features/stockFeatures.js.map +0 -1
  668. package/dist/esm/features/table-reactivity/tableReactivityFeature.d.ts +0 -9
  669. package/dist/esm/features/table-reactivity/tableReactivityFeature.js +0 -30
  670. package/dist/esm/features/table-reactivity/tableReactivityFeature.js.map +0 -1
  671. package/dist/esm/fns/aggregationFns.d.ts +0 -49
  672. package/dist/esm/fns/aggregationFns.js +0 -110
  673. package/dist/esm/fns/aggregationFns.js.map +0 -1
  674. package/dist/esm/fns/filterFns.d.ts +0 -76
  675. package/dist/esm/fns/filterFns.js +0 -134
  676. package/dist/esm/fns/filterFns.js.map +0 -1
  677. package/dist/esm/fns/sortFns.d.ts +0 -17
  678. package/dist/esm/fns/sortFns.js +0 -97
  679. package/dist/esm/fns/sortFns.js.map +0 -1
  680. package/dist/esm/helpers/columnHelper.d.ts +0 -61
  681. package/dist/esm/helpers/columnHelper.js +0 -20
  682. package/dist/esm/helpers/columnHelper.js.map +0 -1
  683. package/dist/esm/helpers/tableFeatures.js +0 -7
  684. package/dist/esm/helpers/tableFeatures.js.map +0 -1
  685. package/dist/esm/helpers/tableHelper.d.ts +0 -25
  686. package/dist/esm/helpers/tableHelper.js +0 -13
  687. package/dist/esm/helpers/tableHelper.js.map +0 -1
  688. package/dist/esm/helpers/tableOptions.d.ts +0 -23
  689. package/dist/esm/helpers/tableOptions.js +0 -7
  690. package/dist/esm/helpers/tableOptions.js.map +0 -1
  691. package/dist/esm/index.d.ts +0 -111
  692. package/dist/esm/index.js.map +0 -1
  693. package/dist/esm/types/Cell.d.ts +0 -13
  694. package/dist/esm/types/Column.d.ts +0 -26
  695. package/dist/esm/types/ColumnDef.d.ts +0 -64
  696. package/dist/esm/types/Header.d.ts +0 -14
  697. package/dist/esm/types/HeaderGroup.d.ts +0 -12
  698. package/dist/esm/types/Row.d.ts +0 -19
  699. package/dist/esm/types/RowModel.d.ts +0 -23
  700. package/dist/esm/types/RowModelFns.d.ts +0 -15
  701. package/dist/esm/types/Table.d.ts +0 -53
  702. package/dist/esm/types/TableFeatures.d.ts +0 -77
  703. package/dist/esm/types/TableOptions.d.ts +0 -39
  704. package/dist/esm/types/TableState.d.ts +0 -23
  705. package/dist/esm/types/type-utils.d.ts +0 -22
  706. package/dist/esm/utils.d.ts +0 -72
  707. package/dist/esm/utils.js +0 -231
  708. package/dist/esm/utils.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ const require_utils = require('../../utils.cjs');
2
+ const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
3
+ const require_rowSortingFeature_utils = require('./rowSortingFeature.utils.cjs');
4
+
5
+ //#region src/features/row-sorting/createSortedRowModel.ts
6
+ function createSortedRowModel(sortFns) {
7
+ return (_table) => {
8
+ const table = _table;
9
+ if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns;
10
+ return require_utils.tableMemo({
11
+ feature: "rowSortingFeature",
12
+ table,
13
+ fnName: "table.getSortedRowModel",
14
+ memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],
15
+ fn: () => _createSortedRowModel(table),
16
+ onAfterUpdate: () => require_rowPaginationFeature_utils.table_autoResetPageIndex(table)
17
+ });
18
+ };
19
+ }
20
+ function _createSortedRowModel(table) {
21
+ const preSortedRowModel = table.getPreSortedRowModel();
22
+ const sorting = table.store.state.sorting;
23
+ if (!preSortedRowModel.rows.length || !(sorting === null || sorting === void 0 ? void 0 : sorting.length)) return preSortedRowModel;
24
+ const sortedFlatRows = [];
25
+ const availableSorting = sorting.filter((sort) => require_rowSortingFeature_utils.column_getCanSort(table.getColumn(sort.id)));
26
+ const columnInfoById = {};
27
+ availableSorting.forEach((sortEntry) => {
28
+ const column = table.getColumn(sortEntry.id);
29
+ if (!column) return;
30
+ columnInfoById[sortEntry.id] = {
31
+ sortUndefined: column.columnDef.sortUndefined,
32
+ invertSorting: column.columnDef.invertSorting,
33
+ sortFn: require_rowSortingFeature_utils.column_getSortFn(column)
34
+ };
35
+ });
36
+ const sortData = (rows) => {
37
+ const sortedData = rows.map((row) => {
38
+ return Object.assign(Object.create(Object.getPrototypeOf(row)), row);
39
+ });
40
+ sortedData.sort((rowA, rowB) => {
41
+ for (const sortEntry of availableSorting) {
42
+ const columnInfo = columnInfoById[sortEntry.id];
43
+ const sortUndefined = columnInfo.sortUndefined;
44
+ const isDesc = sortEntry.desc;
45
+ let sortInt = 0;
46
+ if (sortUndefined) {
47
+ const aValue = rowA.getValue(sortEntry.id);
48
+ const bValue = rowB.getValue(sortEntry.id);
49
+ const aUndefined = aValue === void 0;
50
+ const bUndefined = bValue === void 0;
51
+ if (aUndefined || bUndefined) {
52
+ if (sortUndefined === "first") return aUndefined ? -1 : 1;
53
+ if (sortUndefined === "last") return aUndefined ? 1 : -1;
54
+ sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
55
+ }
56
+ }
57
+ if (sortInt === 0) sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id);
58
+ if (sortInt !== 0) {
59
+ if (isDesc) sortInt *= -1;
60
+ if (columnInfo.invertSorting) sortInt *= -1;
61
+ return sortInt;
62
+ }
63
+ }
64
+ return rowA.index - rowB.index;
65
+ });
66
+ sortedData.forEach((row) => {
67
+ sortedFlatRows.push(row);
68
+ if (row.subRows.length) row.subRows = sortData(row.subRows);
69
+ });
70
+ return sortedData;
71
+ };
72
+ return {
73
+ rows: sortData(preSortedRowModel.rows),
74
+ flatRows: sortedFlatRows,
75
+ rowsById: preSortedRowModel.rowsById
76
+ };
77
+ }
78
+
79
+ //#endregion
80
+ exports.createSortedRowModel = createSortedRowModel;
81
+ //# sourceMappingURL=createSortedRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSortedRowModel.cjs","names":["tableMemo","table_autoResetPageIndex","column_getCanSort","column_getSortFn"],"sources":["../../../src/features/row-sorting/createSortedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { column_getCanSort, column_getSortFn } from './rowSortingFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\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 { SortFn, SortFns } from './rowSortingFeature.types'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns\n return tableMemo({\n feature: 'rowSortingFeature',\n table,\n fnName: 'table.getSortedRowModel',\n memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],\n fn: () => _createSortedRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const preSortedRowModel = table.getPreSortedRowModel()\n const sorting = table.store.state.sorting\n\n if (!preSortedRowModel.rows.length || !sorting?.length) {\n return preSortedRowModel\n }\n\n const sortedFlatRows: Array<Row<TFeatures, TData>> = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sorting.filter((sort) =>\n column_getCanSort(\n table.getColumn(sort.id) as Column_Internal<TFeatures, TData>,\n ),\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortFn: SortFn<TFeatures, TData>\n }\n > = {}\n\n availableSorting.forEach((sortEntry) => {\n const column = table.getColumn(sortEntry.id) as\n | Column_Internal<TFeatures, TData>\n | undefined\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortFn: column_getSortFn(column),\n }\n })\n\n const sortData = (rows: Array<Row<TFeatures, TData>>) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n // Preserve prototype chain so methods like getValue() remain accessible\n const sortedData = rows.map((row) => {\n const cloned = Object.create(Object.getPrototypeOf(row))\n return Object.assign(cloned, row)\n })\n\n sortedData.sort((rowA, rowB) => {\n for (const sortEntry of availableSorting) {\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry.desc\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach((row) => {\n sortedFlatRows.push(row)\n if (row.subRows.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(preSortedRowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: preSortedRowModel.rowsById,\n }\n}\n"],"mappings":";;;;;AAWA,SAAgB,qBAId,SACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,MAAI,CAAC,MAAM,aAAa,QAAS,OAAM,aAAa,UAAU;AAC9D,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB,CAAC,MAAM,MAAM,MAAM,SAAS,MAAM,sBAAsB,CAAC;GACzE,UAAU,sBAAsB,MAAM;GACtC,qBAAqBC,4DAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,sBAGP,OAAqE;CACrE,MAAM,oBAAoB,MAAM,sBAAsB;CACtD,MAAM,UAAU,MAAM,MAAM,MAAM;AAElC,KAAI,CAAC,kBAAkB,KAAK,UAAU,oDAAC,QAAS,QAC9C,QAAO;CAGT,MAAM,iBAA+C,EAAE;CAGvD,MAAM,mBAAmB,QAAQ,QAAQ,SACvCC,kDACE,MAAM,UAAU,KAAK,GAAG,CACzB,CACF;CAED,MAAM,iBAOF,EAAE;AAEN,kBAAiB,SAAS,cAAc;EACtC,MAAM,SAAS,MAAM,UAAU,UAAU,GAAG;AAG5C,MAAI,CAAC,OAAQ;AAEb,iBAAe,UAAU,MAAM;GAC7B,eAAe,OAAO,UAAU;GAChC,eAAe,OAAO,UAAU;GAChC,QAAQC,iDAAiB,OAAO;GACjC;GACD;CAEF,MAAM,YAAY,SAAuC;EAIvD,MAAM,aAAa,KAAK,KAAK,QAAQ;AAEnC,UAAO,OAAO,OADC,OAAO,OAAO,OAAO,eAAe,IAAI,CAAC,EAC3B,IAAI;IACjC;AAEF,aAAW,MAAM,MAAM,SAAS;AAC9B,QAAK,MAAM,aAAa,kBAAkB;IACxC,MAAM,aAAa,eAAe,UAAU;IAC5C,MAAM,gBAAgB,WAAW;IACjC,MAAM,SAAS,UAAU;IAEzB,IAAI,UAAU;AAGd,QAAI,eAAe;KACjB,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAC1C,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAE1C,MAAM,aAAa,WAAW;KAC9B,MAAM,aAAa,WAAW;AAE9B,SAAI,cAAc,YAAY;AAC5B,UAAI,kBAAkB,QAAS,QAAO,aAAa,KAAK;AACxD,UAAI,kBAAkB,OAAQ,QAAO,aAAa,IAAI;AACtD,gBACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;;;AAIb,QAAI,YAAY,EACd,WAAU,WAAW,OAAO,MAAM,MAAM,UAAU,GAAG;AAIvD,QAAI,YAAY,GAAG;AACjB,SAAI,OACF,YAAW;AAGb,SAAI,WAAW,cACb,YAAW;AAGb,YAAO;;;AAGX,UAAO,KAAK,QAAQ,KAAK;IACzB;AAGF,aAAW,SAAS,QAAQ;AAC1B,kBAAe,KAAK,IAAI;AACxB,OAAI,IAAI,QAAQ,OACd,KAAI,UAAU,SAAS,IAAI,QAAQ;IAErC;AAEF,SAAO;;AAGT,QAAO;EACL,MAAM,SAAS,kBAAkB,KAAK;EACtC,UAAU;EACV,UAAU,kBAAkB;EAC7B"}
@@ -0,0 +1,11 @@
1
+ import { RowData } from "../../types/type-utils.cjs";
2
+ import { SortFn, SortFns } from "./rowSortingFeature.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/row-sorting/createSortedRowModel.d.ts
8
+ declare function createSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
9
+ //#endregion
10
+ export { createSortedRowModel };
11
+ //# sourceMappingURL=createSortedRowModel.d.cts.map
@@ -0,0 +1,11 @@
1
+ import { RowData } from "../../types/type-utils.js";
2
+ import { SortFn, SortFns } from "./rowSortingFeature.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/row-sorting/createSortedRowModel.d.ts
8
+ declare function createSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
9
+ //#endregion
10
+ export { createSortedRowModel };
11
+ //# sourceMappingURL=createSortedRowModel.d.ts.map
@@ -0,0 +1,81 @@
1
+ import { tableMemo } from "../../utils.js";
2
+ import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
3
+ import { column_getCanSort, column_getSortFn } from "./rowSortingFeature.utils.js";
4
+
5
+ //#region src/features/row-sorting/createSortedRowModel.ts
6
+ function createSortedRowModel(sortFns) {
7
+ return (_table) => {
8
+ const table = _table;
9
+ if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns;
10
+ return tableMemo({
11
+ feature: "rowSortingFeature",
12
+ table,
13
+ fnName: "table.getSortedRowModel",
14
+ memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],
15
+ fn: () => _createSortedRowModel(table),
16
+ onAfterUpdate: () => table_autoResetPageIndex(table)
17
+ });
18
+ };
19
+ }
20
+ function _createSortedRowModel(table) {
21
+ const preSortedRowModel = table.getPreSortedRowModel();
22
+ const sorting = table.store.state.sorting;
23
+ if (!preSortedRowModel.rows.length || !(sorting === null || sorting === void 0 ? void 0 : sorting.length)) return preSortedRowModel;
24
+ const sortedFlatRows = [];
25
+ const availableSorting = sorting.filter((sort) => column_getCanSort(table.getColumn(sort.id)));
26
+ const columnInfoById = {};
27
+ availableSorting.forEach((sortEntry) => {
28
+ const column = table.getColumn(sortEntry.id);
29
+ if (!column) return;
30
+ columnInfoById[sortEntry.id] = {
31
+ sortUndefined: column.columnDef.sortUndefined,
32
+ invertSorting: column.columnDef.invertSorting,
33
+ sortFn: column_getSortFn(column)
34
+ };
35
+ });
36
+ const sortData = (rows) => {
37
+ const sortedData = rows.map((row) => {
38
+ return Object.assign(Object.create(Object.getPrototypeOf(row)), row);
39
+ });
40
+ sortedData.sort((rowA, rowB) => {
41
+ for (const sortEntry of availableSorting) {
42
+ const columnInfo = columnInfoById[sortEntry.id];
43
+ const sortUndefined = columnInfo.sortUndefined;
44
+ const isDesc = sortEntry.desc;
45
+ let sortInt = 0;
46
+ if (sortUndefined) {
47
+ const aValue = rowA.getValue(sortEntry.id);
48
+ const bValue = rowB.getValue(sortEntry.id);
49
+ const aUndefined = aValue === void 0;
50
+ const bUndefined = bValue === void 0;
51
+ if (aUndefined || bUndefined) {
52
+ if (sortUndefined === "first") return aUndefined ? -1 : 1;
53
+ if (sortUndefined === "last") return aUndefined ? 1 : -1;
54
+ sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
55
+ }
56
+ }
57
+ if (sortInt === 0) sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id);
58
+ if (sortInt !== 0) {
59
+ if (isDesc) sortInt *= -1;
60
+ if (columnInfo.invertSorting) sortInt *= -1;
61
+ return sortInt;
62
+ }
63
+ }
64
+ return rowA.index - rowB.index;
65
+ });
66
+ sortedData.forEach((row) => {
67
+ sortedFlatRows.push(row);
68
+ if (row.subRows.length) row.subRows = sortData(row.subRows);
69
+ });
70
+ return sortedData;
71
+ };
72
+ return {
73
+ rows: sortData(preSortedRowModel.rows),
74
+ flatRows: sortedFlatRows,
75
+ rowsById: preSortedRowModel.rowsById
76
+ };
77
+ }
78
+
79
+ //#endregion
80
+ export { createSortedRowModel };
81
+ //# sourceMappingURL=createSortedRowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSortedRowModel.js","names":[],"sources":["../../../src/features/row-sorting/createSortedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { column_getCanSort, column_getSortFn } from './rowSortingFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\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 { SortFn, SortFns } from './rowSortingFeature.types'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns\n return tableMemo({\n feature: 'rowSortingFeature',\n table,\n fnName: 'table.getSortedRowModel',\n memoDeps: () => [table.store.state.sorting, table.getPreSortedRowModel()],\n fn: () => _createSortedRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createSortedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const preSortedRowModel = table.getPreSortedRowModel()\n const sorting = table.store.state.sorting\n\n if (!preSortedRowModel.rows.length || !sorting?.length) {\n return preSortedRowModel\n }\n\n const sortedFlatRows: Array<Row<TFeatures, TData>> = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sorting.filter((sort) =>\n column_getCanSort(\n table.getColumn(sort.id) as Column_Internal<TFeatures, TData>,\n ),\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortFn: SortFn<TFeatures, TData>\n }\n > = {}\n\n availableSorting.forEach((sortEntry) => {\n const column = table.getColumn(sortEntry.id) as\n | Column_Internal<TFeatures, TData>\n | undefined\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortFn: column_getSortFn(column),\n }\n })\n\n const sortData = (rows: Array<Row<TFeatures, TData>>) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n // Preserve prototype chain so methods like getValue() remain accessible\n const sortedData = rows.map((row) => {\n const cloned = Object.create(Object.getPrototypeOf(row))\n return Object.assign(cloned, row)\n })\n\n sortedData.sort((rowA, rowB) => {\n for (const sortEntry of availableSorting) {\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry.desc\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach((row) => {\n sortedFlatRows.push(row)\n if (row.subRows.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(preSortedRowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: preSortedRowModel.rowsById,\n }\n}\n"],"mappings":";;;;;AAWA,SAAgB,qBAId,SACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,MAAI,CAAC,MAAM,aAAa,QAAS,OAAM,aAAa,UAAU;AAC9D,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB,CAAC,MAAM,MAAM,MAAM,SAAS,MAAM,sBAAsB,CAAC;GACzE,UAAU,sBAAsB,MAAM;GACtC,qBAAqB,yBAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,sBAGP,OAAqE;CACrE,MAAM,oBAAoB,MAAM,sBAAsB;CACtD,MAAM,UAAU,MAAM,MAAM,MAAM;AAElC,KAAI,CAAC,kBAAkB,KAAK,UAAU,oDAAC,QAAS,QAC9C,QAAO;CAGT,MAAM,iBAA+C,EAAE;CAGvD,MAAM,mBAAmB,QAAQ,QAAQ,SACvC,kBACE,MAAM,UAAU,KAAK,GAAG,CACzB,CACF;CAED,MAAM,iBAOF,EAAE;AAEN,kBAAiB,SAAS,cAAc;EACtC,MAAM,SAAS,MAAM,UAAU,UAAU,GAAG;AAG5C,MAAI,CAAC,OAAQ;AAEb,iBAAe,UAAU,MAAM;GAC7B,eAAe,OAAO,UAAU;GAChC,eAAe,OAAO,UAAU;GAChC,QAAQ,iBAAiB,OAAO;GACjC;GACD;CAEF,MAAM,YAAY,SAAuC;EAIvD,MAAM,aAAa,KAAK,KAAK,QAAQ;AAEnC,UAAO,OAAO,OADC,OAAO,OAAO,OAAO,eAAe,IAAI,CAAC,EAC3B,IAAI;IACjC;AAEF,aAAW,MAAM,MAAM,SAAS;AAC9B,QAAK,MAAM,aAAa,kBAAkB;IACxC,MAAM,aAAa,eAAe,UAAU;IAC5C,MAAM,gBAAgB,WAAW;IACjC,MAAM,SAAS,UAAU;IAEzB,IAAI,UAAU;AAGd,QAAI,eAAe;KACjB,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAC1C,MAAM,SAAS,KAAK,SAAS,UAAU,GAAG;KAE1C,MAAM,aAAa,WAAW;KAC9B,MAAM,aAAa,WAAW;AAE9B,SAAI,cAAc,YAAY;AAC5B,UAAI,kBAAkB,QAAS,QAAO,aAAa,KAAK;AACxD,UAAI,kBAAkB,OAAQ,QAAO,aAAa,IAAI;AACtD,gBACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;;;AAIb,QAAI,YAAY,EACd,WAAU,WAAW,OAAO,MAAM,MAAM,UAAU,GAAG;AAIvD,QAAI,YAAY,GAAG;AACjB,SAAI,OACF,YAAW;AAGb,SAAI,WAAW,cACb,YAAW;AAGb,YAAO;;;AAGX,UAAO,KAAK,QAAQ,KAAK;IACzB;AAGF,aAAW,SAAS,QAAQ;AAC1B,kBAAe,KAAK,IAAI;AACxB,OAAI,IAAI,QAAQ,OACd,KAAI,UAAU,SAAS,IAAI,QAAQ;IAErC;AAEF,SAAO;;AAGT,QAAO;EACL,MAAM,SAAS,kBAAkB,KAAK;EACtC,UAAU;EACV,UAAU,kBAAkB;EAC7B"}
@@ -0,0 +1,59 @@
1
+ const require_utils = require('../../utils.cjs');
2
+ const require_rowSortingFeature_utils = require('./rowSortingFeature.utils.cjs');
3
+
4
+ //#region src/features/row-sorting/rowSortingFeature.ts
5
+ function constructRowSortingFeature() {
6
+ return {
7
+ getInitialState(initialState) {
8
+ return {
9
+ sorting: require_rowSortingFeature_utils.getDefaultSortingState(),
10
+ ...initialState
11
+ };
12
+ },
13
+ getDefaultColumnDef() {
14
+ return {
15
+ sortFn: "auto",
16
+ sortUndefined: 1
17
+ };
18
+ },
19
+ getDefaultTableOptions(table) {
20
+ return {
21
+ onSortingChange: require_utils.makeStateUpdater("sorting", table),
22
+ isMultiSortEvent: (e) => {
23
+ return e.shiftKey;
24
+ }
25
+ };
26
+ },
27
+ assignColumnPrototype(prototype, table) {
28
+ require_utils.assignPrototypeAPIs("rowSortingFeature", prototype, table, {
29
+ "column.getAutoSortFn": { fn: (column) => require_rowSortingFeature_utils.column_getAutoSortFn(column) },
30
+ "column.getAutoSortDir": { fn: (column) => require_rowSortingFeature_utils.column_getAutoSortDir(column) },
31
+ column_getSortFn: { fn: (column) => require_rowSortingFeature_utils.column_getSortFn(column) },
32
+ column_toggleSorting: { fn: (column, desc, multi) => require_rowSortingFeature_utils.column_toggleSorting(column, desc, multi) },
33
+ column_getFirstSortDir: { fn: (column) => require_rowSortingFeature_utils.column_getFirstSortDir(column) },
34
+ column_getNextSortingOrder: { fn: (column, multi) => require_rowSortingFeature_utils.column_getNextSortingOrder(column, multi) },
35
+ column_getCanSort: { fn: (column) => require_rowSortingFeature_utils.column_getCanSort(column) },
36
+ column_getCanMultiSort: { fn: (column) => require_rowSortingFeature_utils.column_getCanMultiSort(column) },
37
+ column_getIsSorted: { fn: (column) => require_rowSortingFeature_utils.column_getIsSorted(column) },
38
+ column_getSortIndex: { fn: (column) => require_rowSortingFeature_utils.column_getSortIndex(column) },
39
+ column_clearSorting: { fn: (column) => require_rowSortingFeature_utils.column_clearSorting(column) },
40
+ column_getToggleSortingHandler: { fn: (column) => require_rowSortingFeature_utils.column_getToggleSortingHandler(column) }
41
+ });
42
+ },
43
+ constructTableAPIs(table) {
44
+ require_utils.assignTableAPIs("rowSortingFeature", table, {
45
+ table_setSorting: { fn: (updater) => require_rowSortingFeature_utils.table_setSorting(table, updater) },
46
+ table_resetSorting: { fn: (defaultState) => require_rowSortingFeature_utils.table_resetSorting(table, defaultState) }
47
+ });
48
+ }
49
+ };
50
+ }
51
+ /**
52
+ * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
53
+ */
54
+ const rowSortingFeature = constructRowSortingFeature();
55
+
56
+ //#endregion
57
+ exports.constructRowSortingFeature = constructRowSortingFeature;
58
+ exports.rowSortingFeature = rowSortingFeature;
59
+ //# sourceMappingURL=rowSortingFeature.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowSortingFeature.cjs","names":["getDefaultSortingState","makeStateUpdater","column_getAutoSortFn","column_getAutoSortDir","column_getSortFn","column_toggleSorting","column_getFirstSortDir","column_getNextSortingOrder","column_getCanSort","column_getCanMultiSort","column_getIsSorted","column_getSortIndex","column_clearSorting","column_getToggleSortingHandler","table_setSorting","table_resetSorting"],"sources":["../../../src/features/row-sorting/rowSortingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_clearSorting,\n column_getAutoSortDir,\n column_getAutoSortFn,\n column_getCanMultiSort,\n column_getCanSort,\n column_getFirstSortDir,\n column_getIsSorted,\n column_getNextSortingOrder,\n column_getSortFn,\n column_getSortIndex,\n column_getToggleSortingHandler,\n column_toggleSorting,\n getDefaultSortingState,\n table_resetSorting,\n table_setSorting,\n} from './rowSortingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Sorted,\n// ColumnDef_RowSorting,\n// Column_RowSorting,\n// CreateRowModel_Sorted,\n// RowModelFns_RowSorting,\n// TableOptions_RowSorting,\n// TableState_RowSorting,\n// Table_RowSorting,\n// } from './rowSortingFeature.types'\n\ninterface RowSortingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Sorted<TFeatures, TData>\n // Column: Column_RowSorting<TFeatures, TData>\n // ColumnDef: ColumnDef_RowSorting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Sorted<TFeatures, TData>\n // RowModelFns: RowModelFns_RowSorting<TFeatures, TData>\n // Table: Table_RowSorting<TFeatures, TData>\n // TableOptions: TableOptions_RowSorting\n // TableState: TableState_RowSorting\n}\n\nexport function constructRowSortingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState(initialState) {\n return {\n sorting: getDefaultSortingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef() {\n return {\n sortFn: 'auto',\n sortUndefined: 1,\n }\n },\n\n getDefaultTableOptions(table) {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: (e: unknown) => {\n return (e as MouseEvent).shiftKey\n },\n }\n },\n\n assignColumnPrototype(prototype, table) {\n assignPrototypeAPIs('rowSortingFeature', prototype, table, {\n 'column.getAutoSortFn': {\n fn: (column) => column_getAutoSortFn(column),\n },\n 'column.getAutoSortDir': {\n fn: (column) => column_getAutoSortDir(column),\n },\n column_getSortFn: {\n fn: (column) => column_getSortFn(column),\n },\n column_toggleSorting: {\n fn: (column, desc, multi) =>\n column_toggleSorting(column, desc, multi),\n },\n column_getFirstSortDir: {\n fn: (column) => column_getFirstSortDir(column),\n },\n column_getNextSortingOrder: {\n fn: (column, multi) => column_getNextSortingOrder(column, multi),\n },\n column_getCanSort: {\n fn: (column) => column_getCanSort(column),\n },\n column_getCanMultiSort: {\n fn: (column) => column_getCanMultiSort(column),\n },\n column_getIsSorted: {\n fn: (column) => column_getIsSorted(column),\n },\n column_getSortIndex: {\n fn: (column) => column_getSortIndex(column),\n },\n column_clearSorting: {\n fn: (column) => column_clearSorting(column),\n },\n column_getToggleSortingHandler: {\n fn: (column) => column_getToggleSortingHandler(column),\n },\n })\n },\n\n constructTableAPIs(table) {\n assignTableAPIs('rowSortingFeature', table, {\n table_setSorting: {\n fn: (updater) => table_setSorting(table, updater),\n },\n table_resetSorting: {\n fn: (defaultState) => table_resetSorting(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.\n */\nexport const rowSortingFeature = constructRowSortingFeature()\n"],"mappings":";;;;AAiDA,SAAgB,6BAGmD;AACjE,QAAO;EACL,gBAAgB,cAAc;AAC5B,UAAO;IACL,SAASA,wDAAwB;IACjC,GAAG;IACJ;;EAGH,sBAAsB;AACpB,UAAO;IACL,QAAQ;IACR,eAAe;IAChB;;EAGH,uBAAuB,OAAO;AAC5B,UAAO;IACL,iBAAiBC,+BAAiB,WAAW,MAAM;IACnD,mBAAmB,MAAe;AAChC,YAAQ,EAAiB;;IAE5B;;EAGH,sBAAsB,WAAW,OAAO;AACtC,qCAAoB,qBAAqB,WAAW,OAAO;IACzD,wBAAwB,EACtB,KAAK,WAAWC,qDAAqB,OAAO,EAC7C;IACD,yBAAyB,EACvB,KAAK,WAAWC,sDAAsB,OAAO,EAC9C;IACD,kBAAkB,EAChB,KAAK,WAAWC,iDAAiB,OAAO,EACzC;IACD,sBAAsB,EACpB,KAAK,QAAQ,MAAM,UACjBC,qDAAqB,QAAQ,MAAM,MAAM,EAC5C;IACD,wBAAwB,EACtB,KAAK,WAAWC,uDAAuB,OAAO,EAC/C;IACD,4BAA4B,EAC1B,KAAK,QAAQ,UAAUC,2DAA2B,QAAQ,MAAM,EACjE;IACD,mBAAmB,EACjB,KAAK,WAAWC,kDAAkB,OAAO,EAC1C;IACD,wBAAwB,EACtB,KAAK,WAAWC,uDAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAWC,mDAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAWC,oDAAoB,OAAO,EAC5C;IACD,qBAAqB,EACnB,KAAK,WAAWC,oDAAoB,OAAO,EAC5C;IACD,gCAAgC,EAC9B,KAAK,WAAWC,+DAA+B,OAAO,EACvD;IACF,CAAC;;EAGJ,mBAAmB,OAAO;AACxB,iCAAgB,qBAAqB,OAAO;IAC1C,kBAAkB,EAChB,KAAK,YAAYC,iDAAiB,OAAO,QAAQ,EAClD;IACD,oBAAoB,EAClB,KAAK,iBAAiBC,mDAAmB,OAAO,aAAa,EAC9D;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
@@ -0,0 +1,13 @@
1
+ import { RowData } from "../../types/type-utils.cjs";
2
+ import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
3
+
4
+ //#region src/features/row-sorting/rowSortingFeature.d.ts
5
+ interface RowSortingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ declare function constructRowSortingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>>;
7
+ /**
8
+ * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
9
+ */
10
+ declare const rowSortingFeature: TableFeature<RowSortingFeatureConstructors<TableFeatures, RowData>>;
11
+ //#endregion
12
+ export { constructRowSortingFeature, rowSortingFeature };
13
+ //# sourceMappingURL=rowSortingFeature.d.cts.map
@@ -0,0 +1,13 @@
1
+ import { RowData } from "../../types/type-utils.js";
2
+ import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
3
+
4
+ //#region src/features/row-sorting/rowSortingFeature.d.ts
5
+ interface RowSortingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ declare function constructRowSortingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>>;
7
+ /**
8
+ * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
9
+ */
10
+ declare const rowSortingFeature: TableFeature<RowSortingFeatureConstructors<TableFeatures, RowData>>;
11
+ //#endregion
12
+ export { constructRowSortingFeature, rowSortingFeature };
13
+ //# sourceMappingURL=rowSortingFeature.d.ts.map
@@ -0,0 +1,58 @@
1
+ import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../utils.js";
2
+ import { column_clearSorting, column_getAutoSortDir, column_getAutoSortFn, column_getCanMultiSort, column_getCanSort, column_getFirstSortDir, column_getIsSorted, column_getNextSortingOrder, column_getSortFn, column_getSortIndex, column_getToggleSortingHandler, column_toggleSorting, getDefaultSortingState, table_resetSorting, table_setSorting } from "./rowSortingFeature.utils.js";
3
+
4
+ //#region src/features/row-sorting/rowSortingFeature.ts
5
+ function constructRowSortingFeature() {
6
+ return {
7
+ getInitialState(initialState) {
8
+ return {
9
+ sorting: getDefaultSortingState(),
10
+ ...initialState
11
+ };
12
+ },
13
+ getDefaultColumnDef() {
14
+ return {
15
+ sortFn: "auto",
16
+ sortUndefined: 1
17
+ };
18
+ },
19
+ getDefaultTableOptions(table) {
20
+ return {
21
+ onSortingChange: makeStateUpdater("sorting", table),
22
+ isMultiSortEvent: (e) => {
23
+ return e.shiftKey;
24
+ }
25
+ };
26
+ },
27
+ assignColumnPrototype(prototype, table) {
28
+ assignPrototypeAPIs("rowSortingFeature", prototype, table, {
29
+ "column.getAutoSortFn": { fn: (column) => column_getAutoSortFn(column) },
30
+ "column.getAutoSortDir": { fn: (column) => column_getAutoSortDir(column) },
31
+ column_getSortFn: { fn: (column) => column_getSortFn(column) },
32
+ column_toggleSorting: { fn: (column, desc, multi) => column_toggleSorting(column, desc, multi) },
33
+ column_getFirstSortDir: { fn: (column) => column_getFirstSortDir(column) },
34
+ column_getNextSortingOrder: { fn: (column, multi) => column_getNextSortingOrder(column, multi) },
35
+ column_getCanSort: { fn: (column) => column_getCanSort(column) },
36
+ column_getCanMultiSort: { fn: (column) => column_getCanMultiSort(column) },
37
+ column_getIsSorted: { fn: (column) => column_getIsSorted(column) },
38
+ column_getSortIndex: { fn: (column) => column_getSortIndex(column) },
39
+ column_clearSorting: { fn: (column) => column_clearSorting(column) },
40
+ column_getToggleSortingHandler: { fn: (column) => column_getToggleSortingHandler(column) }
41
+ });
42
+ },
43
+ constructTableAPIs(table) {
44
+ assignTableAPIs("rowSortingFeature", table, {
45
+ table_setSorting: { fn: (updater) => table_setSorting(table, updater) },
46
+ table_resetSorting: { fn: (defaultState) => table_resetSorting(table, defaultState) }
47
+ });
48
+ }
49
+ };
50
+ }
51
+ /**
52
+ * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.
53
+ */
54
+ const rowSortingFeature = constructRowSortingFeature();
55
+
56
+ //#endregion
57
+ export { constructRowSortingFeature, rowSortingFeature };
58
+ //# sourceMappingURL=rowSortingFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowSortingFeature.js","names":[],"sources":["../../../src/features/row-sorting/rowSortingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_clearSorting,\n column_getAutoSortDir,\n column_getAutoSortFn,\n column_getCanMultiSort,\n column_getCanSort,\n column_getFirstSortDir,\n column_getIsSorted,\n column_getNextSortingOrder,\n column_getSortFn,\n column_getSortIndex,\n column_getToggleSortingHandler,\n column_toggleSorting,\n getDefaultSortingState,\n table_resetSorting,\n table_setSorting,\n} from './rowSortingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Sorted,\n// ColumnDef_RowSorting,\n// Column_RowSorting,\n// CreateRowModel_Sorted,\n// RowModelFns_RowSorting,\n// TableOptions_RowSorting,\n// TableState_RowSorting,\n// Table_RowSorting,\n// } from './rowSortingFeature.types'\n\ninterface RowSortingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Sorted<TFeatures, TData>\n // Column: Column_RowSorting<TFeatures, TData>\n // ColumnDef: ColumnDef_RowSorting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Sorted<TFeatures, TData>\n // RowModelFns: RowModelFns_RowSorting<TFeatures, TData>\n // Table: Table_RowSorting<TFeatures, TData>\n // TableOptions: TableOptions_RowSorting\n // TableState: TableState_RowSorting\n}\n\nexport function constructRowSortingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSortingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState(initialState) {\n return {\n sorting: getDefaultSortingState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef() {\n return {\n sortFn: 'auto',\n sortUndefined: 1,\n }\n },\n\n getDefaultTableOptions(table) {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: (e: unknown) => {\n return (e as MouseEvent).shiftKey\n },\n }\n },\n\n assignColumnPrototype(prototype, table) {\n assignPrototypeAPIs('rowSortingFeature', prototype, table, {\n 'column.getAutoSortFn': {\n fn: (column) => column_getAutoSortFn(column),\n },\n 'column.getAutoSortDir': {\n fn: (column) => column_getAutoSortDir(column),\n },\n column_getSortFn: {\n fn: (column) => column_getSortFn(column),\n },\n column_toggleSorting: {\n fn: (column, desc, multi) =>\n column_toggleSorting(column, desc, multi),\n },\n column_getFirstSortDir: {\n fn: (column) => column_getFirstSortDir(column),\n },\n column_getNextSortingOrder: {\n fn: (column, multi) => column_getNextSortingOrder(column, multi),\n },\n column_getCanSort: {\n fn: (column) => column_getCanSort(column),\n },\n column_getCanMultiSort: {\n fn: (column) => column_getCanMultiSort(column),\n },\n column_getIsSorted: {\n fn: (column) => column_getIsSorted(column),\n },\n column_getSortIndex: {\n fn: (column) => column_getSortIndex(column),\n },\n column_clearSorting: {\n fn: (column) => column_clearSorting(column),\n },\n column_getToggleSortingHandler: {\n fn: (column) => column_getToggleSortingHandler(column),\n },\n })\n },\n\n constructTableAPIs(table) {\n assignTableAPIs('rowSortingFeature', table, {\n table_setSorting: {\n fn: (updater) => table_setSorting(table, updater),\n },\n table_resetSorting: {\n fn: (defaultState) => table_resetSorting(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The (Row) Sorting feature adds sorting state and APIs to the table and column objects.\n */\nexport const rowSortingFeature = constructRowSortingFeature()\n"],"mappings":";;;;AAiDA,SAAgB,6BAGmD;AACjE,QAAO;EACL,gBAAgB,cAAc;AAC5B,UAAO;IACL,SAAS,wBAAwB;IACjC,GAAG;IACJ;;EAGH,sBAAsB;AACpB,UAAO;IACL,QAAQ;IACR,eAAe;IAChB;;EAGH,uBAAuB,OAAO;AAC5B,UAAO;IACL,iBAAiB,iBAAiB,WAAW,MAAM;IACnD,mBAAmB,MAAe;AAChC,YAAQ,EAAiB;;IAE5B;;EAGH,sBAAsB,WAAW,OAAO;AACtC,uBAAoB,qBAAqB,WAAW,OAAO;IACzD,wBAAwB,EACtB,KAAK,WAAW,qBAAqB,OAAO,EAC7C;IACD,yBAAyB,EACvB,KAAK,WAAW,sBAAsB,OAAO,EAC9C;IACD,kBAAkB,EAChB,KAAK,WAAW,iBAAiB,OAAO,EACzC;IACD,sBAAsB,EACpB,KAAK,QAAQ,MAAM,UACjB,qBAAqB,QAAQ,MAAM,MAAM,EAC5C;IACD,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,OAAO,EAC/C;IACD,4BAA4B,EAC1B,KAAK,QAAQ,UAAU,2BAA2B,QAAQ,MAAM,EACjE;IACD,mBAAmB,EACjB,KAAK,WAAW,kBAAkB,OAAO,EAC1C;IACD,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,OAAO,EAC5C;IACD,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,OAAO,EAC5C;IACD,gCAAgC,EAC9B,KAAK,WAAW,+BAA+B,OAAO,EACvD;IACF,CAAC;;EAGJ,mBAAmB,OAAO;AACxB,mBAAgB,qBAAqB,OAAO;IAC1C,kBAAkB,EAChB,KAAK,YAAY,iBAAiB,OAAO,QAAQ,EAClD;IACD,oBAAoB,EAClB,KAAK,iBAAiB,mBAAmB,OAAO,aAAa,EAC9D;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
@@ -0,0 +1,182 @@
1
+ import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
2
+ import { BuiltInSortFn } from "../../fns/sortFns.cjs";
3
+ import { Row } from "../../types/Row.cjs";
4
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
+ import { Table } from "../../types/Table.cjs";
6
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
7
+
8
+ //#region src/features/row-sorting/rowSortingFeature.types.d.ts
9
+ type SortDirection = 'asc' | 'desc';
10
+ interface ColumnSort {
11
+ desc: boolean;
12
+ id: string;
13
+ }
14
+ type SortingState = Array<ColumnSort>;
15
+ interface TableState_RowSorting {
16
+ sorting: SortingState;
17
+ }
18
+ interface RowModelFns_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
19
+ sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>;
20
+ }
21
+ interface SortFns {}
22
+ interface SortFn<TFeatures extends TableFeatures, TData extends RowData> {
23
+ (rowA: Row<TFeatures, TData>, rowB: Row<TFeatures, TData>, columnId: string): number;
24
+ }
25
+ type CustomSortFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, SortFn<TFeatures, TData>>;
26
+ type SortFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | keyof SortFns | BuiltInSortFn | SortFn<TFeatures, TData>;
27
+ interface ColumnDef_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
28
+ /**
29
+ * Enables/Disables multi-sorting for this column.
30
+ */
31
+ enableMultiSort?: boolean;
32
+ /**
33
+ * Enables/Disables sorting for this column.
34
+ */
35
+ enableSorting?: boolean;
36
+ /**
37
+ * Inverts the order of the sorting for this column. This is useful for values that have an inverted best/worst scale where lower numbers are better, eg. a ranking (1st, 2nd, 3rd) or golf-like scoring
38
+ */
39
+ invertSorting?: boolean;
40
+ /**
41
+ * Set to `true` for sorting toggles on this column to start in the descending direction.
42
+ */
43
+ sortDescFirst?: boolean;
44
+ /**
45
+ * The sorting function to use with this column.
46
+ * - A `string` referencing a built-in sorting function
47
+ * - A custom sorting function
48
+ */
49
+ sortFn?: SortFnOption<TFeatures, TData>;
50
+ /**
51
+ * The priority of undefined values when sorting this column.
52
+ * - `false`
53
+ * - Undefined values will be considered tied and need to be sorted by the next column filter or original index (whichever applies)
54
+ * - `-1`
55
+ * - Undefined values will be sorted with higher priority (ascending) (if ascending, undefined will appear on the beginning of the list)
56
+ * - `1`
57
+ * - Undefined values will be sorted with lower priority (descending) (if ascending, undefined will appear on the end of the list)
58
+ */
59
+ sortUndefined?: false | -1 | 1 | 'first' | 'last';
60
+ }
61
+ interface Column_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
62
+ /**
63
+ * Removes this column from the table's sorting state
64
+ */
65
+ clearSorting: () => void;
66
+ /**
67
+ * Returns a sort direction automatically inferred based on the columns values.
68
+ */
69
+ getAutoSortDir: () => SortDirection;
70
+ /**
71
+ * Returns a sorting function automatically inferred based on the columns values.
72
+ */
73
+ getAutoSortFn: () => SortFn<TFeatures, TData>;
74
+ /**
75
+ * Returns whether this column can be multi-sorted.
76
+ */
77
+ getCanMultiSort: () => boolean;
78
+ /**
79
+ * Returns whether this column can be sorted.
80
+ */
81
+ getCanSort: () => boolean;
82
+ /**
83
+ * Returns the first direction that should be used when sorting this column.
84
+ */
85
+ getFirstSortDir: () => SortDirection;
86
+ /**
87
+ * Returns the current sort direction of this column.
88
+ */
89
+ getIsSorted: () => false | SortDirection;
90
+ /**
91
+ * Returns the next sorting order.
92
+ */
93
+ getNextSortingOrder: () => SortDirection | false;
94
+ /**
95
+ * Returns the index position of this column's sorting within the sorting state
96
+ */
97
+ getSortIndex: () => number;
98
+ /**
99
+ * Returns the resolved sorting function to be used for this column
100
+ */
101
+ getSortFn: () => SortFn<TFeatures, TData>;
102
+ /**
103
+ * Returns a function that can be used to toggle this column's sorting state. This is useful for attaching a click handler to the column header.
104
+ */
105
+ getToggleSortingHandler: () => undefined | ((event: unknown) => void);
106
+ /**
107
+ * Toggles this columns sorting state. If `desc` is provided, it will force the sort direction to that value. If `isMulti` is provided, it will additivity multi-sort the column (or toggle it if it is already sorted).
108
+ */
109
+ toggleSorting: (desc?: boolean, isMulti?: boolean) => void;
110
+ }
111
+ interface TableOptions_RowSorting {
112
+ /**
113
+ * Enables/disables the ability to remove multi-sorts
114
+ */
115
+ enableMultiRemove?: boolean;
116
+ /**
117
+ * Enables/Disables multi-sorting for the table.
118
+ */
119
+ enableMultiSort?: boolean;
120
+ /**
121
+ * Enables/Disables sorting for the table.
122
+ */
123
+ enableSorting?: boolean;
124
+ /**
125
+ * Enables/Disables the ability to remove sorting for the table.
126
+ * - If `true` then changing sort order will circle like: 'none' -> 'desc' -> 'asc' -> 'none' -> ...
127
+ * - If `false` then changing sort order will circle like: 'none' -> 'desc' -> 'asc' -> 'desc' -> 'asc' -> ...
128
+ */
129
+ enableSortingRemoval?: boolean;
130
+ /**
131
+ * Pass a custom function that will be used to determine if a multi-sort event should be triggered. It is passed the event from the sort toggle handler and should return `true` if the event should trigger a multi-sort.
132
+ */
133
+ isMultiSortEvent?: (e: unknown) => boolean;
134
+ /**
135
+ * Enables manual sorting for the table. If this is `true`, you will be expected to sort your data before it is passed to the table. This is useful if you are doing server-side sorting.
136
+ */
137
+ manualSorting?: boolean;
138
+ /**
139
+ * Set a maximum number of columns that can be multi-sorted.
140
+ */
141
+ maxMultiSortColCount?: number;
142
+ /**
143
+ * If provided, this function will be called with an `updaterFn` when `state.sorting` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
144
+ */
145
+ onSortingChange?: OnChangeFn<SortingState>;
146
+ /**
147
+ * If `true`, all sorts will default to descending as their first toggle state.
148
+ */
149
+ sortDescFirst?: boolean;
150
+ }
151
+ interface Table_RowSorting<TFeatures extends TableFeatures, TData extends RowData> {
152
+ /**
153
+ * Resets the **sorting** state to `initialState.sorting`, or `true` can be passed to force a default blank state reset to `[]`.
154
+ */
155
+ resetSorting: (defaultState?: boolean) => void;
156
+ /**
157
+ * Sets or updates the `state.sorting` state.
158
+ */
159
+ setSorting: (updater: Updater<SortingState>) => void;
160
+ }
161
+ interface Table_RowModels_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
162
+ /**
163
+ * Returns the row model for the table before any sorting has been applied.
164
+ */
165
+ getPreSortedRowModel: () => RowModel<TFeatures, TData>;
166
+ /**
167
+ * Returns the row model for the table after sorting has been applied.
168
+ */
169
+ getSortedRowModel: () => RowModel<TFeatures, TData>;
170
+ }
171
+ interface CreateRowModel_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
172
+ /**
173
+ * This function is used to retrieve the sorted row model. If using server-side sorting, this function is not required. To use client-side sorting, pass the exported `getSortedRowModel()` from your adapter to your table or implement your own.
174
+ */
175
+ sortedRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
176
+ }
177
+ interface CachedRowModel_Sorted<TFeatures extends TableFeatures, TData extends RowData> {
178
+ sortedRowModel: () => RowModel<TFeatures, TData>;
179
+ }
180
+ //#endregion
181
+ export { CachedRowModel_Sorted, ColumnDef_RowSorting, ColumnSort, Column_RowSorting, CreateRowModel_Sorted, CustomSortFns, RowModelFns_RowSorting, SortDirection, SortFn, SortFnOption, SortFns, SortingState, TableOptions_RowSorting, TableState_RowSorting, Table_RowModels_Sorted, Table_RowSorting };
182
+ //# sourceMappingURL=rowSortingFeature.types.d.cts.map