@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,189 +0,0 @@
1
- const require_rowPaginationFeature_utils = require('../features/row-pagination/rowPaginationFeature.utils.cjs');
2
- const require_rowExpandingFeature_utils = require('../features/row-expanding/rowExpandingFeature.utils.cjs');
3
- const require_tableWorkerProtocol = require('./tableWorkerProtocol.cjs');
4
-
5
- //#region src/worker/createTableWorker.ts
6
- /**
7
- * Registers the `workerRowModels` state slice
8
- * (`{ version, isPending, lastComputeMs, lastRoundTripMs }`). Worker results
9
- * land by bumping `version`, so re-renders flow through the exact same state
10
- * mechanism as every other table state change.
11
- */
12
- const workerRowModelsFeature = { getInitialState: (initialState) => ({
13
- workerRowModels: {
14
- version: 0,
15
- isPending: false
16
- },
17
- ...initialState
18
- }) };
19
- /**
20
- * Creates the shared worker handle for a table's worker-backed row models.
21
- * Pass it to `createWorkerRowModel()` once per stage you want offloaded.
22
- */
23
- function createTableWorker(options) {
24
- const liveBridges = /* @__PURE__ */ new Set();
25
- return {
26
- _options: options,
27
- _bridges: /* @__PURE__ */ new WeakMap(),
28
- _liveBridges: liveBridges,
29
- terminate: () => {
30
- for (const bridge of liveBridges) {
31
- bridge.worker?.terminate();
32
- bridge.worker = null;
33
- bridge.failed = false;
34
- bridge.lastData = void 0;
35
- bridge.inFlight = false;
36
- bridge.needsProcess = true;
37
- bridge.sentState = null;
38
- bridge.sentStageCount = 0;
39
- }
40
- liveBridges.clear();
41
- }
42
- };
43
- }
44
- function getTableWorkerBridge(tableWorker, table) {
45
- let bridge = tableWorker._bridges.get(table);
46
- if (!bridge) {
47
- bridge = {
48
- worker: null,
49
- failed: false,
50
- lastData: void 0,
51
- dataVersion: 0,
52
- requestId: 0,
53
- resultRequestId: 0,
54
- inFlight: false,
55
- needsProcess: true,
56
- sentAt: 0,
57
- stages: /* @__PURE__ */ new Set(),
58
- sentState: null,
59
- sentStageCount: 0,
60
- lastState: {},
61
- results: {},
62
- stageVersions: {}
63
- };
64
- tableWorker._bridges.set(table, bridge);
65
- }
66
- return bridge;
67
- }
68
- /** Shallow reference comparison; atoms return stable refs when unchanged. */
69
- function statesEqual(a, b) {
70
- if (a === null) return false;
71
- const aKeys = Object.keys(a);
72
- const bKeys = Object.keys(b);
73
- if (aKeys.length !== bKeys.length) return false;
74
- for (const key of bKeys) if (a[key] !== b[key]) return false;
75
- return true;
76
- }
77
- function setWorkerRowModelsState(table, update) {
78
- table.baseAtoms.workerRowModels?.set((prev) => update(prev ?? { version: 0 }));
79
- }
80
- function postProcess(table, bridge) {
81
- const stages = require_tableWorkerProtocol.tableWorkerPipeline.filter((stage) => bridge.stages.has(stage));
82
- bridge.needsProcess = false;
83
- bridge.sentState = bridge.lastState;
84
- bridge.sentStageCount = bridge.stages.size;
85
- bridge.inFlight = true;
86
- bridge.sentAt = performance.now();
87
- const requestId = ++bridge.requestId;
88
- bridge.worker.postMessage({
89
- type: "process",
90
- requestId,
91
- dataVersion: bridge.dataVersion,
92
- stages,
93
- state: bridge.lastState
94
- });
95
- table._reactivity.schedule(() => {
96
- if (bridge.requestId === requestId && bridge.resultRequestId < requestId) setWorkerRowModelsState(table, (prev) => ({
97
- ...prev,
98
- isPending: true
99
- }));
100
- });
101
- }
102
- function handleResult(table, bridge, message) {
103
- if (message.requestId !== bridge.requestId) return;
104
- bridge.inFlight = false;
105
- bridge.resultRequestId = message.requestId;
106
- if (message.dataVersion !== bridge.dataVersion) {
107
- postProcess(table, bridge);
108
- return;
109
- }
110
- let anyChanged = false;
111
- let groupedChanged = false;
112
- for (const [stage, payload] of Object.entries(message.stages)) {
113
- if (payload.kind === "unchanged") continue;
114
- bridge.results[stage] = payload;
115
- bridge.stageVersions[stage] = (bridge.stageVersions[stage] ?? 0) + 1;
116
- anyChanged = true;
117
- if (stage === "grouped") groupedChanged = true;
118
- }
119
- const roundTripMs = performance.now() - bridge.sentAt;
120
- setWorkerRowModelsState(table, (prev) => ({
121
- version: (prev.version ?? 0) + 1,
122
- isPending: false,
123
- lastComputeMs: message.computeMs,
124
- lastRoundTripMs: roundTripMs
125
- }));
126
- if (anyChanged) table._reactivity.schedule(() => table._reactivity.untrack(() => {
127
- if (groupedChanged) require_rowExpandingFeature_utils.table_autoResetExpanded(table);
128
- require_rowPaginationFeature_utils.table_autoResetPageIndex(table);
129
- }));
130
- if (bridge.needsProcess) postProcess(table, bridge);
131
- }
132
- function handleError(table, bridge, event) {
133
- if (bridge.failed) return;
134
- bridge.failed = true;
135
- bridge.inFlight = false;
136
- console.error("[table-worker] The table worker failed; worker row models will keep their last results and stop updating. Check that the worker entry loads and that its initTableWorker() config is thread-portable.", event);
137
- bridge.worker?.terminate();
138
- bridge.worker = null;
139
- setWorkerRowModelsState(table, (prev) => ({
140
- ...prev,
141
- isPending: false
142
- }));
143
- }
144
- function ensureWorker(tableWorker, table, bridge) {
145
- if (bridge.worker) return;
146
- bridge.worker = tableWorker._options.createWorker();
147
- tableWorker._liveBridges.add(bridge);
148
- bridge.worker.onmessage = (event) => {
149
- handleResult(table, bridge, event.data);
150
- };
151
- bridge.worker.onerror = (event) => handleError(table, bridge, event);
152
- bridge.worker.onmessageerror = (event) => handleError(table, bridge, event);
153
- }
154
- /**
155
- * Pull-based sync, called at the top of every worker-backed row model read
156
- * (i.e. every render). Posts data on identity change and a single-flight
157
- * process request on state change; both are cheap no-ops otherwise, and
158
- * multiple stages sharing the handle dedupe onto one request.
159
- */
160
- function syncTableWorker(tableWorker, table) {
161
- if (typeof Worker === "undefined") return;
162
- const bridge = getTableWorkerBridge(tableWorker, table);
163
- if (bridge.failed) return;
164
- ensureWorker(tableWorker, table, bridge);
165
- const data = table.options.data;
166
- if (data !== bridge.lastData) {
167
- bridge.lastData = data;
168
- bridge.dataVersion++;
169
- bridge.worker.postMessage({
170
- type: "data",
171
- dataVersion: bridge.dataVersion,
172
- data
173
- });
174
- bridge.needsProcess = true;
175
- }
176
- const atoms = table.atoms;
177
- const state = {};
178
- for (const stage of bridge.stages) for (const key of require_tableWorkerProtocol.tableWorkerStageStateDeps[stage]) state[key] = atoms[key]?.get();
179
- bridge.lastState = state;
180
- if (!bridge.needsProcess && (!statesEqual(bridge.sentState, state) || bridge.stages.size !== bridge.sentStageCount)) bridge.needsProcess = true;
181
- if (bridge.needsProcess && !bridge.inFlight) postProcess(table, bridge);
182
- }
183
-
184
- //#endregion
185
- exports.createTableWorker = createTableWorker;
186
- exports.getTableWorkerBridge = getTableWorkerBridge;
187
- exports.syncTableWorker = syncTableWorker;
188
- exports.workerRowModelsFeature = workerRowModelsFeature;
189
- //# sourceMappingURL=createTableWorker.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTableWorker.cjs","names":["tableWorkerPipeline","tableWorkerStageStateDeps"],"sources":["../../src/worker/createTableWorker.ts"],"sourcesContent":["import { table_autoResetPageIndex } from '../features/row-pagination/rowPaginationFeature.utils'\nimport { table_autoResetExpanded } from '../features/row-expanding/rowExpandingFeature.utils'\nimport {\n tableWorkerPipeline,\n tableWorkerStageStateDeps,\n} from './tableWorkerProtocol'\nimport type { Table_Internal } from '../types/Table'\nimport type { TableFeature } from '../types/TableFeatures'\nimport type { TableWorkerDataPayload } from './rebuildRowModel'\nimport type {\n TableState_WorkerRowModels,\n TableWorkerResponse,\n TableWorkerStage,\n TableWorkerStagePayload,\n} from './tableWorkerProtocol'\n\n// Importing anything from this module (e.g. `workerRowModelsFeature`)\n// registers the plugin key and its state slice with the core type maps, so\n// userland needs no `declare module` of its own. Apps that never use worker\n// row models never load this module and never see the types.\ndeclare module '../types/TableFeatures' {\n interface Plugins {\n workerRowModelsFeature: TableFeature\n }\n}\ndeclare module '../types/TableState' {\n interface TableState_FeatureMap {\n workerRowModelsFeature: TableState_WorkerRowModels\n }\n}\n\nexport interface TableWorkerOptions {\n /**\n * Creates the dedicated worker that runs the shadow table. The worker entry\n * must call `initTableWorker` with the same columns and processing config.\n *\n * The `new Worker(new URL(...))` expression must live in your code (not the\n * library) so your bundler can statically discover and bundle the worker\n * entry file.\n *\n * @example\n * ```ts\n * createWorker: () =>\n * new Worker(new URL('./table.worker.ts', import.meta.url), {\n * type: 'module',\n * })\n * ```\n */\n createWorker: () => Worker\n}\n\nexport interface TableWorkerBridge {\n worker: Worker | null\n /** The worker errored (load failure or uncaught throw); stop posting. */\n failed: boolean\n lastData: unknown\n dataVersion: number\n requestId: number\n resultRequestId: number\n /** A process request has been posted and its result has not arrived yet. */\n inFlight: boolean\n /** State changed since the last posted request; post when possible. */\n needsProcess: boolean\n sentAt: number\n /** The stages registered on this table (grows as factories initialize). */\n stages: Set<TableWorkerStage>\n /** Snapshot of state refs + stage count captured at the last post. */\n sentState: Record<string, unknown> | null\n sentStageCount: number\n /** Latest observed state refs, posted on the trailing edge if in flight. */\n lastState: Record<string, unknown>\n results: { [K in TableWorkerStage]?: TableWorkerDataPayload }\n /** Bumped per stage only when that stage's payload actually changed. */\n stageVersions: { [K in TableWorkerStage]?: number }\n}\n\ntype AnyTable = Table_Internal<any, any>\n\n/**\n * A handle shared by every worker-backed row model on a table. It owns the\n * worker instance and the per-table request/result bookkeeping, so registering\n * one stage or four costs exactly one worker and one round trip per change.\n */\nexport interface TableWorker {\n _options: TableWorkerOptions\n _bridges: WeakMap<object, TableWorkerBridge>\n _liveBridges: Set<TableWorkerBridge>\n /**\n * Terminates every worker created through this handle and resets the\n * bookkeeping. Safe to call at any time: the next row model read lazily\n * recreates the worker and re-sends the data (self-healing). Note that\n * nothing calls this automatically yet; React StrictMode double-mounts and\n * HMR updates still leak a worker in development until the reactivity\n * bindings grow a real `unmount` hook.\n */\n terminate: () => void\n}\n\n/**\n * Registers the `workerRowModels` state slice\n * (`{ version, isPending, lastComputeMs, lastRoundTripMs }`). Worker results\n * land by bumping `version`, so re-renders flow through the exact same state\n * mechanism as every other table state change.\n */\nexport const workerRowModelsFeature: TableFeature = {\n getInitialState: (initialState: any) => ({\n workerRowModels: { version: 0, isPending: false },\n ...initialState,\n }),\n}\n\n/**\n * Creates the shared worker handle for a table's worker-backed row models.\n * Pass it to `createWorkerRowModel()` once per stage you want offloaded.\n */\nexport function createTableWorker(options: TableWorkerOptions): TableWorker {\n const liveBridges = new Set<TableWorkerBridge>()\n return {\n _options: options,\n _bridges: new WeakMap(),\n _liveBridges: liveBridges,\n terminate: () => {\n for (const bridge of liveBridges) {\n bridge.worker?.terminate()\n bridge.worker = null\n bridge.failed = false\n bridge.lastData = undefined\n bridge.inFlight = false\n bridge.needsProcess = true\n bridge.sentState = null\n bridge.sentStageCount = 0\n }\n liveBridges.clear()\n },\n }\n}\n\nexport function getTableWorkerBridge(\n tableWorker: TableWorker,\n table: AnyTable,\n): TableWorkerBridge {\n let bridge = tableWorker._bridges.get(table)\n if (!bridge) {\n bridge = {\n worker: null,\n failed: false,\n lastData: undefined,\n dataVersion: 0,\n requestId: 0,\n resultRequestId: 0,\n inFlight: false,\n needsProcess: true,\n sentAt: 0,\n stages: new Set(),\n sentState: null,\n sentStageCount: 0,\n lastState: {},\n results: {},\n stageVersions: {},\n }\n tableWorker._bridges.set(table, bridge)\n }\n return bridge\n}\n\n/** Shallow reference comparison; atoms return stable refs when unchanged. */\nfunction statesEqual(\n a: Record<string, unknown> | null,\n b: Record<string, unknown>,\n): boolean {\n if (a === null) return false\n const aKeys = Object.keys(a)\n const bKeys = Object.keys(b)\n if (aKeys.length !== bKeys.length) return false\n for (const key of bKeys) {\n if (a[key] !== b[key]) return false\n }\n return true\n}\n\nfunction setWorkerRowModelsState(\n table: AnyTable,\n update: (prev: any) => Record<string, unknown>,\n) {\n const stateAtom = (table.baseAtoms as Record<string, any>).workerRowModels\n stateAtom?.set((prev: any) => update(prev ?? { version: 0 }))\n}\n\nfunction postProcess(table: AnyTable, bridge: TableWorkerBridge): void {\n const stages = tableWorkerPipeline.filter((stage) => bridge.stages.has(stage))\n bridge.needsProcess = false\n bridge.sentState = bridge.lastState\n bridge.sentStageCount = bridge.stages.size\n bridge.inFlight = true\n bridge.sentAt = performance.now()\n const requestId = ++bridge.requestId\n bridge.worker!.postMessage({\n type: 'process',\n requestId,\n dataVersion: bridge.dataVersion,\n stages,\n state: bridge.lastState,\n })\n // postProcess can run during render (via sync); defer the pending write.\n table._reactivity.schedule(() => {\n if (bridge.requestId === requestId && bridge.resultRequestId < requestId) {\n setWorkerRowModelsState(table, (prev) => ({ ...prev, isPending: true }))\n }\n })\n}\n\nfunction handleResult(\n table: AnyTable,\n bridge: TableWorkerBridge,\n message: TableWorkerResponse,\n) {\n if (message.requestId !== bridge.requestId) return\n bridge.inFlight = false\n bridge.resultRequestId = message.requestId\n\n // A data change raced this request: the result is for the old dataset.\n // Drop it and immediately re-process against the new data.\n if (message.dataVersion !== bridge.dataVersion) {\n postProcess(table, bridge)\n return\n }\n\n // Merge stage payloads: `unchanged` keeps the previous result (and its\n // rebuilt model, via the per-stage version), changed payloads replace it.\n let anyChanged = false\n let groupedChanged = false\n for (const [stage, payload] of Object.entries(message.stages) as Array<\n [TableWorkerStage, TableWorkerStagePayload]\n >) {\n if (payload.kind === 'unchanged') continue\n bridge.results[stage] = payload\n bridge.stageVersions[stage] = (bridge.stageVersions[stage] ?? 0) + 1\n anyChanged = true\n if (stage === 'grouped') groupedChanged = true\n }\n\n const roundTripMs = performance.now() - bridge.sentAt\n setWorkerRowModelsState(table, (prev) => ({\n version: (prev.version ?? 0) + 1,\n isPending: false,\n lastComputeMs: message.computeMs,\n lastRoundTripMs: roundTripMs,\n }))\n\n // The async equivalent of the sync models' `onAfterUpdate` hooks. The\n // worker's unchanged-detection is its memo identity, so `groupedChanged`\n // mirrors exactly when the sync grouped model would have recomputed (and\n // reset expansion).\n if (anyChanged) {\n table._reactivity.schedule(() =>\n table._reactivity.untrack(() => {\n if (groupedChanged) {\n table_autoResetExpanded(table)\n }\n table_autoResetPageIndex(table)\n }),\n )\n }\n\n // Trailing edge: state changed while this request was in flight.\n if (bridge.needsProcess) {\n postProcess(table, bridge)\n }\n}\n\nfunction handleError(\n table: AnyTable,\n bridge: TableWorkerBridge,\n event: unknown,\n) {\n if (bridge.failed) return\n bridge.failed = true\n bridge.inFlight = false\n console.error(\n '[table-worker] The table worker failed; worker row models will keep ' +\n 'their last results and stop updating. Check that the worker entry ' +\n 'loads and that its initTableWorker() config is thread-portable.',\n event,\n )\n bridge.worker?.terminate()\n bridge.worker = null\n setWorkerRowModelsState(table, (prev) => ({ ...prev, isPending: false }))\n}\n\nfunction ensureWorker(\n tableWorker: TableWorker,\n table: AnyTable,\n bridge: TableWorkerBridge,\n) {\n if (bridge.worker) return\n bridge.worker = tableWorker._options.createWorker()\n tableWorker._liveBridges.add(bridge)\n bridge.worker.onmessage = (event: MessageEvent<TableWorkerResponse>) => {\n handleResult(table, bridge, event.data)\n }\n bridge.worker.onerror = (event) => handleError(table, bridge, event)\n bridge.worker.onmessageerror = (event) => handleError(table, bridge, event)\n}\n\n/**\n * Pull-based sync, called at the top of every worker-backed row model read\n * (i.e. every render). Posts data on identity change and a single-flight\n * process request on state change; both are cheap no-ops otherwise, and\n * multiple stages sharing the handle dedupe onto one request.\n */\nexport function syncTableWorker(tableWorker: TableWorker, table: AnyTable) {\n // SSR: no Worker global. Getters fall back to pre-stage models, so the\n // server renders unprocessed rows and the client takes over after hydration.\n if (typeof Worker === 'undefined') return\n\n const bridge = getTableWorkerBridge(tableWorker, table)\n if (bridge.failed) return\n ensureWorker(tableWorker, table, bridge)\n\n const data = table.options.data\n if (data !== bridge.lastData) {\n bridge.lastData = data\n bridge.dataVersion++\n bridge.worker!.postMessage({\n type: 'data',\n dataVersion: bridge.dataVersion,\n data,\n })\n bridge.needsProcess = true\n }\n\n // Union of the registered stages' state deps, compared by reference (atoms\n // return stable refs when a slice did not change).\n const atoms = table.atoms as Record<string, any>\n const state: Record<string, unknown> = {}\n for (const stage of bridge.stages) {\n for (const key of tableWorkerStageStateDeps[stage]) {\n state[key] = atoms[key]?.get()\n }\n }\n bridge.lastState = state\n\n if (\n !bridge.needsProcess &&\n (!statesEqual(bridge.sentState, state) ||\n bridge.stages.size !== bridge.sentStageCount)\n ) {\n bridge.needsProcess = true\n }\n\n // Single-flight: at most one request in the worker at a time. If one is in\n // flight, the latest state is posted from the result handler (trailing\n // edge), so rapid input coalesces instead of queueing doomed computes.\n if (bridge.needsProcess && !bridge.inFlight) {\n postProcess(table, bridge)\n }\n}\n"],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- import { TableState_WorkerRowModels, TableWorkerStage } from "./tableWorkerProtocol.cjs";
2
- import { Table } from "../types/Table.cjs";
3
- import { TableFeature } from "../types/TableFeatures.cjs";
4
- import { TableWorkerDataPayload } from "./rebuildRowModel.cjs";
5
-
6
- //#region src/worker/createTableWorker.d.ts
7
- declare module '../types/TableFeatures' {
8
- interface Plugins {
9
- workerRowModelsFeature: TableFeature;
10
- }
11
- }
12
- declare module '../types/TableState' {
13
- interface TableState_FeatureMap {
14
- workerRowModelsFeature: TableState_WorkerRowModels;
15
- }
16
- }
17
- interface TableWorkerOptions {
18
- /**
19
- * Creates the dedicated worker that runs the shadow table. The worker entry
20
- * must call `initTableWorker` with the same columns and processing config.
21
- *
22
- * The `new Worker(new URL(...))` expression must live in your code (not the
23
- * library) so your bundler can statically discover and bundle the worker
24
- * entry file.
25
- *
26
- * @example
27
- * ```ts
28
- * createWorker: () =>
29
- * new Worker(new URL('./table.worker.ts', import.meta.url), {
30
- * type: 'module',
31
- * })
32
- * ```
33
- */
34
- createWorker: () => Worker;
35
- }
36
- interface TableWorkerBridge {
37
- worker: Worker | null;
38
- /** The worker errored (load failure or uncaught throw); stop posting. */
39
- failed: boolean;
40
- lastData: unknown;
41
- dataVersion: number;
42
- requestId: number;
43
- resultRequestId: number;
44
- /** A process request has been posted and its result has not arrived yet. */
45
- inFlight: boolean;
46
- /** State changed since the last posted request; post when possible. */
47
- needsProcess: boolean;
48
- sentAt: number;
49
- /** The stages registered on this table (grows as factories initialize). */
50
- stages: Set<TableWorkerStage>;
51
- /** Snapshot of state refs + stage count captured at the last post. */
52
- sentState: Record<string, unknown> | null;
53
- sentStageCount: number;
54
- /** Latest observed state refs, posted on the trailing edge if in flight. */
55
- lastState: Record<string, unknown>;
56
- results: { [K in TableWorkerStage]?: TableWorkerDataPayload };
57
- /** Bumped per stage only when that stage's payload actually changed. */
58
- stageVersions: { [K in TableWorkerStage]?: number };
59
- }
60
- type AnyTable = Table<any, any>;
61
- /**
62
- * A handle shared by every worker-backed row model on a table. It owns the
63
- * worker instance and the per-table request/result bookkeeping, so registering
64
- * one stage or four costs exactly one worker and one round trip per change.
65
- */
66
- interface TableWorker {
67
- _options: TableWorkerOptions;
68
- _bridges: WeakMap<object, TableWorkerBridge>;
69
- _liveBridges: Set<TableWorkerBridge>;
70
- /**
71
- * Terminates every worker created through this handle and resets the
72
- * bookkeeping. Safe to call at any time: the next row model read lazily
73
- * recreates the worker and re-sends the data (self-healing). Note that
74
- * nothing calls this automatically yet; React StrictMode double-mounts and
75
- * HMR updates still leak a worker in development until the reactivity
76
- * bindings grow a real `unmount` hook.
77
- */
78
- terminate: () => void;
79
- }
80
- /**
81
- * Registers the `workerRowModels` state slice
82
- * (`{ version, isPending, lastComputeMs, lastRoundTripMs }`). Worker results
83
- * land by bumping `version`, so re-renders flow through the exact same state
84
- * mechanism as every other table state change.
85
- */
86
- declare const workerRowModelsFeature: TableFeature;
87
- /**
88
- * Creates the shared worker handle for a table's worker-backed row models.
89
- * Pass it to `createWorkerRowModel()` once per stage you want offloaded.
90
- */
91
- declare function createTableWorker(options: TableWorkerOptions): TableWorker;
92
- declare function getTableWorkerBridge(tableWorker: TableWorker, table: AnyTable): TableWorkerBridge;
93
- /**
94
- * Pull-based sync, called at the top of every worker-backed row model read
95
- * (i.e. every render). Posts data on identity change and a single-flight
96
- * process request on state change; both are cheap no-ops otherwise, and
97
- * multiple stages sharing the handle dedupe onto one request.
98
- */
99
- declare function syncTableWorker(tableWorker: TableWorker, table: AnyTable): void;
100
- //#endregion
101
- export { TableWorker, TableWorkerBridge, TableWorkerOptions, createTableWorker, getTableWorkerBridge, syncTableWorker, workerRowModelsFeature };
102
- //# sourceMappingURL=createTableWorker.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTableWorker.js","names":[],"sources":["../../src/worker/createTableWorker.ts"],"sourcesContent":["import { table_autoResetPageIndex } from '../features/row-pagination/rowPaginationFeature.utils'\nimport { table_autoResetExpanded } from '../features/row-expanding/rowExpandingFeature.utils'\nimport {\n tableWorkerPipeline,\n tableWorkerStageStateDeps,\n} from './tableWorkerProtocol'\nimport type { Table_Internal } from '../types/Table'\nimport type { TableFeature } from '../types/TableFeatures'\nimport type { TableWorkerDataPayload } from './rebuildRowModel'\nimport type {\n TableState_WorkerRowModels,\n TableWorkerResponse,\n TableWorkerStage,\n TableWorkerStagePayload,\n} from './tableWorkerProtocol'\n\n// Importing anything from this module (e.g. `workerRowModelsFeature`)\n// registers the plugin key and its state slice with the core type maps, so\n// userland needs no `declare module` of its own. Apps that never use worker\n// row models never load this module and never see the types.\ndeclare module '../types/TableFeatures' {\n interface Plugins {\n workerRowModelsFeature: TableFeature\n }\n}\ndeclare module '../types/TableState' {\n interface TableState_FeatureMap {\n workerRowModelsFeature: TableState_WorkerRowModels\n }\n}\n\nexport interface TableWorkerOptions {\n /**\n * Creates the dedicated worker that runs the shadow table. The worker entry\n * must call `initTableWorker` with the same columns and processing config.\n *\n * The `new Worker(new URL(...))` expression must live in your code (not the\n * library) so your bundler can statically discover and bundle the worker\n * entry file.\n *\n * @example\n * ```ts\n * createWorker: () =>\n * new Worker(new URL('./table.worker.ts', import.meta.url), {\n * type: 'module',\n * })\n * ```\n */\n createWorker: () => Worker\n}\n\nexport interface TableWorkerBridge {\n worker: Worker | null\n /** The worker errored (load failure or uncaught throw); stop posting. */\n failed: boolean\n lastData: unknown\n dataVersion: number\n requestId: number\n resultRequestId: number\n /** A process request has been posted and its result has not arrived yet. */\n inFlight: boolean\n /** State changed since the last posted request; post when possible. */\n needsProcess: boolean\n sentAt: number\n /** The stages registered on this table (grows as factories initialize). */\n stages: Set<TableWorkerStage>\n /** Snapshot of state refs + stage count captured at the last post. */\n sentState: Record<string, unknown> | null\n sentStageCount: number\n /** Latest observed state refs, posted on the trailing edge if in flight. */\n lastState: Record<string, unknown>\n results: { [K in TableWorkerStage]?: TableWorkerDataPayload }\n /** Bumped per stage only when that stage's payload actually changed. */\n stageVersions: { [K in TableWorkerStage]?: number }\n}\n\ntype AnyTable = Table_Internal<any, any>\n\n/**\n * A handle shared by every worker-backed row model on a table. It owns the\n * worker instance and the per-table request/result bookkeeping, so registering\n * one stage or four costs exactly one worker and one round trip per change.\n */\nexport interface TableWorker {\n _options: TableWorkerOptions\n _bridges: WeakMap<object, TableWorkerBridge>\n _liveBridges: Set<TableWorkerBridge>\n /**\n * Terminates every worker created through this handle and resets the\n * bookkeeping. Safe to call at any time: the next row model read lazily\n * recreates the worker and re-sends the data (self-healing). Note that\n * nothing calls this automatically yet; React StrictMode double-mounts and\n * HMR updates still leak a worker in development until the reactivity\n * bindings grow a real `unmount` hook.\n */\n terminate: () => void\n}\n\n/**\n * Registers the `workerRowModels` state slice\n * (`{ version, isPending, lastComputeMs, lastRoundTripMs }`). Worker results\n * land by bumping `version`, so re-renders flow through the exact same state\n * mechanism as every other table state change.\n */\nexport const workerRowModelsFeature: TableFeature = {\n getInitialState: (initialState: any) => ({\n workerRowModels: { version: 0, isPending: false },\n ...initialState,\n }),\n}\n\n/**\n * Creates the shared worker handle for a table's worker-backed row models.\n * Pass it to `createWorkerRowModel()` once per stage you want offloaded.\n */\nexport function createTableWorker(options: TableWorkerOptions): TableWorker {\n const liveBridges = new Set<TableWorkerBridge>()\n return {\n _options: options,\n _bridges: new WeakMap(),\n _liveBridges: liveBridges,\n terminate: () => {\n for (const bridge of liveBridges) {\n bridge.worker?.terminate()\n bridge.worker = null\n bridge.failed = false\n bridge.lastData = undefined\n bridge.inFlight = false\n bridge.needsProcess = true\n bridge.sentState = null\n bridge.sentStageCount = 0\n }\n liveBridges.clear()\n },\n }\n}\n\nexport function getTableWorkerBridge(\n tableWorker: TableWorker,\n table: AnyTable,\n): TableWorkerBridge {\n let bridge = tableWorker._bridges.get(table)\n if (!bridge) {\n bridge = {\n worker: null,\n failed: false,\n lastData: undefined,\n dataVersion: 0,\n requestId: 0,\n resultRequestId: 0,\n inFlight: false,\n needsProcess: true,\n sentAt: 0,\n stages: new Set(),\n sentState: null,\n sentStageCount: 0,\n lastState: {},\n results: {},\n stageVersions: {},\n }\n tableWorker._bridges.set(table, bridge)\n }\n return bridge\n}\n\n/** Shallow reference comparison; atoms return stable refs when unchanged. */\nfunction statesEqual(\n a: Record<string, unknown> | null,\n b: Record<string, unknown>,\n): boolean {\n if (a === null) return false\n const aKeys = Object.keys(a)\n const bKeys = Object.keys(b)\n if (aKeys.length !== bKeys.length) return false\n for (const key of bKeys) {\n if (a[key] !== b[key]) return false\n }\n return true\n}\n\nfunction setWorkerRowModelsState(\n table: AnyTable,\n update: (prev: any) => Record<string, unknown>,\n) {\n const stateAtom = (table.baseAtoms as Record<string, any>).workerRowModels\n stateAtom?.set((prev: any) => update(prev ?? { version: 0 }))\n}\n\nfunction postProcess(table: AnyTable, bridge: TableWorkerBridge): void {\n const stages = tableWorkerPipeline.filter((stage) => bridge.stages.has(stage))\n bridge.needsProcess = false\n bridge.sentState = bridge.lastState\n bridge.sentStageCount = bridge.stages.size\n bridge.inFlight = true\n bridge.sentAt = performance.now()\n const requestId = ++bridge.requestId\n bridge.worker!.postMessage({\n type: 'process',\n requestId,\n dataVersion: bridge.dataVersion,\n stages,\n state: bridge.lastState,\n })\n // postProcess can run during render (via sync); defer the pending write.\n table._reactivity.schedule(() => {\n if (bridge.requestId === requestId && bridge.resultRequestId < requestId) {\n setWorkerRowModelsState(table, (prev) => ({ ...prev, isPending: true }))\n }\n })\n}\n\nfunction handleResult(\n table: AnyTable,\n bridge: TableWorkerBridge,\n message: TableWorkerResponse,\n) {\n if (message.requestId !== bridge.requestId) return\n bridge.inFlight = false\n bridge.resultRequestId = message.requestId\n\n // A data change raced this request: the result is for the old dataset.\n // Drop it and immediately re-process against the new data.\n if (message.dataVersion !== bridge.dataVersion) {\n postProcess(table, bridge)\n return\n }\n\n // Merge stage payloads: `unchanged` keeps the previous result (and its\n // rebuilt model, via the per-stage version), changed payloads replace it.\n let anyChanged = false\n let groupedChanged = false\n for (const [stage, payload] of Object.entries(message.stages) as Array<\n [TableWorkerStage, TableWorkerStagePayload]\n >) {\n if (payload.kind === 'unchanged') continue\n bridge.results[stage] = payload\n bridge.stageVersions[stage] = (bridge.stageVersions[stage] ?? 0) + 1\n anyChanged = true\n if (stage === 'grouped') groupedChanged = true\n }\n\n const roundTripMs = performance.now() - bridge.sentAt\n setWorkerRowModelsState(table, (prev) => ({\n version: (prev.version ?? 0) + 1,\n isPending: false,\n lastComputeMs: message.computeMs,\n lastRoundTripMs: roundTripMs,\n }))\n\n // The async equivalent of the sync models' `onAfterUpdate` hooks. The\n // worker's unchanged-detection is its memo identity, so `groupedChanged`\n // mirrors exactly when the sync grouped model would have recomputed (and\n // reset expansion).\n if (anyChanged) {\n table._reactivity.schedule(() =>\n table._reactivity.untrack(() => {\n if (groupedChanged) {\n table_autoResetExpanded(table)\n }\n table_autoResetPageIndex(table)\n }),\n )\n }\n\n // Trailing edge: state changed while this request was in flight.\n if (bridge.needsProcess) {\n postProcess(table, bridge)\n }\n}\n\nfunction handleError(\n table: AnyTable,\n bridge: TableWorkerBridge,\n event: unknown,\n) {\n if (bridge.failed) return\n bridge.failed = true\n bridge.inFlight = false\n console.error(\n '[table-worker] The table worker failed; worker row models will keep ' +\n 'their last results and stop updating. Check that the worker entry ' +\n 'loads and that its initTableWorker() config is thread-portable.',\n event,\n )\n bridge.worker?.terminate()\n bridge.worker = null\n setWorkerRowModelsState(table, (prev) => ({ ...prev, isPending: false }))\n}\n\nfunction ensureWorker(\n tableWorker: TableWorker,\n table: AnyTable,\n bridge: TableWorkerBridge,\n) {\n if (bridge.worker) return\n bridge.worker = tableWorker._options.createWorker()\n tableWorker._liveBridges.add(bridge)\n bridge.worker.onmessage = (event: MessageEvent<TableWorkerResponse>) => {\n handleResult(table, bridge, event.data)\n }\n bridge.worker.onerror = (event) => handleError(table, bridge, event)\n bridge.worker.onmessageerror = (event) => handleError(table, bridge, event)\n}\n\n/**\n * Pull-based sync, called at the top of every worker-backed row model read\n * (i.e. every render). Posts data on identity change and a single-flight\n * process request on state change; both are cheap no-ops otherwise, and\n * multiple stages sharing the handle dedupe onto one request.\n */\nexport function syncTableWorker(tableWorker: TableWorker, table: AnyTable) {\n // SSR: no Worker global. Getters fall back to pre-stage models, so the\n // server renders unprocessed rows and the client takes over after hydration.\n if (typeof Worker === 'undefined') return\n\n const bridge = getTableWorkerBridge(tableWorker, table)\n if (bridge.failed) return\n ensureWorker(tableWorker, table, bridge)\n\n const data = table.options.data\n if (data !== bridge.lastData) {\n bridge.lastData = data\n bridge.dataVersion++\n bridge.worker!.postMessage({\n type: 'data',\n dataVersion: bridge.dataVersion,\n data,\n })\n bridge.needsProcess = true\n }\n\n // Union of the registered stages' state deps, compared by reference (atoms\n // return stable refs when a slice did not change).\n const atoms = table.atoms as Record<string, any>\n const state: Record<string, unknown> = {}\n for (const stage of bridge.stages) {\n for (const key of tableWorkerStageStateDeps[stage]) {\n state[key] = atoms[key]?.get()\n }\n }\n bridge.lastState = state\n\n if (\n !bridge.needsProcess &&\n (!statesEqual(bridge.sentState, state) ||\n bridge.stages.size !== bridge.sentStageCount)\n ) {\n bridge.needsProcess = true\n }\n\n // Single-flight: at most one request in the worker at a time. If one is in\n // flight, the latest state is posted from the result handler (trailing\n // edge), so rapid input coalesces instead of queueing doomed computes.\n if (bridge.needsProcess && !bridge.inFlight) {\n postProcess(table, bridge)\n }\n}\n"],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- const require_utils = require('../utils.cjs');
2
- const require_tableWorkerProtocol = require('./tableWorkerProtocol.cjs');
3
- const require_createTableWorker = require('./createTableWorker.cjs');
4
- const require_rebuildRowModel = require('./rebuildRowModel.cjs');
5
-
6
- //#region src/worker/createWorkerRowModel.ts
7
- function capitalize(stage) {
8
- return stage.charAt(0).toUpperCase() + stage.slice(1);
9
- }
10
- /**
11
- * Turns any row model stage into a worker-backed one. The returned factory
12
- * plugs into the standard feature slot for that stage, so it composes with
13
- * the rest of the pipeline exactly like the sync factory it replaces.
14
- *
15
- * Register only the stages you want offloaded; each import is independent and
16
- * tree-shakable. All stages on a table share one worker and one round trip
17
- * per state change via the `tableWorker` handle. Until a result lands, the
18
- * stage returns its pre-stage model (stale-while-revalidate).
19
- *
20
- * Offloaded stages must form a contiguous prefix of the pipeline
21
- * (filtered -> grouped -> sorted -> expanded): a stage's worker result encodes
22
- * everything upstream as computed in the worker, so any upstream stage
23
- * registered on the main thread must be offloaded too. A dev warning fires on
24
- * mismatches.
25
- *
26
- * @example
27
- * ```ts
28
- * const tableWorker = createTableWorker({ createWorker })
29
- *
30
- * const features = tableFeatures({
31
- * rowSortingFeature,
32
- * columnGroupingFeature,
33
- * workerRowModelsFeature,
34
- * filteredRowModel: createWorkerRowModel(tableWorker, 'filtered'),
35
- * groupedRowModel: createWorkerRowModel(tableWorker, 'grouped'),
36
- * sortedRowModel: createWorkerRowModel(tableWorker, 'sorted'),
37
- * })
38
- * ```
39
- */
40
- function createWorkerRowModel(tableWorker, stage) {
41
- return (_table) => {
42
- const table = _table;
43
- require_createTableWorker.getTableWorkerBridge(tableWorker, table).stages.add(stage);
44
- let warned = false;
45
- const warnOnce = (message) => {
46
- if (process.env.NODE_ENV === "development" && !warned) {
47
- warned = true;
48
- console.warn(`[table-worker] ${message}`);
49
- }
50
- };
51
- const memoized = require_utils.tableMemo({
52
- table,
53
- fnName: `table.get${capitalize(stage)}RowModel`,
54
- memoDeps: () => [table.getCoreRowModel(), require_createTableWorker.getTableWorkerBridge(tableWorker, table).stageVersions[stage]],
55
- fn: () => {
56
- const bridge = require_createTableWorker.getTableWorkerBridge(tableWorker, table);
57
- const payload = bridge.results[stage];
58
- if (!payload) {
59
- if (bridge.resultRequestId > 0) warnOnce(`The worker returned no '${stage}' result. Make sure the worker's initTableWorker() config registers a ${stage}RowModel factory.`);
60
- return table[`getPre${capitalize(stage)}RowModel`]();
61
- }
62
- if (bridge.resultRequestId > 0) for (const upstream of require_tableWorkerProtocol.tableWorkerPipeline) {
63
- if (upstream === stage) break;
64
- if (table.options.features[`${upstream}RowModel`] && !bridge.results[upstream]) warnOnce(`This table has a ${upstream}RowModel, but the worker result for '${stage}' was computed without an offloaded '${upstream}' stage, so it is bypassed. Offload it too with createWorkerRowModel(tableWorker, '${upstream}').`);
65
- }
66
- return require_rebuildRowModel.rebuildRowModel(table, payload, stage !== "filtered");
67
- }
68
- });
69
- return () => {
70
- require_createTableWorker.syncTableWorker(tableWorker, table);
71
- return memoized();
72
- };
73
- };
74
- }
75
-
76
- //#endregion
77
- exports.createWorkerRowModel = createWorkerRowModel;
78
- //# sourceMappingURL=createWorkerRowModel.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWorkerRowModel.cjs","names":["tableMemo","getTableWorkerBridge","tableWorkerPipeline","rebuildRowModel"],"sources":["../../src/worker/createWorkerRowModel.ts"],"sourcesContent":["import { tableMemo } from '../utils'\nimport { getTableWorkerBridge, syncTableWorker } from './createTableWorker'\nimport { rebuildRowModel } from './rebuildRowModel'\nimport { tableWorkerPipeline } from './tableWorkerProtocol'\nimport type { RowModel } from '../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../types/Table'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { RowData } from '../types/type-utils'\nimport type { TableWorker } from './createTableWorker'\nimport type { TableWorkerStage } from './tableWorkerProtocol'\n\ntype AnyTable = Table_Internal<any, any>\n\nfunction capitalize(stage: string) {\n return stage.charAt(0).toUpperCase() + stage.slice(1)\n}\n\n/**\n * Turns any row model stage into a worker-backed one. The returned factory\n * plugs into the standard feature slot for that stage, so it composes with\n * the rest of the pipeline exactly like the sync factory it replaces.\n *\n * Register only the stages you want offloaded; each import is independent and\n * tree-shakable. All stages on a table share one worker and one round trip\n * per state change via the `tableWorker` handle. Until a result lands, the\n * stage returns its pre-stage model (stale-while-revalidate).\n *\n * Offloaded stages must form a contiguous prefix of the pipeline\n * (filtered -> grouped -> sorted -> expanded): a stage's worker result encodes\n * everything upstream as computed in the worker, so any upstream stage\n * registered on the main thread must be offloaded too. A dev warning fires on\n * mismatches.\n *\n * @example\n * ```ts\n * const tableWorker = createTableWorker({ createWorker })\n *\n * const features = tableFeatures({\n * rowSortingFeature,\n * columnGroupingFeature,\n * workerRowModelsFeature,\n * filteredRowModel: createWorkerRowModel(tableWorker, 'filtered'),\n * groupedRowModel: createWorkerRowModel(tableWorker, 'grouped'),\n * sortedRowModel: createWorkerRowModel(tableWorker, 'sorted'),\n * })\n * ```\n */\nexport function createWorkerRowModel(\n tableWorker: TableWorker,\n stage: TableWorkerStage,\n) {\n return <TFeatures extends TableFeatures, TData extends RowData>(\n _table: Table<TFeatures, TData>,\n ): (() => RowModel<TFeatures, TData>) => {\n const table = _table as unknown as AnyTable\n // Stages register per table as their factories initialize (first read).\n // The first render may therefore fire one extra coalesced request while\n // the stage set grows; single-flight makes it a cheap trailing request.\n getTableWorkerBridge(tableWorker, table).stages.add(stage)\n let warned = false\n\n const warnOnce = (message: string) => {\n if (process.env.NODE_ENV === 'development' && !warned) {\n warned = true\n console.warn(`[table-worker] ${message}`)\n }\n }\n\n const memoized = tableMemo({\n table,\n fnName: `table.get${capitalize(stage)}RowModel`,\n // The per-stage version bumps only when this stage's payload actually\n // changed, so stages the worker reported as `unchanged` skip the O(n)\n // rebuild entirely (the re-render itself rides the state slice bump).\n memoDeps: () => [\n table.getCoreRowModel(),\n getTableWorkerBridge(tableWorker, table).stageVersions[stage],\n ],\n fn: () => {\n const bridge = getTableWorkerBridge(tableWorker, table)\n const payload = bridge.results[stage]\n if (!payload) {\n if (bridge.resultRequestId > 0) {\n warnOnce(\n `The worker returned no '${stage}' result. Make sure the ` +\n `worker's initTableWorker() config registers a ` +\n `${stage}RowModel factory.`,\n )\n }\n return (table as any)[`getPre${capitalize(stage)}RowModel`]()\n }\n // Contiguous-prefix check: any upstream stage registered on this\n // table must also have a worker result, or it is silently bypassed.\n if (bridge.resultRequestId > 0) {\n for (const upstream of tableWorkerPipeline) {\n if (upstream === stage) break\n if (\n (table.options.features as Record<string, unknown>)[\n `${upstream}RowModel`\n ] &&\n !bridge.results[upstream]\n ) {\n warnOnce(\n `This table has a ${upstream}RowModel, but the worker result ` +\n `for '${stage}' was computed without an offloaded ` +\n `'${upstream}' stage, so it is bypassed. Offload it too ` +\n `with createWorkerRowModel(tableWorker, '${upstream}').`,\n )\n }\n }\n }\n return rebuildRowModel(table, payload, stage !== 'filtered')\n },\n })\n\n return () => {\n syncTableWorker(tableWorker, table)\n return memoized()\n }\n }\n}\n"],"mappings":";;;;;;AAaA,SAAS,WAAW,OAAe;CACjC,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,MAAM,CAAC;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,qBACd,aACA,OACA;CACA,QACE,WACuC;EACvC,MAAM,QAAQ;EAId,+CAAqB,aAAa,KAAK,CAAC,CAAC,OAAO,IAAI,KAAK;EACzD,IAAI,SAAS;EAEb,MAAM,YAAY,YAAoB;GACpC,IAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,QAAQ;IACrD,SAAS;IACT,QAAQ,KAAK,kBAAkB,SAAS;GAC1C;EACF;EAEA,MAAM,WAAWA,wBAAU;GACzB;GACA,QAAQ,YAAY,WAAW,KAAK,EAAE;GAItC,gBAAgB,CACd,MAAM,gBAAgB,GACtBC,+CAAqB,aAAa,KAAK,CAAC,CAAC,cAAc,MACzD;GACA,UAAU;IACR,MAAM,SAASA,+CAAqB,aAAa,KAAK;IACtD,MAAM,UAAU,OAAO,QAAQ;IAC/B,IAAI,CAAC,SAAS;KACZ,IAAI,OAAO,kBAAkB,GAC3B,SACE,2BAA2B,MAAM,wEAE5B,MAAM,kBACb;KAEF,OAAQ,MAAc,SAAS,WAAW,KAAK,EAAE,UAAU,CAAC;IAC9D;IAGA,IAAI,OAAO,kBAAkB,GAC3B,KAAK,MAAM,YAAYC,iDAAqB;KAC1C,IAAI,aAAa,OAAO;KACxB,IACG,MAAM,QAAQ,SACb,GAAG,SAAS,cAEd,CAAC,OAAO,QAAQ,WAEhB,SACE,oBAAoB,SAAS,uCACnB,MAAM,uCACV,SAAS,qFAC8B,SAAS,IACxD;IAEJ;IAEF,OAAOC,wCAAgB,OAAO,SAAS,UAAU,UAAU;GAC7D;EACF,CAAC;EAED,aAAa;GACX,0CAAgB,aAAa,KAAK;GAClC,OAAO,SAAS;EAClB;CACF;AACF"}
@@ -1,42 +0,0 @@
1
- import { RowData } from "../types/type-utils.cjs";
2
- import { TableWorkerStage } from "./tableWorkerProtocol.cjs";
3
- import { RowModel } from "../core/row-models/coreRowModelsFeature.types.cjs";
4
- import { Table } from "../types/Table.cjs";
5
- import { TableFeatures } from "../types/TableFeatures.cjs";
6
- import { TableWorker } from "./createTableWorker.cjs";
7
-
8
- //#region src/worker/createWorkerRowModel.d.ts
9
- /**
10
- * Turns any row model stage into a worker-backed one. The returned factory
11
- * plugs into the standard feature slot for that stage, so it composes with
12
- * the rest of the pipeline exactly like the sync factory it replaces.
13
- *
14
- * Register only the stages you want offloaded; each import is independent and
15
- * tree-shakable. All stages on a table share one worker and one round trip
16
- * per state change via the `tableWorker` handle. Until a result lands, the
17
- * stage returns its pre-stage model (stale-while-revalidate).
18
- *
19
- * Offloaded stages must form a contiguous prefix of the pipeline
20
- * (filtered -> grouped -> sorted -> expanded): a stage's worker result encodes
21
- * everything upstream as computed in the worker, so any upstream stage
22
- * registered on the main thread must be offloaded too. A dev warning fires on
23
- * mismatches.
24
- *
25
- * @example
26
- * ```ts
27
- * const tableWorker = createTableWorker({ createWorker })
28
- *
29
- * const features = tableFeatures({
30
- * rowSortingFeature,
31
- * columnGroupingFeature,
32
- * workerRowModelsFeature,
33
- * filteredRowModel: createWorkerRowModel(tableWorker, 'filtered'),
34
- * groupedRowModel: createWorkerRowModel(tableWorker, 'grouped'),
35
- * sortedRowModel: createWorkerRowModel(tableWorker, 'sorted'),
36
- * })
37
- * ```
38
- */
39
- declare function createWorkerRowModel(tableWorker: TableWorker, stage: TableWorkerStage): <TFeatures extends TableFeatures, TData extends RowData>(_table: Table<TFeatures, TData>) => (() => RowModel<TFeatures, TData>);
40
- //#endregion
41
- export { createWorkerRowModel };
42
- //# sourceMappingURL=createWorkerRowModel.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWorkerRowModel.js","names":[],"sources":["../../src/worker/createWorkerRowModel.ts"],"sourcesContent":["import { tableMemo } from '../utils'\nimport { getTableWorkerBridge, syncTableWorker } from './createTableWorker'\nimport { rebuildRowModel } from './rebuildRowModel'\nimport { tableWorkerPipeline } from './tableWorkerProtocol'\nimport type { RowModel } from '../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../types/Table'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { RowData } from '../types/type-utils'\nimport type { TableWorker } from './createTableWorker'\nimport type { TableWorkerStage } from './tableWorkerProtocol'\n\ntype AnyTable = Table_Internal<any, any>\n\nfunction capitalize(stage: string) {\n return stage.charAt(0).toUpperCase() + stage.slice(1)\n}\n\n/**\n * Turns any row model stage into a worker-backed one. The returned factory\n * plugs into the standard feature slot for that stage, so it composes with\n * the rest of the pipeline exactly like the sync factory it replaces.\n *\n * Register only the stages you want offloaded; each import is independent and\n * tree-shakable. All stages on a table share one worker and one round trip\n * per state change via the `tableWorker` handle. Until a result lands, the\n * stage returns its pre-stage model (stale-while-revalidate).\n *\n * Offloaded stages must form a contiguous prefix of the pipeline\n * (filtered -> grouped -> sorted -> expanded): a stage's worker result encodes\n * everything upstream as computed in the worker, so any upstream stage\n * registered on the main thread must be offloaded too. A dev warning fires on\n * mismatches.\n *\n * @example\n * ```ts\n * const tableWorker = createTableWorker({ createWorker })\n *\n * const features = tableFeatures({\n * rowSortingFeature,\n * columnGroupingFeature,\n * workerRowModelsFeature,\n * filteredRowModel: createWorkerRowModel(tableWorker, 'filtered'),\n * groupedRowModel: createWorkerRowModel(tableWorker, 'grouped'),\n * sortedRowModel: createWorkerRowModel(tableWorker, 'sorted'),\n * })\n * ```\n */\nexport function createWorkerRowModel(\n tableWorker: TableWorker,\n stage: TableWorkerStage,\n) {\n return <TFeatures extends TableFeatures, TData extends RowData>(\n _table: Table<TFeatures, TData>,\n ): (() => RowModel<TFeatures, TData>) => {\n const table = _table as unknown as AnyTable\n // Stages register per table as their factories initialize (first read).\n // The first render may therefore fire one extra coalesced request while\n // the stage set grows; single-flight makes it a cheap trailing request.\n getTableWorkerBridge(tableWorker, table).stages.add(stage)\n let warned = false\n\n const warnOnce = (message: string) => {\n if (process.env.NODE_ENV === 'development' && !warned) {\n warned = true\n console.warn(`[table-worker] ${message}`)\n }\n }\n\n const memoized = tableMemo({\n table,\n fnName: `table.get${capitalize(stage)}RowModel`,\n // The per-stage version bumps only when this stage's payload actually\n // changed, so stages the worker reported as `unchanged` skip the O(n)\n // rebuild entirely (the re-render itself rides the state slice bump).\n memoDeps: () => [\n table.getCoreRowModel(),\n getTableWorkerBridge(tableWorker, table).stageVersions[stage],\n ],\n fn: () => {\n const bridge = getTableWorkerBridge(tableWorker, table)\n const payload = bridge.results[stage]\n if (!payload) {\n if (bridge.resultRequestId > 0) {\n warnOnce(\n `The worker returned no '${stage}' result. Make sure the ` +\n `worker's initTableWorker() config registers a ` +\n `${stage}RowModel factory.`,\n )\n }\n return (table as any)[`getPre${capitalize(stage)}RowModel`]()\n }\n // Contiguous-prefix check: any upstream stage registered on this\n // table must also have a worker result, or it is silently bypassed.\n if (bridge.resultRequestId > 0) {\n for (const upstream of tableWorkerPipeline) {\n if (upstream === stage) break\n if (\n (table.options.features as Record<string, unknown>)[\n `${upstream}RowModel`\n ] &&\n !bridge.results[upstream]\n ) {\n warnOnce(\n `This table has a ${upstream}RowModel, but the worker result ` +\n `for '${stage}' was computed without an offloaded ` +\n `'${upstream}' stage, so it is bypassed. Offload it too ` +\n `with createWorkerRowModel(tableWorker, '${upstream}').`,\n )\n }\n }\n }\n return rebuildRowModel(table, payload, stage !== 'filtered')\n },\n })\n\n return () => {\n syncTableWorker(tableWorker, table)\n return memoized()\n }\n }\n}\n"],"mappings":";;;;;;AAaA,SAAS,WAAW,OAAe;CACjC,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,MAAM,CAAC;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,qBACd,aACA,OACA;CACA,QACE,WACuC;EACvC,MAAM,QAAQ;EAId,qBAAqB,aAAa,KAAK,CAAC,CAAC,OAAO,IAAI,KAAK;EACzD,IAAI,SAAS;EAEb,MAAM,YAAY,YAAoB;GACpC,IAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,QAAQ;IACrD,SAAS;IACT,QAAQ,KAAK,kBAAkB,SAAS;GAC1C;EACF;EAEA,MAAM,WAAW,UAAU;GACzB;GACA,QAAQ,YAAY,WAAW,KAAK,EAAE;GAItC,gBAAgB,CACd,MAAM,gBAAgB,GACtB,qBAAqB,aAAa,KAAK,CAAC,CAAC,cAAc,MACzD;GACA,UAAU;IACR,MAAM,SAAS,qBAAqB,aAAa,KAAK;IACtD,MAAM,UAAU,OAAO,QAAQ;IAC/B,IAAI,CAAC,SAAS;KACZ,IAAI,OAAO,kBAAkB,GAC3B,SACE,2BAA2B,MAAM,wEAE5B,MAAM,kBACb;KAEF,OAAQ,MAAc,SAAS,WAAW,KAAK,EAAE,UAAU,CAAC;IAC9D;IAGA,IAAI,OAAO,kBAAkB,GAC3B,KAAK,MAAM,YAAY,qBAAqB;KAC1C,IAAI,aAAa,OAAO;KACxB,IACG,MAAM,QAAQ,SACb,GAAG,SAAS,cAEd,CAAC,OAAO,QAAQ,WAEhB,SACE,oBAAoB,SAAS,uCACnB,MAAM,uCACV,SAAS,qFAC8B,SAAS,IACxD;IAEJ;IAEF,OAAO,gBAAgB,OAAO,SAAS,UAAU,UAAU;GAC7D;EACF,CAAC;EAED,aAAa;GACX,gBAAgB,aAAa,KAAK;GAClC,OAAO,SAAS;EAClB;CACF;AACF"}
@@ -1,100 +0,0 @@
1
- const require_utils = require('../utils.cjs');
2
- const require_constructTable = require('../core/table/constructTable.cjs');
3
- const require_store_reactivity_bindings = require('../store-reactivity-bindings.cjs');
4
- const require_serializeRowModel = require('./serializeRowModel.cjs');
5
-
6
- //#region src/worker/initTableWorker.ts
7
- function capitalize(stage) {
8
- return stage.charAt(0).toUpperCase() + stage.slice(1);
9
- }
10
- /** Flatten column-group defs to leaf defs (mirrors core's id resolution). */
11
- function flattenColumnDefs(defs) {
12
- return defs.flatMap((def) => def.columns ? flattenColumnDefs(def.columns) : [def]);
13
- }
14
- /**
15
- * Runs a headless "shadow table" inside a dedicated Web Worker.
16
- *
17
- * Call this from a user-authored worker entry file, passing the same columns
18
- * and processing features used on the main thread. The shadow table runs the
19
- * real table-core row model pipeline (real fns, real Row objects) off the
20
- * main thread and posts back one payload per stage the main thread requested:
21
- * a transferable index permutation for flat results, a serialized row tree
22
- * (with eagerly computed aggregates) when grouping produces synthetic rows.
23
- *
24
- * Everything passed here must be thread-portable: `accessorKey` columns or
25
- * accessors defined in a shared module, and fns from registries or shared
26
- * modules (no closures over app state).
27
- *
28
- * @example
29
- * ```ts
30
- * // table.worker.ts
31
- * import { initTableWorker } from '@tanstack/table-core/experimental-worker-plugin'
32
- * import { columns, sharedFeatures } from './tableConfig'
33
- *
34
- * initTableWorker({ features: sharedFeatures, columns })
35
- * ```
36
- */
37
- function initTableWorker(config) {
38
- let table;
39
- let dataVersion = 0;
40
- let coreIndexById = require_utils.makeObjectMap();
41
- let aggregateColumnIds = [];
42
- let lastSentModels = {};
43
- self.onmessage = (event) => {
44
- const message = event.data;
45
- if (message.type === "data") {
46
- dataVersion = message.dataVersion;
47
- lastSentModels = {};
48
- if (!table) {
49
- table = require_constructTable.constructTable({
50
- ...config,
51
- features: {
52
- coreReactivityFeature: require_store_reactivity_bindings.storeReactivityBindings(),
53
- ...config.features
54
- },
55
- data: message.data
56
- });
57
- aggregateColumnIds = flattenColumnDefs(config.columns).filter((def) => def.aggregationFn != null || def.aggregatedCell != null).map((def) => def.id ?? (typeof def.accessorKey === "string" ? def.accessorKey.replaceAll(".", "_") : void 0)).filter((id) => id != null);
58
- } else table.setOptions((prev) => ({
59
- ...prev,
60
- data: message.data
61
- }));
62
- const coreFlatRows = table.getCoreRowModel().flatRows;
63
- coreIndexById = require_utils.makeObjectMap();
64
- for (let i = 0; i < coreFlatRows.length; i++) coreIndexById[coreFlatRows[i].id] = i;
65
- return;
66
- }
67
- if (!table) return;
68
- const start = performance.now();
69
- table._reactivity.batch(() => {
70
- for (const [key, value] of Object.entries(message.state)) {
71
- const baseAtom = table.baseAtoms[key];
72
- if (baseAtom && value !== void 0) baseAtom.set(value);
73
- }
74
- });
75
- const stages = {};
76
- const transfer = [];
77
- for (const stage of message.stages) {
78
- if (!config.features[`${stage}RowModel`]) continue;
79
- const model = table[`get${capitalize(stage)}RowModel`]();
80
- if (lastSentModels[stage] === model) {
81
- stages[stage] = { kind: "unchanged" };
82
- continue;
83
- }
84
- lastSentModels[stage] = model;
85
- stages[stage] = require_serializeRowModel.serializeRowModel(model, coreIndexById, aggregateColumnIds, transfer);
86
- }
87
- const response = {
88
- type: "result",
89
- requestId: message.requestId,
90
- dataVersion,
91
- stages,
92
- computeMs: performance.now() - start
93
- };
94
- postMessage(response, { transfer });
95
- };
96
- }
97
-
98
- //#endregion
99
- exports.initTableWorker = initTableWorker;
100
- //# sourceMappingURL=initTableWorker.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initTableWorker.cjs","names":["makeObjectMap","constructTable","storeReactivityBindings","serializeRowModel"],"sources":["../../src/worker/initTableWorker.ts"],"sourcesContent":["import { constructTable } from '../core/table/constructTable'\nimport { storeReactivityBindings } from '../store-reactivity-bindings'\nimport { makeObjectMap } from '../utils'\nimport { serializeRowModel } from './serializeRowModel'\nimport type { RowData } from '../types/type-utils'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { TableOptions } from '../types/TableOptions'\nimport type { Table_Internal } from '../types/Table'\nimport type {\n TableWorkerRequest,\n TableWorkerResult,\n TableWorkerStage,\n TableWorkerStagePayload,\n} from './tableWorkerProtocol'\n\nexport type TableWorkerConfig<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> = Omit<TableOptions<TFeatures, TData>, 'data'>\n\nfunction capitalize(stage: string) {\n return stage.charAt(0).toUpperCase() + stage.slice(1)\n}\n\n/** Flatten column-group defs to leaf defs (mirrors core's id resolution). */\nfunction flattenColumnDefs(defs: Array<any>): Array<any> {\n return defs.flatMap((def) =>\n def.columns ? flattenColumnDefs(def.columns) : [def],\n )\n}\n\n/**\n * Runs a headless \"shadow table\" inside a dedicated Web Worker.\n *\n * Call this from a user-authored worker entry file, passing the same columns\n * and processing features used on the main thread. The shadow table runs the\n * real table-core row model pipeline (real fns, real Row objects) off the\n * main thread and posts back one payload per stage the main thread requested:\n * a transferable index permutation for flat results, a serialized row tree\n * (with eagerly computed aggregates) when grouping produces synthetic rows.\n *\n * Everything passed here must be thread-portable: `accessorKey` columns or\n * accessors defined in a shared module, and fns from registries or shared\n * modules (no closures over app state).\n *\n * @example\n * ```ts\n * // table.worker.ts\n * import { initTableWorker } from '@tanstack/table-core/experimental-worker-plugin'\n * import { columns, sharedFeatures } from './tableConfig'\n *\n * initTableWorker({ features: sharedFeatures, columns })\n * ```\n */\nexport function initTableWorker<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(config: TableWorkerConfig<TFeatures, TData>): void {\n let table: Table_Internal<TFeatures, TData> | undefined\n let dataVersion = 0\n let coreIndexById: Record<string, number> = makeObjectMap()\n let aggregateColumnIds: Array<string> = []\n // Last-sent model identity per stage: the memoized getters return stable\n // objects when their inputs did not change, so identity equality is exactly\n // \"this stage's result is unchanged\".\n let lastSentModels: { [K in TableWorkerStage]?: unknown } = {}\n\n self.onmessage = (event: MessageEvent<TableWorkerRequest<TData>>) => {\n const message = event.data\n\n if (message.type === 'data') {\n dataVersion = message.dataVersion\n lastSentModels = {}\n if (!table) {\n table = constructTable<TFeatures, TData>({\n ...(config as TableOptions<TFeatures, TData>),\n features: {\n coreReactivityFeature: storeReactivityBindings(),\n ...config.features,\n },\n data: message.data,\n })\n // Only columns with an explicit aggregation get eagerly aggregated\n // per group. Sync tables aggregate lazily (visible cells only), so\n // auto-aggregating every column would explode on high-cardinality\n // grouping for values nothing renders. Read the RAW column defs:\n // rowAggregationFeature injects default aggregatedCell/aggregationFn\n // into every resolved columnDef, so the resolved defs can't tell\n // explicit from default.\n aggregateColumnIds = flattenColumnDefs(config.columns as Array<any>)\n .filter(\n (def) => def.aggregationFn != null || def.aggregatedCell != null,\n )\n .map(\n (def) =>\n def.id ??\n (typeof def.accessorKey === 'string'\n ? def.accessorKey.replaceAll('.', '_')\n : undefined),\n )\n .filter((id): id is string => id != null)\n } else {\n table.setOptions((prev) => ({ ...prev, data: message.data }))\n }\n // Map row ids to data positions once per dataset; serialization uses it\n // to express every stage result in terms of core row positions.\n const coreFlatRows = table.getCoreRowModel().flatRows\n coreIndexById = makeObjectMap()\n for (let i = 0; i < coreFlatRows.length; i++) {\n coreIndexById[coreFlatRows[i]!.id] = i\n }\n return\n }\n\n if (!table) return\n\n const start = performance.now()\n\n // Apply the serializable state slices to the shadow table's base atoms.\n table._reactivity.batch(() => {\n for (const [key, value] of Object.entries(message.state)) {\n const baseAtom = (table!.baseAtoms as Record<string, any>)[key]\n if (baseAtom && value !== undefined) {\n baseAtom.set(value)\n }\n }\n })\n\n // Compute exactly the stages the main thread requested, skipping any this\n // shadow table has no row model factory for (the main thread warns).\n const stages: { [K in TableWorkerStage]?: TableWorkerStagePayload } = {}\n const transfer: Array<Transferable> = []\n\n for (const stage of message.stages) {\n if (!(config.features as Record<string, unknown>)[`${stage}RowModel`]) {\n continue\n }\n const model = (table as any)[`get${capitalize(stage)}RowModel`]()\n // Memoized getters return the same object when inputs are unchanged;\n // skip re-serializing (and the main thread skips rebuilding). Safe under\n // single-flight: results are never dropped within a dataVersion.\n if (lastSentModels[stage] === model) {\n stages[stage] = { kind: 'unchanged' }\n continue\n }\n lastSentModels[stage] = model\n stages[stage] = serializeRowModel(\n model,\n coreIndexById,\n aggregateColumnIds,\n transfer,\n )\n }\n\n const response: TableWorkerResult = {\n type: 'result',\n requestId: message.requestId,\n dataVersion,\n stages,\n computeMs: performance.now() - start,\n }\n postMessage(response, { transfer })\n }\n}\n"],"mappings":";;;;;;AAoBA,SAAS,WAAW,OAAe;CACjC,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,MAAM,CAAC;AACtD;;AAGA,SAAS,kBAAkB,MAA8B;CACvD,OAAO,KAAK,SAAS,QACnB,IAAI,UAAU,kBAAkB,IAAI,OAAO,IAAI,CAAC,GAAG,CACrD;AACF;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,gBAGd,QAAmD;CACnD,IAAI;CACJ,IAAI,cAAc;CAClB,IAAI,gBAAwCA,4BAAc;CAC1D,IAAI,qBAAoC,CAAC;CAIzC,IAAI,iBAAwD,CAAC;CAE7D,KAAK,aAAa,UAAmD;EACnE,MAAM,UAAU,MAAM;EAEtB,IAAI,QAAQ,SAAS,QAAQ;GAC3B,cAAc,QAAQ;GACtB,iBAAiB,CAAC;GAClB,IAAI,CAAC,OAAO;IACV,QAAQC,sCAAiC;KACvC,GAAI;KACJ,UAAU;MACR,uBAAuBC,0DAAwB;MAC/C,GAAG,OAAO;KACZ;KACA,MAAM,QAAQ;IAChB,CAAC;IAQD,qBAAqB,kBAAkB,OAAO,OAAqB,CAAC,CACjE,QACE,QAAQ,IAAI,iBAAiB,QAAQ,IAAI,kBAAkB,IAC9D,CAAC,CACA,KACE,QACC,IAAI,OACH,OAAO,IAAI,gBAAgB,WACxB,IAAI,YAAY,WAAW,KAAK,GAAG,IACnC,OACR,CAAC,CACA,QAAQ,OAAqB,MAAM,IAAI;GAC5C,OACE,MAAM,YAAY,UAAU;IAAE,GAAG;IAAM,MAAM,QAAQ;GAAK,EAAE;GAI9D,MAAM,eAAe,MAAM,gBAAgB,CAAC,CAAC;GAC7C,gBAAgBF,4BAAc;GAC9B,KAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KACvC,cAAc,aAAa,EAAE,CAAE,MAAM;GAEvC;EACF;EAEA,IAAI,CAAC,OAAO;EAEZ,MAAM,QAAQ,YAAY,IAAI;EAG9B,MAAM,YAAY,YAAY;GAC5B,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,KAAK,GAAG;IACxD,MAAM,WAAY,MAAO,UAAkC;IAC3D,IAAI,YAAY,UAAU,QACxB,SAAS,IAAI,KAAK;GAEtB;EACF,CAAC;EAID,MAAM,SAAgE,CAAC;EACvE,MAAM,WAAgC,CAAC;EAEvC,KAAK,MAAM,SAAS,QAAQ,QAAQ;GAClC,IAAI,CAAE,OAAO,SAAqC,GAAG,MAAM,YACzD;GAEF,MAAM,QAAS,MAAc,MAAM,WAAW,KAAK,EAAE,UAAU,CAAC;GAIhE,IAAI,eAAe,WAAW,OAAO;IACnC,OAAO,SAAS,EAAE,MAAM,YAAY;IACpC;GACF;GACA,eAAe,SAAS;GACxB,OAAO,SAASG,4CACd,OACA,eACA,oBACA,QACF;EACF;EAEA,MAAM,WAA8B;GAClC,MAAM;GACN,WAAW,QAAQ;GACnB;GACA;GACA,WAAW,YAAY,IAAI,IAAI;EACjC;EACA,YAAY,UAAU,EAAE,SAAS,CAAC;CACpC;AACF"}