@tanstack/table-core 9.0.0-alpha.10 → 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 -66
  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 -50
  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 -164
  336. package/dist/cjs/aggregationFns.cjs +0 -94
  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 -92
  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 -232
  355. package/dist/cjs/core/table.cjs.map +0 -1
  356. package/dist/cjs/core/table.d.cts +0 -229
  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 -133
  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 -307
  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 -152
  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 -161
  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 -132
  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 -296
  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 -200
  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 -88
  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 -35
  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 -37
  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 -88
  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 -98
  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 -94
  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 -92
  457. package/dist/esm/core/row.js.map +0 -1
  458. package/dist/esm/core/table.d.ts +0 -229
  459. package/dist/esm/core/table.js +0 -232
  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 -133
  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 -307
  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 -152
  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 -161
  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 -132
  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 -296
  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 -200
  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 -35
  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 -37
  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 -88
  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 -563
  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 -277
  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
package/src/types.ts DELETED
@@ -1,361 +0,0 @@
1
- import { CoreOptions, CoreTableState, CoreInstance } from './core/table'
2
- import {
3
- VisibilityInstance,
4
- VisibilityTableState,
5
- VisibilityColumn as ColumnVisibilityColumn,
6
- VisibilityOptions,
7
- VisibilityColumnDef,
8
- VisibilityRow,
9
- } from './features/ColumnVisibility'
10
- import {
11
- ColumnOrderColumn,
12
- ColumnOrderInstance,
13
- ColumnOrderOptions,
14
- ColumnOrderTableState,
15
- } from './features/ColumnOrdering'
16
- import {
17
- ColumnPinningColumn,
18
- ColumnPinningColumnDef,
19
- ColumnPinningInstance,
20
- ColumnPinningOptions,
21
- ColumnPinningRow,
22
- ColumnPinningTableState,
23
- } from './features/ColumnPinning'
24
- import {
25
- RowPinningInstance,
26
- RowPinningOptions,
27
- RowPinningRow,
28
- RowPinningTableState,
29
- } from './features/RowPinning'
30
- import {
31
- CoreHeader,
32
- CoreHeaderGroup,
33
- HeaderContext,
34
- HeadersInstance,
35
- } from './core/headers'
36
- import { FacetedColumn, FacetedOptions } from './features/ColumnFaceting'
37
- import { GlobalFacetingInstance } from './features/GlobalFaceting'
38
- import {
39
- ColumnFiltersColumn,
40
- ColumnFiltersColumnDef,
41
- ColumnFiltersInstance,
42
- ColumnFiltersOptions,
43
- ColumnFiltersRow,
44
- ColumnFiltersTableState,
45
- } from './features/ColumnFiltering'
46
- import {
47
- GlobalFilterColumn,
48
- GlobalFilterColumnDef,
49
- GlobalFilterInstance,
50
- GlobalFilterOptions,
51
- GlobalFilterTableState,
52
- } from './features/GlobalFiltering'
53
- import {
54
- SortingColumn,
55
- SortingColumnDef,
56
- SortingInstance,
57
- SortingOptions,
58
- SortingTableState,
59
- } from './features/RowSorting'
60
- import {
61
- GroupingCell,
62
- GroupingColumn,
63
- GroupingColumnDef,
64
- GroupingInstance,
65
- GroupingOptions,
66
- GroupingRow,
67
- GroupingTableState,
68
- } from './features/ColumnGrouping'
69
- import {
70
- ExpandedInstance,
71
- ExpandedOptions,
72
- ExpandedTableState,
73
- ExpandedRow,
74
- } from './features/RowExpanding'
75
- import {
76
- ColumnSizingColumn,
77
- ColumnSizingColumnDef,
78
- ColumnSizingHeader,
79
- ColumnSizingInstance,
80
- ColumnSizingOptions,
81
- ColumnSizingTableState,
82
- } from './features/ColumnSizing'
83
- import {
84
- PaginationInitialTableState,
85
- PaginationInstance,
86
- PaginationOptions,
87
- PaginationTableState,
88
- } from './features/RowPagination'
89
- import {
90
- RowSelectionInstance,
91
- RowSelectionOptions,
92
- RowSelectionRow,
93
- RowSelectionTableState,
94
- } from './features/RowSelection'
95
- import { CoreRow } from './core/row'
96
- import { PartialKeys, UnionToIntersection } from './utils'
97
- import { CellContext, CoreCell } from './core/cell'
98
- import { CoreColumn } from './core/column'
99
-
100
- export interface TableFeature<TData extends RowData = any> {
101
- _createCell?: (
102
- cell: Cell<TData, unknown>,
103
- column: Column<TData>,
104
- row: Row<TData>,
105
- table: Table<TData>
106
- ) => void
107
- _createColumn?: (column: Column<TData, unknown>, table: Table<TData>) => void
108
- _createHeader?: (header: Header<TData, unknown>, table: Table<TData>) => void
109
- _createRow?: (row: Row<TData>, table: Table<TData>) => void
110
- _createTable?: (table: Table<TData>) => void
111
- _getDefaultColumnDef?: () => Partial<ColumnDef<TData, unknown>>
112
- _getDefaultOptions?: (
113
- table: Table<TData>
114
- ) => Partial<TableOptionsResolved<TData>>
115
- _getInitialState?: (initialState?: InitialTableState) => Partial<TableState>
116
- }
117
-
118
- export interface TableMeta<TData extends RowData> {}
119
-
120
- export interface ColumnMeta<TData extends RowData, TValue> {}
121
-
122
- export interface FilterMeta {}
123
-
124
- export interface FilterFns {}
125
-
126
- export interface SortingFns {}
127
-
128
- export interface AggregationFns {}
129
-
130
- export type Updater<T> = T | ((old: T) => T)
131
- export type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void
132
-
133
- export type RowData = unknown | object | any[]
134
-
135
- export type AnyRender = (Comp: any, props: any) => any
136
-
137
- export interface Table<TData extends RowData>
138
- extends CoreInstance<TData>,
139
- HeadersInstance<TData>,
140
- VisibilityInstance<TData>,
141
- ColumnOrderInstance<TData>,
142
- ColumnPinningInstance<TData>,
143
- RowPinningInstance<TData>,
144
- ColumnFiltersInstance<TData>,
145
- GlobalFilterInstance<TData>,
146
- GlobalFacetingInstance<TData>,
147
- SortingInstance<TData>,
148
- GroupingInstance<TData>,
149
- ColumnSizingInstance,
150
- ExpandedInstance<TData>,
151
- PaginationInstance<TData>,
152
- RowSelectionInstance<TData> {}
153
-
154
- interface FeatureOptions<TData extends RowData>
155
- extends VisibilityOptions,
156
- ColumnOrderOptions,
157
- ColumnPinningOptions,
158
- RowPinningOptions<TData>,
159
- FacetedOptions<TData>,
160
- ColumnFiltersOptions<TData>,
161
- GlobalFilterOptions<TData>,
162
- SortingOptions<TData>,
163
- GroupingOptions,
164
- ExpandedOptions<TData>,
165
- ColumnSizingOptions,
166
- PaginationOptions,
167
- RowSelectionOptions<TData> {}
168
-
169
- export interface TableOptionsResolved<TData extends RowData>
170
- extends CoreOptions<TData>,
171
- FeatureOptions<TData> {}
172
-
173
- export interface TableOptions<TData extends RowData>
174
- extends PartialKeys<
175
- TableOptionsResolved<TData>,
176
- 'state' | 'onStateChange' | 'renderFallbackValue'
177
- > {}
178
-
179
- export interface TableState
180
- extends CoreTableState,
181
- VisibilityTableState,
182
- ColumnOrderTableState,
183
- ColumnPinningTableState,
184
- RowPinningTableState,
185
- ColumnFiltersTableState,
186
- GlobalFilterTableState,
187
- SortingTableState,
188
- ExpandedTableState,
189
- GroupingTableState,
190
- ColumnSizingTableState,
191
- PaginationTableState,
192
- RowSelectionTableState {}
193
-
194
- interface CompleteInitialTableState
195
- extends CoreTableState,
196
- VisibilityTableState,
197
- ColumnOrderTableState,
198
- ColumnPinningTableState,
199
- RowPinningTableState,
200
- ColumnFiltersTableState,
201
- GlobalFilterTableState,
202
- SortingTableState,
203
- ExpandedTableState,
204
- GroupingTableState,
205
- ColumnSizingTableState,
206
- PaginationInitialTableState,
207
- RowSelectionTableState {}
208
-
209
- export interface InitialTableState extends Partial<CompleteInitialTableState> {}
210
-
211
- export interface Row<TData extends RowData>
212
- extends CoreRow<TData>,
213
- VisibilityRow<TData>,
214
- ColumnPinningRow<TData>,
215
- RowPinningRow,
216
- ColumnFiltersRow<TData>,
217
- GroupingRow,
218
- RowSelectionRow,
219
- ExpandedRow {}
220
-
221
- export interface RowModel<TData extends RowData> {
222
- rows: Row<TData>[]
223
- flatRows: Row<TData>[]
224
- rowsById: Record<string, Row<TData>>
225
- }
226
-
227
- export type AccessorFn<TData extends RowData, TValue = unknown> = (
228
- originalRow: TData,
229
- index: number
230
- ) => TValue
231
-
232
- export type ColumnDefTemplate<TProps extends object> =
233
- | string
234
- | ((props: TProps) => any)
235
-
236
- export type StringOrTemplateHeader<TData, TValue> =
237
- | string
238
- | ColumnDefTemplate<HeaderContext<TData, TValue>>
239
-
240
- export interface StringHeaderIdentifier {
241
- header: string
242
- id?: string
243
- }
244
-
245
- export interface IdIdentifier<TData extends RowData, TValue> {
246
- id: string
247
- header?: StringOrTemplateHeader<TData, TValue>
248
- }
249
-
250
- type ColumnIdentifiers<TData extends RowData, TValue> =
251
- | IdIdentifier<TData, TValue>
252
- | StringHeaderIdentifier
253
-
254
- //
255
-
256
- interface ColumnDefExtensions<TData extends RowData, TValue = unknown>
257
- extends VisibilityColumnDef,
258
- ColumnPinningColumnDef,
259
- ColumnFiltersColumnDef<TData>,
260
- GlobalFilterColumnDef,
261
- SortingColumnDef<TData>,
262
- GroupingColumnDef<TData, TValue>,
263
- ColumnSizingColumnDef {}
264
-
265
- export interface ColumnDefBase<TData extends RowData, TValue = unknown>
266
- extends ColumnDefExtensions<TData, TValue> {
267
- getUniqueValues?: AccessorFn<TData, unknown[]>
268
- footer?: ColumnDefTemplate<HeaderContext<TData, TValue>>
269
- cell?: ColumnDefTemplate<CellContext<TData, TValue>>
270
- meta?: ColumnMeta<TData, TValue>
271
- }
272
-
273
- //
274
-
275
- export interface IdentifiedColumnDef<TData extends RowData, TValue = unknown>
276
- extends ColumnDefBase<TData, TValue> {
277
- id?: string
278
- header?: StringOrTemplateHeader<TData, TValue>
279
- }
280
-
281
- export type DisplayColumnDef<
282
- TData extends RowData,
283
- TValue = unknown,
284
- > = ColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>
285
-
286
- interface GroupColumnDefBase<TData extends RowData, TValue = unknown>
287
- extends ColumnDefBase<TData, TValue> {
288
- columns?: ColumnDef<TData, any>[]
289
- }
290
-
291
- export type GroupColumnDef<
292
- TData extends RowData,
293
- TValue = unknown,
294
- > = GroupColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>
295
-
296
- export interface AccessorFnColumnDefBase<
297
- TData extends RowData,
298
- TValue = unknown,
299
- > extends ColumnDefBase<TData, TValue> {
300
- accessorFn: AccessorFn<TData, TValue>
301
- }
302
-
303
- export type AccessorFnColumnDef<
304
- TData extends RowData,
305
- TValue = unknown,
306
- > = AccessorFnColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>
307
-
308
- export interface AccessorKeyColumnDefBase<
309
- TData extends RowData,
310
- TValue = unknown,
311
- > extends ColumnDefBase<TData, TValue> {
312
- id?: string
313
- accessorKey: (string & {}) | keyof TData
314
- }
315
-
316
- export type AccessorKeyColumnDef<
317
- TData extends RowData,
318
- TValue = unknown,
319
- > = AccessorKeyColumnDefBase<TData, TValue> &
320
- Partial<ColumnIdentifiers<TData, TValue>>
321
-
322
- export type AccessorColumnDef<TData extends RowData, TValue = unknown> =
323
- | AccessorKeyColumnDef<TData, TValue>
324
- | AccessorFnColumnDef<TData, TValue>
325
-
326
- //
327
-
328
- export type ColumnDef<TData extends RowData, TValue = unknown> =
329
- | DisplayColumnDef<TData, TValue>
330
- | GroupColumnDef<TData, TValue>
331
- | AccessorColumnDef<TData, TValue>
332
-
333
- export type ColumnDefResolved<
334
- TData extends RowData,
335
- TValue = unknown,
336
- > = Partial<UnionToIntersection<ColumnDef<TData, TValue>>> & {
337
- accessorKey?: string
338
- }
339
-
340
- export interface Column<TData extends RowData, TValue = unknown>
341
- extends CoreColumn<TData, TValue>,
342
- ColumnVisibilityColumn,
343
- ColumnPinningColumn,
344
- FacetedColumn<TData>,
345
- ColumnFiltersColumn<TData>,
346
- GlobalFilterColumn,
347
- SortingColumn<TData>,
348
- GroupingColumn<TData>,
349
- ColumnSizingColumn,
350
- ColumnOrderColumn {}
351
-
352
- export interface Cell<TData extends RowData, TValue>
353
- extends CoreCell<TData, TValue>,
354
- GroupingCell {}
355
-
356
- export interface Header<TData extends RowData, TValue>
357
- extends CoreHeader<TData, TValue>,
358
- ColumnSizingHeader {}
359
-
360
- export interface HeaderGroup<TData extends RowData>
361
- extends CoreHeaderGroup<TData> {}
@@ -1,130 +0,0 @@
1
- import { _createRow } from '../core/row'
2
- import { Row, RowModel, Table, RowData } from '../types'
3
-
4
- export function filterRows<TData extends RowData>(
5
- rows: Row<TData>[],
6
- filterRowImpl: (row: Row<TData>) => any,
7
- table: Table<TData>
8
- ) {
9
- if (table.options.filterFromLeafRows) {
10
- return filterRowModelFromLeafs(rows, filterRowImpl, table)
11
- }
12
-
13
- return filterRowModelFromRoot(rows, filterRowImpl, table)
14
- }
15
-
16
- function filterRowModelFromLeafs<TData extends RowData>(
17
- rowsToFilter: Row<TData>[],
18
- filterRow: (row: Row<TData>) => Row<TData>[],
19
- table: Table<TData>
20
- ): RowModel<TData> {
21
- const newFilteredFlatRows: Row<TData>[] = []
22
- const newFilteredRowsById: Record<string, Row<TData>> = {}
23
- const maxDepth = table.options.maxLeafRowFilterDepth ?? 100
24
-
25
- const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {
26
- const rows: Row<TData>[] = []
27
-
28
- // Filter from children up first
29
- for (let i = 0; i < rowsToFilter.length; i++) {
30
- let row = rowsToFilter[i]!
31
-
32
- const newRow = _createRow(
33
- table,
34
- row.id,
35
- row.original,
36
- row.index,
37
- row.depth,
38
- undefined,
39
- row.parentId
40
- )
41
- newRow.columnFilters = row.columnFilters
42
-
43
- if (row.subRows?.length && depth < maxDepth) {
44
- newRow.subRows = recurseFilterRows(row.subRows, depth + 1)
45
- row = newRow
46
-
47
- if (filterRow(row) && !newRow.subRows.length) {
48
- rows.push(row)
49
- newFilteredRowsById[row.id] = row
50
- newFilteredFlatRows.push(row)
51
- continue
52
- }
53
-
54
- if (filterRow(row) || newRow.subRows.length) {
55
- rows.push(row)
56
- newFilteredRowsById[row.id] = row
57
- newFilteredFlatRows.push(row)
58
- continue
59
- }
60
- } else {
61
- row = newRow
62
- if (filterRow(row)) {
63
- rows.push(row)
64
- newFilteredRowsById[row.id] = row
65
- newFilteredFlatRows.push(row)
66
- }
67
- }
68
- }
69
-
70
- return rows
71
- }
72
-
73
- return {
74
- rows: recurseFilterRows(rowsToFilter),
75
- flatRows: newFilteredFlatRows,
76
- rowsById: newFilteredRowsById,
77
- }
78
- }
79
-
80
- function filterRowModelFromRoot<TData extends RowData>(
81
- rowsToFilter: Row<TData>[],
82
- filterRow: (row: Row<TData>) => any,
83
- table: Table<TData>
84
- ): RowModel<TData> {
85
- const newFilteredFlatRows: Row<TData>[] = []
86
- const newFilteredRowsById: Record<string, Row<TData>> = {}
87
- const maxDepth = table.options.maxLeafRowFilterDepth ?? 100
88
-
89
- // Filters top level and nested rows
90
- const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {
91
- // Filter from parents downward first
92
-
93
- const rows: Row<TData>[] = []
94
-
95
- // Apply the filter to any subRows
96
- for (let i = 0; i < rowsToFilter.length; i++) {
97
- let row = rowsToFilter[i]!
98
-
99
- const pass = filterRow(row)
100
-
101
- if (pass) {
102
- if (row.subRows?.length && depth < maxDepth) {
103
- const newRow = _createRow(
104
- table,
105
- row.id,
106
- row.original,
107
- row.index,
108
- row.depth,
109
- undefined,
110
- row.parentId
111
- )
112
- newRow.subRows = recurseFilterRows(row.subRows, depth + 1)
113
- row = newRow
114
- }
115
-
116
- rows.push(row)
117
- newFilteredFlatRows.push(row)
118
- newFilteredRowsById[row.id] = row
119
- }
120
- }
121
-
122
- return rows
123
- }
124
-
125
- return {
126
- rows: recurseFilterRows(rowsToFilter),
127
- flatRows: newFilteredFlatRows,
128
- rowsById: newFilteredRowsById,
129
- }
130
- }
@@ -1,82 +0,0 @@
1
- import { _createRow } from '../core/row'
2
- import { Table, Row, RowModel, RowData } from '../types'
3
- import { getMemoOptions, memo } from '../utils'
4
-
5
- export function getCoreRowModel<TData extends RowData>(): (
6
- table: Table<TData>
7
- ) => () => RowModel<TData> {
8
- return table =>
9
- memo(
10
- () => [table.options.data],
11
- (
12
- data
13
- ): {
14
- rows: Row<TData>[]
15
- flatRows: Row<TData>[]
16
- rowsById: Record<string, Row<TData>>
17
- } => {
18
- const rowModel: RowModel<TData> = {
19
- rows: [],
20
- flatRows: [],
21
- rowsById: {},
22
- }
23
-
24
- const accessRows = (
25
- originalRows: TData[],
26
- depth = 0,
27
- parentRow?: Row<TData>
28
- ): Row<TData>[] => {
29
- const rows = [] as Row<TData>[]
30
-
31
- for (let i = 0; i < originalRows.length; i++) {
32
- // This could be an expensive check at scale, so we should move it somewhere else, but where?
33
- // if (!id) {
34
- // if (process.env.NODE_ENV !== 'production') {
35
- // throw new Error(`getRowId expected an ID, but got ${id}`)
36
- // }
37
- // }
38
-
39
- // Make the row
40
- const row = _createRow(
41
- table,
42
- table._getRowId(originalRows[i]!, i, parentRow),
43
- originalRows[i]!,
44
- i,
45
- depth,
46
- undefined,
47
- parentRow?.id
48
- )
49
-
50
- // Keep track of every row in a flat array
51
- rowModel.flatRows.push(row)
52
- // Also keep track of every row by its ID
53
- rowModel.rowsById[row.id] = row
54
- // Push table row into parent
55
- rows.push(row)
56
-
57
- // Get the original subrows
58
- if (table.options.getSubRows) {
59
- row.originalSubRows = table.options.getSubRows(
60
- originalRows[i]!,
61
- i
62
- )
63
-
64
- // Then recursively access them
65
- if (row.originalSubRows?.length) {
66
- row.subRows = accessRows(row.originalSubRows, depth + 1, row)
67
- }
68
- }
69
- }
70
-
71
- return rows
72
- }
73
-
74
- rowModel.rows = accessRows(data)
75
-
76
- return rowModel
77
- },
78
- getMemoOptions(table.options, 'debugTable', 'getRowModel', () =>
79
- table._autoResetPageIndex()
80
- )
81
- )
82
- }
@@ -1,51 +0,0 @@
1
- import { Table, Row, RowModel, RowData } from '../types'
2
- import { getMemoOptions, memo } from '../utils'
3
-
4
- export function getExpandedRowModel<TData extends RowData>(): (
5
- table: Table<TData>
6
- ) => () => RowModel<TData> {
7
- return table =>
8
- memo(
9
- () => [
10
- table.getState().expanded,
11
- table.getPreExpandedRowModel(),
12
- table.options.paginateExpandedRows,
13
- ],
14
- (expanded, rowModel, paginateExpandedRows) => {
15
- if (
16
- !rowModel.rows.length ||
17
- (expanded !== true && !Object.keys(expanded ?? {}).length)
18
- ) {
19
- return rowModel
20
- }
21
-
22
- if (!paginateExpandedRows) {
23
- // Only expand rows at this point if they are being paginated
24
- return rowModel
25
- }
26
-
27
- return expandRows(rowModel)
28
- },
29
- getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel')
30
- )
31
- }
32
-
33
- export function expandRows<TData extends RowData>(rowModel: RowModel<TData>) {
34
- const expandedRows: Row<TData>[] = []
35
-
36
- const handleRow = (row: Row<TData>) => {
37
- expandedRows.push(row)
38
-
39
- if (row.subRows?.length && row.getIsExpanded()) {
40
- row.subRows.forEach(handleRow)
41
- }
42
- }
43
-
44
- rowModel.rows.forEach(handleRow)
45
-
46
- return {
47
- rows: expandedRows,
48
- flatRows: rowModel.flatRows,
49
- rowsById: rowModel.rowsById,
50
- }
51
- }
@@ -1,42 +0,0 @@
1
- import { Table, RowData } from '../types'
2
- import { getMemoOptions, memo } from '../utils'
3
-
4
- export function getFacetedMinMaxValues<TData extends RowData>(): (
5
- table: Table<TData>,
6
- columnId: string
7
- ) => () => undefined | [number, number] {
8
- return (table, columnId) =>
9
- memo(
10
- () => [table.getColumn(columnId)?.getFacetedRowModel()],
11
- facetedRowModel => {
12
- if (!facetedRowModel) return undefined
13
-
14
- const firstValue =
15
- facetedRowModel.flatRows[0]?.getUniqueValues(columnId)
16
-
17
- if (typeof firstValue === 'undefined') {
18
- return undefined
19
- }
20
-
21
- let facetedMinMaxValues: [any, any] = [firstValue, firstValue]
22
-
23
- for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
24
- const values =
25
- facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)
26
-
27
- for (let j = 0; j < values.length; j++) {
28
- const value = values[j]!
29
-
30
- if (value < facetedMinMaxValues[0]) {
31
- facetedMinMaxValues[0] = value
32
- } else if (value > facetedMinMaxValues[1]) {
33
- facetedMinMaxValues[1] = value
34
- }
35
- }
36
- }
37
-
38
- return facetedMinMaxValues
39
- },
40
- getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues')
41
- )
42
- }
@@ -1,44 +0,0 @@
1
- import { Table, RowModel, Row, RowData } from '../types'
2
- import { getMemoOptions, memo } from '../utils'
3
- import { filterRows } from './filterRowsUtils'
4
-
5
- export function getFacetedRowModel<TData extends RowData>(): (
6
- table: Table<TData>,
7
- columnId: string
8
- ) => () => RowModel<TData> {
9
- return (table, columnId) =>
10
- memo(
11
- () => [
12
- table.getPreFilteredRowModel(),
13
- table.getState().columnFilters,
14
- table.getState().globalFilter,
15
- table.getFilteredRowModel(),
16
- ],
17
- (preRowModel, columnFilters, globalFilter) => {
18
- if (
19
- !preRowModel.rows.length ||
20
- (!columnFilters?.length && !globalFilter)
21
- ) {
22
- return preRowModel
23
- }
24
-
25
- const filterableIds = [
26
- ...columnFilters.map(d => d.id).filter(d => d !== columnId),
27
- globalFilter ? '__global__' : undefined,
28
- ].filter(Boolean) as string[]
29
-
30
- const filterRowsImpl = (row: Row<TData>) => {
31
- // Horizontally filter rows through each column
32
- for (let i = 0; i < filterableIds.length; i++) {
33
- if (row.columnFilters[filterableIds[i]!] === false) {
34
- return false
35
- }
36
- }
37
- return true
38
- }
39
-
40
- return filterRows(preRowModel.rows, filterRowsImpl, table)
41
- },
42
- getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel')
43
- )
44
- }