@tanstack/table-core 9.0.0-beta.52 → 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 (680) 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 +1 -2
  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 +1 -2
  110. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +1 -2
  111. package/dist/features/row-aggregation/rowAggregationFeature.js +1 -2
  112. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +1 -2
  113. package/dist/features/row-aggregation/rowAggregationFeature.types.js +1 -2
  114. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +1 -2
  115. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +1 -2
  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/store-reactivity-bindings.d.ts +1 -2
  162. package/dist/store-reactivity-bindings.js +1 -2
  163. package/dist/types/Cell.d.ts +1 -2
  164. package/dist/types/Column.d.ts +1 -2
  165. package/dist/types/ColumnDef.d.ts +1 -2
  166. package/dist/types/Header.d.ts +1 -2
  167. package/dist/types/HeaderGroup.d.ts +1 -2
  168. package/dist/types/Row.d.ts +1 -2
  169. package/dist/types/RowModel.d.ts +1 -2
  170. package/dist/types/RowModelFns.d.ts +1 -2
  171. package/dist/types/Table.d.ts +1 -2
  172. package/dist/types/TableFeatures.d.ts +1 -2
  173. package/dist/types/TableOptions.d.ts +1 -2
  174. package/dist/types/TableState.d.ts +1 -2
  175. package/dist/types/type-utils.d.ts +1 -2
  176. package/dist/utils.d.ts +1 -2
  177. package/dist/utils.js +1 -2
  178. package/dist/worker/createTableWorker.d.ts +1 -2
  179. package/dist/worker/createTableWorker.js +1 -2
  180. package/dist/worker/createWorkerRowModel.d.ts +1 -2
  181. package/dist/worker/createWorkerRowModel.js +1 -2
  182. package/dist/worker/initTableWorker.d.ts +1 -2
  183. package/dist/worker/initTableWorker.js +1 -2
  184. package/dist/worker/rebuildRowModel.d.ts +1 -2
  185. package/dist/worker/rebuildRowModel.js +1 -2
  186. package/dist/worker/serializeRowModel.js +1 -2
  187. package/dist/worker/tableWorkerProtocol.d.ts +1 -2
  188. package/dist/worker/tableWorkerProtocol.js +1 -2
  189. package/package.json +9 -30
  190. package/skills/aggregation/SKILL.md +2 -2
  191. package/skills/api-not-found/SKILL.md +5 -5
  192. package/skills/client-vs-server/SKILL.md +2 -2
  193. package/skills/column-faceting/SKILL.md +2 -2
  194. package/skills/column-filtering/SKILL.md +2 -2
  195. package/skills/column-ordering/SKILL.md +2 -2
  196. package/skills/column-pinning/SKILL.md +2 -2
  197. package/skills/column-resizing/SKILL.md +2 -2
  198. package/skills/column-sizing/SKILL.md +2 -2
  199. package/skills/column-visibility/SKILL.md +2 -2
  200. package/skills/core/SKILL.md +2 -2
  201. package/skills/custom-features/SKILL.md +2 -2
  202. package/skills/expanding/SKILL.md +2 -2
  203. package/skills/global-filtering/SKILL.md +2 -2
  204. package/skills/grouping/SKILL.md +2 -2
  205. package/skills/migrate-v8-to-v9/SKILL.md +7 -7
  206. package/skills/pagination/SKILL.md +2 -2
  207. package/skills/row-pinning/SKILL.md +2 -2
  208. package/skills/row-selection/SKILL.md +2 -2
  209. package/skills/sorting/SKILL.md +2 -2
  210. package/skills/table-features/SKILL.md +2 -2
  211. package/skills/typescript/SKILL.md +2 -2
  212. package/dist/core/cells/constructCell.cjs +0 -31
  213. package/dist/core/cells/constructCell.cjs.map +0 -1
  214. package/dist/core/cells/constructCell.d.cts +0 -17
  215. package/dist/core/cells/constructCell.js.map +0 -1
  216. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  217. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  218. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  219. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  220. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  221. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  222. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  223. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  224. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  225. package/dist/core/columns/constructColumn.cjs +0 -60
  226. package/dist/core/columns/constructColumn.cjs.map +0 -1
  227. package/dist/core/columns/constructColumn.d.cts +0 -16
  228. package/dist/core/columns/constructColumn.js.map +0 -1
  229. package/dist/core/columns/coreColumnsFeature.cjs +0 -64
  230. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  231. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  232. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  233. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  234. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -183
  235. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  236. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  237. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  238. package/dist/core/coreFeatures.cjs +0 -25
  239. package/dist/core/coreFeatures.cjs.map +0 -1
  240. package/dist/core/coreFeatures.d.cts +0 -26
  241. package/dist/core/coreFeatures.js.map +0 -1
  242. package/dist/core/headers/buildHeaderGroups.cjs +0 -102
  243. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  244. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  245. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  246. package/dist/core/headers/constructHeader.cjs +0 -38
  247. package/dist/core/headers/constructHeader.cjs.map +0 -1
  248. package/dist/core/headers/constructHeader.d.cts +0 -22
  249. package/dist/core/headers/constructHeader.js.map +0 -1
  250. package/dist/core/headers/coreHeadersFeature.cjs +0 -52
  251. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  252. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  253. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  254. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  255. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -140
  256. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  257. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  258. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  259. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  260. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  261. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  262. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  263. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  264. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  265. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  266. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  267. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  268. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -33
  269. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -197
  270. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  271. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  272. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  273. package/dist/core/row-models/createCoreRowModel.cjs +0 -50
  274. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  275. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  276. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  277. package/dist/core/rows/constructRow.cjs +0 -40
  278. package/dist/core/rows/constructRow.cjs.map +0 -1
  279. package/dist/core/rows/constructRow.d.cts +0 -15
  280. package/dist/core/rows/constructRow.js.map +0 -1
  281. package/dist/core/rows/coreRowsFeature.cjs +0 -53
  282. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  283. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  284. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  285. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -133
  286. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -246
  287. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  288. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -146
  289. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  290. package/dist/core/table/constructTable.cjs +0 -128
  291. package/dist/core/table/constructTable.cjs.map +0 -1
  292. package/dist/core/table/constructTable.d.cts +0 -22
  293. package/dist/core/table/constructTable.js.map +0 -1
  294. package/dist/core/table/coreTablesFeature.cjs +0 -17
  295. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  296. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  297. package/dist/core/table/coreTablesFeature.js.map +0 -1
  298. package/dist/core/table/coreTablesFeature.types.d.cts +0 -199
  299. package/dist/core/table/coreTablesFeature.utils.cjs +0 -120
  300. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  301. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -60
  302. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  303. package/dist/experimental-worker-plugin.cjs +0 -14
  304. package/dist/experimental-worker-plugin.d.cts +0 -5
  305. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -55
  306. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  307. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  308. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  309. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -67
  310. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -114
  311. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  312. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  313. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  314. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -47
  315. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  316. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  317. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  318. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -45
  319. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  320. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  321. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  322. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -45
  323. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  324. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  325. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  326. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  327. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  328. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  329. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  330. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -214
  331. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -218
  332. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  333. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -147
  334. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  335. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -114
  336. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  337. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -22
  338. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  339. package/dist/features/column-filtering/filterFns.cjs +0 -399
  340. package/dist/features/column-filtering/filterFns.cjs.map +0 -1
  341. package/dist/features/column-filtering/filterFns.d.cts +0 -210
  342. package/dist/features/column-filtering/filterFns.js.map +0 -1
  343. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -82
  344. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  345. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  346. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -55
  347. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  348. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  349. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  350. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -129
  351. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -195
  352. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  353. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -153
  354. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  355. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -140
  356. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  357. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -18
  358. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  359. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -54
  360. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  361. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  362. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  363. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -81
  364. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -192
  365. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  366. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -119
  367. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  368. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -202
  369. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  370. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -15
  371. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  372. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -189
  373. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -584
  374. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  375. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -384
  376. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  377. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  378. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  379. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  380. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  381. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -78
  382. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -286
  383. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  384. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  385. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  386. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -90
  387. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  388. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  389. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  390. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -139
  391. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -299
  392. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  393. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -200
  394. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  395. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -83
  396. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  397. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  398. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  399. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  400. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -284
  401. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  402. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  403. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  404. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -40
  405. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  406. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  407. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  408. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  409. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  410. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  411. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -71
  412. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  413. package/dist/features/row-aggregation/aggregationFns.cjs +0 -291
  414. package/dist/features/row-aggregation/aggregationFns.cjs.map +0 -1
  415. package/dist/features/row-aggregation/aggregationFns.d.cts +0 -68
  416. package/dist/features/row-aggregation/aggregationFns.js.map +0 -1
  417. package/dist/features/row-aggregation/rowAggregationFeature.cjs +0 -36
  418. package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +0 -1
  419. package/dist/features/row-aggregation/rowAggregationFeature.d.cts +0 -10
  420. package/dist/features/row-aggregation/rowAggregationFeature.js.map +0 -1
  421. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +0 -13
  422. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +0 -1
  423. package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +0 -195
  424. package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +0 -1
  425. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +0 -243
  426. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +0 -1
  427. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +0 -48
  428. package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +0 -1
  429. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -55
  430. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  432. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  433. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  434. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  436. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -118
  438. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -283
  439. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  442. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -58
  443. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  445. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  446. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  447. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  449. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -126
  451. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -306
  452. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  455. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -55
  456. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  458. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  460. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -224
  461. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  462. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  463. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  464. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -119
  465. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  467. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -174
  469. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -570
  470. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  471. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -345
  472. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  473. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -114
  474. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -22
  476. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  477. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  478. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  480. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -220
  482. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -316
  483. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  484. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  485. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  486. package/dist/features/row-sorting/sortFns.cjs +0 -226
  487. package/dist/features/row-sorting/sortFns.cjs.map +0 -1
  488. package/dist/features/row-sorting/sortFns.d.cts +0 -98
  489. package/dist/features/row-sorting/sortFns.js.map +0 -1
  490. package/dist/features/stockFeatures.cjs +0 -43
  491. package/dist/features/stockFeatures.cjs.map +0 -1
  492. package/dist/features/stockFeatures.d.cts +0 -43
  493. package/dist/features/stockFeatures.js.map +0 -1
  494. package/dist/flex-render.cjs +0 -29
  495. package/dist/flex-render.cjs.map +0 -1
  496. package/dist/flex-render.d.cts +0 -34
  497. package/dist/flex-render.js.map +0 -1
  498. package/dist/helpers/columnHelper.cjs +0 -41
  499. package/dist/helpers/columnHelper.cjs.map +0 -1
  500. package/dist/helpers/columnHelper.d.cts +0 -71
  501. package/dist/helpers/columnHelper.js.map +0 -1
  502. package/dist/helpers/metaHelper.cjs +0 -30
  503. package/dist/helpers/metaHelper.cjs.map +0 -1
  504. package/dist/helpers/metaHelper.d.cts +0 -26
  505. package/dist/helpers/metaHelper.js.map +0 -1
  506. package/dist/helpers/tableFeatures.cjs +0 -49
  507. package/dist/helpers/tableFeatures.cjs.map +0 -1
  508. package/dist/helpers/tableFeatures.d.cts +0 -47
  509. package/dist/helpers/tableFeatures.js.map +0 -1
  510. package/dist/helpers/tableOptions.cjs +0 -15
  511. package/dist/helpers/tableOptions.cjs.map +0 -1
  512. package/dist/helpers/tableOptions.d.cts +0 -57
  513. package/dist/helpers/tableOptions.js.map +0 -1
  514. package/dist/index.cjs +0 -153
  515. package/dist/index.d.cts +0 -81
  516. package/dist/reactivity.cjs +0 -4
  517. package/dist/reactivity.d.cts +0 -3
  518. package/dist/static-functions.cjs +0 -275
  519. package/dist/static-functions.d.cts +0 -22
  520. package/dist/store-reactivity-bindings.cjs +0 -44
  521. package/dist/store-reactivity-bindings.cjs.map +0 -1
  522. package/dist/store-reactivity-bindings.d.cts +0 -22
  523. package/dist/store-reactivity-bindings.js.map +0 -1
  524. package/dist/types/Cell.d.cts +0 -16
  525. package/dist/types/Column.d.cts +0 -36
  526. package/dist/types/ColumnDef.d.cts +0 -125
  527. package/dist/types/Header.d.cts +0 -16
  528. package/dist/types/HeaderGroup.d.cts +0 -10
  529. package/dist/types/Row.d.cts +0 -28
  530. package/dist/types/RowModel.d.cts +0 -24
  531. package/dist/types/RowModelFns.d.cts +0 -18
  532. package/dist/types/Table.d.cts +0 -65
  533. package/dist/types/TableFeatures.d.cts +0 -381
  534. package/dist/types/TableOptions.d.cts +0 -77
  535. package/dist/types/TableState.d.cts +0 -48
  536. package/dist/types/type-utils.d.cts +0 -30
  537. package/dist/utils.cjs +0 -265
  538. package/dist/utils.cjs.map +0 -1
  539. package/dist/utils.d.cts +0 -136
  540. package/dist/utils.js.map +0 -1
  541. package/dist/worker/createTableWorker.cjs +0 -189
  542. package/dist/worker/createTableWorker.cjs.map +0 -1
  543. package/dist/worker/createTableWorker.d.cts +0 -102
  544. package/dist/worker/createTableWorker.js.map +0 -1
  545. package/dist/worker/createWorkerRowModel.cjs +0 -78
  546. package/dist/worker/createWorkerRowModel.cjs.map +0 -1
  547. package/dist/worker/createWorkerRowModel.d.cts +0 -42
  548. package/dist/worker/createWorkerRowModel.js.map +0 -1
  549. package/dist/worker/initTableWorker.cjs +0 -100
  550. package/dist/worker/initTableWorker.cjs.map +0 -1
  551. package/dist/worker/initTableWorker.d.cts +0 -33
  552. package/dist/worker/initTableWorker.js.map +0 -1
  553. package/dist/worker/rebuildRowModel.cjs +0 -72
  554. package/dist/worker/rebuildRowModel.cjs.map +0 -1
  555. package/dist/worker/rebuildRowModel.d.cts +0 -9
  556. package/dist/worker/rebuildRowModel.js.map +0 -1
  557. package/dist/worker/serializeRowModel.cjs +0 -53
  558. package/dist/worker/serializeRowModel.cjs.map +0 -1
  559. package/dist/worker/serializeRowModel.js.map +0 -1
  560. package/dist/worker/tableWorkerProtocol.cjs +0 -29
  561. package/dist/worker/tableWorkerProtocol.cjs.map +0 -1
  562. package/dist/worker/tableWorkerProtocol.d.cts +0 -88
  563. package/dist/worker/tableWorkerProtocol.js.map +0 -1
  564. package/src/core/cells/constructCell.ts +0 -55
  565. package/src/core/cells/coreCellsFeature.ts +0 -27
  566. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  567. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  568. package/src/core/columns/constructColumn.ts +0 -125
  569. package/src/core/columns/coreColumnsFeature.ts +0 -73
  570. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  571. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  572. package/src/core/coreFeatures.ts +0 -31
  573. package/src/core/headers/buildHeaderGroups.ts +0 -184
  574. package/src/core/headers/constructHeader.ts +0 -67
  575. package/src/core/headers/coreHeadersFeature.ts +0 -56
  576. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  577. package/src/core/headers/coreHeadersFeature.utils.ts +0 -199
  578. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  579. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  580. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  581. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -50
  582. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  583. package/src/core/row-models/createCoreRowModel.ts +0 -94
  584. package/src/core/rows/constructRow.ts +0 -68
  585. package/src/core/rows/coreRowsFeature.ts +0 -83
  586. package/src/core/rows/coreRowsFeature.types.ts +0 -154
  587. package/src/core/rows/coreRowsFeature.utils.ts +0 -352
  588. package/src/core/table/constructTable.ts +0 -210
  589. package/src/core/table/coreTablesFeature.ts +0 -19
  590. package/src/core/table/coreTablesFeature.types.ts +0 -241
  591. package/src/core/table/coreTablesFeature.utils.ts +0 -171
  592. package/src/experimental-worker-plugin.ts +0 -22
  593. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  594. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -78
  595. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -180
  596. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -92
  597. package/src/features/column-faceting/createFacetedRowModel.ts +0 -92
  598. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -97
  599. package/src/features/column-filtering/columnFilteringFeature.ts +0 -87
  600. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -308
  601. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -345
  602. package/src/features/column-filtering/createFilteredRowModel.ts +0 -194
  603. package/src/features/column-filtering/filterFns.ts +0 -533
  604. package/src/features/column-filtering/filterRowsUtils.ts +0 -158
  605. package/src/features/column-grouping/columnGroupingFeature.ts +0 -97
  606. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -152
  607. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -271
  608. package/src/features/column-grouping/createGroupedRowModel.ts +0 -258
  609. package/src/features/column-ordering/columnOrderingFeature.ts +0 -78
  610. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -86
  611. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -292
  612. package/src/features/column-pinning/columnPinningFeature.ts +0 -333
  613. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -203
  614. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -922
  615. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  616. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -86
  617. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -432
  618. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  619. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -147
  620. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -462
  621. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -126
  622. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  623. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -402
  624. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  625. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  626. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -126
  627. package/src/features/row-aggregation/aggregationFns.ts +0 -383
  628. package/src/features/row-aggregation/rowAggregationFeature.ts +0 -56
  629. package/src/features/row-aggregation/rowAggregationFeature.types.ts +0 -339
  630. package/src/features/row-aggregation/rowAggregationFeature.utils.ts +0 -487
  631. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  632. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  633. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -132
  634. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -399
  635. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  636. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  637. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -137
  638. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  639. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  640. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  641. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  642. package/src/features/row-selection/rowSelectionFeature.ts +0 -190
  643. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -195
  644. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -927
  645. package/src/features/row-sorting/createSortedRowModel.ts +0 -189
  646. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  647. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -288
  648. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -513
  649. package/src/features/row-sorting/sortFns.ts +0 -366
  650. package/src/features/stockFeatures.ts +0 -56
  651. package/src/flex-render.ts +0 -70
  652. package/src/helpers/columnHelper.ts +0 -122
  653. package/src/helpers/metaHelper.ts +0 -24
  654. package/src/helpers/tableFeatures.ts +0 -56
  655. package/src/helpers/tableOptions.ts +0 -117
  656. package/src/index.ts +0 -138
  657. package/src/process-env.d.ts +0 -6
  658. package/src/reactivity.ts +0 -2
  659. package/src/static-functions.ts +0 -32
  660. package/src/store-reactivity-bindings.ts +0 -47
  661. package/src/types/Cell.ts +0 -23
  662. package/src/types/Column.ts +0 -55
  663. package/src/types/ColumnDef.ts +0 -258
  664. package/src/types/Header.ts +0 -23
  665. package/src/types/HeaderGroup.ts +0 -13
  666. package/src/types/Row.ts +0 -36
  667. package/src/types/RowModel.ts +0 -43
  668. package/src/types/RowModelFns.ts +0 -32
  669. package/src/types/Table.ts +0 -116
  670. package/src/types/TableFeatures.ts +0 -479
  671. package/src/types/TableOptions.ts +0 -154
  672. package/src/types/TableState.ts +0 -61
  673. package/src/types/type-utils.ts +0 -92
  674. package/src/utils.ts +0 -493
  675. package/src/worker/createTableWorker.ts +0 -357
  676. package/src/worker/createWorkerRowModel.ts +0 -121
  677. package/src/worker/initTableWorker.ts +0 -164
  678. package/src/worker/rebuildRowModel.ts +0 -120
  679. package/src/worker/serializeRowModel.ts +0 -80
  680. 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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"}