@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 @@
1
+ export declare const createCheckIcon: (className?: string) => SVGSVGElement;
@@ -0,0 +1 @@
1
+ export declare const createDescIcon: (className?: string) => SVGSVGElement;
@@ -0,0 +1 @@
1
+ export declare const createDragIcon: (className?: string) => SVGSVGElement;
@@ -0,0 +1 @@
1
+ export declare const createFilterIcon: (className?: string) => SVGSVGElement;
@@ -0,0 +1 @@
1
+ export declare const createSelectIcon: () => SVGSVGElement;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Internal icon factory functions
3
+ * These create vanilla JS SVG elements for use within the table component
4
+ */
5
+ export { createAngleDownIcon } from "./AngleDownIcon";
6
+ export { createAngleLeftIcon } from "./AngleLeftIcon";
7
+ export { createAngleRightIcon } from "./AngleRightIcon";
8
+ export { createAngleUpIcon } from "./AngleUpIcon";
9
+ export { createAscIcon } from "./AscIcon";
10
+ export { createCheckIcon } from "./CheckIcon";
11
+ export { createDescIcon } from "./DescIcon";
12
+ export { createDragIcon } from "./DragIcon";
13
+ export { createFilterIcon } from "./FilterIcon";
14
+ export { createSelectIcon } from "./SelectIcon";
@@ -0,0 +1,48 @@
1
+ import { SimpleTableVanilla } from "./core/SimpleTableVanilla";
2
+ import type BoundingBox from "./types/BoundingBox";
3
+ import type Cell from "./types/Cell";
4
+ import type CellChangeProps from "./types/CellChangeProps";
5
+ import type CellValue from "./types/CellValue";
6
+ import type DragHandlerProps from "./types/DragHandlerProps";
7
+ import type EnumOption from "./types/EnumOption";
8
+ import type HeaderObject from "./types/HeaderObject";
9
+ import type { Accessor, ChartOptions, ColumnType, Comparator, ComparatorProps, ExportValueGetter, ExportValueProps, ShowWhen, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps } from "./types/HeaderObject";
10
+ import type { AggregationConfig, AggregationType } from "./types/AggregationTypes";
11
+ import type OnSortProps from "./types/OnSortProps";
12
+ import type OnRowGroupExpandProps from "./types/OnRowGroupExpandProps";
13
+ import type Row from "./types/Row";
14
+ import type RowState from "./types/RowState";
15
+ import type SharedTableProps from "./types/SharedTableProps";
16
+ import type SortColumn from "./types/SortColumn";
17
+ import type TableHeaderProps from "./types/TableHeaderProps";
18
+ import type { TableAPI, SetHeaderRenameProps, ExportToCSVProps } from "./types/TableAPI";
19
+ import type TableRefType from "./types/TableRefType";
20
+ import type TableRowProps from "./types/TableRowProps";
21
+ import type Theme from "./types/Theme";
22
+ import type UpdateDataProps from "./types/UpdateCellProps";
23
+ import type { FilterCondition, TableFilterState } from "./types/FilterTypes";
24
+ import type { QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode } from "./types/QuickFilterTypes";
25
+ import type { ColumnVisibilityState } from "./types/ColumnVisibilityTypes";
26
+ import type RowSelectionChangeProps from "./types/RowSelectionChangeProps";
27
+ import type CellClickProps from "./types/CellClickProps";
28
+ import type CellRendererProps from "./types/CellRendererProps";
29
+ import type { CellRenderer } from "./types/CellRendererProps";
30
+ import type HeaderRendererProps from "./types/HeaderRendererProps";
31
+ import type { HeaderRenderer, HeaderRendererComponents } from "./types/HeaderRendererProps";
32
+ import type ColumnEditorRowRendererProps from "./types/ColumnEditorRowRendererProps";
33
+ import type { ColumnEditorRowRenderer, ColumnEditorRowRendererComponents } from "./types/ColumnEditorRowRendererProps";
34
+ import type HeaderDropdownProps from "./types/HeaderDropdownProps";
35
+ import type { HeaderDropdown } from "./types/HeaderDropdownProps";
36
+ import type { RowButtonProps } from "./types/RowButton";
37
+ import type FooterRendererProps from "./types/FooterRendererProps";
38
+ import type { LoadingStateRenderer, ErrorStateRenderer, EmptyStateRenderer, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps } from "./types/RowStateRendererProps";
39
+ import type { CustomTheme, CustomThemeProps } from "./types/CustomTheme";
40
+ import type { ColumnEditorConfig, ColumnEditorSearchFunction } from "./types/ColumnEditorConfig";
41
+ import type { IconsConfig } from "./types/IconsConfig";
42
+ import type { GetRowId, GetRowIdParams } from "./types/GetRowId";
43
+ import type { SimpleTableConfig } from "./types/SimpleTableConfig";
44
+ import type { SimpleTableProps } from "./types/SimpleTableProps";
45
+ import type { RowId } from "./types/RowId";
46
+ import type { PinnedSectionsState } from "./types/PinnedSectionsState";
47
+ export { SimpleTableVanilla };
48
+ export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FooterRendererProps, GetRowId, GetRowIdParams, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererProps, HeaderRendererComponents, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRefType, TableRowProps, Theme, PinnedSectionsState, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, };
@@ -0,0 +1,26 @@
1
+ import HeaderObject from "../types/HeaderObject";
2
+ interface AutoScaleConfig {
3
+ autoExpandColumns: boolean;
4
+ containerWidth: number;
5
+ pinnedLeftWidth: number;
6
+ pinnedRightWidth: number;
7
+ mainBodyRef: {
8
+ current: HTMLDivElement | null;
9
+ };
10
+ isResizing?: boolean;
11
+ }
12
+ type HeaderUpdateCallback = (headers: HeaderObject[]) => void;
13
+ export declare const applyAutoScaleToHeaders: (headers: HeaderObject[], options: AutoScaleConfig) => HeaderObject[];
14
+ export declare class AutoScaleManager {
15
+ private config;
16
+ private onHeadersUpdate;
17
+ private isResizingTracker;
18
+ private containerWidthTracker;
19
+ constructor(config: AutoScaleConfig, onHeadersUpdate: HeaderUpdateCallback);
20
+ updateConfig(config: Partial<AutoScaleConfig>): void;
21
+ private triggerAutoScale;
22
+ applyAutoScale(headers: HeaderObject[]): HeaderObject[];
23
+ setHeaders(headersOrUpdater: HeaderObject[] | ((prev: HeaderObject[]) => HeaderObject[]), currentHeaders: HeaderObject[]): HeaderObject[];
24
+ destroy(): void;
25
+ }
26
+ export {};
@@ -0,0 +1,42 @@
1
+ import HeaderObject from "../types/HeaderObject";
2
+ export interface DimensionManagerConfig {
3
+ effectiveHeaders: HeaderObject[];
4
+ headerHeight?: number;
5
+ rowHeight: number;
6
+ height?: string | number;
7
+ maxHeight?: string | number;
8
+ totalRowCount: number;
9
+ footerHeight?: number;
10
+ containerElement?: HTMLElement;
11
+ }
12
+ export interface DimensionManagerState {
13
+ containerWidth: number;
14
+ calculatedHeaderHeight: number;
15
+ maxHeaderDepth: number;
16
+ contentHeight: number | undefined;
17
+ }
18
+ type StateChangeCallback = (state: DimensionManagerState) => void;
19
+ export declare class DimensionManager {
20
+ private config;
21
+ private state;
22
+ private subscribers;
23
+ private resizeObserver;
24
+ private rafId;
25
+ constructor(config: DimensionManagerConfig);
26
+ private getHeaderDepth;
27
+ private calculateMaxHeaderDepth;
28
+ private calculateHeaderHeight;
29
+ private convertHeightToPixels;
30
+ private calculateContentHeight;
31
+ private observeContainer;
32
+ updateConfig(config: Partial<DimensionManagerConfig>): void;
33
+ subscribe(callback: StateChangeCallback): () => void;
34
+ private notifySubscribers;
35
+ getState(): DimensionManagerState;
36
+ getContainerWidth(): number;
37
+ getCalculatedHeaderHeight(): number;
38
+ getMaxHeaderDepth(): number;
39
+ getContentHeight(): number | undefined;
40
+ destroy(): void;
41
+ }
42
+ export {};
@@ -0,0 +1,44 @@
1
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
2
+ export declare const getHeaderIndexPath: (headers: HeaderObject[], targetAccessor: Accessor, currentPath?: number[]) => number[] | null;
3
+ export declare const getSiblingArray: (headers: HeaderObject[], indexPath: number[]) => HeaderObject[];
4
+ export declare const setSiblingArray: (headers: HeaderObject[], indexPath: number[], newSiblings: HeaderObject[]) => HeaderObject[];
5
+ export declare const getHeaderSection: (header: HeaderObject) => "left" | "main" | "right";
6
+ export declare const updateHeaderPinnedProperty: (header: HeaderObject, targetSection: "left" | "main" | "right") => HeaderObject;
7
+ export declare function swapHeaders(headers: HeaderObject[], draggedPath: number[], hoveredPath: number[]): {
8
+ newHeaders: HeaderObject[];
9
+ emergencyBreak: boolean;
10
+ };
11
+ export declare function insertHeaderAcrossSections({ headers, draggedHeader, hoveredHeader, }: {
12
+ headers: HeaderObject[];
13
+ draggedHeader: HeaderObject;
14
+ hoveredHeader: HeaderObject;
15
+ }): {
16
+ newHeaders: HeaderObject[];
17
+ emergencyBreak: boolean;
18
+ };
19
+ export interface DragHandlerManagerConfig {
20
+ headers: HeaderObject[];
21
+ essentialAccessors?: ReadonlySet<string>;
22
+ onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
23
+ onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
24
+ onHeadersChange?: (newHeaders: HeaderObject[]) => void;
25
+ }
26
+ export declare class DragHandlerManager {
27
+ private config;
28
+ private draggedHeader;
29
+ private hoveredHeader;
30
+ private prevUpdateTime;
31
+ private prevDraggingPosition;
32
+ private prevHeadersTracker;
33
+ constructor(config: DragHandlerManagerConfig);
34
+ updateConfig(config: Partial<DragHandlerManagerConfig>): void;
35
+ getDraggedHeader(): HeaderObject | null;
36
+ getHoveredHeader(): HeaderObject | null;
37
+ handleDragStart(header: HeaderObject): void;
38
+ handleDragOver({ event, hoveredHeader, }: {
39
+ event: DragEvent;
40
+ hoveredHeader: HeaderObject;
41
+ }): void;
42
+ handleDragEnd(): void;
43
+ destroy(): void;
44
+ }
@@ -0,0 +1,36 @@
1
+ import { TableFilterState, FilterCondition } from "../types/FilterTypes";
2
+ import Row from "../types/Row";
3
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
4
+ export interface FilterManagerConfig {
5
+ rows: Row[];
6
+ headers: HeaderObject[];
7
+ externalFilterHandling: boolean;
8
+ onFilterChange?: (filters: TableFilterState) => void;
9
+ announce?: (message: string) => void;
10
+ }
11
+ export interface FilterManagerState {
12
+ filters: TableFilterState;
13
+ filteredRows: Row[];
14
+ }
15
+ type StateChangeCallback = (state: FilterManagerState) => void;
16
+ export declare class FilterManager {
17
+ private config;
18
+ private state;
19
+ private subscribers;
20
+ private headerLookup;
21
+ constructor(config: FilterManagerConfig);
22
+ private updateHeaderLookup;
23
+ private computeFilteredRows;
24
+ updateConfig(config: Partial<FilterManagerConfig>): void;
25
+ subscribe(callback: StateChangeCallback): () => void;
26
+ private notifySubscribers;
27
+ updateFilter(filter: FilterCondition): void;
28
+ clearFilter(accessor: Accessor): void;
29
+ clearAllFilters(): void;
30
+ computeFilteredRowsPreview(filter: FilterCondition): Row[];
31
+ getState(): FilterManagerState;
32
+ getFilters(): TableFilterState;
33
+ getFilteredRows(): Row[];
34
+ destroy(): void;
35
+ }
36
+ export {};
@@ -0,0 +1,56 @@
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 "../utils/infiniteScrollUtils";
6
+ import { CustomTheme } from "../types/CustomTheme";
7
+ import { GetRowId } from "../types/GetRowId";
8
+ export interface RowManagerConfig {
9
+ rows: Row[];
10
+ headers: HeaderObject[];
11
+ rowGrouping?: Accessor[];
12
+ getRowId?: GetRowId;
13
+ rowHeight: number;
14
+ headerHeight: number;
15
+ customTheme: CustomTheme;
16
+ hasLoadingRenderer: boolean;
17
+ hasErrorRenderer: boolean;
18
+ hasEmptyRenderer: boolean;
19
+ }
20
+ export interface RowManagerState {
21
+ expandedRows: Map<string, number>;
22
+ collapsedRows: Map<string, number>;
23
+ expandedDepths: Set<number>;
24
+ rowStateMap: Map<string | number, RowState>;
25
+ aggregatedRows: Row[];
26
+ flattenedRows: TableRow[];
27
+ heightOffsets: HeightOffsets;
28
+ paginatableRows: TableRow[];
29
+ parentEndPositions: number[];
30
+ }
31
+ type StateChangeCallback = (state: RowManagerState) => void;
32
+ export declare class RowManager {
33
+ private config;
34
+ private state;
35
+ private subscribers;
36
+ constructor(config: RowManagerConfig);
37
+ private getAllAggregationHeaders;
38
+ private calculateAggregation;
39
+ private computeAggregatedRows;
40
+ private computeFlattenedRows;
41
+ updateConfig(config: Partial<RowManagerConfig>): void;
42
+ subscribe(callback: StateChangeCallback): () => void;
43
+ private notifySubscribers;
44
+ setExpandedRows(expandedRows: Map<string, number>): void;
45
+ setCollapsedRows(collapsedRows: Map<string, number>): void;
46
+ setExpandedDepths(expandedDepths: Set<number>): void;
47
+ setRowStateMap(rowStateMap: Map<string | number, RowState>): void;
48
+ getState(): RowManagerState;
49
+ getAggregatedRows(): Row[];
50
+ getFlattenedRows(): TableRow[];
51
+ getHeightOffsets(): HeightOffsets;
52
+ getPaginatableRows(): TableRow[];
53
+ getParentEndPositions(): number[];
54
+ destroy(): void;
55
+ }
56
+ export {};
@@ -0,0 +1,36 @@
1
+ import TableRow from "../types/TableRow";
2
+ import RowSelectionChangeProps from "../types/RowSelectionChangeProps";
3
+ export interface RowSelectionManagerConfig {
4
+ tableRows: TableRow[];
5
+ onRowSelectionChange?: (props: RowSelectionChangeProps) => void;
6
+ enableRowSelection?: boolean;
7
+ }
8
+ export interface RowSelectionManagerState {
9
+ selectedRows: Set<string>;
10
+ selectedRowCount: number;
11
+ selectedRowsData: any[];
12
+ }
13
+ type StateChangeCallback = (state: RowSelectionManagerState) => void;
14
+ export declare class RowSelectionManager {
15
+ private config;
16
+ private state;
17
+ private subscribers;
18
+ constructor(config: RowSelectionManagerConfig);
19
+ updateConfig(config: Partial<RowSelectionManagerConfig>): void;
20
+ private updateDerivedState;
21
+ subscribe(callback: StateChangeCallback): () => void;
22
+ private notifySubscribers;
23
+ isRowSelected(rowId: string): boolean;
24
+ areAllRowsSelected(): boolean;
25
+ getSelectedRows(): Set<string>;
26
+ getSelectedRowCount(): number;
27
+ getSelectedRowsData(): any[];
28
+ setSelectedRows(selectedRows: Set<string>): void;
29
+ handleRowSelect(rowId: string, isSelected: boolean): void;
30
+ handleSelectAll(isSelected: boolean): void;
31
+ handleToggleRow(rowId: string): void;
32
+ clearSelection(): void;
33
+ getState(): RowSelectionManagerState;
34
+ destroy(): void;
35
+ }
36
+ export {};
@@ -0,0 +1,35 @@
1
+ export interface ScrollManagerConfig {
2
+ onLoadMore?: () => void;
3
+ infiniteScrollThreshold?: number;
4
+ }
5
+ export interface ScrollManagerState {
6
+ scrollTop: number;
7
+ scrollLeft: number;
8
+ scrollDirection: "up" | "down" | "none";
9
+ isScrolling: boolean;
10
+ }
11
+ type StateChangeCallback = (state: ScrollManagerState) => void;
12
+ /**
13
+ * Manages vertical scroll state (scrollTop, direction, isScrolling) and infinite scroll.
14
+ * Horizontal header/body/scrollbar sync is handled by SectionScrollController.
15
+ */
16
+ export declare class ScrollManager {
17
+ private config;
18
+ private state;
19
+ private subscribers;
20
+ private lastScrollTop;
21
+ private scrollTimeoutId;
22
+ constructor(config: ScrollManagerConfig);
23
+ updateConfig(config: Partial<ScrollManagerConfig>): void;
24
+ subscribe(callback: StateChangeCallback): () => void;
25
+ private notifySubscribers;
26
+ handleScroll(scrollTop: number, scrollLeft: number, containerHeight: number, contentHeight: number): void;
27
+ setScrolling(isScrolling: boolean): void;
28
+ getState(): ScrollManagerState;
29
+ getScrollTop(): number;
30
+ getScrollLeft(): number;
31
+ getScrollDirection(): "up" | "down" | "none";
32
+ isScrolling(): boolean;
33
+ destroy(): void;
34
+ }
35
+ export {};
@@ -0,0 +1,50 @@
1
+ export type SectionId = "pinned-left" | "main" | "pinned-right";
2
+ export type SectionPaneRole = "sticky" | "scrollbar" | "header" | "body";
3
+ export interface SectionScrollControllerConfig {
4
+ onMainSectionScrollLeft?: (scrollLeft: number) => void;
5
+ }
6
+ /**
7
+ * Single controller for horizontal scroll sync across all four panes per section:
8
+ * sticky parent, horizontal scrollbar segment, header, and body.
9
+ * Scrolling any one pane updates the other three in that section.
10
+ * All four panes must have the same scroll width (enforced by renderers).
11
+ */
12
+ export declare class SectionScrollController {
13
+ private scrollLeftBySection;
14
+ private panesBySection;
15
+ private scrollHandlers;
16
+ private config;
17
+ /** Guard to avoid re-entrancy when we programmatically set scrollLeft on other panes */
18
+ private isSyncing;
19
+ /** Last scrollLeft at which we ran main-section virtualization; used to run heavy ops only every N px. */
20
+ private lastMainVirtualizationScrollLeft;
21
+ constructor(config?: SectionScrollControllerConfig);
22
+ updateConfig(config: Partial<SectionScrollControllerConfig>): void;
23
+ /**
24
+ * Register a pane (sticky, scrollbar, header, or body) for a section.
25
+ * When any registered pane scrolls, the others in the same section are updated.
26
+ * If a pane with the same role was already registered (e.g. after re-render), it is replaced.
27
+ */
28
+ registerPane(sectionId: SectionId, element: HTMLElement, role: SectionPaneRole): void;
29
+ /**
30
+ * Unregister a pane (e.g. when section is removed or re-created).
31
+ */
32
+ unregisterPane(sectionId: SectionId, element: HTMLElement): void;
33
+ /**
34
+ * Unregister all panes for a section (e.g. on cleanup).
35
+ */
36
+ unregisterSection(sectionId: SectionId): void;
37
+ /**
38
+ * Set scroll position for a section. Updates state and all registered panes.
39
+ * Used when a pane fires scroll and when restoring after render.
40
+ */
41
+ setSectionScrollLeft(sectionId: SectionId, value: number): void;
42
+ getSectionScrollLeft(sectionId: SectionId): number;
43
+ /**
44
+ * Restore scroll position to all registered panes from stored state (e.g. after render).
45
+ */
46
+ restoreAll(): void;
47
+ private addScrollListener;
48
+ private removeScrollListener;
49
+ destroy(): void;
50
+ }
@@ -0,0 +1,246 @@
1
+ import type Cell from "../../types/Cell";
2
+ import { type SelectionManagerConfig } from "./types";
3
+ export type { SelectionManagerConfig } from "./types";
4
+ export { createSetString } from "./types";
5
+ export declare class SelectionManager {
6
+ private config;
7
+ private selectedCells;
8
+ private selectedColumns;
9
+ private lastSelectedColumnIndex;
10
+ private initialFocusedCell;
11
+ private copyFlashCells;
12
+ private warningFlashCells;
13
+ private isSelecting;
14
+ private startCell;
15
+ private keydownHandler;
16
+ private currentMouseX;
17
+ private currentMouseY;
18
+ private scrollAnimationFrame;
19
+ private lastSelectionUpdate;
20
+ private selectionThrottleMs;
21
+ private globalMouseMoveHandler;
22
+ private globalMouseUpHandler;
23
+ private columnsWithSelectedCells;
24
+ private rowsWithSelectedCells;
25
+ private leafHeaders;
26
+ /** rowId -> table row index; avoids O(tableRows) findIndex per cell in getBorderClass */
27
+ private rowIdToTableIndex;
28
+ /** Set of "rowId\tcolIndex" for O(1) selected membership in syncAllCellClasses */
29
+ private selectedByRowIdColIndex;
30
+ /** When true, all cells are selected without storing R×C cell IDs (fast path for Cmd+A). */
31
+ private fullTableSelected;
32
+ constructor(config: SelectionManagerConfig);
33
+ /**
34
+ * Update configuration when props change.
35
+ * When options.positionOnlyBody is true (e.g. scroll-only render), only updates rowIdToTableIndex and
36
+ * selectedByRowIdColIndex so lookups work for new cells; skips columnsWithSelectedCells/rowsWithSelectedCells.
37
+ */
38
+ updateConfig(config: Partial<SelectionManagerConfig>, options?: {
39
+ positionOnlyBody?: boolean;
40
+ }): void;
41
+ /**
42
+ * Update derived state based on current selections.
43
+ * When fullTableSelected, derives columns/rows from table shape (O(R+C)) instead of iterating selectedCells (O(R×C)).
44
+ * Otherwise, single pass over selectedCells to build selectedByRowIdColIndex, columnsWithSelectedCells, rowsWithSelectedCells.
45
+ */
46
+ private updateDerivedState;
47
+ /**
48
+ * Minimal update for scroll-only renders: only rowIdToTableIndex and selectedByRowIdColIndex
49
+ * so isSelected/getBorderClass work for new cells; skips columnsWithSelectedCells and rowsWithSelectedCells.
50
+ * When fullTableSelected, selectedByRowIdColIndex is left empty (isSelected uses the flag).
51
+ */
52
+ private updateRowIdAndSelectionLookupOnly;
53
+ /**
54
+ * Setup keyboard navigation event listener
55
+ */
56
+ private setupKeyboardNavigation;
57
+ /**
58
+ * Clean up event listeners and resources
59
+ */
60
+ destroy(): void;
61
+ /**
62
+ * Handle keyboard events for navigation and clipboard operations
63
+ */
64
+ private handleKeyDown;
65
+ /**
66
+ * Handle navigation keys (arrows, home, end, page up/down)
67
+ */
68
+ private handleNavigationKeys;
69
+ /**
70
+ * Helper function to find the edge of data in a direction
71
+ */
72
+ private findEdgeInDirection;
73
+ /**
74
+ * Handle arrow up key
75
+ */
76
+ private handleArrowUp;
77
+ /**
78
+ * Handle arrow down key
79
+ */
80
+ private handleArrowDown;
81
+ /**
82
+ * Handle arrow left key
83
+ */
84
+ private handleArrowLeft;
85
+ /**
86
+ * Handle arrow right key
87
+ */
88
+ private handleArrowRight;
89
+ /**
90
+ * Handle home key
91
+ */
92
+ private handleHome;
93
+ /**
94
+ * Handle end key
95
+ */
96
+ private handleEnd;
97
+ /**
98
+ * Handle page up key
99
+ */
100
+ private handlePageUp;
101
+ /**
102
+ * Handle page down key
103
+ */
104
+ private handlePageDown;
105
+ /**
106
+ * Copy selected cells to clipboard
107
+ */
108
+ private copyToClipboard;
109
+ /**
110
+ * Paste from clipboard to cells
111
+ */
112
+ private pasteFromClipboard;
113
+ /**
114
+ * Delete content from selected cells
115
+ */
116
+ private deleteSelectedCells;
117
+ /**
118
+ * Select all cells in the table. Uses fullTableSelected flag instead of storing R×C cell IDs for O(1) update.
119
+ */
120
+ private selectAll;
121
+ /**
122
+ * Build the full set of cell IDs when fullTableSelected. Used for copy/delete/getSelectedCells.
123
+ */
124
+ private buildFullTableSelectedSet;
125
+ /**
126
+ * Clear all selections
127
+ */
128
+ clearSelection(): void;
129
+ /**
130
+ * Set selected cells (for external control)
131
+ */
132
+ setSelectedCells(cells: Set<string>): void;
133
+ /**
134
+ * Set selected columns (for external control)
135
+ */
136
+ setSelectedColumns(columns: Set<number>): void;
137
+ /**
138
+ * Update flash classes on cells (copy/warning animations)
139
+ */
140
+ private updateCellFlashClasses;
141
+ private static readonly SELECTION_CLASSES;
142
+ /**
143
+ * Apply selection classes to all currently rendered cells. Used after drag ends
144
+ * so that the DOM (which may have been replaced during scroll) reflects selection.
145
+ * Only adds/removes classes that changed to reduce DOM writes.
146
+ * Fast path when there is no selection: one pass to clear all selection classes.
147
+ */
148
+ private syncAllCellClasses;
149
+ /**
150
+ * Update all cell classes based on current selection state
151
+ * Directly manipulates the DOM without triggering React re-renders.
152
+ * When isSelecting (drag) or fullTableSelected (Cmd+A), run synchronously so classes are applied
153
+ * before any scroll-triggered render or next frame.
154
+ */
155
+ private updateAllCellClasses;
156
+ /**
157
+ * Check if a cell is selected. Uses selectedByRowIdColIndex for O(1) membership.
158
+ * When fullTableSelected, returns true for any cell without lookup.
159
+ */
160
+ isSelected({ colIndex, rowIndex, rowId }: Cell): boolean;
161
+ /**
162
+ * Get border class for a cell based on its selection state. Uses rowIdToTableIndex for O(1) lookups.
163
+ * When fullTableSelected, short-circuits with border classes for the full grid (no neighbor lookups).
164
+ */
165
+ getBorderClass({ colIndex, rowIndex, rowId }: Cell): string;
166
+ /**
167
+ * Check if a cell is the initial focused cell
168
+ */
169
+ isInitialFocusedCell({ rowIndex, colIndex, rowId }: Cell): boolean;
170
+ /**
171
+ * Check if a cell is currently showing copy flash animation
172
+ */
173
+ isCopyFlashing({ colIndex, rowIndex, rowId }: Cell): boolean;
174
+ /**
175
+ * Check if a cell is currently showing warning flash animation
176
+ */
177
+ isWarningFlashing({ colIndex, rowIndex, rowId }: Cell): boolean;
178
+ /**
179
+ * Get columns that have selected cells
180
+ */
181
+ getColumnsWithSelectedCells(): Set<number>;
182
+ /**
183
+ * Get rows that have selected cells
184
+ */
185
+ getRowsWithSelectedCells(): Set<string>;
186
+ /**
187
+ * Get selected cells. When fullTableSelected, builds and returns the full set on demand.
188
+ */
189
+ getSelectedCells(): Set<string>;
190
+ /**
191
+ * Get selected columns
192
+ */
193
+ getSelectedColumns(): Set<number>;
194
+ /**
195
+ * Get last selected column index
196
+ */
197
+ getLastSelectedColumnIndex(): number | null;
198
+ /**
199
+ * Get start cell for range selection
200
+ */
201
+ getStartCell(): Cell | null;
202
+ /**
203
+ * Set the initial focused cell (e.g. when clearing selection from header drag).
204
+ */
205
+ setInitialFocusedCell(cell: Cell | null): void;
206
+ /**
207
+ * Select a single cell
208
+ */
209
+ selectSingleCell(cell: Cell): void;
210
+ /**
211
+ * Select a range of cells from startCell to endCell
212
+ */
213
+ selectCellRange(startCell: Cell, endCell: Cell): void;
214
+ /**
215
+ * Select one or more columns
216
+ */
217
+ selectColumns(columnIndices: number[], isShiftKey?: boolean): void;
218
+ /**
219
+ * Update selection range during mouse drag. Skips derived state and class sync when selection unchanged.
220
+ */
221
+ private updateSelectionRange;
222
+ /**
223
+ * Calculate the nearest cell to a given mouse position
224
+ */
225
+ private calculateNearestCell;
226
+ /**
227
+ * Get cell from mouse position
228
+ */
229
+ private getCellFromMousePosition;
230
+ /**
231
+ * Handle auto-scrolling when dragging near edges
232
+ */
233
+ private handleAutoScroll;
234
+ /**
235
+ * Continuous scroll loop during mouse drag
236
+ */
237
+ private continuousScroll;
238
+ /**
239
+ * Handle mouse down on a cell to start selection
240
+ */
241
+ handleMouseDown({ colIndex, rowIndex, rowId }: Cell): void;
242
+ /**
243
+ * Handle mouse over a cell during selection drag
244
+ */
245
+ handleMouseOver({ colIndex, rowIndex, rowId }: Cell): void;
246
+ }
@@ -0,0 +1,2 @@
1
+ export { SelectionManager, createSetString, } from "./SelectionManager";
2
+ export type { SelectionManagerConfig } from "./SelectionManager";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Find the edge of data in a direction (pure helper for keyboard navigation).
3
+ */
4
+ export declare function findEdgeInDirection(tableRowsLength: number, leafHeadersLength: number, enableRowSelection: boolean, startRow: number, startCol: number, direction: "up" | "down" | "left" | "right"): {
5
+ rowIndex: number;
6
+ colIndex: number;
7
+ };