@tanstack/table-core 9.0.0-alpha.4 → 9.0.0-alpha.42

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 (839) hide show
  1. package/README.md +117 -0
  2. package/dist/core/cells/constructCell.cjs +28 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +12 -0
  5. package/dist/core/cells/constructCell.d.ts +12 -0
  6. package/dist/core/cells/constructCell.js +27 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +25 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +13 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +13 -0
  12. package/dist/core/cells/coreCellsFeature.js +24 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +21 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +52 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +11 -0
  25. package/dist/core/columns/constructColumn.d.ts +11 -0
  26. package/dist/core/columns/constructColumn.js +51 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +70 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
  32. package/dist/core/columns/coreColumnsFeature.js +69 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +20 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +21 -0
  45. package/dist/core/coreFeatures.d.ts +21 -0
  46. package/dist/core/coreFeatures.js +20 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +90 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
  52. package/dist/core/headers/buildHeaderGroups.js +90 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +35 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +17 -0
  57. package/dist/core/headers/constructHeader.d.ts +17 -0
  58. package/dist/core/headers/constructHeader.js +34 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +66 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +61 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/reactivity/constructReactivityBindings.cjs +19 -0
  75. package/dist/core/reactivity/constructReactivityBindings.cjs.map +1 -0
  76. package/dist/core/reactivity/constructReactivityBindings.d.cts +7 -0
  77. package/dist/core/reactivity/constructReactivityBindings.d.ts +7 -0
  78. package/dist/core/reactivity/constructReactivityBindings.js +19 -0
  79. package/dist/core/reactivity/constructReactivityBindings.js.map +1 -0
  80. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +37 -0
  81. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +37 -0
  82. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +19 -0
  83. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -0
  84. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +14 -0
  85. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +14 -0
  86. package/dist/core/reactivity/coreReactivityFeature.utils.js +18 -0
  87. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -0
  88. package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
  89. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  90. package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
  91. package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
  92. package/dist/core/row-models/coreRowModelsFeature.js +30 -0
  93. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  94. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
  95. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
  96. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
  97. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  98. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
  99. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
  100. package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
  101. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  102. package/dist/core/row-models/createCoreRowModel.cjs +47 -0
  103. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  104. package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
  105. package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
  106. package/dist/core/row-models/createCoreRowModel.js +47 -0
  107. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  108. package/dist/core/rows/constructRow.cjs +37 -0
  109. package/dist/core/rows/constructRow.cjs.map +1 -0
  110. package/dist/core/rows/constructRow.d.cts +10 -0
  111. package/dist/core/rows/constructRow.d.ts +10 -0
  112. package/dist/core/rows/constructRow.js +36 -0
  113. package/dist/core/rows/constructRow.js.map +1 -0
  114. package/dist/core/rows/coreRowsFeature.cjs +41 -0
  115. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  116. package/dist/core/rows/coreRowsFeature.d.cts +13 -0
  117. package/dist/core/rows/coreRowsFeature.d.ts +13 -0
  118. package/dist/core/rows/coreRowsFeature.js +40 -0
  119. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  120. package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
  121. package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
  122. package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
  123. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  124. package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
  125. package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
  126. package/dist/core/rows/coreRowsFeature.utils.js +72 -0
  127. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  128. package/dist/core/table/constructTable.cjs +82 -0
  129. package/dist/core/table/constructTable.cjs.map +1 -0
  130. package/dist/core/table/constructTable.d.cts +12 -0
  131. package/dist/core/table/constructTable.d.ts +12 -0
  132. package/dist/core/table/constructTable.js +81 -0
  133. package/dist/core/table/constructTable.js.map +1 -0
  134. package/dist/core/table/coreTablesFeature.cjs +21 -0
  135. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  136. package/dist/core/table/coreTablesFeature.d.cts +13 -0
  137. package/dist/core/table/coreTablesFeature.d.ts +13 -0
  138. package/dist/core/table/coreTablesFeature.js +20 -0
  139. package/dist/core/table/coreTablesFeature.js.map +1 -0
  140. package/dist/core/table/coreTablesFeature.types.d.cts +162 -0
  141. package/dist/core/table/coreTablesFeature.types.d.ts +162 -0
  142. package/dist/core/table/coreTablesFeature.utils.cjs +26 -0
  143. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  144. package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
  145. package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
  146. package/dist/core/table/coreTablesFeature.utils.js +24 -0
  147. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.cjs +65 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
  151. package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
  152. package/dist/features/column-faceting/columnFacetingFeature.js +64 -0
  153. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  154. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
  155. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
  156. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
  157. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  158. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
  159. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
  160. package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
  161. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  162. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
  163. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  164. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
  165. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
  166. package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
  167. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  168. package/dist/features/column-faceting/createFacetedRowModel.cjs +40 -0
  169. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  170. package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
  171. package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
  172. package/dist/features/column-faceting/createFacetedRowModel.js +40 -0
  173. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  174. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
  175. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  176. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
  177. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
  178. package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
  179. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  182. package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
  183. package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
  184. package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
  185. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  186. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
  187. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
  188. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
  189. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  190. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
  191. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
  192. package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
  193. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  194. package/dist/features/column-filtering/createFilteredRowModel.cjs +99 -0
  195. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  196. package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
  197. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
  198. package/dist/features/column-filtering/createFilteredRowModel.js +99 -0
  199. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  200. package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
  201. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  202. package/dist/features/column-filtering/filterRowsUtils.js +76 -0
  203. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
  207. package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
  208. package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
  209. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  210. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
  211. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
  212. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
  213. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  214. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
  215. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
  216. package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
  217. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  218. package/dist/features/column-grouping/createGroupedRowModel.cjs +114 -0
  219. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  220. package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
  221. package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
  222. package/dist/features/column-grouping/createGroupedRowModel.js +114 -0
  223. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.cjs +61 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  226. package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
  227. package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
  228. package/dist/features/column-ordering/columnOrderingFeature.js +60 -0
  229. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  230. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
  231. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
  232. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +65 -0
  233. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  234. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
  235. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
  236. package/dist/features/column-ordering/columnOrderingFeature.utils.js +58 -0
  237. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  238. package/dist/features/column-pinning/columnPinningFeature.cjs +231 -0
  239. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  240. package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
  241. package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
  242. package/dist/features/column-pinning/columnPinningFeature.js +230 -0
  243. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  244. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
  245. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
  246. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +205 -0
  247. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  248. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
  249. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
  250. package/dist/features/column-pinning/columnPinningFeature.utils.js +175 -0
  251. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  252. package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
  253. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  254. package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
  255. package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
  256. package/dist/features/column-resizing/columnResizingFeature.js +45 -0
  257. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  258. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
  259. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
  260. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +157 -0
  261. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  262. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
  263. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
  264. package/dist/features/column-resizing/columnResizingFeature.utils.js +150 -0
  265. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  266. package/dist/features/column-sizing/columnSizingFeature.cjs +75 -0
  267. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  268. package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
  269. package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
  270. package/dist/features/column-sizing/columnSizingFeature.js +74 -0
  271. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  272. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
  273. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
  274. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
  275. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  276. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
  277. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
  278. package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
  279. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  280. package/dist/features/column-visibility/columnVisibilityFeature.cjs +96 -0
  281. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  282. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
  283. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
  284. package/dist/features/column-visibility/columnVisibilityFeature.js +95 -0
  285. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  286. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
  287. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
  288. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
  289. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  290. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
  291. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
  292. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
  293. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
  297. package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
  298. package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
  299. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  300. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
  301. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
  302. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
  303. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  304. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
  305. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
  306. package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
  307. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  308. package/dist/features/row-expanding/createExpandedRowModel.cjs +49 -0
  309. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  310. package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
  311. package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
  312. package/dist/features/row-expanding/createExpandedRowModel.js +48 -0
  313. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  316. package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
  317. package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
  318. package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
  319. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  320. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
  321. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
  322. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +115 -0
  323. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  324. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
  325. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
  326. package/dist/features/row-expanding/rowExpandingFeature.utils.js +101 -0
  327. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  328. package/dist/features/row-pagination/createPaginatedRowModel.cjs +57 -0
  329. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  330. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
  331. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
  332. package/dist/features/row-pagination/createPaginatedRowModel.js +57 -0
  333. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
  337. package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
  338. package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
  339. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  340. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
  341. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
  342. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +120 -0
  343. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  344. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
  345. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
  346. package/dist/features/row-pagination/rowPaginationFeature.utils.js +104 -0
  347. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  348. package/dist/features/row-pinning/rowPinningFeature.cjs +71 -0
  349. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  350. package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
  351. package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
  352. package/dist/features/row-pinning/rowPinningFeature.js +70 -0
  353. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  354. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
  355. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
  356. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +101 -0
  357. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  358. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
  359. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
  360. package/dist/features/row-pinning/rowPinningFeature.utils.js +91 -0
  361. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  362. package/dist/features/row-selection/rowSelectionFeature.cjs +79 -0
  363. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  364. package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
  365. package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
  366. package/dist/features/row-selection/rowSelectionFeature.js +78 -0
  367. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  368. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
  369. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
  370. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +232 -0
  371. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  372. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
  373. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
  374. package/dist/features/row-selection/rowSelectionFeature.utils.js +207 -0
  375. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  376. package/dist/features/row-sorting/createSortedRowModel.cjs +85 -0
  377. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  378. package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
  379. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
  380. package/dist/features/row-sorting/createSortedRowModel.js +85 -0
  381. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  382. package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
  383. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  384. package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
  385. package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
  386. package/dist/features/row-sorting/rowSortingFeature.js +58 -0
  387. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  388. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
  389. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
  390. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
  391. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  392. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
  393. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
  394. package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
  395. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  396. package/dist/features/stockFeatures.cjs +36 -0
  397. package/dist/features/stockFeatures.cjs.map +1 -0
  398. package/dist/features/stockFeatures.d.cts +36 -0
  399. package/dist/features/stockFeatures.d.ts +36 -0
  400. package/dist/features/stockFeatures.js +36 -0
  401. package/dist/features/stockFeatures.js.map +1 -0
  402. package/dist/flex-render.cjs +19 -0
  403. package/dist/flex-render.cjs.map +1 -0
  404. package/dist/flex-render.d.cts +24 -0
  405. package/dist/flex-render.d.ts +24 -0
  406. package/dist/flex-render.js +16 -0
  407. package/dist/flex-render.js.map +1 -0
  408. package/dist/fns/aggregationFns.cjs +125 -0
  409. package/dist/fns/aggregationFns.cjs.map +1 -0
  410. package/dist/fns/aggregationFns.d.cts +54 -0
  411. package/dist/fns/aggregationFns.d.ts +54 -0
  412. package/dist/fns/aggregationFns.js +116 -0
  413. package/dist/fns/aggregationFns.js.map +1 -0
  414. package/dist/fns/filterFns.cjs +179 -0
  415. package/dist/fns/filterFns.cjs.map +1 -0
  416. package/dist/fns/filterFns.d.cts +81 -0
  417. package/dist/fns/filterFns.d.ts +81 -0
  418. package/dist/fns/filterFns.js +163 -0
  419. package/dist/fns/filterFns.js.map +1 -0
  420. package/dist/fns/sortFns.cjs +73 -0
  421. package/dist/fns/sortFns.cjs.map +1 -0
  422. package/dist/fns/sortFns.d.cts +22 -0
  423. package/dist/fns/sortFns.d.ts +22 -0
  424. package/dist/fns/sortFns.js +65 -0
  425. package/dist/fns/sortFns.js.map +1 -0
  426. package/dist/helpers/columnHelper.cjs +36 -0
  427. package/dist/helpers/columnHelper.cjs.map +1 -0
  428. package/dist/helpers/columnHelper.d.cts +66 -0
  429. package/dist/helpers/columnHelper.d.ts +66 -0
  430. package/dist/helpers/columnHelper.js +35 -0
  431. package/dist/helpers/columnHelper.js.map +1 -0
  432. package/dist/helpers/tableFeatures.cjs +20 -0
  433. package/dist/helpers/tableFeatures.cjs.map +1 -0
  434. package/dist/helpers/tableFeatures.d.cts +18 -0
  435. package/dist/helpers/tableFeatures.d.ts +18 -0
  436. package/dist/helpers/tableFeatures.js +19 -0
  437. package/dist/helpers/tableFeatures.js.map +1 -0
  438. package/dist/helpers/tableOptions.cjs +9 -0
  439. package/dist/helpers/tableOptions.cjs.map +1 -0
  440. package/dist/helpers/tableOptions.d.cts +28 -0
  441. package/dist/helpers/tableOptions.d.ts +28 -0
  442. package/dist/helpers/tableOptions.js +8 -0
  443. package/dist/helpers/tableOptions.js.map +1 -0
  444. package/dist/index.cjs +157 -0
  445. package/dist/index.d.cts +78 -0
  446. package/dist/index.d.ts +78 -0
  447. package/dist/index.js +46 -0
  448. package/dist/reactivity.cjs +6 -0
  449. package/dist/reactivity.d.cts +4 -0
  450. package/dist/reactivity.d.ts +4 -0
  451. package/dist/reactivity.js +4 -0
  452. package/dist/static-functions.cjs +261 -0
  453. package/dist/static-functions.d.cts +21 -0
  454. package/dist/static-functions.d.ts +21 -0
  455. package/dist/static-functions.js +22 -0
  456. package/dist/types/Cell.d.cts +16 -0
  457. package/dist/types/Cell.d.ts +16 -0
  458. package/dist/types/Column.d.cts +29 -0
  459. package/dist/types/Column.d.ts +29 -0
  460. package/dist/types/ColumnDef.d.cts +66 -0
  461. package/dist/types/ColumnDef.d.ts +66 -0
  462. package/dist/types/Header.d.cts +17 -0
  463. package/dist/types/Header.d.ts +17 -0
  464. package/dist/types/HeaderGroup.d.cts +15 -0
  465. package/dist/types/HeaderGroup.d.ts +15 -0
  466. package/dist/types/Row.d.cts +22 -0
  467. package/dist/types/Row.d.ts +22 -0
  468. package/dist/types/RowModel.d.cts +26 -0
  469. package/dist/types/RowModel.d.ts +26 -0
  470. package/dist/types/RowModelFns.d.cts +18 -0
  471. package/dist/types/RowModelFns.d.ts +18 -0
  472. package/dist/types/Table.d.cts +59 -0
  473. package/dist/types/Table.d.ts +59 -0
  474. package/dist/types/TableFeatures.d.cts +77 -0
  475. package/dist/types/TableFeatures.d.ts +77 -0
  476. package/dist/types/TableOptions.d.cts +39 -0
  477. package/dist/types/TableOptions.d.ts +39 -0
  478. package/dist/types/TableState.d.cts +27 -0
  479. package/dist/types/TableState.d.ts +27 -0
  480. package/dist/types/type-utils.d.cts +23 -0
  481. package/dist/types/type-utils.d.ts +23 -0
  482. package/dist/utils.cjs +218 -0
  483. package/dist/utils.cjs.map +1 -0
  484. package/dist/utils.d.cts +91 -0
  485. package/dist/utils.d.ts +91 -0
  486. package/dist/utils.js +203 -0
  487. package/dist/utils.js.map +1 -0
  488. package/package.json +35 -14
  489. package/src/core/cells/constructCell.ts +49 -0
  490. package/src/core/cells/coreCellsFeature.ts +44 -0
  491. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  492. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  493. package/src/core/columns/constructColumn.ts +111 -0
  494. package/src/core/columns/coreColumnsFeature.ts +90 -0
  495. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  496. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  497. package/src/core/coreFeatures.ts +26 -0
  498. package/src/core/headers/buildHeaderGroups.ts +177 -0
  499. package/src/core/headers/constructHeader.ts +61 -0
  500. package/src/core/headers/coreHeadersFeature.ts +98 -0
  501. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  502. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  503. package/src/core/reactivity/constructReactivityBindings.ts +19 -0
  504. package/src/core/reactivity/coreReactivityFeature.types.ts +40 -0
  505. package/src/core/reactivity/coreReactivityFeature.utils.ts +29 -0
  506. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  507. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  508. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  509. package/src/core/row-models/createCoreRowModel.ts +88 -0
  510. package/src/core/rows/constructRow.ts +59 -0
  511. package/src/core/rows/coreRowsFeature.ts +84 -0
  512. package/src/core/rows/coreRowsFeature.types.ts +114 -0
  513. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  514. package/src/core/table/constructTable.ts +126 -0
  515. package/src/core/table/coreTablesFeature.ts +36 -0
  516. package/src/core/table/coreTablesFeature.types.ts +192 -0
  517. package/src/core/table/coreTablesFeature.utils.ts +46 -0
  518. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  519. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  520. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  521. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  522. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  523. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  524. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  525. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  526. package/src/features/column-filtering/columnFilteringFeature.utils.ts +209 -0
  527. package/src/features/column-filtering/createFilteredRowModel.ts +172 -0
  528. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  529. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  530. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  531. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  532. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  533. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  534. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  535. package/src/features/column-ordering/columnOrderingFeature.utils.ts +134 -0
  536. package/src/features/column-pinning/columnPinningFeature.ts +347 -0
  537. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  538. package/src/features/column-pinning/columnPinningFeature.utils.ts +539 -0
  539. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  540. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  541. package/src/features/column-resizing/columnResizingFeature.utils.ts +276 -0
  542. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  543. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  544. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  545. package/src/features/column-visibility/columnVisibilityFeature.ts +157 -0
  546. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  547. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  548. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  549. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  550. package/src/features/global-filtering/globalFilteringFeature.utils.ts +59 -0
  551. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  552. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  553. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  554. package/src/features/row-expanding/rowExpandingFeature.utils.ts +208 -0
  555. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  556. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  557. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  558. package/src/features/row-pagination/rowPaginationFeature.utils.ts +208 -0
  559. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  560. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  561. package/src/features/row-pinning/rowPinningFeature.utils.ts +199 -0
  562. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  563. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  564. package/src/features/row-selection/rowSelectionFeature.utils.ts +465 -0
  565. package/src/features/row-sorting/createSortedRowModel.ts +149 -0
  566. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  567. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  568. package/src/features/row-sorting/rowSortingFeature.utils.ts +319 -0
  569. package/src/features/stockFeatures.ts +48 -0
  570. package/src/flex-render.ts +60 -0
  571. package/src/fns/aggregationFns.ts +220 -0
  572. package/src/fns/filterFns.ts +379 -0
  573. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  574. package/src/helpers/columnHelper.ts +117 -0
  575. package/src/helpers/tableFeatures.ts +24 -0
  576. package/src/helpers/tableOptions.ts +82 -0
  577. package/src/index.ts +137 -42
  578. package/src/process-env.d.ts +6 -0
  579. package/src/reactivity.ts +3 -0
  580. package/src/static-functions.ts +31 -0
  581. package/src/types/Cell.ts +41 -0
  582. package/src/types/Column.ts +86 -0
  583. package/src/types/ColumnDef.ts +217 -0
  584. package/src/types/Header.ts +45 -0
  585. package/src/types/HeaderGroup.ts +24 -0
  586. package/src/types/Row.ts +55 -0
  587. package/src/types/RowModel.ts +137 -0
  588. package/src/types/RowModelFns.ts +51 -0
  589. package/src/types/Table.ts +132 -0
  590. package/src/types/TableFeatures.ts +150 -0
  591. package/src/types/TableOptions.ts +125 -0
  592. package/src/types/TableState.ts +88 -0
  593. package/src/types/type-utils.ts +84 -0
  594. package/src/utils.ts +361 -161
  595. package/dist/cjs/aggregationFns.cjs +0 -98
  596. package/dist/cjs/aggregationFns.cjs.map +0 -1
  597. package/dist/cjs/aggregationFns.d.cts +0 -14
  598. package/dist/cjs/columnHelper.cjs +0 -19
  599. package/dist/cjs/columnHelper.cjs.map +0 -1
  600. package/dist/cjs/columnHelper.d.cts +0 -9
  601. package/dist/cjs/core/cell.cjs +0 -38
  602. package/dist/cjs/core/cell.cjs.map +0 -1
  603. package/dist/cjs/core/cell.d.cts +0 -50
  604. package/dist/cjs/core/column.cjs +0 -81
  605. package/dist/cjs/core/column.cjs.map +0 -1
  606. package/dist/cjs/core/column.d.cts +0 -56
  607. package/dist/cjs/core/headers.cjs +0 -310
  608. package/dist/cjs/core/headers.cjs.map +0 -1
  609. package/dist/cjs/core/headers.d.cts +0 -195
  610. package/dist/cjs/core/row.cjs +0 -93
  611. package/dist/cjs/core/row.cjs.map +0 -1
  612. package/dist/cjs/core/row.d.cts +0 -92
  613. package/dist/cjs/core/table.cjs +0 -228
  614. package/dist/cjs/core/table.cjs.map +0 -1
  615. package/dist/cjs/core/table.d.cts +0 -221
  616. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  617. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  618. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  619. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  620. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  621. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  622. package/dist/cjs/features/ColumnGrouping.cjs +0 -134
  623. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  624. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  625. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  626. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  627. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  628. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  629. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  630. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  631. package/dist/cjs/features/ColumnSizing.cjs +0 -308
  632. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  633. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  634. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  635. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  636. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  637. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  638. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  639. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  640. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  641. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  642. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  643. package/dist/cjs/features/RowExpanding.cjs +0 -154
  644. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  645. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  646. package/dist/cjs/features/RowPagination.cjs +0 -162
  647. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  648. package/dist/cjs/features/RowPagination.d.cts +0 -166
  649. package/dist/cjs/features/RowPinning.cjs +0 -133
  650. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  651. package/dist/cjs/features/RowPinning.d.cts +0 -99
  652. package/dist/cjs/features/RowSelection.cjs +0 -298
  653. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  654. package/dist/cjs/features/RowSelection.d.cts +0 -177
  655. package/dist/cjs/features/RowSorting.cjs +0 -201
  656. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  657. package/dist/cjs/features/RowSorting.d.cts +0 -238
  658. package/dist/cjs/filterFns.cjs +0 -88
  659. package/dist/cjs/filterFns.cjs.map +0 -1
  660. package/dist/cjs/filterFns.d.cts +0 -14
  661. package/dist/cjs/index.cjs +0 -87
  662. package/dist/cjs/index.cjs.map +0 -1
  663. package/dist/cjs/index.d.cts +0 -34
  664. package/dist/cjs/sortingFns.cjs +0 -91
  665. package/dist/cjs/sortingFns.cjs.map +0 -1
  666. package/dist/cjs/sortingFns.d.cts +0 -12
  667. package/dist/cjs/types.d.cts +0 -120
  668. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  669. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  670. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  671. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  672. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  673. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  674. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  675. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  676. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  677. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
  678. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  679. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  680. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  681. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  682. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  683. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
  684. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  685. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  686. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  687. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  688. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  689. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  690. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  691. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  692. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  693. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  694. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  695. package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
  696. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  697. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  698. package/dist/cjs/utils.cjs +0 -100
  699. package/dist/cjs/utils.cjs.map +0 -1
  700. package/dist/cjs/utils.d.cts +0 -39
  701. package/dist/esm/aggregationFns.d.ts +0 -14
  702. package/dist/esm/aggregationFns.js +0 -98
  703. package/dist/esm/aggregationFns.js.map +0 -1
  704. package/dist/esm/columnHelper.d.ts +0 -9
  705. package/dist/esm/columnHelper.js +0 -19
  706. package/dist/esm/columnHelper.js.map +0 -1
  707. package/dist/esm/core/cell.d.ts +0 -50
  708. package/dist/esm/core/cell.js +0 -38
  709. package/dist/esm/core/cell.js.map +0 -1
  710. package/dist/esm/core/column.d.ts +0 -56
  711. package/dist/esm/core/column.js +0 -81
  712. package/dist/esm/core/column.js.map +0 -1
  713. package/dist/esm/core/headers.d.ts +0 -195
  714. package/dist/esm/core/headers.js +0 -310
  715. package/dist/esm/core/headers.js.map +0 -1
  716. package/dist/esm/core/row.d.ts +0 -92
  717. package/dist/esm/core/row.js +0 -93
  718. package/dist/esm/core/row.js.map +0 -1
  719. package/dist/esm/core/table.d.ts +0 -221
  720. package/dist/esm/core/table.js +0 -228
  721. package/dist/esm/core/table.js.map +0 -1
  722. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  723. package/dist/esm/features/ColumnFaceting.js +0 -29
  724. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  725. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  726. package/dist/esm/features/ColumnFiltering.js +0 -137
  727. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  728. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  729. package/dist/esm/features/ColumnGrouping.js +0 -134
  730. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  731. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  732. package/dist/esm/features/ColumnOrdering.js +0 -76
  733. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  734. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  735. package/dist/esm/features/ColumnPinning.js +0 -145
  736. package/dist/esm/features/ColumnPinning.js.map +0 -1
  737. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  738. package/dist/esm/features/ColumnSizing.js +0 -308
  739. package/dist/esm/features/ColumnSizing.js.map +0 -1
  740. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  741. package/dist/esm/features/ColumnVisibility.js +0 -144
  742. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  743. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  744. package/dist/esm/features/GlobalFaceting.js +0 -29
  745. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  746. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  747. package/dist/esm/features/GlobalFiltering.js +0 -50
  748. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  749. package/dist/esm/features/RowExpanding.d.ts +0 -155
  750. package/dist/esm/features/RowExpanding.js +0 -154
  751. package/dist/esm/features/RowExpanding.js.map +0 -1
  752. package/dist/esm/features/RowPagination.d.ts +0 -166
  753. package/dist/esm/features/RowPagination.js +0 -162
  754. package/dist/esm/features/RowPagination.js.map +0 -1
  755. package/dist/esm/features/RowPinning.d.ts +0 -99
  756. package/dist/esm/features/RowPinning.js +0 -133
  757. package/dist/esm/features/RowPinning.js.map +0 -1
  758. package/dist/esm/features/RowSelection.d.ts +0 -177
  759. package/dist/esm/features/RowSelection.js +0 -298
  760. package/dist/esm/features/RowSelection.js.map +0 -1
  761. package/dist/esm/features/RowSorting.d.ts +0 -238
  762. package/dist/esm/features/RowSorting.js +0 -201
  763. package/dist/esm/features/RowSorting.js.map +0 -1
  764. package/dist/esm/filterFns.d.ts +0 -14
  765. package/dist/esm/filterFns.js +0 -88
  766. package/dist/esm/filterFns.js.map +0 -1
  767. package/dist/esm/index.d.ts +0 -34
  768. package/dist/esm/index.js +0 -87
  769. package/dist/esm/index.js.map +0 -1
  770. package/dist/esm/sortingFns.d.ts +0 -12
  771. package/dist/esm/sortingFns.js +0 -91
  772. package/dist/esm/sortingFns.js.map +0 -1
  773. package/dist/esm/types.d.ts +0 -120
  774. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  775. package/dist/esm/utils/filterRowsUtils.js +0 -99
  776. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  777. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  778. package/dist/esm/utils/getCoreRowModel.js +0 -54
  779. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  780. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  781. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  782. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  783. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  784. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
  785. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  786. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  787. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  788. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  789. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  790. package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
  791. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  792. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  793. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  794. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  795. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  796. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  797. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  798. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  799. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  800. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  801. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  802. package/dist/esm/utils/getSortedRowModel.js +0 -91
  803. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  804. package/dist/esm/utils.d.ts +0 -39
  805. package/dist/esm/utils.js +0 -100
  806. package/dist/esm/utils.js.map +0 -1
  807. package/src/aggregationFns.ts +0 -123
  808. package/src/columnHelper.ts +0 -91
  809. package/src/core/cell.ts +0 -91
  810. package/src/core/column.ts +0 -165
  811. package/src/core/headers.ts +0 -639
  812. package/src/core/row.ts +0 -201
  813. package/src/core/table.ts +0 -527
  814. package/src/features/ColumnFaceting.ts +0 -84
  815. package/src/features/ColumnFiltering.ts +0 -429
  816. package/src/features/ColumnGrouping.ts +0 -422
  817. package/src/features/ColumnOrdering.ts +0 -161
  818. package/src/features/ColumnPinning.ts +0 -336
  819. package/src/features/ColumnSizing.ts +0 -579
  820. package/src/features/ColumnVisibility.ts +0 -317
  821. package/src/features/GlobalFaceting.ts +0 -66
  822. package/src/features/GlobalFiltering.ts +0 -162
  823. package/src/features/RowExpanding.ts +0 -355
  824. package/src/features/RowPagination.ts +0 -396
  825. package/src/features/RowPinning.ts +0 -273
  826. package/src/features/RowSelection.ts +0 -668
  827. package/src/features/RowSorting.ts +0 -542
  828. package/src/filterFns.ts +0 -150
  829. package/src/types.ts +0 -361
  830. package/src/utils/filterRowsUtils.ts +0 -130
  831. package/src/utils/getCoreRowModel.ts +0 -82
  832. package/src/utils/getExpandedRowModel.ts +0 -51
  833. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  834. package/src/utils/getFacetedRowModel.ts +0 -44
  835. package/src/utils/getFacetedUniqueValues.ts +0 -42
  836. package/src/utils/getFilteredRowModel.ts +0 -151
  837. package/src/utils/getGroupedRowModel.ts +0 -181
  838. package/src/utils/getPaginationRowModel.ts +0 -60
  839. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,39 @@
1
+ import { RowData, UnionToIntersection } from "./type-utils.cjs";
2
+ import { CoreFeatures } from "../core/coreFeatures.cjs";
3
+ import { TableOptions_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
4
+ import { TableOptions_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
5
+ import { TableOptions_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
6
+ import { TableOptions_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
7
+ import { TableOptions_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
8
+ import { TableOptions_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
9
+ import { TableOptions_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
10
+ import { TableOptions_Columns } from "../core/columns/coreColumnsFeature.types.cjs";
11
+ import { TableOptions_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
12
+ import { TableOptions_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.cjs";
13
+ import { TableOptions_RowPinning } from "../features/row-pinning/rowPinningFeature.types.cjs";
14
+ import { TableOptions_RowSelection } from "../features/row-selection/rowSelectionFeature.types.cjs";
15
+ import { TableOptions_Rows } from "../core/rows/coreRowsFeature.types.cjs";
16
+ import { TableOptions_Cell } from "../core/cells/coreCellsFeature.types.cjs";
17
+ import { TableOptions_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.cjs";
18
+ import { TableOptions_Table } from "../core/table/coreTablesFeature.types.cjs";
19
+ import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
20
+ import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
21
+
22
+ //#region src/types/TableOptions.d.ts
23
+ interface TableOptions_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
24
+ interface TableOptions_Core<TFeatures extends TableFeatures, TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {}
25
+ type DebugKeysFor<TFeatures extends TableFeatures> = { [K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean };
26
+ type DebugOptions<TFeatures extends TableFeatures> = {
27
+ debugAll?: boolean;
28
+ debugCache?: boolean;
29
+ debugCells?: boolean;
30
+ debugColumns?: boolean;
31
+ debugHeaders?: boolean;
32
+ debugRows?: boolean;
33
+ debugTable?: boolean;
34
+ } & DebugKeysFor<CoreFeatures & TFeatures>;
35
+ type TableOptions<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableOptions_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableOptions_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableOptions_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableOptions_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableOptions_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableOptions_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableOptions_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableOptions_GlobalFiltering<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableOptions_RowExpanding<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableOptions_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableOptions_RowPinning<TFeatures, TData> : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableOptions_RowSelection<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? TableOptions_RowSorting : never)> & ExtractFeatureTypes<'TableOptions', TFeatures> & TableOptions_Plugins<TFeatures, TData> & DebugOptions<TFeatures>;
36
+ type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_ColumnFiltering<TFeatures, TData> & TableOptions_ColumnGrouping & TableOptions_ColumnOrdering & TableOptions_ColumnPinning & TableOptions_ColumnResizing & TableOptions_ColumnSizing & TableOptions_ColumnVisibility & TableOptions_GlobalFiltering<TFeatures, TData> & TableOptions_RowExpanding<TFeatures, TData> & TableOptions_RowPagination & TableOptions_RowPinning<TFeatures, TData> & TableOptions_RowSelection<TFeatures, TData> & TableOptions_RowSorting>;
37
+ //#endregion
38
+ export { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_Plugins };
39
+ //# sourceMappingURL=TableOptions.d.cts.map
@@ -0,0 +1,39 @@
1
+ import { RowData, UnionToIntersection } from "./type-utils.js";
2
+ import { CoreFeatures } from "../core/coreFeatures.js";
3
+ import { TableOptions_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
4
+ import { TableOptions_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
5
+ import { TableOptions_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
6
+ import { TableOptions_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
7
+ import { TableOptions_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
8
+ import { TableOptions_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
9
+ import { TableOptions_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
10
+ import { TableOptions_Columns } from "../core/columns/coreColumnsFeature.types.js";
11
+ import { TableOptions_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
12
+ import { TableOptions_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
13
+ import { TableOptions_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
14
+ import { TableOptions_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
15
+ import { TableOptions_Rows } from "../core/rows/coreRowsFeature.types.js";
16
+ import { TableOptions_Cell } from "../core/cells/coreCellsFeature.types.js";
17
+ import { TableOptions_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
18
+ import { TableOptions_Table } from "../core/table/coreTablesFeature.types.js";
19
+ import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
20
+ import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
21
+
22
+ //#region src/types/TableOptions.d.ts
23
+ interface TableOptions_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
24
+ interface TableOptions_Core<TFeatures extends TableFeatures, TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {}
25
+ type DebugKeysFor<TFeatures extends TableFeatures> = { [K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean };
26
+ type DebugOptions<TFeatures extends TableFeatures> = {
27
+ debugAll?: boolean;
28
+ debugCache?: boolean;
29
+ debugCells?: boolean;
30
+ debugColumns?: boolean;
31
+ debugHeaders?: boolean;
32
+ debugRows?: boolean;
33
+ debugTable?: boolean;
34
+ } & DebugKeysFor<CoreFeatures & TFeatures>;
35
+ type TableOptions<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableOptions_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableOptions_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableOptions_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableOptions_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableOptions_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableOptions_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableOptions_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableOptions_GlobalFiltering<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableOptions_RowExpanding<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableOptions_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableOptions_RowPinning<TFeatures, TData> : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableOptions_RowSelection<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? TableOptions_RowSorting : never)> & ExtractFeatureTypes<'TableOptions', TFeatures> & TableOptions_Plugins<TFeatures, TData> & DebugOptions<TFeatures>;
36
+ type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_ColumnFiltering<TFeatures, TData> & TableOptions_ColumnGrouping & TableOptions_ColumnOrdering & TableOptions_ColumnPinning & TableOptions_ColumnResizing & TableOptions_ColumnSizing & TableOptions_ColumnVisibility & TableOptions_GlobalFiltering<TFeatures, TData> & TableOptions_RowExpanding<TFeatures, TData> & TableOptions_RowPagination & TableOptions_RowPinning<TFeatures, TData> & TableOptions_RowSelection<TFeatures, TData> & TableOptions_RowSorting>;
37
+ //#endregion
38
+ export { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_Plugins };
39
+ //# sourceMappingURL=TableOptions.d.ts.map
@@ -0,0 +1,27 @@
1
+ import { UnionToIntersection } from "./type-utils.cjs";
2
+ import { TableState_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
+ import { TableState_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
4
+ import { TableState_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
5
+ import { TableState_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
6
+ import { TableState_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
7
+ import { TableState_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
8
+ import { TableState_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
9
+ import { TableState_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
10
+ import { TableState_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.cjs";
11
+ import { TableState_RowPinning } from "../features/row-pinning/rowPinningFeature.types.cjs";
12
+ import { TableState_RowSelection } from "../features/row-selection/rowSelectionFeature.types.cjs";
13
+ import { TableState_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.cjs";
14
+ import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
15
+ import { TableState_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
16
+
17
+ //#region src/types/TableState.d.ts
18
+ /**
19
+ * Use this interface as a target for declaration merging to add your own state properties.
20
+ * Note: This will affect the types of all tables in your project.
21
+ */
22
+ interface TableState_Plugins<TFeatures extends TableFeatures> {}
23
+ type TableState<TFeatures extends TableFeatures> = UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableState_ColumnFiltering : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableState_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableState_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableState_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableState_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableState_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableState_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableState_GlobalFiltering : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableState_RowExpanding : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableState_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableState_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableState_RowSelection : never) | ('rowSortingFeature' extends keyof TFeatures ? TableState_RowSorting : never)> & ExtractFeatureTypes<'TableState', TFeatures> & TableState_Plugins<TFeatures>;
24
+ type TableState_All = Partial<TableState_ColumnFiltering & TableState_ColumnGrouping & TableState_ColumnOrdering & TableState_ColumnPinning & TableState_ColumnResizing & TableState_ColumnSizing & TableState_ColumnVisibility & TableState_GlobalFiltering & TableState_RowExpanding & TableState_RowPagination & TableState_RowPinning & TableState_RowSelection & TableState_RowSorting>;
25
+ //#endregion
26
+ export { TableState, TableState_All, TableState_Plugins };
27
+ //# sourceMappingURL=TableState.d.cts.map
@@ -0,0 +1,27 @@
1
+ import { UnionToIntersection } from "./type-utils.js";
2
+ import { TableState_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
3
+ import { TableState_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
4
+ import { TableState_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
5
+ import { TableState_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
6
+ import { TableState_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
7
+ import { TableState_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
8
+ import { TableState_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
9
+ import { TableState_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
10
+ import { TableState_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
11
+ import { TableState_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
12
+ import { TableState_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
13
+ import { TableState_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
14
+ import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
15
+ import { TableState_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
16
+
17
+ //#region src/types/TableState.d.ts
18
+ /**
19
+ * Use this interface as a target for declaration merging to add your own state properties.
20
+ * Note: This will affect the types of all tables in your project.
21
+ */
22
+ interface TableState_Plugins<TFeatures extends TableFeatures> {}
23
+ type TableState<TFeatures extends TableFeatures> = UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableState_ColumnFiltering : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableState_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableState_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableState_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableState_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableState_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableState_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableState_GlobalFiltering : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableState_RowExpanding : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableState_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableState_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableState_RowSelection : never) | ('rowSortingFeature' extends keyof TFeatures ? TableState_RowSorting : never)> & ExtractFeatureTypes<'TableState', TFeatures> & TableState_Plugins<TFeatures>;
24
+ type TableState_All = Partial<TableState_ColumnFiltering & TableState_ColumnGrouping & TableState_ColumnOrdering & TableState_ColumnPinning & TableState_ColumnResizing & TableState_ColumnSizing & TableState_ColumnVisibility & TableState_GlobalFiltering & TableState_RowExpanding & TableState_RowPagination & TableState_RowPinning & TableState_RowSelection & TableState_RowSorting>;
25
+ //#endregion
26
+ export { TableState, TableState_All, TableState_Plugins };
27
+ //# sourceMappingURL=TableState.d.ts.map
@@ -0,0 +1,23 @@
1
+ //#region src/types/type-utils.d.ts
2
+ type Updater<T> = T | ((old: T) => T);
3
+ type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
4
+ type RowData = Record<string, any> | Array<any>;
5
+ type CellData = unknown;
6
+ type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
7
+ type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
8
+ type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends ((x: infer R) => any) ? R : never;
9
+ type ComputeRange<N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : ComputeRange<N, [...Result, Result['length']]>;
10
+ type Index40 = ComputeRange<40>[number];
11
+ type IsTuple<T> = T extends ReadonlyArray<any> & {
12
+ length: infer Length;
13
+ } ? Length extends Index40 ? T : never : never;
14
+ type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends number = never> = Tuple extends readonly [] ? Keys : Tuple extends readonly [infer _, ...infer Tail] ? AllowedIndexes<Tail, Keys | Tail['length']> : Keys;
15
+ type DeepKeys<T, TDepth extends Array<any> = []> = TDepth['length'] extends 5 ? never : unknown extends T ? string : T extends ReadonlyArray<any> & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth> : T extends Array<any> ? DeepKeys<T[number], [...TDepth, any]> : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth> : never;
16
+ type DeepKeysPrefix<T, TPrefix, TDepth extends Array<any>> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}` : never;
17
+ type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
18
+ type NoInfer<T> = [T][T extends any ? 0 : never];
19
+ type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
20
+ type Prettify<T> = { [K in keyof T]: T[K] } & unknown;
21
+ //#endregion
22
+ export { CellData, DeepKeys, DeepValue, Getter, NoInfer, OnChangeFn, PartialKeys, Prettify, RequiredKeys, RowData, UnionToIntersection, Updater };
23
+ //# sourceMappingURL=type-utils.d.cts.map
@@ -0,0 +1,23 @@
1
+ //#region src/types/type-utils.d.ts
2
+ type Updater<T> = T | ((old: T) => T);
3
+ type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
4
+ type RowData = Record<string, any> | Array<any>;
5
+ type CellData = unknown;
6
+ type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
7
+ type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
8
+ type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends ((x: infer R) => any) ? R : never;
9
+ type ComputeRange<N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : ComputeRange<N, [...Result, Result['length']]>;
10
+ type Index40 = ComputeRange<40>[number];
11
+ type IsTuple<T> = T extends ReadonlyArray<any> & {
12
+ length: infer Length;
13
+ } ? Length extends Index40 ? T : never : never;
14
+ type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends number = never> = Tuple extends readonly [] ? Keys : Tuple extends readonly [infer _, ...infer Tail] ? AllowedIndexes<Tail, Keys | Tail['length']> : Keys;
15
+ type DeepKeys<T, TDepth extends Array<any> = []> = TDepth['length'] extends 5 ? never : unknown extends T ? string : T extends ReadonlyArray<any> & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth> : T extends Array<any> ? DeepKeys<T[number], [...TDepth, any]> : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth> : never;
16
+ type DeepKeysPrefix<T, TPrefix, TDepth extends Array<any>> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}` : never;
17
+ type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
18
+ type NoInfer<T> = [T][T extends any ? 0 : never];
19
+ type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
20
+ type Prettify<T> = { [K in keyof T]: T[K] } & unknown;
21
+ //#endregion
22
+ export { CellData, DeepKeys, DeepValue, Getter, NoInfer, OnChangeFn, PartialKeys, Prettify, RequiredKeys, RowData, UnionToIntersection, Updater };
23
+ //# sourceMappingURL=type-utils.d.ts.map
package/dist/utils.cjs ADDED
@@ -0,0 +1,218 @@
1
+
2
+ //#region src/utils.ts
3
+ function functionalUpdate(updater, input) {
4
+ return typeof updater === "function" ? updater(input) : updater;
5
+ }
6
+ function cloneState(value) {
7
+ if (Array.isArray(value)) return value.map(cloneState);
8
+ if (value && typeof value === "object") {
9
+ const proto = Object.getPrototypeOf(value);
10
+ if (proto !== Object.prototype && proto !== null) return value;
11
+ const copy = {};
12
+ for (const key of Object.keys(value)) copy[key] = cloneState(value[key]);
13
+ return copy;
14
+ }
15
+ return value;
16
+ }
17
+ function noop() {}
18
+ function makeStateUpdater(key, instance) {
19
+ return (updater) => {
20
+ var _atoms;
21
+ (((_atoms = instance.options.atoms) === null || _atoms === void 0 ? void 0 : _atoms[key]) ?? instance.baseAtoms[key]).set((old) => functionalUpdate(updater, old));
22
+ };
23
+ }
24
+ function isFunction(d) {
25
+ return d instanceof Function;
26
+ }
27
+ function isNumberArray(d) {
28
+ return Array.isArray(d) && d.every((val) => typeof val === "number");
29
+ }
30
+ function flattenBy(arr, getChildren) {
31
+ const flat = [];
32
+ const recurse = (subArr) => {
33
+ subArr.forEach((item) => {
34
+ flat.push(item);
35
+ const children = getChildren(item);
36
+ if (children.length) recurse(children);
37
+ });
38
+ };
39
+ recurse(arr);
40
+ return flat;
41
+ }
42
+ const $internalMemoFnMeta = Symbol("memoFnMeta");
43
+ /**
44
+ * @internal
45
+ */
46
+ function setMemoFnMeta(fn, meta) {
47
+ Object.defineProperty(fn, $internalMemoFnMeta, { value: meta });
48
+ }
49
+ /**
50
+ * @internal
51
+ */
52
+ function getMemoFnMeta(fn) {
53
+ return (typeof fn === "function" && fn[$internalMemoFnMeta]) ?? null;
54
+ }
55
+ const memo = ({ fn, memoDeps, onAfterCompare, onAfterUpdate, onBeforeCompare, onBeforeUpdate }) => {
56
+ let deps = [];
57
+ let result;
58
+ const memoizedFn = (depArgs) => {
59
+ onBeforeCompare === null || onBeforeCompare === void 0 || onBeforeCompare();
60
+ const newDeps = memoDeps === null || memoDeps === void 0 ? void 0 : memoDeps(depArgs);
61
+ const depsChanged = !newDeps || newDeps.length !== (deps === null || deps === void 0 ? void 0 : deps.length) || newDeps.some((dep, index) => (deps === null || deps === void 0 ? void 0 : deps[index]) !== dep);
62
+ onAfterCompare === null || onAfterCompare === void 0 || onAfterCompare(depsChanged);
63
+ if (!depsChanged) return result;
64
+ deps = newDeps;
65
+ onBeforeUpdate === null || onBeforeUpdate === void 0 || onBeforeUpdate();
66
+ result = fn(...newDeps ?? []);
67
+ onAfterUpdate === null || onAfterUpdate === void 0 || onAfterUpdate(result);
68
+ return result;
69
+ };
70
+ setMemoFnMeta(memoizedFn, { originalArgsLength: fn.length });
71
+ return memoizedFn;
72
+ };
73
+ const pad = (str, num) => {
74
+ str = String(str);
75
+ while (str.length < num) str = " " + str;
76
+ return str;
77
+ };
78
+ function tableMemo({ feature, fnName, objectId, onAfterUpdate, table, ...memoOptions }) {
79
+ let beforeCompareTime;
80
+ let afterCompareTime;
81
+ let startCalcTime;
82
+ let endCalcTime;
83
+ let runCount = 0;
84
+ let debug;
85
+ let debugCache;
86
+ if (process.env.NODE_ENV === "development") {
87
+ const { debugCache: _debugCache, debugAll } = table.options;
88
+ debugCache = _debugCache;
89
+ const { parentName } = getFunctionNameInfo(fnName, ".");
90
+ debug = debugAll || table.options[`debug${(parentName != "table" ? parentName + "s" : parentName).replace(parentName, parentName.charAt(0).toUpperCase() + parentName.slice(1))}`] || (feature ? table.options[`debug${feature.charAt(0).toUpperCase() + feature.slice(1)}`] : false);
91
+ }
92
+ function logTime(time, depsChanged) {
93
+ var _memoOptions$memoDeps;
94
+ const runType = runCount === 0 ? "(1st run)" : depsChanged ? "(rerun #" + runCount + ")" : "(cache)";
95
+ runCount++;
96
+ console.groupCollapsed(`%c⏱ ${pad(`${time.toFixed(1)} ms`, 12)} %c${runType}%c ${fnName}%c ${objectId ? `(${fnName.split(".")[0]}Id: ${objectId})` : ""}`, `font-size: .6rem; font-weight: bold; ${depsChanged ? `color: hsl(
97
+ ${Math.max(0, Math.min(120 - Math.log10(time) * 60, 120))}deg 100% 31%);` : ""} `, `color: ${runCount < 2 ? "#FF00FF" : "#FF1493"}`, "color: #666", "color: #87CEEB");
98
+ console.info({
99
+ feature,
100
+ state: table.store.state,
101
+ deps: (_memoOptions$memoDeps = memoOptions.memoDeps) === null || _memoOptions$memoDeps === void 0 ? void 0 : _memoOptions$memoDeps.toString()
102
+ });
103
+ console.trace();
104
+ console.groupEnd();
105
+ }
106
+ const debugOptions = process.env.NODE_ENV === "development" ? {
107
+ onBeforeCompare: () => {
108
+ if (debugCache) beforeCompareTime = performance.now();
109
+ },
110
+ onAfterCompare: (depsChanged) => {
111
+ if (debugCache) {
112
+ afterCompareTime = performance.now();
113
+ const compareTime = Math.round((afterCompareTime - beforeCompareTime) * 100) / 100;
114
+ if (!depsChanged) logTime(compareTime, depsChanged);
115
+ }
116
+ },
117
+ onBeforeUpdate: () => {
118
+ if (debug) startCalcTime = performance.now();
119
+ },
120
+ onAfterUpdate: () => {
121
+ if (debug) {
122
+ endCalcTime = performance.now();
123
+ logTime(Math.round((endCalcTime - startCalcTime) * 100) / 100, true);
124
+ }
125
+ queueMicrotask(() => onAfterUpdate === null || onAfterUpdate === void 0 ? void 0 : onAfterUpdate());
126
+ }
127
+ } : { onAfterUpdate: () => {
128
+ queueMicrotask(() => onAfterUpdate === null || onAfterUpdate === void 0 ? void 0 : onAfterUpdate());
129
+ } };
130
+ return memo({
131
+ ...memoOptions,
132
+ ...debugOptions
133
+ });
134
+ }
135
+ /**
136
+ * Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.
137
+ */
138
+ function getFunctionNameInfo(staticFnName, splitBy = "_") {
139
+ const [parentName, fnKey] = staticFnName.split(splitBy);
140
+ return {
141
+ fnKey,
142
+ fnName: `${parentName}.${fnKey}`,
143
+ parentName
144
+ };
145
+ }
146
+ /**
147
+ * Assigns Table API methods directly to the table instance.
148
+ * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
149
+ */
150
+ function assignTableAPIs(feature, table, apis) {
151
+ for (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {
152
+ const { fnKey, fnName } = getFunctionNameInfo(staticFnName);
153
+ table[fnKey] = memoDeps ? tableMemo({
154
+ memoDeps,
155
+ fn,
156
+ fnName,
157
+ table,
158
+ feature
159
+ }) : fn;
160
+ }
161
+ }
162
+ /**
163
+ * Assigns API methods to a prototype object for memory-efficient method sharing.
164
+ * All instances created with this prototype will share the same method references.
165
+ *
166
+ * For memoized methods, the memo state is lazily created and stored on each instance.
167
+ * This provides the best of both worlds: shared method code + per-instance caching.
168
+ */
169
+ function assignPrototypeAPIs(feature, prototype, table, apis) {
170
+ for (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {
171
+ const { fnKey, fnName } = getFunctionNameInfo(staticFnName);
172
+ if (memoDeps) {
173
+ const memoKey = `_memo_${fnKey}`;
174
+ prototype[fnKey] = function(...args) {
175
+ if (!this[memoKey]) {
176
+ const self = this;
177
+ this[memoKey] = tableMemo({
178
+ memoDeps: (depArgs) => memoDeps(self, depArgs),
179
+ fn: (...deps) => fn(self, ...deps),
180
+ fnName,
181
+ objectId: self.id,
182
+ table,
183
+ feature
184
+ });
185
+ }
186
+ return this[memoKey](...args);
187
+ };
188
+ } else prototype[fnKey] = function(...args) {
189
+ return fn(this, ...args);
190
+ };
191
+ setMemoFnMeta(prototype[fnKey], { originalArgsLength: fn.length });
192
+ }
193
+ }
194
+ /**
195
+ * Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fallback to the static method passed in.
196
+ */
197
+ function callMemoOrStaticFn(obj, fnKey, staticFn, ...args) {
198
+ var _obj$fnKey;
199
+ return ((_obj$fnKey = obj[fnKey]) === null || _obj$fnKey === void 0 ? void 0 : _obj$fnKey.call(obj, ...args)) ?? staticFn(obj, ...args);
200
+ }
201
+
202
+ //#endregion
203
+ exports.$internalMemoFnMeta = $internalMemoFnMeta;
204
+ exports.assignPrototypeAPIs = assignPrototypeAPIs;
205
+ exports.assignTableAPIs = assignTableAPIs;
206
+ exports.callMemoOrStaticFn = callMemoOrStaticFn;
207
+ exports.cloneState = cloneState;
208
+ exports.flattenBy = flattenBy;
209
+ exports.functionalUpdate = functionalUpdate;
210
+ exports.getFunctionNameInfo = getFunctionNameInfo;
211
+ exports.getMemoFnMeta = getMemoFnMeta;
212
+ exports.isFunction = isFunction;
213
+ exports.isNumberArray = isNumberArray;
214
+ exports.makeStateUpdater = makeStateUpdater;
215
+ exports.memo = memo;
216
+ exports.noop = noop;
217
+ exports.tableMemo = tableMemo;
218
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import type { Table, Table_Internal } from './types/Table'\nimport type { NoInfer, RowData, Updater } from './types/type-utils'\nimport type { TableFeatures } from './types/TableFeatures'\nimport type { TableState, TableState_All } from './types/TableState'\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as (i: T) => T)(input)\n : updater\n}\n\nexport function cloneState<T>(value: T): T {\n if (Array.isArray(value)) {\n return value.map(cloneState) as T\n }\n\n if (value && typeof value === 'object') {\n const proto = Object.getPrototypeOf(value)\n\n if (proto !== Object.prototype && proto !== null) {\n return value\n }\n\n const copy: Record<string, unknown> = {}\n\n for (const key of Object.keys(value)) {\n copy[key] = cloneState((value as Record<string, unknown>)[key])\n }\n\n return copy as T\n }\n\n return value\n}\n\nexport function noop() {}\n\nexport function makeStateUpdater<\n TFeatures extends TableFeatures,\n K extends (string & {}) | keyof TableState_All | keyof TableState<TFeatures>,\n>(key: K, instance: Table<TFeatures, any>) {\n return (updater: Updater<TableState<any>[K & keyof TableState<any>]>) => {\n const externalAtom = (instance.options as any).atoms?.[key]\n const targetAtom = externalAtom ?? (instance.baseAtoms as any)[key]\n targetAtom.set((old: any) => functionalUpdate(updater, old))\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function isNumberArray(d: any): d is Array<number> {\n return Array.isArray(d) && d.every((val) => typeof val === 'number')\n}\n\nexport function flattenBy<TNode>(\n arr: Array<TNode>,\n getChildren: (item: TNode) => Array<TNode>,\n) {\n const flat: Array<TNode> = []\n\n const recurse = (subArr: Array<TNode>) => {\n subArr.forEach((item) => {\n flat.push(item)\n const children = getChildren(item)\n if (children.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport const $internalMemoFnMeta = Symbol('memoFnMeta')\nexport type MemoFnMeta = { originalArgsLength?: number }\n\n/**\n * @internal\n */\nfunction setMemoFnMeta(fn: Function, meta: MemoFnMeta) {\n Object.defineProperty(fn, $internalMemoFnMeta, { value: meta })\n}\n\n/**\n * @internal\n */\nexport function getMemoFnMeta(fn: any): MemoFnMeta | null {\n return (typeof fn === 'function' && fn[$internalMemoFnMeta]) ?? null\n}\n\ninterface MemoOptions<TDeps extends ReadonlyArray<any>, TDepArgs, TResult> {\n fn: (...args: NoInfer<TDeps>) => TResult\n memoDeps?: (depArgs?: TDepArgs) => [...TDeps] | undefined\n onAfterCompare?: (depsChanged: boolean) => void\n onAfterUpdate?: (result: TResult) => void\n onBeforeCompare?: () => void\n onBeforeUpdate?: () => void\n}\n\nexport const memo = <TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({\n fn,\n memoDeps,\n onAfterCompare,\n onAfterUpdate,\n onBeforeCompare,\n onBeforeUpdate,\n}: MemoOptions<TDeps, TDepArgs, TResult>): ((\n depArgs?: TDepArgs,\n) => TResult) => {\n let deps: Array<any> | undefined = []\n let result: TResult | undefined\n\n const memoizedFn = (depArgs?: TDepArgs): TResult => {\n onBeforeCompare?.()\n const newDeps = memoDeps?.(depArgs)\n const depsChanged =\n !newDeps ||\n newDeps.length !== deps?.length ||\n newDeps.some((dep: any, index: number) => deps?.[index] !== dep)\n onAfterCompare?.(depsChanged)\n\n if (!depsChanged) {\n return result!\n }\n\n deps = newDeps\n\n onBeforeUpdate?.()\n result = fn(...(newDeps ?? ([] as any)))\n onAfterUpdate?.(result)\n\n return result\n }\n\n setMemoFnMeta(memoizedFn, { originalArgsLength: fn.length })\n\n return memoizedFn\n}\n\ninterface TableMemoOptions<\n TFeatures extends TableFeatures,\n TDeps extends ReadonlyArray<any>,\n TDepArgs,\n TResult,\n> extends MemoOptions<TDeps, TDepArgs, TResult> {\n feature?: keyof TFeatures & string\n fnName: string\n objectId?: string\n onAfterUpdate?: () => void\n table: Table_Internal<TFeatures, any>\n}\n\nconst pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n}\n\nexport function tableMemo<\n TFeatures extends TableFeatures,\n TDeps extends ReadonlyArray<any>,\n TDepArgs,\n TResult,\n>({\n feature,\n fnName,\n objectId,\n onAfterUpdate,\n table,\n ...memoOptions\n}: TableMemoOptions<TFeatures, TDeps, TDepArgs, TResult>) {\n let beforeCompareTime: number\n let afterCompareTime: number\n let startCalcTime: number\n let endCalcTime: number\n let runCount = 0\n let debug: boolean | undefined\n let debugCache: boolean | undefined\n\n if (process.env.NODE_ENV === 'development') {\n const { debugCache: _debugCache, debugAll } = table.options\n debugCache = _debugCache\n const { parentName } = getFunctionNameInfo(fnName, '.')\n\n const debugByParent =\n // @ts-expect-error\n table.options[\n `debug${(parentName != 'table' ? parentName + 's' : parentName).replace(\n parentName,\n parentName.charAt(0).toUpperCase() + parentName.slice(1),\n )}`\n ]\n const debugByFeature = feature\n ? // @ts-expect-error\n table.options[\n `debug${feature.charAt(0).toUpperCase() + feature.slice(1)}`\n ]\n : false\n\n debug = debugAll || debugByParent || debugByFeature\n }\n\n function logTime(time: number, depsChanged: boolean) {\n const runType =\n runCount === 0\n ? '(1st run)'\n : depsChanged\n ? '(rerun #' + runCount + ')'\n : '(cache)'\n runCount++\n\n console.groupCollapsed(\n `%c⏱ ${pad(`${time.toFixed(1)} ms`, 12)} %c${runType}%c ${fnName}%c ${objectId ? `(${fnName.split('.')[0]}Id: ${objectId})` : ''}`,\n `font-size: .6rem; font-weight: bold; ${\n depsChanged\n ? `color: hsl(\n ${Math.max(0, Math.min(120 - Math.log10(time) * 60, 120))}deg 100% 31%);`\n : ''\n } `,\n `color: ${runCount < 2 ? '#FF00FF' : '#FF1493'}`,\n 'color: #666',\n 'color: #87CEEB',\n )\n console.info({\n feature,\n state: table.store.state,\n deps: memoOptions.memoDeps?.toString(),\n })\n console.trace()\n console.groupEnd()\n }\n\n const debugOptions =\n process.env.NODE_ENV === 'development'\n ? {\n onBeforeCompare: () => {\n if (debugCache) {\n beforeCompareTime = performance.now()\n }\n },\n onAfterCompare: (depsChanged: boolean) => {\n if (debugCache) {\n afterCompareTime = performance.now()\n const compareTime =\n Math.round((afterCompareTime - beforeCompareTime) * 100) / 100\n if (!depsChanged) {\n logTime(compareTime, depsChanged)\n }\n }\n },\n onBeforeUpdate: () => {\n if (debug) {\n startCalcTime = performance.now()\n }\n },\n onAfterUpdate: () => {\n if (debug) {\n endCalcTime = performance.now()\n const executionTime =\n Math.round((endCalcTime - startCalcTime) * 100) / 100\n logTime(executionTime, true)\n }\n queueMicrotask(() => onAfterUpdate?.())\n },\n }\n : {\n onAfterUpdate: () => {\n queueMicrotask(() => onAfterUpdate?.())\n },\n }\n\n return memo({\n ...memoOptions,\n ...debugOptions,\n })\n}\n\nexport interface API<TDeps extends ReadonlyArray<any>, TDepArgs> {\n fn: (...args: any) => any\n memoDeps?: (depArgs?: any) => [...any] | undefined\n}\n\nexport type APIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<\n string,\n API<TDeps, TDepArgs>\n>\n\n/**\n * Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.\n */\nexport function getFunctionNameInfo(\n staticFnName: string,\n splitBy: '_' | '.' = '_',\n) {\n const [parentName, fnKey] = staticFnName.split(splitBy)\n const fnName = `${parentName}.${fnKey}`\n return { fnKey, fnName, parentName } as {\n fnKey: string\n fnName: string\n parentName: string\n }\n}\n\n/**\n * Assigns Table API methods directly to the table instance.\n * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.\n */\nexport function assignTableAPIs<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TDeps extends ReadonlyArray<any>,\n TDepArgs,\n>(\n feature: keyof TFeatures & string,\n table: Table_Internal<TFeatures, TData>,\n apis: APIObject<TDeps, NoInfer<TDepArgs>>,\n): void {\n for (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {\n const { fnKey, fnName } = getFunctionNameInfo(staticFnName)\n\n ;(table as Record<string, any>)[fnKey] = memoDeps\n ? tableMemo({\n memoDeps,\n fn,\n fnName,\n table,\n feature,\n })\n : fn\n }\n}\n\nexport interface PrototypeAPI<TDeps extends ReadonlyArray<any>, TDepArgs> {\n fn: (self: any, ...args: any) => any\n memoDeps?: (self: any, depArgs?: any) => [...any] | undefined\n}\n\nexport type PrototypeAPIObject<\n TDeps extends ReadonlyArray<any>,\n TDepArgs,\n> = Record<string, PrototypeAPI<TDeps, TDepArgs>>\n\n/**\n * Assigns API methods to a prototype object for memory-efficient method sharing.\n * All instances created with this prototype will share the same method references.\n *\n * For memoized methods, the memo state is lazily created and stored on each instance.\n * This provides the best of both worlds: shared method code + per-instance caching.\n */\nexport function assignPrototypeAPIs<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TDeps extends ReadonlyArray<any>,\n TDepArgs,\n>(\n feature: keyof TFeatures & string,\n prototype: Record<string, any>,\n table: Table_Internal<TFeatures, TData>,\n apis: PrototypeAPIObject<TDeps, NoInfer<TDepArgs>>,\n): void {\n for (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {\n const { fnKey, fnName } = getFunctionNameInfo(staticFnName)\n\n if (memoDeps) {\n // For memoized methods, create a function that lazily initializes\n // the memo on first access and stores it on the instance\n const memoKey = `_memo_${fnKey}`\n\n prototype[fnKey] = function (this: any, ...args: Array<any>) {\n // Lazily create memo on first access for this instance\n if (!this[memoKey]) {\n const self = this\n this[memoKey] = tableMemo({\n memoDeps: (depArgs) => memoDeps(self, depArgs),\n fn: (...deps) => fn(self, ...deps),\n fnName,\n objectId: self.id,\n table,\n feature,\n })\n }\n return this[memoKey](...args)\n }\n } else {\n // Non-memoized methods just call the static function with `this`\n prototype[fnKey] = function (this: any, ...args: Array<any>) {\n return fn(this, ...args)\n }\n }\n\n setMemoFnMeta(prototype[fnKey], { originalArgsLength: fn.length })\n }\n}\n\n/**\n * Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fallback to the static method passed in.\n */\nexport function callMemoOrStaticFn<\n TObject extends Record<string, any>,\n TStaticFn extends AnyFunction,\n>(\n obj: TObject,\n fnKey: string,\n staticFn: TStaticFn,\n ...args: Parameters<TStaticFn> extends [any, ...infer Rest] ? Rest : never\n): ReturnType<TStaticFn> {\n return (\n (obj[fnKey] as Function | undefined)?.(...args) ?? staticFn(obj, ...args)\n )\n}\n"],"mappings":";;AAKA,SAAgB,iBAAoB,SAAqB,OAAa;AACpE,QAAO,OAAO,YAAY,aACrB,QAAwB,MAAM,GAC/B;;AAGN,SAAgB,WAAc,OAAa;AACzC,KAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,MAAM,IAAI,WAAW;AAG9B,KAAI,SAAS,OAAO,UAAU,UAAU;EACtC,MAAM,QAAQ,OAAO,eAAe,MAAM;AAE1C,MAAI,UAAU,OAAO,aAAa,UAAU,KAC1C,QAAO;EAGT,MAAM,OAAgC,EAAE;AAExC,OAAK,MAAM,OAAO,OAAO,KAAK,MAAM,CAClC,MAAK,OAAO,WAAY,MAAkC,KAAK;AAGjE,SAAO;;AAGT,QAAO;;AAGT,SAAgB,OAAO;AAEvB,SAAgB,iBAGd,KAAQ,UAAiC;AACzC,SAAQ,YAAiE;;AAGvE,cAFsB,SAAS,QAAgB,uDAAQ,SACnB,SAAS,UAAkB,MACpD,KAAK,QAAa,iBAAiB,SAAS,IAAI,CAAC;;;AAMhE,SAAgB,WAAkC,GAAgB;AAChE,QAAO,aAAa;;AAGtB,SAAgB,cAAc,GAA4B;AACxD,QAAO,MAAM,QAAQ,EAAE,IAAI,EAAE,OAAO,QAAQ,OAAO,QAAQ,SAAS;;AAGtE,SAAgB,UACd,KACA,aACA;CACA,MAAM,OAAqB,EAAE;CAE7B,MAAM,WAAW,WAAyB;AACxC,SAAO,SAAS,SAAS;AACvB,QAAK,KAAK,KAAK;GACf,MAAM,WAAW,YAAY,KAAK;AAClC,OAAI,SAAS,OACX,SAAQ,SAAS;IAEnB;;AAGJ,SAAQ,IAAI;AAEZ,QAAO;;AAGT,MAAa,sBAAsB,OAAO,aAAa;;;;AAMvD,SAAS,cAAc,IAAc,MAAkB;AACrD,QAAO,eAAe,IAAI,qBAAqB,EAAE,OAAO,MAAM,CAAC;;;;;AAMjE,SAAgB,cAAc,IAA4B;AACxD,SAAQ,OAAO,OAAO,cAAc,GAAG,yBAAyB;;AAYlE,MAAa,QAA6D,EACxE,IACA,UACA,gBACA,eACA,iBACA,qBAGe;CACf,IAAI,OAA+B,EAAE;CACrC,IAAI;CAEJ,MAAM,cAAc,YAAgC;AAClD,6EAAmB;EACnB,MAAM,8DAAU,SAAW,QAAQ;EACnC,MAAM,cACJ,CAAC,WACD,QAAQ,wDAAW,KAAM,WACzB,QAAQ,MAAM,KAAU,uDAAkB,KAAO,YAAW,IAAI;AAClE,yEAAiB,YAAY;AAE7B,MAAI,CAAC,YACH,QAAO;AAGT,SAAO;AAEP,0EAAkB;AAClB,WAAS,GAAG,GAAI,WAAY,EAAE,CAAU;AACxC,sEAAgB,OAAO;AAEvB,SAAO;;AAGT,eAAc,YAAY,EAAE,oBAAoB,GAAG,QAAQ,CAAC;AAE5D,QAAO;;AAgBT,MAAM,OAAO,KAAsB,QAAgB;AACjD,OAAM,OAAO,IAAI;AACjB,QAAO,IAAI,SAAS,IAClB,OAAM,MAAM;AAEd,QAAO;;AAGT,SAAgB,UAKd,EACA,SACA,QACA,UACA,eACA,OACA,GAAG,eACqD;CACxD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,WAAW;CACf,IAAI;CACJ,IAAI;AAEJ,KAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,MAAM,EAAE,YAAY,aAAa,aAAa,MAAM;AACpD,eAAa;EACb,MAAM,EAAE,eAAe,oBAAoB,QAAQ,IAAI;AAiBvD,UAAQ,YAbN,MAAM,QACJ,SAAS,cAAc,UAAU,aAAa,MAAM,YAAY,QAC9D,YACA,WAAW,OAAO,EAAE,CAAC,aAAa,GAAG,WAAW,MAAM,EAAE,CACzD,QAEkB,UAEnB,MAAM,QACJ,QAAQ,QAAQ,OAAO,EAAE,CAAC,aAAa,GAAG,QAAQ,MAAM,EAAE,MAE5D;;CAKN,SAAS,QAAQ,MAAc,aAAsB;;EACnD,MAAM,UACJ,aAAa,IACT,cACA,cACE,aAAa,WAAW,MACxB;AACR;AAEA,UAAQ,eACN,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,QAAQ,KAAK,OAAO,KAAK,WAAW,IAAI,OAAO,MAAM,IAAI,CAAC,GAAG,MAAM,SAAS,KAAK,MAC9H,wCACE,cACI;UACF,KAAK,IAAI,GAAG,KAAK,IAAI,MAAM,KAAK,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,kBACtD,GACL,IACD,UAAU,WAAW,IAAI,YAAY,aACrC,eACA,iBACD;AACD,UAAQ,KAAK;GACX;GACA,OAAO,MAAM,MAAM;GACnB,+BAAM,YAAY,wFAAU,UAAU;GACvC,CAAC;AACF,UAAQ,OAAO;AACf,UAAQ,UAAU;;CAGpB,MAAM,eACJ,QAAQ,IAAI,aAAa,gBACrB;EACE,uBAAuB;AACrB,OAAI,WACF,qBAAoB,YAAY,KAAK;;EAGzC,iBAAiB,gBAAyB;AACxC,OAAI,YAAY;AACd,uBAAmB,YAAY,KAAK;IACpC,MAAM,cACJ,KAAK,OAAO,mBAAmB,qBAAqB,IAAI,GAAG;AAC7D,QAAI,CAAC,YACH,SAAQ,aAAa,YAAY;;;EAIvC,sBAAsB;AACpB,OAAI,MACF,iBAAgB,YAAY,KAAK;;EAGrC,qBAAqB;AACnB,OAAI,OAAO;AACT,kBAAc,YAAY,KAAK;AAG/B,YADE,KAAK,OAAO,cAAc,iBAAiB,IAAI,GAAG,KAC7B,KAAK;;AAE9B,sFAAqB,eAAiB,CAAC;;EAE1C,GACD,EACE,qBAAqB;AACnB,qFAAqB,eAAiB,CAAC;IAE1C;AAEP,QAAO,KAAK;EACV,GAAG;EACH,GAAG;EACJ,CAAC;;;;;AAgBJ,SAAgB,oBACd,cACA,UAAqB,KACrB;CACA,MAAM,CAAC,YAAY,SAAS,aAAa,MAAM,QAAQ;AAEvD,QAAO;EAAE;EAAO,WADE,WAAW,GAAG;EACR;EAAY;;;;;;AAWtC,SAAgB,gBAMd,SACA,OACA,MACM;AACN,MAAK,MAAM,CAAC,cAAc,EAAE,IAAI,eAAe,OAAO,QAAQ,KAAK,EAAE;EACnE,MAAM,EAAE,OAAO,WAAW,oBAAoB,aAAa;AAE1D,EAAC,MAA8B,SAAS,WACrC,UAAU;GACR;GACA;GACA;GACA;GACA;GACD,CAAC,GACF;;;;;;;;;;AAqBR,SAAgB,oBAMd,SACA,WACA,OACA,MACM;AACN,MAAK,MAAM,CAAC,cAAc,EAAE,IAAI,eAAe,OAAO,QAAQ,KAAK,EAAE;EACnE,MAAM,EAAE,OAAO,WAAW,oBAAoB,aAAa;AAE3D,MAAI,UAAU;GAGZ,MAAM,UAAU,SAAS;AAEzB,aAAU,SAAS,SAAqB,GAAG,MAAkB;AAE3D,QAAI,CAAC,KAAK,UAAU;KAClB,MAAM,OAAO;AACb,UAAK,WAAW,UAAU;MACxB,WAAW,YAAY,SAAS,MAAM,QAAQ;MAC9C,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK;MAClC;MACA,UAAU,KAAK;MACf;MACA;MACD,CAAC;;AAEJ,WAAO,KAAK,SAAS,GAAG,KAAK;;QAI/B,WAAU,SAAS,SAAqB,GAAG,MAAkB;AAC3D,UAAO,GAAG,MAAM,GAAG,KAAK;;AAI5B,gBAAc,UAAU,QAAQ,EAAE,oBAAoB,GAAG,QAAQ,CAAC;;;;;;AAOtE,SAAgB,mBAId,KACA,OACA,UACA,GAAG,MACoB;;AACvB,uBACG,IAAI,0EAAkC,GAAG,KAAK,KAAI,SAAS,KAAK,GAAG,KAAK"}
@@ -0,0 +1,91 @@
1
+ import { NoInfer, RowData, Updater } from "./types/type-utils.cjs";
2
+ import { TableState, TableState_All } from "./types/TableState.cjs";
3
+ import { TableFeatures } from "./types/TableFeatures.cjs";
4
+ import { Table, Table_Internal } from "./types/Table.cjs";
5
+
6
+ //#region src/utils.d.ts
7
+ declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
8
+ declare function cloneState<T>(value: T): T;
9
+ declare function noop(): void;
10
+ declare function makeStateUpdater<TFeatures extends TableFeatures, K extends (string & {}) | keyof TableState_All | keyof TableState<TFeatures>>(key: K, instance: Table<TFeatures, any>): (updater: Updater<TableState<any>[K & keyof TableState<any>]>) => void;
11
+ type AnyFunction = (...args: any) => any;
12
+ declare function isFunction<T extends AnyFunction>(d: any): d is T;
13
+ declare function isNumberArray(d: any): d is Array<number>;
14
+ declare function flattenBy<TNode>(arr: Array<TNode>, getChildren: (item: TNode) => Array<TNode>): TNode[];
15
+ declare const $internalMemoFnMeta: unique symbol;
16
+ type MemoFnMeta = {
17
+ originalArgsLength?: number;
18
+ };
19
+ /**
20
+ * @internal
21
+ */
22
+ declare function getMemoFnMeta(fn: any): MemoFnMeta | null;
23
+ interface MemoOptions<TDeps extends ReadonlyArray<any>, TDepArgs, TResult> {
24
+ fn: (...args: NoInfer<TDeps>) => TResult;
25
+ memoDeps?: (depArgs?: TDepArgs) => [...TDeps] | undefined;
26
+ onAfterCompare?: (depsChanged: boolean) => void;
27
+ onAfterUpdate?: (result: TResult) => void;
28
+ onBeforeCompare?: () => void;
29
+ onBeforeUpdate?: () => void;
30
+ }
31
+ declare const memo: <TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({
32
+ fn,
33
+ memoDeps,
34
+ onAfterCompare,
35
+ onAfterUpdate,
36
+ onBeforeCompare,
37
+ onBeforeUpdate
38
+ }: MemoOptions<TDeps, TDepArgs, TResult>) => ((depArgs?: TDepArgs) => TResult);
39
+ interface TableMemoOptions<TFeatures extends TableFeatures, TDeps extends ReadonlyArray<any>, TDepArgs, TResult> extends MemoOptions<TDeps, TDepArgs, TResult> {
40
+ feature?: keyof TFeatures & string;
41
+ fnName: string;
42
+ objectId?: string;
43
+ onAfterUpdate?: () => void;
44
+ table: Table_Internal<TFeatures, any>;
45
+ }
46
+ declare function tableMemo<TFeatures extends TableFeatures, TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({
47
+ feature,
48
+ fnName,
49
+ objectId,
50
+ onAfterUpdate,
51
+ table,
52
+ ...memoOptions
53
+ }: TableMemoOptions<TFeatures, TDeps, TDepArgs, TResult>): (depArgs?: TDepArgs | undefined) => TResult;
54
+ interface API<TDeps extends ReadonlyArray<any>, TDepArgs> {
55
+ fn: (...args: any) => any;
56
+ memoDeps?: (depArgs?: any) => [...any] | undefined;
57
+ }
58
+ type APIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<string, API<TDeps, TDepArgs>>;
59
+ /**
60
+ * Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.
61
+ */
62
+ declare function getFunctionNameInfo(staticFnName: string, splitBy?: '_' | '.'): {
63
+ fnKey: string;
64
+ fnName: string;
65
+ parentName: string;
66
+ };
67
+ /**
68
+ * Assigns Table API methods directly to the table instance.
69
+ * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
70
+ */
71
+ declare function assignTableAPIs<TFeatures extends TableFeatures, TData extends RowData, TDeps extends ReadonlyArray<any>, TDepArgs>(feature: keyof TFeatures & string, table: Table_Internal<TFeatures, TData>, apis: APIObject<TDeps, NoInfer<TDepArgs>>): void;
72
+ interface PrototypeAPI<TDeps extends ReadonlyArray<any>, TDepArgs> {
73
+ fn: (self: any, ...args: any) => any;
74
+ memoDeps?: (self: any, depArgs?: any) => [...any] | undefined;
75
+ }
76
+ type PrototypeAPIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<string, PrototypeAPI<TDeps, TDepArgs>>;
77
+ /**
78
+ * Assigns API methods to a prototype object for memory-efficient method sharing.
79
+ * All instances created with this prototype will share the same method references.
80
+ *
81
+ * For memoized methods, the memo state is lazily created and stored on each instance.
82
+ * This provides the best of both worlds: shared method code + per-instance caching.
83
+ */
84
+ declare function assignPrototypeAPIs<TFeatures extends TableFeatures, TData extends RowData, TDeps extends ReadonlyArray<any>, TDepArgs>(feature: keyof TFeatures & string, prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>, apis: PrototypeAPIObject<TDeps, NoInfer<TDepArgs>>): void;
85
+ /**
86
+ * Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fallback to the static method passed in.
87
+ */
88
+ declare function callMemoOrStaticFn<TObject extends Record<string, any>, TStaticFn extends AnyFunction>(obj: TObject, fnKey: string, staticFn: TStaticFn, ...args: Parameters<TStaticFn> extends [any, ...infer Rest] ? Rest : never): ReturnType<TStaticFn>;
89
+ //#endregion
90
+ export { $internalMemoFnMeta, API, APIObject, MemoFnMeta, PrototypeAPI, PrototypeAPIObject, assignPrototypeAPIs, assignTableAPIs, callMemoOrStaticFn, cloneState, flattenBy, functionalUpdate, getFunctionNameInfo, getMemoFnMeta, isFunction, isNumberArray, makeStateUpdater, memo, noop, tableMemo };
91
+ //# sourceMappingURL=utils.d.cts.map
@@ -0,0 +1,91 @@
1
+ import { NoInfer, RowData, Updater } from "./types/type-utils.js";
2
+ import { TableState, TableState_All } from "./types/TableState.js";
3
+ import { TableFeatures } from "./types/TableFeatures.js";
4
+ import { Table, Table_Internal } from "./types/Table.js";
5
+
6
+ //#region src/utils.d.ts
7
+ declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
8
+ declare function cloneState<T>(value: T): T;
9
+ declare function noop(): void;
10
+ declare function makeStateUpdater<TFeatures extends TableFeatures, K extends (string & {}) | keyof TableState_All | keyof TableState<TFeatures>>(key: K, instance: Table<TFeatures, any>): (updater: Updater<TableState<any>[K & keyof TableState<any>]>) => void;
11
+ type AnyFunction = (...args: any) => any;
12
+ declare function isFunction<T extends AnyFunction>(d: any): d is T;
13
+ declare function isNumberArray(d: any): d is Array<number>;
14
+ declare function flattenBy<TNode>(arr: Array<TNode>, getChildren: (item: TNode) => Array<TNode>): TNode[];
15
+ declare const $internalMemoFnMeta: unique symbol;
16
+ type MemoFnMeta = {
17
+ originalArgsLength?: number;
18
+ };
19
+ /**
20
+ * @internal
21
+ */
22
+ declare function getMemoFnMeta(fn: any): MemoFnMeta | null;
23
+ interface MemoOptions<TDeps extends ReadonlyArray<any>, TDepArgs, TResult> {
24
+ fn: (...args: NoInfer<TDeps>) => TResult;
25
+ memoDeps?: (depArgs?: TDepArgs) => [...TDeps] | undefined;
26
+ onAfterCompare?: (depsChanged: boolean) => void;
27
+ onAfterUpdate?: (result: TResult) => void;
28
+ onBeforeCompare?: () => void;
29
+ onBeforeUpdate?: () => void;
30
+ }
31
+ declare const memo: <TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({
32
+ fn,
33
+ memoDeps,
34
+ onAfterCompare,
35
+ onAfterUpdate,
36
+ onBeforeCompare,
37
+ onBeforeUpdate
38
+ }: MemoOptions<TDeps, TDepArgs, TResult>) => ((depArgs?: TDepArgs) => TResult);
39
+ interface TableMemoOptions<TFeatures extends TableFeatures, TDeps extends ReadonlyArray<any>, TDepArgs, TResult> extends MemoOptions<TDeps, TDepArgs, TResult> {
40
+ feature?: keyof TFeatures & string;
41
+ fnName: string;
42
+ objectId?: string;
43
+ onAfterUpdate?: () => void;
44
+ table: Table_Internal<TFeatures, any>;
45
+ }
46
+ declare function tableMemo<TFeatures extends TableFeatures, TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({
47
+ feature,
48
+ fnName,
49
+ objectId,
50
+ onAfterUpdate,
51
+ table,
52
+ ...memoOptions
53
+ }: TableMemoOptions<TFeatures, TDeps, TDepArgs, TResult>): (depArgs?: TDepArgs | undefined) => TResult;
54
+ interface API<TDeps extends ReadonlyArray<any>, TDepArgs> {
55
+ fn: (...args: any) => any;
56
+ memoDeps?: (depArgs?: any) => [...any] | undefined;
57
+ }
58
+ type APIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<string, API<TDeps, TDepArgs>>;
59
+ /**
60
+ * Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.
61
+ */
62
+ declare function getFunctionNameInfo(staticFnName: string, splitBy?: '_' | '.'): {
63
+ fnKey: string;
64
+ fnName: string;
65
+ parentName: string;
66
+ };
67
+ /**
68
+ * Assigns Table API methods directly to the table instance.
69
+ * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
70
+ */
71
+ declare function assignTableAPIs<TFeatures extends TableFeatures, TData extends RowData, TDeps extends ReadonlyArray<any>, TDepArgs>(feature: keyof TFeatures & string, table: Table_Internal<TFeatures, TData>, apis: APIObject<TDeps, NoInfer<TDepArgs>>): void;
72
+ interface PrototypeAPI<TDeps extends ReadonlyArray<any>, TDepArgs> {
73
+ fn: (self: any, ...args: any) => any;
74
+ memoDeps?: (self: any, depArgs?: any) => [...any] | undefined;
75
+ }
76
+ type PrototypeAPIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<string, PrototypeAPI<TDeps, TDepArgs>>;
77
+ /**
78
+ * Assigns API methods to a prototype object for memory-efficient method sharing.
79
+ * All instances created with this prototype will share the same method references.
80
+ *
81
+ * For memoized methods, the memo state is lazily created and stored on each instance.
82
+ * This provides the best of both worlds: shared method code + per-instance caching.
83
+ */
84
+ declare function assignPrototypeAPIs<TFeatures extends TableFeatures, TData extends RowData, TDeps extends ReadonlyArray<any>, TDepArgs>(feature: keyof TFeatures & string, prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>, apis: PrototypeAPIObject<TDeps, NoInfer<TDepArgs>>): void;
85
+ /**
86
+ * Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fallback to the static method passed in.
87
+ */
88
+ declare function callMemoOrStaticFn<TObject extends Record<string, any>, TStaticFn extends AnyFunction>(obj: TObject, fnKey: string, staticFn: TStaticFn, ...args: Parameters<TStaticFn> extends [any, ...infer Rest] ? Rest : never): ReturnType<TStaticFn>;
89
+ //#endregion
90
+ export { $internalMemoFnMeta, API, APIObject, MemoFnMeta, PrototypeAPI, PrototypeAPIObject, assignPrototypeAPIs, assignTableAPIs, callMemoOrStaticFn, cloneState, flattenBy, functionalUpdate, getFunctionNameInfo, getMemoFnMeta, isFunction, isNumberArray, makeStateUpdater, memo, noop, tableMemo };
91
+ //# sourceMappingURL=utils.d.ts.map