@simple-table/react 3.0.0-beta.8

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 (349) hide show
  1. package/dist/cjs/core/src/consts/column-constraints.d.ts +58 -0
  2. package/dist/cjs/core/src/consts/general-consts.d.ts +13 -0
  3. package/dist/cjs/core/src/core/SimpleTableVanilla.d.ts +71 -0
  4. package/dist/cjs/core/src/core/api/TableAPIImpl.d.ts +44 -0
  5. package/dist/cjs/core/src/core/dom/DOMManager.d.ts +50 -0
  6. package/dist/cjs/core/src/core/initialization/TableInitializer.d.ts +30 -0
  7. package/dist/cjs/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
  8. package/dist/cjs/core/src/core/rendering/SectionRenderer.d.ts +61 -0
  9. package/dist/cjs/core/src/core/rendering/TableRenderer.d.ts +89 -0
  10. package/dist/cjs/core/src/hooks/ariaAnnouncements.d.ts +37 -0
  11. package/dist/cjs/core/src/hooks/contentHeight.d.ts +23 -0
  12. package/dist/cjs/core/src/hooks/expandedDepths.d.ts +65 -0
  13. package/dist/cjs/core/src/hooks/handleOutsideClick.d.ts +50 -0
  14. package/dist/cjs/core/src/hooks/previousValue.d.ts +30 -0
  15. package/dist/cjs/core/src/hooks/scrollbarVisibility.d.ts +65 -0
  16. package/dist/cjs/core/src/hooks/scrollbarWidth.d.ts +52 -0
  17. package/dist/cjs/core/src/hooks/useAggregatedRows.d.ts +14 -0
  18. package/dist/cjs/core/src/hooks/useQuickFilter.d.ts +14 -0
  19. package/dist/cjs/core/src/hooks/windowResize.d.ts +31 -0
  20. package/dist/cjs/core/src/icons/AngleDownIcon.d.ts +1 -0
  21. package/dist/cjs/core/src/icons/AngleLeftIcon.d.ts +1 -0
  22. package/dist/cjs/core/src/icons/AngleRightIcon.d.ts +1 -0
  23. package/dist/cjs/core/src/icons/AngleUpIcon.d.ts +1 -0
  24. package/dist/cjs/core/src/icons/AscIcon.d.ts +1 -0
  25. package/dist/cjs/core/src/icons/CheckIcon.d.ts +1 -0
  26. package/dist/cjs/core/src/icons/DescIcon.d.ts +1 -0
  27. package/dist/cjs/core/src/icons/DragIcon.d.ts +1 -0
  28. package/dist/cjs/core/src/icons/FilterIcon.d.ts +1 -0
  29. package/dist/cjs/core/src/icons/SelectIcon.d.ts +1 -0
  30. package/dist/cjs/core/src/icons/index.d.ts +14 -0
  31. package/dist/cjs/core/src/index.d.ts +48 -0
  32. package/dist/cjs/core/src/managers/AutoScaleManager.d.ts +26 -0
  33. package/dist/cjs/core/src/managers/DimensionManager.d.ts +42 -0
  34. package/dist/cjs/core/src/managers/DragHandlerManager.d.ts +44 -0
  35. package/dist/cjs/core/src/managers/FilterManager.d.ts +36 -0
  36. package/dist/cjs/core/src/managers/RowManager.d.ts +56 -0
  37. package/dist/cjs/core/src/managers/RowSelectionManager.d.ts +36 -0
  38. package/dist/cjs/core/src/managers/ScrollManager.d.ts +35 -0
  39. package/dist/cjs/core/src/managers/SectionScrollController.d.ts +50 -0
  40. package/dist/cjs/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
  41. package/dist/cjs/core/src/managers/SelectionManager/index.d.ts +2 -0
  42. package/dist/cjs/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
  43. package/dist/cjs/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
  44. package/dist/cjs/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
  45. package/dist/cjs/core/src/managers/SelectionManager/types.d.ts +22 -0
  46. package/dist/cjs/core/src/managers/SortManager.d.ts +42 -0
  47. package/dist/cjs/core/src/types/AggregationTypes.d.ts +8 -0
  48. package/dist/cjs/core/src/types/BoundingBox.d.ts +11 -0
  49. package/dist/cjs/core/src/types/Cell.d.ts +7 -0
  50. package/dist/cjs/core/src/types/CellChangeProps.d.ts +9 -0
  51. package/dist/cjs/core/src/types/CellClickProps.d.ts +11 -0
  52. package/dist/cjs/core/src/types/CellRendererProps.d.ts +32 -0
  53. package/dist/cjs/core/src/types/CellValue.d.ts +2 -0
  54. package/dist/cjs/core/src/types/ColumnEditorConfig.d.ts +32 -0
  55. package/dist/cjs/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
  56. package/dist/cjs/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
  57. package/dist/cjs/core/src/types/CustomTheme.d.ts +26 -0
  58. package/dist/cjs/core/src/types/DragHandlerProps.d.ts +14 -0
  59. package/dist/cjs/core/src/types/EnumOption.d.ts +5 -0
  60. package/dist/cjs/core/src/types/FilterTypes.d.ts +22 -0
  61. package/dist/cjs/core/src/types/FlattenedHeader.d.ts +10 -0
  62. package/dist/cjs/core/src/types/FooterRendererProps.d.ts +17 -0
  63. package/dist/cjs/core/src/types/GenerateRowIdParams.d.ts +11 -0
  64. package/dist/cjs/core/src/types/GetRowId.d.ts +10 -0
  65. package/dist/cjs/core/src/types/HandleResizeStartProps.d.ts +21 -0
  66. package/dist/cjs/core/src/types/HeaderDropdownProps.d.ts +14 -0
  67. package/dist/cjs/core/src/types/HeaderObject.d.ts +98 -0
  68. package/dist/cjs/core/src/types/HeaderRendererProps.d.ts +17 -0
  69. package/dist/cjs/core/src/types/IconsConfig.d.ts +19 -0
  70. package/dist/cjs/core/src/types/OnNextPage.d.ts +2 -0
  71. package/dist/cjs/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
  72. package/dist/cjs/core/src/types/OnSortProps.d.ts +3 -0
  73. package/dist/cjs/core/src/types/PanelSection.d.ts +1 -0
  74. package/dist/cjs/core/src/types/Pinned.d.ts +1 -0
  75. package/dist/cjs/core/src/types/PinnedSectionsState.d.ts +6 -0
  76. package/dist/cjs/core/src/types/QuickFilterTypes.d.ts +21 -0
  77. package/dist/cjs/core/src/types/Row.d.ts +3 -0
  78. package/dist/cjs/core/src/types/RowButton.d.ts +6 -0
  79. package/dist/cjs/core/src/types/RowId.d.ts +1 -0
  80. package/dist/cjs/core/src/types/RowSelectionChangeProps.d.ts +7 -0
  81. package/dist/cjs/core/src/types/RowState.d.ts +12 -0
  82. package/dist/cjs/core/src/types/RowStateRendererProps.d.ts +18 -0
  83. package/dist/cjs/core/src/types/SharedTableProps.d.ts +24 -0
  84. package/dist/cjs/core/src/types/SimpleTableConfig.d.ts +88 -0
  85. package/dist/cjs/core/src/types/SimpleTableProps.d.ts +99 -0
  86. package/dist/cjs/core/src/types/SortColumn.d.ts +8 -0
  87. package/dist/cjs/core/src/types/TableAPI.d.ts +57 -0
  88. package/dist/cjs/core/src/types/TableHeaderProps.d.ts +17 -0
  89. package/dist/cjs/core/src/types/TableRefType.d.ts +78 -0
  90. package/dist/cjs/core/src/types/TableRow.d.ts +29 -0
  91. package/dist/cjs/core/src/types/TableRowProps.d.ts +29 -0
  92. package/dist/cjs/core/src/types/Theme.d.ts +2 -0
  93. package/dist/cjs/core/src/types/UpdateCellProps.d.ts +8 -0
  94. package/dist/cjs/core/src/utils/bodyCell/content.d.ts +5 -0
  95. package/dist/cjs/core/src/utils/bodyCell/editing.d.ts +4 -0
  96. package/dist/cjs/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
  97. package/dist/cjs/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
  98. package/dist/cjs/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
  99. package/dist/cjs/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
  100. package/dist/cjs/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
  101. package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +4 -0
  102. package/dist/cjs/core/src/utils/bodyCell/selection.d.ts +7 -0
  103. package/dist/cjs/core/src/utils/bodyCell/styling.d.ts +5 -0
  104. package/dist/cjs/core/src/utils/bodyCell/types.d.ts +103 -0
  105. package/dist/cjs/core/src/utils/bodyCellRenderer.d.ts +5 -0
  106. package/dist/cjs/core/src/utils/cellClipboardUtils.d.ts +25 -0
  107. package/dist/cjs/core/src/utils/cellScrollUtils.d.ts +10 -0
  108. package/dist/cjs/core/src/utils/cellUtils.d.ts +18 -0
  109. package/dist/cjs/core/src/utils/charts/createBarChart.d.ts +15 -0
  110. package/dist/cjs/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
  111. package/dist/cjs/core/src/utils/collapseUtils.d.ts +24 -0
  112. package/dist/cjs/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
  113. package/dist/cjs/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
  114. package/dist/cjs/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
  115. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
  116. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
  117. package/dist/cjs/core/src/utils/csvExportUtils.d.ts +14 -0
  118. package/dist/cjs/core/src/utils/dateUtils.d.ts +18 -0
  119. package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
  120. package/dist/cjs/core/src/utils/filterUtils.d.ts +5 -0
  121. package/dist/cjs/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
  122. package/dist/cjs/core/src/utils/filters/createCustomSelect.d.ts +20 -0
  123. package/dist/cjs/core/src/utils/filters/createDateFilter.d.ts +15 -0
  124. package/dist/cjs/core/src/utils/filters/createDatePicker.d.ts +10 -0
  125. package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +16 -0
  126. package/dist/cjs/core/src/utils/filters/createEnumFilter.d.ts +15 -0
  127. package/dist/cjs/core/src/utils/filters/createFilterActions.d.ts +11 -0
  128. package/dist/cjs/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
  129. package/dist/cjs/core/src/utils/filters/createFilterInput.d.ts +16 -0
  130. package/dist/cjs/core/src/utils/filters/createNumberFilter.d.ts +15 -0
  131. package/dist/cjs/core/src/utils/filters/createStringFilter.d.ts +15 -0
  132. package/dist/cjs/core/src/utils/footer/createTableFooter.d.ts +21 -0
  133. package/dist/cjs/core/src/utils/formatters.d.ts +3 -0
  134. package/dist/cjs/core/src/utils/generalUtils.d.ts +4 -0
  135. package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +6 -0
  136. package/dist/cjs/core/src/utils/headerCell/dragging.d.ts +5 -0
  137. package/dist/cjs/core/src/utils/headerCell/editing.d.ts +4 -0
  138. package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +25 -0
  139. package/dist/cjs/core/src/utils/headerCell/filtering.d.ts +3 -0
  140. package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +3 -0
  141. package/dist/cjs/core/src/utils/headerCell/selection.d.ts +10 -0
  142. package/dist/cjs/core/src/utils/headerCell/sorting.d.ts +3 -0
  143. package/dist/cjs/core/src/utils/headerCell/styling.d.ts +5 -0
  144. package/dist/cjs/core/src/utils/headerCell/types.d.ts +75 -0
  145. package/dist/cjs/core/src/utils/headerCellRenderer.d.ts +4 -0
  146. package/dist/cjs/core/src/utils/headerUtils.d.ts +41 -0
  147. package/dist/cjs/core/src/utils/headerWidthUtils.d.ts +56 -0
  148. package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
  149. package/dist/cjs/core/src/utils/infiniteScrollUtils.d.ts +145 -0
  150. package/dist/cjs/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
  151. package/dist/cjs/core/src/utils/pinnedColumnUtils.d.ts +25 -0
  152. package/dist/cjs/core/src/utils/quickFilterUtils.d.ts +14 -0
  153. package/dist/cjs/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
  154. package/dist/cjs/core/src/utils/resizeUtils/compensation.d.ts +11 -0
  155. package/dist/cjs/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
  156. package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +5 -0
  157. package/dist/cjs/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
  158. package/dist/cjs/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
  159. package/dist/cjs/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
  160. package/dist/cjs/core/src/utils/rowFlattening.d.ts +30 -0
  161. package/dist/cjs/core/src/utils/rowProcessing.d.ts +36 -0
  162. package/dist/cjs/core/src/utils/rowSelectionUtils.d.ts +39 -0
  163. package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
  164. package/dist/cjs/core/src/utils/rowUtils.d.ts +136 -0
  165. package/dist/cjs/core/src/utils/sortUtils.d.ts +8 -0
  166. package/dist/cjs/core/src/utils/stateRowRenderer.d.ts +15 -0
  167. package/dist/cjs/core/src/utils/stickyParentsRenderer.d.ts +30 -0
  168. package/dist/cjs/index.js +2 -0
  169. package/dist/cjs/index.js.map +1 -0
  170. package/dist/cjs/react/src/SimpleTable.d.ts +27 -0
  171. package/dist/cjs/react/src/buildVanillaConfig.d.ts +3 -0
  172. package/dist/cjs/react/src/index.d.ts +3 -0
  173. package/dist/cjs/react/src/types.d.ts +51 -0
  174. package/dist/cjs/react/src/utils/wrapReactRenderer.d.ts +24 -0
  175. package/dist/core/src/consts/column-constraints.d.ts +58 -0
  176. package/dist/core/src/consts/general-consts.d.ts +13 -0
  177. package/dist/core/src/core/SimpleTableVanilla.d.ts +71 -0
  178. package/dist/core/src/core/api/TableAPIImpl.d.ts +44 -0
  179. package/dist/core/src/core/dom/DOMManager.d.ts +50 -0
  180. package/dist/core/src/core/initialization/TableInitializer.d.ts +30 -0
  181. package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
  182. package/dist/core/src/core/rendering/SectionRenderer.d.ts +61 -0
  183. package/dist/core/src/core/rendering/TableRenderer.d.ts +89 -0
  184. package/dist/core/src/hooks/ariaAnnouncements.d.ts +37 -0
  185. package/dist/core/src/hooks/contentHeight.d.ts +23 -0
  186. package/dist/core/src/hooks/expandedDepths.d.ts +65 -0
  187. package/dist/core/src/hooks/handleOutsideClick.d.ts +50 -0
  188. package/dist/core/src/hooks/previousValue.d.ts +30 -0
  189. package/dist/core/src/hooks/scrollbarVisibility.d.ts +65 -0
  190. package/dist/core/src/hooks/scrollbarWidth.d.ts +52 -0
  191. package/dist/core/src/hooks/useAggregatedRows.d.ts +14 -0
  192. package/dist/core/src/hooks/useQuickFilter.d.ts +14 -0
  193. package/dist/core/src/hooks/windowResize.d.ts +31 -0
  194. package/dist/core/src/icons/AngleDownIcon.d.ts +1 -0
  195. package/dist/core/src/icons/AngleLeftIcon.d.ts +1 -0
  196. package/dist/core/src/icons/AngleRightIcon.d.ts +1 -0
  197. package/dist/core/src/icons/AngleUpIcon.d.ts +1 -0
  198. package/dist/core/src/icons/AscIcon.d.ts +1 -0
  199. package/dist/core/src/icons/CheckIcon.d.ts +1 -0
  200. package/dist/core/src/icons/DescIcon.d.ts +1 -0
  201. package/dist/core/src/icons/DragIcon.d.ts +1 -0
  202. package/dist/core/src/icons/FilterIcon.d.ts +1 -0
  203. package/dist/core/src/icons/SelectIcon.d.ts +1 -0
  204. package/dist/core/src/icons/index.d.ts +14 -0
  205. package/dist/core/src/index.d.ts +48 -0
  206. package/dist/core/src/managers/AutoScaleManager.d.ts +26 -0
  207. package/dist/core/src/managers/DimensionManager.d.ts +42 -0
  208. package/dist/core/src/managers/DragHandlerManager.d.ts +44 -0
  209. package/dist/core/src/managers/FilterManager.d.ts +36 -0
  210. package/dist/core/src/managers/RowManager.d.ts +56 -0
  211. package/dist/core/src/managers/RowSelectionManager.d.ts +36 -0
  212. package/dist/core/src/managers/ScrollManager.d.ts +35 -0
  213. package/dist/core/src/managers/SectionScrollController.d.ts +50 -0
  214. package/dist/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
  215. package/dist/core/src/managers/SelectionManager/index.d.ts +2 -0
  216. package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
  217. package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
  218. package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
  219. package/dist/core/src/managers/SelectionManager/types.d.ts +22 -0
  220. package/dist/core/src/managers/SortManager.d.ts +42 -0
  221. package/dist/core/src/types/AggregationTypes.d.ts +8 -0
  222. package/dist/core/src/types/BoundingBox.d.ts +11 -0
  223. package/dist/core/src/types/Cell.d.ts +7 -0
  224. package/dist/core/src/types/CellChangeProps.d.ts +9 -0
  225. package/dist/core/src/types/CellClickProps.d.ts +11 -0
  226. package/dist/core/src/types/CellRendererProps.d.ts +32 -0
  227. package/dist/core/src/types/CellValue.d.ts +2 -0
  228. package/dist/core/src/types/ColumnEditorConfig.d.ts +32 -0
  229. package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
  230. package/dist/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
  231. package/dist/core/src/types/CustomTheme.d.ts +26 -0
  232. package/dist/core/src/types/DragHandlerProps.d.ts +14 -0
  233. package/dist/core/src/types/EnumOption.d.ts +5 -0
  234. package/dist/core/src/types/FilterTypes.d.ts +22 -0
  235. package/dist/core/src/types/FlattenedHeader.d.ts +10 -0
  236. package/dist/core/src/types/FooterRendererProps.d.ts +17 -0
  237. package/dist/core/src/types/GenerateRowIdParams.d.ts +11 -0
  238. package/dist/core/src/types/GetRowId.d.ts +10 -0
  239. package/dist/core/src/types/HandleResizeStartProps.d.ts +21 -0
  240. package/dist/core/src/types/HeaderDropdownProps.d.ts +14 -0
  241. package/dist/core/src/types/HeaderObject.d.ts +98 -0
  242. package/dist/core/src/types/HeaderRendererProps.d.ts +17 -0
  243. package/dist/core/src/types/IconsConfig.d.ts +19 -0
  244. package/dist/core/src/types/OnNextPage.d.ts +2 -0
  245. package/dist/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
  246. package/dist/core/src/types/OnSortProps.d.ts +3 -0
  247. package/dist/core/src/types/PanelSection.d.ts +1 -0
  248. package/dist/core/src/types/Pinned.d.ts +1 -0
  249. package/dist/core/src/types/PinnedSectionsState.d.ts +6 -0
  250. package/dist/core/src/types/QuickFilterTypes.d.ts +21 -0
  251. package/dist/core/src/types/Row.d.ts +3 -0
  252. package/dist/core/src/types/RowButton.d.ts +6 -0
  253. package/dist/core/src/types/RowId.d.ts +1 -0
  254. package/dist/core/src/types/RowSelectionChangeProps.d.ts +7 -0
  255. package/dist/core/src/types/RowState.d.ts +12 -0
  256. package/dist/core/src/types/RowStateRendererProps.d.ts +18 -0
  257. package/dist/core/src/types/SharedTableProps.d.ts +24 -0
  258. package/dist/core/src/types/SimpleTableConfig.d.ts +88 -0
  259. package/dist/core/src/types/SimpleTableProps.d.ts +99 -0
  260. package/dist/core/src/types/SortColumn.d.ts +8 -0
  261. package/dist/core/src/types/TableAPI.d.ts +57 -0
  262. package/dist/core/src/types/TableHeaderProps.d.ts +17 -0
  263. package/dist/core/src/types/TableRefType.d.ts +78 -0
  264. package/dist/core/src/types/TableRow.d.ts +29 -0
  265. package/dist/core/src/types/TableRowProps.d.ts +29 -0
  266. package/dist/core/src/types/Theme.d.ts +2 -0
  267. package/dist/core/src/types/UpdateCellProps.d.ts +8 -0
  268. package/dist/core/src/utils/bodyCell/content.d.ts +5 -0
  269. package/dist/core/src/utils/bodyCell/editing.d.ts +4 -0
  270. package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
  271. package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
  272. package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
  273. package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
  274. package/dist/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
  275. package/dist/core/src/utils/bodyCell/expansion.d.ts +4 -0
  276. package/dist/core/src/utils/bodyCell/selection.d.ts +7 -0
  277. package/dist/core/src/utils/bodyCell/styling.d.ts +5 -0
  278. package/dist/core/src/utils/bodyCell/types.d.ts +103 -0
  279. package/dist/core/src/utils/bodyCellRenderer.d.ts +5 -0
  280. package/dist/core/src/utils/cellClipboardUtils.d.ts +25 -0
  281. package/dist/core/src/utils/cellScrollUtils.d.ts +10 -0
  282. package/dist/core/src/utils/cellUtils.d.ts +18 -0
  283. package/dist/core/src/utils/charts/createBarChart.d.ts +15 -0
  284. package/dist/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
  285. package/dist/core/src/utils/collapseUtils.d.ts +24 -0
  286. package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
  287. package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
  288. package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
  289. package/dist/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
  290. package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
  291. package/dist/core/src/utils/csvExportUtils.d.ts +14 -0
  292. package/dist/core/src/utils/dateUtils.d.ts +18 -0
  293. package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
  294. package/dist/core/src/utils/filterUtils.d.ts +5 -0
  295. package/dist/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
  296. package/dist/core/src/utils/filters/createCustomSelect.d.ts +20 -0
  297. package/dist/core/src/utils/filters/createDateFilter.d.ts +15 -0
  298. package/dist/core/src/utils/filters/createDatePicker.d.ts +10 -0
  299. package/dist/core/src/utils/filters/createDropdown.d.ts +16 -0
  300. package/dist/core/src/utils/filters/createEnumFilter.d.ts +15 -0
  301. package/dist/core/src/utils/filters/createFilterActions.d.ts +11 -0
  302. package/dist/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
  303. package/dist/core/src/utils/filters/createFilterInput.d.ts +16 -0
  304. package/dist/core/src/utils/filters/createNumberFilter.d.ts +15 -0
  305. package/dist/core/src/utils/filters/createStringFilter.d.ts +15 -0
  306. package/dist/core/src/utils/footer/createTableFooter.d.ts +21 -0
  307. package/dist/core/src/utils/formatters.d.ts +3 -0
  308. package/dist/core/src/utils/generalUtils.d.ts +4 -0
  309. package/dist/core/src/utils/headerCell/collapsing.d.ts +6 -0
  310. package/dist/core/src/utils/headerCell/dragging.d.ts +5 -0
  311. package/dist/core/src/utils/headerCell/editing.d.ts +4 -0
  312. package/dist/core/src/utils/headerCell/eventTracking.d.ts +25 -0
  313. package/dist/core/src/utils/headerCell/filtering.d.ts +3 -0
  314. package/dist/core/src/utils/headerCell/resizing.d.ts +3 -0
  315. package/dist/core/src/utils/headerCell/selection.d.ts +10 -0
  316. package/dist/core/src/utils/headerCell/sorting.d.ts +3 -0
  317. package/dist/core/src/utils/headerCell/styling.d.ts +5 -0
  318. package/dist/core/src/utils/headerCell/types.d.ts +75 -0
  319. package/dist/core/src/utils/headerCellRenderer.d.ts +4 -0
  320. package/dist/core/src/utils/headerUtils.d.ts +41 -0
  321. package/dist/core/src/utils/headerWidthUtils.d.ts +56 -0
  322. package/dist/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
  323. package/dist/core/src/utils/infiniteScrollUtils.d.ts +145 -0
  324. package/dist/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
  325. package/dist/core/src/utils/pinnedColumnUtils.d.ts +25 -0
  326. package/dist/core/src/utils/quickFilterUtils.d.ts +14 -0
  327. package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
  328. package/dist/core/src/utils/resizeUtils/compensation.d.ts +11 -0
  329. package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
  330. package/dist/core/src/utils/resizeUtils/index.d.ts +5 -0
  331. package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
  332. package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
  333. package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
  334. package/dist/core/src/utils/rowFlattening.d.ts +30 -0
  335. package/dist/core/src/utils/rowProcessing.d.ts +36 -0
  336. package/dist/core/src/utils/rowSelectionUtils.d.ts +39 -0
  337. package/dist/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
  338. package/dist/core/src/utils/rowUtils.d.ts +136 -0
  339. package/dist/core/src/utils/sortUtils.d.ts +8 -0
  340. package/dist/core/src/utils/stateRowRenderer.d.ts +15 -0
  341. package/dist/core/src/utils/stickyParentsRenderer.d.ts +30 -0
  342. package/dist/index.es.js +2 -0
  343. package/dist/index.es.js.map +1 -0
  344. package/dist/react/src/SimpleTable.d.ts +27 -0
  345. package/dist/react/src/buildVanillaConfig.d.ts +3 -0
  346. package/dist/react/src/index.d.ts +3 -0
  347. package/dist/react/src/types.d.ts +51 -0
  348. package/dist/react/src/utils/wrapReactRenderer.d.ts +24 -0
  349. package/package.json +70 -0
@@ -0,0 +1,20 @@
1
+ export interface CustomSelectOption {
2
+ value: string;
3
+ label: string;
4
+ }
5
+ export interface CreateCustomSelectOptions {
6
+ value: string;
7
+ onChange: (value: string) => void;
8
+ options: CustomSelectOption[];
9
+ placeholder?: string;
10
+ className?: string;
11
+ disabled?: boolean;
12
+ containerRef?: HTMLElement;
13
+ mainBodyRef?: HTMLElement;
14
+ }
15
+ export declare const createCustomSelect: (options: CreateCustomSelectOptions) => {
16
+ element: HTMLDivElement;
17
+ update: (newOptions: Partial<CreateCustomSelectOptions>) => void;
18
+ destroy: () => void;
19
+ setOpen: (newOpen: boolean) => void;
20
+ };
@@ -0,0 +1,15 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { FilterCondition } from "../../types/FilterTypes";
3
+ export interface CreateDateFilterOptions {
4
+ header: HeaderObject;
5
+ currentFilter?: FilterCondition;
6
+ onApplyFilter: (filter: FilterCondition) => void;
7
+ onClearFilter: () => void;
8
+ containerRef?: HTMLElement;
9
+ mainBodyRef?: HTMLElement;
10
+ }
11
+ export declare const createDateFilter: (options: CreateDateFilterOptions) => {
12
+ element: HTMLDivElement;
13
+ update: (newOptions: Partial<CreateDateFilterOptions>) => void;
14
+ destroy: () => void;
15
+ };
@@ -0,0 +1,10 @@
1
+ export interface CreateDatePickerOptions {
2
+ onChange: (date: Date) => void;
3
+ onClose?: () => void;
4
+ value: Date;
5
+ }
6
+ export declare const createDatePicker: (options: CreateDatePickerOptions) => {
7
+ element: HTMLDivElement;
8
+ update: (newOptions: Partial<CreateDatePickerOptions>) => void;
9
+ destroy: () => void;
10
+ };
@@ -0,0 +1,16 @@
1
+ export interface CreateDropdownOptions {
2
+ children: HTMLElement;
3
+ containerRef?: HTMLElement;
4
+ mainBodyRef?: HTMLElement;
5
+ onClose: () => void;
6
+ open: boolean;
7
+ overflow?: "auto" | "visible" | "hidden";
8
+ width?: number;
9
+ positioning?: "fixed" | "absolute";
10
+ }
11
+ export declare const createDropdown: (options: CreateDropdownOptions) => {
12
+ element: HTMLDivElement;
13
+ update: (newOptions: Partial<CreateDropdownOptions>) => void;
14
+ destroy: () => void;
15
+ setOpen: (newOpen: boolean) => void;
16
+ };
@@ -0,0 +1,15 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { FilterCondition } from "../../types/FilterTypes";
3
+ export interface CreateEnumFilterOptions {
4
+ header: HeaderObject;
5
+ currentFilter?: FilterCondition;
6
+ onApplyFilter: (filter: FilterCondition) => void;
7
+ onClearFilter: () => void;
8
+ containerRef?: HTMLElement;
9
+ mainBodyRef?: HTMLElement;
10
+ }
11
+ export declare const createEnumFilter: (options: CreateEnumFilterOptions) => {
12
+ element: HTMLDivElement;
13
+ update: (newOptions: Partial<CreateEnumFilterOptions>) => void;
14
+ destroy: () => void;
15
+ };
@@ -0,0 +1,11 @@
1
+ export interface CreateFilterActionsOptions {
2
+ onApply: () => void;
3
+ onClear?: () => void;
4
+ canApply: boolean;
5
+ showClear: boolean;
6
+ }
7
+ export declare const createFilterActions: (options: CreateFilterActionsOptions) => {
8
+ element: HTMLDivElement;
9
+ update: (newOptions: Partial<CreateFilterActionsOptions>) => void;
10
+ destroy: () => void;
11
+ };
@@ -0,0 +1,15 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { FilterCondition } from "../../types/FilterTypes";
3
+ export interface CreateFilterDropdownOptions {
4
+ header: HeaderObject;
5
+ currentFilter?: FilterCondition;
6
+ onApplyFilter: (filter: FilterCondition) => void;
7
+ onClearFilter: () => void;
8
+ containerRef?: HTMLElement;
9
+ mainBodyRef?: HTMLElement;
10
+ }
11
+ export declare const createFilterDropdown: (options: CreateFilterDropdownOptions) => {
12
+ element: HTMLDivElement;
13
+ update: (newOptions: Partial<import("./createStringFilter").CreateStringFilterOptions>) => void;
14
+ destroy: () => void;
15
+ };
@@ -0,0 +1,16 @@
1
+ export interface CreateFilterInputOptions {
2
+ type?: "text" | "number" | "date";
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onEnter?: () => void;
6
+ placeholder?: string;
7
+ autoFocus?: boolean;
8
+ min?: string;
9
+ max?: string;
10
+ step?: string;
11
+ }
12
+ export declare const createFilterInput: (options: CreateFilterInputOptions) => {
13
+ element: HTMLInputElement;
14
+ update: (newOptions: Partial<CreateFilterInputOptions>) => void;
15
+ destroy: () => void;
16
+ };
@@ -0,0 +1,15 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { FilterCondition } from "../../types/FilterTypes";
3
+ export interface CreateNumberFilterOptions {
4
+ header: HeaderObject;
5
+ currentFilter?: FilterCondition;
6
+ onApplyFilter: (filter: FilterCondition) => void;
7
+ onClearFilter: () => void;
8
+ containerRef?: HTMLElement;
9
+ mainBodyRef?: HTMLElement;
10
+ }
11
+ export declare const createNumberFilter: (options: CreateNumberFilterOptions) => {
12
+ element: HTMLDivElement;
13
+ update: (newOptions: Partial<CreateNumberFilterOptions>) => void;
14
+ destroy: () => void;
15
+ };
@@ -0,0 +1,15 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { FilterCondition } from "../../types/FilterTypes";
3
+ export interface CreateStringFilterOptions {
4
+ header: HeaderObject;
5
+ currentFilter?: FilterCondition;
6
+ onApplyFilter: (filter: FilterCondition) => void;
7
+ onClearFilter: () => void;
8
+ containerRef?: HTMLElement;
9
+ mainBodyRef?: HTMLElement;
10
+ }
11
+ export declare const createStringFilter: (options: CreateStringFilterOptions) => {
12
+ element: HTMLDivElement;
13
+ update: (newOptions: Partial<CreateStringFilterOptions>) => void;
14
+ destroy: () => void;
15
+ };
@@ -0,0 +1,21 @@
1
+ import OnNextPage from "../../types/OnNextPage";
2
+ export interface CreateTableFooterOptions {
3
+ currentPage: number;
4
+ hideFooter?: boolean;
5
+ onPageChange: (page: number) => void;
6
+ onNextPage?: OnNextPage;
7
+ onUserPageChange?: (page: number) => void | Promise<void>;
8
+ rowsPerPage: number;
9
+ shouldPaginate?: boolean;
10
+ totalPages: number;
11
+ totalRows: number;
12
+ /** Custom icon for previous page button (string = HTML, HTMLElement = node to clone/append). */
13
+ prevIcon?: string | HTMLElement | SVGSVGElement;
14
+ /** Custom icon for next page button. */
15
+ nextIcon?: string | HTMLElement | SVGSVGElement;
16
+ }
17
+ export declare const createTableFooter: (options: CreateTableFooterOptions) => {
18
+ element: HTMLDivElement;
19
+ update: (newOptions: Partial<CreateTableFooterOptions>) => void;
20
+ destroy: () => void;
21
+ };
@@ -0,0 +1,3 @@
1
+ export declare const formatDate: (dateString: string | number | Date) => string;
2
+ export declare const formatCurrency: (value: number) => string;
3
+ export declare const formatLargeNumber: (value: number) => string;
@@ -0,0 +1,4 @@
1
+ import HeaderObject from "../types/HeaderObject";
2
+ import { Pinned } from "../types/Pinned";
3
+ export declare const deepClone: <T>(obj: T) => T;
4
+ export declare const canDisplaySection: (headers: HeaderObject[], pinned?: Pinned) => boolean;
@@ -0,0 +1,6 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { HeaderRenderContext } from "./types";
3
+ /** Use same icon and animation as body row expand/collapse (icons.expand + st-expand-icon-container). */
4
+ export declare const createCollapseIcon: (header: HeaderObject, context: HeaderRenderContext) => HTMLElement | null;
5
+ /** Update header collapse icon direction on an existing cell (same pattern as body updateExpandIconState). */
6
+ export declare const updateHeaderCollapseIconState: (cellElement: HTMLElement, isCollapsed: boolean, label?: string) => void;
@@ -0,0 +1,5 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { HeaderRenderContext } from "./types";
3
+ export declare const handleColumnHeaderClick: (event: MouseEvent, header: HeaderObject, colIndex: number, context: HeaderRenderContext) => void;
4
+ export declare const handleColumnHeaderDoubleClick: (event: MouseEvent, header: HeaderObject, context: HeaderRenderContext) => void;
5
+ export declare const attachDragHandlers: (labelElement: HTMLElement, cellElement: HTMLElement, header: HeaderObject, context: HeaderRenderContext) => void;
@@ -0,0 +1,4 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { HeaderRenderContext } from "./types";
3
+ export declare const createEditableInput: (header: HeaderObject, context: HeaderRenderContext, labelContainer: HTMLElement) => HTMLInputElement;
4
+ export declare const createLabelContent: (header: HeaderObject, context: HeaderRenderContext, labelOverride?: string) => HTMLElement;
@@ -0,0 +1,25 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ export declare let prevUpdateTime: number;
3
+ export declare let prevDraggingPosition: {
4
+ screenX: number;
5
+ screenY: number;
6
+ };
7
+ export declare let prevHeaders: HeaderObject[] | null;
8
+ export declare const setPrevUpdateTime: (time: number) => void;
9
+ export declare const setPrevDraggingPosition: (position: {
10
+ screenX: number;
11
+ screenY: number;
12
+ }) => void;
13
+ export declare const setPrevHeaders: (headers: HeaderObject[] | null) => void;
14
+ export declare const getRenderedCells: (container: HTMLElement) => Map<string, HTMLElement>;
15
+ export interface CachedHeaderPosition {
16
+ left: number;
17
+ top: number;
18
+ width: number;
19
+ height: number;
20
+ }
21
+ export declare const getHeaderPositionCache: (container: HTMLElement) => Map<string, CachedHeaderPosition>;
22
+ export declare const REVERT_TO_PREVIOUS_HEADERS_DELAY = 1500;
23
+ export declare const throttle: (callback: () => void, limit: number) => void;
24
+ export declare const addTrackedEventListener: (element: HTMLElement, event: string, handler: EventListener, options?: AddEventListenerOptions) => void;
25
+ export declare const cleanupHeaderCellRendering: (container?: HTMLElement) => void;
@@ -0,0 +1,3 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { HeaderRenderContext } from "./types";
3
+ export declare const createFilterIcon: (header: HeaderObject, context: HeaderRenderContext) => HTMLElement | null;
@@ -0,0 +1,3 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { HeaderRenderContext } from "./types";
3
+ export declare const createResizeHandle: (header: HeaderObject, context: HeaderRenderContext, isLastHeader: boolean) => HTMLElement | null;
@@ -0,0 +1,10 @@
1
+ import { HeaderRenderContext } from "./types";
2
+ /**
3
+ * Updates an existing header select-all checkbox to match the current checked state.
4
+ * Use when selection changes but the header cell DOM is reused (e.g. from cache).
5
+ */
6
+ export declare const updateHeaderSelectionCheckbox: (cellElement: HTMLElement, checked: boolean) => void;
7
+ /**
8
+ * Creates the header select-all checkbox using the shared createCheckbox (same as column editor popout).
9
+ */
10
+ export declare const createSelectionCheckbox: (context: HeaderRenderContext) => HTMLElement;
@@ -0,0 +1,3 @@
1
+ import HeaderObject from "../../types/HeaderObject";
2
+ import { HeaderRenderContext } from "./types";
3
+ export declare const createSortIcon: (header: HeaderObject, context: HeaderRenderContext) => HTMLElement | null;
@@ -0,0 +1,5 @@
1
+ import { AbsoluteCell, HeaderRenderContext } from "./types";
2
+ export declare const calculateHeaderCellClasses: (cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => string;
3
+ export declare const createHeaderCellElement: (cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => HTMLElement;
4
+ export declare const getLastHeaderIndex: (absoluteCells: AbsoluteCell[]) => number;
5
+ export declare const updateHeaderCellElement: (cellElement: HTMLElement, cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => void;
@@ -0,0 +1,75 @@
1
+ import HeaderObject, { Accessor } from "../../types/HeaderObject";
2
+ import SortColumn from "../../types/SortColumn";
3
+ import { TableFilterState, FilterCondition } from "../../types/FilterTypes";
4
+ import { IconsConfig } from "../../types/IconsConfig";
5
+ import Row from "../../types/Row";
6
+ type SetStateAction<T> = T | ((prevState: T) => T);
7
+ type Dispatch<A> = (value: A) => void;
8
+ type MutableRefObject<T> = {
9
+ current: T;
10
+ };
11
+ type RefObject<T> = {
12
+ readonly current: T | null;
13
+ };
14
+ export interface AbsoluteCell {
15
+ header: HeaderObject;
16
+ left: number;
17
+ top: number;
18
+ width: number;
19
+ height: number;
20
+ colIndex: number;
21
+ parentHeader?: HeaderObject;
22
+ }
23
+ export interface HeaderRenderContext {
24
+ areAllRowsSelected?: () => boolean;
25
+ autoExpandColumns: boolean;
26
+ collapsedHeaders: Set<Accessor>;
27
+ essentialAccessors?: ReadonlySet<string>;
28
+ columnBorders: boolean;
29
+ columnReordering: boolean;
30
+ columnResizing: boolean;
31
+ columnsWithSelectedCells: Set<number>;
32
+ containerWidth: number;
33
+ draggedHeaderRef: MutableRefObject<HeaderObject | null>;
34
+ enableHeaderEditing?: boolean;
35
+ enableRowSelection?: boolean;
36
+ filters: TableFilterState;
37
+ forceUpdate: () => void;
38
+ getCollapsedHeaders?: () => Set<Accessor>; /** Get current collapsed headers (avoids stale closure in toggle handler). */
39
+ handleApplyFilter: (filter: FilterCondition) => void;
40
+ handleClearFilter: (accessor: Accessor) => void;
41
+ handleSelectAll?: (checked: boolean) => void;
42
+ headerHeight: number;
43
+ headerRegistry?: Map<string, {
44
+ setEditing: (editing: boolean) => void;
45
+ }>;
46
+ headers: HeaderObject[];
47
+ hoveredHeaderRef: MutableRefObject<HeaderObject | null>;
48
+ icons: IconsConfig;
49
+ lastHeaderIndex: number;
50
+ mainBodyRef: RefObject<HTMLDivElement>;
51
+ mainSectionContainerWidth?: number; /** Main section viewport width (avoids clientWidth read when set); use for getVisibleCells when !pinned */
52
+ onColumnOrderChange?: (headers: HeaderObject[]) => void;
53
+ onColumnSelect?: (header: HeaderObject) => void;
54
+ onColumnWidthChange?: (headers: HeaderObject[]) => void;
55
+ onHeaderEdit?: (header: HeaderObject, newLabel: string) => void;
56
+ onSort: (accessor: Accessor) => void;
57
+ onTableHeaderDragEnd: (headers: HeaderObject[]) => void;
58
+ pinned?: "left" | "right";
59
+ pinnedLeftRef: RefObject<HTMLDivElement>;
60
+ pinnedRightRef: RefObject<HTMLDivElement>;
61
+ reverse: boolean;
62
+ rows: Row[];
63
+ selectColumns?: (columnIndices: number[]) => void;
64
+ selectableColumns?: boolean;
65
+ selectedColumns: Set<number>;
66
+ selectedRowCount?: number; /** Used for context cache invalidation when row selection changes */
67
+ setCollapsedHeaders: Dispatch<SetStateAction<Set<Accessor>>>;
68
+ setHeaders: Dispatch<SetStateAction<HeaderObject[]>>;
69
+ setInitialFocusedCell: (cell: any) => void;
70
+ setIsResizing: Dispatch<SetStateAction<boolean>>;
71
+ setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
72
+ setSelectedColumns: Dispatch<SetStateAction<Set<number>>>;
73
+ sort: SortColumn | null;
74
+ }
75
+ export {};
@@ -0,0 +1,4 @@
1
+ import { AbsoluteCell, HeaderRenderContext } from "./headerCell/types";
2
+ export type { AbsoluteCell, HeaderRenderContext } from "./headerCell/types";
3
+ export { cleanupHeaderCellRendering } from "./headerCell/eventTracking";
4
+ export declare const renderHeaderCells: (container: HTMLElement, absoluteCells: AbsoluteCell[], context: HeaderRenderContext, scrollLeft?: number) => void;
@@ -0,0 +1,41 @@
1
+ import HeaderObject from "../types/HeaderObject";
2
+ /**
3
+ * Gets all leaf column indices (bottom-level columns) for a given header and its descendants
4
+ * @param header The header to get indices for
5
+ * @param colIndex The column index of the header in the current context
6
+ * @returns Array of column indices that belong to this header branch
7
+ */
8
+ export declare const getHeaderLeafIndices: (header: HeaderObject, colIndex: number) => number[];
9
+ /**
10
+ * Flattens a nested header structure to get all leaf headers
11
+ * @param headers The headers array to flatten
12
+ * @returns Flattened array of all leaf headers
13
+ */
14
+ export declare const flattenHeaders: (headers: HeaderObject[]) => HeaderObject[];
15
+ /**
16
+ * Flattens a nested header structure to get all headers (including parent headers)
17
+ * @param headers The headers array to flatten
18
+ * @returns Flattened array of all headers in the hierarchy
19
+ */
20
+ export declare const flattenAllHeaders: (headers: HeaderObject[]) => HeaderObject[];
21
+ /**
22
+ * Gets the range of column indices between two column indices
23
+ * @param startColIndex Starting column index
24
+ * @param endColIndex Ending column index
25
+ * @returns Array of column indices in the range (inclusive)
26
+ */
27
+ export declare const getColumnRange: (startColIndex: number, endColIndex: number) => number[];
28
+ export declare const calculatePinnedWidth: (width?: number) => number;
29
+ /**
30
+ * Generates a unique ID for header description element
31
+ * @param accessor The header accessor
32
+ * @returns Unique ID string for aria-describedby
33
+ */
34
+ export declare const getHeaderDescriptionId: (accessor: string | number) => string;
35
+ /**
36
+ * Builds a descriptive string for screen readers about a column header
37
+ * @param header The header object
38
+ * @param filterable Whether the column is filterable
39
+ * @returns Description string for aria-describedby, or empty string if no description
40
+ */
41
+ export declare const getHeaderDescription: (header: HeaderObject, filterable: boolean) => string;
@@ -0,0 +1,56 @@
1
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
2
+ /**
3
+ * Find all leaf headers (headers without children) in a header tree
4
+ * Takes collapsed state into account - when a header is collapsed, only returns
5
+ * children that are visible when parent is collapsed (showWhen is 'parentCollapsed' or 'always')
6
+ */
7
+ export declare const findLeafHeaders: (header: HeaderObject, collapsedHeaders?: Set<Accessor>) => HeaderObject[];
8
+ /** Default pixel width for 1fr when converting before container width is known */
9
+ export declare const DEFAULT_FR_PX = 150;
10
+ /** Default total table width used when normalizing fr/% if container width unknown */
11
+ export declare const DEFAULT_TABLE_WIDTH = 800;
12
+ /**
13
+ * Normalize header widths so that fr and % are converted to pixels.
14
+ * Call this as soon as headers are received so the rest of the code can assume numeric widths.
15
+ * If totalWidth is not provided, a reasonable total is computed from fixed widths + default for fr columns.
16
+ * If options.containerWidth is provided, the main section's fr columns are given the remaining space
17
+ * (container width minus pinned left/right), so the flexible column fills available space.
18
+ */
19
+ export declare function normalizeHeaderWidths(headers: HeaderObject[], totalWidthOrOptions?: number | {
20
+ containerWidth: number;
21
+ }): HeaderObject[];
22
+ /**
23
+ * Get actual width of a header in pixels
24
+ */
25
+ export declare const getHeaderWidthInPixels: (header: HeaderObject) => number;
26
+ /**
27
+ * Convert fractional widths to pixel values
28
+ */
29
+ export declare const removeAllFractionalWidths: (header: HeaderObject) => void;
30
+ /**
31
+ * Calculate the minimum width for a header
32
+ */
33
+ export declare const getHeaderMinWidth: (header: HeaderObject) => number;
34
+ /**
35
+ * Get all visible leaf headers from an array of headers
36
+ */
37
+ export declare const getAllVisibleLeafHeaders: (headers: HeaderObject[], collapsedHeaders?: Set<Accessor>) => HeaderObject[];
38
+ /**
39
+ * Convert pixel-based widths to proportional fr units
40
+ * This is used when autoExpandColumns is enabled
41
+ */
42
+ export declare const convertPixelWidthsToFr: (headers: HeaderObject[], collapsedHeaders?: Set<Accessor>) => HeaderObject[];
43
+ /**
44
+ * Calculate the optimal width for a column by measuring both header and cell content
45
+ * This is used for auto-sizing columns to fit their content (like Excel/Google Sheets)
46
+ *
47
+ * @param accessor - The accessor of the header to measure
48
+ * @param options - Configuration options
49
+ * @returns The optimal width in pixels
50
+ */
51
+ export declare const calculateHeaderContentWidth: (accessor: Accessor, options?: {
52
+ rows?: any[];
53
+ header?: HeaderObject;
54
+ maxWidth?: number;
55
+ sampleSize?: number;
56
+ }) => number;
@@ -0,0 +1,14 @@
1
+ import type { SectionScrollController } from "../managers/SectionScrollController";
2
+ export interface HorizontalScrollbarProps {
3
+ mainBodyRef: HTMLDivElement;
4
+ mainBodyWidth: number;
5
+ pinnedLeftWidth: number;
6
+ pinnedRightWidth: number;
7
+ pinnedLeftContentWidth: number;
8
+ pinnedRightContentWidth: number;
9
+ tableBodyContainerRef: HTMLDivElement;
10
+ editColumns: boolean;
11
+ sectionScrollController?: SectionScrollController | null;
12
+ }
13
+ export declare const createHorizontalScrollbar: (props: HorizontalScrollbarProps) => HTMLElement | null;
14
+ export declare const cleanupHorizontalScrollbar: (container: HTMLElement, sectionScrollController?: SectionScrollController | null) => void;
@@ -0,0 +1,145 @@
1
+ import TableRow from "../types/TableRow";
2
+ import { CustomTheme } from "../types/CustomTheme";
3
+ import { Accessor } from "../types/HeaderObject";
4
+ /**
5
+ * Sorted array of [position, extraHeight] tuples for nested grids
6
+ * Position: the row index in flattened array
7
+ * ExtraHeight: additional height beyond standard rowHeight (in pixels)
8
+ * Array is kept sorted by position for efficient binary search
9
+ */
10
+ export type HeightOffsets = Array<[number, number]>;
11
+ /**
12
+ * Precomputed cumulative height data structure for O(1) row position lookups
13
+ * and O(log n) viewport calculations
14
+ */
15
+ export interface CumulativeHeightMap {
16
+ /** Array where index i contains the top pixel position of row i */
17
+ rowTopPositions: number[];
18
+ /** Total height of all rows combined */
19
+ totalHeight: number;
20
+ }
21
+ /**
22
+ * Build a cumulative height map for efficient viewport calculations
23
+ * This precomputes the top position of every row, enabling:
24
+ * - O(1) lookup of row top position
25
+ * - O(log n) binary search to find rows in viewport
26
+ *
27
+ * @param rowCount - Total number of rows
28
+ * @param rowHeight - Standard height of each row
29
+ * @param heightOffsets - Array of [position, extraHeight] for variable-height rows
30
+ * @param customTheme - Theme configuration for separator width
31
+ * @returns Cumulative height map with row positions
32
+ */
33
+ export declare const buildCumulativeHeightMap: (rowCount: number, rowHeight: number, heightOffsets: HeightOffsets | undefined, customTheme: CustomTheme) => CumulativeHeightMap;
34
+ /**
35
+ * Find the row index at a given scroll position using binary search
36
+ * Returns the index of the row that contains or is closest to the scroll position
37
+ *
38
+ * @param scrollTop - The scroll position in pixels
39
+ * @param heightMap - Precomputed cumulative height map
40
+ * @returns Row index at the scroll position
41
+ */
42
+ export declare const findRowAtScrollPosition: (scrollTop: number, heightMap: CumulativeHeightMap) => number;
43
+ /**
44
+ * Calculate cumulative extra height from nested grids above a given position
45
+ * Uses binary search for O(log n) performance
46
+ * @param position - The row position to calculate height for
47
+ * @param heightOffsets - Sorted array of [position, extraHeight] tuples
48
+ * @returns Total extra height from all nested grids above this position
49
+ */
50
+ export declare const getCumulativeExtraHeight: (position: number, heightOffsets?: HeightOffsets) => number;
51
+ export declare const getTotalRowCount: (tableRows: TableRow[]) => number;
52
+ /**
53
+ * Calculate the total height of all rows including nested grids with extra heights
54
+ * @param totalRowCount - Total number of rows
55
+ * @param rowHeight - Standard height of each row
56
+ * @param heightOffsets - Array of [position, extraHeight] tuples for rows with non-standard heights
57
+ * @param customTheme - Custom theme configuration for separator width
58
+ * @returns Total height in pixels
59
+ */
60
+ export declare const calculateTotalHeight: (totalRowCount: number, rowHeight: number, heightOffsets: HeightOffsets | undefined, customTheme: CustomTheme) => number;
61
+ /**
62
+ * Viewport range calculation result containing start/end indices and the actual rows
63
+ */
64
+ export interface ViewportRange {
65
+ startIndex: number;
66
+ endIndex: number;
67
+ rows: TableRow[];
68
+ }
69
+ /**
70
+ * Complete viewport calculations with multiple strategies
71
+ * Provides three different ways to calculate visible rows for different use cases
72
+ */
73
+ export interface ViewportCalculations {
74
+ /** Rows to render in the DOM (includes overscan buffer for smooth scrolling) */
75
+ rendered: ViewportRange;
76
+ /** Rows that are completely visible within the viewport boundaries */
77
+ fullyVisible: ViewportRange;
78
+ /** Rows that are at least partially visible in the viewport */
79
+ partiallyVisible: ViewportRange;
80
+ }
81
+ /**
82
+ * Calculate all viewport ranges for virtual scrolling with variable-height row support
83
+ * Returns three different viewport calculations:
84
+ * - rendered: What should be in the DOM (includes overscan buffer)
85
+ * - fullyVisible: Rows completely visible (useful for scroll-to-view logic)
86
+ * - partiallyVisible: Rows at least partially visible (useful for scroll boundaries)
87
+ *
88
+ * This function now supports variable-height rows by using a cumulative height map
89
+ * for O(log n) viewport calculations instead of assuming fixed row heights.
90
+ */
91
+ export declare const getViewportCalculations: ({ bufferRowCount, contentHeight, rowHeight, scrollTop, tableRows, scrollDirection, heightMap, }: {
92
+ bufferRowCount: number;
93
+ contentHeight: number;
94
+ rowHeight: number;
95
+ scrollTop: number;
96
+ tableRows: TableRow[];
97
+ scrollDirection?: "up" | "down" | "none" | undefined;
98
+ heightMap?: CumulativeHeightMap | undefined;
99
+ }) => {
100
+ rendered: {
101
+ startIndex: number;
102
+ endIndex: number;
103
+ rows: TableRow[];
104
+ };
105
+ fullyVisible: {
106
+ startIndex: number;
107
+ endIndex: number;
108
+ rows: TableRow[];
109
+ };
110
+ partiallyVisible: {
111
+ startIndex: number;
112
+ endIndex: number;
113
+ rows: TableRow[];
114
+ };
115
+ };
116
+ /**
117
+ * Get visible rows with pixel-based overscan
118
+ * Uses the viewport calculations internally and returns the rendered rows
119
+ * Maintains backward compatibility with existing code
120
+ */
121
+ export declare const getVisibleRows: ({ bufferRowCount, contentHeight, rowHeight, scrollTop, tableRows, scrollDirection, heightMap, }: {
122
+ bufferRowCount: number;
123
+ contentHeight: number;
124
+ rowHeight: number;
125
+ scrollTop: number;
126
+ tableRows: TableRow[];
127
+ scrollDirection?: "up" | "down" | "none" | undefined;
128
+ heightMap?: CumulativeHeightMap | undefined;
129
+ }) => TableRow[];
130
+ export declare const calculateSeparatorTopPosition: ({ position, rowHeight, heightOffsets, customTheme, }: {
131
+ position: number;
132
+ rowHeight: number;
133
+ heightOffsets?: HeightOffsets | undefined;
134
+ customTheme: CustomTheme;
135
+ }) => number;
136
+ export declare const calculateRowTopPosition: ({ position, rowHeight, heightOffsets, customTheme, }: {
137
+ position: number;
138
+ rowHeight: number;
139
+ heightOffsets?: HeightOffsets | undefined;
140
+ customTheme: CustomTheme;
141
+ }) => number;
142
+ export declare const getStickyParents: (allTableRows: TableRow[], renderedRows: TableRow[], fullyVisibleRows: TableRow[], partiallyVisibleRows: TableRow[], rowGrouping: Accessor[]) => {
143
+ stickyParents: TableRow[];
144
+ regularRows: TableRow[];
145
+ };