@simple-table/vue 3.0.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/dist/cjs/core/src/consts/column-constraints.d.ts +58 -0
  2. package/dist/cjs/core/src/consts/general-consts.d.ts +13 -0
  3. package/dist/cjs/core/src/core/SimpleTableVanilla.d.ts +71 -0
  4. package/dist/cjs/core/src/core/api/TableAPIImpl.d.ts +44 -0
  5. package/dist/cjs/core/src/core/dom/DOMManager.d.ts +50 -0
  6. package/dist/cjs/core/src/core/initialization/TableInitializer.d.ts +30 -0
  7. package/dist/cjs/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
  8. package/dist/cjs/core/src/core/rendering/SectionRenderer.d.ts +61 -0
  9. package/dist/cjs/core/src/core/rendering/TableRenderer.d.ts +89 -0
  10. package/dist/cjs/core/src/hooks/ariaAnnouncements.d.ts +37 -0
  11. package/dist/cjs/core/src/hooks/contentHeight.d.ts +23 -0
  12. package/dist/cjs/core/src/hooks/expandedDepths.d.ts +65 -0
  13. package/dist/cjs/core/src/hooks/handleOutsideClick.d.ts +50 -0
  14. package/dist/cjs/core/src/hooks/previousValue.d.ts +30 -0
  15. package/dist/cjs/core/src/hooks/scrollbarVisibility.d.ts +65 -0
  16. package/dist/cjs/core/src/hooks/scrollbarWidth.d.ts +52 -0
  17. package/dist/cjs/core/src/hooks/useAggregatedRows.d.ts +14 -0
  18. package/dist/cjs/core/src/hooks/useQuickFilter.d.ts +14 -0
  19. package/dist/cjs/core/src/hooks/windowResize.d.ts +31 -0
  20. package/dist/cjs/core/src/icons/AngleDownIcon.d.ts +1 -0
  21. package/dist/cjs/core/src/icons/AngleLeftIcon.d.ts +1 -0
  22. package/dist/cjs/core/src/icons/AngleRightIcon.d.ts +1 -0
  23. package/dist/cjs/core/src/icons/AngleUpIcon.d.ts +1 -0
  24. package/dist/cjs/core/src/icons/AscIcon.d.ts +1 -0
  25. package/dist/cjs/core/src/icons/CheckIcon.d.ts +1 -0
  26. package/dist/cjs/core/src/icons/DescIcon.d.ts +1 -0
  27. package/dist/cjs/core/src/icons/DragIcon.d.ts +1 -0
  28. package/dist/cjs/core/src/icons/FilterIcon.d.ts +1 -0
  29. package/dist/cjs/core/src/icons/SelectIcon.d.ts +1 -0
  30. package/dist/cjs/core/src/icons/index.d.ts +14 -0
  31. package/dist/cjs/core/src/index.d.ts +48 -0
  32. package/dist/cjs/core/src/managers/AutoScaleManager.d.ts +26 -0
  33. package/dist/cjs/core/src/managers/DimensionManager.d.ts +42 -0
  34. package/dist/cjs/core/src/managers/DragHandlerManager.d.ts +44 -0
  35. package/dist/cjs/core/src/managers/FilterManager.d.ts +36 -0
  36. package/dist/cjs/core/src/managers/RowManager.d.ts +56 -0
  37. package/dist/cjs/core/src/managers/RowSelectionManager.d.ts +36 -0
  38. package/dist/cjs/core/src/managers/ScrollManager.d.ts +35 -0
  39. package/dist/cjs/core/src/managers/SectionScrollController.d.ts +50 -0
  40. package/dist/cjs/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
  41. package/dist/cjs/core/src/managers/SelectionManager/index.d.ts +2 -0
  42. package/dist/cjs/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
  43. package/dist/cjs/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
  44. package/dist/cjs/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
  45. package/dist/cjs/core/src/managers/SelectionManager/types.d.ts +22 -0
  46. package/dist/cjs/core/src/managers/SortManager.d.ts +42 -0
  47. package/dist/cjs/core/src/types/AggregationTypes.d.ts +8 -0
  48. package/dist/cjs/core/src/types/BoundingBox.d.ts +11 -0
  49. package/dist/cjs/core/src/types/Cell.d.ts +7 -0
  50. package/dist/cjs/core/src/types/CellChangeProps.d.ts +9 -0
  51. package/dist/cjs/core/src/types/CellClickProps.d.ts +11 -0
  52. package/dist/cjs/core/src/types/CellRendererProps.d.ts +32 -0
  53. package/dist/cjs/core/src/types/CellValue.d.ts +2 -0
  54. package/dist/cjs/core/src/types/ColumnEditorConfig.d.ts +32 -0
  55. package/dist/cjs/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
  56. package/dist/cjs/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
  57. package/dist/cjs/core/src/types/CustomTheme.d.ts +26 -0
  58. package/dist/cjs/core/src/types/DragHandlerProps.d.ts +14 -0
  59. package/dist/cjs/core/src/types/EnumOption.d.ts +5 -0
  60. package/dist/cjs/core/src/types/FilterTypes.d.ts +22 -0
  61. package/dist/cjs/core/src/types/FlattenedHeader.d.ts +10 -0
  62. package/dist/cjs/core/src/types/FooterRendererProps.d.ts +17 -0
  63. package/dist/cjs/core/src/types/GenerateRowIdParams.d.ts +11 -0
  64. package/dist/cjs/core/src/types/GetRowId.d.ts +10 -0
  65. package/dist/cjs/core/src/types/HandleResizeStartProps.d.ts +21 -0
  66. package/dist/cjs/core/src/types/HeaderDropdownProps.d.ts +14 -0
  67. package/dist/cjs/core/src/types/HeaderObject.d.ts +98 -0
  68. package/dist/cjs/core/src/types/HeaderRendererProps.d.ts +17 -0
  69. package/dist/cjs/core/src/types/IconsConfig.d.ts +19 -0
  70. package/dist/cjs/core/src/types/OnNextPage.d.ts +2 -0
  71. package/dist/cjs/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
  72. package/dist/cjs/core/src/types/OnSortProps.d.ts +3 -0
  73. package/dist/cjs/core/src/types/PanelSection.d.ts +1 -0
  74. package/dist/cjs/core/src/types/Pinned.d.ts +1 -0
  75. package/dist/cjs/core/src/types/PinnedSectionsState.d.ts +6 -0
  76. package/dist/cjs/core/src/types/QuickFilterTypes.d.ts +21 -0
  77. package/dist/cjs/core/src/types/Row.d.ts +3 -0
  78. package/dist/cjs/core/src/types/RowButton.d.ts +6 -0
  79. package/dist/cjs/core/src/types/RowId.d.ts +1 -0
  80. package/dist/cjs/core/src/types/RowSelectionChangeProps.d.ts +7 -0
  81. package/dist/cjs/core/src/types/RowState.d.ts +12 -0
  82. package/dist/cjs/core/src/types/RowStateRendererProps.d.ts +18 -0
  83. package/dist/cjs/core/src/types/SharedTableProps.d.ts +24 -0
  84. package/dist/cjs/core/src/types/SimpleTableConfig.d.ts +88 -0
  85. package/dist/cjs/core/src/types/SimpleTableProps.d.ts +99 -0
  86. package/dist/cjs/core/src/types/SortColumn.d.ts +8 -0
  87. package/dist/cjs/core/src/types/TableAPI.d.ts +57 -0
  88. package/dist/cjs/core/src/types/TableHeaderProps.d.ts +17 -0
  89. package/dist/cjs/core/src/types/TableRefType.d.ts +78 -0
  90. package/dist/cjs/core/src/types/TableRow.d.ts +29 -0
  91. package/dist/cjs/core/src/types/TableRowProps.d.ts +29 -0
  92. package/dist/cjs/core/src/types/Theme.d.ts +2 -0
  93. package/dist/cjs/core/src/types/UpdateCellProps.d.ts +8 -0
  94. package/dist/cjs/core/src/utils/bodyCell/content.d.ts +5 -0
  95. package/dist/cjs/core/src/utils/bodyCell/editing.d.ts +4 -0
  96. package/dist/cjs/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
  97. package/dist/cjs/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
  98. package/dist/cjs/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
  99. package/dist/cjs/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
  100. package/dist/cjs/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
  101. package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +4 -0
  102. package/dist/cjs/core/src/utils/bodyCell/selection.d.ts +7 -0
  103. package/dist/cjs/core/src/utils/bodyCell/styling.d.ts +5 -0
  104. package/dist/cjs/core/src/utils/bodyCell/types.d.ts +103 -0
  105. package/dist/cjs/core/src/utils/bodyCellRenderer.d.ts +5 -0
  106. package/dist/cjs/core/src/utils/cellClipboardUtils.d.ts +25 -0
  107. package/dist/cjs/core/src/utils/cellScrollUtils.d.ts +10 -0
  108. package/dist/cjs/core/src/utils/cellUtils.d.ts +18 -0
  109. package/dist/cjs/core/src/utils/charts/createBarChart.d.ts +15 -0
  110. package/dist/cjs/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
  111. package/dist/cjs/core/src/utils/collapseUtils.d.ts +24 -0
  112. package/dist/cjs/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
  113. package/dist/cjs/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
  114. package/dist/cjs/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
  115. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
  116. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
  117. package/dist/cjs/core/src/utils/csvExportUtils.d.ts +14 -0
  118. package/dist/cjs/core/src/utils/dateUtils.d.ts +18 -0
  119. package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
  120. package/dist/cjs/core/src/utils/filterUtils.d.ts +5 -0
  121. package/dist/cjs/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
  122. package/dist/cjs/core/src/utils/filters/createCustomSelect.d.ts +20 -0
  123. package/dist/cjs/core/src/utils/filters/createDateFilter.d.ts +15 -0
  124. package/dist/cjs/core/src/utils/filters/createDatePicker.d.ts +10 -0
  125. package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +16 -0
  126. package/dist/cjs/core/src/utils/filters/createEnumFilter.d.ts +15 -0
  127. package/dist/cjs/core/src/utils/filters/createFilterActions.d.ts +11 -0
  128. package/dist/cjs/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
  129. package/dist/cjs/core/src/utils/filters/createFilterInput.d.ts +16 -0
  130. package/dist/cjs/core/src/utils/filters/createNumberFilter.d.ts +15 -0
  131. package/dist/cjs/core/src/utils/filters/createStringFilter.d.ts +15 -0
  132. package/dist/cjs/core/src/utils/footer/createTableFooter.d.ts +21 -0
  133. package/dist/cjs/core/src/utils/formatters.d.ts +3 -0
  134. package/dist/cjs/core/src/utils/generalUtils.d.ts +4 -0
  135. package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +6 -0
  136. package/dist/cjs/core/src/utils/headerCell/dragging.d.ts +5 -0
  137. package/dist/cjs/core/src/utils/headerCell/editing.d.ts +4 -0
  138. package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +25 -0
  139. package/dist/cjs/core/src/utils/headerCell/filtering.d.ts +3 -0
  140. package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +3 -0
  141. package/dist/cjs/core/src/utils/headerCell/selection.d.ts +10 -0
  142. package/dist/cjs/core/src/utils/headerCell/sorting.d.ts +3 -0
  143. package/dist/cjs/core/src/utils/headerCell/styling.d.ts +5 -0
  144. package/dist/cjs/core/src/utils/headerCell/types.d.ts +75 -0
  145. package/dist/cjs/core/src/utils/headerCellRenderer.d.ts +4 -0
  146. package/dist/cjs/core/src/utils/headerUtils.d.ts +41 -0
  147. package/dist/cjs/core/src/utils/headerWidthUtils.d.ts +56 -0
  148. package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
  149. package/dist/cjs/core/src/utils/infiniteScrollUtils.d.ts +145 -0
  150. package/dist/cjs/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
  151. package/dist/cjs/core/src/utils/pinnedColumnUtils.d.ts +25 -0
  152. package/dist/cjs/core/src/utils/quickFilterUtils.d.ts +14 -0
  153. package/dist/cjs/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
  154. package/dist/cjs/core/src/utils/resizeUtils/compensation.d.ts +11 -0
  155. package/dist/cjs/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
  156. package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +5 -0
  157. package/dist/cjs/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
  158. package/dist/cjs/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
  159. package/dist/cjs/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
  160. package/dist/cjs/core/src/utils/rowFlattening.d.ts +30 -0
  161. package/dist/cjs/core/src/utils/rowProcessing.d.ts +36 -0
  162. package/dist/cjs/core/src/utils/rowSelectionUtils.d.ts +39 -0
  163. package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
  164. package/dist/cjs/core/src/utils/rowUtils.d.ts +136 -0
  165. package/dist/cjs/core/src/utils/sortUtils.d.ts +8 -0
  166. package/dist/cjs/core/src/utils/stateRowRenderer.d.ts +15 -0
  167. package/dist/cjs/core/src/utils/stickyParentsRenderer.d.ts +30 -0
  168. package/dist/cjs/index.js +2 -0
  169. package/dist/cjs/index.js.map +1 -0
  170. package/dist/cjs/vue/src/SimpleTable.d.ts +4 -0
  171. package/dist/cjs/vue/src/buildVanillaConfig.d.ts +3 -0
  172. package/dist/cjs/vue/src/index.d.ts +3 -0
  173. package/dist/cjs/vue/src/types.d.ts +51 -0
  174. package/dist/cjs/vue/src/utils/wrapVueRenderer.d.ts +21 -0
  175. package/dist/core/src/consts/column-constraints.d.ts +58 -0
  176. package/dist/core/src/consts/general-consts.d.ts +13 -0
  177. package/dist/core/src/core/SimpleTableVanilla.d.ts +71 -0
  178. package/dist/core/src/core/api/TableAPIImpl.d.ts +44 -0
  179. package/dist/core/src/core/dom/DOMManager.d.ts +50 -0
  180. package/dist/core/src/core/initialization/TableInitializer.d.ts +30 -0
  181. package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
  182. package/dist/core/src/core/rendering/SectionRenderer.d.ts +61 -0
  183. package/dist/core/src/core/rendering/TableRenderer.d.ts +89 -0
  184. package/dist/core/src/hooks/ariaAnnouncements.d.ts +37 -0
  185. package/dist/core/src/hooks/contentHeight.d.ts +23 -0
  186. package/dist/core/src/hooks/expandedDepths.d.ts +65 -0
  187. package/dist/core/src/hooks/handleOutsideClick.d.ts +50 -0
  188. package/dist/core/src/hooks/previousValue.d.ts +30 -0
  189. package/dist/core/src/hooks/scrollbarVisibility.d.ts +65 -0
  190. package/dist/core/src/hooks/scrollbarWidth.d.ts +52 -0
  191. package/dist/core/src/hooks/useAggregatedRows.d.ts +14 -0
  192. package/dist/core/src/hooks/useQuickFilter.d.ts +14 -0
  193. package/dist/core/src/hooks/windowResize.d.ts +31 -0
  194. package/dist/core/src/icons/AngleDownIcon.d.ts +1 -0
  195. package/dist/core/src/icons/AngleLeftIcon.d.ts +1 -0
  196. package/dist/core/src/icons/AngleRightIcon.d.ts +1 -0
  197. package/dist/core/src/icons/AngleUpIcon.d.ts +1 -0
  198. package/dist/core/src/icons/AscIcon.d.ts +1 -0
  199. package/dist/core/src/icons/CheckIcon.d.ts +1 -0
  200. package/dist/core/src/icons/DescIcon.d.ts +1 -0
  201. package/dist/core/src/icons/DragIcon.d.ts +1 -0
  202. package/dist/core/src/icons/FilterIcon.d.ts +1 -0
  203. package/dist/core/src/icons/SelectIcon.d.ts +1 -0
  204. package/dist/core/src/icons/index.d.ts +14 -0
  205. package/dist/core/src/index.d.ts +48 -0
  206. package/dist/core/src/managers/AutoScaleManager.d.ts +26 -0
  207. package/dist/core/src/managers/DimensionManager.d.ts +42 -0
  208. package/dist/core/src/managers/DragHandlerManager.d.ts +44 -0
  209. package/dist/core/src/managers/FilterManager.d.ts +36 -0
  210. package/dist/core/src/managers/RowManager.d.ts +56 -0
  211. package/dist/core/src/managers/RowSelectionManager.d.ts +36 -0
  212. package/dist/core/src/managers/ScrollManager.d.ts +35 -0
  213. package/dist/core/src/managers/SectionScrollController.d.ts +50 -0
  214. package/dist/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
  215. package/dist/core/src/managers/SelectionManager/index.d.ts +2 -0
  216. package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
  217. package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
  218. package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
  219. package/dist/core/src/managers/SelectionManager/types.d.ts +22 -0
  220. package/dist/core/src/managers/SortManager.d.ts +42 -0
  221. package/dist/core/src/types/AggregationTypes.d.ts +8 -0
  222. package/dist/core/src/types/BoundingBox.d.ts +11 -0
  223. package/dist/core/src/types/Cell.d.ts +7 -0
  224. package/dist/core/src/types/CellChangeProps.d.ts +9 -0
  225. package/dist/core/src/types/CellClickProps.d.ts +11 -0
  226. package/dist/core/src/types/CellRendererProps.d.ts +32 -0
  227. package/dist/core/src/types/CellValue.d.ts +2 -0
  228. package/dist/core/src/types/ColumnEditorConfig.d.ts +32 -0
  229. package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
  230. package/dist/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
  231. package/dist/core/src/types/CustomTheme.d.ts +26 -0
  232. package/dist/core/src/types/DragHandlerProps.d.ts +14 -0
  233. package/dist/core/src/types/EnumOption.d.ts +5 -0
  234. package/dist/core/src/types/FilterTypes.d.ts +22 -0
  235. package/dist/core/src/types/FlattenedHeader.d.ts +10 -0
  236. package/dist/core/src/types/FooterRendererProps.d.ts +17 -0
  237. package/dist/core/src/types/GenerateRowIdParams.d.ts +11 -0
  238. package/dist/core/src/types/GetRowId.d.ts +10 -0
  239. package/dist/core/src/types/HandleResizeStartProps.d.ts +21 -0
  240. package/dist/core/src/types/HeaderDropdownProps.d.ts +14 -0
  241. package/dist/core/src/types/HeaderObject.d.ts +98 -0
  242. package/dist/core/src/types/HeaderRendererProps.d.ts +17 -0
  243. package/dist/core/src/types/IconsConfig.d.ts +19 -0
  244. package/dist/core/src/types/OnNextPage.d.ts +2 -0
  245. package/dist/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
  246. package/dist/core/src/types/OnSortProps.d.ts +3 -0
  247. package/dist/core/src/types/PanelSection.d.ts +1 -0
  248. package/dist/core/src/types/Pinned.d.ts +1 -0
  249. package/dist/core/src/types/PinnedSectionsState.d.ts +6 -0
  250. package/dist/core/src/types/QuickFilterTypes.d.ts +21 -0
  251. package/dist/core/src/types/Row.d.ts +3 -0
  252. package/dist/core/src/types/RowButton.d.ts +6 -0
  253. package/dist/core/src/types/RowId.d.ts +1 -0
  254. package/dist/core/src/types/RowSelectionChangeProps.d.ts +7 -0
  255. package/dist/core/src/types/RowState.d.ts +12 -0
  256. package/dist/core/src/types/RowStateRendererProps.d.ts +18 -0
  257. package/dist/core/src/types/SharedTableProps.d.ts +24 -0
  258. package/dist/core/src/types/SimpleTableConfig.d.ts +88 -0
  259. package/dist/core/src/types/SimpleTableProps.d.ts +99 -0
  260. package/dist/core/src/types/SortColumn.d.ts +8 -0
  261. package/dist/core/src/types/TableAPI.d.ts +57 -0
  262. package/dist/core/src/types/TableHeaderProps.d.ts +17 -0
  263. package/dist/core/src/types/TableRefType.d.ts +78 -0
  264. package/dist/core/src/types/TableRow.d.ts +29 -0
  265. package/dist/core/src/types/TableRowProps.d.ts +29 -0
  266. package/dist/core/src/types/Theme.d.ts +2 -0
  267. package/dist/core/src/types/UpdateCellProps.d.ts +8 -0
  268. package/dist/core/src/utils/bodyCell/content.d.ts +5 -0
  269. package/dist/core/src/utils/bodyCell/editing.d.ts +4 -0
  270. package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
  271. package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
  272. package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
  273. package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
  274. package/dist/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
  275. package/dist/core/src/utils/bodyCell/expansion.d.ts +4 -0
  276. package/dist/core/src/utils/bodyCell/selection.d.ts +7 -0
  277. package/dist/core/src/utils/bodyCell/styling.d.ts +5 -0
  278. package/dist/core/src/utils/bodyCell/types.d.ts +103 -0
  279. package/dist/core/src/utils/bodyCellRenderer.d.ts +5 -0
  280. package/dist/core/src/utils/cellClipboardUtils.d.ts +25 -0
  281. package/dist/core/src/utils/cellScrollUtils.d.ts +10 -0
  282. package/dist/core/src/utils/cellUtils.d.ts +18 -0
  283. package/dist/core/src/utils/charts/createBarChart.d.ts +15 -0
  284. package/dist/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
  285. package/dist/core/src/utils/collapseUtils.d.ts +24 -0
  286. package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
  287. package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
  288. package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
  289. package/dist/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
  290. package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
  291. package/dist/core/src/utils/csvExportUtils.d.ts +14 -0
  292. package/dist/core/src/utils/dateUtils.d.ts +18 -0
  293. package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
  294. package/dist/core/src/utils/filterUtils.d.ts +5 -0
  295. package/dist/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
  296. package/dist/core/src/utils/filters/createCustomSelect.d.ts +20 -0
  297. package/dist/core/src/utils/filters/createDateFilter.d.ts +15 -0
  298. package/dist/core/src/utils/filters/createDatePicker.d.ts +10 -0
  299. package/dist/core/src/utils/filters/createDropdown.d.ts +16 -0
  300. package/dist/core/src/utils/filters/createEnumFilter.d.ts +15 -0
  301. package/dist/core/src/utils/filters/createFilterActions.d.ts +11 -0
  302. package/dist/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
  303. package/dist/core/src/utils/filters/createFilterInput.d.ts +16 -0
  304. package/dist/core/src/utils/filters/createNumberFilter.d.ts +15 -0
  305. package/dist/core/src/utils/filters/createStringFilter.d.ts +15 -0
  306. package/dist/core/src/utils/footer/createTableFooter.d.ts +21 -0
  307. package/dist/core/src/utils/formatters.d.ts +3 -0
  308. package/dist/core/src/utils/generalUtils.d.ts +4 -0
  309. package/dist/core/src/utils/headerCell/collapsing.d.ts +6 -0
  310. package/dist/core/src/utils/headerCell/dragging.d.ts +5 -0
  311. package/dist/core/src/utils/headerCell/editing.d.ts +4 -0
  312. package/dist/core/src/utils/headerCell/eventTracking.d.ts +25 -0
  313. package/dist/core/src/utils/headerCell/filtering.d.ts +3 -0
  314. package/dist/core/src/utils/headerCell/resizing.d.ts +3 -0
  315. package/dist/core/src/utils/headerCell/selection.d.ts +10 -0
  316. package/dist/core/src/utils/headerCell/sorting.d.ts +3 -0
  317. package/dist/core/src/utils/headerCell/styling.d.ts +5 -0
  318. package/dist/core/src/utils/headerCell/types.d.ts +75 -0
  319. package/dist/core/src/utils/headerCellRenderer.d.ts +4 -0
  320. package/dist/core/src/utils/headerUtils.d.ts +41 -0
  321. package/dist/core/src/utils/headerWidthUtils.d.ts +56 -0
  322. package/dist/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
  323. package/dist/core/src/utils/infiniteScrollUtils.d.ts +145 -0
  324. package/dist/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
  325. package/dist/core/src/utils/pinnedColumnUtils.d.ts +25 -0
  326. package/dist/core/src/utils/quickFilterUtils.d.ts +14 -0
  327. package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
  328. package/dist/core/src/utils/resizeUtils/compensation.d.ts +11 -0
  329. package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
  330. package/dist/core/src/utils/resizeUtils/index.d.ts +5 -0
  331. package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
  332. package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
  333. package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
  334. package/dist/core/src/utils/rowFlattening.d.ts +30 -0
  335. package/dist/core/src/utils/rowProcessing.d.ts +36 -0
  336. package/dist/core/src/utils/rowSelectionUtils.d.ts +39 -0
  337. package/dist/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
  338. package/dist/core/src/utils/rowUtils.d.ts +136 -0
  339. package/dist/core/src/utils/sortUtils.d.ts +8 -0
  340. package/dist/core/src/utils/stateRowRenderer.d.ts +15 -0
  341. package/dist/core/src/utils/stickyParentsRenderer.d.ts +30 -0
  342. package/dist/index.es.js +2 -0
  343. package/dist/index.es.js.map +1 -0
  344. package/dist/vue/src/SimpleTable.d.ts +4 -0
  345. package/dist/vue/src/buildVanillaConfig.d.ts +3 -0
  346. package/dist/vue/src/index.d.ts +3 -0
  347. package/dist/vue/src/types.d.ts +51 -0
  348. package/dist/vue/src/utils/wrapVueRenderer.d.ts +21 -0
  349. package/package.json +67 -0
@@ -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;
@@ -0,0 +1,12 @@
1
+ import { Pinned } from "./Pinned";
2
+ /**
3
+ * State for individual rows during expansion/loading
4
+ */
5
+ interface RowState {
6
+ loading?: boolean;
7
+ error?: string | null;
8
+ isEmpty?: boolean;
9
+ emptyMessage?: string;
10
+ triggerSection?: Pinned;
11
+ }
12
+ export default RowState;
@@ -0,0 +1,18 @@
1
+ import type Row from "./Row";
2
+ export interface LoadingStateRendererProps {
3
+ parentRow?: Row;
4
+ }
5
+ export interface ErrorStateRendererProps {
6
+ error: string;
7
+ parentRow?: Row;
8
+ }
9
+ export interface EmptyStateRendererProps {
10
+ message?: string;
11
+ parentRow?: Row;
12
+ }
13
+ export type VanillaLoadingStateRenderer = string | HTMLElement | ((props: LoadingStateRendererProps) => HTMLElement | string);
14
+ export type VanillaErrorStateRenderer = string | HTMLElement | ((props: ErrorStateRendererProps) => HTMLElement | string);
15
+ export type VanillaEmptyStateRenderer = string | HTMLElement | ((props: EmptyStateRendererProps) => HTMLElement | string);
16
+ export type LoadingStateRenderer = VanillaLoadingStateRenderer;
17
+ export type ErrorStateRenderer = VanillaErrorStateRenderer;
18
+ export type EmptyStateRenderer = VanillaEmptyStateRenderer;
@@ -0,0 +1,24 @@
1
+ import HeaderObject from "./HeaderObject";
2
+ export interface RefObject<T> {
3
+ current: T | null;
4
+ }
5
+ interface SharedTableProps {
6
+ centerHeaderRef: RefObject<HTMLDivElement | null>;
7
+ draggedHeaderRef: {
8
+ current: HeaderObject | null;
9
+ };
10
+ headerContainerRef: RefObject<HTMLDivElement | null>;
11
+ headers: HeaderObject[];
12
+ hoveredHeaderRef: {
13
+ current: HeaderObject | null;
14
+ };
15
+ mainBodyRef: RefObject<HTMLDivElement | null>;
16
+ onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
17
+ pinnedLeftColumns: HeaderObject[];
18
+ pinnedLeftHeaderRef: RefObject<HTMLDivElement | null>;
19
+ pinnedRightColumns: HeaderObject[];
20
+ pinnedRightHeaderRef: RefObject<HTMLDivElement | null>;
21
+ rowHeight: number;
22
+ tableBodyContainerRef: RefObject<HTMLDivElement | null>;
23
+ }
24
+ export default SharedTableProps;
@@ -0,0 +1,88 @@
1
+ import HeaderObject, { Accessor } from "./HeaderObject";
2
+ import Row from "./Row";
3
+ import { VanillaEmptyStateRenderer, VanillaErrorStateRenderer, VanillaLoadingStateRenderer } from "./RowStateRendererProps";
4
+ import FooterRendererProps from "./FooterRendererProps";
5
+ import { VanillaHeaderDropdown } from "./HeaderDropdownProps";
6
+ import SortColumn, { SortDirection } from "./SortColumn";
7
+ import CellClickProps from "./CellClickProps";
8
+ import CellChangeProps from "./CellChangeProps";
9
+ import { ColumnVisibilityState } from "./ColumnVisibilityTypes";
10
+ import { TableFilterState } from "./FilterTypes";
11
+ import OnNextPage from "./OnNextPage";
12
+ import OnRowGroupExpandProps from "./OnRowGroupExpandProps";
13
+ import RowSelectionChangeProps from "./RowSelectionChangeProps";
14
+ import { RowButton } from "./RowButton";
15
+ import Theme from "./Theme";
16
+ import { CustomThemeProps } from "./CustomTheme";
17
+ import { GetRowId } from "./GetRowId";
18
+ import { ColumnEditorConfig } from "./ColumnEditorConfig";
19
+ import { VanillaIconsConfig } from "./IconsConfig";
20
+ import { QuickFilterConfig } from "./QuickFilterTypes";
21
+ export interface SimpleTableConfig {
22
+ allowAnimations?: boolean;
23
+ autoExpandColumns?: boolean;
24
+ canExpandRowGroup?: (row: Row) => boolean;
25
+ cellUpdateFlash?: boolean;
26
+ className?: string;
27
+ columnBorders?: boolean;
28
+ columnEditorConfig?: ColumnEditorConfig;
29
+ columnEditorText?: string;
30
+ columnReordering?: boolean;
31
+ columnResizing?: boolean;
32
+ copyHeadersToClipboard?: boolean;
33
+ customTheme?: CustomThemeProps;
34
+ defaultHeaders: HeaderObject[];
35
+ editColumns?: boolean;
36
+ editColumnsInitOpen?: boolean;
37
+ emptyStateRenderer?: VanillaEmptyStateRenderer;
38
+ enableHeaderEditing?: boolean;
39
+ enableRowSelection?: boolean;
40
+ enableStickyParents?: boolean;
41
+ errorStateRenderer?: VanillaErrorStateRenderer;
42
+ expandAll?: boolean;
43
+ externalFilterHandling?: boolean;
44
+ externalSortHandling?: boolean;
45
+ footerRenderer?: (props: FooterRendererProps) => HTMLElement | string | null;
46
+ headerDropdown?: VanillaHeaderDropdown;
47
+ height?: string | number;
48
+ hideFooter?: boolean;
49
+ hideHeader?: boolean;
50
+ icons?: VanillaIconsConfig;
51
+ includeHeadersInCSVExport?: boolean;
52
+ initialSortColumn?: string;
53
+ initialSortDirection?: SortDirection;
54
+ isLoading?: boolean;
55
+ loadingStateRenderer?: VanillaLoadingStateRenderer;
56
+ maxHeight?: string | number;
57
+ onCellClick?: (props: CellClickProps) => void;
58
+ onCellEdit?: (props: CellChangeProps) => void;
59
+ onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
60
+ onColumnSelect?: (header: HeaderObject) => void;
61
+ onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
62
+ onColumnWidthChange?: (headers: HeaderObject[]) => void;
63
+ onFilterChange?: (filters: TableFilterState) => void;
64
+ onGridReady?: () => void;
65
+ onHeaderEdit?: (header: HeaderObject, newLabel: string) => void;
66
+ onLoadMore?: () => void;
67
+ onNextPage?: OnNextPage;
68
+ onPageChange?: (page: number) => void | Promise<void>;
69
+ onRowGroupExpand?: (props: OnRowGroupExpandProps) => void | Promise<void>;
70
+ onRowSelectionChange?: (props: RowSelectionChangeProps) => void;
71
+ onSortChange?: (sort: SortColumn | null) => void;
72
+ quickFilter?: QuickFilterConfig;
73
+ rowButtons?: RowButton[];
74
+ rowGrouping?: Accessor[];
75
+ getRowId?: GetRowId;
76
+ rows: Row[];
77
+ rowsPerPage?: number;
78
+ selectableCells?: boolean;
79
+ selectableColumns?: boolean;
80
+ serverSidePagination?: boolean;
81
+ shouldPaginate?: boolean;
82
+ tableEmptyStateRenderer?: HTMLElement | string | null;
83
+ theme?: Theme;
84
+ totalRowCount?: number;
85
+ useHoverRowBackground?: boolean;
86
+ useOddColumnBackground?: boolean;
87
+ useOddEvenRowBackground?: boolean;
88
+ }
@@ -0,0 +1,99 @@
1
+ import HeaderObject, { Accessor } from "./HeaderObject";
2
+ import Row from "./Row";
3
+ import { EmptyStateRenderer, ErrorStateRenderer, LoadingStateRenderer } from "./RowStateRendererProps";
4
+ import FooterRendererProps from "./FooterRendererProps";
5
+ import { HeaderDropdown } from "./HeaderDropdownProps";
6
+ import SortColumn, { SortDirection } from "./SortColumn";
7
+ import CellClickProps from "./CellClickProps";
8
+ import CellChangeProps from "./CellChangeProps";
9
+ import { ColumnVisibilityState } from "./ColumnVisibilityTypes";
10
+ import { TableFilterState } from "./FilterTypes";
11
+ import OnNextPage from "./OnNextPage";
12
+ import OnRowGroupExpandProps from "./OnRowGroupExpandProps";
13
+ import RowSelectionChangeProps from "./RowSelectionChangeProps";
14
+ import { RowButton } from "./RowButton";
15
+ import TableRefType from "./TableRefType";
16
+ import Theme from "./Theme";
17
+ import { CustomThemeProps } from "./CustomTheme";
18
+ import { GetRowId } from "./GetRowId";
19
+ import { ColumnEditorConfig } from "./ColumnEditorConfig";
20
+ import { IconsConfig } from "./IconsConfig";
21
+ import { QuickFilterConfig } from "./QuickFilterTypes";
22
+ export interface SimpleTableProps {
23
+ autoExpandColumns?: boolean;
24
+ canExpandRowGroup?: (row: Row) => boolean;
25
+ cellUpdateFlash?: boolean;
26
+ className?: string;
27
+ columnBorders?: boolean;
28
+ columnEditorConfig?: ColumnEditorConfig;
29
+ columnEditorText?: string;
30
+ columnReordering?: boolean;
31
+ columnResizing?: boolean;
32
+ copyHeadersToClipboard?: boolean;
33
+ customTheme?: CustomThemeProps;
34
+ defaultHeaders: HeaderObject[];
35
+ editColumns?: boolean;
36
+ editColumnsInitOpen?: boolean;
37
+ emptyStateRenderer?: EmptyStateRenderer;
38
+ enableHeaderEditing?: boolean;
39
+ enableRowSelection?: boolean;
40
+ enableStickyParents?: boolean;
41
+ errorStateRenderer?: ErrorStateRenderer;
42
+ expandAll?: boolean;
43
+ expandIcon?: IconsConfig["expand"];
44
+ externalFilterHandling?: boolean;
45
+ externalSortHandling?: boolean;
46
+ filterIcon?: IconsConfig["filter"];
47
+ footerRenderer?: (props: FooterRendererProps) => HTMLElement | string | null;
48
+ headerCollapseIcon?: IconsConfig["headerCollapse"];
49
+ headerDropdown?: HeaderDropdown;
50
+ headerExpandIcon?: IconsConfig["headerExpand"];
51
+ height?: string | number;
52
+ hideFooter?: boolean;
53
+ hideHeader?: boolean;
54
+ icons?: IconsConfig;
55
+ includeHeadersInCSVExport?: boolean;
56
+ initialSortColumn?: string;
57
+ initialSortDirection?: SortDirection;
58
+ isLoading?: boolean;
59
+ loadingStateRenderer?: LoadingStateRenderer;
60
+ maxHeight?: string | number;
61
+ nextIcon?: IconsConfig["next"];
62
+ onCellClick?: (props: CellClickProps) => void;
63
+ onCellEdit?: (props: CellChangeProps) => void;
64
+ onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
65
+ onColumnSelect?: (header: HeaderObject) => void;
66
+ onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
67
+ onColumnWidthChange?: (headers: HeaderObject[]) => void;
68
+ onFilterChange?: (filters: TableFilterState) => void;
69
+ onGridReady?: () => void;
70
+ onHeaderEdit?: (header: HeaderObject, newLabel: string) => void;
71
+ onLoadMore?: () => void;
72
+ onNextPage?: OnNextPage;
73
+ onPageChange?: (page: number) => void | Promise<void>;
74
+ onRowGroupExpand?: (props: OnRowGroupExpandProps) => void | Promise<void>;
75
+ onRowSelectionChange?: (props: RowSelectionChangeProps) => void;
76
+ onSortChange?: (sort: SortColumn | null) => void;
77
+ prevIcon?: IconsConfig["prev"];
78
+ quickFilter?: QuickFilterConfig;
79
+ rowButtons?: RowButton[];
80
+ rowGrouping?: Accessor[];
81
+ getRowId?: GetRowId;
82
+ rows: Row[];
83
+ rowsPerPage?: number;
84
+ selectableCells?: boolean;
85
+ selectableColumns?: boolean;
86
+ serverSidePagination?: boolean;
87
+ shouldPaginate?: boolean;
88
+ sortDownIcon?: IconsConfig["sortDown"];
89
+ sortUpIcon?: IconsConfig["sortUp"];
90
+ tableEmptyStateRenderer?: HTMLElement | string | null;
91
+ tableRef?: {
92
+ current: TableRefType | null;
93
+ };
94
+ theme?: Theme;
95
+ totalRowCount?: number;
96
+ useHoverRowBackground?: boolean;
97
+ useOddColumnBackground?: boolean;
98
+ useOddEvenRowBackground?: boolean;
99
+ }
@@ -0,0 +1,8 @@
1
+ import HeaderObject from "./HeaderObject";
2
+ type SortDirection = "asc" | "desc";
3
+ type SortColumn = {
4
+ key: HeaderObject;
5
+ direction: SortDirection;
6
+ };
7
+ export default SortColumn;
8
+ export type { SortDirection };
@@ -0,0 +1,57 @@
1
+ import UpdateDataProps from "./UpdateCellProps";
2
+ import HeaderObject, { Accessor } from "./HeaderObject";
3
+ import TableRow from "./TableRow";
4
+ import SortColumn, { SortDirection } from "./SortColumn";
5
+ import { TableFilterState, FilterCondition } from "./FilterTypes";
6
+ import Cell from "./Cell";
7
+ import type { PinnedSectionsState } from "./PinnedSectionsState";
8
+ export interface SetHeaderRenameProps {
9
+ accessor: Accessor;
10
+ }
11
+ export interface ExportToCSVProps {
12
+ filename?: string;
13
+ }
14
+ export type TableAPI = {
15
+ updateData: (props: UpdateDataProps) => void;
16
+ setHeaderRename: (props: SetHeaderRenameProps) => void;
17
+ getVisibleRows: () => TableRow[];
18
+ getAllRows: () => TableRow[];
19
+ getHeaders: () => HeaderObject[];
20
+ exportToCSV: (props?: ExportToCSVProps) => void;
21
+ getSortState: () => SortColumn | null;
22
+ applySortState: (props?: {
23
+ accessor: Accessor;
24
+ direction?: SortDirection;
25
+ }) => Promise<void>;
26
+ /** Ordered root accessors per pin section (left, main/unpinned, right) */
27
+ getPinnedState: () => PinnedSectionsState;
28
+ /** Reorder root columns and set pinned flags; lists must include every root accessor exactly once. Essential order is clamped per section. */
29
+ applyPinnedState: (state: PinnedSectionsState) => Promise<void>;
30
+ getFilterState: () => TableFilterState;
31
+ applyFilter: (filter: FilterCondition) => Promise<void>;
32
+ clearFilter: (accessor: Accessor) => Promise<void>;
33
+ clearAllFilters: () => Promise<void>;
34
+ getCurrentPage: () => number;
35
+ getTotalPages: () => number;
36
+ setPage: (page: number) => Promise<void>;
37
+ expandAll: () => void;
38
+ collapseAll: () => void;
39
+ expandDepth: (depth: number) => void;
40
+ collapseDepth: (depth: number) => void;
41
+ toggleDepth: (depth: number) => void;
42
+ setExpandedDepths: (depths: Set<number>) => void;
43
+ getExpandedDepths: () => Set<number>;
44
+ getGroupingProperty: (depth: number) => Accessor | undefined;
45
+ getGroupingDepth: (property: Accessor) => number;
46
+ toggleColumnEditor: (open?: boolean) => void;
47
+ applyColumnVisibility: (visibility: {
48
+ [accessor: string]: boolean;
49
+ }) => Promise<void>;
50
+ /** Reset columns to default order and visibility (restores defaultHeaders state). */
51
+ resetColumns: () => void;
52
+ setQuickFilter: (text: string) => void;
53
+ getSelectedCells: () => Set<string>;
54
+ clearSelection: () => void;
55
+ selectCell: (cell: Cell) => void;
56
+ selectCellRange: (startCell: Cell, endCell: Cell) => void;
57
+ };
@@ -0,0 +1,17 @@
1
+ import SortColumn from "./SortColumn";
2
+ import HeaderObject from "./HeaderObject";
3
+ export interface RefObject<T> {
4
+ current: T | null;
5
+ }
6
+ type TableHeaderProps = {
7
+ calculatedHeaderHeight: number;
8
+ centerHeaderRef: RefObject<HTMLDivElement | null>;
9
+ headers: HeaderObject[];
10
+ mainBodyWidth: number;
11
+ pinnedLeftColumns: HeaderObject[];
12
+ pinnedLeftWidth: number;
13
+ pinnedRightColumns: HeaderObject[];
14
+ pinnedRightWidth: number;
15
+ sort: SortColumn | null;
16
+ };
17
+ export default TableHeaderProps;