@simple-table/angular 3.0.0-beta.9 → 3.0.2

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 (358) hide show
  1. package/README.md +37 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/index.es.js +1 -1
  4. package/dist/styles.css +1 -0
  5. package/dist/types/angular/src/defaultHeadersFromCore.d.ts +5 -0
  6. package/dist/types/angular/src/index.d.ts +6 -0
  7. package/dist/{cjs → types}/angular/src/lib/SimpleTableComponent.d.ts +2 -2
  8. package/dist/{angular → types/angular}/src/types.d.ts +30 -6
  9. package/dist/{core → types/core}/src/core/SimpleTableVanilla.d.ts +2 -0
  10. package/dist/{cjs → types}/core/src/core/initialization/TableInitializer.d.ts +4 -1
  11. package/dist/{cjs → types}/core/src/core/rendering/RenderOrchestrator.d.ts +7 -0
  12. package/dist/{core → types/core}/src/core/rendering/TableRenderer.d.ts +1 -0
  13. package/dist/{core → types/core}/src/index.d.ts +3 -2
  14. package/dist/{core → types/core}/src/managers/DimensionManager.d.ts +3 -0
  15. package/dist/{cjs → types}/core/src/managers/SelectionManager/SelectionManager.d.ts +7 -0
  16. package/dist/{cjs → types}/core/src/managers/SelectionManager/mouseUtils.d.ts +2 -1
  17. package/dist/{cjs → types}/core/src/managers/SelectionManager/types.d.ts +6 -0
  18. package/dist/{cjs → types}/core/src/types/ColumnEditorConfig.d.ts +5 -2
  19. package/dist/types/core/src/types/ColumnEditorCustomRendererProps.d.ts +14 -0
  20. package/dist/{cjs → types}/core/src/types/CustomTheme.d.ts +2 -0
  21. package/dist/{cjs → types}/core/src/types/HeaderObject.d.ts +1 -1
  22. package/dist/{cjs → types}/core/src/types/SimpleTableConfig.d.ts +0 -2
  23. package/dist/{cjs → types}/core/src/types/SimpleTableProps.d.ts +0 -13
  24. package/dist/types/core/src/utils/asRows.d.ts +7 -0
  25. package/dist/types/core/src/utils/bodyCell/expansion.d.ts +12 -0
  26. package/dist/{cjs → types}/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -1
  27. package/dist/{core → types/core}/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -1
  28. package/dist/{cjs → types}/core/src/utils/columnEditor/createColumnEditorRow.d.ts +8 -1
  29. package/dist/types/core/src/utils/filters/createDropdown.d.ts +33 -0
  30. package/dist/{core → types/core}/src/utils/filters/createFilterActions.d.ts +1 -0
  31. package/dist/{core → types/core}/src/utils/headerCell/collapsing.d.ts +1 -1
  32. package/dist/{core → types/core}/src/utils/headerCell/eventTracking.d.ts +3 -0
  33. package/dist/{core → types/core}/src/utils/headerCell/resizing.d.ts +1 -1
  34. package/dist/{cjs → types}/core/src/utils/headerCell/styling.d.ts +3 -3
  35. package/dist/{cjs → types}/core/src/utils/headerCell/types.d.ts +2 -0
  36. package/dist/{cjs → types}/core/src/utils/headerWidthUtils.d.ts +4 -2
  37. package/dist/{core → types/core}/src/utils/horizontalScrollbarRenderer.d.ts +5 -0
  38. package/dist/{cjs → types}/core/src/utils/pinnedColumnUtils.d.ts +5 -1
  39. package/dist/types/core/src/utils/resizeUtils/index.d.ts +22 -0
  40. package/dist/{core → types/core}/src/utils/rowSeparatorRenderer.d.ts +4 -0
  41. package/package.json +10 -7
  42. package/dist/angular/src/index.d.ts +0 -4
  43. package/dist/angular/src/lib/SimpleTableComponent.d.ts +0 -81
  44. package/dist/cjs/angular/src/buildVanillaConfig.d.ts +0 -4
  45. package/dist/cjs/angular/src/index.d.ts +0 -4
  46. package/dist/cjs/angular/src/lib/provideSimpleTable.d.ts +0 -23
  47. package/dist/cjs/angular/src/types.d.ts +0 -37
  48. package/dist/cjs/angular/src/utils/wrapAngularRenderer.d.ts +0 -15
  49. package/dist/cjs/core/src/core/SimpleTableVanilla.d.ts +0 -71
  50. package/dist/cjs/core/src/core/rendering/TableRenderer.d.ts +0 -89
  51. package/dist/cjs/core/src/index.d.ts +0 -48
  52. package/dist/cjs/core/src/managers/DimensionManager.d.ts +0 -42
  53. package/dist/cjs/core/src/types/TableRefType.d.ts +0 -78
  54. package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +0 -4
  55. package/dist/cjs/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -22
  56. package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +0 -10
  57. package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +0 -16
  58. package/dist/cjs/core/src/utils/filters/createFilterActions.d.ts +0 -11
  59. package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +0 -6
  60. package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +0 -25
  61. package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +0 -3
  62. package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +0 -14
  63. package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +0 -5
  64. package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +0 -12
  65. package/dist/core/src/consts/column-constraints.d.ts +0 -58
  66. package/dist/core/src/consts/general-consts.d.ts +0 -13
  67. package/dist/core/src/core/api/TableAPIImpl.d.ts +0 -44
  68. package/dist/core/src/core/dom/DOMManager.d.ts +0 -50
  69. package/dist/core/src/core/initialization/TableInitializer.d.ts +0 -30
  70. package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +0 -123
  71. package/dist/core/src/core/rendering/SectionRenderer.d.ts +0 -61
  72. package/dist/core/src/hooks/ariaAnnouncements.d.ts +0 -37
  73. package/dist/core/src/hooks/contentHeight.d.ts +0 -23
  74. package/dist/core/src/hooks/expandedDepths.d.ts +0 -65
  75. package/dist/core/src/hooks/handleOutsideClick.d.ts +0 -50
  76. package/dist/core/src/hooks/previousValue.d.ts +0 -30
  77. package/dist/core/src/hooks/scrollbarVisibility.d.ts +0 -65
  78. package/dist/core/src/hooks/scrollbarWidth.d.ts +0 -52
  79. package/dist/core/src/hooks/useAggregatedRows.d.ts +0 -14
  80. package/dist/core/src/hooks/useQuickFilter.d.ts +0 -14
  81. package/dist/core/src/hooks/windowResize.d.ts +0 -31
  82. package/dist/core/src/icons/AngleDownIcon.d.ts +0 -1
  83. package/dist/core/src/icons/AngleLeftIcon.d.ts +0 -1
  84. package/dist/core/src/icons/AngleRightIcon.d.ts +0 -1
  85. package/dist/core/src/icons/AngleUpIcon.d.ts +0 -1
  86. package/dist/core/src/icons/AscIcon.d.ts +0 -1
  87. package/dist/core/src/icons/CheckIcon.d.ts +0 -1
  88. package/dist/core/src/icons/DescIcon.d.ts +0 -1
  89. package/dist/core/src/icons/DragIcon.d.ts +0 -1
  90. package/dist/core/src/icons/FilterIcon.d.ts +0 -1
  91. package/dist/core/src/icons/SelectIcon.d.ts +0 -1
  92. package/dist/core/src/icons/index.d.ts +0 -14
  93. package/dist/core/src/managers/AutoScaleManager.d.ts +0 -26
  94. package/dist/core/src/managers/DragHandlerManager.d.ts +0 -44
  95. package/dist/core/src/managers/FilterManager.d.ts +0 -36
  96. package/dist/core/src/managers/RowManager.d.ts +0 -56
  97. package/dist/core/src/managers/RowSelectionManager.d.ts +0 -36
  98. package/dist/core/src/managers/ScrollManager.d.ts +0 -35
  99. package/dist/core/src/managers/SectionScrollController.d.ts +0 -50
  100. package/dist/core/src/managers/SelectionManager/SelectionManager.d.ts +0 -246
  101. package/dist/core/src/managers/SelectionManager/index.d.ts +0 -2
  102. package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -7
  103. package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +0 -15
  104. package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -7
  105. package/dist/core/src/managers/SelectionManager/types.d.ts +0 -22
  106. package/dist/core/src/managers/SortManager.d.ts +0 -42
  107. package/dist/core/src/types/AggregationTypes.d.ts +0 -8
  108. package/dist/core/src/types/BoundingBox.d.ts +0 -11
  109. package/dist/core/src/types/Cell.d.ts +0 -7
  110. package/dist/core/src/types/CellChangeProps.d.ts +0 -9
  111. package/dist/core/src/types/CellClickProps.d.ts +0 -11
  112. package/dist/core/src/types/CellRendererProps.d.ts +0 -32
  113. package/dist/core/src/types/CellValue.d.ts +0 -2
  114. package/dist/core/src/types/ColumnEditorConfig.d.ts +0 -32
  115. package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -39
  116. package/dist/core/src/types/ColumnVisibilityTypes.d.ts +0 -4
  117. package/dist/core/src/types/CustomTheme.d.ts +0 -26
  118. package/dist/core/src/types/DragHandlerProps.d.ts +0 -14
  119. package/dist/core/src/types/EnumOption.d.ts +0 -5
  120. package/dist/core/src/types/FilterTypes.d.ts +0 -22
  121. package/dist/core/src/types/FlattenedHeader.d.ts +0 -10
  122. package/dist/core/src/types/FooterRendererProps.d.ts +0 -17
  123. package/dist/core/src/types/GenerateRowIdParams.d.ts +0 -11
  124. package/dist/core/src/types/GetRowId.d.ts +0 -10
  125. package/dist/core/src/types/HandleResizeStartProps.d.ts +0 -21
  126. package/dist/core/src/types/HeaderDropdownProps.d.ts +0 -14
  127. package/dist/core/src/types/HeaderObject.d.ts +0 -98
  128. package/dist/core/src/types/HeaderRendererProps.d.ts +0 -17
  129. package/dist/core/src/types/IconsConfig.d.ts +0 -19
  130. package/dist/core/src/types/OnNextPage.d.ts +0 -2
  131. package/dist/core/src/types/OnRowGroupExpandProps.d.ts +0 -16
  132. package/dist/core/src/types/OnSortProps.d.ts +0 -3
  133. package/dist/core/src/types/PanelSection.d.ts +0 -1
  134. package/dist/core/src/types/Pinned.d.ts +0 -1
  135. package/dist/core/src/types/PinnedSectionsState.d.ts +0 -6
  136. package/dist/core/src/types/QuickFilterTypes.d.ts +0 -21
  137. package/dist/core/src/types/Row.d.ts +0 -3
  138. package/dist/core/src/types/RowButton.d.ts +0 -6
  139. package/dist/core/src/types/RowId.d.ts +0 -1
  140. package/dist/core/src/types/RowSelectionChangeProps.d.ts +0 -7
  141. package/dist/core/src/types/RowState.d.ts +0 -12
  142. package/dist/core/src/types/RowStateRendererProps.d.ts +0 -18
  143. package/dist/core/src/types/SharedTableProps.d.ts +0 -24
  144. package/dist/core/src/types/SimpleTableConfig.d.ts +0 -88
  145. package/dist/core/src/types/SimpleTableProps.d.ts +0 -99
  146. package/dist/core/src/types/SortColumn.d.ts +0 -8
  147. package/dist/core/src/types/TableAPI.d.ts +0 -57
  148. package/dist/core/src/types/TableHeaderProps.d.ts +0 -17
  149. package/dist/core/src/types/TableRefType.d.ts +0 -78
  150. package/dist/core/src/types/TableRow.d.ts +0 -29
  151. package/dist/core/src/types/TableRowProps.d.ts +0 -29
  152. package/dist/core/src/types/Theme.d.ts +0 -2
  153. package/dist/core/src/types/UpdateCellProps.d.ts +0 -8
  154. package/dist/core/src/utils/bodyCell/content.d.ts +0 -5
  155. package/dist/core/src/utils/bodyCell/editing.d.ts +0 -4
  156. package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -2
  157. package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -2
  158. package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -18
  159. package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -2
  160. package/dist/core/src/utils/bodyCell/eventTracking.d.ts +0 -3
  161. package/dist/core/src/utils/bodyCell/expansion.d.ts +0 -4
  162. package/dist/core/src/utils/bodyCell/selection.d.ts +0 -7
  163. package/dist/core/src/utils/bodyCell/styling.d.ts +0 -5
  164. package/dist/core/src/utils/bodyCell/types.d.ts +0 -103
  165. package/dist/core/src/utils/bodyCellRenderer.d.ts +0 -5
  166. package/dist/core/src/utils/cellClipboardUtils.d.ts +0 -25
  167. package/dist/core/src/utils/cellScrollUtils.d.ts +0 -10
  168. package/dist/core/src/utils/cellUtils.d.ts +0 -18
  169. package/dist/core/src/utils/charts/createBarChart.d.ts +0 -15
  170. package/dist/core/src/utils/charts/createLineAreaChart.d.ts +0 -17
  171. package/dist/core/src/utils/collapseUtils.d.ts +0 -24
  172. package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -14
  173. package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +0 -21
  174. package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -25
  175. package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +0 -31
  176. package/dist/core/src/utils/csvExportUtils.d.ts +0 -14
  177. package/dist/core/src/utils/dateUtils.d.ts +0 -18
  178. package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +0 -10
  179. package/dist/core/src/utils/filterUtils.d.ts +0 -5
  180. package/dist/core/src/utils/filters/createBooleanFilter.d.ts +0 -15
  181. package/dist/core/src/utils/filters/createCustomSelect.d.ts +0 -20
  182. package/dist/core/src/utils/filters/createDateFilter.d.ts +0 -15
  183. package/dist/core/src/utils/filters/createDatePicker.d.ts +0 -10
  184. package/dist/core/src/utils/filters/createDropdown.d.ts +0 -16
  185. package/dist/core/src/utils/filters/createEnumFilter.d.ts +0 -15
  186. package/dist/core/src/utils/filters/createFilterDropdown.d.ts +0 -15
  187. package/dist/core/src/utils/filters/createFilterInput.d.ts +0 -16
  188. package/dist/core/src/utils/filters/createNumberFilter.d.ts +0 -15
  189. package/dist/core/src/utils/filters/createStringFilter.d.ts +0 -15
  190. package/dist/core/src/utils/footer/createTableFooter.d.ts +0 -21
  191. package/dist/core/src/utils/formatters.d.ts +0 -3
  192. package/dist/core/src/utils/generalUtils.d.ts +0 -4
  193. package/dist/core/src/utils/headerCell/dragging.d.ts +0 -5
  194. package/dist/core/src/utils/headerCell/editing.d.ts +0 -4
  195. package/dist/core/src/utils/headerCell/filtering.d.ts +0 -3
  196. package/dist/core/src/utils/headerCell/selection.d.ts +0 -10
  197. package/dist/core/src/utils/headerCell/sorting.d.ts +0 -3
  198. package/dist/core/src/utils/headerCell/styling.d.ts +0 -5
  199. package/dist/core/src/utils/headerCell/types.d.ts +0 -75
  200. package/dist/core/src/utils/headerCellRenderer.d.ts +0 -4
  201. package/dist/core/src/utils/headerUtils.d.ts +0 -41
  202. package/dist/core/src/utils/headerWidthUtils.d.ts +0 -56
  203. package/dist/core/src/utils/infiniteScrollUtils.d.ts +0 -145
  204. package/dist/core/src/utils/nestedGridRowRenderer.d.ts +0 -34
  205. package/dist/core/src/utils/pinnedColumnUtils.d.ts +0 -25
  206. package/dist/core/src/utils/quickFilterUtils.d.ts +0 -14
  207. package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -21
  208. package/dist/core/src/utils/resizeUtils/compensation.d.ts +0 -11
  209. package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +0 -15
  210. package/dist/core/src/utils/resizeUtils/index.d.ts +0 -5
  211. package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +0 -9
  212. package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -11
  213. package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -16
  214. package/dist/core/src/utils/rowFlattening.d.ts +0 -30
  215. package/dist/core/src/utils/rowProcessing.d.ts +0 -36
  216. package/dist/core/src/utils/rowSelectionUtils.d.ts +0 -39
  217. package/dist/core/src/utils/rowUtils.d.ts +0 -136
  218. package/dist/core/src/utils/sortUtils.d.ts +0 -8
  219. package/dist/core/src/utils/stateRowRenderer.d.ts +0 -15
  220. package/dist/core/src/utils/stickyParentsRenderer.d.ts +0 -30
  221. /package/dist/{angular → types/angular}/src/buildVanillaConfig.d.ts +0 -0
  222. /package/dist/{angular → types/angular}/src/lib/provideSimpleTable.d.ts +0 -0
  223. /package/dist/{angular → types/angular}/src/utils/wrapAngularRenderer.d.ts +0 -0
  224. /package/dist/{cjs → types}/core/src/consts/column-constraints.d.ts +0 -0
  225. /package/dist/{cjs → types}/core/src/consts/general-consts.d.ts +0 -0
  226. /package/dist/{cjs → types}/core/src/core/api/TableAPIImpl.d.ts +0 -0
  227. /package/dist/{cjs → types}/core/src/core/dom/DOMManager.d.ts +0 -0
  228. /package/dist/{cjs → types}/core/src/core/rendering/SectionRenderer.d.ts +0 -0
  229. /package/dist/{cjs → types}/core/src/hooks/ariaAnnouncements.d.ts +0 -0
  230. /package/dist/{cjs → types}/core/src/hooks/contentHeight.d.ts +0 -0
  231. /package/dist/{cjs → types}/core/src/hooks/expandedDepths.d.ts +0 -0
  232. /package/dist/{cjs → types}/core/src/hooks/handleOutsideClick.d.ts +0 -0
  233. /package/dist/{cjs → types}/core/src/hooks/previousValue.d.ts +0 -0
  234. /package/dist/{cjs → types}/core/src/hooks/scrollbarVisibility.d.ts +0 -0
  235. /package/dist/{cjs → types}/core/src/hooks/scrollbarWidth.d.ts +0 -0
  236. /package/dist/{cjs → types}/core/src/hooks/useAggregatedRows.d.ts +0 -0
  237. /package/dist/{cjs → types}/core/src/hooks/useQuickFilter.d.ts +0 -0
  238. /package/dist/{cjs → types}/core/src/hooks/windowResize.d.ts +0 -0
  239. /package/dist/{cjs → types}/core/src/icons/AngleDownIcon.d.ts +0 -0
  240. /package/dist/{cjs → types}/core/src/icons/AngleLeftIcon.d.ts +0 -0
  241. /package/dist/{cjs → types}/core/src/icons/AngleRightIcon.d.ts +0 -0
  242. /package/dist/{cjs → types}/core/src/icons/AngleUpIcon.d.ts +0 -0
  243. /package/dist/{cjs → types}/core/src/icons/AscIcon.d.ts +0 -0
  244. /package/dist/{cjs → types}/core/src/icons/CheckIcon.d.ts +0 -0
  245. /package/dist/{cjs → types}/core/src/icons/DescIcon.d.ts +0 -0
  246. /package/dist/{cjs → types}/core/src/icons/DragIcon.d.ts +0 -0
  247. /package/dist/{cjs → types}/core/src/icons/FilterIcon.d.ts +0 -0
  248. /package/dist/{cjs → types}/core/src/icons/SelectIcon.d.ts +0 -0
  249. /package/dist/{cjs → types}/core/src/icons/index.d.ts +0 -0
  250. /package/dist/{cjs → types}/core/src/managers/AutoScaleManager.d.ts +0 -0
  251. /package/dist/{cjs → types}/core/src/managers/DragHandlerManager.d.ts +0 -0
  252. /package/dist/{cjs → types}/core/src/managers/FilterManager.d.ts +0 -0
  253. /package/dist/{cjs → types}/core/src/managers/RowManager.d.ts +0 -0
  254. /package/dist/{cjs → types}/core/src/managers/RowSelectionManager.d.ts +0 -0
  255. /package/dist/{cjs → types}/core/src/managers/ScrollManager.d.ts +0 -0
  256. /package/dist/{cjs → types}/core/src/managers/SectionScrollController.d.ts +0 -0
  257. /package/dist/{cjs → types}/core/src/managers/SelectionManager/index.d.ts +0 -0
  258. /package/dist/{cjs → types}/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -0
  259. /package/dist/{cjs → types}/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -0
  260. /package/dist/{cjs → types}/core/src/managers/SortManager.d.ts +0 -0
  261. /package/dist/{cjs → types}/core/src/types/AggregationTypes.d.ts +0 -0
  262. /package/dist/{cjs → types}/core/src/types/BoundingBox.d.ts +0 -0
  263. /package/dist/{cjs → types}/core/src/types/Cell.d.ts +0 -0
  264. /package/dist/{cjs → types}/core/src/types/CellChangeProps.d.ts +0 -0
  265. /package/dist/{cjs → types}/core/src/types/CellClickProps.d.ts +0 -0
  266. /package/dist/{cjs → types}/core/src/types/CellRendererProps.d.ts +0 -0
  267. /package/dist/{cjs → types}/core/src/types/CellValue.d.ts +0 -0
  268. /package/dist/{cjs → types}/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -0
  269. /package/dist/{cjs → types}/core/src/types/ColumnVisibilityTypes.d.ts +0 -0
  270. /package/dist/{cjs → types}/core/src/types/DragHandlerProps.d.ts +0 -0
  271. /package/dist/{cjs → types}/core/src/types/EnumOption.d.ts +0 -0
  272. /package/dist/{cjs → types}/core/src/types/FilterTypes.d.ts +0 -0
  273. /package/dist/{cjs → types}/core/src/types/FlattenedHeader.d.ts +0 -0
  274. /package/dist/{cjs → types}/core/src/types/FooterRendererProps.d.ts +0 -0
  275. /package/dist/{cjs → types}/core/src/types/GenerateRowIdParams.d.ts +0 -0
  276. /package/dist/{cjs → types}/core/src/types/GetRowId.d.ts +0 -0
  277. /package/dist/{cjs → types}/core/src/types/HandleResizeStartProps.d.ts +0 -0
  278. /package/dist/{cjs → types}/core/src/types/HeaderDropdownProps.d.ts +0 -0
  279. /package/dist/{cjs → types}/core/src/types/HeaderRendererProps.d.ts +0 -0
  280. /package/dist/{cjs → types}/core/src/types/IconsConfig.d.ts +0 -0
  281. /package/dist/{cjs → types}/core/src/types/OnNextPage.d.ts +0 -0
  282. /package/dist/{cjs → types}/core/src/types/OnRowGroupExpandProps.d.ts +0 -0
  283. /package/dist/{cjs → types}/core/src/types/OnSortProps.d.ts +0 -0
  284. /package/dist/{cjs → types}/core/src/types/PanelSection.d.ts +0 -0
  285. /package/dist/{cjs → types}/core/src/types/Pinned.d.ts +0 -0
  286. /package/dist/{cjs → types}/core/src/types/PinnedSectionsState.d.ts +0 -0
  287. /package/dist/{cjs → types}/core/src/types/QuickFilterTypes.d.ts +0 -0
  288. /package/dist/{cjs → types}/core/src/types/Row.d.ts +0 -0
  289. /package/dist/{cjs → types}/core/src/types/RowButton.d.ts +0 -0
  290. /package/dist/{cjs → types}/core/src/types/RowId.d.ts +0 -0
  291. /package/dist/{cjs → types}/core/src/types/RowSelectionChangeProps.d.ts +0 -0
  292. /package/dist/{cjs → types}/core/src/types/RowState.d.ts +0 -0
  293. /package/dist/{cjs → types}/core/src/types/RowStateRendererProps.d.ts +0 -0
  294. /package/dist/{cjs → types}/core/src/types/SharedTableProps.d.ts +0 -0
  295. /package/dist/{cjs → types}/core/src/types/SortColumn.d.ts +0 -0
  296. /package/dist/{cjs → types}/core/src/types/TableAPI.d.ts +0 -0
  297. /package/dist/{cjs → types}/core/src/types/TableHeaderProps.d.ts +0 -0
  298. /package/dist/{cjs → types}/core/src/types/TableRow.d.ts +0 -0
  299. /package/dist/{cjs → types}/core/src/types/TableRowProps.d.ts +0 -0
  300. /package/dist/{cjs → types}/core/src/types/Theme.d.ts +0 -0
  301. /package/dist/{cjs → types}/core/src/types/UpdateCellProps.d.ts +0 -0
  302. /package/dist/{cjs → types}/core/src/utils/bodyCell/content.d.ts +0 -0
  303. /package/dist/{cjs → types}/core/src/utils/bodyCell/editing.d.ts +0 -0
  304. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -0
  305. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -0
  306. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -0
  307. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -0
  308. /package/dist/{cjs → types}/core/src/utils/bodyCell/eventTracking.d.ts +0 -0
  309. /package/dist/{cjs → types}/core/src/utils/bodyCell/selection.d.ts +0 -0
  310. /package/dist/{cjs → types}/core/src/utils/bodyCell/styling.d.ts +0 -0
  311. /package/dist/{cjs → types}/core/src/utils/bodyCell/types.d.ts +0 -0
  312. /package/dist/{cjs → types}/core/src/utils/bodyCellRenderer.d.ts +0 -0
  313. /package/dist/{cjs → types}/core/src/utils/cellClipboardUtils.d.ts +0 -0
  314. /package/dist/{cjs → types}/core/src/utils/cellScrollUtils.d.ts +0 -0
  315. /package/dist/{cjs → types}/core/src/utils/cellUtils.d.ts +0 -0
  316. /package/dist/{cjs → types}/core/src/utils/charts/createBarChart.d.ts +0 -0
  317. /package/dist/{cjs → types}/core/src/utils/charts/createLineAreaChart.d.ts +0 -0
  318. /package/dist/{cjs → types}/core/src/utils/collapseUtils.d.ts +0 -0
  319. /package/dist/{cjs → types}/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -0
  320. /package/dist/{cjs → types}/core/src/utils/columnEditor/createCheckbox.d.ts +0 -0
  321. /package/dist/{cjs → types}/core/src/utils/csvExportUtils.d.ts +0 -0
  322. /package/dist/{cjs → types}/core/src/utils/dateUtils.d.ts +0 -0
  323. /package/dist/{cjs → types}/core/src/utils/filterUtils.d.ts +0 -0
  324. /package/dist/{cjs → types}/core/src/utils/filters/createBooleanFilter.d.ts +0 -0
  325. /package/dist/{cjs → types}/core/src/utils/filters/createCustomSelect.d.ts +0 -0
  326. /package/dist/{cjs → types}/core/src/utils/filters/createDateFilter.d.ts +0 -0
  327. /package/dist/{cjs → types}/core/src/utils/filters/createDatePicker.d.ts +0 -0
  328. /package/dist/{cjs → types}/core/src/utils/filters/createEnumFilter.d.ts +0 -0
  329. /package/dist/{cjs → types}/core/src/utils/filters/createFilterDropdown.d.ts +0 -0
  330. /package/dist/{cjs → types}/core/src/utils/filters/createFilterInput.d.ts +0 -0
  331. /package/dist/{cjs → types}/core/src/utils/filters/createNumberFilter.d.ts +0 -0
  332. /package/dist/{cjs → types}/core/src/utils/filters/createStringFilter.d.ts +0 -0
  333. /package/dist/{cjs → types}/core/src/utils/footer/createTableFooter.d.ts +0 -0
  334. /package/dist/{cjs → types}/core/src/utils/formatters.d.ts +0 -0
  335. /package/dist/{cjs → types}/core/src/utils/generalUtils.d.ts +0 -0
  336. /package/dist/{cjs → types}/core/src/utils/headerCell/dragging.d.ts +0 -0
  337. /package/dist/{cjs → types}/core/src/utils/headerCell/editing.d.ts +0 -0
  338. /package/dist/{cjs → types}/core/src/utils/headerCell/filtering.d.ts +0 -0
  339. /package/dist/{cjs → types}/core/src/utils/headerCell/selection.d.ts +0 -0
  340. /package/dist/{cjs → types}/core/src/utils/headerCell/sorting.d.ts +0 -0
  341. /package/dist/{cjs → types}/core/src/utils/headerCellRenderer.d.ts +0 -0
  342. /package/dist/{cjs → types}/core/src/utils/headerUtils.d.ts +0 -0
  343. /package/dist/{cjs → types}/core/src/utils/infiniteScrollUtils.d.ts +0 -0
  344. /package/dist/{cjs → types}/core/src/utils/nestedGridRowRenderer.d.ts +0 -0
  345. /package/dist/{cjs → types}/core/src/utils/quickFilterUtils.d.ts +0 -0
  346. /package/dist/{cjs → types}/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -0
  347. /package/dist/{cjs → types}/core/src/utils/resizeUtils/compensation.d.ts +0 -0
  348. /package/dist/{cjs → types}/core/src/utils/resizeUtils/domUpdates.d.ts +0 -0
  349. /package/dist/{cjs → types}/core/src/utils/resizeUtils/maxWidth.d.ts +0 -0
  350. /package/dist/{cjs → types}/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -0
  351. /package/dist/{cjs → types}/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -0
  352. /package/dist/{cjs → types}/core/src/utils/rowFlattening.d.ts +0 -0
  353. /package/dist/{cjs → types}/core/src/utils/rowProcessing.d.ts +0 -0
  354. /package/dist/{cjs → types}/core/src/utils/rowSelectionUtils.d.ts +0 -0
  355. /package/dist/{cjs → types}/core/src/utils/rowUtils.d.ts +0 -0
  356. /package/dist/{cjs → types}/core/src/utils/sortUtils.d.ts +0 -0
  357. /package/dist/{cjs → types}/core/src/utils/stateRowRenderer.d.ts +0 -0
  358. /package/dist/{cjs → types}/core/src/utils/stickyParentsRenderer.d.ts +0 -0
@@ -1,5 +1,6 @@
1
1
  import HeaderObject from "./HeaderObject";
2
2
  import { ColumnEditorRowRenderer } from "./ColumnEditorRowRendererProps";
3
+ import { ColumnEditorCustomRenderer } from "./ColumnEditorCustomRendererProps";
3
4
  /**
4
5
  * Custom search function for filtering columns in the column editor
5
6
  * @param header - The header object to check
@@ -26,7 +27,9 @@ export interface ColumnEditorConfig {
26
27
  allowColumnPinning?: boolean;
27
28
  /** Custom renderer for column editor row layout to reposition icons and labels */
28
29
  rowRenderer?: ColumnEditorRowRenderer;
30
+ /** Custom renderer for the entire column editor panel. Receives pre-built sections (search, list, reset) and headers. */
31
+ customRenderer?: ColumnEditorCustomRenderer;
29
32
  }
30
- export declare const DEFAULT_COLUMN_EDITOR_CONFIG: Required<Omit<ColumnEditorConfig, "searchFunction" | "rowRenderer">>;
33
+ export declare const DEFAULT_COLUMN_EDITOR_CONFIG: Required<Omit<ColumnEditorConfig, "searchFunction" | "rowRenderer" | "customRenderer">>;
31
34
  /** 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">;
35
+ export type MergedColumnEditorConfig = Required<Pick<ColumnEditorConfig, "text" | "searchEnabled" | "searchPlaceholder" | "allowColumnPinning">> & Pick<ColumnEditorConfig, "searchFunction" | "rowRenderer" | "customRenderer">;
@@ -0,0 +1,14 @@
1
+ import type HeaderObject from "./HeaderObject";
2
+ export interface ColumnEditorCustomRendererProps {
3
+ /** The current headers array */
4
+ headers: HeaderObject[];
5
+ /** Pre-built search input section, or null if search is disabled */
6
+ searchSection: HTMLElement | null;
7
+ /** Pre-built column list section with drag-and-drop, checkboxes, etc. */
8
+ listSection: HTMLElement;
9
+ /** Pre-built reset button section, or null if no default headers are configured */
10
+ resetSection: HTMLElement | null;
11
+ /** Function to reset columns to their default configuration */
12
+ resetColumns?: () => void;
13
+ }
14
+ export type ColumnEditorCustomRenderer = (props: ColumnEditorCustomRendererProps) => HTMLElement | string | null;
@@ -24,3 +24,5 @@ export type CustomTheme = Required<CustomThemeProps>;
24
24
  * These match the original hardcoded constants throughout the codebase
25
25
  */
26
26
  export declare const DEFAULT_CUSTOM_THEME: CustomTheme;
27
+ /** Shallow value equality — used to skip layout work when React passes a new `customTheme` object with the same numbers. */
28
+ export declare function areCustomThemesEqual(a: CustomTheme, b: CustomTheme): boolean;
@@ -80,7 +80,7 @@ type HeaderObject = {
80
80
  label: string;
81
81
  minWidth?: number | string;
82
82
  sortingOrder?: ("asc" | "desc" | null)[];
83
- nestedTable?: Omit<SimpleTableProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer" | "expandIcon" | "filterIcon" | "sortUpIcon" | "sortDownIcon" | "nextIcon" | "prevIcon" | "headerCollapseIcon" | "headerExpandIcon">;
83
+ nestedTable?: Omit<SimpleTableProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
84
84
  pinned?: Pinned;
85
85
  quickFilterable?: boolean;
86
86
  quickFilterGetter?: QuickFilterGetter;
@@ -19,14 +19,12 @@ import { ColumnEditorConfig } from "./ColumnEditorConfig";
19
19
  import { VanillaIconsConfig } from "./IconsConfig";
20
20
  import { QuickFilterConfig } from "./QuickFilterTypes";
21
21
  export interface SimpleTableConfig {
22
- allowAnimations?: boolean;
23
22
  autoExpandColumns?: boolean;
24
23
  canExpandRowGroup?: (row: Row) => boolean;
25
24
  cellUpdateFlash?: boolean;
26
25
  className?: string;
27
26
  columnBorders?: boolean;
28
27
  columnEditorConfig?: ColumnEditorConfig;
29
- columnEditorText?: string;
30
28
  columnReordering?: boolean;
31
29
  columnResizing?: boolean;
32
30
  copyHeadersToClipboard?: boolean;
@@ -12,7 +12,6 @@ import OnNextPage from "./OnNextPage";
12
12
  import OnRowGroupExpandProps from "./OnRowGroupExpandProps";
13
13
  import RowSelectionChangeProps from "./RowSelectionChangeProps";
14
14
  import { RowButton } from "./RowButton";
15
- import TableRefType from "./TableRefType";
16
15
  import Theme from "./Theme";
17
16
  import { CustomThemeProps } from "./CustomTheme";
18
17
  import { GetRowId } from "./GetRowId";
@@ -26,7 +25,6 @@ export interface SimpleTableProps {
26
25
  className?: string;
27
26
  columnBorders?: boolean;
28
27
  columnEditorConfig?: ColumnEditorConfig;
29
- columnEditorText?: string;
30
28
  columnReordering?: boolean;
31
29
  columnResizing?: boolean;
32
30
  copyHeadersToClipboard?: boolean;
@@ -40,14 +38,10 @@ export interface SimpleTableProps {
40
38
  enableStickyParents?: boolean;
41
39
  errorStateRenderer?: ErrorStateRenderer;
42
40
  expandAll?: boolean;
43
- expandIcon?: IconsConfig["expand"];
44
41
  externalFilterHandling?: boolean;
45
42
  externalSortHandling?: boolean;
46
- filterIcon?: IconsConfig["filter"];
47
43
  footerRenderer?: (props: FooterRendererProps) => HTMLElement | string | null;
48
- headerCollapseIcon?: IconsConfig["headerCollapse"];
49
44
  headerDropdown?: HeaderDropdown;
50
- headerExpandIcon?: IconsConfig["headerExpand"];
51
45
  height?: string | number;
52
46
  hideFooter?: boolean;
53
47
  hideHeader?: boolean;
@@ -58,7 +52,6 @@ export interface SimpleTableProps {
58
52
  isLoading?: boolean;
59
53
  loadingStateRenderer?: LoadingStateRenderer;
60
54
  maxHeight?: string | number;
61
- nextIcon?: IconsConfig["next"];
62
55
  onCellClick?: (props: CellClickProps) => void;
63
56
  onCellEdit?: (props: CellChangeProps) => void;
64
57
  onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
@@ -74,7 +67,6 @@ export interface SimpleTableProps {
74
67
  onRowGroupExpand?: (props: OnRowGroupExpandProps) => void | Promise<void>;
75
68
  onRowSelectionChange?: (props: RowSelectionChangeProps) => void;
76
69
  onSortChange?: (sort: SortColumn | null) => void;
77
- prevIcon?: IconsConfig["prev"];
78
70
  quickFilter?: QuickFilterConfig;
79
71
  rowButtons?: RowButton[];
80
72
  rowGrouping?: Accessor[];
@@ -85,12 +77,7 @@ export interface SimpleTableProps {
85
77
  selectableColumns?: boolean;
86
78
  serverSidePagination?: boolean;
87
79
  shouldPaginate?: boolean;
88
- sortDownIcon?: IconsConfig["sortDown"];
89
- sortUpIcon?: IconsConfig["sortUp"];
90
80
  tableEmptyStateRenderer?: HTMLElement | string | null;
91
- tableRef?: {
92
- current: TableRefType | null;
93
- };
94
81
  theme?: Theme;
95
82
  totalRowCount?: number;
96
83
  useHoverRowBackground?: boolean;
@@ -0,0 +1,7 @@
1
+ import type Row from "../types/Row";
2
+ /**
3
+ * Structural typing bridge: domain row interfaces often do not assign to {@link Row}[]
4
+ * because `Row` uses an index signature. Use when passing typed data to `rows` and
5
+ * similar APIs.
6
+ */
7
+ export declare function asRows<T>(rows: readonly T[]): Row[];
@@ -0,0 +1,12 @@
1
+ import { AbsoluteBodyCell, CellRenderContext } from "./types";
2
+ export declare const createExpandIcon: (cell: AbsoluteBodyCell, context: CellRenderContext, isExpanded: boolean) => HTMLElement;
3
+ export type UpdateExpandIconStateOptions = {
4
+ /** aria-label when the group is expanded (chevron shows collapse action). */
5
+ ariaLabelWhenExpanded?: string;
6
+ /** aria-label when the group is collapsed (chevron shows expand action). */
7
+ ariaLabelWhenCollapsed?: string;
8
+ /** When true, sets aria-expanded to match isExpanded after the toggle. */
9
+ syncAriaExpanded?: boolean;
10
+ };
11
+ /** Update expand/collapse icon direction on an existing cell (e.g. after expand state changes for nested grids). */
12
+ export declare const updateExpandIconState: (cellElement: HTMLElement, isExpanded: boolean, options?: UpdateExpandIconStateOptions) => void;
@@ -10,7 +10,6 @@ export interface CreateColumnEditorOptions {
10
10
  searchPlaceholder: string;
11
11
  searchFunction?: ColumnEditorSearchFunction;
12
12
  columnEditorConfig: ColumnEditorConfig;
13
- contextHeaders: HeaderObject[];
14
13
  essentialAccessors?: ReadonlySet<string>;
15
14
  resetColumns?: () => void;
16
15
  setHeaders: (headers: HeaderObject[]) => void;
@@ -8,7 +8,6 @@ export interface CreateColumnEditorPopoutOptions {
8
8
  searchPlaceholder: string;
9
9
  searchFunction?: ColumnEditorSearchFunction;
10
10
  columnEditorConfig: ColumnEditorConfig;
11
- contextHeaders: HeaderObject[];
12
11
  essentialAccessors?: ReadonlySet<string>;
13
12
  setHeaders: (headers: HeaderObject[]) => void;
14
13
  onColumnVisibilityChange?: (state: ColumnVisibilityState) => void;
@@ -27,5 +27,12 @@ export interface CreateColumnEditorRowOptions {
27
27
  setHeaders: (headers: HeaderObject[]) => void;
28
28
  onColumnVisibilityChange?: (state: ColumnVisibilityState) => void;
29
29
  onColumnOrderChange?: (headers: HeaderObject[]) => void;
30
+ /** When set (e.g. after expand toggle), used with updateExpandIconState so the chevron animates like table cells. */
31
+ previousExpandedHeaders?: ReadonlySet<string>;
30
32
  }
31
- export declare const createColumnEditorRow: (options: CreateColumnEditorRowOptions) => DocumentFragment;
33
+ export interface CreateColumnEditorRowResult {
34
+ fragment: DocumentFragment;
35
+ /** Run after the row fragment is connected to the document (e.g. listEl.appendChild). */
36
+ scheduleExpandIconAnimation?: () => void;
37
+ }
38
+ export declare const createColumnEditorRow: (options: CreateColumnEditorRowOptions) => CreateColumnEditorRowResult;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Filter / filter-UI dropdown positioning (React-era parity):
3
+ * - Fixed: portaled under `.simple-table-root`, anchored to `anchorElement` (e.g. filter icon) so
4
+ * `overflow: hidden` on `.st-header-cell` does not clip the panel. Same top/left +4px and
5
+ * container-based flip as legacy React Dropdown.tsx.
6
+ * - Absolute: stays under caller’s parent (e.g. `.st-custom-select`); use `anchorElement` for the
7
+ * trigger rect vs `position: relative` parent (React CustomSelect pattern).
8
+ */
9
+ export interface CreateDropdownOptions {
10
+ children: HTMLElement;
11
+ containerRef?: HTMLElement;
12
+ mainBodyRef?: HTMLElement;
13
+ /** Rect used for placement. Required for fixed portaling (e.g. filter icon); for absolute, pass the real trigger (button/input) when it differs from the dropdown parent. */
14
+ anchorElement?: HTMLElement;
15
+ onClose: () => void;
16
+ open: boolean;
17
+ overflow?: "auto" | "visible" | "hidden";
18
+ width?: number;
19
+ maxWidth?: number;
20
+ positioning?: "fixed" | "absolute";
21
+ /**
22
+ * When true, this panel does not clip overflowing descendants (e.g. nested operator menus inside
23
+ * the filter popover). Uses overflow: visible and drops max-height on the shell — see
24
+ * `.st-dropdown-content--allow-descendant-overflow` in base.css.
25
+ */
26
+ allowDescendantOverflow?: boolean;
27
+ }
28
+ export declare const createDropdown: (options: CreateDropdownOptions) => {
29
+ element: HTMLDivElement;
30
+ update: (newOptions: Partial<CreateDropdownOptions>) => void;
31
+ destroy: () => void;
32
+ setOpen: (newOpen: boolean) => void;
33
+ };
@@ -4,6 +4,7 @@ export interface CreateFilterActionsOptions {
4
4
  canApply: boolean;
5
5
  showClear: boolean;
6
6
  }
7
+ /** Matches React FilterActions: `st-filter-button-apply`, `st-filter-button-clear`, `st-filter-button-disabled`. */
7
8
  export declare const createFilterActions: (options: CreateFilterActionsOptions) => {
8
9
  element: HTMLDivElement;
9
10
  update: (newOptions: Partial<CreateFilterActionsOptions>) => void;
@@ -2,5 +2,5 @@ import HeaderObject from "../../types/HeaderObject";
2
2
  import { HeaderRenderContext } from "./types";
3
3
  /** Use same icon and animation as body row expand/collapse (icons.expand + st-expand-icon-container). */
4
4
  export declare const createCollapseIcon: (header: HeaderObject, context: HeaderRenderContext) => HTMLElement | null;
5
- /** Update header collapse icon direction on an existing cell (same pattern as body updateExpandIconState). */
5
+ /** Update header collapse icon direction on an existing cell (delegates to body updateExpandIconState). */
6
6
  export declare const updateHeaderCollapseIconState: (cellElement: HTMLElement, isCollapsed: boolean, label?: string) => void;
@@ -22,4 +22,7 @@ export declare const getHeaderPositionCache: (container: HTMLElement) => Map<str
22
22
  export declare const REVERT_TO_PREVIOUS_HEADERS_DELAY = 1500;
23
23
  export declare const throttle: (callback: () => void, limit: number) => void;
24
24
  export declare const addTrackedEventListener: (element: HTMLElement, event: string, handler: EventListener, options?: AddEventListenerOptions) => void;
25
+ /** Header tooltips are portaled under .simple-table-root; remove them when header DOM is torn down
26
+ * without pointer leave (e.g. sort/filter invalidates context cache and removes header cells). */
27
+ export declare const removeFloatingHeaderTooltips: (fromElement: HTMLElement) => void;
25
28
  export declare const cleanupHeaderCellRendering: (container?: HTMLElement) => void;
@@ -1,3 +1,3 @@
1
1
  import HeaderObject from "../../types/HeaderObject";
2
2
  import { HeaderRenderContext } from "./types";
3
- export declare const createResizeHandle: (header: HeaderObject, context: HeaderRenderContext, isLastHeader: boolean) => HTMLElement | null;
3
+ export declare const createResizeHandle: (header: HeaderObject, context: HeaderRenderContext, isLastMainAutoExpandColumn: boolean) => HTMLElement | null;
@@ -1,5 +1,5 @@
1
1
  import { AbsoluteCell, HeaderRenderContext } from "./types";
2
- export declare const calculateHeaderCellClasses: (cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => string;
3
- export declare const createHeaderCellElement: (cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => HTMLElement;
2
+ export declare const calculateHeaderCellClasses: (cell: AbsoluteCell, context: HeaderRenderContext, isLastMainAutoExpandColumn: boolean) => string;
3
+ export declare const createHeaderCellElement: (cell: AbsoluteCell, context: HeaderRenderContext, isLastMainAutoExpandColumn: boolean) => HTMLElement;
4
4
  export declare const getLastHeaderIndex: (absoluteCells: AbsoluteCell[]) => number;
5
- export declare const updateHeaderCellElement: (cellElement: HTMLElement, cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => void;
5
+ export declare const updateHeaderCellElement: (cellElement: HTMLElement, cell: AbsoluteCell, context: HeaderRenderContext, isLastMainAutoExpandColumn: boolean) => void;
@@ -39,6 +39,8 @@ export interface HeaderRenderContext {
39
39
  handleApplyFilter: (filter: FilterCondition) => void;
40
40
  handleClearFilter: (accessor: Accessor) => void;
41
41
  handleSelectAll?: (checked: boolean) => void;
42
+ /** Live header tree from table state (avoids stale `headers` snapshot in long-lived handlers). */
43
+ getHeaders: () => HeaderObject[];
42
44
  headerHeight: number;
43
45
  headerRegistry?: Map<string, {
44
46
  setEditing: (editing: boolean) => void;
@@ -13,8 +13,8 @@ export declare const DEFAULT_TABLE_WIDTH = 800;
13
13
  * Normalize header widths so that fr and % are converted to pixels.
14
14
  * Call this as soon as headers are received so the rest of the code can assume numeric widths.
15
15
  * If totalWidth is not provided, a reasonable total is computed from fixed widths + default for fr columns.
16
- * If options.containerWidth is provided, the main section's fr columns are given the remaining space
17
- * (container width minus pinned left/right), so the flexible column fills available space.
16
+ * If options.containerWidth is provided, all fr/% columns are resolved against the full container width,
17
+ * so pinned and non-pinned fr columns share the same proportional pool.
18
18
  */
19
19
  export declare function normalizeHeaderWidths(headers: HeaderObject[], totalWidthOrOptions?: number | {
20
20
  containerWidth: number;
@@ -53,4 +53,6 @@ export declare const calculateHeaderContentWidth: (accessor: Accessor, options?:
53
53
  header?: HeaderObject;
54
54
  maxWidth?: number;
55
55
  sampleSize?: number;
56
+ /** Scope `.st-cell-content` font/padding sampling to this table instance */
57
+ styleRoot?: ParentNode | null;
56
58
  }) => number;
@@ -11,4 +11,9 @@ export interface HorizontalScrollbarProps {
11
11
  sectionScrollController?: SectionScrollController | null;
12
12
  }
13
13
  export declare const createHorizontalScrollbar: (props: HorizontalScrollbarProps) => HTMLElement | null;
14
+ /**
15
+ * Apply width props to an existing scrollbar from {@link createHorizontalScrollbar}.
16
+ * Used when layout is recreated without tearing down the DOM node (e.g. pinned resize).
17
+ */
18
+ export declare const syncHorizontalScrollbarLayout: (container: HTMLElement, props: HorizontalScrollbarProps) => void;
14
19
  export declare const cleanupHorizontalScrollbar: (container: HTMLElement, sectionScrollController?: SectionScrollController | null) => void;
@@ -21,5 +21,9 @@ export declare function getPinnedSectionsState(headers: HeaderObject[]): PinnedS
21
21
  * Clamps essential columns to the left within each section. Returns null if accessors don't match roots.
22
22
  */
23
23
  export declare function rebuildHeadersFromPinnedState(headers: HeaderObject[], state: PinnedSectionsState, essentialAccessors: ReadonlySet<string>): HeaderObject[] | null;
24
- /** Move a root column to another pin section (append within target section). */
24
+ /**
25
+ * Move a root column to another pin section.
26
+ * Appends within left/right targets. For `main`, left-pinned columns are inserted at the
27
+ * start of main; right-pinned (and other) columns are inserted at the end of main.
28
+ */
25
29
  export declare function moveRootColumnPinSide(headers: HeaderObject[], accessor: Accessor, target: Exclude<PanelSection, "main"> | "main", essentialAccessors: ReadonlySet<string>): HeaderObject[] | null;
@@ -0,0 +1,22 @@
1
+ import type HeaderObject from "../../types/HeaderObject";
2
+ import type { Accessor } from "../../types/HeaderObject";
3
+ import type { HandleResizeStartProps } from "../../types/HandleResizeStartProps";
4
+ /**
5
+ * Handler for when resize dragging starts
6
+ */
7
+ export declare const handleResizeStart: ({ autoExpandColumns, collapsedHeaders, containerWidth, event, header, headers, mainBodyRef, onColumnWidthChange, reverse, setHeaders, setIsResizing, startWidth, }: HandleResizeStartProps) => void;
8
+ export type ApplyColumnAutoFitWithAutoExpandParams = {
9
+ collapsedHeaders: Set<Accessor>;
10
+ containerWidth: number;
11
+ getTargetLeafWidth: (leafHeader: HeaderObject) => number;
12
+ header: HeaderObject;
13
+ headerCellElement: HTMLElement | null;
14
+ headers: HeaderObject[];
15
+ mainBodyRef: HandleResizeStartProps["mainBodyRef"];
16
+ reverse: boolean;
17
+ };
18
+ /**
19
+ * Apply a one-shot "fit to content" width for a column while preserving autoExpand
20
+ * compensation (same redistribution rules as dragging the resize handle).
21
+ */
22
+ export declare const applyColumnAutoFitWithAutoExpand: ({ header, headers, collapsedHeaders, containerWidth, mainBodyRef, reverse, headerCellElement, getTargetLeafWidth, }: ApplyColumnAutoFitWithAutoExpandParams) => void;
@@ -7,6 +7,10 @@ export interface CreateRowSeparatorOptions {
7
7
  heightOffsets?: HeightOffsets;
8
8
  customTheme?: CustomTheme;
9
9
  isSticky?: boolean;
10
+ /** Same px width as the body/sticky section (`SectionRenderer` / sticky pane); omit to use 100%. */
11
+ sectionWidthPx?: number;
10
12
  }
13
+ /** Keep separator width in sync with section layout (resize, pinned width changes). */
14
+ export declare const applyRowSeparatorSectionWidth: (separator: HTMLElement, sectionWidthPx?: number) => void;
11
15
  export declare const createRowSeparator: (options: CreateRowSeparatorOptions) => HTMLElement;
12
16
  export declare const createSpacerRow: (position: number, rowHeight: number, heightOffsets: HeightOffsets | undefined, customTheme: CustomTheme, className: string, height?: number) => HTMLElement;
package/package.json CHANGED
@@ -1,17 +1,20 @@
1
1
  {
2
2
  "name": "@simple-table/angular",
3
- "version": "3.0.0-beta.9",
4
- "type": "module",
3
+ "version": "3.0.2",
5
4
  "main": "dist/cjs/index.js",
6
5
  "module": "dist/index.es.js",
7
- "types": "dist/index.d.ts",
8
- "sideEffects": false,
6
+ "types": "dist/types/angular/src/index.d.ts",
7
+ "sideEffects": [
8
+ "*.css",
9
+ "**/*.css"
10
+ ],
9
11
  "exports": {
10
12
  ".": {
11
13
  "import": "./dist/index.es.js",
12
14
  "require": "./dist/cjs/index.js",
13
- "types": "./dist/index.d.ts"
14
- }
15
+ "types": "./dist/types/angular/src/index.d.ts"
16
+ },
17
+ "./styles.css": "./dist/styles.css"
15
18
  },
16
19
  "license": "MIT",
17
20
  "publishConfig": {
@@ -27,7 +30,7 @@
27
30
  },
28
31
  "dependencies": {
29
32
  "tslib": "^2.8.1",
30
- "simple-table-core": "3.0.0-beta.9"
33
+ "simple-table-core": "3.0.2"
31
34
  },
32
35
  "devDependencies": {
33
36
  "@angular/common": "^20.0.0",
@@ -1,4 +0,0 @@
1
- export { SimpleTableComponent } from "./lib/SimpleTableComponent";
2
- export { provideSimpleTable } from "./lib/provideSimpleTable";
3
- export type { SimpleTableAngularProps, TableInstance, AngularHeaderObject, AngularColumnEditorConfig, AngularCellRenderer, AngularHeaderRenderer, AngularFooterRenderer, AngularHeaderDropdown, AngularColumnEditorRowRenderer, AngularLoadingStateRenderer, AngularErrorStateRenderer, AngularEmptyStateRenderer, } from "./types";
4
- export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FooterRendererProps, GetRowId, GetRowIdParams, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererComponents, HeaderRendererProps, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRowProps, Theme, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, } from "simple-table-core";
@@ -1,81 +0,0 @@
1
- import { OnChanges, OnDestroy, OnInit, EventEmitter } from "@angular/core";
2
- import type { TableAPI } from "simple-table-core";
3
- import type { SimpleTableAngularProps, AngularHeaderObject } from "../types";
4
- import type { Row } from "simple-table-core";
5
- /**
6
- * SimpleTable — Angular adapter for simple-table-core.
7
- *
8
- * Accepts the same props as SimpleTableProps (the vanilla user-facing API) but
9
- * with Angular component types for all renderer props.
10
- *
11
- * Use @ViewChild to access the TableAPI:
12
- * @ViewChild(SimpleTableComponent) tableRef!: SimpleTableComponent;
13
- * this.tableRef.getAPI()?.sort(...)
14
- *
15
- * Or listen to the (tableReady) output event.
16
- */
17
- export declare class SimpleTableComponent implements OnInit, OnChanges, OnDestroy {
18
- rows: Row[];
19
- defaultHeaders: AngularHeaderObject[];
20
- footerRenderer?: SimpleTableAngularProps["footerRenderer"];
21
- loadingStateRenderer?: SimpleTableAngularProps["loadingStateRenderer"];
22
- errorStateRenderer?: SimpleTableAngularProps["errorStateRenderer"];
23
- emptyStateRenderer?: SimpleTableAngularProps["emptyStateRenderer"];
24
- tableEmptyStateRenderer?: SimpleTableAngularProps["tableEmptyStateRenderer"];
25
- headerDropdown?: SimpleTableAngularProps["headerDropdown"];
26
- columnEditorConfig?: SimpleTableAngularProps["columnEditorConfig"];
27
- onCellClick?: SimpleTableAngularProps["onCellClick"];
28
- onCellEdit?: SimpleTableAngularProps["onCellEdit"];
29
- onSortChange?: SimpleTableAngularProps["onSortChange"];
30
- onFilterChange?: SimpleTableAngularProps["onFilterChange"];
31
- onRowSelectionChange?: SimpleTableAngularProps["onRowSelectionChange"];
32
- onRowGroupExpand?: SimpleTableAngularProps["onRowGroupExpand"];
33
- onColumnOrderChange?: SimpleTableAngularProps["onColumnOrderChange"];
34
- onColumnVisibilityChange?: SimpleTableAngularProps["onColumnVisibilityChange"];
35
- onColumnWidthChange?: SimpleTableAngularProps["onColumnWidthChange"];
36
- onPageChange?: SimpleTableAngularProps["onPageChange"];
37
- onLoadMore?: SimpleTableAngularProps["onLoadMore"];
38
- onGridReady?: SimpleTableAngularProps["onGridReady"];
39
- rowGrouping?: SimpleTableAngularProps["rowGrouping"];
40
- enableRowSelection?: SimpleTableAngularProps["enableRowSelection"];
41
- theme?: SimpleTableAngularProps["theme"];
42
- quickFilter?: SimpleTableAngularProps["quickFilter"];
43
- isLoading?: SimpleTableAngularProps["isLoading"];
44
- getRowId?: SimpleTableAngularProps["getRowId"];
45
- shouldPaginate?: SimpleTableAngularProps["shouldPaginate"];
46
- rowsPerPage?: SimpleTableAngularProps["rowsPerPage"];
47
- serverSidePagination?: SimpleTableAngularProps["serverSidePagination"];
48
- totalRowCount?: SimpleTableAngularProps["totalRowCount"];
49
- height?: SimpleTableAngularProps["height"];
50
- maxHeight?: SimpleTableAngularProps["maxHeight"];
51
- columnResizing?: SimpleTableAngularProps["columnResizing"];
52
- columnReordering?: SimpleTableAngularProps["columnReordering"];
53
- editColumns?: SimpleTableAngularProps["editColumns"];
54
- selectableCells?: SimpleTableAngularProps["selectableCells"];
55
- selectableColumns?: SimpleTableAngularProps["selectableColumns"];
56
- enableHeaderEditing?: SimpleTableAngularProps["enableHeaderEditing"];
57
- onHeaderEdit?: SimpleTableAngularProps["onHeaderEdit"];
58
- customTheme?: SimpleTableAngularProps["customTheme"];
59
- icons?: SimpleTableAngularProps["icons"];
60
- externalFilterHandling?: SimpleTableAngularProps["externalFilterHandling"];
61
- externalSortHandling?: SimpleTableAngularProps["externalSortHandling"];
62
- columnBorders?: SimpleTableAngularProps["columnBorders"];
63
- rowButtons?: SimpleTableAngularProps["rowButtons"];
64
- hideFooter?: SimpleTableAngularProps["hideFooter"];
65
- initialSortColumn?: SimpleTableAngularProps["initialSortColumn"];
66
- initialSortDirection?: SimpleTableAngularProps["initialSortDirection"];
67
- expandAll?: SimpleTableAngularProps["expandAll"];
68
- autoExpandColumns?: SimpleTableAngularProps["autoExpandColumns"];
69
- /** Emits the TableAPI once the table has mounted. */
70
- tableReady: EventEmitter<TableAPI>;
71
- private instance;
72
- private hostEl;
73
- private appRef;
74
- private envInjector;
75
- ngOnInit(): void;
76
- ngOnChanges(): void;
77
- ngOnDestroy(): void;
78
- /** Returns the full imperative TableAPI. Use via @ViewChild or (tableReady) output. */
79
- getAPI(): TableAPI | null;
80
- private getProps;
81
- }
@@ -1,4 +0,0 @@
1
- import type { ApplicationRef, EnvironmentInjector } from "@angular/core";
2
- import type { SimpleTableConfig } from "simple-table-core";
3
- import type { SimpleTableAngularProps } from "./types";
4
- export declare function buildVanillaConfig(config: SimpleTableAngularProps, appRef: ApplicationRef, injector: EnvironmentInjector): SimpleTableConfig;
@@ -1,4 +0,0 @@
1
- export { SimpleTableComponent } from "./lib/SimpleTableComponent";
2
- export { provideSimpleTable } from "./lib/provideSimpleTable";
3
- export type { SimpleTableAngularProps, TableInstance, AngularHeaderObject, AngularColumnEditorConfig, AngularCellRenderer, AngularHeaderRenderer, AngularFooterRenderer, AngularHeaderDropdown, AngularColumnEditorRowRenderer, AngularLoadingStateRenderer, AngularErrorStateRenderer, AngularEmptyStateRenderer, } from "./types";
4
- export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FooterRendererProps, GetRowId, GetRowIdParams, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererComponents, HeaderRendererProps, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRowProps, Theme, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, } from "simple-table-core";
@@ -1,23 +0,0 @@
1
- import type { EnvironmentProviders } from "@angular/core";
2
- /**
3
- * Call this in your application's `providers` array (or `bootstrapApplication`
4
- * providers) to register the dependencies that simple-table-angular's renderer
5
- * bridge needs — specifically `ApplicationRef` and `EnvironmentInjector`.
6
- *
7
- * These are already provided by Angular's platform by default, so in practice
8
- * this function is a no-op placeholder that serves as a clear signal to
9
- * consumers that the adapter has been correctly wired up. If future versions
10
- * need custom providers they will be added here without breaking the call site.
11
- *
12
- * @example
13
- * // main.ts
14
- * bootstrapApplication(AppComponent, {
15
- * providers: [provideSimpleTable()],
16
- * });
17
- *
18
- * @example
19
- * // app.module.ts
20
- * @NgModule({ providers: [provideSimpleTable()] })
21
- * export class AppModule {}
22
- */
23
- export declare function provideSimpleTable(): EnvironmentProviders;
@@ -1,37 +0,0 @@
1
- import type { Type } from "@angular/core";
2
- import type { SimpleTableProps, SimpleTableConfig, HeaderObject, TableAPI, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorConfig, IconsConfig } from "simple-table-core";
3
- export interface TableInstance {
4
- mount(): void;
5
- update(config: Partial<SimpleTableConfig>): void;
6
- destroy(): void;
7
- getAPI(): TableAPI;
8
- }
9
- export type AngularCellRenderer = Type<CellRendererProps>;
10
- export type AngularHeaderRenderer = Type<HeaderRendererProps>;
11
- export type AngularFooterRenderer = Type<FooterRendererProps>;
12
- export type AngularHeaderDropdown = Type<HeaderDropdownProps>;
13
- export type AngularColumnEditorRowRenderer = Type<ColumnEditorRowRendererProps>;
14
- export type AngularLoadingStateRenderer = Type<LoadingStateRendererProps>;
15
- export type AngularErrorStateRenderer = Type<ErrorStateRendererProps>;
16
- export type AngularEmptyStateRenderer = Type<EmptyStateRendererProps>;
17
- export interface AngularColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer"> {
18
- rowRenderer?: AngularColumnEditorRowRenderer;
19
- }
20
- export interface AngularHeaderObject extends Omit<HeaderObject, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
21
- cellRenderer?: AngularCellRenderer;
22
- headerRenderer?: AngularHeaderRenderer;
23
- children?: AngularHeaderObject[];
24
- nestedTable?: Omit<SimpleTableAngularProps, "rows">;
25
- }
26
- export interface SimpleTableAngularProps extends Omit<SimpleTableProps, "tableRef" | "allowAnimations" | "expandIcon" | "filterIcon" | "headerCollapseIcon" | "headerExpandIcon" | "nextIcon" | "prevIcon" | "sortDownIcon" | "sortUpIcon" | "columnEditorText" | "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig"> {
27
- defaultHeaders: AngularHeaderObject[];
28
- footerRenderer?: AngularFooterRenderer;
29
- loadingStateRenderer?: AngularLoadingStateRenderer;
30
- errorStateRenderer?: AngularErrorStateRenderer;
31
- emptyStateRenderer?: AngularEmptyStateRenderer;
32
- tableEmptyStateRenderer?: HTMLElement | string | null;
33
- headerDropdown?: AngularHeaderDropdown;
34
- columnEditorConfig?: AngularColumnEditorConfig;
35
- icons?: IconsConfig;
36
- }
37
- export type { CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, };
@@ -1,15 +0,0 @@
1
- import { ApplicationRef, EnvironmentInjector, type Type } from "@angular/core";
2
- /**
3
- * Wraps an Angular standalone component into a function that returns an
4
- * HTMLElement, matching the vanilla renderer contract expected by
5
- * simple-table-core.
6
- *
7
- * Requires references to the running Angular ApplicationRef and
8
- * EnvironmentInjector so it can attach the dynamically-created component
9
- * to the change detection tree and trigger a synchronous flush before
10
- * returning the element to the vanilla rendering pipeline.
11
- *
12
- * These are injected automatically when the consumer uses
13
- * `provideSimpleTable()` in their application providers.
14
- */
15
- export declare function wrapAngularRenderer<P extends object>(component: Type<P>, appRef: ApplicationRef, injector: EnvironmentInjector): (props: Partial<P>) => HTMLElement;