@simple-table/angular 3.0.0-beta.10

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,15 @@
1
+ import type Cell from "../../types/Cell";
2
+ /**
3
+ * Calculate the nearest cell to a given mouse position.
4
+ * Uses row buckets: one getBoundingClientRect per row to find the row, then only
5
+ * measures cells in that row (O(rows + cols) instead of O(rows * cols)).
6
+ */
7
+ export declare function calculateNearestCell(clientX: number, clientY: number): Cell | null;
8
+ /**
9
+ * Get cell from mouse position (element under point, or nearest cell).
10
+ */
11
+ export declare function getCellFromMousePosition(clientX: number, clientY: number): Cell | null;
12
+ /**
13
+ * Handle auto-scrolling when dragging near table edges.
14
+ */
15
+ export declare function handleAutoScroll(clientX: number, clientY: number): void;
@@ -0,0 +1,7 @@
1
+ import type Cell from "../../types/Cell";
2
+ import type TableRowType from "../../types/TableRow";
3
+ /**
4
+ * Compute the set of cell IDs for a selection range.
5
+ * Resolves rowId to current row index (for virtualized/sorted tables) then fills the rectangle.
6
+ */
7
+ export declare function computeSelectionRange(startCell: Cell, endCell: Cell, tableRows: TableRowType[], enableRowSelection: boolean): Set<string>;
@@ -0,0 +1,22 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ import type { Accessor } from "../../types/HeaderObject";
3
+ import type TableRowType from "../../types/TableRow";
4
+ import type Cell from "../../types/Cell";
5
+ import type { CustomTheme } from "../../types/CustomTheme";
6
+ export declare const createSetString: ({ rowIndex, colIndex, rowId }: Cell) => string;
7
+ export interface SelectionManagerConfig {
8
+ selectableCells: boolean;
9
+ headers: HeaderObject[];
10
+ tableRows: TableRowType[];
11
+ onCellEdit?: (props: any) => void;
12
+ cellRegistry?: Map<string, any>;
13
+ collapsedHeaders?: Set<Accessor>;
14
+ rowHeight: number;
15
+ enableRowSelection?: boolean;
16
+ copyHeadersToClipboard?: boolean;
17
+ customTheme: CustomTheme;
18
+ /** Called when a selection drag ends so the table can re-render and apply selection classes. */
19
+ onSelectionDragEnd?: () => void;
20
+ /** Root element of the table; sync scopes cell queries to this so only this table's cells are updated. */
21
+ tableRoot?: HTMLElement;
22
+ }
@@ -0,0 +1,42 @@
1
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
2
+ import Row from "../types/Row";
3
+ import SortColumn, { SortDirection } from "../types/SortColumn";
4
+ export interface SortManagerConfig {
5
+ headers: HeaderObject[];
6
+ tableRows: Row[];
7
+ externalSortHandling: boolean;
8
+ onSortChange?: (sort: SortColumn | null) => void;
9
+ rowGrouping?: string[];
10
+ initialSortColumn?: string;
11
+ initialSortDirection?: SortDirection;
12
+ announce?: (message: string) => void;
13
+ }
14
+ export interface SortManagerState {
15
+ sort: SortColumn | null;
16
+ sortedRows: Row[];
17
+ }
18
+ type StateChangeCallback = (state: SortManagerState) => void;
19
+ export declare class SortManager {
20
+ private config;
21
+ private state;
22
+ private subscribers;
23
+ private headerLookup;
24
+ constructor(config: SortManagerConfig);
25
+ private updateHeaderLookup;
26
+ private getInitialSort;
27
+ private sortNestedRows;
28
+ private computeSortedRows;
29
+ updateConfig(config: Partial<SortManagerConfig>): void;
30
+ subscribe(callback: StateChangeCallback): () => void;
31
+ private notifySubscribers;
32
+ updateSort(props?: {
33
+ accessor: Accessor;
34
+ direction?: SortDirection;
35
+ }): void;
36
+ computeSortedRowsPreview(accessor: Accessor): Row[];
37
+ getState(): SortManagerState;
38
+ getSortColumn(): SortColumn | null;
39
+ getSortedRows(): Row[];
40
+ destroy(): void;
41
+ }
42
+ export {};
@@ -0,0 +1,8 @@
1
+ import type CellValue from "./CellValue";
2
+ export type AggregationType = "sum" | "average" | "count" | "min" | "max" | "custom";
3
+ export type AggregationConfig = {
4
+ type: AggregationType;
5
+ parseValue?: (value: CellValue) => number;
6
+ formatResult?: (value: number) => string;
7
+ customFn?: (values: CellValue[]) => number;
8
+ };
@@ -0,0 +1,11 @@
1
+ type BoundingBox = {
2
+ bottom: number;
3
+ height: number;
4
+ left: number;
5
+ right: number;
6
+ top: number;
7
+ width: number;
8
+ x: number;
9
+ y: number;
10
+ };
11
+ export default BoundingBox;
@@ -0,0 +1,7 @@
1
+ import { RowId } from "./RowId";
2
+ type Cell = {
3
+ colIndex: number;
4
+ rowId: RowId;
5
+ rowIndex: number;
6
+ };
7
+ export default Cell;
@@ -0,0 +1,9 @@
1
+ import CellValue from "./CellValue";
2
+ import { Accessor } from "./HeaderObject";
3
+ import Row from "./Row";
4
+ type CellChangeProps = {
5
+ accessor: Accessor;
6
+ newValue: CellValue;
7
+ row: Row;
8
+ };
9
+ export default CellChangeProps;
@@ -0,0 +1,11 @@
1
+ import CellValue from "./CellValue";
2
+ import { Accessor } from "./HeaderObject";
3
+ import Row from "./Row";
4
+ type CellClickProps = {
5
+ accessor: Accessor;
6
+ colIndex: number;
7
+ row: Row;
8
+ rowIndex: number;
9
+ value: CellValue;
10
+ };
11
+ export default CellClickProps;
@@ -0,0 +1,32 @@
1
+ import type { Accessor } from "./HeaderObject";
2
+ import type Row from "./Row";
3
+ import type Theme from "./Theme";
4
+ import type CellValue from "./CellValue";
5
+ interface CellRendererProps {
6
+ accessor: Accessor;
7
+ colIndex: number;
8
+ row: Row;
9
+ rowIndex: number;
10
+ rowPath?: (string | number)[];
11
+ theme: Theme;
12
+ value: CellValue;
13
+ formattedValue?: string | number | string[] | number[] | null | undefined | boolean;
14
+ }
15
+ /**
16
+ * CellRenderer return type:
17
+ * - string | number | null: rendered as text in the cell
18
+ * - Node (HTMLElement, DocumentFragment, etc.): appended directly into the cell for full DOM control
19
+ *
20
+ * Example (text):
21
+ * cellRenderer: ({ value, row }) => `${value} (${row.status})`
22
+ *
23
+ * Example (custom HTML):
24
+ * cellRenderer: ({ row }) => {
25
+ * const span = document.createElement('span');
26
+ * span.className = 'badge';
27
+ * span.textContent = String(row.status);
28
+ * return span;
29
+ * }
30
+ */
31
+ export type CellRenderer = (props: CellRendererProps) => string | number | null | Node;
32
+ export default CellRendererProps;
@@ -0,0 +1,2 @@
1
+ type CellValue = string | number | boolean | undefined | null | string[] | number[] | Record<string, unknown>[];
2
+ export default CellValue;
@@ -0,0 +1,32 @@
1
+ import HeaderObject from "./HeaderObject";
2
+ import { ColumnEditorRowRenderer } from "./ColumnEditorRowRendererProps";
3
+ /**
4
+ * Custom search function for filtering columns in the column editor
5
+ * @param header - The header object to check
6
+ * @param searchTerm - The current search term
7
+ * @returns true if the header matches the search term, false otherwise
8
+ */
9
+ export type ColumnEditorSearchFunction = (header: HeaderObject, searchTerm: string) => boolean;
10
+ /**
11
+ * Configuration options for the column editor/visibility drawer
12
+ */
13
+ export interface ColumnEditorConfig {
14
+ /** Text displayed on the column editor button (default: "Columns") */
15
+ text?: string;
16
+ /** Enable search functionality in the column editor (default: true) */
17
+ searchEnabled?: boolean;
18
+ /** Placeholder text for the search input (default: "Search columns...") */
19
+ searchPlaceholder?: string;
20
+ /** Custom search function to override default search behavior. Receives header and searchTerm, returns true if header matches. */
21
+ searchFunction?: ColumnEditorSearchFunction;
22
+ /**
23
+ * When false, hides pin/unpin controls (L/R) in the column editor. Pinned sections still appear if columns are pinned.
24
+ * Default: true.
25
+ */
26
+ allowColumnPinning?: boolean;
27
+ /** Custom renderer for column editor row layout to reposition icons and labels */
28
+ rowRenderer?: ColumnEditorRowRenderer;
29
+ }
30
+ export declare const DEFAULT_COLUMN_EDITOR_CONFIG: Required<Omit<ColumnEditorConfig, "searchFunction" | "rowRenderer">>;
31
+ /** Column editor config with defaults applied (text, searchEnabled, searchPlaceholder are required) */
32
+ export type MergedColumnEditorConfig = Required<Pick<ColumnEditorConfig, "text" | "searchEnabled" | "searchPlaceholder" | "allowColumnPinning">> & Pick<ColumnEditorConfig, "searchFunction" | "rowRenderer">;
@@ -0,0 +1,39 @@
1
+ import type { Accessor } from "./HeaderObject";
2
+ import type HeaderObject from "./HeaderObject";
3
+ import type { IconElement } from "./IconsConfig";
4
+ import type { PanelSection } from "./PanelSection";
5
+ export interface ColumnEditorRowRendererComponents {
6
+ expandIcon?: IconElement;
7
+ checkbox?: HTMLElement | string;
8
+ dragIcon?: IconElement;
9
+ labelContent?: string | HTMLElement;
10
+ /** Default pin column (outline / filled); omit when building a fully custom row */
11
+ pinIcon?: IconElement;
12
+ }
13
+ /** Pin / unpin actions for column editor rows (also use for lock/tooltip UX via HeaderObject.isEssential). */
14
+ export interface ColumnEditorPinControl {
15
+ pinnedSide: "left" | "right" | null;
16
+ canPinLeft: boolean;
17
+ canPinRight: boolean;
18
+ canUnpin: boolean;
19
+ pinLeft: () => void;
20
+ pinRight: () => void;
21
+ unpin: () => void;
22
+ }
23
+ interface ColumnEditorRowRendererProps {
24
+ accessor: Accessor;
25
+ header: HeaderObject;
26
+ components: ColumnEditorRowRendererComponents;
27
+ /** Which panel section this row is rendered in */
28
+ panelSection?: PanelSection;
29
+ /** Resolved from HeaderObject.isEssential / essentialAccessors */
30
+ isEssential?: boolean;
31
+ /** False when visibility cannot be toggled (essential columns) */
32
+ canToggleVisibility?: boolean;
33
+ /** Mirrors `columnEditorConfig.allowColumnPinning` (default true) */
34
+ allowColumnPinning?: boolean;
35
+ pinControl?: ColumnEditorPinControl;
36
+ }
37
+ export type ColumnEditorRowRenderer = (props: ColumnEditorRowRendererProps) => HTMLElement | string | null;
38
+ export default ColumnEditorRowRendererProps;
39
+ export type { PanelSection };
@@ -0,0 +1,4 @@
1
+ import { Accessor } from "./HeaderObject";
2
+ export interface ColumnVisibilityState {
3
+ [accessor: Accessor]: boolean;
4
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Custom theme configuration for SimpleTable
3
+ * Contains all customizable dimensions and spacing values used in calculations and styling
4
+ * All properties are optional - missing values will be filled with defaults
5
+ */
6
+ export interface CustomThemeProps {
7
+ rowHeight?: number;
8
+ headerHeight?: number;
9
+ footerHeight?: number;
10
+ rowSeparatorWidth?: number;
11
+ borderWidth?: number;
12
+ pinnedBorderWidth?: number;
13
+ nestedGridBorderWidth?: number;
14
+ nestedGridPaddingTop?: number;
15
+ nestedGridPaddingBottom?: number;
16
+ nestedGridPaddingLeft?: number;
17
+ nestedGridPaddingRight?: number;
18
+ nestedGridMaxHeight?: number;
19
+ selectionColumnWidth?: number;
20
+ }
21
+ export type CustomTheme = Required<CustomThemeProps>;
22
+ /**
23
+ * Default theme values
24
+ * These match the original hardcoded constants throughout the codebase
25
+ */
26
+ export declare const DEFAULT_CUSTOM_THEME: CustomTheme;
@@ -0,0 +1,14 @@
1
+ import HeaderObject, { Accessor } from "./HeaderObject";
2
+ type useDragHandlerProps = {
3
+ draggedHeaderRef: {
4
+ current: HeaderObject | null;
5
+ };
6
+ essentialAccessors?: ReadonlySet<Accessor | string>;
7
+ headers: HeaderObject[];
8
+ hoveredHeaderRef: {
9
+ current: HeaderObject | null;
10
+ };
11
+ onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
12
+ onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
13
+ };
14
+ export default useDragHandlerProps;
@@ -0,0 +1,5 @@
1
+ type EnumOption = {
2
+ label: string;
3
+ value: string;
4
+ };
5
+ export default EnumOption;
@@ -0,0 +1,22 @@
1
+ import CellValue from "./CellValue";
2
+ import { Accessor } from "./HeaderObject";
3
+ export type StringFilterOperator = "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "endsWith" | "isEmpty" | "isNotEmpty";
4
+ export type NumberFilterOperator = "equals" | "notEquals" | "greaterThan" | "lessThan" | "greaterThanOrEqual" | "lessThanOrEqual" | "between" | "notBetween" | "isEmpty" | "isNotEmpty";
5
+ export type BooleanFilterOperator = "equals" | "isEmpty" | "isNotEmpty";
6
+ export type DateFilterOperator = "equals" | "notEquals" | "before" | "after" | "between" | "notBetween" | "isEmpty" | "isNotEmpty";
7
+ export type EnumFilterOperator = "in" | "notIn" | "isEmpty" | "isNotEmpty";
8
+ export type FilterOperator = StringFilterOperator | NumberFilterOperator | BooleanFilterOperator | DateFilterOperator | EnumFilterOperator;
9
+ export interface FilterCondition {
10
+ accessor: Accessor;
11
+ operator: FilterOperator;
12
+ value?: CellValue;
13
+ values?: CellValue[];
14
+ }
15
+ export interface TableFilterState {
16
+ [accessor: Accessor]: FilterCondition;
17
+ }
18
+ export declare const FILTER_OPERATOR_LABELS: Record<FilterOperator, string>;
19
+ export declare const getAvailableOperators: (columnType: "string" | "number" | "boolean" | "date" | "enum") => FilterOperator[];
20
+ export declare const requiresSingleValue: (operator: FilterOperator) => boolean;
21
+ export declare const requiresMultipleValues: (operator: FilterOperator) => boolean;
22
+ export declare const requiresNoValue: (operator: FilterOperator) => boolean;
@@ -0,0 +1,10 @@
1
+ import HeaderObject from "./HeaderObject";
2
+ import type { PanelSection } from "./PanelSection";
3
+ export type FlattenedHeader = {
4
+ header: HeaderObject;
5
+ visualIndex: number;
6
+ depth: number;
7
+ parent: HeaderObject | null;
8
+ indexPath: number[];
9
+ panelSection?: PanelSection;
10
+ };
@@ -0,0 +1,17 @@
1
+ import type { IconElement } from "./IconsConfig";
2
+ interface FooterRendererProps {
3
+ currentPage: number;
4
+ endRow: number;
5
+ hasNextPage: boolean;
6
+ hasPrevPage: boolean;
7
+ nextIcon?: IconElement;
8
+ onNextPage: () => Promise<void>;
9
+ onPageChange: (page: number) => void;
10
+ onPrevPage: () => void;
11
+ prevIcon?: IconElement;
12
+ rowsPerPage: number;
13
+ startRow: number;
14
+ totalPages: number;
15
+ totalRows: number;
16
+ }
17
+ export default FooterRendererProps;
@@ -0,0 +1,11 @@
1
+ import Row from "./Row";
2
+ import { GetRowId } from "./GetRowId";
3
+ export interface GenerateRowIdParams {
4
+ row: Row;
5
+ getRowId?: GetRowId;
6
+ depth: number;
7
+ index: number;
8
+ rowPath: (string | number)[];
9
+ rowIndexPath: number[];
10
+ groupingKey?: string;
11
+ }
@@ -0,0 +1,10 @@
1
+ import Row from "./Row";
2
+ export interface GetRowIdParams {
3
+ row: Row;
4
+ depth: number;
5
+ index: number;
6
+ rowPath: (string | number)[];
7
+ rowIndexPath: number[];
8
+ groupingKey?: string;
9
+ }
10
+ export type GetRowId = (params: GetRowIdParams) => string | number;
@@ -0,0 +1,21 @@
1
+ import { HeaderObject, Accessor } from "..";
2
+ export interface RefObject<T> {
3
+ current: T | null;
4
+ }
5
+ export type HandleResizeStartProps = {
6
+ autoExpandColumns: boolean;
7
+ collapsedHeaders: Set<Accessor>;
8
+ containerWidth: number;
9
+ event: MouseEvent | TouchEvent;
10
+ forceUpdate: () => void;
11
+ header: HeaderObject;
12
+ headers: HeaderObject[];
13
+ mainBodyRef: RefObject<HTMLDivElement>;
14
+ onColumnWidthChange?: (headers: HeaderObject[]) => void;
15
+ pinnedLeftRef: RefObject<HTMLDivElement>;
16
+ pinnedRightRef: RefObject<HTMLDivElement>;
17
+ reverse: boolean;
18
+ setHeaders: (headers: HeaderObject[] | ((prev: HeaderObject[]) => HeaderObject[])) => void;
19
+ setIsResizing: (isResizing: boolean | ((prev: boolean) => boolean)) => void;
20
+ startWidth: number;
21
+ };
@@ -0,0 +1,14 @@
1
+ import HeaderRendererProps from "./HeaderRendererProps";
2
+ interface HeaderDropdownProps extends HeaderRendererProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ position: {
6
+ top?: number;
7
+ left?: number;
8
+ right?: number;
9
+ bottom?: number;
10
+ };
11
+ }
12
+ export type VanillaHeaderDropdown = (props: HeaderDropdownProps) => HTMLElement | string | null;
13
+ export type HeaderDropdown = (props: HeaderDropdownProps) => HTMLElement | string | null;
14
+ export default HeaderDropdownProps;
@@ -0,0 +1,98 @@
1
+ import Row from "./Row";
2
+ import { Pinned } from "./Pinned";
3
+ import EnumOption from "./EnumOption";
4
+ import { AggregationConfig } from "./AggregationTypes";
5
+ import { CellRenderer } from "./CellRendererProps";
6
+ import { HeaderRenderer } from "./HeaderRendererProps";
7
+ import CellValue from "./CellValue";
8
+ import { SimpleTableProps } from "./SimpleTableProps";
9
+ import { QuickFilterGetter } from "./QuickFilterTypes";
10
+ export type Accessor = keyof Row | string;
11
+ export type ColumnType = "string" | "number" | "boolean" | "date" | "enum" | "lineAreaChart" | "barChart" | "other";
12
+ export type ShowWhen = "parentCollapsed" | "parentExpanded" | "always";
13
+ export interface ChartOptions {
14
+ min?: number;
15
+ max?: number;
16
+ width?: number;
17
+ height?: number;
18
+ color?: string;
19
+ fillColor?: string;
20
+ fillOpacity?: number;
21
+ strokeWidth?: number;
22
+ gap?: number;
23
+ }
24
+ export interface ValueFormatterProps {
25
+ accessor: Accessor;
26
+ colIndex: number;
27
+ row: Row;
28
+ rowIndex: number;
29
+ value: CellValue;
30
+ }
31
+ export type ValueFormatter = (props: ValueFormatterProps) => string | number | string[] | number[];
32
+ export interface ValueGetterProps {
33
+ accessor: Accessor;
34
+ row: Row;
35
+ rowIndex: number;
36
+ }
37
+ export type ValueGetter = (props: ValueGetterProps) => CellValue;
38
+ export interface ComparatorProps {
39
+ rowA: Row;
40
+ rowB: Row;
41
+ valueA: CellValue;
42
+ valueB: CellValue;
43
+ direction: "asc" | "desc";
44
+ }
45
+ export type Comparator = (props: ComparatorProps) => number;
46
+ export interface ExportValueProps {
47
+ accessor: Accessor;
48
+ colIndex: number;
49
+ row: Row;
50
+ rowIndex: number;
51
+ value: CellValue;
52
+ formattedValue?: string | number | string[] | number[];
53
+ }
54
+ export type ExportValueGetter = (props: ExportValueProps) => string | number;
55
+ export declare const DEFAULT_SHOW_WHEN: ShowWhen;
56
+ type HeaderObject = {
57
+ accessor: Accessor;
58
+ aggregation?: AggregationConfig;
59
+ align?: "left" | "center" | "right";
60
+ cellRenderer?: CellRenderer;
61
+ chartOptions?: ChartOptions;
62
+ children?: HeaderObject[];
63
+ collapsible?: boolean;
64
+ collapseDefault?: boolean;
65
+ comparator?: Comparator;
66
+ disableReorder?: boolean;
67
+ enumOptions?: EnumOption[];
68
+ expandable?: boolean;
69
+ exportValueGetter?: ExportValueGetter;
70
+ filterable?: boolean;
71
+ headerRenderer?: HeaderRenderer;
72
+ hide?: boolean;
73
+ isEditable?: boolean;
74
+ excludeFromRender?: boolean;
75
+ excludeFromCsv?: boolean;
76
+ isSelectionColumn?: boolean;
77
+ /** When true, column stays visible, cannot be unpinned from a pinned side, cannot reorder above non-essentials in its section */
78
+ isEssential?: boolean;
79
+ isSortable?: boolean;
80
+ label: string;
81
+ minWidth?: number | string;
82
+ sortingOrder?: ("asc" | "desc" | null)[];
83
+ nestedTable?: Omit<SimpleTableProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer" | "expandIcon" | "filterIcon" | "sortUpIcon" | "sortDownIcon" | "nextIcon" | "prevIcon" | "headerCollapseIcon" | "headerExpandIcon">;
84
+ pinned?: Pinned;
85
+ quickFilterable?: boolean;
86
+ quickFilterGetter?: QuickFilterGetter;
87
+ singleRowChildren?: boolean;
88
+ tooltip?: string;
89
+ type?: ColumnType;
90
+ useFormattedValueForClipboard?: boolean;
91
+ useFormattedValueForCSV?: boolean;
92
+ valueFormatter?: ValueFormatter;
93
+ valueGetter?: ValueGetter;
94
+ showWhen?: ShowWhen;
95
+ width: number | string;
96
+ maxWidth?: number | string;
97
+ };
98
+ export default HeaderObject;
@@ -0,0 +1,17 @@
1
+ import type { Accessor } from "./HeaderObject";
2
+ import type HeaderObject from "./HeaderObject";
3
+ import type { IconElement } from "./IconsConfig";
4
+ export interface HeaderRendererComponents {
5
+ sortIcon?: IconElement;
6
+ filterIcon?: IconElement;
7
+ collapseIcon?: IconElement;
8
+ labelContent?: string | HTMLElement;
9
+ }
10
+ interface HeaderRendererProps {
11
+ accessor: Accessor;
12
+ colIndex: number;
13
+ header: HeaderObject;
14
+ components?: HeaderRendererComponents;
15
+ }
16
+ export type HeaderRenderer = (props: HeaderRendererProps) => HTMLElement | string | null;
17
+ export default HeaderRendererProps;
@@ -0,0 +1,19 @@
1
+ /** Single icon value used across header, footer, and column editor props */
2
+ export type IconElement = SVGSVGElement | HTMLElement | string;
3
+ export interface VanillaIconsConfig {
4
+ drag?: IconElement;
5
+ expand?: IconElement;
6
+ filter?: IconElement;
7
+ headerCollapse?: IconElement;
8
+ headerExpand?: IconElement;
9
+ next?: IconElement;
10
+ prev?: IconElement;
11
+ sortDown?: IconElement;
12
+ sortUp?: IconElement;
13
+ /** Label for pin-to-left control in column editor (default: "L") */
14
+ pinnedLeftIcon?: IconElement;
15
+ /** Label for pin-to-right control in column editor (default: "R") */
16
+ pinnedRightIcon?: IconElement;
17
+ }
18
+ export interface IconsConfig extends VanillaIconsConfig {
19
+ }
@@ -0,0 +1,2 @@
1
+ type OnNextPage = (page: number) => Promise<boolean>;
2
+ export default OnNextPage;
@@ -0,0 +1,16 @@
1
+ import Row from "./Row";
2
+ import { Accessor } from "./HeaderObject";
3
+ interface OnRowGroupExpandProps {
4
+ row: Row;
5
+ depth: number;
6
+ event: MouseEvent | KeyboardEvent;
7
+ groupingKey?: string;
8
+ isExpanded: boolean;
9
+ rowIndexPath: number[];
10
+ rowIdPath?: (string | number)[];
11
+ groupingKeys: Accessor[];
12
+ setLoading: (loading: boolean) => void;
13
+ setError: (error: string | null) => void;
14
+ setEmpty: (isEmpty: boolean, message?: string) => void;
15
+ }
16
+ export default OnRowGroupExpandProps;
@@ -0,0 +1,3 @@
1
+ import { Accessor } from "./HeaderObject";
2
+ type OnSortProps = (accessor: Accessor) => void;
3
+ export default OnSortProps;
@@ -0,0 +1 @@
1
+ export type PanelSection = "left" | "main" | "right";
@@ -0,0 +1 @@
1
+ export type Pinned = "left" | "right";
@@ -0,0 +1,6 @@
1
+ import { Accessor } from "./HeaderObject";
2
+ export type PinnedSectionsState = {
3
+ left: Accessor[];
4
+ main: Accessor[];
5
+ right: Accessor[];
6
+ };
@@ -0,0 +1,21 @@
1
+ import { Accessor } from "./HeaderObject";
2
+ import Row from "./Row";
3
+ export type QuickFilterMode = "simple" | "smart";
4
+ export interface QuickFilterConfig {
5
+ text: string;
6
+ columns?: Accessor[];
7
+ caseSensitive?: boolean;
8
+ mode?: QuickFilterMode;
9
+ useFormattedValue?: boolean;
10
+ onChange?: (text: string) => void;
11
+ }
12
+ export interface QuickFilterGetterProps {
13
+ row: Row;
14
+ accessor: Accessor;
15
+ }
16
+ export type QuickFilterGetter = (props: QuickFilterGetterProps) => string;
17
+ export interface SmartFilterToken {
18
+ type: "word" | "phrase" | "negation" | "columnSpecific";
19
+ value: string;
20
+ column?: Accessor;
21
+ }
@@ -0,0 +1,3 @@
1
+ import CellValue from "./CellValue";
2
+ type Row = Record<string, CellValue | Row[] | Record<string, any>>;
3
+ export default Row;
@@ -0,0 +1,6 @@
1
+ import Row from "./Row";
2
+ export interface RowButtonProps {
3
+ row: Row;
4
+ rowIndex: number;
5
+ }
6
+ export type RowButton = (props: RowButtonProps) => HTMLElement | null;
@@ -0,0 +1 @@
1
+ export type RowId = string | number;
@@ -0,0 +1,7 @@
1
+ import Row from "./Row";
2
+ type RowSelectionChangeProps = {
3
+ row: Row;
4
+ isSelected: boolean;
5
+ selectedRows: Set<string>;
6
+ };
7
+ export default RowSelectionChangeProps;