@tanstack/table-core 9.0.0-alpha.10 → 9.0.0-alpha.12

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 +62 -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 +89 -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
@@ -0,0 +1,60 @@
1
+ import { assignTableAPIs, assignPrototypeAPIs, makeStateUpdater } from "../../utils.js";
2
+ import { table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder, column_getIsLastColumn, column_getIsFirstColumn, column_getIndex, getDefaultColumnOrderState } from "./columnOrderingFeature.utils.js";
3
+ function constructColumnOrderingFeature() {
4
+ return {
5
+ getInitialState: (initialState) => {
6
+ return {
7
+ columnOrder: getDefaultColumnOrderState(),
8
+ ...initialState
9
+ };
10
+ },
11
+ getDefaultTableOptions: (table) => {
12
+ return {
13
+ onColumnOrderChange: makeStateUpdater("columnOrder", table)
14
+ };
15
+ },
16
+ assignColumnPrototype: (prototype, table) => {
17
+ assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
18
+ column_getIndex: {
19
+ fn: (column, position) => column_getIndex(column, position),
20
+ memoDeps: (column, position) => [
21
+ position,
22
+ column.table.store.state.columnOrder,
23
+ column.table.store.state.columnPinning,
24
+ column.table.store.state.grouping
25
+ ]
26
+ },
27
+ column_getIsFirstColumn: {
28
+ fn: (column, position) => column_getIsFirstColumn(column, position)
29
+ },
30
+ column_getIsLastColumn: {
31
+ fn: (column, position) => column_getIsLastColumn(column, position)
32
+ }
33
+ });
34
+ },
35
+ constructTableAPIs: (table) => {
36
+ assignTableAPIs("columnOrderingFeature", table, {
37
+ table_setColumnOrder: {
38
+ fn: (updater) => table_setColumnOrder(table, updater)
39
+ },
40
+ table_resetColumnOrder: {
41
+ fn: (defaultState) => table_resetColumnOrder(table, defaultState)
42
+ },
43
+ table_getOrderColumnsFn: {
44
+ fn: () => table_getOrderColumnsFn(table),
45
+ memoDeps: () => [
46
+ table.store.state.columnOrder,
47
+ table.store.state.grouping,
48
+ table.options.groupedColumnMode
49
+ ]
50
+ }
51
+ });
52
+ }
53
+ };
54
+ }
55
+ const columnOrderingFeature = constructColumnOrderingFeature();
56
+ export {
57
+ columnOrderingFeature,
58
+ constructColumnOrderingFeature
59
+ };
60
+ //# sourceMappingURL=columnOrderingFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnOrderingFeature.js","sources":["../../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnOrdering,\n// TableOptions_ColumnOrdering,\n// TableState_ColumnOrdering,\n// Table_ColumnOrdering,\n// } from './columnOrderingFeature.types'\n\ninterface ColumnOrderingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnOrdering\n // Table: Table_ColumnOrdering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnOrdering\n // TableState: TableState_ColumnOrdering\n}\n\nexport function constructColumnOrderingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.store.state.columnOrder,\n column.table.store.state.columnPinning,\n column.table.store.state.grouping,\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Ordering feature adds column ordering state and APIs to the table and column objects.\n */\nexport const columnOrderingFeature = constructColumnOrderingFeature()\n"],"names":[],"mappings":";;AAiCO,SAAS,iCAGuD;AACrE,SAAO;AAAA,IACL,iBAAiB,CAAC,iBAAiB;AACjC,aAAO;AAAA,QACL,aAAa,2BAAA;AAAA,QACb,GAAG;AAAA,MAAA;AAAA,IAEP;AAAA,IAEA,wBAAwB,CAAC,UAAU;AACjC,aAAO;AAAA,QACL,qBAAqB,iBAAiB,eAAe,KAAK;AAAA,MAAA;AAAA,IAE9D;AAAA,IAEA,uBAAuB,CAAC,WAAW,UAAU;AAC3C,0BAAoB,yBAAyB,WAAW,OAAO;AAAA,QAC7D,iBAAiB;AAAA,UACf,IAAI,CAAC,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;AAAA,UAC1D,UAAU,CAAC,QAAQ,aAAa;AAAA,YAC9B;AAAA,YACA,OAAO,MAAM,MAAM,MAAM;AAAA,YACzB,OAAO,MAAM,MAAM,MAAM;AAAA,YACzB,OAAO,MAAM,MAAM,MAAM;AAAA,UAAA;AAAA,QAC3B;AAAA,QAEF,yBAAyB;AAAA,UACvB,IAAI,CAAC,QAAQ,aAAa,wBAAwB,QAAQ,QAAQ;AAAA,QAAA;AAAA,QAEpE,wBAAwB;AAAA,UACtB,IAAI,CAAC,QAAQ,aAAa,uBAAuB,QAAQ,QAAQ;AAAA,QAAA;AAAA,MACnE,CACD;AAAA,IACH;AAAA,IAEA,oBAAoB,CAAC,UAAU;AAC7B,sBAAgB,yBAAyB,OAAO;AAAA,QAC9C,sBAAsB;AAAA,UACpB,IAAI,CAAC,YAAY,qBAAqB,OAAO,OAAO;AAAA,QAAA;AAAA,QAEtD,wBAAwB;AAAA,UACtB,IAAI,CAAC,iBAAiB,uBAAuB,OAAO,YAAY;AAAA,QAAA;AAAA,QAElE,yBAAyB;AAAA,UACvB,IAAI,MAAM,wBAAwB,KAAK;AAAA,UACvC,UAAU,MAAM;AAAA,YACd,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,QAAQ;AAAA,UAAA;AAAA,QAChB;AAAA,MACF,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;AAKO,MAAM,wBAAwB,+BAAA;"}
@@ -1,54 +1,40 @@
1
- import { Column, OnChangeFn, RowData, TableFeature, Updater } from '../types';
2
- import { ColumnPinningPosition } from '..';
3
-
4
- export interface ColumnOrderTableState {
1
+ import { OnChangeFn, RowData, Updater } from '../../types/type-utils.js';
2
+ import { TableFeatures } from '../../types/TableFeatures.js';
3
+ import { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types';
4
+ export type ColumnOrderState = Array<string>;
5
+ export interface TableState_ColumnOrdering {
5
6
  columnOrder: ColumnOrderState;
6
7
  }
7
- export type ColumnOrderState = string[];
8
- export interface ColumnOrderOptions {
8
+ export interface TableOptions_ColumnOrdering {
9
9
  /**
10
10
  * If provided, this function will be called with an `updaterFn` when `state.columnOrder` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
11
- * @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#oncolumnorderchange)
12
- * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
13
11
  */
14
12
  onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
15
13
  }
16
- export interface ColumnOrderColumn {
14
+ export interface Column_ColumnOrdering {
17
15
  /**
18
16
  * Returns the index of the column in the order of the visible columns. Optionally pass a `position` parameter to get the index of the column in a sub-section of the table
19
- * @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#getindex)
20
- * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
21
17
  */
22
18
  getIndex: (position?: ColumnPinningPosition | 'center') => number;
23
19
  /**
24
20
  * Returns `true` if the column is the first column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the first in a sub-section of the table.
25
- * @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#getisfirstcolumn)
26
- * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
27
21
  */
28
22
  getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
29
23
  /**
30
24
  * Returns `true` if the column is the last column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the last in a sub-section of the table.
31
- * @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#getislastcolumn)
32
- * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
33
25
  */
34
26
  getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
35
27
  }
36
28
  export interface ColumnOrderDefaultOptions {
37
29
  onColumnOrderChange: OnChangeFn<ColumnOrderState>;
38
30
  }
39
- export interface ColumnOrderInstance<TData extends RowData> {
40
- _getOrderColumnsFn: () => (columns: Column<TData, unknown>[]) => Column<TData, unknown>[];
31
+ export interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
41
32
  /**
42
33
  * Resets the **columnOrder** state to `initialState.columnOrder`, or `true` can be passed to force a default blank state reset to `[]`.
43
- * @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#resetcolumnorder)
44
- * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
45
34
  */
46
35
  resetColumnOrder: (defaultState?: boolean) => void;
47
36
  /**
48
37
  * Sets or updates the `state.columnOrder` state.
49
- * @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#setcolumnorder)
50
- * @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
51
38
  */
52
39
  setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
53
40
  }
54
- export declare const ColumnOrdering: TableFeature;
@@ -0,0 +1,14 @@
1
+ import { CellData, RowData, Updater } from '../../types/type-utils.js';
2
+ import { TableFeatures } from '../../types/TableFeatures.js';
3
+ import { Table_Internal } from '../../types/Table.js';
4
+ import { Column_Internal } from '../../types/Column.js';
5
+ import { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types';
6
+ import { ColumnOrderState } from './columnOrderingFeature.types';
7
+ export declare function getDefaultColumnOrderState(): ColumnOrderState;
8
+ export declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
9
+ export declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
10
+ export declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
11
+ export declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>): void;
12
+ export declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
13
+ export declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => Column_Internal<TFeatures, TData, unknown>[];
14
+ export declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>): Column_Internal<TFeatures, TData, unknown>[];
@@ -0,0 +1,72 @@
1
+ import { table_getPinnedVisibleLeafColumns } from "../column-pinning/columnPinningFeature.utils.js";
2
+ function getDefaultColumnOrderState() {
3
+ return structuredClone([]);
4
+ }
5
+ function column_getIndex(column, position) {
6
+ const columns = table_getPinnedVisibleLeafColumns(column.table, position);
7
+ return columns.findIndex((d) => d.id === column.id);
8
+ }
9
+ function column_getIsFirstColumn(column, position) {
10
+ const columns = table_getPinnedVisibleLeafColumns(column.table, position);
11
+ return columns[0]?.id === column.id;
12
+ }
13
+ function column_getIsLastColumn(column, position) {
14
+ const columns = table_getPinnedVisibleLeafColumns(column.table, position);
15
+ return columns[columns.length - 1]?.id === column.id;
16
+ }
17
+ function table_setColumnOrder(table, updater) {
18
+ table.options.onColumnOrderChange?.(updater);
19
+ }
20
+ function table_resetColumnOrder(table, defaultState) {
21
+ table_setColumnOrder(
22
+ table,
23
+ defaultState ? [] : table.initialState.columnOrder ?? []
24
+ );
25
+ }
26
+ function table_getOrderColumnsFn(table) {
27
+ const { columnOrder = [] } = table.store.state;
28
+ return (columns) => {
29
+ let orderedColumns = [];
30
+ if (!columnOrder.length) {
31
+ orderedColumns = columns;
32
+ } else {
33
+ const columnOrderCopy = [...columnOrder];
34
+ const columnsCopy = [...columns];
35
+ while (columnsCopy.length && columnOrderCopy.length) {
36
+ const targetColumnId = columnOrderCopy.shift();
37
+ const foundIndex = columnsCopy.findIndex((d) => d.id === targetColumnId);
38
+ if (foundIndex > -1) {
39
+ orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
40
+ }
41
+ }
42
+ orderedColumns = [...orderedColumns, ...columnsCopy];
43
+ }
44
+ return orderColumns(table, orderedColumns);
45
+ };
46
+ }
47
+ function orderColumns(table, leafColumns) {
48
+ const grouping = table.store.state.grouping ?? [];
49
+ const { groupedColumnMode } = table.options;
50
+ if (!grouping.length || !groupedColumnMode) {
51
+ return leafColumns;
52
+ }
53
+ const nonGroupingColumns = leafColumns.filter(
54
+ (col) => !grouping.includes(col.id)
55
+ );
56
+ if (groupedColumnMode === "remove") {
57
+ return nonGroupingColumns;
58
+ }
59
+ const groupingColumns = grouping.map((g) => leafColumns.find((col) => col.id === g)).filter(Boolean);
60
+ return [...groupingColumns, ...nonGroupingColumns];
61
+ }
62
+ export {
63
+ column_getIndex,
64
+ column_getIsFirstColumn,
65
+ column_getIsLastColumn,
66
+ getDefaultColumnOrderState,
67
+ orderColumns,
68
+ table_getOrderColumnsFn,
69
+ table_resetColumnOrder,
70
+ table_setColumnOrder
71
+ };
72
+ //# sourceMappingURL=columnOrderingFeature.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnOrderingFeature.utils.js","sources":["../../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { ColumnOrderState } from './columnOrderingFeature.types'\n\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return structuredClone([])\n}\n\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns.findIndex((d) => d.id === column.id)\n}\n\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : (table.initialState.columnOrder ?? []),\n )\n}\n\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { columnOrder = [] } = table.store.state\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder.length) {\n orderedColumns = columns\n } else {\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex((d) => d.id === targetColumnId)\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.store.state.grouping ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map((g) => leafColumns.find((col) => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":[],"mappings":";AASO,SAAS,6BAA+C;AAC7D,SAAO,gBAAgB,CAAA,CAAE;AAC3B;AAEO,SAAS,gBAKd,QACA,UACA;AACA,QAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;AACxE,SAAO,QAAQ,UAAU,CAAC,MAAM,EAAE,OAAO,OAAO,EAAE;AACpD;AAEO,SAAS,wBAKd,QACA,UACA;AACA,QAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;AACxE,SAAO,QAAQ,CAAC,GAAG,OAAO,OAAO;AACnC;AAEO,SAAS,uBAKd,QACA,UACA;AACA,QAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;AACxE,SAAO,QAAQ,QAAQ,SAAS,CAAC,GAAG,OAAO,OAAO;AACpD;AAEO,SAAS,qBAGd,OAAyC,SAAoC;AAC7E,QAAM,QAAQ,sBAAsB,OAAO;AAC7C;AAEO,SAAS,uBAGd,OAAyC,cAAwB;AACjE;AAAA,IACE;AAAA,IACA,eAAe,CAAA,IAAM,MAAM,aAAa,eAAe,CAAA;AAAA,EAAC;AAE5D;AAEO,SAAS,wBAGd,OAAyC;AACzC,QAAM,EAAE,cAAc,CAAA,EAAC,IAAM,MAAM,MAAM;AAEzC,SAAO,CAAC,YAA+D;AAGrE,QAAI,iBAAoE,CAAA;AAGxE,QAAI,CAAC,YAAY,QAAQ;AACvB,uBAAiB;AAAA,IACnB,OAAO;AACL,YAAM,kBAAkB,CAAC,GAAG,WAAW;AAGvC,YAAM,cAAc,CAAC,GAAG,OAAO;AAK/B,aAAO,YAAY,UAAU,gBAAgB,QAAQ;AACnD,cAAM,iBAAiB,gBAAgB,MAAA;AACvC,cAAM,aAAa,YAAY,UAAU,CAAC,MAAM,EAAE,OAAO,cAAc;AACvE,YAAI,aAAa,IAAI;AACnB,yBAAe,KAAK,YAAY,OAAO,YAAY,CAAC,EAAE,CAAC,CAAE;AAAA,QAC3D;AAAA,MACF;AAGA,uBAAiB,CAAC,GAAG,gBAAgB,GAAG,WAAW;AAAA,IACrD;AAEA,WAAO,aAAa,OAAO,cAAc;AAAA,EAC3C;AACF;AAEO,SAAS,aAId,OACA,aACA;AACA,QAAM,WAAW,MAAM,MAAM,MAAM,YAAa,CAAA;AAChD,QAAM,EAAE,sBAAsB,MAAM;AAEpC,MAAI,CAAC,SAAS,UAAU,CAAC,mBAAmB;AAC1C,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,YAAY;AAAA,IACrC,CAAC,QAAQ,CAAC,SAAS,SAAS,IAAI,EAAE;AAAA,EAAA;AAGpC,MAAI,sBAAsB,UAAU;AAClC,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB,SACrB,IAAI,CAAC,MAAM,YAAY,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAE,EACnD,OAAO,OAAO;AAEjB,SAAO,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;AACnD;"}
@@ -0,0 +1,10 @@
1
+ import { RowData } from '../../types/type-utils.js';
2
+ import { TableFeature, TableFeatures } from '../../types/TableFeatures.js';
3
+ interface ColumnPinningFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {
4
+ }
5
+ export declare function constructColumnPinningFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnPinningFeatureConstructors<TFeatures, TData>>;
6
+ /**
7
+ * The Column Pinning feature adds column pinning state and APIs to the table, row, and column objects.
8
+ */
9
+ export declare const columnPinningFeature: TableFeature<ColumnPinningFeatureConstructors<TableFeatures, RowData>>;
10
+ export {};
@@ -0,0 +1,260 @@
1
+ import { assignTableAPIs, callMemoOrStaticFn, assignPrototypeAPIs, makeStateUpdater } from "../../utils.js";
2
+ import { table_getVisibleLeafColumns } from "../column-visibility/columnVisibilityFeature.utils.js";
3
+ import { table_getRightVisibleLeafColumns, table_getCenterVisibleLeafColumns, table_getLeftVisibleLeafColumns, table_getCenterLeafColumns, table_getRightLeafColumns, table_getLeftLeafColumns, table_getCenterLeafHeaders, table_getRightLeafHeaders, table_getLeftLeafHeaders, table_getCenterFlatHeaders, table_getRightFlatHeaders, table_getLeftFlatHeaders, table_getRightFooterGroups, table_getCenterFooterGroups, table_getLeftFooterGroups, table_getRightHeaderGroups, table_getCenterHeaderGroups, table_getLeftHeaderGroups, table_getIsSomeColumnsPinned, table_resetColumnPinning, table_setColumnPinning, row_getRightVisibleCells, row_getLeftVisibleCells, row_getCenterVisibleCells, column_getIsPinned, column_getPinnedIndex, column_getCanPin, column_pin, getDefaultColumnPinningState } from "./columnPinningFeature.utils.js";
4
+ function constructColumnPinningFeature() {
5
+ return {
6
+ getInitialState: (initialState) => {
7
+ return {
8
+ columnPinning: {
9
+ ...getDefaultColumnPinningState(),
10
+ ...initialState.columnPinning
11
+ }
12
+ };
13
+ },
14
+ getDefaultTableOptions: (table) => {
15
+ return {
16
+ onColumnPinningChange: makeStateUpdater("columnPinning", table)
17
+ };
18
+ },
19
+ assignColumnPrototype: (prototype, table) => {
20
+ assignPrototypeAPIs("columnPinningFeature", prototype, table, {
21
+ column_pin: {
22
+ fn: (column, position) => column_pin(column, position)
23
+ },
24
+ column_getCanPin: {
25
+ fn: (column) => column_getCanPin(column)
26
+ },
27
+ column_getPinnedIndex: {
28
+ fn: (column) => column_getPinnedIndex(column)
29
+ },
30
+ column_getIsPinned: {
31
+ fn: (column) => column_getIsPinned(column)
32
+ }
33
+ });
34
+ },
35
+ assignRowPrototype: (prototype, table) => {
36
+ assignPrototypeAPIs("columnPinningFeature", prototype, table, {
37
+ row_getCenterVisibleCells: {
38
+ fn: (row) => row_getCenterVisibleCells(row),
39
+ memoDeps: (row) => [
40
+ row.getAllCells(),
41
+ row.table.store.state.columnPinning,
42
+ row.table.store.state.columnVisibility
43
+ ]
44
+ },
45
+ row_getLeftVisibleCells: {
46
+ fn: (row) => row_getLeftVisibleCells(row),
47
+ memoDeps: (row) => [
48
+ row.getAllCells(),
49
+ row.table.store.state.columnPinning?.left,
50
+ row.table.store.state.columnVisibility
51
+ ]
52
+ },
53
+ row_getRightVisibleCells: {
54
+ fn: (row) => row_getRightVisibleCells(row),
55
+ memoDeps: (row) => [
56
+ row.getAllCells(),
57
+ row.table.store.state.columnPinning?.right,
58
+ row.table.store.state.columnVisibility
59
+ ]
60
+ }
61
+ });
62
+ },
63
+ constructTableAPIs: (table) => {
64
+ assignTableAPIs("columnPinningFeature", table, {
65
+ table_setColumnPinning: {
66
+ fn: (updater) => table_setColumnPinning(table, updater)
67
+ },
68
+ table_resetColumnPinning: {
69
+ fn: (defaultState) => table_resetColumnPinning(table, defaultState)
70
+ },
71
+ table_getIsSomeColumnsPinned: {
72
+ fn: (position) => table_getIsSomeColumnsPinned(table, position)
73
+ },
74
+ // header groups
75
+ table_getLeftHeaderGroups: {
76
+ fn: () => table_getLeftHeaderGroups(table),
77
+ memoDeps: () => [
78
+ table.getAllColumns(),
79
+ callMemoOrStaticFn(
80
+ table,
81
+ "getVisibleLeafColumns",
82
+ table_getVisibleLeafColumns
83
+ ),
84
+ table.store.state.columnPinning?.left
85
+ ]
86
+ },
87
+ table_getCenterHeaderGroups: {
88
+ fn: () => table_getCenterHeaderGroups(table),
89
+ memoDeps: () => [
90
+ table.getAllColumns(),
91
+ callMemoOrStaticFn(
92
+ table,
93
+ "getVisibleLeafColumns",
94
+ table_getVisibleLeafColumns
95
+ ),
96
+ table.store.state.columnPinning
97
+ ]
98
+ },
99
+ table_getRightHeaderGroups: {
100
+ fn: () => table_getRightHeaderGroups(table),
101
+ memoDeps: () => [
102
+ table.getAllColumns(),
103
+ callMemoOrStaticFn(
104
+ table,
105
+ "getVisibleLeafColumns",
106
+ table_getVisibleLeafColumns
107
+ ),
108
+ table.store.state.columnPinning?.right
109
+ ]
110
+ },
111
+ // footer groups
112
+ table_getLeftFooterGroups: {
113
+ fn: () => table_getLeftFooterGroups(table),
114
+ memoDeps: () => [
115
+ callMemoOrStaticFn(
116
+ table,
117
+ "getLeftHeaderGroups",
118
+ table_getLeftHeaderGroups
119
+ )
120
+ ]
121
+ },
122
+ table_getCenterFooterGroups: {
123
+ fn: () => table_getCenterFooterGroups(table),
124
+ memoDeps: () => [
125
+ callMemoOrStaticFn(
126
+ table,
127
+ "getCenterHeaderGroups",
128
+ table_getCenterHeaderGroups
129
+ )
130
+ ]
131
+ },
132
+ table_getRightFooterGroups: {
133
+ fn: () => table_getRightFooterGroups(table),
134
+ memoDeps: () => [
135
+ callMemoOrStaticFn(
136
+ table,
137
+ "getRightHeaderGroups",
138
+ table_getRightHeaderGroups
139
+ )
140
+ ]
141
+ },
142
+ // flat headers
143
+ table_getLeftFlatHeaders: {
144
+ fn: () => table_getLeftFlatHeaders(table),
145
+ memoDeps: () => [
146
+ callMemoOrStaticFn(
147
+ table,
148
+ "getLeftHeaderGroups",
149
+ table_getLeftHeaderGroups
150
+ )
151
+ ]
152
+ },
153
+ table_getRightFlatHeaders: {
154
+ fn: () => table_getRightFlatHeaders(table),
155
+ memoDeps: () => [
156
+ callMemoOrStaticFn(
157
+ table,
158
+ "getRightHeaderGroups",
159
+ table_getRightHeaderGroups
160
+ )
161
+ ]
162
+ },
163
+ table_getCenterFlatHeaders: {
164
+ fn: () => table_getCenterFlatHeaders(table),
165
+ memoDeps: () => [
166
+ callMemoOrStaticFn(
167
+ table,
168
+ "getCenterHeaderGroups",
169
+ table_getCenterHeaderGroups
170
+ )
171
+ ]
172
+ },
173
+ // leaf headers
174
+ table_getLeftLeafHeaders: {
175
+ fn: () => table_getLeftLeafHeaders(table),
176
+ memoDeps: () => [
177
+ callMemoOrStaticFn(
178
+ table,
179
+ "getLeftHeaderGroups",
180
+ table_getLeftHeaderGroups
181
+ )
182
+ ]
183
+ },
184
+ table_getRightLeafHeaders: {
185
+ fn: () => table_getRightLeafHeaders(table),
186
+ memoDeps: () => [
187
+ callMemoOrStaticFn(
188
+ table,
189
+ "getRightHeaderGroups",
190
+ table_getRightHeaderGroups
191
+ )
192
+ ]
193
+ },
194
+ table_getCenterLeafHeaders: {
195
+ fn: () => table_getCenterLeafHeaders(table),
196
+ memoDeps: () => [
197
+ callMemoOrStaticFn(
198
+ table,
199
+ "getCenterHeaderGroups",
200
+ table_getCenterHeaderGroups
201
+ )
202
+ ]
203
+ },
204
+ // leaf columns
205
+ table_getLeftLeafColumns: {
206
+ fn: () => table_getLeftLeafColumns(table),
207
+ memoDeps: () => [
208
+ table.options.columns,
209
+ table.store.state.columnPinning
210
+ ]
211
+ },
212
+ table_getRightLeafColumns: {
213
+ fn: () => table_getRightLeafColumns(table),
214
+ memoDeps: () => [
215
+ table.options.columns,
216
+ table.store.state.columnPinning
217
+ ]
218
+ },
219
+ table_getCenterLeafColumns: {
220
+ fn: () => table_getCenterLeafColumns(table),
221
+ memoDeps: () => [
222
+ table.options.columns,
223
+ table.store.state.columnPinning
224
+ ]
225
+ },
226
+ // visible leaf columns
227
+ table_getLeftVisibleLeafColumns: {
228
+ fn: () => table_getLeftVisibleLeafColumns(table),
229
+ memoDeps: () => [
230
+ table.options.columns,
231
+ table.store.state.columnPinning,
232
+ table.store.state.columnVisibility
233
+ ]
234
+ },
235
+ table_getCenterVisibleLeafColumns: {
236
+ fn: () => table_getCenterVisibleLeafColumns(table),
237
+ memoDeps: () => [
238
+ table.options.columns,
239
+ table.store.state.columnPinning,
240
+ table.store.state.columnVisibility
241
+ ]
242
+ },
243
+ table_getRightVisibleLeafColumns: {
244
+ fn: () => table_getRightVisibleLeafColumns(table),
245
+ memoDeps: () => [
246
+ table.options.columns,
247
+ table.store.state.columnPinning,
248
+ table.store.state.columnVisibility
249
+ ]
250
+ }
251
+ });
252
+ }
253
+ };
254
+ }
255
+ const columnPinningFeature = constructColumnPinningFeature();
256
+ export {
257
+ columnPinningFeature,
258
+ constructColumnPinningFeature
259
+ };
260
+ //# sourceMappingURL=columnPinningFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnPinningFeature.js","sources":["../../../../src/features/column-pinning/columnPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n makeStateUpdater,\n} from '../../utils'\nimport { table_getVisibleLeafColumns } from '../column-visibility/columnVisibilityFeature.utils'\nimport {\n column_getCanPin,\n column_getIsPinned,\n column_getPinnedIndex,\n column_pin,\n getDefaultColumnPinningState,\n row_getCenterVisibleCells,\n row_getLeftVisibleCells,\n row_getRightVisibleCells,\n table_getCenterFlatHeaders,\n table_getCenterFooterGroups,\n table_getCenterHeaderGroups,\n table_getCenterLeafColumns,\n table_getCenterLeafHeaders,\n table_getCenterVisibleLeafColumns,\n table_getIsSomeColumnsPinned,\n table_getLeftFlatHeaders,\n table_getLeftFooterGroups,\n table_getLeftHeaderGroups,\n table_getLeftLeafColumns,\n table_getLeftLeafHeaders,\n table_getLeftVisibleLeafColumns,\n table_getRightFlatHeaders,\n table_getRightFooterGroups,\n table_getRightHeaderGroups,\n table_getRightLeafColumns,\n table_getRightLeafHeaders,\n table_getRightVisibleLeafColumns,\n table_resetColumnPinning,\n table_setColumnPinning,\n} from './columnPinningFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnPinning,\n// Column_ColumnPinning,\n// Row_ColumnPinning,\n// TableOptions_ColumnPinning,\n// TableState_ColumnPinning,\n// Table_ColumnPinning,\n// } from './columnPinningFeature.types'\n\ninterface ColumnPinningFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnPinning\n // ColumnDef: ColumnDef_ColumnPinning\n // Row: Row_ColumnPinning<TFeatures, TData>\n // Table: Table_ColumnPinning<TFeatures, TData>\n // TableOptions: TableOptions_ColumnPinning\n // TableState: TableState_ColumnPinning\n}\n\nexport function constructColumnPinningFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnPinningFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnPinning: {\n ...getDefaultColumnPinningState(),\n ...initialState.columnPinning,\n },\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n column_pin: {\n fn: (column, position) => column_pin(column, position),\n },\n column_getCanPin: {\n fn: (column) => column_getCanPin(column),\n },\n column_getPinnedIndex: {\n fn: (column) => column_getPinnedIndex(column),\n },\n column_getIsPinned: {\n fn: (column) => column_getIsPinned(column),\n },\n })\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n row_getCenterVisibleCells: {\n fn: (row) => row_getCenterVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.store.state.columnPinning,\n row.table.store.state.columnVisibility,\n ],\n },\n row_getLeftVisibleCells: {\n fn: (row) => row_getLeftVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.store.state.columnPinning?.left,\n row.table.store.state.columnVisibility,\n ],\n },\n row_getRightVisibleCells: {\n fn: (row) => row_getRightVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.store.state.columnPinning?.right,\n row.table.store.state.columnVisibility,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnPinningFeature', table, {\n table_setColumnPinning: {\n fn: (updater) => table_setColumnPinning(table, updater),\n },\n table_resetColumnPinning: {\n fn: (defaultState) => table_resetColumnPinning(table, defaultState),\n },\n table_getIsSomeColumnsPinned: {\n fn: (position) => table_getIsSomeColumnsPinned(table, position),\n },\n // header groups\n table_getLeftHeaderGroups: {\n fn: () => table_getLeftHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.store.state.columnPinning?.left,\n ],\n },\n table_getCenterHeaderGroups: {\n fn: () => table_getCenterHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.store.state.columnPinning,\n ],\n },\n table_getRightHeaderGroups: {\n fn: () => table_getRightHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.store.state.columnPinning?.right,\n ],\n },\n // footer groups\n table_getLeftFooterGroups: {\n fn: () => table_getLeftFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getCenterFooterGroups: {\n fn: () => table_getCenterFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n table_getRightFooterGroups: {\n fn: () => table_getRightFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n // flat headers\n table_getLeftFlatHeaders: {\n fn: () => table_getLeftFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getRightFlatHeaders: {\n fn: () => table_getRightFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n table_getCenterFlatHeaders: {\n fn: () => table_getCenterFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf headers\n table_getLeftLeafHeaders: {\n fn: () => table_getLeftLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getRightLeafHeaders: {\n fn: () => table_getRightLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n table_getCenterLeafHeaders: {\n fn: () => table_getCenterLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf columns\n table_getLeftLeafColumns: {\n fn: () => table_getLeftLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n ],\n },\n table_getRightLeafColumns: {\n fn: () => table_getRightLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n ],\n },\n table_getCenterLeafColumns: {\n fn: () => table_getCenterLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n ],\n },\n // visible leaf columns\n table_getLeftVisibleLeafColumns: {\n fn: () => table_getLeftVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n ],\n },\n table_getCenterVisibleLeafColumns: {\n fn: () => table_getCenterVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n ],\n },\n table_getRightVisibleLeafColumns: {\n fn: () => table_getRightVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Pinning feature adds column pinning state and APIs to the table, row, and column objects.\n */\nexport const columnPinningFeature = constructColumnPinningFeature()\n"],"names":[],"mappings":"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"}