@simple-table/angular 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 (351) hide show
  1. package/dist/angular/src/buildVanillaConfig.d.ts +4 -0
  2. package/dist/angular/src/index.d.ts +4 -0
  3. package/dist/angular/src/lib/SimpleTableComponent.d.ts +81 -0
  4. package/dist/angular/src/lib/provideSimpleTable.d.ts +23 -0
  5. package/dist/angular/src/types.d.ts +37 -0
  6. package/dist/angular/src/utils/wrapAngularRenderer.d.ts +15 -0
  7. package/dist/cjs/angular/src/buildVanillaConfig.d.ts +4 -0
  8. package/dist/cjs/angular/src/index.d.ts +4 -0
  9. package/dist/cjs/angular/src/lib/SimpleTableComponent.d.ts +81 -0
  10. package/dist/cjs/angular/src/lib/provideSimpleTable.d.ts +23 -0
  11. package/dist/cjs/angular/src/types.d.ts +37 -0
  12. package/dist/cjs/angular/src/utils/wrapAngularRenderer.d.ts +15 -0
  13. package/dist/cjs/core/src/consts/column-constraints.d.ts +58 -0
  14. package/dist/cjs/core/src/consts/general-consts.d.ts +13 -0
  15. package/dist/cjs/core/src/core/SimpleTableVanilla.d.ts +71 -0
  16. package/dist/cjs/core/src/core/api/TableAPIImpl.d.ts +44 -0
  17. package/dist/cjs/core/src/core/dom/DOMManager.d.ts +50 -0
  18. package/dist/cjs/core/src/core/initialization/TableInitializer.d.ts +30 -0
  19. package/dist/cjs/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
  20. package/dist/cjs/core/src/core/rendering/SectionRenderer.d.ts +61 -0
  21. package/dist/cjs/core/src/core/rendering/TableRenderer.d.ts +89 -0
  22. package/dist/cjs/core/src/hooks/ariaAnnouncements.d.ts +37 -0
  23. package/dist/cjs/core/src/hooks/contentHeight.d.ts +23 -0
  24. package/dist/cjs/core/src/hooks/expandedDepths.d.ts +65 -0
  25. package/dist/cjs/core/src/hooks/handleOutsideClick.d.ts +50 -0
  26. package/dist/cjs/core/src/hooks/previousValue.d.ts +30 -0
  27. package/dist/cjs/core/src/hooks/scrollbarVisibility.d.ts +65 -0
  28. package/dist/cjs/core/src/hooks/scrollbarWidth.d.ts +52 -0
  29. package/dist/cjs/core/src/hooks/useAggregatedRows.d.ts +14 -0
  30. package/dist/cjs/core/src/hooks/useQuickFilter.d.ts +14 -0
  31. package/dist/cjs/core/src/hooks/windowResize.d.ts +31 -0
  32. package/dist/cjs/core/src/icons/AngleDownIcon.d.ts +1 -0
  33. package/dist/cjs/core/src/icons/AngleLeftIcon.d.ts +1 -0
  34. package/dist/cjs/core/src/icons/AngleRightIcon.d.ts +1 -0
  35. package/dist/cjs/core/src/icons/AngleUpIcon.d.ts +1 -0
  36. package/dist/cjs/core/src/icons/AscIcon.d.ts +1 -0
  37. package/dist/cjs/core/src/icons/CheckIcon.d.ts +1 -0
  38. package/dist/cjs/core/src/icons/DescIcon.d.ts +1 -0
  39. package/dist/cjs/core/src/icons/DragIcon.d.ts +1 -0
  40. package/dist/cjs/core/src/icons/FilterIcon.d.ts +1 -0
  41. package/dist/cjs/core/src/icons/SelectIcon.d.ts +1 -0
  42. package/dist/cjs/core/src/icons/index.d.ts +14 -0
  43. package/dist/cjs/core/src/index.d.ts +48 -0
  44. package/dist/cjs/core/src/managers/AutoScaleManager.d.ts +26 -0
  45. package/dist/cjs/core/src/managers/DimensionManager.d.ts +42 -0
  46. package/dist/cjs/core/src/managers/DragHandlerManager.d.ts +44 -0
  47. package/dist/cjs/core/src/managers/FilterManager.d.ts +36 -0
  48. package/dist/cjs/core/src/managers/RowManager.d.ts +56 -0
  49. package/dist/cjs/core/src/managers/RowSelectionManager.d.ts +36 -0
  50. package/dist/cjs/core/src/managers/ScrollManager.d.ts +35 -0
  51. package/dist/cjs/core/src/managers/SectionScrollController.d.ts +50 -0
  52. package/dist/cjs/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
  53. package/dist/cjs/core/src/managers/SelectionManager/index.d.ts +2 -0
  54. package/dist/cjs/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
  55. package/dist/cjs/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
  56. package/dist/cjs/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
  57. package/dist/cjs/core/src/managers/SelectionManager/types.d.ts +22 -0
  58. package/dist/cjs/core/src/managers/SortManager.d.ts +42 -0
  59. package/dist/cjs/core/src/types/AggregationTypes.d.ts +8 -0
  60. package/dist/cjs/core/src/types/BoundingBox.d.ts +11 -0
  61. package/dist/cjs/core/src/types/Cell.d.ts +7 -0
  62. package/dist/cjs/core/src/types/CellChangeProps.d.ts +9 -0
  63. package/dist/cjs/core/src/types/CellClickProps.d.ts +11 -0
  64. package/dist/cjs/core/src/types/CellRendererProps.d.ts +32 -0
  65. package/dist/cjs/core/src/types/CellValue.d.ts +2 -0
  66. package/dist/cjs/core/src/types/ColumnEditorConfig.d.ts +32 -0
  67. package/dist/cjs/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
  68. package/dist/cjs/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
  69. package/dist/cjs/core/src/types/CustomTheme.d.ts +26 -0
  70. package/dist/cjs/core/src/types/DragHandlerProps.d.ts +14 -0
  71. package/dist/cjs/core/src/types/EnumOption.d.ts +5 -0
  72. package/dist/cjs/core/src/types/FilterTypes.d.ts +22 -0
  73. package/dist/cjs/core/src/types/FlattenedHeader.d.ts +10 -0
  74. package/dist/cjs/core/src/types/FooterRendererProps.d.ts +17 -0
  75. package/dist/cjs/core/src/types/GenerateRowIdParams.d.ts +11 -0
  76. package/dist/cjs/core/src/types/GetRowId.d.ts +10 -0
  77. package/dist/cjs/core/src/types/HandleResizeStartProps.d.ts +21 -0
  78. package/dist/cjs/core/src/types/HeaderDropdownProps.d.ts +14 -0
  79. package/dist/cjs/core/src/types/HeaderObject.d.ts +98 -0
  80. package/dist/cjs/core/src/types/HeaderRendererProps.d.ts +17 -0
  81. package/dist/cjs/core/src/types/IconsConfig.d.ts +19 -0
  82. package/dist/cjs/core/src/types/OnNextPage.d.ts +2 -0
  83. package/dist/cjs/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
  84. package/dist/cjs/core/src/types/OnSortProps.d.ts +3 -0
  85. package/dist/cjs/core/src/types/PanelSection.d.ts +1 -0
  86. package/dist/cjs/core/src/types/Pinned.d.ts +1 -0
  87. package/dist/cjs/core/src/types/PinnedSectionsState.d.ts +6 -0
  88. package/dist/cjs/core/src/types/QuickFilterTypes.d.ts +21 -0
  89. package/dist/cjs/core/src/types/Row.d.ts +3 -0
  90. package/dist/cjs/core/src/types/RowButton.d.ts +6 -0
  91. package/dist/cjs/core/src/types/RowId.d.ts +1 -0
  92. package/dist/cjs/core/src/types/RowSelectionChangeProps.d.ts +7 -0
  93. package/dist/cjs/core/src/types/RowState.d.ts +12 -0
  94. package/dist/cjs/core/src/types/RowStateRendererProps.d.ts +18 -0
  95. package/dist/cjs/core/src/types/SharedTableProps.d.ts +24 -0
  96. package/dist/cjs/core/src/types/SimpleTableConfig.d.ts +88 -0
  97. package/dist/cjs/core/src/types/SimpleTableProps.d.ts +99 -0
  98. package/dist/cjs/core/src/types/SortColumn.d.ts +8 -0
  99. package/dist/cjs/core/src/types/TableAPI.d.ts +57 -0
  100. package/dist/cjs/core/src/types/TableHeaderProps.d.ts +17 -0
  101. package/dist/cjs/core/src/types/TableRefType.d.ts +78 -0
  102. package/dist/cjs/core/src/types/TableRow.d.ts +29 -0
  103. package/dist/cjs/core/src/types/TableRowProps.d.ts +29 -0
  104. package/dist/cjs/core/src/types/Theme.d.ts +2 -0
  105. package/dist/cjs/core/src/types/UpdateCellProps.d.ts +8 -0
  106. package/dist/cjs/core/src/utils/bodyCell/content.d.ts +5 -0
  107. package/dist/cjs/core/src/utils/bodyCell/editing.d.ts +4 -0
  108. package/dist/cjs/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
  109. package/dist/cjs/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
  110. package/dist/cjs/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
  111. package/dist/cjs/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
  112. package/dist/cjs/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
  113. package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +4 -0
  114. package/dist/cjs/core/src/utils/bodyCell/selection.d.ts +7 -0
  115. package/dist/cjs/core/src/utils/bodyCell/styling.d.ts +5 -0
  116. package/dist/cjs/core/src/utils/bodyCell/types.d.ts +103 -0
  117. package/dist/cjs/core/src/utils/bodyCellRenderer.d.ts +5 -0
  118. package/dist/cjs/core/src/utils/cellClipboardUtils.d.ts +25 -0
  119. package/dist/cjs/core/src/utils/cellScrollUtils.d.ts +10 -0
  120. package/dist/cjs/core/src/utils/cellUtils.d.ts +18 -0
  121. package/dist/cjs/core/src/utils/charts/createBarChart.d.ts +15 -0
  122. package/dist/cjs/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
  123. package/dist/cjs/core/src/utils/collapseUtils.d.ts +24 -0
  124. package/dist/cjs/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
  125. package/dist/cjs/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
  126. package/dist/cjs/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
  127. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
  128. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
  129. package/dist/cjs/core/src/utils/csvExportUtils.d.ts +14 -0
  130. package/dist/cjs/core/src/utils/dateUtils.d.ts +18 -0
  131. package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
  132. package/dist/cjs/core/src/utils/filterUtils.d.ts +5 -0
  133. package/dist/cjs/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
  134. package/dist/cjs/core/src/utils/filters/createCustomSelect.d.ts +20 -0
  135. package/dist/cjs/core/src/utils/filters/createDateFilter.d.ts +15 -0
  136. package/dist/cjs/core/src/utils/filters/createDatePicker.d.ts +10 -0
  137. package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +16 -0
  138. package/dist/cjs/core/src/utils/filters/createEnumFilter.d.ts +15 -0
  139. package/dist/cjs/core/src/utils/filters/createFilterActions.d.ts +11 -0
  140. package/dist/cjs/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
  141. package/dist/cjs/core/src/utils/filters/createFilterInput.d.ts +16 -0
  142. package/dist/cjs/core/src/utils/filters/createNumberFilter.d.ts +15 -0
  143. package/dist/cjs/core/src/utils/filters/createStringFilter.d.ts +15 -0
  144. package/dist/cjs/core/src/utils/footer/createTableFooter.d.ts +21 -0
  145. package/dist/cjs/core/src/utils/formatters.d.ts +3 -0
  146. package/dist/cjs/core/src/utils/generalUtils.d.ts +4 -0
  147. package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +6 -0
  148. package/dist/cjs/core/src/utils/headerCell/dragging.d.ts +5 -0
  149. package/dist/cjs/core/src/utils/headerCell/editing.d.ts +4 -0
  150. package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +25 -0
  151. package/dist/cjs/core/src/utils/headerCell/filtering.d.ts +3 -0
  152. package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +3 -0
  153. package/dist/cjs/core/src/utils/headerCell/selection.d.ts +10 -0
  154. package/dist/cjs/core/src/utils/headerCell/sorting.d.ts +3 -0
  155. package/dist/cjs/core/src/utils/headerCell/styling.d.ts +5 -0
  156. package/dist/cjs/core/src/utils/headerCell/types.d.ts +75 -0
  157. package/dist/cjs/core/src/utils/headerCellRenderer.d.ts +4 -0
  158. package/dist/cjs/core/src/utils/headerUtils.d.ts +41 -0
  159. package/dist/cjs/core/src/utils/headerWidthUtils.d.ts +56 -0
  160. package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
  161. package/dist/cjs/core/src/utils/infiniteScrollUtils.d.ts +145 -0
  162. package/dist/cjs/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
  163. package/dist/cjs/core/src/utils/pinnedColumnUtils.d.ts +25 -0
  164. package/dist/cjs/core/src/utils/quickFilterUtils.d.ts +14 -0
  165. package/dist/cjs/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
  166. package/dist/cjs/core/src/utils/resizeUtils/compensation.d.ts +11 -0
  167. package/dist/cjs/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
  168. package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +5 -0
  169. package/dist/cjs/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
  170. package/dist/cjs/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
  171. package/dist/cjs/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
  172. package/dist/cjs/core/src/utils/rowFlattening.d.ts +30 -0
  173. package/dist/cjs/core/src/utils/rowProcessing.d.ts +36 -0
  174. package/dist/cjs/core/src/utils/rowSelectionUtils.d.ts +39 -0
  175. package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
  176. package/dist/cjs/core/src/utils/rowUtils.d.ts +136 -0
  177. package/dist/cjs/core/src/utils/sortUtils.d.ts +8 -0
  178. package/dist/cjs/core/src/utils/stateRowRenderer.d.ts +15 -0
  179. package/dist/cjs/core/src/utils/stickyParentsRenderer.d.ts +30 -0
  180. package/dist/cjs/index.js +2 -0
  181. package/dist/cjs/index.js.map +1 -0
  182. package/dist/core/src/consts/column-constraints.d.ts +58 -0
  183. package/dist/core/src/consts/general-consts.d.ts +13 -0
  184. package/dist/core/src/core/SimpleTableVanilla.d.ts +71 -0
  185. package/dist/core/src/core/api/TableAPIImpl.d.ts +44 -0
  186. package/dist/core/src/core/dom/DOMManager.d.ts +50 -0
  187. package/dist/core/src/core/initialization/TableInitializer.d.ts +30 -0
  188. package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
  189. package/dist/core/src/core/rendering/SectionRenderer.d.ts +61 -0
  190. package/dist/core/src/core/rendering/TableRenderer.d.ts +89 -0
  191. package/dist/core/src/hooks/ariaAnnouncements.d.ts +37 -0
  192. package/dist/core/src/hooks/contentHeight.d.ts +23 -0
  193. package/dist/core/src/hooks/expandedDepths.d.ts +65 -0
  194. package/dist/core/src/hooks/handleOutsideClick.d.ts +50 -0
  195. package/dist/core/src/hooks/previousValue.d.ts +30 -0
  196. package/dist/core/src/hooks/scrollbarVisibility.d.ts +65 -0
  197. package/dist/core/src/hooks/scrollbarWidth.d.ts +52 -0
  198. package/dist/core/src/hooks/useAggregatedRows.d.ts +14 -0
  199. package/dist/core/src/hooks/useQuickFilter.d.ts +14 -0
  200. package/dist/core/src/hooks/windowResize.d.ts +31 -0
  201. package/dist/core/src/icons/AngleDownIcon.d.ts +1 -0
  202. package/dist/core/src/icons/AngleLeftIcon.d.ts +1 -0
  203. package/dist/core/src/icons/AngleRightIcon.d.ts +1 -0
  204. package/dist/core/src/icons/AngleUpIcon.d.ts +1 -0
  205. package/dist/core/src/icons/AscIcon.d.ts +1 -0
  206. package/dist/core/src/icons/CheckIcon.d.ts +1 -0
  207. package/dist/core/src/icons/DescIcon.d.ts +1 -0
  208. package/dist/core/src/icons/DragIcon.d.ts +1 -0
  209. package/dist/core/src/icons/FilterIcon.d.ts +1 -0
  210. package/dist/core/src/icons/SelectIcon.d.ts +1 -0
  211. package/dist/core/src/icons/index.d.ts +14 -0
  212. package/dist/core/src/index.d.ts +48 -0
  213. package/dist/core/src/managers/AutoScaleManager.d.ts +26 -0
  214. package/dist/core/src/managers/DimensionManager.d.ts +42 -0
  215. package/dist/core/src/managers/DragHandlerManager.d.ts +44 -0
  216. package/dist/core/src/managers/FilterManager.d.ts +36 -0
  217. package/dist/core/src/managers/RowManager.d.ts +56 -0
  218. package/dist/core/src/managers/RowSelectionManager.d.ts +36 -0
  219. package/dist/core/src/managers/ScrollManager.d.ts +35 -0
  220. package/dist/core/src/managers/SectionScrollController.d.ts +50 -0
  221. package/dist/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
  222. package/dist/core/src/managers/SelectionManager/index.d.ts +2 -0
  223. package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
  224. package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
  225. package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
  226. package/dist/core/src/managers/SelectionManager/types.d.ts +22 -0
  227. package/dist/core/src/managers/SortManager.d.ts +42 -0
  228. package/dist/core/src/types/AggregationTypes.d.ts +8 -0
  229. package/dist/core/src/types/BoundingBox.d.ts +11 -0
  230. package/dist/core/src/types/Cell.d.ts +7 -0
  231. package/dist/core/src/types/CellChangeProps.d.ts +9 -0
  232. package/dist/core/src/types/CellClickProps.d.ts +11 -0
  233. package/dist/core/src/types/CellRendererProps.d.ts +32 -0
  234. package/dist/core/src/types/CellValue.d.ts +2 -0
  235. package/dist/core/src/types/ColumnEditorConfig.d.ts +32 -0
  236. package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
  237. package/dist/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
  238. package/dist/core/src/types/CustomTheme.d.ts +26 -0
  239. package/dist/core/src/types/DragHandlerProps.d.ts +14 -0
  240. package/dist/core/src/types/EnumOption.d.ts +5 -0
  241. package/dist/core/src/types/FilterTypes.d.ts +22 -0
  242. package/dist/core/src/types/FlattenedHeader.d.ts +10 -0
  243. package/dist/core/src/types/FooterRendererProps.d.ts +17 -0
  244. package/dist/core/src/types/GenerateRowIdParams.d.ts +11 -0
  245. package/dist/core/src/types/GetRowId.d.ts +10 -0
  246. package/dist/core/src/types/HandleResizeStartProps.d.ts +21 -0
  247. package/dist/core/src/types/HeaderDropdownProps.d.ts +14 -0
  248. package/dist/core/src/types/HeaderObject.d.ts +98 -0
  249. package/dist/core/src/types/HeaderRendererProps.d.ts +17 -0
  250. package/dist/core/src/types/IconsConfig.d.ts +19 -0
  251. package/dist/core/src/types/OnNextPage.d.ts +2 -0
  252. package/dist/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
  253. package/dist/core/src/types/OnSortProps.d.ts +3 -0
  254. package/dist/core/src/types/PanelSection.d.ts +1 -0
  255. package/dist/core/src/types/Pinned.d.ts +1 -0
  256. package/dist/core/src/types/PinnedSectionsState.d.ts +6 -0
  257. package/dist/core/src/types/QuickFilterTypes.d.ts +21 -0
  258. package/dist/core/src/types/Row.d.ts +3 -0
  259. package/dist/core/src/types/RowButton.d.ts +6 -0
  260. package/dist/core/src/types/RowId.d.ts +1 -0
  261. package/dist/core/src/types/RowSelectionChangeProps.d.ts +7 -0
  262. package/dist/core/src/types/RowState.d.ts +12 -0
  263. package/dist/core/src/types/RowStateRendererProps.d.ts +18 -0
  264. package/dist/core/src/types/SharedTableProps.d.ts +24 -0
  265. package/dist/core/src/types/SimpleTableConfig.d.ts +88 -0
  266. package/dist/core/src/types/SimpleTableProps.d.ts +99 -0
  267. package/dist/core/src/types/SortColumn.d.ts +8 -0
  268. package/dist/core/src/types/TableAPI.d.ts +57 -0
  269. package/dist/core/src/types/TableHeaderProps.d.ts +17 -0
  270. package/dist/core/src/types/TableRefType.d.ts +78 -0
  271. package/dist/core/src/types/TableRow.d.ts +29 -0
  272. package/dist/core/src/types/TableRowProps.d.ts +29 -0
  273. package/dist/core/src/types/Theme.d.ts +2 -0
  274. package/dist/core/src/types/UpdateCellProps.d.ts +8 -0
  275. package/dist/core/src/utils/bodyCell/content.d.ts +5 -0
  276. package/dist/core/src/utils/bodyCell/editing.d.ts +4 -0
  277. package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
  278. package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
  279. package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
  280. package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
  281. package/dist/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
  282. package/dist/core/src/utils/bodyCell/expansion.d.ts +4 -0
  283. package/dist/core/src/utils/bodyCell/selection.d.ts +7 -0
  284. package/dist/core/src/utils/bodyCell/styling.d.ts +5 -0
  285. package/dist/core/src/utils/bodyCell/types.d.ts +103 -0
  286. package/dist/core/src/utils/bodyCellRenderer.d.ts +5 -0
  287. package/dist/core/src/utils/cellClipboardUtils.d.ts +25 -0
  288. package/dist/core/src/utils/cellScrollUtils.d.ts +10 -0
  289. package/dist/core/src/utils/cellUtils.d.ts +18 -0
  290. package/dist/core/src/utils/charts/createBarChart.d.ts +15 -0
  291. package/dist/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
  292. package/dist/core/src/utils/collapseUtils.d.ts +24 -0
  293. package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
  294. package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
  295. package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
  296. package/dist/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
  297. package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
  298. package/dist/core/src/utils/csvExportUtils.d.ts +14 -0
  299. package/dist/core/src/utils/dateUtils.d.ts +18 -0
  300. package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
  301. package/dist/core/src/utils/filterUtils.d.ts +5 -0
  302. package/dist/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
  303. package/dist/core/src/utils/filters/createCustomSelect.d.ts +20 -0
  304. package/dist/core/src/utils/filters/createDateFilter.d.ts +15 -0
  305. package/dist/core/src/utils/filters/createDatePicker.d.ts +10 -0
  306. package/dist/core/src/utils/filters/createDropdown.d.ts +16 -0
  307. package/dist/core/src/utils/filters/createEnumFilter.d.ts +15 -0
  308. package/dist/core/src/utils/filters/createFilterActions.d.ts +11 -0
  309. package/dist/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
  310. package/dist/core/src/utils/filters/createFilterInput.d.ts +16 -0
  311. package/dist/core/src/utils/filters/createNumberFilter.d.ts +15 -0
  312. package/dist/core/src/utils/filters/createStringFilter.d.ts +15 -0
  313. package/dist/core/src/utils/footer/createTableFooter.d.ts +21 -0
  314. package/dist/core/src/utils/formatters.d.ts +3 -0
  315. package/dist/core/src/utils/generalUtils.d.ts +4 -0
  316. package/dist/core/src/utils/headerCell/collapsing.d.ts +6 -0
  317. package/dist/core/src/utils/headerCell/dragging.d.ts +5 -0
  318. package/dist/core/src/utils/headerCell/editing.d.ts +4 -0
  319. package/dist/core/src/utils/headerCell/eventTracking.d.ts +25 -0
  320. package/dist/core/src/utils/headerCell/filtering.d.ts +3 -0
  321. package/dist/core/src/utils/headerCell/resizing.d.ts +3 -0
  322. package/dist/core/src/utils/headerCell/selection.d.ts +10 -0
  323. package/dist/core/src/utils/headerCell/sorting.d.ts +3 -0
  324. package/dist/core/src/utils/headerCell/styling.d.ts +5 -0
  325. package/dist/core/src/utils/headerCell/types.d.ts +75 -0
  326. package/dist/core/src/utils/headerCellRenderer.d.ts +4 -0
  327. package/dist/core/src/utils/headerUtils.d.ts +41 -0
  328. package/dist/core/src/utils/headerWidthUtils.d.ts +56 -0
  329. package/dist/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
  330. package/dist/core/src/utils/infiniteScrollUtils.d.ts +145 -0
  331. package/dist/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
  332. package/dist/core/src/utils/pinnedColumnUtils.d.ts +25 -0
  333. package/dist/core/src/utils/quickFilterUtils.d.ts +14 -0
  334. package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
  335. package/dist/core/src/utils/resizeUtils/compensation.d.ts +11 -0
  336. package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
  337. package/dist/core/src/utils/resizeUtils/index.d.ts +5 -0
  338. package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
  339. package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
  340. package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
  341. package/dist/core/src/utils/rowFlattening.d.ts +30 -0
  342. package/dist/core/src/utils/rowProcessing.d.ts +36 -0
  343. package/dist/core/src/utils/rowSelectionUtils.d.ts +39 -0
  344. package/dist/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
  345. package/dist/core/src/utils/rowUtils.d.ts +136 -0
  346. package/dist/core/src/utils/sortUtils.d.ts +8 -0
  347. package/dist/core/src/utils/stateRowRenderer.d.ts +15 -0
  348. package/dist/core/src/utils/stickyParentsRenderer.d.ts +30 -0
  349. package/dist/index.es.js +2 -0
  350. package/dist/index.es.js.map +1 -0
  351. package/package.json +72 -0
@@ -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";
98
+ heightMap?: CumulativeHeightMap;
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";
128
+ heightMap?: CumulativeHeightMap;
129
+ }) => TableRow[];
130
+ export declare const calculateSeparatorTopPosition: ({ position, rowHeight, heightOffsets, customTheme, }: {
131
+ position: number;
132
+ rowHeight: number;
133
+ heightOffsets?: HeightOffsets;
134
+ customTheme: CustomTheme;
135
+ }) => number;
136
+ export declare const calculateRowTopPosition: ({ position, rowHeight, heightOffsets, customTheme, }: {
137
+ position: number;
138
+ rowHeight: number;
139
+ heightOffsets?: HeightOffsets;
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
+ };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Vanilla equivalent of React NestedGridRow: renders a full-width row that contains
3
+ * a nested SimpleTable when a row has nestedTable config (expandable + nestedTable headers).
4
+ */
5
+ import type TableRow from "../types/TableRow";
6
+ import type { CustomTheme } from "../types/CustomTheme";
7
+ import type { SimpleTableConfig } from "../types/SimpleTableConfig";
8
+ import { type HeightOffsets } from "./infiniteScrollUtils";
9
+ export interface NestedGridRowRenderContext {
10
+ rowHeight: number;
11
+ heightOffsets: HeightOffsets | undefined;
12
+ customTheme: CustomTheme;
13
+ theme?: string;
14
+ rowGrouping?: (string | number)[];
15
+ depth: number;
16
+ loadingStateRenderer?: SimpleTableConfig["loadingStateRenderer"];
17
+ errorStateRenderer?: SimpleTableConfig["errorStateRenderer"];
18
+ emptyStateRenderer?: SimpleTableConfig["emptyStateRenderer"];
19
+ icons?: SimpleTableConfig["icons"];
20
+ }
21
+ /**
22
+ * Creates a nested grid row element: a div with class "st-row st-nested-grid-row"
23
+ * that contains a nested SimpleTableVanilla instance.
24
+ * Returns the row element and a cleanup function to destroy the nested table.
25
+ */
26
+ export declare function createNestedGridRow(tableRow: TableRow, context: NestedGridRowRenderContext): {
27
+ element: HTMLElement;
28
+ cleanup: () => void;
29
+ };
30
+ /**
31
+ * Creates a spacer row for pinned sections: same position/height as a nested grid row
32
+ * but no inner table (keeps scroll height in sync).
33
+ */
34
+ export declare function createNestedGridSpacer(tableRow: TableRow, context: Pick<NestedGridRowRenderContext, "rowHeight" | "heightOffsets" | "customTheme">): HTMLElement;
@@ -0,0 +1,25 @@
1
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
2
+ import { PinnedSectionsState } from "../types/PinnedSectionsState";
3
+ import { PanelSection } from "../types/PanelSection";
4
+ export type { PinnedSectionsState, PanelSection };
5
+ /** Root-level columns only, preserving order within each pin group. */
6
+ export declare function partitionRootHeadersByPin(headers: HeaderObject[]): {
7
+ pinnedLeft: HeaderObject[];
8
+ unpinned: HeaderObject[];
9
+ pinnedRight: HeaderObject[];
10
+ };
11
+ export declare function isHeaderEssential(header: HeaderObject, essentialAccessors: ReadonlySet<string>): boolean;
12
+ /** Accessors for every header with `isEssential` in the tree (including nested). */
13
+ export declare function collectEssentialAccessors(headers: HeaderObject[]): Set<string>;
14
+ /** Within one sibling list: all essential columns must form a left prefix. */
15
+ export declare function hasEssentialPrefixOrder(siblings: HeaderObject[], essentialAccessors: ReadonlySet<string>): boolean;
16
+ /** Root array mixes pin sections; validate each pin group separately, then recurse into children. */
17
+ export declare function validateFullHeaderTreeEssentialOrder(headers: HeaderObject[], essentialAccessors: ReadonlySet<string>): boolean;
18
+ export declare function getPinnedSectionsState(headers: HeaderObject[]): PinnedSectionsState;
19
+ /**
20
+ * Rebuilds root `headers` order and `pinned` flags from section accessor lists.
21
+ * Clamps essential columns to the left within each section. Returns null if accessors don't match roots.
22
+ */
23
+ export declare function rebuildHeadersFromPinnedState(headers: HeaderObject[], state: PinnedSectionsState, essentialAccessors: ReadonlySet<string>): HeaderObject[] | null;
24
+ /** Move a root column to another pin section (append within target section). */
25
+ export declare function moveRootColumnPinSide(headers: HeaderObject[], accessor: Accessor, target: Exclude<PanelSection, "main"> | "main", essentialAccessors: ReadonlySet<string>): HeaderObject[] | null;
@@ -0,0 +1,14 @@
1
+ import { SmartFilterToken } from "../types/QuickFilterTypes";
2
+ /**
3
+ * Parses a smart filter query into tokens
4
+ * Supports:
5
+ * - Multi-word: "john engineer" → matches rows containing both "john" AND "engineer"
6
+ * - Phrase: "john doe" → matches exact phrase
7
+ * - Negation: -inactive → excludes rows containing "inactive"
8
+ * - Column-specific: name:john → searches only in name column
9
+ */
10
+ export declare const parseSmartFilter: (query: string) => SmartFilterToken[];
11
+ /**
12
+ * Checks if a value matches a simple filter (case-insensitive contains)
13
+ */
14
+ export declare const matchesSimpleFilter: (value: string, filterText: string, caseSensitive: boolean) => boolean;
@@ -0,0 +1,21 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ import type { Pinned } from "../../types/Pinned";
3
+ /**
4
+ * Handle resize with autoExpandColumns enabled
5
+ * Columns to the right (or left for right-pinned) shrink proportionally
6
+ */
7
+ export declare const handleResizeWithAutoExpand: ({ childrenToResize, collapsedHeaders, containerWidth, delta, headers, initialWidthsMap, isParentResize, resizedHeader, reverse, rootPinned, sectionHeaders, sectionWidth, startWidth, }: {
8
+ childrenToResize?: HeaderObject[];
9
+ collapsedHeaders?: Set<string>;
10
+ containerWidth: number;
11
+ delta: number;
12
+ headers: HeaderObject[];
13
+ initialWidthsMap: Map<string, number>;
14
+ isParentResize?: boolean;
15
+ resizedHeader: HeaderObject;
16
+ reverse: boolean;
17
+ rootPinned: Pinned | undefined;
18
+ sectionHeaders: HeaderObject[];
19
+ sectionWidth: number;
20
+ startWidth: number;
21
+ }) => void;
@@ -0,0 +1,11 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ /**
3
+ * Distribute compensation among columns proportionally based on available headroom
4
+ * Used in autoExpandColumns mode
5
+ * Positive compensation = shrink columns, Negative compensation = grow columns
6
+ */
7
+ export declare const distributeCompensationProportionally: ({ columnsToShrink, totalCompensation, initialWidthsMap, }: {
8
+ columnsToShrink: HeaderObject[];
9
+ totalCompensation: number;
10
+ initialWidthsMap: Map<string, number>;
11
+ }) => void;
@@ -0,0 +1,15 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ import type { Pinned } from "../../types/Pinned";
3
+ /**
4
+ * Get the pinned value from the root header (for nested headers, children inherit from parent)
5
+ */
6
+ export declare const getRootPinned: (header: HeaderObject, headers: HeaderObject[]) => Pinned | undefined;
7
+ /**
8
+ * Update column widths and positions directly in the DOM without triggering React re-renders
9
+ * This is used during resize drag for better performance
10
+ *
11
+ * IMPORTANT: Positions are calculated per pinned section (left/main/right each start at 0)
12
+ * @param collapsedHeaders - Set of collapsed header accessors; only visible children are laid out (matches findLeafHeaders / SectionRenderer).
13
+ * @param overrideWidths - Optional map of accessor -> width to use for position calculation (e.g. after resize so DOM reflects just-set value)
14
+ */
15
+ export declare const updateColumnWidthsInDOM: (headers: HeaderObject[], collapsedHeaders?: Set<string>, overrideWidths?: Map<string, number>) => void;
@@ -0,0 +1,5 @@
1
+ import type { HandleResizeStartProps } from "../../types/HandleResizeStartProps";
2
+ /**
3
+ * Handler for when resize dragging starts
4
+ */
5
+ export declare const handleResizeStart: ({ autoExpandColumns, collapsedHeaders, containerWidth, event, header, headers, onColumnWidthChange, reverse, setHeaders, setIsResizing, startWidth, }: HandleResizeStartProps) => void;
@@ -0,0 +1,9 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ /**
3
+ * Calculate the maximum allowable width for a header based on container constraints
4
+ */
5
+ export declare const calculateMaxHeaderWidth: ({ header, headers, collapsedHeaders, }: {
6
+ header: HeaderObject;
7
+ headers: HeaderObject[];
8
+ collapsedHeaders?: Set<string>;
9
+ }) => number;
@@ -0,0 +1,11 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ /**
3
+ * Handle resizing of parent headers with multiple children
4
+ */
5
+ export declare const handleParentHeaderResize: ({ delta, leafHeaders, minWidth, startWidth, maxWidth, }: {
6
+ delta: number;
7
+ leafHeaders: HeaderObject[];
8
+ minWidth: number;
9
+ startWidth: number;
10
+ maxWidth: number;
11
+ }) => void;
@@ -0,0 +1,16 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ /**
3
+ * Recalculate widths for all sections (left, right, main)
4
+ * Returns both constrained widths (for display) and raw content widths (for scrolling)
5
+ */
6
+ export declare const recalculateAllSectionWidths: ({ headers, containerWidth, collapsedHeaders, }: {
7
+ headers: HeaderObject[];
8
+ containerWidth?: number;
9
+ collapsedHeaders?: Set<string>;
10
+ }) => {
11
+ leftWidth: number;
12
+ rightWidth: number;
13
+ mainWidth: number;
14
+ leftContentWidth: number;
15
+ rightContentWidth: number;
16
+ };
@@ -0,0 +1,30 @@
1
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
2
+ import Row from "../types/Row";
3
+ import RowState from "../types/RowState";
4
+ import TableRow from "../types/TableRow";
5
+ import { HeightOffsets } from "./infiniteScrollUtils";
6
+ import { CustomTheme } from "../types/CustomTheme";
7
+ import { GetRowId } from "../types/GetRowId";
8
+ export interface FlattenRowsConfig {
9
+ rows: Row[];
10
+ rowGrouping?: Accessor[];
11
+ getRowId?: GetRowId;
12
+ expandedRows?: Map<string, number>;
13
+ collapsedRows?: Map<string, number>;
14
+ expandedDepths?: Set<number>;
15
+ rowStateMap?: Map<string | number, RowState>;
16
+ hasLoadingRenderer?: boolean;
17
+ hasErrorRenderer?: boolean;
18
+ hasEmptyRenderer?: boolean;
19
+ headers?: HeaderObject[];
20
+ rowHeight?: number;
21
+ headerHeight?: number;
22
+ customTheme?: CustomTheme;
23
+ }
24
+ export interface FlattenRowsResult {
25
+ flattenedRows: TableRow[];
26
+ heightOffsets: HeightOffsets;
27
+ paginatableRows: TableRow[];
28
+ parentEndPositions: number[];
29
+ }
30
+ export declare function flattenRows(config: FlattenRowsConfig): FlattenRowsResult;
@@ -0,0 +1,36 @@
1
+ import { CumulativeHeightMap } from "./infiniteScrollUtils";
2
+ import { Accessor } from "../types/HeaderObject";
3
+ import TableRow from "../types/TableRow";
4
+ import { HeightOffsets } from "./infiniteScrollUtils";
5
+ import { CustomTheme } from "../types/CustomTheme";
6
+ export interface ProcessRowsConfig {
7
+ flattenedRows: TableRow[];
8
+ paginatableRows: TableRow[];
9
+ parentEndPositions: number[];
10
+ currentPage: number;
11
+ rowsPerPage: number;
12
+ shouldPaginate: boolean;
13
+ serverSidePagination: boolean;
14
+ contentHeight: number | undefined;
15
+ rowHeight: number;
16
+ scrollTop: number;
17
+ scrollDirection?: "up" | "down" | "none";
18
+ heightOffsets?: HeightOffsets;
19
+ customTheme: CustomTheme;
20
+ enableStickyParents: boolean;
21
+ rowGrouping?: Accessor[];
22
+ }
23
+ export interface ProcessRowsResult {
24
+ currentTableRows: TableRow[];
25
+ rowsToRender: TableRow[];
26
+ /** Visible range start index into currentTableRows (when virtualized). */
27
+ renderedStartIndex: number;
28
+ /** Visible range end index into currentTableRows (when virtualized). */
29
+ renderedEndIndex: number;
30
+ stickyParents: TableRow[];
31
+ regularRows: TableRow[];
32
+ partiallyVisibleRows: TableRow[];
33
+ paginatedHeightOffsets: HeightOffsets | undefined;
34
+ heightMap: CumulativeHeightMap | undefined;
35
+ }
36
+ export declare function processRows(config: ProcessRowsConfig): ProcessRowsResult;
@@ -0,0 +1,39 @@
1
+ import Row from "../types/Row";
2
+ import TableRow from "../types/TableRow";
3
+ import HeaderObject from "../types/HeaderObject";
4
+ /**
5
+ * Get the set of selected row IDs from an array of table rows
6
+ */
7
+ export declare const getSelectedRowIds: (tableRows: TableRow[]) => string[];
8
+ /**
9
+ * Check if a specific row is selected
10
+ */
11
+ export declare const isRowSelected: (rowId: string, selectedRows: Set<string>) => boolean;
12
+ /**
13
+ * Check if all rows are selected
14
+ */
15
+ export declare const areAllRowsSelected: (tableRows: TableRow[], selectedRows: Set<string>) => boolean;
16
+ /**
17
+ * Toggle selection of a single row
18
+ */
19
+ export declare const toggleRowSelection: (rowId: string, selectedRows: Set<string>) => Set<string>;
20
+ /**
21
+ * Select all rows
22
+ */
23
+ export declare const selectAllRows: (tableRows: TableRow[]) => Set<string>;
24
+ /**
25
+ * Deselect all rows
26
+ */
27
+ export declare const deselectAllRows: () => Set<string>;
28
+ /**
29
+ * Get the selected rows from the table rows array
30
+ */
31
+ export declare const getSelectedRows: (tableRows: TableRow[], selectedRows: Set<string>) => Row[];
32
+ /**
33
+ * Get the count of selected rows
34
+ */
35
+ export declare const getSelectedRowCount: (selectedRows: Set<string>) => number;
36
+ /**
37
+ * Create a selection header for the checkbox column
38
+ */
39
+ export declare const createSelectionHeader: (width: number) => HeaderObject;
@@ -0,0 +1,12 @@
1
+ import { HeightOffsets } from "./infiniteScrollUtils";
2
+ import { CustomTheme } from "../types/CustomTheme";
3
+ export interface CreateRowSeparatorOptions {
4
+ position: number;
5
+ rowHeight: number;
6
+ displayStrongBorder: boolean;
7
+ heightOffsets?: HeightOffsets;
8
+ customTheme?: CustomTheme;
9
+ isSticky?: boolean;
10
+ }
11
+ export declare const createRowSeparator: (options: CreateRowSeparatorOptions) => HTMLElement;
12
+ export declare const createSpacerRow: (position: number, rowHeight: number, heightOffsets: HeightOffsets | undefined, customTheme: CustomTheme, className: string, height?: number) => HTMLElement;