@tanstack/table-core 9.0.0-beta.9 → 9.0.1

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