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

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 (682) hide show
  1. package/dist/core/cells/constructCell.d.ts +1 -2
  2. package/dist/core/cells/constructCell.js +1 -2
  3. package/dist/core/cells/coreCellsFeature.d.ts +1 -2
  4. package/dist/core/cells/coreCellsFeature.js +1 -2
  5. package/dist/core/cells/coreCellsFeature.types.d.ts +1 -2
  6. package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -2
  7. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  8. package/dist/core/columns/constructColumn.d.ts +1 -2
  9. package/dist/core/columns/constructColumn.js +1 -2
  10. package/dist/core/columns/coreColumnsFeature.d.ts +1 -2
  11. package/dist/core/columns/coreColumnsFeature.js +1 -2
  12. package/dist/core/columns/coreColumnsFeature.types.d.ts +1 -2
  13. package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -2
  14. package/dist/core/columns/coreColumnsFeature.utils.js +1 -2
  15. package/dist/core/coreFeatures.d.ts +1 -2
  16. package/dist/core/coreFeatures.js +1 -2
  17. package/dist/core/headers/buildHeaderGroups.d.ts +1 -2
  18. package/dist/core/headers/buildHeaderGroups.js +1 -2
  19. package/dist/core/headers/constructHeader.d.ts +1 -2
  20. package/dist/core/headers/constructHeader.js +1 -2
  21. package/dist/core/headers/coreHeadersFeature.d.ts +1 -2
  22. package/dist/core/headers/coreHeadersFeature.js +1 -2
  23. package/dist/core/headers/coreHeadersFeature.types.d.ts +1 -2
  24. package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -2
  25. package/dist/core/headers/coreHeadersFeature.utils.js +1 -2
  26. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +1 -2
  27. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -2
  28. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  29. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -2
  30. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  31. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +1 -2
  32. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +1 -2
  33. package/dist/core/row-models/coreRowModelsFeature.utils.js +1 -2
  34. package/dist/core/row-models/createCoreRowModel.d.ts +1 -2
  35. package/dist/core/row-models/createCoreRowModel.js +1 -2
  36. package/dist/core/rows/constructRow.d.ts +1 -2
  37. package/dist/core/rows/constructRow.js +1 -2
  38. package/dist/core/rows/coreRowsFeature.d.ts +1 -2
  39. package/dist/core/rows/coreRowsFeature.js +1 -2
  40. package/dist/core/rows/coreRowsFeature.types.d.ts +1 -2
  41. package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -2
  42. package/dist/core/rows/coreRowsFeature.utils.js +1 -2
  43. package/dist/core/table/constructTable.d.ts +1 -2
  44. package/dist/core/table/constructTable.js +1 -2
  45. package/dist/core/table/coreTablesFeature.d.ts +1 -2
  46. package/dist/core/table/coreTablesFeature.js +1 -2
  47. package/dist/core/table/coreTablesFeature.types.d.ts +1 -2
  48. package/dist/core/table/coreTablesFeature.utils.d.ts +1 -2
  49. package/dist/core/table/coreTablesFeature.utils.js +1 -2
  50. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -2
  51. package/dist/features/column-faceting/columnFacetingFeature.js +1 -2
  52. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +1 -2
  53. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -2
  54. package/dist/features/column-faceting/columnFacetingFeature.utils.js +1 -2
  55. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -2
  56. package/dist/features/column-faceting/createFacetedMinMaxValues.js +1 -2
  57. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -2
  58. package/dist/features/column-faceting/createFacetedRowModel.js +1 -2
  59. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -2
  60. package/dist/features/column-faceting/createFacetedUniqueValues.js +1 -2
  61. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -2
  62. package/dist/features/column-filtering/columnFilteringFeature.js +1 -2
  63. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +1 -2
  64. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -2
  65. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -2
  66. package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -2
  67. package/dist/features/column-filtering/createFilteredRowModel.js +1 -2
  68. package/dist/features/column-filtering/filterFns.d.ts +1 -2
  69. package/dist/features/column-filtering/filterFns.js +1 -2
  70. package/dist/features/column-filtering/filterRowsUtils.js +1 -2
  71. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -2
  72. package/dist/features/column-grouping/columnGroupingFeature.js +1 -2
  73. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +1 -2
  74. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -2
  75. package/dist/features/column-grouping/columnGroupingFeature.utils.js +1 -2
  76. package/dist/features/column-grouping/createGroupedRowModel.d.ts +1 -2
  77. package/dist/features/column-grouping/createGroupedRowModel.js +21 -14
  78. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -2
  79. package/dist/features/column-ordering/columnOrderingFeature.js +1 -2
  80. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -2
  81. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -2
  82. package/dist/features/column-ordering/columnOrderingFeature.utils.js +1 -2
  83. package/dist/features/column-pinning/columnPinningFeature.d.ts +1 -2
  84. package/dist/features/column-pinning/columnPinningFeature.js +1 -2
  85. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +1 -2
  86. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +1 -2
  87. package/dist/features/column-pinning/columnPinningFeature.utils.js +1 -2
  88. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -2
  89. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  90. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -2
  91. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -2
  92. package/dist/features/column-resizing/columnResizingFeature.utils.js +1 -2
  93. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -2
  94. package/dist/features/column-sizing/columnSizingFeature.js +1 -2
  95. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +1 -2
  96. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +1 -2
  97. package/dist/features/column-sizing/columnSizingFeature.utils.js +1 -2
  98. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -2
  99. package/dist/features/column-visibility/columnVisibilityFeature.js +1 -2
  100. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +1 -2
  101. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -2
  102. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +1 -2
  103. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -2
  104. package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
  105. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +1 -2
  106. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +1 -2
  107. package/dist/features/global-filtering/globalFilteringFeature.utils.js +1 -2
  108. package/dist/features/row-aggregation/aggregationFns.d.ts +1 -2
  109. package/dist/features/row-aggregation/aggregationFns.js +81 -37
  110. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +1 -2
  111. package/dist/features/row-aggregation/rowAggregationFeature.js +2 -6
  112. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +3 -4
  113. package/dist/features/row-aggregation/rowAggregationFeature.types.js +1 -2
  114. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +15 -2
  115. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +35 -6
  116. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -2
  117. package/dist/features/row-expanding/createExpandedRowModel.js +1 -2
  118. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -2
  119. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  120. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +1 -2
  121. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -2
  122. package/dist/features/row-expanding/rowExpandingFeature.utils.js +1 -2
  123. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -2
  124. package/dist/features/row-pagination/createPaginatedRowModel.js +1 -2
  125. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -2
  126. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  127. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +1 -2
  128. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -2
  129. package/dist/features/row-pagination/rowPaginationFeature.utils.js +1 -2
  130. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -2
  131. package/dist/features/row-pinning/rowPinningFeature.js +1 -2
  132. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +1 -2
  133. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -2
  134. package/dist/features/row-pinning/rowPinningFeature.utils.js +1 -2
  135. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -2
  136. package/dist/features/row-selection/rowSelectionFeature.js +1 -2
  137. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +1 -2
  138. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -2
  139. package/dist/features/row-selection/rowSelectionFeature.utils.js +1 -2
  140. package/dist/features/row-sorting/createSortedRowModel.d.ts +1 -2
  141. package/dist/features/row-sorting/createSortedRowModel.js +1 -2
  142. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -2
  143. package/dist/features/row-sorting/rowSortingFeature.js +1 -2
  144. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +1 -2
  145. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -2
  146. package/dist/features/row-sorting/rowSortingFeature.utils.js +1 -2
  147. package/dist/features/row-sorting/sortFns.d.ts +1 -2
  148. package/dist/features/row-sorting/sortFns.js +1 -2
  149. package/dist/features/stockFeatures.d.ts +1 -2
  150. package/dist/features/stockFeatures.js +1 -2
  151. package/dist/flex-render.d.ts +1 -2
  152. package/dist/flex-render.js +1 -2
  153. package/dist/helpers/columnHelper.d.ts +1 -2
  154. package/dist/helpers/columnHelper.js +1 -2
  155. package/dist/helpers/metaHelper.d.ts +1 -2
  156. package/dist/helpers/metaHelper.js +1 -2
  157. package/dist/helpers/tableFeatures.d.ts +1 -2
  158. package/dist/helpers/tableFeatures.js +1 -2
  159. package/dist/helpers/tableOptions.d.ts +1 -2
  160. package/dist/helpers/tableOptions.js +1 -2
  161. package/dist/static-functions.d.ts +2 -2
  162. package/dist/static-functions.js +2 -2
  163. package/dist/store-reactivity-bindings.d.ts +1 -2
  164. package/dist/store-reactivity-bindings.js +1 -2
  165. package/dist/types/Cell.d.ts +1 -2
  166. package/dist/types/Column.d.ts +1 -2
  167. package/dist/types/ColumnDef.d.ts +1 -2
  168. package/dist/types/Header.d.ts +1 -2
  169. package/dist/types/HeaderGroup.d.ts +1 -2
  170. package/dist/types/Row.d.ts +1 -2
  171. package/dist/types/RowModel.d.ts +1 -2
  172. package/dist/types/RowModelFns.d.ts +1 -2
  173. package/dist/types/Table.d.ts +1 -2
  174. package/dist/types/TableFeatures.d.ts +1 -2
  175. package/dist/types/TableOptions.d.ts +1 -2
  176. package/dist/types/TableState.d.ts +1 -2
  177. package/dist/types/type-utils.d.ts +1 -2
  178. package/dist/utils.d.ts +1 -2
  179. package/dist/utils.js +1 -2
  180. package/dist/worker/createTableWorker.d.ts +1 -2
  181. package/dist/worker/createTableWorker.js +1 -2
  182. package/dist/worker/createWorkerRowModel.d.ts +1 -2
  183. package/dist/worker/createWorkerRowModel.js +1 -2
  184. package/dist/worker/initTableWorker.d.ts +1 -2
  185. package/dist/worker/initTableWorker.js +1 -2
  186. package/dist/worker/rebuildRowModel.d.ts +1 -2
  187. package/dist/worker/rebuildRowModel.js +1 -2
  188. package/dist/worker/serializeRowModel.js +1 -2
  189. package/dist/worker/tableWorkerProtocol.d.ts +1 -2
  190. package/dist/worker/tableWorkerProtocol.js +1 -2
  191. package/package.json +9 -30
  192. package/skills/aggregation/SKILL.md +2 -2
  193. package/skills/api-not-found/SKILL.md +5 -5
  194. package/skills/client-vs-server/SKILL.md +2 -2
  195. package/skills/column-faceting/SKILL.md +2 -2
  196. package/skills/column-filtering/SKILL.md +2 -2
  197. package/skills/column-ordering/SKILL.md +2 -2
  198. package/skills/column-pinning/SKILL.md +2 -2
  199. package/skills/column-resizing/SKILL.md +2 -2
  200. package/skills/column-sizing/SKILL.md +2 -2
  201. package/skills/column-visibility/SKILL.md +2 -2
  202. package/skills/core/SKILL.md +2 -2
  203. package/skills/custom-features/SKILL.md +2 -2
  204. package/skills/expanding/SKILL.md +2 -2
  205. package/skills/global-filtering/SKILL.md +2 -2
  206. package/skills/grouping/SKILL.md +2 -2
  207. package/skills/migrate-v8-to-v9/SKILL.md +7 -7
  208. package/skills/pagination/SKILL.md +2 -2
  209. package/skills/row-pinning/SKILL.md +2 -2
  210. package/skills/row-selection/SKILL.md +2 -2
  211. package/skills/sorting/SKILL.md +2 -2
  212. package/skills/table-features/SKILL.md +2 -2
  213. package/skills/typescript/SKILL.md +2 -2
  214. package/dist/core/cells/constructCell.cjs +0 -31
  215. package/dist/core/cells/constructCell.cjs.map +0 -1
  216. package/dist/core/cells/constructCell.d.cts +0 -17
  217. package/dist/core/cells/constructCell.js.map +0 -1
  218. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  219. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  220. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  221. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  222. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  223. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  224. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  225. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  226. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  227. package/dist/core/columns/constructColumn.cjs +0 -60
  228. package/dist/core/columns/constructColumn.cjs.map +0 -1
  229. package/dist/core/columns/constructColumn.d.cts +0 -16
  230. package/dist/core/columns/constructColumn.js.map +0 -1
  231. package/dist/core/columns/coreColumnsFeature.cjs +0 -64
  232. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  233. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  234. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  235. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  236. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -183
  237. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  238. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  239. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  240. package/dist/core/coreFeatures.cjs +0 -25
  241. package/dist/core/coreFeatures.cjs.map +0 -1
  242. package/dist/core/coreFeatures.d.cts +0 -26
  243. package/dist/core/coreFeatures.js.map +0 -1
  244. package/dist/core/headers/buildHeaderGroups.cjs +0 -102
  245. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  246. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  247. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  248. package/dist/core/headers/constructHeader.cjs +0 -38
  249. package/dist/core/headers/constructHeader.cjs.map +0 -1
  250. package/dist/core/headers/constructHeader.d.cts +0 -22
  251. package/dist/core/headers/constructHeader.js.map +0 -1
  252. package/dist/core/headers/coreHeadersFeature.cjs +0 -52
  253. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  254. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  255. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  256. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  257. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -140
  258. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  259. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  260. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  261. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  262. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  263. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  264. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  265. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  266. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  267. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  268. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  269. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  270. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -33
  271. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -197
  272. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  273. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  274. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  275. package/dist/core/row-models/createCoreRowModel.cjs +0 -50
  276. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  277. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  278. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  279. package/dist/core/rows/constructRow.cjs +0 -40
  280. package/dist/core/rows/constructRow.cjs.map +0 -1
  281. package/dist/core/rows/constructRow.d.cts +0 -15
  282. package/dist/core/rows/constructRow.js.map +0 -1
  283. package/dist/core/rows/coreRowsFeature.cjs +0 -53
  284. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  285. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  286. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  287. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -133
  288. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -246
  289. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  290. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -146
  291. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  292. package/dist/core/table/constructTable.cjs +0 -128
  293. package/dist/core/table/constructTable.cjs.map +0 -1
  294. package/dist/core/table/constructTable.d.cts +0 -22
  295. package/dist/core/table/constructTable.js.map +0 -1
  296. package/dist/core/table/coreTablesFeature.cjs +0 -17
  297. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  298. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  299. package/dist/core/table/coreTablesFeature.js.map +0 -1
  300. package/dist/core/table/coreTablesFeature.types.d.cts +0 -199
  301. package/dist/core/table/coreTablesFeature.utils.cjs +0 -120
  302. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  303. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -60
  304. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  305. package/dist/experimental-worker-plugin.cjs +0 -14
  306. package/dist/experimental-worker-plugin.d.cts +0 -5
  307. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -55
  308. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  309. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  310. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  311. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -67
  312. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -114
  313. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  314. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  315. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  316. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -47
  317. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  318. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  319. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  320. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -45
  321. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  322. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  323. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  324. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -45
  325. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  326. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  327. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  328. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  329. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  330. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  331. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  332. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -214
  333. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -218
  334. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  335. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -147
  336. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  337. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -114
  338. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  339. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -22
  340. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  341. package/dist/features/column-filtering/filterFns.cjs +0 -399
  342. package/dist/features/column-filtering/filterFns.cjs.map +0 -1
  343. package/dist/features/column-filtering/filterFns.d.cts +0 -210
  344. package/dist/features/column-filtering/filterFns.js.map +0 -1
  345. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -82
  346. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  347. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  348. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -55
  349. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  350. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  351. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  352. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -129
  353. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -195
  354. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -153
  356. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  357. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -132
  358. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  359. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -18
  360. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  361. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -54
  362. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  363. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  364. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  365. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -81
  366. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -192
  367. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  368. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -119
  369. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  370. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -202
  371. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  372. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -15
  373. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  374. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -189
  375. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -584
  376. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  377. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -384
  378. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  379. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  380. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  381. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  382. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  383. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -78
  384. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -286
  385. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  386. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  387. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  388. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -90
  389. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  390. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  391. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  392. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -139
  393. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -299
  394. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  395. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -200
  396. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  397. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -83
  398. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  399. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  400. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  401. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  402. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -284
  403. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  404. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  405. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  406. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -40
  407. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  408. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  409. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  410. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  411. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  412. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  413. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -71
  414. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  415. package/dist/features/row-aggregation/aggregationFns.cjs +0 -246
  416. package/dist/features/row-aggregation/aggregationFns.cjs.map +0 -1
  417. package/dist/features/row-aggregation/aggregationFns.d.cts +0 -68
  418. package/dist/features/row-aggregation/aggregationFns.js.map +0 -1
  419. package/dist/features/row-aggregation/rowAggregationFeature.cjs +0 -39
  420. package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +0 -1
  421. package/dist/features/row-aggregation/rowAggregationFeature.d.cts +0 -10
  422. package/dist/features/row-aggregation/rowAggregationFeature.js.map +0 -1
  423. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +0 -13
  424. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +0 -1
  425. package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +0 -195
  426. package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +0 -1
  427. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +0 -212
  428. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +0 -1
  429. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +0 -34
  430. package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -55
  432. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  433. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  434. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  436. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  438. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  439. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -118
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -283
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  442. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  443. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -58
  445. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  446. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  447. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  449. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  451. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  452. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -126
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -306
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  455. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  456. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -55
  458. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  460. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  461. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  462. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -224
  463. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  464. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  465. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -119
  467. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  469. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  470. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -174
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -570
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -345
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -114
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -22
  478. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  480. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  482. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  483. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -220
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -316
  485. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  486. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  487. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  488. package/dist/features/row-sorting/sortFns.cjs +0 -226
  489. package/dist/features/row-sorting/sortFns.cjs.map +0 -1
  490. package/dist/features/row-sorting/sortFns.d.cts +0 -98
  491. package/dist/features/row-sorting/sortFns.js.map +0 -1
  492. package/dist/features/stockFeatures.cjs +0 -43
  493. package/dist/features/stockFeatures.cjs.map +0 -1
  494. package/dist/features/stockFeatures.d.cts +0 -43
  495. package/dist/features/stockFeatures.js.map +0 -1
  496. package/dist/flex-render.cjs +0 -29
  497. package/dist/flex-render.cjs.map +0 -1
  498. package/dist/flex-render.d.cts +0 -34
  499. package/dist/flex-render.js.map +0 -1
  500. package/dist/helpers/columnHelper.cjs +0 -41
  501. package/dist/helpers/columnHelper.cjs.map +0 -1
  502. package/dist/helpers/columnHelper.d.cts +0 -71
  503. package/dist/helpers/columnHelper.js.map +0 -1
  504. package/dist/helpers/metaHelper.cjs +0 -30
  505. package/dist/helpers/metaHelper.cjs.map +0 -1
  506. package/dist/helpers/metaHelper.d.cts +0 -26
  507. package/dist/helpers/metaHelper.js.map +0 -1
  508. package/dist/helpers/tableFeatures.cjs +0 -49
  509. package/dist/helpers/tableFeatures.cjs.map +0 -1
  510. package/dist/helpers/tableFeatures.d.cts +0 -47
  511. package/dist/helpers/tableFeatures.js.map +0 -1
  512. package/dist/helpers/tableOptions.cjs +0 -15
  513. package/dist/helpers/tableOptions.cjs.map +0 -1
  514. package/dist/helpers/tableOptions.d.cts +0 -57
  515. package/dist/helpers/tableOptions.js.map +0 -1
  516. package/dist/index.cjs +0 -153
  517. package/dist/index.d.cts +0 -81
  518. package/dist/reactivity.cjs +0 -4
  519. package/dist/reactivity.d.cts +0 -3
  520. package/dist/static-functions.cjs +0 -274
  521. package/dist/static-functions.d.cts +0 -22
  522. package/dist/store-reactivity-bindings.cjs +0 -44
  523. package/dist/store-reactivity-bindings.cjs.map +0 -1
  524. package/dist/store-reactivity-bindings.d.cts +0 -22
  525. package/dist/store-reactivity-bindings.js.map +0 -1
  526. package/dist/types/Cell.d.cts +0 -16
  527. package/dist/types/Column.d.cts +0 -36
  528. package/dist/types/ColumnDef.d.cts +0 -125
  529. package/dist/types/Header.d.cts +0 -16
  530. package/dist/types/HeaderGroup.d.cts +0 -10
  531. package/dist/types/Row.d.cts +0 -28
  532. package/dist/types/RowModel.d.cts +0 -24
  533. package/dist/types/RowModelFns.d.cts +0 -18
  534. package/dist/types/Table.d.cts +0 -65
  535. package/dist/types/TableFeatures.d.cts +0 -381
  536. package/dist/types/TableOptions.d.cts +0 -77
  537. package/dist/types/TableState.d.cts +0 -48
  538. package/dist/types/type-utils.d.cts +0 -30
  539. package/dist/utils.cjs +0 -265
  540. package/dist/utils.cjs.map +0 -1
  541. package/dist/utils.d.cts +0 -136
  542. package/dist/utils.js.map +0 -1
  543. package/dist/worker/createTableWorker.cjs +0 -189
  544. package/dist/worker/createTableWorker.cjs.map +0 -1
  545. package/dist/worker/createTableWorker.d.cts +0 -102
  546. package/dist/worker/createTableWorker.js.map +0 -1
  547. package/dist/worker/createWorkerRowModel.cjs +0 -78
  548. package/dist/worker/createWorkerRowModel.cjs.map +0 -1
  549. package/dist/worker/createWorkerRowModel.d.cts +0 -42
  550. package/dist/worker/createWorkerRowModel.js.map +0 -1
  551. package/dist/worker/initTableWorker.cjs +0 -100
  552. package/dist/worker/initTableWorker.cjs.map +0 -1
  553. package/dist/worker/initTableWorker.d.cts +0 -33
  554. package/dist/worker/initTableWorker.js.map +0 -1
  555. package/dist/worker/rebuildRowModel.cjs +0 -72
  556. package/dist/worker/rebuildRowModel.cjs.map +0 -1
  557. package/dist/worker/rebuildRowModel.d.cts +0 -9
  558. package/dist/worker/rebuildRowModel.js.map +0 -1
  559. package/dist/worker/serializeRowModel.cjs +0 -53
  560. package/dist/worker/serializeRowModel.cjs.map +0 -1
  561. package/dist/worker/serializeRowModel.js.map +0 -1
  562. package/dist/worker/tableWorkerProtocol.cjs +0 -29
  563. package/dist/worker/tableWorkerProtocol.cjs.map +0 -1
  564. package/dist/worker/tableWorkerProtocol.d.cts +0 -88
  565. package/dist/worker/tableWorkerProtocol.js.map +0 -1
  566. package/src/core/cells/constructCell.ts +0 -55
  567. package/src/core/cells/coreCellsFeature.ts +0 -27
  568. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  569. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  570. package/src/core/columns/constructColumn.ts +0 -125
  571. package/src/core/columns/coreColumnsFeature.ts +0 -73
  572. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  573. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  574. package/src/core/coreFeatures.ts +0 -31
  575. package/src/core/headers/buildHeaderGroups.ts +0 -184
  576. package/src/core/headers/constructHeader.ts +0 -67
  577. package/src/core/headers/coreHeadersFeature.ts +0 -56
  578. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  579. package/src/core/headers/coreHeadersFeature.utils.ts +0 -199
  580. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  581. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  582. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  583. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -50
  584. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  585. package/src/core/row-models/createCoreRowModel.ts +0 -94
  586. package/src/core/rows/constructRow.ts +0 -68
  587. package/src/core/rows/coreRowsFeature.ts +0 -83
  588. package/src/core/rows/coreRowsFeature.types.ts +0 -154
  589. package/src/core/rows/coreRowsFeature.utils.ts +0 -352
  590. package/src/core/table/constructTable.ts +0 -210
  591. package/src/core/table/coreTablesFeature.ts +0 -19
  592. package/src/core/table/coreTablesFeature.types.ts +0 -241
  593. package/src/core/table/coreTablesFeature.utils.ts +0 -171
  594. package/src/experimental-worker-plugin.ts +0 -22
  595. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  596. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -78
  597. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -180
  598. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -92
  599. package/src/features/column-faceting/createFacetedRowModel.ts +0 -92
  600. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -97
  601. package/src/features/column-filtering/columnFilteringFeature.ts +0 -87
  602. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -308
  603. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -345
  604. package/src/features/column-filtering/createFilteredRowModel.ts +0 -194
  605. package/src/features/column-filtering/filterFns.ts +0 -533
  606. package/src/features/column-filtering/filterRowsUtils.ts +0 -158
  607. package/src/features/column-grouping/columnGroupingFeature.ts +0 -97
  608. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -152
  609. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -271
  610. package/src/features/column-grouping/createGroupedRowModel.ts +0 -221
  611. package/src/features/column-ordering/columnOrderingFeature.ts +0 -78
  612. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -86
  613. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -292
  614. package/src/features/column-pinning/columnPinningFeature.ts +0 -333
  615. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -203
  616. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -922
  617. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  618. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -86
  619. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -432
  620. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  621. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -147
  622. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -462
  623. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -126
  624. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  625. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -402
  626. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  627. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  628. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -126
  629. package/src/features/row-aggregation/aggregationFns.ts +0 -345
  630. package/src/features/row-aggregation/rowAggregationFeature.ts +0 -60
  631. package/src/features/row-aggregation/rowAggregationFeature.types.ts +0 -339
  632. package/src/features/row-aggregation/rowAggregationFeature.utils.ts +0 -430
  633. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  634. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  635. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -132
  636. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -399
  637. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  638. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  639. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -137
  640. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  641. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  642. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  643. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  644. package/src/features/row-selection/rowSelectionFeature.ts +0 -190
  645. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -195
  646. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -927
  647. package/src/features/row-sorting/createSortedRowModel.ts +0 -189
  648. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  649. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -288
  650. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -513
  651. package/src/features/row-sorting/sortFns.ts +0 -366
  652. package/src/features/stockFeatures.ts +0 -56
  653. package/src/flex-render.ts +0 -70
  654. package/src/helpers/columnHelper.ts +0 -122
  655. package/src/helpers/metaHelper.ts +0 -24
  656. package/src/helpers/tableFeatures.ts +0 -56
  657. package/src/helpers/tableOptions.ts +0 -117
  658. package/src/index.ts +0 -138
  659. package/src/process-env.d.ts +0 -6
  660. package/src/reactivity.ts +0 -2
  661. package/src/static-functions.ts +0 -32
  662. package/src/store-reactivity-bindings.ts +0 -47
  663. package/src/types/Cell.ts +0 -23
  664. package/src/types/Column.ts +0 -55
  665. package/src/types/ColumnDef.ts +0 -258
  666. package/src/types/Header.ts +0 -23
  667. package/src/types/HeaderGroup.ts +0 -13
  668. package/src/types/Row.ts +0 -36
  669. package/src/types/RowModel.ts +0 -43
  670. package/src/types/RowModelFns.ts +0 -32
  671. package/src/types/Table.ts +0 -116
  672. package/src/types/TableFeatures.ts +0 -479
  673. package/src/types/TableOptions.ts +0 -154
  674. package/src/types/TableState.ts +0 -61
  675. package/src/types/type-utils.ts +0 -92
  676. package/src/utils.ts +0 -493
  677. package/src/worker/createTableWorker.ts +0 -357
  678. package/src/worker/createWorkerRowModel.ts +0 -121
  679. package/src/worker/initTableWorker.ts +0 -164
  680. package/src/worker/rebuildRowModel.ts +0 -120
  681. package/src/worker/serializeRowModel.ts +0 -80
  682. package/src/worker/tableWorkerProtocol.ts +0 -105
@@ -1,193 +0,0 @@
1
- import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
2
- import { SortDirection, SortFn, SortingState } from "./rowSortingFeature.types.cjs";
3
- import { Table } from "../../types/Table.cjs";
4
- import { Column } from "../../types/Column.cjs";
5
- import { TableFeatures } from "../../types/TableFeatures.cjs";
6
-
7
- //#region src/features/row-sorting/rowSortingFeature.utils.d.ts
8
- /**
9
- * Creates the default sorting state.
10
- *
11
- * The feature default is an empty array, meaning no columns are sorted. Reset
12
- * APIs use this value when `defaultState` is `true`.
13
- *
14
- * @example
15
- * ```ts
16
- * const sorting = getDefaultSortingState()
17
- * ```
18
- */
19
- declare function getDefaultSortingState(): SortingState;
20
- /**
21
- * Routes a sorting updater through the table's sorting change handler.
22
- *
23
- * The updater may be a next `SortingState` array or a function of the previous
24
- * sorting state, matching the instance `table.setSorting` behavior.
25
- *
26
- * @example
27
- * ```ts
28
- * table_setSorting(table, (old) => [...old, { id: 'age', desc: true }])
29
- * ```
30
- */
31
- declare function table_setSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<SortingState>): void;
32
- /**
33
- * Resets `sorting` to the configured initial state or feature default.
34
- *
35
- * With no argument, the reset clones `table.initialState.sorting` when it
36
- * exists. Passing `true` ignores initial state and resets to `[]`.
37
- *
38
- * @example
39
- * ```ts
40
- * table_resetSorting(table)
41
- * table_resetSorting(table, true)
42
- * ```
43
- */
44
- declare function table_resetSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
45
- /**
46
- * Chooses a built-in sorting function from sampled filtered row values.
47
- *
48
- * Date-like values use `datetime`, mixed text/numeric strings use
49
- * `alphanumeric`, plain strings use `text`, and unknown values fall back to
50
- * `basic`.
51
- *
52
- * @example
53
- * ```ts
54
- * const sortFn = column_getAutoSortFn(column)
55
- * ```
56
- */
57
- declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
58
- /**
59
- * Chooses the default first sort direction from the first filtered row value.
60
- *
61
- * String columns start ascending so alphabetical order is natural; other value
62
- * types start descending.
63
- *
64
- * @example
65
- * ```ts
66
- * const direction = column_getAutoSortDir(column)
67
- * ```
68
- */
69
- declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): "asc" | "desc";
70
- /**
71
- * Resolves the sorting function configured for a column.
72
- *
73
- * Function-valued `columnDef.sortFn` is returned directly, `'auto'` delegates
74
- * to `column_getAutoSortFn`, and string values are looked up in the table's
75
- * sorting function registry before falling back to `basic`.
76
- *
77
- * @example
78
- * ```ts
79
- * const sortFn = column_getSortFn(column)
80
- * ```
81
- */
82
- declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
83
- /**
84
- * Applies the next sorting state for this column.
85
- *
86
- * The toggle can add, replace, flip, or remove this column's sort entry. Multi
87
- * sorting respects `enableMultiSort`, `maxMultiSortColCount`, and the `multi`
88
- * argument.
89
- *
90
- * @example
91
- * ```ts
92
- * column_toggleSorting(column, undefined, true)
93
- * ```
94
- */
95
- declare function column_toggleSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, desc?: boolean, multi?: boolean): void;
96
- /**
97
- * Resolves the first direction used when this column begins sorting.
98
- *
99
- * Column-level `sortDescFirst` wins, then table-level `sortDescFirst`, then the
100
- * auto direction inferred from sampled values.
101
- *
102
- * @example
103
- * ```ts
104
- * const firstDirection = column_getFirstSortDir(column)
105
- * ```
106
- */
107
- declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): "asc" | "desc";
108
- /**
109
- * Resolves the next sort order for this column's toggle cycle.
110
- *
111
- * The cycle starts with the first sort direction, flips between `asc` and
112
- * `desc`, and can return `false` when sorting removal is enabled.
113
- *
114
- * @example
115
- * ```ts
116
- * const nextOrder = column_getNextSortingOrder(column)
117
- * ```
118
- */
119
- declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, multi?: boolean): false | "asc" | "desc";
120
- /**
121
- * Checks whether this accessor column can participate in sorting.
122
- *
123
- * The column must have an accessor and sorting must be enabled by both the
124
- * column definition and table options.
125
- *
126
- * @example
127
- * ```ts
128
- * const canSort = column_getCanSort(column)
129
- * ```
130
- */
131
- declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
132
- /**
133
- * Checks whether this column can be added to a multi-sort state.
134
- *
135
- * Column-level `enableMultiSort` wins over table-level `enableMultiSort`; if
136
- * neither is set, accessor columns can multi-sort by default.
137
- *
138
- * @example
139
- * ```ts
140
- * const canMultiSort = column_getCanMultiSort(column)
141
- * ```
142
- */
143
- declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
144
- /**
145
- * Reads this column's current sort direction.
146
- *
147
- * The result is `false` when the column is not sorted, otherwise `'asc'` or
148
- * `'desc'` based on the column's entry in `state.sorting`.
149
- *
150
- * @example
151
- * ```ts
152
- * const direction = column_getIsSorted(column)
153
- * ```
154
- */
155
- declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): false | SortDirection;
156
- /**
157
- * Finds this column's position in the ordered `state.sorting` array.
158
- *
159
- * The result is `-1` when the column is not sorted.
160
- *
161
- * @example
162
- * ```ts
163
- * const index = column_getSortIndex(column)
164
- * ```
165
- */
166
- declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
167
- /**
168
- * Removes this column from the sorting state.
169
- *
170
- * Other sorted columns are preserved, including their relative order.
171
- *
172
- * @example
173
- * ```ts
174
- * column_clearSorting(column)
175
- * ```
176
- */
177
- declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): void;
178
- /**
179
- * Creates a header event handler that toggles this column's sorting.
180
- *
181
- * The handler ignores events when the column cannot sort, persists React-style
182
- * synthetic events when present, and asks `options.isMultiSortEvent` whether
183
- * the event should add to a multi-sort.
184
- *
185
- * @example
186
- * ```ts
187
- * const onClick = column_getToggleSortingHandler(column)
188
- * ```
189
- */
190
- declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): (e: unknown) => void;
191
- //#endregion
192
- export { 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 };
193
- //# sourceMappingURL=rowSortingFeature.utils.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rowSortingFeature.utils.js","names":[],"sources":["../../../src/features/row-sorting/rowSortingFeature.utils.ts"],"sourcesContent":["import { cloneState, isFunction } from '../../utils'\nimport { reSplitAlphaNumeric, sortFn_basic } from './sortFns'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n SortDirection,\n SortFn,\n SortingState,\n} from './rowSortingFeature.types'\n\n// State Utils\n\n/**\n * Creates the default sorting state.\n *\n * The feature default is an empty array, meaning no columns are sorted. Reset\n * APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const sorting = getDefaultSortingState()\n * ```\n */\nexport function getDefaultSortingState(): SortingState {\n return []\n}\n\n/**\n * Routes a sorting updater through the table's sorting change handler.\n *\n * The updater may be a next `SortingState` array or a function of the previous\n * sorting state, matching the instance `table.setSorting` behavior.\n *\n * @example\n * ```ts\n * table_setSorting(table, (old) => [...old, { id: 'age', desc: true }])\n * ```\n */\nexport function table_setSorting<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<SortingState>) {\n table.options.onSortingChange?.(updater)\n}\n\n/**\n * Resets `sorting` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.sorting` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetSorting(table)\n * table_resetSorting(table, true)\n * ```\n */\nexport function table_resetSorting<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setSorting(\n table,\n defaultState ? [] : cloneState(table.initialState.sorting ?? []),\n )\n}\n\n// Column Utils\n\n/**\n * Chooses a built-in sorting function from sampled filtered row values.\n *\n * Date-like values use `datetime`, mixed text/numeric strings use\n * `alphanumeric`, plain strings use `text`, and unknown values fall back to\n * `basic`.\n *\n * @example\n * ```ts\n * const sortFn = column_getAutoSortFn(column)\n * ```\n */\nexport function column_getAutoSortFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): SortFn<TFeatures, TData> {\n const sortFns: Record<string, SortFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.sortFns\n\n const firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10)\n\n let sortFnName: string | undefined\n let isString = false\n\n for (let i = 0; i < firstRows.length; i++) {\n const value = firstRows[i]!.getValue(column.id)\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n sortFnName = 'datetime'\n break\n }\n\n if (typeof value === 'string') {\n isString = true\n\n if (value.split(reSplitAlphaNumeric).length > 1) {\n sortFnName = 'alphanumeric'\n break\n }\n }\n }\n\n if (!sortFnName && isString) {\n sortFnName = 'text'\n }\n\n if (sortFnName) {\n let sortFn = sortFns?.[sortFnName]\n\n if (!sortFn) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n `sortFn '${sortFnName}' (auto) for column '${column.id}' is not registered`,\n )\n }\n\n // String columns degrade to a registered text sort before basic\n if (sortFnName === 'alphanumeric') {\n sortFn = sortFns?.text\n }\n }\n\n if (sortFn) {\n return sortFn\n }\n }\n\n return sortFn_basic\n}\n\n/**\n * Chooses the default first sort direction from the first filtered row value.\n *\n * String columns start ascending so alphabetical order is natural; other value\n * types start descending.\n *\n * @example\n * ```ts\n * const direction = column_getAutoSortDir(column)\n * ```\n */\nexport function column_getAutoSortDir<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const firstRow = column.table.getFilteredRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return 'asc'\n }\n\n return 'desc'\n}\n\n/**\n * Resolves the sorting function configured for a column.\n *\n * Function-valued `columnDef.sortFn` is returned directly, `'auto'` delegates\n * to `column_getAutoSortFn`, and string values are looked up in the table's\n * sorting function registry before falling back to `basic`.\n *\n * @example\n * ```ts\n * const sortFn = column_getSortFn(column)\n * ```\n */\nexport function column_getSortFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): SortFn<TFeatures, TData> {\n const sortFns: Record<string, SortFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.sortFns\n\n if (isFunction(column.columnDef.sortFn)) {\n return column.columnDef.sortFn\n }\n\n if (column.columnDef.sortFn === 'auto') {\n return column_getAutoSortFn(column)\n }\n\n const sortFn = sortFns?.[column.columnDef.sortFn as string]\n\n if (process.env.NODE_ENV === 'development' && !sortFn) {\n console.warn(\n `sortFn '${String(column.columnDef.sortFn)}' for column '${column.id}' is not registered`,\n )\n }\n\n return sortFn ?? sortFn_basic\n}\n\n/**\n * Applies the next sorting state for this column.\n *\n * The toggle can add, replace, flip, or remove this column's sort entry. Multi\n * sorting respects `enableMultiSort`, `maxMultiSortColCount`, and the `multi`\n * argument.\n *\n * @example\n * ```ts\n * column_toggleSorting(column, undefined, true)\n * ```\n */\nexport function column_toggleSorting<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n desc?: boolean,\n multi?: boolean,\n) {\n // this needs to be outside of table.setSorting to be in sync with rerender\n const nextSortingOrder = column_getNextSortingOrder(column)\n const hasManualValue = typeof desc !== 'undefined'\n\n table_setSorting(column.table, (old) => {\n // Find any existing sorting for this column\n const existingIndex = old.findIndex((d) => d.id === column.id)\n const existingSorting =\n existingIndex === -1 ? undefined : old[existingIndex]\n\n let newSorting: SortingState = []\n\n // What should we do with this sort action?\n let sortAction: 'add' | 'remove' | 'toggle' | 'replace'\n const nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc'\n\n // Multi-mode\n if (old.length && column_getCanMultiSort(column) && multi) {\n if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (old.length && existingIndex !== old.length - 1) {\n sortAction = 'replace'\n } else if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sorting\n if (sortAction === 'toggle') {\n // If we are \"actually\" toggling (not a manual set value), should we remove the sorting?\n if (!hasManualValue) {\n // Is our intention to remove?\n if (!nextSortingOrder) {\n sortAction = 'remove'\n }\n }\n }\n\n if (sortAction === 'add') {\n newSorting = [\n ...old,\n {\n id: column.id,\n desc: nextDesc,\n },\n ]\n // Take latest n columns\n newSorting.splice(\n 0,\n newSorting.length -\n (column.table.options.maxMultiSortColCount ??\n Number.MAX_SAFE_INTEGER),\n )\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSorting = old.map((d) => {\n if (d.id === column.id) {\n return {\n ...d,\n desc: nextDesc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSorting = old.filter((d) => d.id !== column.id)\n } else {\n newSorting = [\n {\n id: column.id,\n desc: nextDesc,\n },\n ]\n }\n\n return newSorting\n })\n}\n\n/**\n * Resolves the first direction used when this column begins sorting.\n *\n * Column-level `sortDescFirst` wins, then table-level `sortDescFirst`, then the\n * auto direction inferred from sampled values.\n *\n * @example\n * ```ts\n * const firstDirection = column_getFirstSortDir(column)\n * ```\n */\nexport function column_getFirstSortDir<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const sortDescFirst =\n column.columnDef.sortDescFirst ??\n column.table.options.sortDescFirst ??\n column_getAutoSortDir(column) === 'desc'\n return sortDescFirst ? 'desc' : 'asc'\n}\n\n/**\n * Resolves the next sort order for this column's toggle cycle.\n *\n * The cycle starts with the first sort direction, flips between `asc` and\n * `desc`, and can return `false` when sorting removal is enabled.\n *\n * @example\n * ```ts\n * const nextOrder = column_getNextSortingOrder(column)\n * ```\n */\nexport function column_getNextSortingOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, multi?: boolean) {\n const firstSortDirection = column_getFirstSortDir(column)\n const isSorted = column_getIsSorted(column)\n\n if (!isSorted) {\n return firstSortDirection\n }\n\n if (\n isSorted !== firstSortDirection &&\n (column.table.options.enableSortingRemoval ?? true) && // If enableSortRemove, enable in general\n (multi ? (column.table.options.enableMultiRemove ?? true) : true) // If multi, don't allow if enableMultiRemove))\n ) {\n return false\n }\n return isSorted === 'desc' ? 'asc' : 'desc'\n}\n\n/**\n * Checks whether this accessor column can participate in sorting.\n *\n * The column must have an accessor and sorting must be enabled by both the\n * column definition and table options.\n *\n * @example\n * ```ts\n * const canSort = column_getCanSort(column)\n * ```\n */\nexport function column_getCanSort<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableSorting ?? true) &&\n (column.table.options.enableSorting ?? true) &&\n !!column.accessorFn\n )\n}\n\n/**\n * Checks whether this column can be added to a multi-sort state.\n *\n * Column-level `enableMultiSort` wins over table-level `enableMultiSort`; if\n * neither is set, accessor columns can multi-sort by default.\n *\n * @example\n * ```ts\n * const canMultiSort = column_getCanMultiSort(column)\n * ```\n */\nexport function column_getCanMultiSort<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return (\n column.columnDef.enableMultiSort ??\n column.table.options.enableMultiSort ??\n !!column.accessorFn\n )\n}\n\n/**\n * Reads this column's current sort direction.\n *\n * The result is `false` when the column is not sorted, otherwise `'asc'` or\n * `'desc'` based on the column's entry in `state.sorting`.\n *\n * @example\n * ```ts\n * const direction = column_getIsSorted(column)\n * ```\n */\nexport function column_getIsSorted<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): false | SortDirection {\n const columnSort = column.table.atoms.sorting\n ?.get()\n ?.find((d) => d.id === column.id)\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc'\n}\n\n/**\n * Finds this column's position in the ordered `state.sorting` array.\n *\n * The result is `-1` when the column is not sorted.\n *\n * @example\n * ```ts\n * const index = column_getSortIndex(column)\n * ```\n */\nexport function column_getSortIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.sorting?.get()?.findIndex((d) => d.id === column.id) ??\n -1\n )\n}\n\n/**\n * Removes this column from the sorting state.\n *\n * Other sorted columns are preserved, including their relative order.\n *\n * @example\n * ```ts\n * column_clearSorting(column)\n * ```\n */\nexport function column_clearSorting<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n // clear sorting for just 1 column\n table_setSorting(column.table, (old) =>\n old.length ? old.filter((d) => d.id !== column.id) : [],\n )\n}\n\n/**\n * Creates a header event handler that toggles this column's sorting.\n *\n * The handler ignores events when the column cannot sort, persists React-style\n * synthetic events when present, and asks `options.isMultiSortEvent` whether\n * the event should add to a multi-sort.\n *\n * @example\n * ```ts\n * const onClick = column_getToggleSortingHandler(column)\n * ```\n */\nexport function column_getToggleSortingHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const canSort = column_getCanSort(column)\n\n return (e: unknown) => {\n if (!canSort) return\n ;(e as any).persist?.()\n column_toggleSorting(\n column,\n\n undefined,\n column_getCanMultiSort(column)\n ? column.table.options.isMultiSortEvent?.(e)\n : false,\n )\n }\n}\n"],"mappings":"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"}
@@ -1,226 +0,0 @@
1
-
2
- //#region src/features/row-sorting/sortFns.ts
3
- /**
4
- * Regular expression used to split mixed text and numeric chunks.
5
- *
6
- * The alphanumeric sort functions use these chunks for natural sorting of
7
- * strings like `item2` before `item10`.
8
- */
9
- const reSplitAlphaNumeric = /([0-9]+)/gm;
10
- /**
11
- * Builds a `SortFn` from a value-level comparator plus an optional
12
- * `resolveDataValue` normalizer.
13
- *
14
- * The `sort` comparator receives both rows' data values, each already passed
15
- * through `resolveDataValue` when one is defined. Keeping normalization in the
16
- * resolver means a variant of an existing sorting function only has to swap
17
- * the resolver, not re-implement the comparison.
18
- *
19
- * The definition is attached to the returned function, so a variant can be
20
- * created by spreading a built-in sorting function and overriding what
21
- * differs:
22
- *
23
- * ```ts
24
- * const stripDiacritics = (value: string) =>
25
- * value.normalize('NFD').replace(/\p{Diacritic}/gu, '')
26
- *
27
- * const alphanumericIgnoreDiacritics = constructSortFn({
28
- * ...sortFn_alphanumeric,
29
- * resolveDataValue: (value) =>
30
- * stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),
31
- * })
32
- * ```
33
- */
34
- function constructSortFn(def) {
35
- const sortFn = Object.assign((rowA, rowB, columnId) => {
36
- let dataValueA = rowA.getValue(columnId);
37
- let dataValueB = rowB.getValue(columnId);
38
- const resolveDataValue = sortFn.resolveDataValue;
39
- if (resolveDataValue) {
40
- dataValueA = resolveDataValue(dataValueA);
41
- dataValueB = resolveDataValue(dataValueB);
42
- }
43
- return sortFn.sort(dataValueA, dataValueB, rowA, rowB, columnId);
44
- }, def);
45
- return sortFn;
46
- }
47
- /**
48
- * Sorts rows with the built-in alphanumeric strategy.
49
- *
50
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
51
- */
52
- const sortFn_alphanumeric = constructSortFn({
53
- resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),
54
- sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)
55
- });
56
- /**
57
- * Sorts rows with the built-in alphanumeric case sensitive strategy.
58
- *
59
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
60
- */
61
- const sortFn_alphanumericCaseSensitive = constructSortFn({
62
- resolveDataValue: (dataValue) => toString(dataValue),
63
- sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)
64
- });
65
- /**
66
- * Sorts rows with the built-in text strategy.
67
- *
68
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
69
- */
70
- const sortFn_text = constructSortFn({
71
- resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),
72
- sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)
73
- });
74
- /**
75
- * Sorts rows with the built-in text case sensitive strategy.
76
- *
77
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
78
- */
79
- const sortFn_textCaseSensitive = constructSortFn({
80
- resolveDataValue: (dataValue) => toString(dataValue),
81
- sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)
82
- });
83
- /**
84
- * Sorts rows with the built-in datetime strategy.
85
- *
86
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
87
- */
88
- const sortFn_datetime = constructSortFn({
89
- resolveDataValue: (dataValue) => toDateSortValue(dataValue),
90
- sort: (dataValueA, dataValueB) => dataValueA > dataValueB ? 1 : dataValueA < dataValueB ? -1 : 0
91
- });
92
- /**
93
- * Sorts rows with the built-in basic strategy.
94
- *
95
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
96
- */
97
- const sortFn_basic = constructSortFn({ sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB) });
98
- function compareBasic(a, b) {
99
- return a === b ? 0 : a > b ? 1 : -1;
100
- }
101
- function toDateSortValue(value) {
102
- return value instanceof Date ? value.getTime() : value;
103
- }
104
- function toString(a) {
105
- if (typeof a === "number") {
106
- if (isNaN(a) || a === Infinity || a === -Infinity) return "";
107
- return String(a);
108
- }
109
- if (typeof a === "string") return a;
110
- return "";
111
- }
112
- function compareAlphanumeric(aStr, bStr) {
113
- let ai = 0;
114
- let bi = 0;
115
- const aLen = aStr.length;
116
- const bLen = bStr.length;
117
- while (ai < aLen && bi < bLen) {
118
- const aIsNumeric = isDigit(aStr.charCodeAt(ai));
119
- const bIsNumeric = isDigit(bStr.charCodeAt(bi));
120
- const aEnd = findChunkEnd(aStr, ai, aIsNumeric);
121
- const bEnd = findChunkEnd(bStr, bi, bIsNumeric);
122
- if (!aIsNumeric && !bIsNumeric) {
123
- const stringComparison = compareStringChunks(aStr, ai, aEnd, bStr, bi, bEnd);
124
- if (stringComparison) return stringComparison;
125
- ai = aEnd;
126
- bi = bEnd;
127
- continue;
128
- }
129
- if (aIsNumeric !== bIsNumeric) return aIsNumeric ? 1 : -1;
130
- const numericComparison = compareNumericChunks(aStr, ai, aEnd, bStr, bi, bEnd);
131
- if (numericComparison) return numericComparison;
132
- ai = aEnd;
133
- bi = bEnd;
134
- }
135
- return countRemainingChunks(aStr, ai) - countRemainingChunks(bStr, bi);
136
- }
137
- function isDigit(charCode) {
138
- return charCode >= 48 && charCode <= 57;
139
- }
140
- function findChunkEnd(str, start, isNumeric) {
141
- let end = start + 1;
142
- while (end < str.length && isDigit(str.charCodeAt(end)) === isNumeric) end++;
143
- return end;
144
- }
145
- function compareStringChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {
146
- const aLength = aEnd - aStart;
147
- const bLength = bEnd - bStart;
148
- const minLength = aLength < bLength ? aLength : bLength;
149
- for (let i = 0; i < minLength; i++) {
150
- const aCode = aStr.charCodeAt(aStart + i);
151
- const bCode = bStr.charCodeAt(bStart + i);
152
- if (aCode > bCode) return 1;
153
- if (bCode > aCode) return -1;
154
- }
155
- if (aLength > bLength) return 1;
156
- if (bLength > aLength) return -1;
157
- return 0;
158
- }
159
- function compareNumericChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {
160
- let aSignificantStart = aStart;
161
- while (aSignificantStart < aEnd && aStr.charCodeAt(aSignificantStart) === 48) aSignificantStart++;
162
- let bSignificantStart = bStart;
163
- while (bSignificantStart < bEnd && bStr.charCodeAt(bSignificantStart) === 48) bSignificantStart++;
164
- const aSignificantLength = aEnd - aSignificantStart;
165
- const bSignificantLength = bEnd - bSignificantStart;
166
- if (aSignificantLength === 0 && bSignificantLength === 0) return 0;
167
- if (aSignificantLength <= 15 && bSignificantLength <= 15) {
168
- const an = parseSmallInt(aStr, aSignificantStart, aEnd);
169
- const bn = parseSmallInt(bStr, bSignificantStart, bEnd);
170
- if (an > bn) return 1;
171
- if (bn > an) return -1;
172
- return 0;
173
- }
174
- const an = parseInt(aStr.slice(aStart, aEnd), 10);
175
- const bn = parseInt(bStr.slice(bStart, bEnd), 10);
176
- if (an > bn) return 1;
177
- if (bn > an) return -1;
178
- return 0;
179
- }
180
- function parseSmallInt(str, start, end) {
181
- let result = 0;
182
- for (let i = start; i < end; i++) result = result * 10 + str.charCodeAt(i) - 48;
183
- return result;
184
- }
185
- function countRemainingChunks(str, start) {
186
- let count = 0;
187
- let index = start;
188
- while (index < str.length) {
189
- count++;
190
- index = findChunkEnd(str, index, isDigit(str.charCodeAt(index)));
191
- }
192
- return count;
193
- }
194
- /**
195
- * The built-in sorting function registry.
196
- *
197
- * Registering this full object opts out of tree-shaking: every built-in
198
- * sorting function ends up in your bundle. Prefer importing the `sortFn_*`
199
- * functions you actually use and registering just those in the `sortFns`
200
- * slot, or passing them directly to the `sortFn` column option.
201
- *
202
- * @deprecated Import individual `sortFn_*` functions instead for a smaller
203
- * bundle. This export still works and is not going away in v9, but built-in
204
- * name resolution (including `sortFn: 'auto'`) only finds functions you
205
- * register yourself.
206
- */
207
- const sortFns = {
208
- alphanumeric: sortFn_alphanumeric,
209
- alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,
210
- basic: sortFn_basic,
211
- datetime: sortFn_datetime,
212
- text: sortFn_text,
213
- textCaseSensitive: sortFn_textCaseSensitive
214
- };
215
-
216
- //#endregion
217
- exports.constructSortFn = constructSortFn;
218
- exports.reSplitAlphaNumeric = reSplitAlphaNumeric;
219
- exports.sortFn_alphanumeric = sortFn_alphanumeric;
220
- exports.sortFn_alphanumericCaseSensitive = sortFn_alphanumericCaseSensitive;
221
- exports.sortFn_basic = sortFn_basic;
222
- exports.sortFn_datetime = sortFn_datetime;
223
- exports.sortFn_text = sortFn_text;
224
- exports.sortFn_textCaseSensitive = sortFn_textCaseSensitive;
225
- exports.sortFns = sortFns;
226
- //# sourceMappingURL=sortFns.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortFns.cjs","names":[],"sources":["../../../src/features/row-sorting/sortFns.ts"],"sourcesContent":["import type { CreatedSortFn, SortFnDef } from './rowSortingFeature.types'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\n\n/**\n * Regular expression used to split mixed text and numeric chunks.\n *\n * The alphanumeric sort functions use these chunks for natural sorting of\n * strings like `item2` before `item10`.\n */\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\n/**\n * Builds a `SortFn` from a value-level comparator plus an optional\n * `resolveDataValue` normalizer.\n *\n * The `sort` comparator receives both rows' data values, each already passed\n * through `resolveDataValue` when one is defined. Keeping normalization in the\n * resolver means a variant of an existing sorting function only has to swap\n * the resolver, not re-implement the comparison.\n *\n * The definition is attached to the returned function, so a variant can be\n * created by spreading a built-in sorting function and overriding what\n * differs:\n *\n * ```ts\n * const stripDiacritics = (value: string) =>\n * value.normalize('NFD').replace(/\\p{Diacritic}/gu, '')\n *\n * const alphanumericIgnoreDiacritics = constructSortFn({\n * ...sortFn_alphanumeric,\n * resolveDataValue: (value) =>\n * stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),\n * })\n * ```\n */\nexport function constructSortFn<\n TFeatures extends TableFeatures = any,\n TData extends RowData = any,\n>(def: SortFnDef<TFeatures, TData>): CreatedSortFn<TFeatures, TData> {\n const sortFn: CreatedSortFn<TFeatures, TData> = Object.assign(\n <TRowFeatures extends TableFeatures, TRowData extends RowData>(\n rowA: Row<TRowFeatures, TRowData>,\n rowB: Row<TRowFeatures, TRowData>,\n columnId: string,\n ): number => {\n let dataValueA = rowA.getValue(columnId)\n let dataValueB = rowB.getValue(columnId)\n const resolveDataValue = sortFn.resolveDataValue\n if (resolveDataValue) {\n dataValueA = resolveDataValue(dataValueA)\n dataValueB = resolveDataValue(dataValueB)\n }\n // The def's comparator is typed against the factory's TFeatures/TData;\n // the caller's row generics are erased at this boundary.\n return sortFn.sort(\n dataValueA,\n dataValueB,\n rowA as any,\n rowB as any,\n columnId,\n )\n },\n def,\n )\n return sortFn\n}\n\n/**\n * Sorts rows with the built-in alphanumeric strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_alphanumeric = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),\n sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB),\n})\n\n/**\n * Sorts rows with the built-in alphanumeric case sensitive strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_alphanumericCaseSensitive = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue),\n sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB),\n})\n\n// The text sort is more basic (less numeric support)\n// but is much faster\n/**\n * Sorts rows with the built-in text strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_text = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),\n sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB),\n})\n\n// The text sort is more basic (less numeric support)\n// but is much faster\n/**\n * Sorts rows with the built-in text case sensitive strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_textCaseSensitive = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue),\n sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB),\n})\n\n/**\n * Sorts rows with the built-in datetime strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_datetime = constructSortFn({\n resolveDataValue: (dataValue) => toDateSortValue(dataValue),\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n sort: (dataValueA, dataValueB) =>\n dataValueA > dataValueB ? 1 : dataValueA < dataValueB ? -1 : 0,\n})\n\n/**\n * Sorts rows with the built-in basic strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_basic = constructSortFn({\n sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB),\n})\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toDateSortValue(value: any) {\n return value instanceof Date ? value.getTime() : value\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n let ai = 0\n let bi = 0\n const aLen = aStr.length\n const bLen = bStr.length\n\n while (ai < aLen && bi < bLen) {\n const aIsNumeric = isDigit(aStr.charCodeAt(ai))\n const bIsNumeric = isDigit(bStr.charCodeAt(bi))\n\n const aEnd = findChunkEnd(aStr, ai, aIsNumeric)\n const bEnd = findChunkEnd(bStr, bi, bIsNumeric)\n\n // Both are string chunks\n if (!aIsNumeric && !bIsNumeric) {\n const stringComparison = compareStringChunks(\n aStr,\n ai,\n aEnd,\n bStr,\n bi,\n bEnd,\n )\n if (stringComparison) {\n return stringComparison\n }\n ai = aEnd\n bi = bEnd\n continue\n }\n\n // One is a string chunk, one is a number chunk — the string sorts first\n if (aIsNumeric !== bIsNumeric) {\n return aIsNumeric ? 1 : -1\n }\n\n // Both are numeric chunks\n const numericComparison = compareNumericChunks(\n aStr,\n ai,\n aEnd,\n bStr,\n bi,\n bEnd,\n )\n if (numericComparison) {\n return numericComparison\n }\n\n ai = aEnd\n bi = bEnd\n }\n\n // One side is exhausted — compare the counts of remaining non-empty chunks\n return countRemainingChunks(aStr, ai) - countRemainingChunks(bStr, bi)\n}\n\nfunction isDigit(charCode: number) {\n return charCode >= 48 && charCode <= 57\n}\n\nfunction findChunkEnd(str: string, start: number, isNumeric: boolean) {\n let end = start + 1\n while (end < str.length && isDigit(str.charCodeAt(end)) === isNumeric) {\n end++\n }\n return end\n}\n\nfunction compareStringChunks(\n aStr: string,\n aStart: number,\n aEnd: number,\n bStr: string,\n bStart: number,\n bEnd: number,\n) {\n const aLength = aEnd - aStart\n const bLength = bEnd - bStart\n const minLength = aLength < bLength ? aLength : bLength\n\n for (let i = 0; i < minLength; i++) {\n const aCode = aStr.charCodeAt(aStart + i)\n const bCode = bStr.charCodeAt(bStart + i)\n\n if (aCode > bCode) {\n return 1\n }\n if (bCode > aCode) {\n return -1\n }\n }\n\n if (aLength > bLength) {\n return 1\n }\n if (bLength > aLength) {\n return -1\n }\n return 0\n}\n\nfunction compareNumericChunks(\n aStr: string,\n aStart: number,\n aEnd: number,\n bStr: string,\n bStart: number,\n bEnd: number,\n) {\n let aSignificantStart = aStart\n while (\n aSignificantStart < aEnd &&\n aStr.charCodeAt(aSignificantStart) === 48\n ) {\n aSignificantStart++\n }\n\n let bSignificantStart = bStart\n while (\n bSignificantStart < bEnd &&\n bStr.charCodeAt(bSignificantStart) === 48\n ) {\n bSignificantStart++\n }\n\n const aSignificantLength = aEnd - aSignificantStart\n const bSignificantLength = bEnd - bSignificantStart\n\n if (aSignificantLength === 0 && bSignificantLength === 0) {\n return 0\n }\n\n if (aSignificantLength <= 15 && bSignificantLength <= 15) {\n const an = parseSmallInt(aStr, aSignificantStart, aEnd)\n const bn = parseSmallInt(bStr, bSignificantStart, bEnd)\n\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n return 0\n }\n\n // Preserve parseInt precision-collapse behavior for unusually large chunks.\n const an = parseInt(aStr.slice(aStart, aEnd), 10)\n const bn = parseInt(bStr.slice(bStart, bEnd), 10)\n\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n return 0\n}\n\nfunction parseSmallInt(str: string, start: number, end: number) {\n let result = 0\n for (let i = start; i < end; i++) {\n result = result * 10 + str.charCodeAt(i) - 48\n }\n return result\n}\n\nfunction countRemainingChunks(str: string, start: number) {\n let count = 0\n let index = start\n\n while (index < str.length) {\n count++\n index = findChunkEnd(str, index, isDigit(str.charCodeAt(index)))\n }\n\n return count\n}\n\n// Exports\n\n/**\n * The built-in sorting function registry.\n *\n * Registering this full object opts out of tree-shaking: every built-in\n * sorting function ends up in your bundle. Prefer importing the `sortFn_*`\n * functions you actually use and registering just those in the `sortFns`\n * slot, or passing them directly to the `sortFn` column option.\n *\n * @deprecated Import individual `sortFn_*` functions instead for a smaller\n * bundle. This export still works and is not going away in v9, but built-in\n * name resolution (including `sortFn: 'auto'`) only finds functions you\n * register yourself.\n */\nexport const sortFns = {\n alphanumeric: sortFn_alphanumeric,\n alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,\n basic: sortFn_basic,\n datetime: sortFn_datetime,\n text: sortFn_text,\n textCaseSensitive: sortFn_textCaseSensitive,\n}\n\nexport type BuiltInSortFn = keyof typeof sortFns\n"],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- import { RowData } from "../../types/type-utils.cjs";
2
- import { CreatedSortFn, SortFnDef } from "./rowSortingFeature.types.cjs";
3
- import { TableFeatures } from "../../types/TableFeatures.cjs";
4
-
5
- //#region src/features/row-sorting/sortFns.d.ts
6
- /**
7
- * Regular expression used to split mixed text and numeric chunks.
8
- *
9
- * The alphanumeric sort functions use these chunks for natural sorting of
10
- * strings like `item2` before `item10`.
11
- */
12
- declare const reSplitAlphaNumeric: RegExp;
13
- /**
14
- * Builds a `SortFn` from a value-level comparator plus an optional
15
- * `resolveDataValue` normalizer.
16
- *
17
- * The `sort` comparator receives both rows' data values, each already passed
18
- * through `resolveDataValue` when one is defined. Keeping normalization in the
19
- * resolver means a variant of an existing sorting function only has to swap
20
- * the resolver, not re-implement the comparison.
21
- *
22
- * The definition is attached to the returned function, so a variant can be
23
- * created by spreading a built-in sorting function and overriding what
24
- * differs:
25
- *
26
- * ```ts
27
- * const stripDiacritics = (value: string) =>
28
- * value.normalize('NFD').replace(/\p{Diacritic}/gu, '')
29
- *
30
- * const alphanumericIgnoreDiacritics = constructSortFn({
31
- * ...sortFn_alphanumeric,
32
- * resolveDataValue: (value) =>
33
- * stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),
34
- * })
35
- * ```
36
- */
37
- declare function constructSortFn<TFeatures extends TableFeatures = any, TData extends RowData = any>(def: SortFnDef<TFeatures, TData>): CreatedSortFn<TFeatures, TData>;
38
- /**
39
- * Sorts rows with the built-in alphanumeric strategy.
40
- *
41
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
42
- */
43
- declare const sortFn_alphanumeric: CreatedSortFn<any, any>;
44
- /**
45
- * Sorts rows with the built-in alphanumeric case sensitive strategy.
46
- *
47
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
48
- */
49
- declare const sortFn_alphanumericCaseSensitive: CreatedSortFn<any, any>;
50
- /**
51
- * Sorts rows with the built-in text strategy.
52
- *
53
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
54
- */
55
- declare const sortFn_text: CreatedSortFn<any, any>;
56
- /**
57
- * Sorts rows with the built-in text case sensitive strategy.
58
- *
59
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
60
- */
61
- declare const sortFn_textCaseSensitive: CreatedSortFn<any, any>;
62
- /**
63
- * Sorts rows with the built-in datetime strategy.
64
- *
65
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
66
- */
67
- declare const sortFn_datetime: CreatedSortFn<any, any>;
68
- /**
69
- * Sorts rows with the built-in basic strategy.
70
- *
71
- * This comparator returns ascending-order results; descending order is applied by the sorting row model.
72
- */
73
- declare const sortFn_basic: CreatedSortFn<any, any>;
74
- /**
75
- * The built-in sorting function registry.
76
- *
77
- * Registering this full object opts out of tree-shaking: every built-in
78
- * sorting function ends up in your bundle. Prefer importing the `sortFn_*`
79
- * functions you actually use and registering just those in the `sortFns`
80
- * slot, or passing them directly to the `sortFn` column option.
81
- *
82
- * @deprecated Import individual `sortFn_*` functions instead for a smaller
83
- * bundle. This export still works and is not going away in v9, but built-in
84
- * name resolution (including `sortFn: 'auto'`) only finds functions you
85
- * register yourself.
86
- */
87
- declare const sortFns: {
88
- alphanumeric: CreatedSortFn<any, any>;
89
- alphanumericCaseSensitive: CreatedSortFn<any, any>;
90
- basic: CreatedSortFn<any, any>;
91
- datetime: CreatedSortFn<any, any>;
92
- text: CreatedSortFn<any, any>;
93
- textCaseSensitive: CreatedSortFn<any, any>;
94
- };
95
- type BuiltInSortFn = keyof typeof sortFns;
96
- //#endregion
97
- export { BuiltInSortFn, constructSortFn, reSplitAlphaNumeric, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, sortFns };
98
- //# sourceMappingURL=sortFns.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortFns.js","names":[],"sources":["../../../src/features/row-sorting/sortFns.ts"],"sourcesContent":["import type { CreatedSortFn, SortFnDef } from './rowSortingFeature.types'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\n\n/**\n * Regular expression used to split mixed text and numeric chunks.\n *\n * The alphanumeric sort functions use these chunks for natural sorting of\n * strings like `item2` before `item10`.\n */\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\n/**\n * Builds a `SortFn` from a value-level comparator plus an optional\n * `resolveDataValue` normalizer.\n *\n * The `sort` comparator receives both rows' data values, each already passed\n * through `resolveDataValue` when one is defined. Keeping normalization in the\n * resolver means a variant of an existing sorting function only has to swap\n * the resolver, not re-implement the comparison.\n *\n * The definition is attached to the returned function, so a variant can be\n * created by spreading a built-in sorting function and overriding what\n * differs:\n *\n * ```ts\n * const stripDiacritics = (value: string) =>\n * value.normalize('NFD').replace(/\\p{Diacritic}/gu, '')\n *\n * const alphanumericIgnoreDiacritics = constructSortFn({\n * ...sortFn_alphanumeric,\n * resolveDataValue: (value) =>\n * stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),\n * })\n * ```\n */\nexport function constructSortFn<\n TFeatures extends TableFeatures = any,\n TData extends RowData = any,\n>(def: SortFnDef<TFeatures, TData>): CreatedSortFn<TFeatures, TData> {\n const sortFn: CreatedSortFn<TFeatures, TData> = Object.assign(\n <TRowFeatures extends TableFeatures, TRowData extends RowData>(\n rowA: Row<TRowFeatures, TRowData>,\n rowB: Row<TRowFeatures, TRowData>,\n columnId: string,\n ): number => {\n let dataValueA = rowA.getValue(columnId)\n let dataValueB = rowB.getValue(columnId)\n const resolveDataValue = sortFn.resolveDataValue\n if (resolveDataValue) {\n dataValueA = resolveDataValue(dataValueA)\n dataValueB = resolveDataValue(dataValueB)\n }\n // The def's comparator is typed against the factory's TFeatures/TData;\n // the caller's row generics are erased at this boundary.\n return sortFn.sort(\n dataValueA,\n dataValueB,\n rowA as any,\n rowB as any,\n columnId,\n )\n },\n def,\n )\n return sortFn\n}\n\n/**\n * Sorts rows with the built-in alphanumeric strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_alphanumeric = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),\n sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB),\n})\n\n/**\n * Sorts rows with the built-in alphanumeric case sensitive strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_alphanumericCaseSensitive = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue),\n sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB),\n})\n\n// The text sort is more basic (less numeric support)\n// but is much faster\n/**\n * Sorts rows with the built-in text strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_text = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),\n sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB),\n})\n\n// The text sort is more basic (less numeric support)\n// but is much faster\n/**\n * Sorts rows with the built-in text case sensitive strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_textCaseSensitive = constructSortFn({\n resolveDataValue: (dataValue) => toString(dataValue),\n sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB),\n})\n\n/**\n * Sorts rows with the built-in datetime strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_datetime = constructSortFn({\n resolveDataValue: (dataValue) => toDateSortValue(dataValue),\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n sort: (dataValueA, dataValueB) =>\n dataValueA > dataValueB ? 1 : dataValueA < dataValueB ? -1 : 0,\n})\n\n/**\n * Sorts rows with the built-in basic strategy.\n *\n * This comparator returns ascending-order results; descending order is applied by the sorting row model.\n */\nexport const sortFn_basic = constructSortFn({\n sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB),\n})\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toDateSortValue(value: any) {\n return value instanceof Date ? value.getTime() : value\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n let ai = 0\n let bi = 0\n const aLen = aStr.length\n const bLen = bStr.length\n\n while (ai < aLen && bi < bLen) {\n const aIsNumeric = isDigit(aStr.charCodeAt(ai))\n const bIsNumeric = isDigit(bStr.charCodeAt(bi))\n\n const aEnd = findChunkEnd(aStr, ai, aIsNumeric)\n const bEnd = findChunkEnd(bStr, bi, bIsNumeric)\n\n // Both are string chunks\n if (!aIsNumeric && !bIsNumeric) {\n const stringComparison = compareStringChunks(\n aStr,\n ai,\n aEnd,\n bStr,\n bi,\n bEnd,\n )\n if (stringComparison) {\n return stringComparison\n }\n ai = aEnd\n bi = bEnd\n continue\n }\n\n // One is a string chunk, one is a number chunk — the string sorts first\n if (aIsNumeric !== bIsNumeric) {\n return aIsNumeric ? 1 : -1\n }\n\n // Both are numeric chunks\n const numericComparison = compareNumericChunks(\n aStr,\n ai,\n aEnd,\n bStr,\n bi,\n bEnd,\n )\n if (numericComparison) {\n return numericComparison\n }\n\n ai = aEnd\n bi = bEnd\n }\n\n // One side is exhausted — compare the counts of remaining non-empty chunks\n return countRemainingChunks(aStr, ai) - countRemainingChunks(bStr, bi)\n}\n\nfunction isDigit(charCode: number) {\n return charCode >= 48 && charCode <= 57\n}\n\nfunction findChunkEnd(str: string, start: number, isNumeric: boolean) {\n let end = start + 1\n while (end < str.length && isDigit(str.charCodeAt(end)) === isNumeric) {\n end++\n }\n return end\n}\n\nfunction compareStringChunks(\n aStr: string,\n aStart: number,\n aEnd: number,\n bStr: string,\n bStart: number,\n bEnd: number,\n) {\n const aLength = aEnd - aStart\n const bLength = bEnd - bStart\n const minLength = aLength < bLength ? aLength : bLength\n\n for (let i = 0; i < minLength; i++) {\n const aCode = aStr.charCodeAt(aStart + i)\n const bCode = bStr.charCodeAt(bStart + i)\n\n if (aCode > bCode) {\n return 1\n }\n if (bCode > aCode) {\n return -1\n }\n }\n\n if (aLength > bLength) {\n return 1\n }\n if (bLength > aLength) {\n return -1\n }\n return 0\n}\n\nfunction compareNumericChunks(\n aStr: string,\n aStart: number,\n aEnd: number,\n bStr: string,\n bStart: number,\n bEnd: number,\n) {\n let aSignificantStart = aStart\n while (\n aSignificantStart < aEnd &&\n aStr.charCodeAt(aSignificantStart) === 48\n ) {\n aSignificantStart++\n }\n\n let bSignificantStart = bStart\n while (\n bSignificantStart < bEnd &&\n bStr.charCodeAt(bSignificantStart) === 48\n ) {\n bSignificantStart++\n }\n\n const aSignificantLength = aEnd - aSignificantStart\n const bSignificantLength = bEnd - bSignificantStart\n\n if (aSignificantLength === 0 && bSignificantLength === 0) {\n return 0\n }\n\n if (aSignificantLength <= 15 && bSignificantLength <= 15) {\n const an = parseSmallInt(aStr, aSignificantStart, aEnd)\n const bn = parseSmallInt(bStr, bSignificantStart, bEnd)\n\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n return 0\n }\n\n // Preserve parseInt precision-collapse behavior for unusually large chunks.\n const an = parseInt(aStr.slice(aStart, aEnd), 10)\n const bn = parseInt(bStr.slice(bStart, bEnd), 10)\n\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n return 0\n}\n\nfunction parseSmallInt(str: string, start: number, end: number) {\n let result = 0\n for (let i = start; i < end; i++) {\n result = result * 10 + str.charCodeAt(i) - 48\n }\n return result\n}\n\nfunction countRemainingChunks(str: string, start: number) {\n let count = 0\n let index = start\n\n while (index < str.length) {\n count++\n index = findChunkEnd(str, index, isDigit(str.charCodeAt(index)))\n }\n\n return count\n}\n\n// Exports\n\n/**\n * The built-in sorting function registry.\n *\n * Registering this full object opts out of tree-shaking: every built-in\n * sorting function ends up in your bundle. Prefer importing the `sortFn_*`\n * functions you actually use and registering just those in the `sortFns`\n * slot, or passing them directly to the `sortFn` column option.\n *\n * @deprecated Import individual `sortFn_*` functions instead for a smaller\n * bundle. This export still works and is not going away in v9, but built-in\n * name resolution (including `sortFn: 'auto'`) only finds functions you\n * register yourself.\n */\nexport const sortFns = {\n alphanumeric: sortFn_alphanumeric,\n alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,\n basic: sortFn_basic,\n datetime: sortFn_datetime,\n text: sortFn_text,\n textCaseSensitive: sortFn_textCaseSensitive,\n}\n\nexport type BuiltInSortFn = keyof typeof sortFns\n"],"mappings":"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"}