@tanstack/table-core 9.0.0-alpha.0 → 9.0.0-alpha.11

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 (570) hide show
  1. package/dist/esm/core/cells/constructCell.d.ts +7 -0
  2. package/dist/esm/core/cells/constructCell.js +21 -0
  3. package/dist/esm/core/cells/constructCell.js.map +1 -0
  4. package/dist/esm/core/cells/coreCellsFeature.d.ts +10 -0
  5. package/dist/esm/core/cells/coreCellsFeature.js +26 -0
  6. package/dist/esm/core/cells/coreCellsFeature.js.map +1 -0
  7. package/dist/esm/core/cells/coreCellsFeature.types.d.ts +52 -0
  8. package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +13 -0
  9. package/dist/esm/core/cells/coreCellsFeature.utils.js +23 -0
  10. package/dist/esm/core/cells/coreCellsFeature.utils.js.map +1 -0
  11. package/dist/esm/core/columns/constructColumn.d.ts +6 -0
  12. package/dist/esm/core/columns/constructColumn.js +60 -0
  13. package/dist/esm/core/columns/constructColumn.js.map +1 -0
  14. package/dist/esm/core/columns/coreColumnsFeature.d.ts +10 -0
  15. package/dist/esm/core/columns/coreColumnsFeature.js +61 -0
  16. package/dist/esm/core/columns/coreColumnsFeature.js.map +1 -0
  17. package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +84 -0
  18. package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +13 -0
  19. package/dist/esm/core/columns/coreColumnsFeature.utils.js +91 -0
  20. package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +1 -0
  21. package/dist/esm/core/coreFeatures.d.ts +15 -0
  22. package/dist/esm/core/coreFeatures.js +18 -0
  23. package/dist/esm/core/coreFeatures.js.map +1 -0
  24. package/dist/esm/core/headers/buildHeaderGroups.d.ts +6 -0
  25. package/dist/esm/core/headers/buildHeaderGroups.js +99 -0
  26. package/dist/esm/core/headers/buildHeaderGroups.js.map +1 -0
  27. package/dist/esm/core/headers/constructHeader.d.ts +12 -0
  28. package/dist/esm/core/headers/constructHeader.js +28 -0
  29. package/dist/esm/core/headers/constructHeader.js.map +1 -0
  30. package/dist/esm/core/headers/coreHeadersFeature.d.ts +10 -0
  31. package/dist/esm/core/headers/coreHeadersFeature.js +68 -0
  32. package/dist/esm/core/headers/coreHeadersFeature.js.map +1 -0
  33. package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +99 -0
  34. package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +15 -0
  35. package/dist/esm/core/headers/coreHeadersFeature.utils.js +85 -0
  36. package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +1 -0
  37. package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +10 -0
  38. package/dist/esm/core/row-models/coreRowModelsFeature.js +52 -0
  39. package/dist/esm/core/row-models/coreRowModelsFeature.js.map +1 -0
  40. package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +39 -0
  41. package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +16 -0
  42. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +85 -0
  43. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  44. package/dist/esm/core/row-models/createCoreRowModel.d.ts +5 -0
  45. package/dist/esm/core/row-models/createCoreRowModel.js +54 -0
  46. package/dist/esm/core/row-models/createCoreRowModel.js.map +1 -0
  47. package/dist/esm/core/rows/constructRow.d.ts +5 -0
  48. package/dist/esm/core/rows/constructRow.js +29 -0
  49. package/dist/esm/core/rows/constructRow.js.map +1 -0
  50. package/dist/esm/core/rows/coreRowsFeature.d.ts +10 -0
  51. package/dist/esm/core/rows/coreRowsFeature.js +52 -0
  52. package/dist/esm/core/rows/coreRowsFeature.js.map +1 -0
  53. package/dist/esm/core/rows/coreRowsFeature.types.d.ts +91 -0
  54. package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +15 -0
  55. package/dist/esm/core/rows/coreRowsFeature.utils.js +94 -0
  56. package/dist/esm/core/rows/coreRowsFeature.utils.js.map +1 -0
  57. package/dist/esm/core/table/constructTable.d.ts +9 -0
  58. package/dist/esm/core/table/constructTable.js +65 -0
  59. package/dist/esm/core/table/constructTable.js.map +1 -0
  60. package/dist/esm/core/table/coreTablesFeature.d.ts +10 -0
  61. package/dist/esm/core/table/coreTablesFeature.js +22 -0
  62. package/dist/esm/core/table/coreTablesFeature.js.map +1 -0
  63. package/dist/esm/core/table/coreTablesFeature.types.d.ts +105 -0
  64. package/dist/esm/core/table/coreTablesFeature.utils.d.ts +7 -0
  65. package/dist/esm/core/table/coreTablesFeature.utils.js +23 -0
  66. package/dist/esm/core/table/coreTablesFeature.utils.js.map +1 -0
  67. package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +10 -0
  68. package/dist/esm/features/column-faceting/columnFacetingFeature.js +80 -0
  69. package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +1 -0
  70. package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +68 -0
  71. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +11 -0
  72. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +33 -0
  73. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  74. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +4 -0
  75. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +41 -0
  76. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  77. package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  78. package/dist/esm/features/column-faceting/createFacetedRowModel.js +47 -0
  79. package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +1 -0
  80. package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +4 -0
  81. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +46 -0
  82. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  83. package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +11 -0
  84. package/dist/esm/features/column-filtering/columnFilteringFeature.js +69 -0
  85. package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +1 -0
  86. package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +145 -0
  87. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +16 -0
  88. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +118 -0
  89. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  90. package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +6 -0
  91. package/dist/esm/features/column-filtering/createFilteredRowModel.js +110 -0
  92. package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +1 -0
  93. package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +6 -0
  94. package/dist/esm/{utils → features/column-filtering}/filterRowsUtils.js +15 -19
  95. package/dist/esm/features/column-filtering/filterRowsUtils.js.map +1 -0
  96. package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +10 -0
  97. package/dist/esm/features/column-grouping/columnGroupingFeature.js +91 -0
  98. package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +1 -0
  99. package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +153 -0
  100. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +22 -0
  101. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +99 -0
  102. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  103. package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +6 -0
  104. package/dist/esm/features/column-grouping/createGroupedRowModel.js +144 -0
  105. package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +1 -0
  106. package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +10 -0
  107. package/dist/esm/features/column-ordering/columnOrderingFeature.js +60 -0
  108. package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +1 -0
  109. package/dist/{cjs/features/ColumnOrdering.d.cts → esm/features/column-ordering/columnOrderingFeature.types.d.ts} +8 -22
  110. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +14 -0
  111. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +72 -0
  112. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  113. package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +10 -0
  114. package/dist/esm/features/column-pinning/columnPinningFeature.js +260 -0
  115. package/dist/esm/features/column-pinning/columnPinningFeature.js.map +1 -0
  116. package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +157 -0
  117. package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +39 -0
  118. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +325 -0
  119. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  120. package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +11 -0
  121. package/dist/esm/features/column-resizing/columnResizingFeature.js +52 -0
  122. package/dist/esm/features/column-resizing/columnResizingFeature.js.map +1 -0
  123. package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +68 -0
  124. package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +14 -0
  125. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +193 -0
  126. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  127. package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +11 -0
  128. package/dist/esm/features/column-sizing/columnSizingFeature.js +95 -0
  129. package/dist/esm/features/column-sizing/columnSizingFeature.js.map +1 -0
  130. package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +81 -0
  131. package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +25 -0
  132. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +128 -0
  133. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  134. package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +10 -0
  135. package/dist/esm/features/column-visibility/columnVisibilityFeature.js +100 -0
  136. package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  137. package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +84 -0
  138. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +22 -0
  139. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +105 -0
  140. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  141. package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +11 -0
  142. package/dist/esm/features/global-filtering/globalFilteringFeature.js +51 -0
  143. package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +1 -0
  144. package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +59 -0
  145. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -0
  146. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +30 -0
  147. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  148. package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +6 -0
  149. package/dist/esm/features/row-expanding/createExpandedRowModel.js +49 -0
  150. package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +1 -0
  151. package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +10 -0
  152. package/dist/esm/features/row-expanding/rowExpandingFeature.js +74 -0
  153. package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +1 -0
  154. package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +116 -0
  155. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +20 -0
  156. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +125 -0
  157. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  158. package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  159. package/dist/esm/features/row-pagination/createPaginatedRowModel.js +58 -0
  160. package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  161. package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +10 -0
  162. package/dist/esm/features/row-pagination/rowPaginationFeature.js +78 -0
  163. package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +1 -0
  164. package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +119 -0
  165. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +21 -0
  166. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +126 -0
  167. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  168. package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +10 -0
  169. package/dist/esm/features/row-pinning/rowPinningFeature.js +80 -0
  170. package/dist/esm/features/row-pinning/rowPinningFeature.js.map +1 -0
  171. package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +72 -0
  172. package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +16 -0
  173. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +115 -0
  174. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  175. package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +10 -0
  176. package/dist/esm/features/row-selection/rowSelectionFeature.js +112 -0
  177. package/dist/esm/features/row-selection/rowSelectionFeature.js.map +1 -0
  178. package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +123 -0
  179. package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +34 -0
  180. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +290 -0
  181. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  182. package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +6 -0
  183. package/dist/esm/features/row-sorting/createSortedRowModel.js +94 -0
  184. package/dist/esm/features/row-sorting/createSortedRowModel.js.map +1 -0
  185. package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +10 -0
  186. package/dist/esm/features/row-sorting/rowSortingFeature.js +82 -0
  187. package/dist/esm/features/row-sorting/rowSortingFeature.js.map +1 -0
  188. package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +178 -0
  189. package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +20 -0
  190. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +181 -0
  191. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  192. package/dist/esm/features/stockFeatures.d.ts +31 -0
  193. package/dist/esm/features/stockFeatures.js +34 -0
  194. package/dist/esm/features/stockFeatures.js.map +1 -0
  195. package/dist/esm/fns/aggregationFns.d.ts +49 -0
  196. package/dist/esm/fns/aggregationFns.js +110 -0
  197. package/dist/esm/fns/aggregationFns.js.map +1 -0
  198. package/dist/esm/fns/filterFns.d.ts +76 -0
  199. package/dist/esm/fns/filterFns.js +134 -0
  200. package/dist/esm/fns/filterFns.js.map +1 -0
  201. package/dist/esm/fns/sortFns.d.ts +17 -0
  202. package/dist/esm/{sortingFns.js → fns/sortFns.js} +21 -15
  203. package/dist/esm/fns/sortFns.js.map +1 -0
  204. package/dist/esm/helpers/columnHelper.d.ts +61 -0
  205. package/dist/esm/{columnHelper.js → helpers/columnHelper.js} +1 -0
  206. package/dist/esm/helpers/columnHelper.js.map +1 -0
  207. package/dist/esm/helpers/tableFeatures.d.ts +13 -0
  208. package/dist/esm/helpers/tableFeatures.js +7 -0
  209. package/dist/esm/helpers/tableFeatures.js.map +1 -0
  210. package/dist/esm/helpers/tableHelper.d.ts +25 -0
  211. package/dist/esm/helpers/tableHelper.js +13 -0
  212. package/dist/esm/helpers/tableHelper.js.map +1 -0
  213. package/dist/esm/helpers/tableOptions.d.ts +23 -0
  214. package/dist/esm/helpers/tableOptions.js +7 -0
  215. package/dist/esm/helpers/tableOptions.js.map +1 -0
  216. package/dist/esm/index.d.ts +109 -33
  217. package/dist/esm/index.js +397 -65
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/esm/types/Cell.d.ts +13 -0
  220. package/dist/esm/types/Column.d.ts +26 -0
  221. package/dist/esm/types/ColumnDef.d.ts +64 -0
  222. package/dist/esm/types/Header.d.ts +14 -0
  223. package/dist/esm/types/HeaderGroup.d.ts +12 -0
  224. package/dist/esm/types/Row.d.ts +19 -0
  225. package/dist/esm/types/RowModel.d.ts +23 -0
  226. package/dist/esm/types/RowModelFns.d.ts +15 -0
  227. package/dist/esm/types/Table.d.ts +53 -0
  228. package/dist/esm/types/TableFeatures.d.ts +77 -0
  229. package/dist/esm/types/TableOptions.d.ts +39 -0
  230. package/dist/esm/types/TableState.d.ts +23 -0
  231. package/dist/esm/types/type-utils.d.ts +22 -0
  232. package/dist/esm/utils.d.ts +66 -33
  233. package/dist/esm/utils.js +183 -52
  234. package/dist/esm/utils.js.map +1 -1
  235. package/package.json +21 -12
  236. package/src/core/cells/constructCell.ts +49 -0
  237. package/src/core/cells/coreCellsFeature.ts +44 -0
  238. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  239. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  240. package/src/core/columns/constructColumn.ts +111 -0
  241. package/src/core/columns/coreColumnsFeature.ts +90 -0
  242. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  243. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  244. package/src/core/coreFeatures.ts +24 -0
  245. package/src/core/headers/buildHeaderGroups.ts +177 -0
  246. package/src/core/headers/constructHeader.ts +61 -0
  247. package/src/core/headers/coreHeadersFeature.ts +98 -0
  248. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  249. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  250. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  251. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  252. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  253. package/src/core/row-models/createCoreRowModel.ts +88 -0
  254. package/src/core/rows/constructRow.ts +59 -0
  255. package/src/core/rows/coreRowsFeature.ts +84 -0
  256. package/src/core/rows/coreRowsFeature.types.ts +111 -0
  257. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  258. package/src/core/table/constructTable.ts +95 -0
  259. package/src/core/table/coreTablesFeature.ts +36 -0
  260. package/src/core/table/coreTablesFeature.types.ts +123 -0
  261. package/src/core/table/coreTablesFeature.utils.ts +40 -0
  262. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  263. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  264. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  265. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  266. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  267. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  268. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  269. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  270. package/src/features/column-filtering/columnFilteringFeature.utils.ts +213 -0
  271. package/src/features/column-filtering/createFilteredRowModel.ts +171 -0
  272. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  273. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  274. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  275. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  276. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  277. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  278. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  279. package/src/features/column-ordering/columnOrderingFeature.utils.ts +133 -0
  280. package/src/features/column-pinning/columnPinningFeature.ts +324 -0
  281. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  282. package/src/features/column-pinning/columnPinningFeature.utils.ts +537 -0
  283. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  284. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  285. package/src/features/column-resizing/columnResizingFeature.utils.ts +265 -0
  286. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  287. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  288. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  289. package/src/features/column-visibility/columnVisibilityFeature.ts +155 -0
  290. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  291. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  292. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  293. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  294. package/src/features/global-filtering/globalFilteringFeature.utils.ts +60 -0
  295. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  296. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  297. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  298. package/src/features/row-expanding/rowExpandingFeature.utils.ts +207 -0
  299. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  300. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  301. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  302. package/src/features/row-pagination/rowPaginationFeature.utils.ts +204 -0
  303. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  304. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  305. package/src/features/row-pinning/rowPinningFeature.utils.ts +197 -0
  306. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  307. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  308. package/src/features/row-selection/rowSelectionFeature.utils.ts +464 -0
  309. package/src/features/row-sorting/createSortedRowModel.ts +147 -0
  310. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  311. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  312. package/src/features/row-sorting/rowSortingFeature.utils.ts +320 -0
  313. package/src/features/stockFeatures.ts +48 -0
  314. package/src/fns/aggregationFns.ts +220 -0
  315. package/src/fns/filterFns.ts +379 -0
  316. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  317. package/src/helpers/columnHelper.ts +117 -0
  318. package/src/helpers/tableFeatures.ts +24 -0
  319. package/src/helpers/tableHelper.ts +61 -0
  320. package/src/helpers/tableOptions.ts +82 -0
  321. package/src/index.ts +156 -42
  322. package/src/types/Cell.ts +41 -0
  323. package/src/types/Column.ts +86 -0
  324. package/src/types/ColumnDef.ts +217 -0
  325. package/src/types/Header.ts +45 -0
  326. package/src/types/HeaderGroup.ts +24 -0
  327. package/src/types/Row.ts +55 -0
  328. package/src/types/RowModel.ts +137 -0
  329. package/src/types/RowModelFns.ts +51 -0
  330. package/src/types/Table.ts +125 -0
  331. package/src/types/TableFeatures.ts +150 -0
  332. package/src/types/TableOptions.ts +125 -0
  333. package/src/types/TableState.ts +88 -0
  334. package/src/types/type-utils.ts +84 -0
  335. package/src/utils.ts +344 -163
  336. package/dist/cjs/aggregationFns.cjs +0 -98
  337. package/dist/cjs/aggregationFns.cjs.map +0 -1
  338. package/dist/cjs/aggregationFns.d.cts +0 -14
  339. package/dist/cjs/columnHelper.cjs +0 -19
  340. package/dist/cjs/columnHelper.cjs.map +0 -1
  341. package/dist/cjs/columnHelper.d.cts +0 -9
  342. package/dist/cjs/core/cell.cjs +0 -38
  343. package/dist/cjs/core/cell.cjs.map +0 -1
  344. package/dist/cjs/core/cell.d.cts +0 -50
  345. package/dist/cjs/core/column.cjs +0 -81
  346. package/dist/cjs/core/column.cjs.map +0 -1
  347. package/dist/cjs/core/column.d.cts +0 -56
  348. package/dist/cjs/core/headers.cjs +0 -310
  349. package/dist/cjs/core/headers.cjs.map +0 -1
  350. package/dist/cjs/core/headers.d.cts +0 -195
  351. package/dist/cjs/core/row.cjs +0 -93
  352. package/dist/cjs/core/row.cjs.map +0 -1
  353. package/dist/cjs/core/row.d.cts +0 -92
  354. package/dist/cjs/core/table.cjs +0 -228
  355. package/dist/cjs/core/table.cjs.map +0 -1
  356. package/dist/cjs/core/table.d.cts +0 -221
  357. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  358. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  359. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  360. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  361. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  362. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  363. package/dist/cjs/features/ColumnGrouping.cjs +0 -134
  364. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  365. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  366. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  367. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  368. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  369. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  370. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  371. package/dist/cjs/features/ColumnSizing.cjs +0 -308
  372. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  373. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  374. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  375. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  376. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  377. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  378. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  379. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  380. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  381. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  382. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  383. package/dist/cjs/features/RowExpanding.cjs +0 -154
  384. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  385. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  386. package/dist/cjs/features/RowPagination.cjs +0 -162
  387. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  388. package/dist/cjs/features/RowPagination.d.cts +0 -166
  389. package/dist/cjs/features/RowPinning.cjs +0 -133
  390. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  391. package/dist/cjs/features/RowPinning.d.cts +0 -99
  392. package/dist/cjs/features/RowSelection.cjs +0 -298
  393. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  394. package/dist/cjs/features/RowSelection.d.cts +0 -177
  395. package/dist/cjs/features/RowSorting.cjs +0 -201
  396. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  397. package/dist/cjs/features/RowSorting.d.cts +0 -238
  398. package/dist/cjs/filterFns.cjs +0 -88
  399. package/dist/cjs/filterFns.cjs.map +0 -1
  400. package/dist/cjs/filterFns.d.cts +0 -14
  401. package/dist/cjs/index.cjs +0 -87
  402. package/dist/cjs/index.cjs.map +0 -1
  403. package/dist/cjs/index.d.cts +0 -34
  404. package/dist/cjs/sortingFns.cjs +0 -91
  405. package/dist/cjs/sortingFns.cjs.map +0 -1
  406. package/dist/cjs/sortingFns.d.cts +0 -12
  407. package/dist/cjs/types.d.cts +0 -120
  408. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  409. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  410. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  411. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  412. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  413. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  414. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  415. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  416. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  417. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
  418. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  419. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  420. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  421. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  422. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  423. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
  424. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  425. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  426. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  427. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  428. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  429. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  430. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  431. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  432. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  433. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  434. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  435. package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
  436. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  437. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  438. package/dist/cjs/utils.cjs +0 -100
  439. package/dist/cjs/utils.cjs.map +0 -1
  440. package/dist/cjs/utils.d.cts +0 -39
  441. package/dist/esm/aggregationFns.d.ts +0 -14
  442. package/dist/esm/aggregationFns.js +0 -98
  443. package/dist/esm/aggregationFns.js.map +0 -1
  444. package/dist/esm/columnHelper.d.ts +0 -9
  445. package/dist/esm/columnHelper.js.map +0 -1
  446. package/dist/esm/core/cell.d.ts +0 -50
  447. package/dist/esm/core/cell.js +0 -38
  448. package/dist/esm/core/cell.js.map +0 -1
  449. package/dist/esm/core/column.d.ts +0 -56
  450. package/dist/esm/core/column.js +0 -81
  451. package/dist/esm/core/column.js.map +0 -1
  452. package/dist/esm/core/headers.d.ts +0 -195
  453. package/dist/esm/core/headers.js +0 -310
  454. package/dist/esm/core/headers.js.map +0 -1
  455. package/dist/esm/core/row.d.ts +0 -92
  456. package/dist/esm/core/row.js +0 -93
  457. package/dist/esm/core/row.js.map +0 -1
  458. package/dist/esm/core/table.d.ts +0 -221
  459. package/dist/esm/core/table.js +0 -228
  460. package/dist/esm/core/table.js.map +0 -1
  461. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  462. package/dist/esm/features/ColumnFaceting.js +0 -29
  463. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  464. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  465. package/dist/esm/features/ColumnFiltering.js +0 -137
  466. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  467. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  468. package/dist/esm/features/ColumnGrouping.js +0 -134
  469. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  470. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  471. package/dist/esm/features/ColumnOrdering.js +0 -76
  472. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  473. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  474. package/dist/esm/features/ColumnPinning.js +0 -145
  475. package/dist/esm/features/ColumnPinning.js.map +0 -1
  476. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  477. package/dist/esm/features/ColumnSizing.js +0 -308
  478. package/dist/esm/features/ColumnSizing.js.map +0 -1
  479. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  480. package/dist/esm/features/ColumnVisibility.js +0 -144
  481. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  482. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  483. package/dist/esm/features/GlobalFaceting.js +0 -29
  484. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  485. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  486. package/dist/esm/features/GlobalFiltering.js +0 -50
  487. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  488. package/dist/esm/features/RowExpanding.d.ts +0 -155
  489. package/dist/esm/features/RowExpanding.js +0 -154
  490. package/dist/esm/features/RowExpanding.js.map +0 -1
  491. package/dist/esm/features/RowPagination.d.ts +0 -166
  492. package/dist/esm/features/RowPagination.js +0 -162
  493. package/dist/esm/features/RowPagination.js.map +0 -1
  494. package/dist/esm/features/RowPinning.d.ts +0 -99
  495. package/dist/esm/features/RowPinning.js +0 -133
  496. package/dist/esm/features/RowPinning.js.map +0 -1
  497. package/dist/esm/features/RowSelection.d.ts +0 -177
  498. package/dist/esm/features/RowSelection.js +0 -298
  499. package/dist/esm/features/RowSelection.js.map +0 -1
  500. package/dist/esm/features/RowSorting.d.ts +0 -238
  501. package/dist/esm/features/RowSorting.js +0 -201
  502. package/dist/esm/features/RowSorting.js.map +0 -1
  503. package/dist/esm/filterFns.d.ts +0 -14
  504. package/dist/esm/filterFns.js +0 -88
  505. package/dist/esm/filterFns.js.map +0 -1
  506. package/dist/esm/sortingFns.d.ts +0 -12
  507. package/dist/esm/sortingFns.js.map +0 -1
  508. package/dist/esm/types.d.ts +0 -120
  509. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  510. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  511. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  512. package/dist/esm/utils/getCoreRowModel.js +0 -54
  513. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  514. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  515. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  516. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  517. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  518. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
  519. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  520. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  521. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  522. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  523. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  524. package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
  525. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  526. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  527. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  528. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  529. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  530. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  531. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  532. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  533. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  534. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  535. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  536. package/dist/esm/utils/getSortedRowModel.js +0 -91
  537. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  538. package/src/aggregationFns.ts +0 -123
  539. package/src/columnHelper.ts +0 -91
  540. package/src/core/cell.ts +0 -91
  541. package/src/core/column.ts +0 -165
  542. package/src/core/headers.ts +0 -639
  543. package/src/core/row.ts +0 -201
  544. package/src/core/table.ts +0 -527
  545. package/src/features/ColumnFaceting.ts +0 -84
  546. package/src/features/ColumnFiltering.ts +0 -429
  547. package/src/features/ColumnGrouping.ts +0 -422
  548. package/src/features/ColumnOrdering.ts +0 -161
  549. package/src/features/ColumnPinning.ts +0 -336
  550. package/src/features/ColumnSizing.ts +0 -579
  551. package/src/features/ColumnVisibility.ts +0 -317
  552. package/src/features/GlobalFaceting.ts +0 -66
  553. package/src/features/GlobalFiltering.ts +0 -162
  554. package/src/features/RowExpanding.ts +0 -355
  555. package/src/features/RowPagination.ts +0 -396
  556. package/src/features/RowPinning.ts +0 -273
  557. package/src/features/RowSelection.ts +0 -668
  558. package/src/features/RowSorting.ts +0 -542
  559. package/src/filterFns.ts +0 -150
  560. package/src/types.ts +0 -361
  561. package/src/utils/filterRowsUtils.ts +0 -130
  562. package/src/utils/getCoreRowModel.ts +0 -82
  563. package/src/utils/getExpandedRowModel.ts +0 -51
  564. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  565. package/src/utils/getFacetedRowModel.ts +0 -44
  566. package/src/utils/getFacetedUniqueValues.ts +0 -42
  567. package/src/utils/getFilteredRowModel.ts +0 -151
  568. package/src/utils/getGroupedRowModel.ts +0 -181
  569. package/src/utils/getPaginationRowModel.ts +0 -60
  570. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,125 @@
1
+ import type { Derived, Store } from '@tanstack/store'
2
+ import type { Table_ColumnFaceting } from '../features/column-faceting/columnFacetingFeature.types'
3
+ import type { Table_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
4
+ import type { Table_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
5
+ import type { Table_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
6
+ import type { Table_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types'
7
+ import type { Table_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types'
8
+ import type { Table_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types'
9
+ import type { Table_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types'
10
+ import type { Table_RowPinning } from '../features/row-pinning/rowPinningFeature.types'
11
+ import type { Table_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types'
12
+ import type { Table_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types'
13
+ import type { Table_RowPagination } from '../features/row-pagination/rowPaginationFeature.types'
14
+ import type { Table_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
15
+ import type { Table_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
16
+ import type { Table_RowModels } from '../core/row-models/coreRowModelsFeature.types'
17
+ import type { CachedRowModel_All, CreateRowModels_All } from './RowModel'
18
+ import type { RowModelFns_All } from './RowModelFns'
19
+ import type { TableState_All } from './TableState'
20
+ import type { RowData, UnionToIntersection } from './type-utils'
21
+ import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
22
+ import type { Table_Columns } from '../core/columns/coreColumnsFeature.types'
23
+ import type { Table_Headers } from '../core/headers/coreHeadersFeature.types'
24
+ import type { Table_Rows } from '../core/rows/coreRowsFeature.types'
25
+ import type { Table_Table } from '../core/table/coreTablesFeature.types'
26
+ import type { TableOptions_All } from './TableOptions'
27
+
28
+ /**
29
+ * Use this interface as a target for declaration merging to add your own plugin properties.
30
+ * Note: This will affect the types of all tables in your project.
31
+ */
32
+ export interface Table_Plugins<
33
+ TFeatures extends TableFeatures,
34
+ TData extends RowData,
35
+ > {}
36
+
37
+ /**
38
+ * The core table object that only includes the core table functionality such as column, header, row, and table APIS.
39
+ * No features are included.
40
+ */
41
+ export type Table_Core<
42
+ TFeatures extends TableFeatures,
43
+ TData extends RowData,
44
+ > = Table_Table<TFeatures, TData> &
45
+ Table_Columns<TFeatures, TData> &
46
+ Table_Rows<TFeatures, TData> &
47
+ Table_RowModels<TFeatures, TData> &
48
+ Table_Headers<TFeatures, TData>
49
+
50
+ /**
51
+ * The table object that includes both the core table functionality and the features that are enabled via the `_features` table option.
52
+ */
53
+ export type Table<
54
+ TFeatures extends TableFeatures,
55
+ TData extends RowData,
56
+ > = Table_Core<TFeatures, TData> &
57
+ UnionToIntersection<
58
+ | ('columnFilteringFeature' extends keyof TFeatures
59
+ ? Table_ColumnFiltering
60
+ : never)
61
+ | ('columnGroupingFeature' extends keyof TFeatures
62
+ ? Table_ColumnGrouping<TFeatures, TData>
63
+ : never)
64
+ | ('columnOrderingFeature' extends keyof TFeatures
65
+ ? Table_ColumnOrdering<TFeatures, TData>
66
+ : never)
67
+ | ('columnPinningFeature' extends keyof TFeatures
68
+ ? Table_ColumnPinning<TFeatures, TData>
69
+ : never)
70
+ | ('columnResizingFeature' extends keyof TFeatures
71
+ ? Table_ColumnResizing
72
+ : never)
73
+ | ('columnSizingFeature' extends keyof TFeatures
74
+ ? Table_ColumnSizing
75
+ : never)
76
+ | ('columnVisibilityFeature' extends keyof TFeatures
77
+ ? Table_ColumnVisibility<TFeatures, TData>
78
+ : never)
79
+ | ('columnFacetingFeature' extends keyof TFeatures
80
+ ? Table_ColumnFaceting<TFeatures, TData>
81
+ : never)
82
+ | ('globalFilteringFeature' extends keyof TFeatures
83
+ ? Table_GlobalFiltering<TFeatures, TData>
84
+ : never)
85
+ | ('rowExpandingFeature' extends keyof TFeatures
86
+ ? Table_RowExpanding<TFeatures, TData>
87
+ : never)
88
+ | ('rowPaginationFeature' extends keyof TFeatures
89
+ ? Table_RowPagination<TFeatures, TData>
90
+ : never)
91
+ | ('rowPinningFeature' extends keyof TFeatures
92
+ ? Table_RowPinning<TFeatures, TData>
93
+ : never)
94
+ | ('rowSelectionFeature' extends keyof TFeatures
95
+ ? Table_RowSelection<TFeatures, TData>
96
+ : never)
97
+ | ('rowSortingFeature' extends keyof TFeatures
98
+ ? Table_RowSorting<TFeatures, TData>
99
+ : never)
100
+ > &
101
+ ExtractFeatureTypes<'Table', TFeatures> &
102
+ Table_Plugins<TFeatures, TData>
103
+
104
+ // export type Table<
105
+ // TFeatures extends TableFeatures,
106
+ // TData extends RowData,
107
+ // > = Table_Core<TFeatures, TData> &
108
+ // ExtractFeatureTypes<'Table', TFeatures> &
109
+ // Table_Plugins<TFeatures, TData>
110
+
111
+ export type Table_Internal<
112
+ TFeatures extends TableFeatures,
113
+ TData extends RowData = any,
114
+ > = Table<TFeatures, TData> & {
115
+ _rowModels: CachedRowModel_All<TFeatures, TData>
116
+ _rowModelFns: RowModelFns_All<TFeatures, TData>
117
+ options: TableOptions_All<TFeatures, TData> & {
118
+ _rowModels?: CreateRowModels_All<TFeatures, TData>
119
+ state?: TableState_All
120
+ initialState?: TableState_All
121
+ }
122
+ initialState: TableState_All
123
+ baseStore: Store<TableState_All>
124
+ store: Derived<TableState_All>
125
+ }
@@ -0,0 +1,150 @@
1
+ import type { CoreFeatures } from '../core/coreFeatures'
2
+ import type { CellData, RowData, UnionToIntersection } from './type-utils'
3
+ import type { ColumnDefBase_All } from './ColumnDef'
4
+ import type { Row } from './Row'
5
+ import type { Table_Internal } from './Table'
6
+ import type { TableOptions_All } from './TableOptions'
7
+ import type { TableState_All } from './TableState'
8
+ import type { StockFeatures } from '../features/stockFeatures'
9
+
10
+ export type ExtractFeatureTypes<
11
+ TKey extends keyof FeatureConstructors,
12
+ TFeatures extends TableFeatures,
13
+ > = UnionToIntersection<
14
+ {
15
+ [K in keyof TFeatures]: TFeatures[K] extends TableFeature<
16
+ infer FeatureConstructorOptions
17
+ >
18
+ ? TKey extends keyof FeatureConstructorOptions
19
+ ? FeatureConstructorOptions[TKey]
20
+ : never
21
+ : any
22
+ }[keyof TFeatures]
23
+ >
24
+
25
+ interface FeatureConstructors {
26
+ CachedRowModel?: any
27
+ Cell?: any
28
+ Column?: any
29
+ ColumnDef?: any
30
+ CreateRowModels?: any
31
+ Header?: any
32
+ HeaderGroup?: any
33
+ Row?: any
34
+ RowModelFns?: any
35
+ Table?: any
36
+ TableOptions?: any
37
+ TableState?: any
38
+ }
39
+
40
+ export interface Plugins {}
41
+
42
+ export interface TableFeatures
43
+ extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {}
44
+
45
+ export type ConstructTableAPIs<TConstructors extends FeatureConstructors> = <
46
+ TFeatures extends TableFeatures,
47
+ TData extends RowData,
48
+ >(
49
+ table: Table_Internal<TFeatures, TData> &
50
+ Partial<TConstructors['Table']> & {
51
+ options: Partial<TConstructors['TableOptions']>
52
+ },
53
+ ) => void
54
+
55
+ export type GetDefaultColumnDef<TConstructors extends FeatureConstructors> = <
56
+ TFeatures extends TableFeatures,
57
+ TData extends RowData,
58
+ TValue extends CellData = CellData,
59
+ >() => ColumnDefBase_All<TFeatures, TData, TValue> &
60
+ Partial<TConstructors['ColumnDef']>
61
+
62
+ export type GetDefaultTableOptions<TConstructors extends FeatureConstructors> =
63
+ <TFeatures extends TableFeatures, TData extends RowData>(
64
+ table: Table_Internal<TFeatures, TData> & Partial<TConstructors['Table']>,
65
+ ) => Partial<TableOptions_All<TFeatures, TData>> &
66
+ Partial<TConstructors['TableOptions']>
67
+
68
+ export type GetInitialState<TConstructors extends FeatureConstructors> = (
69
+ initialState: Partial<TableState_All> & Partial<TConstructors['TableState']>,
70
+ ) => TableState_All & Partial<TConstructors['TableState']>
71
+
72
+ export type GetDefaultStateSelector<TConstructors extends FeatureConstructors> =
73
+ (
74
+ state: TableState_All,
75
+ ) => Partial<TableState_All> & Partial<TConstructors['TableState']>
76
+
77
+ export type AssignCellPrototype<TConstructors extends FeatureConstructors> = <
78
+ TFeatures extends TableFeatures,
79
+ TData extends RowData,
80
+ >(
81
+ prototype: Record<string, any>,
82
+ table: Table_Internal<TFeatures, TData>,
83
+ ) => void
84
+
85
+ export type AssignColumnPrototype<TConstructors extends FeatureConstructors> = <
86
+ TFeatures extends TableFeatures,
87
+ TData extends RowData,
88
+ >(
89
+ prototype: Record<string, any>,
90
+ table: Table_Internal<TFeatures, TData>,
91
+ ) => void
92
+
93
+ export type AssignHeaderPrototype<TConstructors extends FeatureConstructors> = <
94
+ TFeatures extends TableFeatures,
95
+ TData extends RowData,
96
+ >(
97
+ prototype: Record<string, any>,
98
+ table: Table_Internal<TFeatures, TData>,
99
+ ) => void
100
+
101
+ export type AssignRowPrototype<TConstructors extends FeatureConstructors> = <
102
+ TFeatures extends TableFeatures,
103
+ TData extends RowData,
104
+ >(
105
+ prototype: Record<string, any>,
106
+ table: Table_Internal<TFeatures, TData>,
107
+ ) => void
108
+
109
+ export type InitRowInstanceData<TConstructors extends FeatureConstructors> = <
110
+ TFeatures extends TableFeatures,
111
+ TData extends RowData,
112
+ >(
113
+ row: Row<TFeatures, TData> & Partial<TConstructors['Row']>,
114
+ ) => void
115
+
116
+ export interface TableFeature<TConstructors extends FeatureConstructors> {
117
+ /**
118
+ * Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
119
+ * This is called once per table to build a shared prototype for all cells.
120
+ */
121
+ assignCellPrototype?: AssignCellPrototype<TConstructors>
122
+ /**
123
+ * Assigns Column APIs to the column prototype for memory-efficient method sharing.
124
+ * This is called once per table to build a shared prototype for all columns.
125
+ */
126
+ assignColumnPrototype?: AssignColumnPrototype<TConstructors>
127
+ /**
128
+ * Assigns Header APIs to the header prototype for memory-efficient method sharing.
129
+ * This is called once per table to build a shared prototype for all headers.
130
+ */
131
+ assignHeaderPrototype?: AssignHeaderPrototype<TConstructors>
132
+ /**
133
+ * Assigns Row APIs to the row prototype for memory-efficient method sharing.
134
+ * This is called once per table to build a shared prototype for all rows.
135
+ */
136
+ assignRowPrototype?: AssignRowPrototype<TConstructors>
137
+ /**
138
+ * Assigns Table APIs to the table instance.
139
+ * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
140
+ */
141
+ constructTableAPIs?: ConstructTableAPIs<TConstructors>
142
+ getDefaultColumnDef?: GetDefaultColumnDef<TConstructors>
143
+ getDefaultTableOptions?: GetDefaultTableOptions<TConstructors>
144
+ getInitialState?: GetInitialState<TConstructors>
145
+ /**
146
+ * Initializes instance-specific data on each row (e.g., caches).
147
+ * Methods should be assigned via assignRowPrototype instead.
148
+ */
149
+ initRowInstanceData?: InitRowInstanceData<TConstructors>
150
+ }
@@ -0,0 +1,125 @@
1
+ import type { CoreFeatures } from '../core/coreFeatures'
2
+ import type { TableOptions_Cell } from '../core/cells/coreCellsFeature.types'
3
+ import type { TableOptions_Columns } from '../core/columns/coreColumnsFeature.types'
4
+ import type { TableOptions_Rows } from '../core/rows/coreRowsFeature.types'
5
+ import type { TableOptions_Table } from '../core/table/coreTablesFeature.types'
6
+ import type { TableOptions_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
7
+ import type { TableOptions_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
8
+ import type { TableOptions_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types'
9
+ import type { TableOptions_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types'
10
+ import type { TableOptions_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
11
+ import type { TableOptions_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types'
12
+ import type { TableOptions_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types'
13
+ import type { TableOptions_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types'
14
+ import type { TableOptions_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types'
15
+ import type { TableOptions_RowPagination } from '../features/row-pagination/rowPaginationFeature.types'
16
+ import type { TableOptions_RowPinning } from '../features/row-pinning/rowPinningFeature.types'
17
+ import type { TableOptions_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
18
+ import type { TableOptions_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
19
+ import type { RowData, UnionToIntersection } from './type-utils'
20
+ import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
21
+
22
+ export interface TableOptions_Plugins<
23
+ TFeatures extends TableFeatures,
24
+ TData extends RowData,
25
+ > {}
26
+
27
+ export interface TableOptions_Core<
28
+ TFeatures extends TableFeatures,
29
+ TData extends RowData,
30
+ >
31
+ extends
32
+ TableOptions_Table<TFeatures, TData>,
33
+ TableOptions_Cell,
34
+ TableOptions_Columns<TFeatures, TData>,
35
+ TableOptions_Rows<TFeatures, TData> {}
36
+
37
+ type DebugKeysFor<TFeatures extends TableFeatures> = {
38
+ [K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean
39
+ }
40
+
41
+ export type DebugOptions<TFeatures extends TableFeatures> = {
42
+ debugAll?: boolean
43
+ debugCache?: boolean
44
+ debugCells?: boolean
45
+ debugColumns?: boolean
46
+ debugHeaders?: boolean
47
+ debugRows?: boolean
48
+ debugTable?: boolean
49
+ } & DebugKeysFor<CoreFeatures & TFeatures>
50
+
51
+ export type TableOptions<
52
+ TFeatures extends TableFeatures,
53
+ TData extends RowData,
54
+ > = TableOptions_Core<TFeatures, TData> &
55
+ UnionToIntersection<
56
+ | ('columnFilteringFeature' extends keyof TFeatures
57
+ ? TableOptions_ColumnFiltering<TFeatures, TData>
58
+ : never)
59
+ | ('columnGroupingFeature' extends keyof TFeatures
60
+ ? TableOptions_ColumnGrouping
61
+ : never)
62
+ | ('columnOrderingFeature' extends keyof TFeatures
63
+ ? TableOptions_ColumnOrdering
64
+ : never)
65
+ | ('columnPinningFeature' extends keyof TFeatures
66
+ ? TableOptions_ColumnPinning
67
+ : never)
68
+ | ('columnResizingFeature' extends keyof TFeatures
69
+ ? TableOptions_ColumnResizing
70
+ : never)
71
+ | ('columnSizingFeature' extends keyof TFeatures
72
+ ? TableOptions_ColumnSizing
73
+ : never)
74
+ | ('columnVisibilityFeature' extends keyof TFeatures
75
+ ? TableOptions_ColumnVisibility
76
+ : never)
77
+ | ('globalFilteringFeature' extends keyof TFeatures
78
+ ? TableOptions_GlobalFiltering<TFeatures, TData>
79
+ : never)
80
+ | ('rowExpandingFeature' extends keyof TFeatures
81
+ ? TableOptions_RowExpanding<TFeatures, TData>
82
+ : never)
83
+ | ('rowPaginationFeature' extends keyof TFeatures
84
+ ? TableOptions_RowPagination
85
+ : never)
86
+ | ('rowPinningFeature' extends keyof TFeatures
87
+ ? TableOptions_RowPinning<TFeatures, TData>
88
+ : never)
89
+ | ('rowSelectionFeature' extends keyof TFeatures
90
+ ? TableOptions_RowSelection<TFeatures, TData>
91
+ : never)
92
+ | ('rowSortingFeature' extends keyof TFeatures
93
+ ? TableOptions_RowSorting
94
+ : never)
95
+ > &
96
+ ExtractFeatureTypes<'TableOptions', TFeatures> &
97
+ TableOptions_Plugins<TFeatures, TData> &
98
+ DebugOptions<TFeatures>
99
+
100
+ // export type TableOptions<
101
+ // TFeatures extends TableFeatures,
102
+ // TData extends RowData,
103
+ // > = TableOptions_Core<TFeatures, TData> &
104
+ // ExtractFeatureTypes<'TableOptions', TFeatures> &
105
+ // TableOptions_Plugins<TFeatures, TData>
106
+
107
+ export type TableOptions_All<
108
+ TFeatures extends TableFeatures,
109
+ TData extends RowData,
110
+ > = TableOptions_Core<TFeatures, TData> &
111
+ Partial<
112
+ TableOptions_ColumnFiltering<TFeatures, TData> &
113
+ TableOptions_ColumnGrouping &
114
+ TableOptions_ColumnOrdering &
115
+ TableOptions_ColumnPinning &
116
+ TableOptions_ColumnResizing &
117
+ TableOptions_ColumnSizing &
118
+ TableOptions_ColumnVisibility &
119
+ TableOptions_GlobalFiltering<TFeatures, TData> &
120
+ TableOptions_RowExpanding<TFeatures, TData> &
121
+ TableOptions_RowPagination &
122
+ TableOptions_RowPinning<TFeatures, TData> &
123
+ TableOptions_RowSelection<TFeatures, TData> &
124
+ TableOptions_RowSorting
125
+ >
@@ -0,0 +1,88 @@
1
+ import type { UnionToIntersection } from './type-utils'
2
+ import type { TableState_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
3
+ import type { TableState_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
4
+ import type { TableState_ColumnOrdering } from '../features/column-ordering/columnOrderingFeature.types'
5
+ import type { TableState_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types'
6
+ import type { TableState_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
7
+ import type { TableState_ColumnSizing } from '../features/column-sizing/columnSizingFeature.types'
8
+ import type { TableState_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types'
9
+ import type { TableState_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types'
10
+ import type { TableState_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types'
11
+ import type { TableState_RowPagination } from '../features/row-pagination/rowPaginationFeature.types'
12
+ import type { TableState_RowPinning } from '../features/row-pinning/rowPinningFeature.types'
13
+ import type { TableState_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
14
+ import type { TableState_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
15
+ import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
16
+
17
+ /**
18
+ * Use this interface as a target for declaration merging to add your own state properties.
19
+ * Note: This will affect the types of all tables in your project.
20
+ */
21
+ export interface TableState_Plugins<TFeatures extends TableFeatures> {}
22
+
23
+ export type TableState<TFeatures extends TableFeatures> = UnionToIntersection<
24
+ | ('columnFilteringFeature' extends keyof TFeatures
25
+ ? TableState_ColumnFiltering
26
+ : never)
27
+ | ('columnGroupingFeature' extends keyof TFeatures
28
+ ? TableState_ColumnGrouping
29
+ : never)
30
+ | ('columnOrderingFeature' extends keyof TFeatures
31
+ ? TableState_ColumnOrdering
32
+ : never)
33
+ | ('columnPinningFeature' extends keyof TFeatures
34
+ ? TableState_ColumnPinning
35
+ : never)
36
+ | ('columnResizingFeature' extends keyof TFeatures
37
+ ? TableState_ColumnResizing
38
+ : never)
39
+ | ('columnSizingFeature' extends keyof TFeatures
40
+ ? TableState_ColumnSizing
41
+ : never)
42
+ | ('columnVisibilityFeature' extends keyof TFeatures
43
+ ? TableState_ColumnVisibility
44
+ : never)
45
+ | ('globalFilteringFeature' extends keyof TFeatures
46
+ ? TableState_GlobalFiltering
47
+ : never)
48
+ | ('rowExpandingFeature' extends keyof TFeatures
49
+ ? TableState_RowExpanding
50
+ : never)
51
+ | ('rowPaginationFeature' extends keyof TFeatures
52
+ ? TableState_RowPagination
53
+ : never)
54
+ | ('rowPinningFeature' extends keyof TFeatures
55
+ ? TableState_RowPinning
56
+ : never)
57
+ | ('rowSelectionFeature' extends keyof TFeatures
58
+ ? TableState_RowSelection
59
+ : never)
60
+ | ('rowSortingFeature' extends keyof TFeatures
61
+ ? TableState_RowSorting
62
+ : never)
63
+ > &
64
+ ExtractFeatureTypes<'TableState', TFeatures> &
65
+ TableState_Plugins<TFeatures>
66
+
67
+ // export type TableState<TFeatures extends TableFeatures> = ExtractFeatureTypes<
68
+ // export type TableState<TFeatures extends TableFeatures> = ExtractFeatureTypes<
69
+ // 'TableState',
70
+ // TFeatures
71
+ // > &
72
+ // TableState_Plugins<TFeatures>
73
+
74
+ export type TableState_All = Partial<
75
+ TableState_ColumnFiltering &
76
+ TableState_ColumnGrouping &
77
+ TableState_ColumnOrdering &
78
+ TableState_ColumnPinning &
79
+ TableState_ColumnResizing &
80
+ TableState_ColumnSizing &
81
+ TableState_ColumnVisibility &
82
+ TableState_GlobalFiltering &
83
+ TableState_RowExpanding &
84
+ TableState_RowPagination &
85
+ TableState_RowPinning &
86
+ TableState_RowSelection &
87
+ TableState_RowSorting
88
+ >
@@ -0,0 +1,84 @@
1
+ export type Updater<T> = T | ((old: T) => T)
2
+
3
+ export type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void
4
+
5
+ export type RowData = Record<string, any> | Array<any>
6
+
7
+ export type CellData = unknown
8
+
9
+ export type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
10
+
11
+ export type RequiredKeys<T, K extends keyof T> = Omit<T, K> &
12
+ Required<Pick<T, K>>
13
+
14
+ export type UnionToIntersection<T> = (
15
+ T extends any ? (x: T) => any : never
16
+ ) extends (x: infer R) => any
17
+ ? R
18
+ : never
19
+
20
+ type ComputeRange<
21
+ N extends number,
22
+ Result extends Array<unknown> = [],
23
+ > = Result['length'] extends N
24
+ ? Result
25
+ : ComputeRange<N, [...Result, Result['length']]>
26
+
27
+ type Index40 = ComputeRange<40>[number]
28
+
29
+ // Is this type a tuple?
30
+ type IsTuple<T> = T extends ReadonlyArray<any> & { length: infer Length }
31
+ ? Length extends Index40
32
+ ? T
33
+ : never
34
+ : never
35
+
36
+ // If this type is a tuple, what indices are allowed?
37
+ type AllowedIndexes<
38
+ Tuple extends ReadonlyArray<any>,
39
+ Keys extends number = never,
40
+ > = Tuple extends readonly []
41
+ ? Keys
42
+ : Tuple extends readonly [infer _, ...infer Tail]
43
+ ? AllowedIndexes<Tail, Keys | Tail['length']>
44
+ : Keys
45
+
46
+ export type DeepKeys<
47
+ T,
48
+ TDepth extends Array<any> = [],
49
+ > = TDepth['length'] extends 5
50
+ ? never
51
+ : unknown extends T
52
+ ? string
53
+ : T extends ReadonlyArray<any> & IsTuple<T>
54
+ ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth>
55
+ : T extends Array<any>
56
+ ? DeepKeys<T[number], [...TDepth, any]>
57
+ : T extends Date
58
+ ? never
59
+ : T extends object
60
+ ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth>
61
+ : never
62
+
63
+ type DeepKeysPrefix<
64
+ T,
65
+ TPrefix,
66
+ TDepth extends Array<any>,
67
+ > = TPrefix extends keyof T & (number | string)
68
+ ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}`
69
+ : never
70
+
71
+ export type DeepValue<T, TProp> =
72
+ T extends Record<string | number, any>
73
+ ? TProp extends `${infer TBranch}.${infer TDeepProp}`
74
+ ? DeepValue<T[TBranch], TDeepProp>
75
+ : T[TProp & string]
76
+ : never
77
+
78
+ export type NoInfer<T> = [T][T extends any ? 0 : never]
79
+
80
+ export type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>
81
+
82
+ export type Prettify<T> = {
83
+ [K in keyof T]: T[K]
84
+ } & unknown